1 !function(e
,t
){if("object"==typeof exports
&&"object"==typeof module
)module
.exports
=t();else if("function"==typeof define
&&define
.amd
)define([],t
);else{var i
=t();for(var s
in i
)("object"==typeof exports
?exports
:e
)[s
]=i
[s
]}}(self
,(()=>(()=>{"use strict";var e
={4567:function(e
,t
,i
){var s
=this&&this.__decorate
||function(e
,t
,i
,s
){var r
,n
=arguments
.length
,o
=n
<3?t
:null===s
?s
=Object
.getOwnPropertyDescriptor(t
,i
):s
;if("object"==typeof Reflect
&&"function"==typeof Reflect
.decorate
)o
=Reflect
.decorate(e
,t
,i
,s
);else for(var a
=e
.length
-1;a
>=0;a
--)(r
=e
[a
])&&(o
=(n
<3?r(o
):n
>3?r(t
,i
,o
):r(t
,i
))||o
);return n
>3&&o
&&Object
.defineProperty(t
,i
,o
),o
},r
=this&&this.__param
||function(e
,t
){return function(i
,s
){t(i
,s
,e
)}};Object
.defineProperty(t
,"__esModule",{value
:!0}),t
.AccessibilityManager
=void 0;const n
=i(9042),o
=i(6114),a
=i(9924),h
=i(844),c
=i(5596),l
=i(4725),d
=i(3656);let _
=t
.AccessibilityManager
=class extends h
.Disposable
{constructor(e
,t
){super(),this._terminal
=e
,this._renderService
=t
,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 e
=0;e
<this._terminal
.rows
;e
++)this._rowElements
[e
]=this._createAccessibilityTreeNode(),this._rowContainer
.appendChild(this._rowElements
[e
]);if(this._topBoundaryFocusListener
=e
=>this._handleBoundaryFocus(e
,0),this._bottomBoundaryFocusListener
=e
=>this._handleBoundaryFocus(e
,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 a
.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((e
=>this._handleResize(e
.rows
)))),this.register(this._terminal
.onRender((e
=>this._refreshRows(e
.start
,e
.end
)))),this.register(this._terminal
.onScroll((()=>this._refreshRows()))),this.register(this._terminal
.onA11yChar((e
=>this._handleChar(e
)))),this.register(this._terminal
.onLineFeed((()=>this._handleChar("\n")))),this.register(this._terminal
.onA11yTab((e
=>this._handleTab(e
)))),this.register(this._terminal
.onKey((e
=>this._handleKey(e
.key
)))),this.register(this._terminal
.onBlur((()=>this._clearLiveRegion()))),this.register(this._renderService
.onDimensionsChange((()=>this._refreshRowsDimensions()))),this._screenDprMonitor
=new c
.ScreenDprMonitor(window
),this.register(this._screenDprMonitor
),this._screenDprMonitor
.setListener((()=>this._refreshRowsDimensions())),this.register((0,d
.addDisposableDomListener
)(window
,"resize",(()=>this._refreshRowsDimensions()))),this._refreshRows(),this.register((0,h
.toDisposable
)((()=>{this._accessibilityContainer
.remove(),this._rowElements
.length
=0})))}_handleTab(e
){for(let t
=0;t
<e
;t
++)this._handleChar(" ")}_handleChar(e
){this._liveRegionLineCount
<21&&(this._charsToConsume
.length
>0?this._charsToConsume
.shift()!==e
&&(this._charsToAnnounce
+=e
):this._charsToAnnounce
+=e
,"\n"===e
&&(this._liveRegionLineCount
++,21===this._liveRegionLineCount
&&(this._liveRegion
.textContent
+=n
.tooMuchOutput
)),o
.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,o
.isMac
&&this._liveRegion
.remove()}_handleKey(e
){this._clearLiveRegion(),/\p{Control}/u.test(e
)||this._charsToConsume
.push(e
)}_refreshRows(e
,t
){this._liveRegionDebouncer
.refresh(e
,t
,this._terminal
.rows
)}_renderRows(e
,t
){const i
=this._terminal
.buffer
,s
=i
.lines
.length
.toString();for(let r
=e
;r
<=t
;r
++){const e
=i
.translateBufferLineToString(i
.ydisp
+r
,!0),t
=(i
.ydisp
+r
+1).toString(),n
=this._rowElements
[r
];n
&&(0===e
.length
?n
.innerText
=" ":n
.textContent
=e
,n
.setAttribute("aria-posinset",t
),n
.setAttribute("aria-setsize",s
))}this._announceCharacters()}_announceCharacters(){0!==this._charsToAnnounce
.length
&&(this._liveRegion
.textContent
+=this._charsToAnnounce
,this._charsToAnnounce
="")}_handleBoundaryFocus(e
,t
){const i
=e
.target
,s
=this._rowElements
[0===t
?1:this._rowElements
.length
-2];if(i
.getAttribute("aria-posinset")===(0===t
?"1":`${this._terminal.buffer.lines.length}`))return;if(e
.relatedTarget
!==s
)return;let r
,n
;if(0===t
?(r
=i
,n
=this._rowElements
.pop(),this._rowContainer
.removeChild(n
)):(r
=this._rowElements
.shift(),n
=i
,this._rowContainer
.removeChild(r
)),r
.removeEventListener("focus",this._topBoundaryFocusListener
),n
.removeEventListener("focus",this._bottomBoundaryFocusListener
),0===t
){const e
=this._createAccessibilityTreeNode();this._rowElements
.unshift(e
),this._rowContainer
.insertAdjacentElement("afterbegin",e
)}else{const e
=this._createAccessibilityTreeNode();this._rowElements
.push(e
),this._rowContainer
.appendChild(e
)}this._rowElements
[0].addEventListener("focus",this._topBoundaryFocusListener
),this._rowElements
[this._rowElements
.length
-1].addEventListener("focus",this._bottomBoundaryFocusListener
),this._terminal
.scrollLines(0===t
?-1:1),this._rowElements
[0===t
?1:this._rowElements
.length
-2].focus(),e
.preventDefault(),e
.stopImmediatePropagation()}_handleResize(e
){this._rowElements
[this._rowElements
.length
-1].removeEventListener("focus",this._bottomBoundaryFocusListener
);for(let e
=this._rowContainer
.children
.length
;e
<this._terminal
.rows
;e
++)this._rowElements
[e
]=this._createAccessibilityTreeNode(),this._rowContainer
.appendChild(this._rowElements
[e
]);for(;this._rowElements
.length
>e
;)this._rowContainer
.removeChild(this._rowElements
.pop());this._rowElements
[this._rowElements
.length
-1].addEventListener("focus",this._bottomBoundaryFocusListener
),this._refreshRowsDimensions()}_createAccessibilityTreeNode(){const e
=document
.createElement("div");return e
.setAttribute("role","listitem"),e
.tabIndex
=-1,this._refreshRowDimensions(e
),e
}_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 e
=0;e
<this._terminal
.rows
;e
++)this._refreshRowDimensions(this._rowElements
[e
])}}_refreshRowDimensions(e
){e
.style
.height
=`${this._renderService.dimensions.css.cell.height}px`}};t
.AccessibilityManager
=_
=s([r(1,l
.IRenderService
)],_
)},3614:(e
,t
)=>{function i(e
){return e
.replace(/\r?\n/g,"\r")}function s(e
,t
){return t
?"\e[200~"+e
+"\e[201~":e
}function r(e
,t
,r
,n
){e
=s(e
=i(e
),r
.decPrivateModes
.bracketedPasteMode
&&!0!==n
.rawOptions
.ignoreBracketedPasteMode
),r
.triggerDataEvent(e
,!0),t
.value
=""}function n(e
,t
,i
){const s
=i
.getBoundingClientRect(),r
=e
.clientX
-s
.left
-10,n
=e
.clientY
-s
.top
-10;t
.style
.width
="20px",t
.style
.height
="20px",t
.style
.left
=`${r}px`,t
.style
.top
=`${n}px`,t
.style
.zIndex
="1000",t
.focus()}Object
.defineProperty(t
,"__esModule",{value
:!0}),t
.rightClickHandler
=t
.moveTextAreaUnderMouseCursor
=t
.paste
=t
.handlePasteEvent
=t
.copyHandler
=t
.bracketTextForPaste
=t
.prepareTextForTerminal
=void 0,t
.prepareTextForTerminal
=i
,t
.bracketTextForPaste
=s
,t
.copyHandler=function(e
,t
){e
.clipboardData
&&e
.clipboardData
.setData("text/plain",t
.selectionText
),e
.preventDefault()},t
.handlePasteEvent=function(e
,t
,i
,s
){e
.stopPropagation(),e
.clipboardData
&&r(e
.clipboardData
.getData("text/plain"),t
,i
,s
)},t
.paste
=r
,t
.moveTextAreaUnderMouseCursor
=n
,t
.rightClickHandler=function(e
,t
,i
,s
,r
){n(e
,t
,i
),r
&&s
.rightClickSelect(e
),t
.value
=s
.selectionText
,t
.select()}},7239:(e
,t
,i
)=>{Object
.defineProperty(t
,"__esModule",{value
:!0}),t
.ColorContrastCache
=void 0;const s
=i(1505);t
.ColorContrastCache
=class{constructor(){this._color
=new s
.TwoKeyMap
,this._css
=new s
.TwoKeyMap
}setCss(e
,t
,i
){this._css
.set(e
,t
,i
)}getCss(e
,t
){return this._css
.get(e
,t
)}setColor(e
,t
,i
){this._color
.set(e
,t
,i
)}getColor(e
,t
){return this._color
.get(e
,t
)}clear(){this._color
.clear(),this._css
.clear()}}},3656:(e
,t
)=>{Object
.defineProperty(t
,"__esModule",{value
:!0}),t
.addDisposableDomListener
=void 0,t
.addDisposableDomListener=function(e
,t
,i
,s
){e
.addEventListener(t
,i
,s
);let r
=!1;return{dispose
:()=>{r
||(r
=!0,e
.removeEventListener(t
,i
,s
))}}}},6465:function(e
,t
,i
){var s
=this&&this.__decorate
||function(e
,t
,i
,s
){var r
,n
=arguments
.length
,o
=n
<3?t
:null===s
?s
=Object
.getOwnPropertyDescriptor(t
,i
):s
;if("object"==typeof Reflect
&&"function"==typeof Reflect
.decorate
)o
=Reflect
.decorate(e
,t
,i
,s
);else for(var a
=e
.length
-1;a
>=0;a
--)(r
=e
[a
])&&(o
=(n
<3?r(o
):n
>3?r(t
,i
,o
):r(t
,i
))||o
);return n
>3&&o
&&Object
.defineProperty(t
,i
,o
),o
},r
=this&&this.__param
||function(e
,t
){return function(i
,s
){t(i
,s
,e
)}};Object
.defineProperty(t
,"__esModule",{value
:!0}),t
.Linkifier2
=void 0;const n
=i(3656),o
=i(8460),a
=i(844),h
=i(2585);let c
=t
.Linkifier2
=class extends a
.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 o
.EventEmitter
),this.onShowLinkUnderline
=this._onShowLinkUnderline
.event
,this._onHideLinkUnderline
=this.register(new o
.EventEmitter
),this.onHideLinkUnderline
=this._onHideLinkUnderline
.event
,this.register((0,a
.getDisposeArrayDisposable
)(this._linkCacheDisposables
)),this.register((0,a
.toDisposable
)((()=>{this._lastMouseEvent
=void 0}))),this.register(this._bufferService
.onResize((()=>{this._clearCurrentLink(),this._wasResized
=!0})))}registerLinkProvider(e
){return this._linkProviders
.push(e
),{dispose
:()=>{const t
=this._linkProviders
.indexOf(e
);-1!==t
&&this._linkProviders
.splice(t
,1)}}}attachToDom(e
,t
,i
){this._element
=e
,this._mouseService
=t
,this._renderService
=i
,this.register((0,n
.addDisposableDomListener
)(this._element
,"mouseleave",(()=>{this._isMouseOut
=!0,this._clearCurrentLink()}))),this.register((0,n
.addDisposableDomListener
)(this._element
,"mousemove",this._handleMouseMove
.bind(this))),this.register((0,n
.addDisposableDomListener
)(this._element
,"mousedown",this._handleMouseDown
.bind(this))),this.register((0,n
.addDisposableDomListener
)(this._element
,"mouseup",this._handleMouseUp
.bind(this)))}_handleMouseMove(e
){if(this._lastMouseEvent
=e
,!this._element
||!this._mouseService
)return;const t
=this._positionFromMouseEvent(e
,this._element
,this._mouseService
);if(!t
)return;this._isMouseOut
=!1;const i
=e
.composedPath();for(let e
=0;e
<i
.length
;e
++){const t
=i
[e
];if(t
.classList
.contains("xterm"))break;if(t
.classList
.contains("xterm-hover"))return}this._lastBufferCell
&&t
.x
===this._lastBufferCell
.x
&&t
.y
===this._lastBufferCell
.y
||(this._handleHover(t
),this._lastBufferCell
=t
)}_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
,t
){var i
,s
;this._activeProviderReplies
&&t
||(null===(i
=this._activeProviderReplies
)||void 0===i
||i
.forEach((e
=>{null==e
||e
.forEach((e
=>{e
.link
.dispose
&&e
.link
.dispose()}))})),this._activeProviderReplies
=new Map
,this._activeLine
=e
.y
);let r
=!1;for(const[i
,n
]of this._linkProviders
.entries())t
?(null===(s
=this._activeProviderReplies
)||void 0===s
?void 0:s
.get(i
))&&(r
=this._checkLinkProviderResult(i
,e
,r
)):n
.provideLinks(e
.y
,(t
=>{var s
,n
;if(this._isMouseOut
)return;const o
=null==t
?void 0:t
.map((e
=>({link
:e
})));null===(s
=this._activeProviderReplies
)||void 0===s
||s
.set(i
,o
),r
=this._checkLinkProviderResult(i
,e
,r
),(null===(n
=this._activeProviderReplies
)||void 0===n
?void 0:n
.size
)===this._linkProviders
.length
&&this._removeIntersectingLinks(e
.y
,this._activeProviderReplies
)}))}_removeIntersectingLinks(e
,t
){const i
=new Set
;for(let s
=0;s
<t
.size
;s
++){const r
=t
.get(s
);if(r
)for(let t
=0;t
<r
.length
;t
++){const s
=r
[t
],n
=s
.link
.range
.start
.y
<e
?0:s
.link
.range
.start
.x
,o
=s
.link
.range
.end
.y
>e
?this._bufferService
.cols
:s
.link
.range
.end
.x
;for(let e
=n
;e
<=o
;e
++){if(i
.has(e
)){r
.splice(t
--,1);break}i
.add(e
)}}}}_checkLinkProviderResult(e
,t
,i
){var s
;if(!this._activeProviderReplies
)return i
;const r
=this._activeProviderReplies
.get(e
);let n
=!1;for(let t
=0;t
<e
;t
++)this._activeProviderReplies
.has(t
)&&!this._activeProviderReplies
.get(t
)||(n
=!0);if(!n
&&r
){const e
=r
.find((e
=>this._linkAtPosition(e
.link
,t
)));e
&&(i
=!0,this._handleNewLink(e
))}if(this._activeProviderReplies
.size
===this._linkProviders
.length
&&!i
)for(let e
=0;e
<this._activeProviderReplies
.size
;e
++){const r
=null===(s
=this._activeProviderReplies
.get(e
))||void 0===s
?void 0:s
.find((e
=>this._linkAtPosition(e
.link
,t
)));if(r
){i
=!0,this._handleNewLink(r
);break}}return i
}_handleMouseDown(){this._mouseDownLink
=this._currentLink
}_handleMouseUp(e
){if(!this._element
||!this._mouseService
||!this._currentLink
)return;const t
=this._positionFromMouseEvent(e
,this._element
,this._mouseService
);t
&&this._mouseDownLink
===this._currentLink
&&this._linkAtPosition(this._currentLink
.link
,t
)&&this._currentLink
.link
.activate(e
,this._currentLink
.link
.text
)}_clearCurrentLink(e
,t
){this._element
&&this._currentLink
&&this._lastMouseEvent
&&(!e
||!t
||this._currentLink
.link
.range
.start
.y
>=e
&&this._currentLink
.link
.range
.end
.y
<=t
)&&(this._linkLeave(this._element
,this._currentLink
.link
,this._lastMouseEvent
),this._currentLink
=void 0,(0,a
.disposeArray
)(this._linkCacheDisposables
))}_handleNewLink(e
){if(!this._element
||!this._lastMouseEvent
||!this._mouseService
)return;const t
=this._positionFromMouseEvent(this._lastMouseEvent
,this._element
,this._mouseService
);t
&&this._linkAtPosition(e
.link
,t
)&&(this._currentLink
=e
,this._currentLink
.state
={decorations
:{underline
:void 0===e
.link
.decorations
||e
.link
.decorations
.underline
,pointerCursor
:void 0===e
.link
.decorations
||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 e
,t
;return null===(t
=null===(e
=this._currentLink
)||void 0===e
?void 0:e
.state
)||void 0===t
?void 0:t
.decorations
.pointerCursor
},set:e
=>{var t
,i
;(null===(t
=this._currentLink
)||void 0===t
?void 0:t
.state
)&&this._currentLink
.state
.decorations
.pointerCursor
!==e
&&(this._currentLink
.state
.decorations
.pointerCursor
=e
,this._currentLink
.state
.isHovered
&&(null===(i
=this._element
)||void 0===i
||i
.classList
.toggle("xterm-cursor-pointer",e
)))}},underline
:{get:()=>{var e
,t
;return null===(t
=null===(e
=this._currentLink
)||void 0===e
?void 0:e
.state
)||void 0===t
?void 0:t
.decorations
.underline
},set:t
=>{var i
,s
,r
;(null===(i
=this._currentLink
)||void 0===i
?void 0:i
.state
)&&(null===(r
=null===(s
=this._currentLink
)||void 0===s
?void 0:s
.state
)||void 0===r
?void 0:r
.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((e
=>{if(!this._currentLink
)return;const t
=0===e
.start
?0:e
.start
+1+this._bufferService
.buffer
.ydisp
,i
=this._bufferService
.buffer
.ydisp
+1+e
.end
;if(this._currentLink
.link
.range
.start
.y
>=t
&&this._currentLink
.link
.range
.end
.y
<=i
&&(this._clearCurrentLink(t
,i
),this._lastMouseEvent
&&this._element
)){const e
=this._positionFromMouseEvent(this._lastMouseEvent
,this._element
,this._mouseService
);e
&&this._askForLink(e
,!1)}}))))}_linkHover(e
,t
,i
){var s
;(null===(s
=this._currentLink
)||void 0===s
?void 0:s
.state
)&&(this._currentLink
.state
.isHovered
=!0,this._currentLink
.state
.decorations
.underline
&&this._fireUnderlineEvent(t
,!0),this._currentLink
.state
.decorations
.pointerCursor
&&e
.classList
.add("xterm-cursor-pointer")),t
.hover
&&t
.hover(i
,t
.text
)}_fireUnderlineEvent(e
,t
){const i
=e
.range
,s
=this._bufferService
.buffer
.ydisp
,r
=this._createLinkUnderlineEvent(i
.start
.x
-1,i
.start
.y
-s
-1,i
.end
.x
,i
.end
.y
-s
-1,void 0);(t
?this._onShowLinkUnderline
:this._onHideLinkUnderline
).fire(r
)}_linkLeave(e
,t
,i
){var s
;(null===(s
=this._currentLink
)||void 0===s
?void 0:s
.state
)&&(this._currentLink
.state
.isHovered
=!1,this._currentLink
.state
.decorations
.underline
&&this._fireUnderlineEvent(t
,!1),this._currentLink
.state
.decorations
.pointerCursor
&&e
.classList
.remove("xterm-cursor-pointer")),t
.leave
&&t
.leave(i
,t
.text
)}_linkAtPosition(e
,t
){const i
=e
.range
.start
.y
*this._bufferService
.cols
+e
.range
.start
.x
,s
=e
.range
.end
.y
*this._bufferService
.cols
+e
.range
.end
.x
,r
=t
.y
*this._bufferService
.cols
+t
.x
;return i
<=r
&&r
<=s
}_positionFromMouseEvent(e
,t
,i
){const s
=i
.getCoords(e
,t
,this._bufferService
.cols
,this._bufferService
.rows
);if(s
)return{x
:s
[0],y
:s
[1]+this._bufferService
.buffer
.ydisp
}}_createLinkUnderlineEvent(e
,t
,i
,s
,r
){return{x1
:e
,y1
:t
,x2
:i
,y2
:s
,cols
:this._bufferService
.cols
,fg
:r
}}};t
.Linkifier2
=c
=s([r(0,h
.IBufferService
)],c
)},9042:(e
,t
)=>{Object
.defineProperty(t
,"__esModule",{value
:!0}),t
.tooMuchOutput
=t
.promptLabel
=void 0,t
.promptLabel
="Terminal input",t
.tooMuchOutput
="Too much output to announce, navigate to rows manually to read"},3730:function(e
,t
,i
){var s
=this&&this.__decorate
||function(e
,t
,i
,s
){var r
,n
=arguments
.length
,o
=n
<3?t
:null===s
?s
=Object
.getOwnPropertyDescriptor(t
,i
):s
;if("object"==typeof Reflect
&&"function"==typeof Reflect
.decorate
)o
=Reflect
.decorate(e
,t
,i
,s
);else for(var a
=e
.length
-1;a
>=0;a
--)(r
=e
[a
])&&(o
=(n
<3?r(o
):n
>3?r(t
,i
,o
):r(t
,i
))||o
);return n
>3&&o
&&Object
.defineProperty(t
,i
,o
),o
},r
=this&&this.__param
||function(e
,t
){return function(i
,s
){t(i
,s
,e
)}};Object
.defineProperty(t
,"__esModule",{value
:!0}),t
.OscLinkProvider
=void 0;const n
=i(511),o
=i(2585);let a
=t
.OscLinkProvider
=class{constructor(e
,t
,i
){this._bufferService
=e
,this._optionsService
=t
,this._oscLinkService
=i
}provideLinks(e
,t
){var i
;const s
=this._bufferService
.buffer
.lines
.get(e
-1);if(!s
)return void t(void 0);const r
=[],o
=this._optionsService
.rawOptions
.linkHandler
,a
=new n
.CellData
,c
=s
.getTrimmedLength();let l
=-1,d
=-1,_
=!1;for(let t
=0;t
<c
;t
++)if(-1!==d
||s
.hasContent(t
)){if(s
.loadCell(t
,a
),a
.hasExtendedAttrs()&&a
.extended
.urlId
){if(-1===d
){d
=t
,l
=a
.extended
.urlId
;continue}_
=a
.extended
.urlId
!==l
}else-1!==d
&&(_
=!0);if(_
||-1!==d
&&t
===c
-1){const s
=null===(i
=this._oscLinkService
.getLinkData(l
))||void 0===i
?void 0:i
.uri
;if(s
){const i
={start
:{x
:d
+1,y
:e
},end
:{x
:t
+(_
||t
!==c
-1?0:1),y
:e
}};let n
=!1;if(!(null==o
?void 0:o
.allowNonHttpProtocols
))try{const e
=new URL(s
);["http:","https:"].includes(e
.protocol
)||(n
=!0)}catch(e
){n
=!0}n
||r
.push({text
:s
,range
:i
,activate
:(e
,t
)=>o
?o
.activate(e
,t
,i
):h(0,t
),hover
:(e
,t
)=>{var s
;return null===(s
=null==o
?void 0:o
.hover
)||void 0===s
?void 0:s
.call(o
,e
,t
,i
)},leave
:(e
,t
)=>{var s
;return null===(s
=null==o
?void 0:o
.leave
)||void 0===s
?void 0:s
.call(o
,e
,t
,i
)}})}_
=!1,a
.hasExtendedAttrs()&&a
.extended
.urlId
?(d
=t
,l
=a
.extended
.urlId
):(d
=-1,l
=-1)}}t(r
)}};function h(e
,t
){if(confirm(`Do you want to navigate to ${t}?\n\nWARNING: This link could potentially be dangerous`)){const e
=window
.open();if(e
){try{e
.opener
=null}catch(e
){}e
.location
.href
=t
}else console
.warn("Opening link blocked as opener could not be cleared")}}t
.OscLinkProvider
=a
=s([r(0,o
.IBufferService
),r(1,o
.IOptionsService
),r(2,o
.IOscLinkService
)],a
)},6193:(e
,t
)=>{Object
.defineProperty(t
,"__esModule",{value
:!0}),t
.RenderDebouncer
=void 0,t
.RenderDebouncer
=class{constructor(e
,t
){this._parentWindow
=e
,this._renderCallback
=t
,this._refreshCallbacks
=[]}dispose(){this._animationFrame
&&(this._parentWindow
.cancelAnimationFrame(this._animationFrame
),this._animationFrame
=void 0)}addRefreshCallback(e
){return this._refreshCallbacks
.push(e
),this._animationFrame
||(this._animationFrame
=this._parentWindow
.requestAnimationFrame((()=>this._innerRefresh()))),this._animationFrame
}refresh(e
,t
,i
){this._rowCount
=i
,e
=void 0!==e
?e
:0,t
=void 0!==t
?t
:this._rowCount
-1,this._rowStart
=void 0!==this._rowStart
?Math
.min(this._rowStart
,e
):e
,this._rowEnd
=void 0!==this._rowEnd
?Math
.max(this._rowEnd
,t
):t
,this._animationFrame
||(this._animationFrame
=this._parentWindow
.requestAnimationFrame((()=>this._innerRefresh())))}_innerRefresh(){if(this._animationFrame
=void 0,void 0===this._rowStart
||void 0===this._rowEnd
||void 0===this._rowCount
)return void this._runRefreshCallbacks();const e
=Math
.max(this._rowStart
,0),t
=Math
.min(this._rowEnd
,this._rowCount
-1);this._rowStart
=void 0,this._rowEnd
=void 0,this._renderCallback(e
,t
),this._runRefreshCallbacks()}_runRefreshCallbacks(){for(const e
of this._refreshCallbacks
)e(0);this._refreshCallbacks
=[]}}},5596:(e
,t
,i
)=>{Object
.defineProperty(t
,"__esModule",{value
:!0}),t
.ScreenDprMonitor
=void 0;const s
=i(844);class r
extends s
.Disposable
{constructor(e
){super(),this._parentWindow
=e
,this._currentDevicePixelRatio
=this._parentWindow
.devicePixelRatio
,this.register((0,s
.toDisposable
)((()=>{this.clearListener()})))}setListener(e
){this._listener
&&this.clearListener(),this._listener
=e
,this._outerListener
=()=>{this._listener
&&(this._listener(this._parentWindow
.devicePixelRatio
,this._currentDevicePixelRatio
),this._updateDpr())},this._updateDpr()}_updateDpr(){var e
;this._outerListener
&&(null===(e
=this._resolutionMediaMatchList
)||void 0===e
||e
.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)}}t
.ScreenDprMonitor
=r
},3236:(e
,t
,i
)=>{Object
.defineProperty(t
,"__esModule",{value
:!0}),t
.Terminal
=void 0;const s
=i(3614),r
=i(3656),n
=i(6465),o
=i(9042),a
=i(3730),h
=i(1680),c
=i(3107),l
=i(5744),d
=i(2950),_
=i(1296),u
=i(428),f
=i(4269),v
=i(5114),p
=i(8934),g
=i(3230),m
=i(9312),S
=i(4725),C
=i(6731),b
=i(8055),y
=i(8969),w
=i(8460),E
=i(844),k
=i(6114),L
=i(8437),D
=i(2584),R
=i(7399),x
=i(5941),A
=i(9074),B
=i(2585),T
=i(5435),M
=i(4567),O
="undefined"!=typeof window
?window
.document
:null;class P
extends y
.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(e
={}){super(e
),this.browser
=k
,this._keyDownHandled
=!1,this._keyDownSeen
=!1,this._keyPressHandled
=!1,this._unprocessedDeadKey
=!1,this._accessibilityManager
=this.register(new E
.MutableDisposable
),this._onCursorMove
=this.register(new w
.EventEmitter
),this.onCursorMove
=this._onCursorMove
.event
,this._onKey
=this.register(new w
.EventEmitter
),this.onKey
=this._onKey
.event
,this._onRender
=this.register(new w
.EventEmitter
),this.onRender
=this._onRender
.event
,this._onSelectionChange
=this.register(new w
.EventEmitter
),this.onSelectionChange
=this._onSelectionChange
.event
,this._onTitleChange
=this.register(new w
.EventEmitter
),this.onTitleChange
=this._onTitleChange
.event
,this._onBell
=this.register(new w
.EventEmitter
),this.onBell
=this._onBell
.event
,this._onFocus
=this.register(new w
.EventEmitter
),this._onBlur
=this.register(new w
.EventEmitter
),this._onA11yCharEmitter
=this.register(new w
.EventEmitter
),this._onA11yTabEmitter
=this.register(new w
.EventEmitter
),this._onWillOpen
=this.register(new w
.EventEmitter
),this._setup(),this.linkifier2
=this.register(this._instantiationService
.createInstance(n
.Linkifier2
)),this.linkifier2
.registerLinkProvider(this._instantiationService
.createInstance(a
.OscLinkProvider
)),this._decorationService
=this._instantiationService
.createInstance(A
.DecorationService
),this._instantiationService
.setService(B
.IDecorationService
,this._decorationService
),this.register(this._inputHandler
.onRequestBell((()=>this._onBell
.fire()))),this.register(this._inputHandler
.onRequestRefreshRows(((e
,t
)=>this.refresh(e
,t
)))),this.register(this._inputHandler
.onRequestSendFocus((()=>this._reportFocus()))),this.register(this._inputHandler
.onRequestReset((()=>this.reset()))),this.register(this._inputHandler
.onRequestWindowsOptionsReport((e
=>this._reportWindowsOptions(e
)))),this.register(this._inputHandler
.onColor((e
=>this._handleColorEvent(e
)))),this.register((0,w
.forwardEvent
)(this._inputHandler
.onCursorMove
,this._onCursorMove
)),this.register((0,w
.forwardEvent
)(this._inputHandler
.onTitleChange
,this._onTitleChange
)),this.register((0,w
.forwardEvent
)(this._inputHandler
.onA11yChar
,this._onA11yCharEmitter
)),this.register((0,w
.forwardEvent
)(this._inputHandler
.onA11yTab
,this._onA11yTabEmitter
)),this.register(this._bufferService
.onResize((e
=>this._afterResize(e
.cols
,e
.rows
)))),this.register((0,E
.toDisposable
)((()=>{var e
,t
;this._customKeyEventHandler
=void 0,null===(t
=null===(e
=this.element
)||void 0===e
?void 0:e
.parentNode
)||void 0===t
||t
.removeChild(this.element
)})))}_handleColorEvent(e
){if(this._themeService
)for(const t
of e
){let e
,i
="";switch(t
.index
){case 256:e
="foreground",i
="10";break;case 257:e
="background",i
="11";break;case 258:e
="cursor",i
="12";break;default:e
="ansi",i
="4;"+t
.index
}switch(t
.type
){case 0:const s
=b
.color
.toColorRGB("ansi"===e
?this._themeService
.colors
.ansi
[t
.index
]:this._themeService
.colors
[e
]);this.coreService
.triggerDataEvent(`${D.C0.ESC}]${i};${(0,x.toRgbString)(s)}${D.C1_ESCAPED.ST}`);break;case 1:if("ansi"===e
)this._themeService
.modifyColors((e
=>e
.ansi
[t
.index
]=b
.rgba
.toColor(...t
.color
)));else{const i
=e
;this._themeService
.modifyColors((e
=>e
[i
]=b
.rgba
.toColor(...t
.color
)))}break;case 2:this._themeService
.restoreColor(t
.index
)}}}_setup(){super._setup(),this._customKeyEventHandler
=void 0}get buffer(){return this.buffers
.active
}focus(){this.textarea
&&this.textarea
.focus({preventScroll
:!0})}_handleScreenReaderModeOptionChange(e
){e
?!this._accessibilityManager
.value
&&this._renderService
&&(this._accessibilityManager
.value
=this._instantiationService
.createInstance(M
.AccessibilityManager
,this)):this._accessibilityManager
.clear()}_handleTextAreaFocus(e
){this.coreService
.decPrivateModes
.sendFocus
&&this.coreService
.triggerDataEvent(D
.C0
.ESC
+"[I"),this.updateCursorStyle(e
),this.element
.classList
.add("focus"),this._showCursor(),this._onFocus
.fire()}blur(){var e
;return null===(e
=this.textarea
)||void 0===e
?void 0:e
.blur()}_handleTextAreaBlur(){this.textarea
.value
="",this.refresh(this.buffer
.y
,this.buffer
.y
),this.coreService
.decPrivateModes
.sendFocus
&&this.coreService
.triggerDataEvent(D
.C0
.ESC
+"[O"),this.element
.classList
.remove("focus"),this._onBlur
.fire()}_syncTextArea(){if(!this.textarea
||!this.buffer
.isCursorInViewport
||this._compositionHelper
.isComposing
||!this._renderService
)return;const e
=this.buffer
.ybase
+this.buffer
.y
,t
=this.buffer
.lines
.get(e
);if(!t
)return;const i
=Math
.min(this.buffer
.x
,this.cols
-1),s
=this._renderService
.dimensions
.css
.cell
.height
,r
=t
.getWidth(i
),n
=this._renderService
.dimensions
.css
.cell
.width
*r
,o
=this.buffer
.y
*this._renderService
.dimensions
.css
.cell
.height
,a
=i
*this._renderService
.dimensions
.css
.cell
.width
;this.textarea
.style
.left
=a
+"px",this.textarea
.style
.top
=o
+"px",this.textarea
.style
.width
=n
+"px",this.textarea
.style
.height
=s
+"px",this.textarea
.style
.lineHeight
=s
+"px",this.textarea
.style
.zIndex
="-5"}_initGlobal(){this._bindKeys(),this.register((0,r
.addDisposableDomListener
)(this.element
,"copy",(e
=>{this.hasSelection()&&(0,s
.copyHandler
)(e
,this._selectionService
)})));const e
=e
=>(0,s
.handlePasteEvent
)(e
,this.textarea
,this.coreService
,this.optionsService
);this.register((0,r
.addDisposableDomListener
)(this.textarea
,"paste",e
)),this.register((0,r
.addDisposableDomListener
)(this.element
,"paste",e
)),k
.isFirefox
?this.register((0,r
.addDisposableDomListener
)(this.element
,"mousedown",(e
=>{2===e
.button
&&(0,s
.rightClickHandler
)(e
,this.textarea
,this.screenElement
,this._selectionService
,this.options
.rightClickSelectsWord
)}))):this.register((0,r
.addDisposableDomListener
)(this.element
,"contextmenu",(e
=>{(0,s
.rightClickHandler
)(e
,this.textarea
,this.screenElement
,this._selectionService
,this.options
.rightClickSelectsWord
)}))),k
.isLinux
&&this.register((0,r
.addDisposableDomListener
)(this.element
,"auxclick",(e
=>{1===e
.button
&&(0,s
.moveTextAreaUnderMouseCursor
)(e
,this.textarea
,this.screenElement
)})))}_bindKeys(){this.register((0,r
.addDisposableDomListener
)(this.textarea
,"keyup",(e
=>this._keyUp(e
)),!0)),this.register((0,r
.addDisposableDomListener
)(this.textarea
,"keydown",(e
=>this._keyDown(e
)),!0)),this.register((0,r
.addDisposableDomListener
)(this.textarea
,"keypress",(e
=>this._keyPress(e
)),!0)),this.register((0,r
.addDisposableDomListener
)(this.textarea
,"compositionstart",(()=>this._compositionHelper
.compositionstart()))),this.register((0,r
.addDisposableDomListener
)(this.textarea
,"compositionupdate",(e
=>this._compositionHelper
.compositionupdate(e
)))),this.register((0,r
.addDisposableDomListener
)(this.textarea
,"compositionend",(()=>this._compositionHelper
.compositionend()))),this.register((0,r
.addDisposableDomListener
)(this.textarea
,"input",(e
=>this._inputEvent(e
)),!0)),this.register(this.onRender((()=>this._compositionHelper
.updateCompositionElements())))}open(e
){var t
;if(!e
)throw new Error("Terminal requires a parent element.");e
.isConnected
||this._logService
.debug("Terminal.open was called on an element that was not attached to the DOM"),this._document
=e
.ownerDocument
,this.element
=this._document
.createElement("div"),this.element
.dir
="ltr",this.element
.classList
.add("terminal"),this.element
.classList
.add("xterm"),e
.appendChild(this.element
);const i
=O
.createDocumentFragment();this._viewportElement
=O
.createElement("div"),this._viewportElement
.classList
.add("xterm-viewport"),i
.appendChild(this._viewportElement
),this._viewportScrollArea
=O
.createElement("div"),this._viewportScrollArea
.classList
.add("xterm-scroll-area"),this._viewportElement
.appendChild(this._viewportScrollArea
),this.screenElement
=O
.createElement("div"),this.screenElement
.classList
.add("xterm-screen"),this._helperContainer
=O
.createElement("div"),this._helperContainer
.classList
.add("xterm-helpers"),this.screenElement
.appendChild(this._helperContainer
),i
.appendChild(this.screenElement
),this.textarea
=O
.createElement("textarea"),this.textarea
.classList
.add("xterm-helper-textarea"),this.textarea
.setAttribute("aria-label",o
.promptLabel
),k
.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(v
.CoreBrowserService
,this.textarea
,null!==(t
=this._document
.defaultView
)&&void 0!==t
?t
:window
),this._instantiationService
.setService(S
.ICoreBrowserService
,this._coreBrowserService
),this.register((0,r
.addDisposableDomListener
)(this.textarea
,"focus",(e
=>this._handleTextAreaFocus(e
)))),this.register((0,r
.addDisposableDomListener
)(this.textarea
,"blur",(()=>this._handleTextAreaBlur()))),this._helperContainer
.appendChild(this.textarea
),this._charSizeService
=this._instantiationService
.createInstance(u
.CharSizeService
,this._document
,this._helperContainer
),this._instantiationService
.setService(S
.ICharSizeService
,this._charSizeService
),this._themeService
=this._instantiationService
.createInstance(C
.ThemeService
),this._instantiationService
.setService(S
.IThemeService
,this._themeService
),this._characterJoinerService
=this._instantiationService
.createInstance(f
.CharacterJoinerService
),this._instantiationService
.setService(S
.ICharacterJoinerService
,this._characterJoinerService
),this._renderService
=this.register(this._instantiationService
.createInstance(g
.RenderService
,this.rows
,this.screenElement
)),this._instantiationService
.setService(S
.IRenderService
,this._renderService
),this.register(this._renderService
.onRenderedViewportChange((e
=>this._onRender
.fire(e
)))),this.onResize((e
=>this._renderService
.resize(e
.cols
,e
.rows
))),this._compositionView
=O
.createElement("div"),this._compositionView
.classList
.add("composition-view"),this._compositionHelper
=this._instantiationService
.createInstance(d
.CompositionHelper
,this.textarea
,this._compositionView
),this._helperContainer
.appendChild(this._compositionView
),this.element
.appendChild(i
);try{this._onWillOpen
.fire(this.element
)}catch(e
){}this._renderService
.hasRenderer()||this._renderService
.setRenderer(this._createRenderer()),this._mouseService
=this._instantiationService
.createInstance(p
.MouseService
),this._instantiationService
.setService(S
.IMouseService
,this._mouseService
),this.viewport
=this._instantiationService
.createInstance(h
.Viewport
,this._viewportElement
,this._viewportScrollArea
),this.viewport
.onRequestScrollLines((e
=>this.scrollLines(e
.amount
,e
.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(m
.SelectionService
,this.element
,this.screenElement
,this.linkifier2
)),this._instantiationService
.setService(S
.ISelectionService
,this._selectionService
),this.register(this._selectionService
.onRequestScrollLines((e
=>this.scrollLines(e
.amount
,e
.suppressScrollEvent
)))),this.register(this._selectionService
.onSelectionChange((()=>this._onSelectionChange
.fire()))),this.register(this._selectionService
.onRequestRedraw((e
=>this._renderService
.handleSelectionChanged(e
.start
,e
.end
,e
.columnSelectMode
)))),this.register(this._selectionService
.onLinuxMouseSelection((e
=>{this.textarea
.value
=e
,this.textarea
.focus(),this.textarea
.select()}))),this.register(this._onScroll
.event((e
=>{this.viewport
.syncScrollArea(),this._selectionService
.refresh()}))),this.register((0,r
.addDisposableDomListener
)(this._viewportElement
,"scroll",(()=>this._selectionService
.refresh()))),this.linkifier2
.attachToDom(this.screenElement
,this._mouseService
,this._renderService
),this.register(this._instantiationService
.createInstance(c
.BufferDecorationRenderer
,this.screenElement
)),this.register((0,r
.addDisposableDomListener
)(this.element
,"mousedown",(e
=>this._selectionService
.handleMouseDown(e
)))),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(M
.AccessibilityManager
,this)),this.register(this.optionsService
.onSpecificOptionChange("screenReaderMode",(e
=>this._handleScreenReaderModeOptionChange(e
)))),this.options
.overviewRulerWidth
&&(this._overviewRulerRenderer
=this.register(this._instantiationService
.createInstance(l
.OverviewRulerRenderer
,this._viewportElement
,this.screenElement
))),this.optionsService
.onSpecificOptionChange("overviewRulerWidth",(e
=>{!this._overviewRulerRenderer
&&e
&&this._viewportElement
&&this.screenElement
&&(this._overviewRulerRenderer
=this.register(this._instantiationService
.createInstance(l
.OverviewRulerRenderer
,this._viewportElement
,this.screenElement
)))})),this._charSizeService
.measure(),this.refresh(0,this.rows
-1),this._initGlobal(),this.bindMouse()}_createRenderer(){return this._instantiationService
.createInstance(_
.DomRenderer
,this.element
,this.screenElement
,this._viewportElement
,this.linkifier2
)}bindMouse(){const e
=this,t
=this.element
;function i(t
){const i
=e
._mouseService
.getMouseReportCoords(t
,e
.screenElement
);if(!i
)return!1;let s
,r
;switch(t
.overrideType
||t
.type
){case"mousemove":r
=32,void 0===t
.buttons
?(s
=3,void 0!==t
.button
&&(s
=t
.button
<3?t
.button
:3)):s
=1&t
.buttons
?0:4&t
.buttons
?1:2&t
.buttons
?2:3;break;case"mouseup":r
=0,s
=t
.button
<3?t
.button
:3;break;case"mousedown":r
=1,s
=t
.button
<3?t
.button
:3;break;case"wheel":if(0===e
.viewport
.getLinesScrolled(t
))return!1;r
=t
.deltaY
<0?0:1,s
=4;break;default:return!1}return!(void 0===r
||void 0===s
||s
>4)&&e
.coreMouseService
.triggerMouseEvent({col
:i
.col
,row
:i
.row
,x
:i
.x
,y
:i
.y
,button
:s
,action
:r
,ctrl
:t
.ctrlKey
,alt
:t
.altKey
,shift
:t
.shiftKey
})}const s
={mouseup
:null,wheel
:null,mousedrag
:null,mousemove
:null},n
={mouseup
:e
=>(i(e
),e
.buttons
||(this._document
.removeEventListener("mouseup",s
.mouseup
),s
.mousedrag
&&this._document
.removeEventListener("mousemove",s
.mousedrag
)),this.cancel(e
)),wheel
:e
=>(i(e
),this.cancel(e
,!0)),mousedrag
:e
=>{e
.buttons
&&i(e
)},mousemove
:e
=>{e
.buttons
||i(e
)}};this.register(this.coreMouseService
.onProtocolChange((e
=>{e
?("debug"===this.optionsService
.rawOptions
.logLevel
&&this._logService
.debug("Binding to mouse events:",this.coreMouseService
.explainEvents(e
)),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&e
?s
.mousemove
||(t
.addEventListener("mousemove",n
.mousemove
),s
.mousemove
=n
.mousemove
):(t
.removeEventListener("mousemove",s
.mousemove
),s
.mousemove
=null),16&e
?s
.wheel
||(t
.addEventListener("wheel",n
.wheel
,{passive
:!1}),s
.wheel
=n
.wheel
):(t
.removeEventListener("wheel",s
.wheel
),s
.wheel
=null),2&e
?s
.mouseup
||(t
.addEventListener("mouseup",n
.mouseup
),s
.mouseup
=n
.mouseup
):(this._document
.removeEventListener("mouseup",s
.mouseup
),t
.removeEventListener("mouseup",s
.mouseup
),s
.mouseup
=null),4&e
?s
.mousedrag
||(s
.mousedrag
=n
.mousedrag
):(this._document
.removeEventListener("mousemove",s
.mousedrag
),s
.mousedrag
=null)}))),this.coreMouseService
.activeProtocol
=this.coreMouseService
.activeProtocol
,this.register((0,r
.addDisposableDomListener
)(t
,"mousedown",(e
=>{if(e
.preventDefault(),this.focus(),this.coreMouseService
.areMouseEventsActive
&&!this._selectionService
.shouldForceSelection(e
))return i(e
),s
.mouseup
&&this._document
.addEventListener("mouseup",s
.mouseup
),s
.mousedrag
&&this._document
.addEventListener("mousemove",s
.mousedrag
),this.cancel(e
)}))),this.register((0,r
.addDisposableDomListener
)(t
,"wheel",(e
=>{if(!s
.wheel
){if(!this.buffer
.hasScrollback
){const t
=this.viewport
.getLinesScrolled(e
);if(0===t
)return;const i
=D
.C0
.ESC
+(this.coreService
.decPrivateModes
.applicationCursorKeys
?"O":"[")+(e
.deltaY
<0?"A":"B");let s
="";for(let e
=0;e
<Math
.abs(t
);e
++)s
+=i
;return this.coreService
.triggerDataEvent(s
,!0),this.cancel(e
,!0)}return this.viewport
.handleWheel(e
)?this.cancel(e
):void 0}}),{passive
:!1})),this.register((0,r
.addDisposableDomListener
)(t
,"touchstart",(e
=>{if(!this.coreMouseService
.areMouseEventsActive
)return this.viewport
.handleTouchStart(e
),this.cancel(e
)}),{passive
:!0})),this.register((0,r
.addDisposableDomListener
)(t
,"touchmove",(e
=>{if(!this.coreMouseService
.areMouseEventsActive
)return this.viewport
.handleTouchMove(e
)?void 0:this.cancel(e
)}),{passive
:!1}))}refresh(e
,t
){var i
;null===(i
=this._renderService
)||void 0===i
||i
.refreshRows(e
,t
)}updateCursorStyle(e
){var t
;(null===(t
=this._selectionService
)||void 0===t
?void 0:t
.shouldColumnSelect(e
))?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(e
,t
,i
=0){var s
;1===i
?(super.scrollLines(e
,t
,i
),this.refresh(0,this.rows
-1)):null===(s
=this.viewport
)||void 0===s
||s
.scrollLines(e
)}paste(e
){(0,s
.paste
)(e
,this.textarea
,this.coreService
,this.optionsService
)}attachCustomKeyEventHandler(e
){this._customKeyEventHandler
=e
}registerLinkProvider(e
){return this.linkifier2
.registerLinkProvider(e
)}registerCharacterJoiner(e
){if(!this._characterJoinerService
)throw new Error("Terminal must be opened first");const t
=this._characterJoinerService
.register(e
);return this.refresh(0,this.rows
-1),t
}deregisterCharacterJoiner(e
){if(!this._characterJoinerService
)throw new Error("Terminal must be opened first");this._characterJoinerService
.deregister(e
)&&this.refresh(0,this.rows
-1)}get markers(){return this.buffer
.markers
}registerMarker(e
){return this.buffer
.addMarker(this.buffer
.ybase
+this.buffer
.y
+e
)}registerDecoration(e
){return this._decorationService
.registerDecoration(e
)}hasSelection(){return!!this._selectionService
&&this._selectionService
.hasSelection
}select(e
,t
,i
){this._selectionService
.setSelection(e
,t
,i
)}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 e
;null===(e
=this._selectionService
)||void 0===e
||e
.clearSelection()}selectAll(){var e
;null===(e
=this._selectionService
)||void 0===e
||e
.selectAll()}selectLines(e
,t
){var i
;null===(i
=this._selectionService
)||void 0===i
||i
.selectLines(e
,t
)}_keyDown(e
){if(this._keyDownHandled
=!1,this._keyDownSeen
=!0,this._customKeyEventHandler
&&!1===this._customKeyEventHandler(e
))return!1;const t
=this.browser
.isMac
&&this.options
.macOptionIsMeta
&&e
.altKey
;if(!t
&&!this._compositionHelper
.keydown(e
))return this.options
.scrollOnUserInput
&&this.buffer
.ybase
!==this.buffer
.ydisp
&&this.scrollToBottom(),!1;t
||"Dead"!==e
.key
&&"AltGraph"!==e
.key
||(this._unprocessedDeadKey
=!0);const i
=(0,R
.evaluateKeyboardEvent
)(e
,this.coreService
.decPrivateModes
.applicationCursorKeys
,this.browser
.isMac
,this.options
.macOptionIsMeta
);if(this.updateCursorStyle(e
),3===i
.type
||2===i
.type
){const t
=this.rows
-1;return this.scrollLines(2===i
.type
?-t
:t
),this.cancel(e
,!0)}return 1===i
.type
&&this.selectAll(),!!this._isThirdLevelShift(this.browser
,e
)||(i
.cancel
&&this.cancel(e
,!0),!i
.key
||!!(e
.key
&&!e
.ctrlKey
&&!e
.altKey
&&!e
.metaKey
&&1===e
.key
.length
&&e
.key
.charCodeAt(0)>=65&&e
.key
.charCodeAt(0)<=90)||(this._unprocessedDeadKey
?(this._unprocessedDeadKey
=!1,!0):(i
.key
!==D
.C0
.ETX
&&i
.key
!==D
.C0
.CR
||(this.textarea
.value
=""),this._onKey
.fire({key
:i
.key
,domEvent
:e
}),this._showCursor(),this.coreService
.triggerDataEvent(i
.key
,!0),!this.optionsService
.rawOptions
.screenReaderMode
||e
.altKey
||e
.ctrlKey
?this.cancel(e
,!0):void(this._keyDownHandled
=!0))))}_isThirdLevelShift(e
,t
){const i
=e
.isMac
&&!this.options
.macOptionIsMeta
&&t
.altKey
&&!t
.ctrlKey
&&!t
.metaKey
||e
.isWindows
&&t
.altKey
&&t
.ctrlKey
&&!t
.metaKey
||e
.isWindows
&&t
.getModifierState("AltGraph");return"keypress"===t
.type
?i
:i
&&(!t
.keyCode
||t
.keyCode
>47)}_keyUp(e
){this._keyDownSeen
=!1,this._customKeyEventHandler
&&!1===this._customKeyEventHandler(e
)||(function(e
){return 16===e
.keyCode
||17===e
.keyCode
||18===e
.keyCode
}(e
)||this.focus(),this.updateCursorStyle(e
),this._keyPressHandled
=!1)}_keyPress(e
){let t
;if(this._keyPressHandled
=!1,this._keyDownHandled
)return!1;if(this._customKeyEventHandler
&&!1===this._customKeyEventHandler(e
))return!1;if(this.cancel(e
),e
.charCode
)t
=e
.charCode
;else if(null===e
.which
||void 0===e
.which
)t
=e
.keyCode
;else{if(0===e
.which
||0===e
.charCode
)return!1;t
=e
.which
}return!(!t
||(e
.altKey
||e
.ctrlKey
||e
.metaKey
)&&!this._isThirdLevelShift(this.browser
,e
)||(t
=String
.fromCharCode(t
),this._onKey
.fire({key
:t
,domEvent
:e
}),this._showCursor(),this.coreService
.triggerDataEvent(t
,!0),this._keyPressHandled
=!0,this._unprocessedDeadKey
=!1,0))}_inputEvent(e
){if(e
.data
&&"insertText"===e
.inputType
&&(!e
.composed
||!this._keyDownSeen
)&&!this.optionsService
.rawOptions
.screenReaderMode
){if(this._keyPressHandled
)return!1;this._unprocessedDeadKey
=!1;const t
=e
.data
;return this.coreService
.triggerDataEvent(t
,!0),this.cancel(e
),!0}return!1}resize(e
,t
){e
!==this.cols
||t
!==this.rows
?super.resize(e
,t
):this._charSizeService
&&!this._charSizeService
.hasValidSize
&&this._charSizeService
.measure()}_afterResize(e
,t
){var i
,s
;null===(i
=this._charSizeService
)||void 0===i
||i
.measure(),null===(s
=this.viewport
)||void 0===s
||s
.syncScrollArea(!0)}clear(){var e
;if(0!==this.buffer
.ybase
||0!==this.buffer
.y
){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 e
=1;e
<this.rows
;e
++)this.buffer
.lines
.push(this.buffer
.getBlankLine(L
.DEFAULT_ATTR_DATA
));this._onScroll
.fire({position
:this.buffer
.ydisp
,source
:0}),null===(e
=this.viewport
)||void 0===e
||e
.reset(),this.refresh(0,this.rows
-1)}}reset(){var e
,t
;this.options
.rows
=this.rows
,this.options
.cols
=this.cols
;const i
=this._customKeyEventHandler
;this._setup(),super.reset(),null===(e
=this._selectionService
)||void 0===e
||e
.reset(),this._decorationService
.reset(),null===(t
=this.viewport
)||void 0===t
||t
.reset(),this._customKeyEventHandler
=i
,this.refresh(0,this.rows
-1)}clearTextureAtlas(){var e
;null===(e
=this._renderService
)||void 0===e
||e
.clearTextureAtlas()}_reportFocus(){var e
;(null===(e
=this.element
)||void 0===e
?void 0:e
.classList
.contains("focus"))?this.coreService
.triggerDataEvent(D
.C0
.ESC
+"[I"):this.coreService
.triggerDataEvent(D
.C0
.ESC
+"[O")}_reportWindowsOptions(e
){if(this._renderService
)switch(e
){case T
.WindowsOptionsReportType
.GET_WIN_SIZE_PIXELS
:const e
=this._renderService
.dimensions
.css
.canvas
.width
.toFixed(0),t
=this._renderService
.dimensions
.css
.canvas
.height
.toFixed(0);this.coreService
.triggerDataEvent(`${D.C0.ESC}[4;${t};${e}t`);break;case T
.WindowsOptionsReportType
.GET_CELL_SIZE_PIXELS
:const i
=this._renderService
.dimensions
.css
.cell
.width
.toFixed(0),s
=this._renderService
.dimensions
.css
.cell
.height
.toFixed(0);this.coreService
.triggerDataEvent(`${D.C0.ESC}[6;${s};${i}t`)}}cancel(e
,t
){if(this.options
.cancelEvents
||t
)return e
.preventDefault(),e
.stopPropagation(),!1}}t
.Terminal
=P
},9924:(e
,t
)=>{Object
.defineProperty(t
,"__esModule",{value
:!0}),t
.TimeBasedDebouncer
=void 0,t
.TimeBasedDebouncer
=class{constructor(e
,t
=1e3
){this._renderCallback
=e
,this._debounceThresholdMS
=t
,this._lastRefreshMs
=0,this._additionalRefreshRequested
=!1}dispose(){this._refreshTimeoutID
&&clearTimeout(this._refreshTimeoutID
)}refresh(e
,t
,i
){this._rowCount
=i
,e
=void 0!==e
?e
:0,t
=void 0!==t
?t
:this._rowCount
-1,this._rowStart
=void 0!==this._rowStart
?Math
.min(this._rowStart
,e
):e
,this._rowEnd
=void 0!==this._rowEnd
?Math
.max(this._rowEnd
,t
):t
;const s
=Date
.now();if(s
-this._lastRefreshMs
>=this._debounceThresholdMS
)this._lastRefreshMs
=s
,this._innerRefresh();else if(!this._additionalRefreshRequested
){const e
=s
-this._lastRefreshMs
,t
=this._debounceThresholdMS
-e
;this._additionalRefreshRequested
=!0,this._refreshTimeoutID
=window
.setTimeout((()=>{this._lastRefreshMs
=Date
.now(),this._innerRefresh(),this._additionalRefreshRequested
=!1,this._refreshTimeoutID
=void 0}),t
)}}_innerRefresh(){if(void 0===this._rowStart
||void 0===this._rowEnd
||void 0===this._rowCount
)return;const e
=Math
.max(this._rowStart
,0),t
=Math
.min(this._rowEnd
,this._rowCount
-1);this._rowStart
=void 0,this._rowEnd
=void 0,this._renderCallback(e
,t
)}}},1680:function(e
,t
,i
){var s
=this&&this.__decorate
||function(e
,t
,i
,s
){var r
,n
=arguments
.length
,o
=n
<3?t
:null===s
?s
=Object
.getOwnPropertyDescriptor(t
,i
):s
;if("object"==typeof Reflect
&&"function"==typeof Reflect
.decorate
)o
=Reflect
.decorate(e
,t
,i
,s
);else for(var a
=e
.length
-1;a
>=0;a
--)(r
=e
[a
])&&(o
=(n
<3?r(o
):n
>3?r(t
,i
,o
):r(t
,i
))||o
);return n
>3&&o
&&Object
.defineProperty(t
,i
,o
),o
},r
=this&&this.__param
||function(e
,t
){return function(i
,s
){t(i
,s
,e
)}};Object
.defineProperty(t
,"__esModule",{value
:!0}),t
.Viewport
=void 0;const n
=i(3656),o
=i(4725),a
=i(8460),h
=i(844),c
=i(2585);let l
=t
.Viewport
=class extends h
.Disposable
{constructor(e
,t
,i
,s
,r
,o
,h
,c
){super(),this._viewportElement
=e
,this._scrollArea
=t
,this._bufferService
=i
,this._optionsService
=s
,this._charSizeService
=r
,this._renderService
=o
,this._coreBrowserService
=h
,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 a
.EventEmitter
),this.onRequestScrollLines
=this._onRequestScrollLines
.event
,this.scrollBarWidth
=this._viewportElement
.offsetWidth
-this._scrollArea
.offsetWidth
||15,this.register((0,n
.addDisposableDomListener
)(this._viewportElement
,"scroll",this._handleScroll
.bind(this))),this._activeBuffer
=this._bufferService
.buffer
,this.register(this._bufferService
.buffers
.onBufferActivate((e
=>this._activeBuffer
=e
.activeBuffer
))),this._renderDimensions
=this._renderService
.dimensions
,this.register(this._renderService
.onDimensionsChange((e
=>this._renderDimensions
=e
))),this._handleThemeChange(c
.colors
),this.register(c
.onChangeColors((e
=>this._handleThemeChange(e
)))),this.register(this._optionsService
.onSpecificOptionChange("scrollback",(()=>this.syncScrollArea()))),setTimeout((()=>this.syncScrollArea()))}_handleThemeChange(e
){this._viewportElement
.style
.backgroundColor
=e
.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(e
){if(e
)return this._innerRefresh(),void(null!==this._refreshAnimationFrame
&&this._coreBrowserService
.window
.cancelAnimationFrame(this._refreshAnimationFrame
));null===this._refreshAnimationFrame
&&(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;const e=Math.round(this._currentRowHeight*this._lastRecordedBufferLength)+(this._lastRecordedViewportHeight-this._renderService.dimensions.css.canvas.height);this._lastRecordedBufferHeight!==e&&(this._lastRecordedBufferHeight=e,this._scrollArea.style.height=this._lastRecordedBufferHeight+"px")}const e=this._bufferService.buffer.ydisp*this._currentRowHeight;this._viewportElement.scrollTop!==e&&(this._ignoreNextScrollEvent=!0,this._viewportElement.scrollTop=e),this._refreshAnimationFrame=null}syncScrollArea(e=!1){if(this._lastRecordedBufferLength!==this._bufferService.buffer.lines.length)return this._lastRecordedBufferLength=this._bufferService.buffer.lines.length,void this._refresh(e);this._lastRecordedViewportHeight===this._renderService.dimensions.css.canvas.height&&this._lastScrollTop===this._activeBuffer.ydisp*this._currentRowHeight&&this._renderDimensions.device.cell.height===this._currentDeviceCellHeight||this._refresh(e)}_handleScroll(e){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});const t=Math.round(this._lastScrollTop/this._currentRowHeight
)-this._bufferService
.buffer
.ydisp
;this._onRequestScrollLines
.fire({amount
:t
,suppressScrollEvent
:!0})}_smoothScroll(){if(this._isDisposed
||-1===this._smoothScrollState
.origin
||-1===this._smoothScrollState
.target
)return;const e
=this._smoothScrollPercent();this._viewportElement
.scrollTop
=this._smoothScrollState
.origin
+Math
.round(e
*(this._smoothScrollState
.target
-this._smoothScrollState
.origin
)),e
<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(e,t){const i=this._viewportElement.scrollTop+this._lastRecordedViewportHeight;return!(t<0&&0!==this._viewportElement.scrollTop||t>0&&i<this._lastRecordedBufferHeight)||(e.cancelable&&e.preventDefault(),!1)}handleWheel(e){const t=this._getPixelsScrolled(e);return 0!==t&&(this._optionsService.rawOptions.smoothScrollDuration?(this._smoothScrollState.startTime=Date.now(),this._smoothScrollPercent()<1?(this._smoothScrollState.origin=this._viewportElement.scrollTop,-1===this._smoothScrollState.target?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(e,t))}scrollLines(e){if(0!==e)if(this._optionsService.rawOptions.smoothScrollDuration){const t=e*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:e,suppressScrollEvent:!1})}_getPixelsScrolled(e){if(0===e.deltaY||e.shiftKey)return 0;let t=this._applyScrollModifier(e.deltaY,e);return e.deltaMode===WheelEvent.DOM_DELTA_LINE?t*=this._currentRowHeight:e.deltaMode===WheelEvent.DOM_DELTA_PAGE&&(t*=this._currentRowHeight*this._bufferService.rows),t}getBufferElements(e,t){var i;let s,r="";const n=[],o=null!=t?t:this._bufferService.buffer.lines.length,a=this._bufferService.buffer.lines;for(let t=e;t<o;t++){const e=a.get(t);if(!e)continue;const o=null===(i=a.get(t+1))||void 0===i?void 0:i.isWrapped;if(r+=e.translateToString(!o),!o||t===a.length-1){const e=document.createElement("div");e.textContent=r,n.push(e),r.length>0&&(s=e),r=""}}return{bufferElements:n,cursorElement:s}}getLinesScrolled(e){if(0===e.deltaY||e.shiftKey)return 0;let t=this._applyScrollModifier(e.deltaY,e);return e.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):e
.deltaMode
===WheelEvent
.DOM_DELTA_PAGE
&&(t
*=this._bufferService
.rows
),t
}_applyScrollModifier(e
,t
){const i
=this._optionsService
.rawOptions
.fastScrollModifier
;return"alt"===i
&&t
.altKey
||"ctrl"===i
&&t
.ctrlKey
||"shift"===i
&&t
.shiftKey
?e
*this._optionsService
.rawOptions
.fastScrollSensitivity
*this._optionsService
.rawOptions
.scrollSensitivity
:e
*this._optionsService
.rawOptions
.scrollSensitivity
}handleTouchStart(e
){this._lastTouchY
=e
.touches
[0].pageY
}handleTouchMove(e
){const t
=this._lastTouchY
-e
.touches
[0].pageY
;return this._lastTouchY
=e
.touches
[0].pageY
,0!==t
&&(this._viewportElement
.scrollTop
+=t
,this._bubbleScroll(e
,t
))}};t
.Viewport
=l
=s([r(2,c
.IBufferService
),r(3,c
.IOptionsService
),r(4,o
.ICharSizeService
),r(5,o
.IRenderService
),r(6,o
.ICoreBrowserService
),r(7,o
.IThemeService
)],l
)},3107:function(e
,t
,i
){var s
=this&&this.__decorate
||function(e
,t
,i
,s
){var r
,n
=arguments
.length
,o
=n
<3?t
:null===s
?s
=Object
.getOwnPropertyDescriptor(t
,i
):s
;if("object"==typeof Reflect
&&"function"==typeof Reflect
.decorate
)o
=Reflect
.decorate(e
,t
,i
,s
);else for(var a
=e
.length
-1;a
>=0;a
--)(r
=e
[a
])&&(o
=(n
<3?r(o
):n
>3?r(t
,i
,o
):r(t
,i
))||o
);return n
>3&&o
&&Object
.defineProperty(t
,i
,o
),o
},r
=this&&this.__param
||function(e
,t
){return function(i
,s
){t(i
,s
,e
)}};Object
.defineProperty(t
,"__esModule",{value
:!0}),t
.BufferDecorationRenderer
=void 0;const n
=i(3656),o
=i(4725),a
=i(844),h
=i(2585);let c
=t
.BufferDecorationRenderer
=class extends a
.Disposable
{constructor(e
,t
,i
,s
){super(),this._screenElement
=e
,this._bufferService
=t
,this._decorationService
=i
,this._renderService
=s
,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,n
.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((e
=>this._removeDecoration(e
)))),this.register((0,a
.toDisposable
)((()=>{this._container
.remove(),this._decorationElements
.clear()})))}_queueRefresh(){void 0===this._animationFrame
&&(this._animationFrame
=this._renderService
.addRefreshCallback((()=>{this._doRefreshDecorations(),this._animationFrame
=void 0})))}_doRefreshDecorations(){for(const e
of this._decorationService
.decorations
)this._renderDecoration(e
);this._dimensionsChanged
=!1}_renderDecoration(e
){this._refreshStyle(e
),this._dimensionsChanged
&&this._refreshXPosition(e
)}_createElement(e
){var t
,i
;const s
=document
.createElement("div");s
.classList
.add("xterm-decoration"),s
.classList
.toggle("xterm-decoration-top-layer","top"===(null===(t
=null==e
?void 0:e
.options
)||void 0===t
?void 0:t
.layer
)),s
.style
.width
=`${Math.round((e.options.width||1)*this._renderService.dimensions.css.cell.width)}px`,s
.style
.height
=(e
.options
.height
||1)*this._renderService
.dimensions
.css
.cell
.height
+"px",s
.style
.top
=(e
.marker
.line
-this._bufferService
.buffers
.active
.ydisp
)*this._renderService
.dimensions
.css
.cell
.height
+"px",s
.style
.lineHeight
=`${this._renderService.dimensions.css.cell.height}px`;const r
=null!==(i
=e
.options
.x
)&&void 0!==i
?i
:0;return r
&&r
>this._bufferService
.cols
&&(s
.style
.display
="none"),this._refreshXPosition(e
,s
),s
}_refreshStyle(e
){const t
=e
.marker
.line
-this._bufferService
.buffers
.active
.ydisp
;if(t
<0||t
>=this._bufferService
.rows
)e
.element
&&(e
.element
.style
.display
="none",e
.onRenderEmitter
.fire(e
.element
));else{let i
=this._decorationElements
.get(e
);i
||(i
=this._createElement(e
),e
.element
=i
,this._decorationElements
.set(e
,i
),this._container
.appendChild(i
),e
.onDispose((()=>{this._decorationElements
.delete(e
),i
.remove()}))),i
.style
.top
=t
*this._renderService
.dimensions
.css
.cell
.height
+"px",i
.style
.display
=this._altBufferIsActive
?"none":"block",e
.onRenderEmitter
.fire(i
)}}_refreshXPosition(e
,t
=e
.element
){var i
;if(!t
)return;const s
=null!==(i
=e
.options
.x
)&&void 0!==i
?i
:0;"right"===(e
.options
.anchor
||"left")?t
.style
.right
=s
?s
*this._renderService
.dimensions
.css
.cell
.width
+"px":"":t
.style
.left
=s
?s
*this._renderService
.dimensions
.css
.cell
.width
+"px":""}_removeDecoration(e
){var t
;null===(t
=this._decorationElements
.get(e
))||void 0===t
||t
.remove(),this._decorationElements
.delete(e
),e
.dispose()}};t
.BufferDecorationRenderer
=c
=s([r(1,h
.IBufferService
),r(2,h
.IDecorationService
),r(3,o
.IRenderService
)],c
)},5871:(e
,t
)=>{Object
.defineProperty(t
,"__esModule",{value
:!0}),t
.ColorZoneStore
=void 0,t
.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(e
){if(e
.options
.overviewRulerOptions
){for(const t
of this._zones
)if(t
.color
===e
.options
.overviewRulerOptions
.color
&&t
.position
===e
.options
.overviewRulerOptions
.position
){if(this._lineIntersectsZone(t
,e
.marker
.line
))return;if(this._lineAdjacentToZone(t
,e
.marker
.line
,e
.options
.overviewRulerOptions
.position
))return void this._addLineToZone(t
,e
.marker
.line
)}if(this._zonePoolIndex
<this._zonePool
.length
)return this._zonePool
[this._zonePoolIndex
].color
=e
.options
.overviewRulerOptions
.color
,this._zonePool
[this._zonePoolIndex
].position
=e
.options
.overviewRulerOptions
.position
,this._zonePool
[this._zonePoolIndex
].startBufferLine
=e
.marker
.line
,this._zonePool
[this._zonePoolIndex
].endBufferLine
=e
.marker
.line
,void this._zones
.push(this._zonePool
[this._zonePoolIndex
++]);this._zones
.push({color
:e
.options
.overviewRulerOptions
.color
,position
:e
.options
.overviewRulerOptions
.position
,startBufferLine
:e
.marker
.line
,endBufferLine
:e
.marker
.line
}),this._zonePool
.push(this._zones
[this._zones
.length
-1]),this._zonePoolIndex
++}}setPadding(e
){this._linePadding
=e
}_lineIntersectsZone(e
,t
){return t
>=e
.startBufferLine
&&t
<=e
.endBufferLine
}_lineAdjacentToZone(e
,t
,i
){return t
>=e
.startBufferLine
-this._linePadding
[i
||"full"]&&t
<=e
.endBufferLine
+this._linePadding
[i
||"full"]}_addLineToZone(e
,t
){e
.startBufferLine
=Math
.min(e
.startBufferLine
,t
),e
.endBufferLine
=Math
.max(e
.endBufferLine
,t
)}}},5744:function(e
,t
,i
){var s
=this&&this.__decorate
||function(e
,t
,i
,s
){var r
,n
=arguments
.length
,o
=n
<3?t
:null===s
?s
=Object
.getOwnPropertyDescriptor(t
,i
):s
;if("object"==typeof Reflect
&&"function"==typeof Reflect
.decorate
)o
=Reflect
.decorate(e
,t
,i
,s
);else for(var a
=e
.length
-1;a
>=0;a
--)(r
=e
[a
])&&(o
=(n
<3?r(o
):n
>3?r(t
,i
,o
):r(t
,i
))||o
);return n
>3&&o
&&Object
.defineProperty(t
,i
,o
),o
},r
=this&&this.__param
||function(e
,t
){return function(i
,s
){t(i
,s
,e
)}};Object
.defineProperty(t
,"__esModule",{value
:!0}),t
.OverviewRulerRenderer
=void 0;const n
=i(5871),o
=i(3656),a
=i(4725),h
=i(844),c
=i(2585),l
={full
:0,left
:0,center
:0,right
:0},d
={full
:0,left
:0,center
:0,right
:0},_
={full
:0,left
:0,center
:0,right
:0};let u
=t
.OverviewRulerRenderer
=class extends h
.Disposable
{get _width(){return this._optionsService
.options
.overviewRulerWidth
||0}constructor(e
,t
,i
,s
,r
,o
,a
){var c
;super(),this._viewportElement
=e
,this._screenElement
=t
,this._bufferService
=i
,this._decorationService
=s
,this._renderService
=r
,this._optionsService
=o
,this._coreBrowseService
=a
,this._colorZoneStore
=new n
.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(),null===(c
=this._viewportElement
.parentElement
)||void 0===c
||c
.insertBefore(this._canvas
,this._viewportElement
);const l
=this._canvas
.getContext("2d");if(!l
)throw new Error("Ctx cannot be null");this._ctx
=l
,this._registerDecorationListeners(),this._registerBufferChangeListeners(),this._registerDimensionChangeListeners(),this.register((0,h
.toDisposable
)((()=>{var e
;null===(e
=this._canvas
)||void 0===e
||e
.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,o
.addDisposableDomListener
)(this._coreBrowseService
.window
,"resize",(()=>this._queueRefresh(!0)))),this._queueRefresh(!0)}_refreshDrawConstants(){const e
=Math
.floor(this._canvas
.width
/3),t=Math.ceil(this._canvas.width/3);d
.full
=this._canvas
.width
,d
.left
=e
,d
.center
=t
,d
.right
=e
,this._refreshDrawHeightConstants(),_
.full
=0,_
.left
=0,_
.center
=d
.left
,_
.right
=d
.left
+d
.center
}_refreshDrawHeightConstants(){l
.full
=Math
.round(2*this._coreBrowseService
.dpr
);const e
=this._canvas
.height
/this._bufferService.buffer.lines.length,t=Math.round(Math.max(Math.min(e,12),6)*this._coreBrowseService.dpr);l.left=t,l.center=t,l.right=t}_refreshColorZonePadding(){this._colorZoneStore.setPadding({full:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas
.height
-1)*l
.full
),left
:Math
.floor(this._bufferService
.buffers
.active
.lines
.length
/(this._canvas.height-1)*l.left),center:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas
.height
-1)*l
.center
),right
:Math
.floor(this._bufferService
.buffers
.active
.lines
.length
/(this._canvas.height-1)*l.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(const e of this._decorationService.decorations)this._colorZoneStore.addDecoration(e);this._ctx.lineWidth=1;const e=this._colorZoneStore.zones;for(const t of e)"full"!==t.position&&this._renderColorZone(t);for(const t of e)"full"===t.position&&this._renderColorZone(t);this._shouldUpdateDimensions=!1,this._shouldUpdateAnchor=!1}_renderColorZone(e){this._ctx.fillStyle=e.color,this._ctx.fillRect(_[e.position||"full"],Math.round((this._canvas.height-1)*(e.startBufferLine/this._bufferService
.buffers
.active
.lines
.length
)-l
[e
.position
||"full"]/2),d[e.position||"full"],Math.round((this._canvas.height-1)*((e.endBufferLine-e.startBufferLine)/this._bufferService
.buffers
.active
.lines
.length
)+l
[e
.position
||"full"]))}_queueRefresh(e
,t
){this._shouldUpdateDimensions
=e
||this._shouldUpdateDimensions
,this._shouldUpdateAnchor
=t
||this._shouldUpdateAnchor
,void 0===this._animationFrame
&&(this._animationFrame
=this._coreBrowseService
.window
.requestAnimationFrame((()=>{this._refreshDecorations(),this._animationFrame
=void 0})))}};t
.OverviewRulerRenderer
=u
=s([r(2,c
.IBufferService
),r(3,c
.IDecorationService
),r(4,a
.IRenderService
),r(5,c
.IOptionsService
),r(6,a
.ICoreBrowserService
)],u
)},2950:function(e
,t
,i
){var s
=this&&this.__decorate
||function(e
,t
,i
,s
){var r
,n
=arguments
.length
,o
=n
<3?t
:null===s
?s
=Object
.getOwnPropertyDescriptor(t
,i
):s
;if("object"==typeof Reflect
&&"function"==typeof Reflect
.decorate
)o
=Reflect
.decorate(e
,t
,i
,s
);else for(var a
=e
.length
-1;a
>=0;a
--)(r
=e
[a
])&&(o
=(n
<3?r(o
):n
>3?r(t
,i
,o
):r(t
,i
))||o
);return n
>3&&o
&&Object
.defineProperty(t
,i
,o
),o
},r
=this&&this.__param
||function(e
,t
){return function(i
,s
){t(i
,s
,e
)}};Object
.defineProperty(t
,"__esModule",{value
:!0}),t
.CompositionHelper
=void 0;const n
=i(4725),o
=i(2585),a
=i(2584);let h
=t
.CompositionHelper
=class{get isComposing(){return this._isComposing
}constructor(e
,t
,i
,s
,r
,n
){this._textarea
=e
,this._compositionView
=t
,this._bufferService
=i
,this._optionsService
=s
,this._coreService
=r
,this._renderService
=n
,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(e
){this._compositionView
.textContent
=e
.data
,this.updateCompositionElements(),setTimeout((()=>{this._compositionPosition
.end
=this._textarea
.value
.length
}),0)}compositionend(){this._finalizeComposition(!0)}keydown(e
){if(this._isComposing
||this._isSendingComposition
){if(229===e
.keyCode
)return!1;if(16===e
.keyCode
||17===e
.keyCode
||18===e
.keyCode
)return!1;this._finalizeComposition(!1)}return 229!==e
.keyCode
||(this._handleAnyTextareaChanges(),!1)}_finalizeComposition(e
){if(this._compositionView
.classList
.remove("active"),this._isComposing
=!1,e
){const e
={start
:this._compositionPosition
.start
,end
:this._compositionPosition
.end
};this._isSendingComposition
=!0,setTimeout((()=>{if(this._isSendingComposition
){let t
;this._isSendingComposition
=!1,e
.start
+=this._dataAlreadySent
.length
,t
=this._isComposing
?this._textarea
.value
.substring(e
.start
,e
.end
):this._textarea
.value
.substring(e
.start
),t
.length
>0&&this._coreService
.triggerDataEvent(t
,!0)}}),0)}else{this._isSendingComposition
=!1;const e
=this._textarea
.value
.substring(this._compositionPosition
.start
,this._compositionPosition
.end
);this._coreService
.triggerDataEvent(e
,!0)}}_handleAnyTextareaChanges(){const e
=this._textarea
.value
;setTimeout((()=>{if(!this._isComposing
){const t
=this._textarea
.value
,i
=t
.replace(e
,"");this._dataAlreadySent
=i
,t
.length
>e
.length
?this._coreService
.triggerDataEvent(i
,!0):t
.length
<e
.length
?this._coreService
.triggerDataEvent(`${a.C0.DEL}`,!0):t
.length
===e
.length
&&t
!==e
&&this._coreService
.triggerDataEvent(t
,!0)}}),0)}updateCompositionElements(e
){if(this._isComposing
){if(this._bufferService
.buffer
.isCursorInViewport
){const e
=Math
.min(this._bufferService
.buffer
.x
,this._bufferService
.cols
-1),t
=this._renderService
.dimensions
.css
.cell
.height
,i
=this._bufferService
.buffer
.y
*this._renderService
.dimensions
.css
.cell
.height
,s
=e
*this._renderService
.dimensions
.css
.cell
.width
;this._compositionView
.style
.left
=s
+"px",this._compositionView
.style
.top
=i
+"px",this._compositionView
.style
.height
=t
+"px",this._compositionView
.style
.lineHeight
=t
+"px",this._compositionView
.style
.fontFamily
=this._optionsService
.rawOptions
.fontFamily
,this._compositionView
.style
.fontSize
=this._optionsService
.rawOptions
.fontSize
+"px";const r
=this._compositionView
.getBoundingClientRect();this._textarea
.style
.left
=s
+"px",this._textarea
.style
.top
=i
+"px",this._textarea
.style
.width
=Math
.max(r
.width
,1)+"px",this._textarea
.style
.height
=Math
.max(r
.height
,1)+"px",this._textarea
.style
.lineHeight
=r
.height
+"px"}e
||setTimeout((()=>this.updateCompositionElements(!0)),0)}}};t
.CompositionHelper
=h
=s([r(2,o
.IBufferService
),r(3,o
.IOptionsService
),r(4,o
.ICoreService
),r(5,n
.IRenderService
)],h
)},9806:(e
,t
)=>{function i(e
,t
,i
){const s
=i
.getBoundingClientRect(),r
=e
.getComputedStyle(i
),n
=parseInt(r
.getPropertyValue("padding-left")),o
=parseInt(r
.getPropertyValue("padding-top"));return[t
.clientX
-s
.left
-n
,t
.clientY
-s
.top
-o
]}Object
.defineProperty(t
,"__esModule",{value
:!0}),t
.getCoords
=t
.getCoordsRelativeToElement
=void 0,t
.getCoordsRelativeToElement
=i
,t
.getCoords=function(e
,t
,s
,r
,n
,o
,a
,h
,c
){if(!o
)return;const l
=i(e
,t
,s
);return l
?(l
[0]=Math
.ceil((l
[0]+(c
?a
/2:0))/a),l
[1]=Math
.ceil(l
[1]/h),l[0]=Math.min(Math.max(l[0],1),r+(c?1:0)),l[1]=Math.min(Math.max(l[1],1),n),l):void 0}},9504:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.moveToCellSequence=void 0;const s=i(2584);function r(e,t,i,s){const r=e-n(e,i),a=t-n(t,i),l=Math.abs(r-a)-function(e,t,i){let s=0;const r=e-n(e,i),a=t-n(t,i);for(let n=0;n<Math.abs(r-a);n++){const a="A"===o(e,t)?-1:1,h=i.buffer.lines.get(r+a*n);(null==h?void 0:h.isWrapped)&&s++}return s}(e,t,i);return c(l,h(o(e,t),s))}function n(e,t){let i=0,s=t.buffer.lines.get(e),r=null==s?void 0:s.isWrapped;for(;r&&e>=0&&e<t.rows;)i++,s=t.buffer.lines.get(--e),r=null==s?void 0:s.isWrapped;return i}function o(e,t){return e>t?"A":"B"}function a(e,t,i,s,r,n){let o=e,a=t,h="";for(;o!==i||a!==s;)o+=r?1:-1,r&&o>n.cols-1?(h+=n.buffer.translateBufferLineToString(a,!1,e,o),o=0,e=0,a++):!r&&o<0&&(h+=n.buffer.translateBufferLineToString(a,!1,0,e+1),o=n.cols-1,e=o,a--);return h+n.buffer.translateBufferLineToString(a,!1,e,o)}function h(e,t){const i=t?"O":"[";return s.C0.ESC+i+e}function c(e,t){e=Math.floor(e);let i="";for(let s=0;s<e;s++)i+=t;return i}t.moveToCellSequence=function(e,t,i,s){const o=i.buffer.x,l=i.buffer.y;if(!i.buffer.hasScrollback)return function(e,t,i,s,o,l){return 0===r(t,s,o,l).length?"":c(a(e,t,e,t-n(t,o),!1,o).length,h("D",l))}(o,l,0,t,i,s)+r(l,t,i,s)+function(e,t,i,s,o,l){let d;d=r(t,s,o,l).length>0?s-n(s,o):t;const _=s,u=function(e,t,i,s,o,a){let h;return h=r(i,s,o,a).length>0?s-n(s,o):t,e<i&&h<=s||e>=i&&h<s?"C":"D"}(e,t,i,s,o,l);return c(a(e,d,i,_,"C"===u,o).length,h(u,l))}(o,l,e,t,i,s);let d;if(l===t)return d=o>e?"D":"C",c(Math.abs(o-e),h(d,s));d=l>t?"D":"C";const _=Math.abs(l-t);return c(function(e,t){return t.cols-e}(l>t?e:o,i)+(_-1)*i.cols+1+((l>t?o:e)-1),h(d,s))}},1296:function(e,t,i){var s=this&&this.__decorate||function(e,t,i,s){var r,n=arguments.length,o=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,s);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(n<3?r(o):n>3?r(t,i,o):r(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},r=this&&this.__param||function(e,t){return function(i,s){t(i,s,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.DomRenderer=void 0;const n=i(3787),o=i(2550),a=i(2223),h=i(6171),c=i(4725),l=i(8055),d=i(8460),_=i(844),u=i(2585),f="xterm-dom-renderer-owner-",v="xterm-rows",p="xterm-fg-",g="xterm-bg-",m="xterm-focus",S="xterm-selection";let C=1,b=t.DomRenderer=class extends _.Disposable{constructor(e,t,i,s,r,a,c,l,u,p){super(),this._element=e,this._screenElement=t,this._viewportElement=i,this._linkifier2=s,this._charSizeService=a,this._optionsService=c,this._bufferService=l,this._coreBrowserService=u,this._themeService=p,this._terminalClass=C++,this._rowElements=[],this.onRequestRedraw=this.register(new d.EventEmitter).event,this._rowContainer=document.createElement("div"),this._rowContainer.classList.add(v),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(S),this._selectionContainer.setAttribute("aria-hidden","true"),this.dimensions=(0,h.createRenderDimensions)(),this._updateDimensions(),this.register(this._optionsService.onOptionChange((()=>this._handleOptionsChanged()))),this.register(this._themeService.onChangeColors((e=>this._injectCss(e)))),this._injectCss(this._themeService.colors),this._rowFactory=r.createInstance(n.DomRendererRowFactory,document),this._element.classList.add(f+this._terminalClass),this._screenElement.appendChild(this._rowContainer),this._screenElement.appendChild(this._selectionContainer),this.register(this._linkifier2.onShowLinkUnderline((e=>this._handleLinkHover(e)))),this.register(this._linkifier2.onHideLinkUnderline((e=>this._handleLinkLeave(e)))),this.register((0,_.toDisposable)((()=>{this._element.classList.remove(f+this._terminalClass),this._rowContainer.remove(),this._selectionContainer.remove(),this._widthCache.dispose(),this._themeStyleElement.remove(),this._dimensionsStyleElement.remove()}))),this._widthCache=new o.WidthCache(document),this._widthCache.setFont(this._optionsService.rawOptions.fontFamily,this._optionsService.rawOptions.fontSize,this._optionsService.rawOptions.fontWeight,this._optionsService.rawOptions.fontWeightBold),this._setDefaultSpacing()}_updateDimensions(){const e=this._coreBrowserService.dpr;this.dimensions.device.char.width=this._charSizeService.width*e,this.dimensions.device.char.height=Math.ceil(this._charSizeService.height*e),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/e
),this.dimensions
.css
.canvas
.height
=Math
.round(this.dimensions
.device
.canvas
.height
/e),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(const e of this._rowElements)e.style.width=`${this.dimensions.css.canvas.width}px`,e.style.height=`${this.dimensions.css.cell.height}px`,e.style.lineHeight=`${this.dimensions.css.cell.height}px`,e.style.overflow="hidden";this._dimensionsStyleElement||(this._dimensionsStyleElement=document.createElement("style"),this._screenElement.appendChild(this._dimensionsStyleElement));const t=`${this._terminalSelector} .${v} span { display: inline-block; height: 100%; vertical-align: top;}`;this._dimensionsStyleElement.textContent=t,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(e){this._themeStyleElement||(this._themeStyleElement=document.createElement("style"),this._screenElement.appendChild(this._themeStyleElement));let t=`${this._terminalSelector} .${v} { color: ${e.foreground.css}; font-family: ${this._optionsService.rawOptions.fontFamily}; font-size: ${this._optionsService.rawOptions.fontSize}px; font-kerning: none; white-space: pre}`;t+=`${this._terminalSelector} .${v} .xterm-dim { color: ${l.color.multiplyOpacity(e.foreground,.5).css};}`,t+=`${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;}`,t+="@keyframes blink_box_shadow_"+this._terminalClass+" { 50% { border-bottom-style: hidden; }}",t+="@keyframes blink_block_"+this._terminalClass+" { 0% {"+` background-color: ${e.cursor.css};`+` color: ${e.cursorAccent.css}; } 50% { background-color: inherit;`+` color: ${e.cursor.css}; }}`,t+=`${this._terminalSelector} .${v}.${m} .xterm-cursor.xterm-cursor-blink:not(.xterm-cursor-block) { animation: blink_box_shadow_`+this._terminalClass+" 1s step-end infinite;}"+`${this._terminalSelector} .${v}.${m} .xterm-cursor.xterm-cursor-blink.xterm-cursor-block { animation: blink_block_`+this._terminalClass+" 1s step-end infinite;}"+`${this._terminalSelector} .${v} .xterm-cursor.xterm-cursor-block {`+` background-color: ${e.cursor.css};`+` color: ${e.cursorAccent.css};}`+`${this._terminalSelector} .${v} .xterm-cursor.xterm-cursor-outline {`+` outline: 1px solid ${e.cursor.css}; outline-offset: -1px;}`+`${this._terminalSelector} .${v} .xterm-cursor.xterm-cursor-bar {`+` box-shadow: ${this._optionsService.rawOptions.cursorWidth}px 0 0 ${e.cursor.css} inset;}`+`${this._terminalSelector} .${v} .xterm-cursor.xterm-cursor-underline {`+` border-bottom: 1px ${e.cursor.css}; border-bottom-style: solid; height: calc(100% - 1px);}`,t+=`${this._terminalSelector} .${S} { position: absolute; top: 0; left: 0; z-index: 1; pointer-events: none;}${this._terminalSelector}.focus .${S} div { position: absolute; background-color: ${e.selectionBackgroundOpaque.css};}${this._terminalSelector} .${S} div { position: absolute; background-color: ${e.selectionInactiveBackgroundOpaque.css};}`;for(const[i,s]of e.ansi.entries())t+=`${this._terminalSelector} .${p}${i} { color: ${s.css}; }${this._terminalSelector} .${p}${i}.xterm-dim { color: ${l.color.multiplyOpacity(s,.5).css}; }${this._terminalSelector} .${g}${i} { background-color: ${s.css}; }`;t+=`${this._terminalSelector} .${p}${a.INVERTED_DEFAULT_COLOR} { color: ${l.color.opaque(e.background).css}; }${this._terminalSelector} .${p}${a.INVERTED_DEFAULT_COLOR}.xterm-dim { color: ${l.color.multiplyOpacity(l.color.opaque(e.background),.5).css}; }${this._terminalSelector} .${g}${a.INVERTED_DEFAULT_COLOR} { background-color: ${e.foreground.css}; }`,this._themeStyleElement.textContent=t}_setDefaultSpacing(){const e=this.dimensions.css.cell.width-this._widthCache.get("W",!1,!1);this._rowContainer.style.letterSpacing=`${e}px`,this._rowFactory.defaultSpacing=e}handleDevicePixelRatioChange(){this._updateDimensions(),this._widthCache.clear(),this._setDefaultSpacing()}_refreshRowElements(e,t){for(let e=this._rowElements.length;e<=t;e++){const e=document.createElement("div");this._rowContainer.appendChild(e),this._rowElements.push(e)}for(;this._rowElements.length>t;)this._rowContainer.removeChild(this._rowElements.pop())}handleResize(e,t){this._refreshRowElements(e,t),this._updateDimensions()}handleCharSizeChanged(){this._updateDimensions(),this._widthCache.clear(),this._setDefaultSpacing()}handleBlur(){this._rowContainer.classList.remove(m)}handleFocus(){this._rowContainer.classList.add(m),this.renderRows(this._bufferService.buffer.y,this._bufferService.buffer.y)}handleSelectionChanged(e,t,i){if(this._selectionContainer.replaceChildren(),this._rowFactory.handleSelectionChanged(e,t,i),this.renderRows(0,this._bufferService.rows-1),!e||!t)return;const s=e[1]-this._bufferService.buffer.ydisp,r=t[1]-this._bufferService.buffer.ydisp,n=Math.max(s,0),o=Math.min(r,this._bufferService.rows-1);if(n>=this._bufferService.rows||o<0)return;const a=document.createDocumentFragment();if(i){const i=e[0]>t[0];a.appendChild(this._createSelectionElement(n,i?t[0]:e[0],i?e[0]:t[0],o-n+1))}else{const i=s===n?e[0]:0,h=n===r?t[0]:this._bufferService.cols;a.appendChild(this._createSelectionElement(n,i,h));const c=o-n-1;if(a.appendChild(this._createSelectionElement(n+1,0,this._bufferService.cols,c)),n!==o){const e=r===o?t[0]:this._bufferService.cols;a.appendChild(this._createSelectionElement(o,0,e))}}this._selectionContainer.appendChild(a)}_createSelectionElement(e,t,i,s=1){const r=document.createElement("div");return r.style.height=s*this.dimensions.css.cell.height+"px",r.style.top=e*this.dimensions.css.cell.height+"px",r.style.left=t*this.dimensions.css.cell.width+"px",r.style.width=this.dimensions.css.cell.width*(i-t)+"px",r}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(const e of this._rowElements)e.replaceChildren()}renderRows(e,t){const i=this._bufferService.buffer,s=i.ybase+i.y,r=Math.min(i.x,this._bufferService.cols-1),n=this._optionsService.rawOptions.cursorBlink,o=this._optionsService.rawOptions.cursorStyle,a=this._optionsService.rawOptions.cursorInactiveStyle;for(let h=e;h<=t;h++){const e=h+i.ydisp,t=this._rowElements[h],c=i.lines.get(e);if(!t||!c)break;t.replaceChildren(...this._rowFactory.createRow(c,e,e===s,o,a,r,n,this.dimensions.css.cell.width,this._widthCache,-1,-1))}}get _terminalSelector(){return`.${f}${this._terminalClass}`}_handleLinkHover(e){this._setCellUnderline(e.x1,e.x2,e.y1,e.y2,e.cols,!0)}_handleLinkLeave(e){this._setCellUnderline(e.x1,e.x2,e.y1,e.y2,e.cols,!1)}_setCellUnderline(e,t,i,s,r,n){i<0&&(e=0),s<0&&(t=0);const o=this._bufferService.rows-1;i=Math.max(Math.min(i,o),0),s=Math.max(Math.min(s,o),0),r=Math.min(r,this._bufferService.cols);const a=this._bufferService.buffer,h=a.ybase+a.y,c=Math.min(a.x,r-1),l=this._optionsService.rawOptions.cursorBlink,d=this._optionsService.rawOptions.cursorStyle,_=this._optionsService.rawOptions.cursorInactiveStyle;for(let o=i;o<=s;++o){const u=o+a.ydisp,f=this._rowElements[o],v=a.lines.get(u);if(!f||!v)break;f.replaceChildren(...this._rowFactory.createRow(v,u,u===h,d,_,c,l,this.dimensions.css.cell.width,this._widthCache,n?o===i?e:0:-1,n?(o===s?t:r)-1:-1))}}};t.DomRenderer=b=s([r(4,u.IInstantiationService),r(5,c.ICharSizeService),r(6,u.IOptionsService),r(7,u.IBufferService),r(8,c.ICoreBrowserService),r(9,c.IThemeService)],b)},3787:function(e,t,i){var s=this&&this.__decorate||function(e,t,i,s){var r,n=arguments.length,o=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,s);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(n<3?r(o):n>3?r(t,i,o):r(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},r=this&&this.__param||function(e,t){return function(i,s){t(i,s,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.DomRendererRowFactory=void 0;const n=i(2223),o=i(643),a=i(511),h=i(2585),c=i(8055),l=i(4725),d=i(4269),_=i(6171),u=i(3734);let f=t.DomRendererRowFactory=class{constructor(e,t,i,s,r,n,o){this._document=e,this._characterJoinerService=t,this._optionsService=i,this._coreBrowserService=s,this._coreService=r,this._decorationService=n,this._themeService=o,this._workCell=new a.CellData,this._columnSelectMode=!1,this.defaultSpacing=0}handleSelectionChanged(e,t,i){this._selectionStart=e,this._selectionEnd=t,this._columnSelectMode=i}createRow(e,t,i,s,r,a,h,l,_,f,p){const g=[],m=this._characterJoinerService.getJoinedCharacters(t),S=this._themeService.colors;let C,b=e.getNoBgTrimmedLength();i&&b<a+1&&(b=a+1);let y=0,w="",E=0,k=0,L=0,D=!1,R=0,x=!1,A=0;const B=[],T=-1!==f&&-1!==p;for(let M=0;M<b;M++){e.loadCell(M,this._workCell);let b=this._workCell.getWidth();if(0===b)continue;let O=!1,P=M,I=this._workCell;if(m.length>0&&M===m[0][0]){O=!0;const t=m.shift();I=new d.JoinedCellData(this._workCell,e.translateToString(!0,t[0],t[1]),t[1]-t[0]),P=t[1]-1,b=I.getWidth()}const H=this._isCellInSelection(M,t),F=i&&M===a,W=T&&M>=f&&M<=p;let U=!1;this._decorationService.forEachDecorationAtCell(M,t,void 0,(e=>{U=!0}));let N=I.getChars()||o.WHITESPACE_CELL_CHAR;if(" "===N&&(I.isUnderline()||I.isOverline())&&(N=" "),A=b*l-_.get(N,I.isBold(),I.isItalic()),C){if(y&&(H&&x||!H&&!x&&I.bg===E)&&(H&&x&&S.selectionForeground||I.fg===k)&&I.extended.ext===L&&W===D&&A===R&&!F&&!O&&!U){w+=N,y++;continue}y&&(C.textContent=w),C=this._document.createElement("span"),y=0,w=""}else C=this._document.createElement("span");if(E=I.bg,k=I.fg,L=I.extended.ext,D=W,R=A,x=H,O&&a>=M&&a<=P&&(a=M),!this._coreService.isCursorHidden&&F)if(B.push("xterm-cursor"),this._coreBrowserService.isFocused)h&&B.push("xterm-cursor-blink"),B.push("bar"===s?"xterm-cursor-bar":"underline"===s?"xterm-cursor-underline":"xterm-cursor-block");else if(r)switch(r){case"outline":B.push("xterm-cursor-outline");break;case"block":B.push("xterm-cursor-block");break;case"bar":B.push("xterm-cursor-bar");break;case"underline":B.push("xterm-cursor-underline")}if(I.isBold()&&B.push("xterm-bold"),I.isItalic()&&B.push("xterm-italic"),I.isDim()&&B.push("xterm-dim"),w=I.isInvisible()?o.WHITESPACE_CELL_CHAR:I.getChars()||o.WHITESPACE_CELL_CHAR,I.isUnderline()&&(B.push(`xterm-underline-${I.extended.underlineStyle}`)," "===w&&(w=" "),!I.isUnderlineColorDefault()))if(I.isUnderlineColorRGB())C.style.textDecorationColor=`rgb(${u.AttributeData.toColorRGB(I.getUnderlineColor()).join(",")})`;else{let e=I.getUnderlineColor();this._optionsService.rawOptions.drawBoldTextInBrightColors&&I.isBold()&&e<8&&(e+=8),C.style.textDecorationColor=S.ansi[e].css}I.isOverline()&&(B.push("xterm-overline")," "===w&&(w=" ")),I.isStrikethrough()&&B.push("xterm-strikethrough"),W&&(C.style.textDecoration="underline");let $=I.getFgColor(),j=I.getFgColorMode(),z=I.getBgColor(),K=I.getBgColorMode();const q=!!I.isInverse();if(q){const e=$;$=z,z=e;const t=j;j=K,K=t}let V,G,X,J=!1;switch(this._decorationService.forEachDecorationAtCell(M,t,void 0,(e=>{"top"!==e.options.layer&&J||(e.backgroundColorRGB&&(K=50331648,z=e.backgroundColorRGB.rgba>>8&16777215,V=e.backgroundColorRGB),e.foregroundColorRGB&&(j=50331648,$=e.foregroundColorRGB.rgba>>8&16777215,G=e.foregroundColorRGB),J="top"===e.options.layer)})),!J&&H&&(V=this._coreBrowserService.isFocused?S.selectionBackgroundOpaque:S.selectionInactiveBackgroundOpaque,z=V.rgba>>8&16777215,K=50331648,J=!0,S.selectionForeground&&(j=50331648,$=S.selectionForeground.rgba>>8&16777215,G=S.selectionForeground)),J&&B.push("xterm-decoration-top"),K){case 16777216:case 33554432:X=S.ansi[z],B.push(`xterm-bg-${z}`);break;case 50331648:X=c.rgba.toColor(z>>16,z>>8&255,255&z),this._addStyle(C,`background-color:#${v((z>>>0).toString(16),"0",6)}`);break;default:q?(X=S.foreground,B.push(`xterm-bg-${n.INVERTED_DEFAULT_COLOR}`)):X=S.background}switch(V||I.isDim()&&(V=c.color.multiplyOpacity(X,.5)),j){case 16777216:case 33554432:I.isBold()&&$<8&&this._optionsService.rawOptions.drawBoldTextInBrightColors&&($+=8),this._applyMinimumContrast(C,X,S.ansi[$],I,V,void 0)||B.push(`xterm-fg-${$}`);break;case 50331648:const e=c.rgba.toColor($>>16&255,$>>8&255,255&$);this._applyMinimumContrast(C,X,e,I,V,G)||this._addStyle(C,`color:#${v($.toString(16),"0",6)}`);break;default:this._applyMinimumContrast(C,X,S.foreground,I,V,void 0)||q&&B.push(`xterm-fg-${n.INVERTED_DEFAULT_COLOR}`)}B.length&&(C.className=B.join(" "),B.length=0),F||O||U?C.textContent=w:y++,A!==this.defaultSpacing&&(C.style.letterSpacing=`${A}px`),g.push(C),M=P}return C&&y&&(C.textContent=w),g}_applyMinimumContrast(e,t,i,s,r,n){if(1===this._optionsService.rawOptions.minimumContrastRatio||(0,_.excludeFromContrastRatioDemands)(s.getCode()))return!1;const o=this._getContrastCache(s);let a;if(r||n||(a=o.getColor(t.rgba,i.rgba)),void 0===a){const e=this._optionsService.rawOptions.minimumContrastRatio/(s
.isDim()?2:1);a
=c
.color
.ensureContrastRatio(r
||t
,n
||i
,e
),o
.setColor((r
||t
).rgba
,(n
||i
).rgba
,null!=a
?a
:null)}return!!a
&&(this._addStyle(e
,`color:${a.css}`),!0)}_getContrastCache(e
){return e
.isDim()?this._themeService
.colors
.halfContrastCache
:this._themeService
.colors
.contrastCache
}_addStyle(e
,t
){e
.setAttribute("style",`${e.getAttribute("style")||""}${t};`)}_isCellInSelection(e
,t
){const i
=this._selectionStart
,s
=this._selectionEnd
;return!(!i
||!s
)&&(this._columnSelectMode
?i
[0]<=s
[0]?e
>=i
[0]&&t
>=i
[1]&&e
<s
[0]&&t
<=s
[1]:e
<i
[0]&&t
>=i
[1]&&e
>=s
[0]&&t
<=s
[1]:t
>i
[1]&&t
<s
[1]||i
[1]===s
[1]&&t
===i
[1]&&e
>=i
[0]&&e
<s
[0]||i
[1]<s
[1]&&t
===s
[1]&&e
<s
[0]||i
[1]<s
[1]&&t
===i
[1]&&e
>=i
[0])}};function v(e
,t
,i
){for(;e
.length
<i
;)e
=t
+e
;return e
}t
.DomRendererRowFactory
=f
=s([r(1,l
.ICharacterJoinerService
),r(2,h
.IOptionsService
),r(3,l
.ICoreBrowserService
),r(4,h
.ICoreService
),r(5,h
.IDecorationService
),r(6,l
.IThemeService
)],f
)},2550:(e
,t
)=>{Object
.defineProperty(t
,"__esModule",{value
:!0}),t
.WidthCache
=void 0,t
.WidthCache
=class{constructor(e
){this._flat
=new Float32Array(256),this._font
="",this._fontSize
=0,this._weight
="normal",this._weightBold
="bold",this._measureElements
=[],this._container
=e
.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";const t
=e
.createElement("span"),i
=e
.createElement("span");i
.style
.fontWeight
="bold";const s
=e
.createElement("span");s
.style
.fontStyle
="italic";const r
=e
.createElement("span");r
.style
.fontWeight
="bold",r
.style
.fontStyle
="italic",this._measureElements
=[t
,i
,s
,r
],this._container
.appendChild(t
),this._container
.appendChild(i
),this._container
.appendChild(s
),this._container
.appendChild(r
),e
.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(e
,t
,i
,s
){e
===this._font
&&t
===this._fontSize
&&i
===this._weight
&&s
===this._weightBold
||(this._font
=e
,this._fontSize
=t
,this._weight
=i
,this._weightBold
=s
,this._container
.style
.fontFamily
=this._font
,this._container
.style
.fontSize
=`${this._fontSize}px`,this._measureElements
[0].style
.fontWeight
=`${i}`,this._measureElements
[1].style
.fontWeight
=`${s}`,this._measureElements
[2].style
.fontWeight
=`${i}`,this._measureElements
[3].style
.fontWeight
=`${s}`,this.clear())}get(e
,t
,i
){let s
=0;if(!t
&&!i
&&1===e
.length
&&(s
=e
.charCodeAt(0))<256)return-9999!==this._flat
[s
]?this._flat
[s
]:this._flat
[s
]=this._measure(e
,0);let r
=e
;t
&&(r
+="B"),i
&&(r
+="I");let n
=this._holey
.get(r
);if(void 0===n
){let s
=0;t
&&(s
|=1),i
&&(s
|=2),n
=this._measure(e
,s
),this._holey
.set(r
,n
)}return n
}_measure(e
,t
){const i
=this._measureElements
[t
];return i
.textContent
=e
.repeat(32),i
.offsetWidth
/32}}},2223:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.TEXT_BASELINE=t.DIM_OPACITY=t.INVERTED_DEFAULT_COLOR=void 0;const s=i(6114);t.INVERTED_DEFAULT_COLOR=257,t.DIM_OPACITY=.5,t.TEXT_BASELINE=s.isFirefox||s.isLegacyEdge?"bottom":"ideographic"},6171:(e,t)=>{function i(e){return 57508<=e&&e<=57558}Object.defineProperty(t,"__esModule",{value:!0}),t.createRenderDimensions=t.excludeFromContrastRatioDemands=t.isRestrictedPowerlineGlyph=t.isPowerlineGlyph=t.throwIfFalsy=void 0,t.throwIfFalsy=function(e){if(!e)throw new Error("value must not be falsy");return e},t.isPowerlineGlyph=i,t.isRestrictedPowerlineGlyph=function(e){return 57520<=e&&e<=57527},t.excludeFromContrastRatioDemands=function(e){return i(e)||function(e){return 9472<=e&&e<=9631}(e)},t.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,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.SelectionModel=void 0,t.SelectionModel=class{constructor(e){this._bufferService=e,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()){const e=this.selectionStart[0]+this.selectionStartLength;return e>this._bufferService.cols?e%this._bufferService.cols==0?[this._bufferService.cols,this.selectionStart[1]+Math.floor(e/this._bufferService
.cols
)-1]:[e
%this._bufferService
.cols
,this.selectionStart
[1]+Math
.floor(e
/this._bufferService.cols)]:[e,this.selectionStart[1]]}if(this.selectionStartLength&&this.selectionEnd[1]===this.selectionStart[1]){const e=this.selectionStart[0]+this.selectionStartLength;return e>this._bufferService.cols?[e%this._bufferService.cols,this.selectionStart[1]+Math.floor(e/this._bufferService
.cols
)]:[Math
.max(e
,this.selectionEnd
[0]),this.selectionEnd
[1]]}return this.selectionEnd
}}areSelectionValuesReversed(){const e
=this.selectionStart
,t
=this.selectionEnd
;return!(!e
||!t
)&&(e
[1]>t
[1]||e
[1]===t
[1]&&e
[0]>t
[0])}handleTrim(e
){return this.selectionStart
&&(this.selectionStart
[1]-=e
),this.selectionEnd
&&(this.selectionEnd
[1]-=e
),this.selectionEnd
&&this.selectionEnd
[1]<0?(this.clearSelection(),!0):(this.selectionStart
&&this.selectionStart
[1]<0&&(this.selectionStart
[1]=0),!1)}}},428:function(e
,t
,i
){var s
=this&&this.__decorate
||function(e
,t
,i
,s
){var r
,n
=arguments
.length
,o
=n
<3?t
:null===s
?s
=Object
.getOwnPropertyDescriptor(t
,i
):s
;if("object"==typeof Reflect
&&"function"==typeof Reflect
.decorate
)o
=Reflect
.decorate(e
,t
,i
,s
);else for(var a
=e
.length
-1;a
>=0;a
--)(r
=e
[a
])&&(o
=(n
<3?r(o
):n
>3?r(t
,i
,o
):r(t
,i
))||o
);return n
>3&&o
&&Object
.defineProperty(t
,i
,o
),o
},r
=this&&this.__param
||function(e
,t
){return function(i
,s
){t(i
,s
,e
)}};Object
.defineProperty(t
,"__esModule",{value
:!0}),t
.CharSizeService
=void 0;const n
=i(2585),o
=i(8460),a
=i(844);let h
=t
.CharSizeService
=class extends a
.Disposable
{get hasValidSize(){return this.width
>0&&this.height
>0}constructor(e
,t
,i
){super(),this._optionsService
=i
,this.width
=0,this.height
=0,this._onCharSizeChange
=this.register(new o
.EventEmitter
),this.onCharSizeChange
=this._onCharSizeChange
.event
,this._measureStrategy
=new c(e
,t
,this._optionsService
),this.register(this._optionsService
.onMultipleOptionChange(["fontFamily","fontSize"],(()=>this.measure())))}measure(){const e
=this._measureStrategy
.measure();e
.width
===this.width
&&e
.height
===this.height
||(this.width
=e
.width
,this.height
=e
.height
,this._onCharSizeChange
.fire())}};t
.CharSizeService
=h
=s([r(2,n
.IOptionsService
)],h
);class c
{constructor(e
,t
,i
){this._document
=e
,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`;const e
={height
:Number(this._measureElement
.offsetHeight
),width
:Number(this._measureElement
.offsetWidth
)};return 0!==e
.width
&&0!==e
.height
&&(this._result
.width
=e
.width
/32,this._result.height=Math.ceil(e.height)),this._result}}},4269:function(e,t,i){var s=this&&this.__decorate||function(e,t,i,s){var r,n=arguments.length,o=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,s);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(n<3?r(o):n>3?r(t,i,o):r(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},r=this&&this.__param||function(e,t){return function(i,s){t(i,s,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.CharacterJoinerService=t.JoinedCellData=void 0;const n=i(3734),o=i(643),a=i(511),h=i(2585);class c extends n.AttributeData{constructor(e,t,i){super(),this.content=0,this.combinedData="",this.fg=e.fg,this.bg=e.bg,this.combinedData=t,this._width=i}isCombined(){return 2097152}getWidth(){return this._width}getChars(){return this.combinedData}getCode(){return 2097151}setFromCharData(e){throw new Error("not implemented")}getAsCharData(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]}}t.JoinedCellData=c;let l=t.CharacterJoinerService=class e{constructor(e){this._bufferService=e,this._characterJoiners=[],this._nextCharacterJoinerId=0,this._workCell=new a.CellData}register(e){const t={id:this._nextCharacterJoinerId++,handler:e};return this._characterJoiners.push(t),t.id}deregister(e){for(let t=0;t<this._characterJoiners.length;t++)if(this._characterJoiners[t].id===e)return this._characterJoiners.splice(t,1),!0;return!1}getJoinedCharacters(e){if(0===this._characterJoiners.length)return[];const t=this._bufferService.buffer.lines.get(e);if(!t||0===t.length)return[];const i=[],s=t.translateToString(!0);let r=0,n=0,a=0,h=t.getFg(0),c=t.getBg(0);for(let e=0;e<t.getTrimmedLength();e++)if(t.loadCell(e,this._workCell),0!==this._workCell.getWidth()){if(this._workCell.fg!==h||this._workCell.bg!==c){if(e-r>1){const e=this._getJoinedRanges(s,a,n,t,r);for(let t=0;t<e.length;t++)i.push(e[t])}r=e,a=n,h=this._workCell.fg,c=this._workCell.bg}n+=this._workCell.getChars().length||o.WHITESPACE_CELL_CHAR.length}if(this._bufferService.cols-r>1){const e=this._getJoinedRanges(s,a,n,t,r);for(let t=0;t<e.length;t++)i.push(e[t])}return i}_getJoinedRanges(t,i,s,r,n){const o=t.substring(i,s);let a=[];try{a=this._characterJoiners[0].handler(o)}catch(e){console.error(e)}for(let t=1;t<this._characterJoiners.length;t++)try{const i=this._characterJoiners[t].handler(o);for(let t=0;t<i.length;t++)e._mergeRanges(a,i[t])}catch(e){console.error(e)}return this._stringRangesToCellRanges(a,r,n),a}_stringRangesToCellRanges(e,t,i){let s=0,r=!1,n=0,a=e[s];if(a){for(let h=i;h<this._bufferService.cols;h++){const i=t.getWidth(h),c=t.getString(h).length||o.WHITESPACE_CELL_CHAR.length;if(0!==i){if(!r&&a[0]<=n&&(a[0]=h,r=!0),a[1]<=n){if(a[1]=h,a=e[++s],!a)break;a[0]<=n?(a[0]=h,r=!0):r=!1}n+=c}}a&&(a[1]=this._bufferService.cols)}}static _mergeRanges(e,t){let i=!1;for(let s=0;s<e.length;s++){const r=e[s];if(i){if(t[1]<=r[0])return e[s-1][1]=t[1],e;if(t[1]<=r[1])return e[s-1][1]=Math.max(t[1],r[1]),e.splice(s,1),e;e.splice(s,1),s--}else{if(t[1]<=r[0])return e.splice(s,0,t),e;if(t[1]<=r[1])return r[0]=Math.min(t[0],r[0]),e;t[0]<r[1]&&(r[0]=Math.min(t[0],r[0]),i=!0)}}return i?e[e.length-1][1]=t[1]:e.push(t),e}};t.CharacterJoinerService=l=s([r(0,h.IBufferService)],l)},5114:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.CoreBrowserService=void 0,t.CoreBrowserService=class{constructor(e,t){this._textarea=e,this.window=t,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 void 0===this._cachedIsFocused&&(this._cachedIsFocused=this._isFocused&&this._textarea.ownerDocument.hasFocus(),queueMicrotask((()=>this._cachedIsFocused=void 0))),this._cachedIsFocused}}},8934:function(e,t,i){var s=this&&this.__decorate||function(e,t,i,s){var r,n=arguments.length,o=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,s);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(n<3?r(o):n>3?r(t,i,o):r(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},r=this&&this.__param||function(e,t){return function(i,s){t(i,s,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.MouseService=void 0;const n=i(4725),o=i(9806);let a=t.MouseService=class{constructor(e,t){this._renderService=e,this._charSizeService=t}getCoords(e,t,i,s,r){return(0,o.getCoords)(window,e,t,i,s,this._charSizeService.hasValidSize,this._renderService.dimensions.css.cell.width,this._renderService.dimensions.css.cell.height,r)}getMouseReportCoords(e,t){const i=(0,o.getCoordsRelativeToElement)(window,e,t);if(this._charSizeService.hasValidSize)return i[0]=Math.min(Math.max(i[0],0),this._renderService.dimensions.css.canvas.width-1),i[1]=Math.min(Math.max(i[1],0),this._renderService.dimensions.css.canvas.height-1),{col:Math.floor(i[0]/this._renderService
.dimensions
.css
.cell
.width
),row
:Math
.floor(i
[1]/this._renderService.dimensions.css.cell.height),x:Math.floor(i[0]),y:Math.floor(i[1])}}};t.MouseService=a=s([r(0,n.IRenderService),r(1,n.ICharSizeService)],a)},3230:function(e,t,i){var s=this&&this.__decorate||function(e,t,i,s){var r,n=arguments.length,o=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,s);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(n<3?r(o):n>3?r(t,i,o):r(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},r=this&&this.__param||function(e,t){return function(i,s){t(i,s,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.RenderService=void 0;const n=i(3656),o=i(6193),a=i(5596),h=i(4725),c=i(8460),l=i(844),d=i(7226),_=i(2585);let u=t.RenderService=class extends l.Disposable{get dimensions(){return this._renderer.value.dimensions}constructor(e,t,i,s,r,h,_,u){if(super(),this._rowCount=e,this._charSizeService=s,this._renderer=this.register(new l.MutableDisposable),this._pausedResizeTask=new d.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 c.EventEmitter),this.onDimensionsChange=this._onDimensionsChange.event,this._onRenderedViewportChange=this.register(new c.EventEmitter),this.onRenderedViewportChange=this._onRenderedViewportChange.event,this._onRender=this.register(new c.EventEmitter),this.onRender=this._onRender.event,this._onRefreshRequest=this.register(new c.EventEmitter),this.onRefreshRequest=this._onRefreshRequest.event,this._renderDebouncer=new o.RenderDebouncer(_.window,((e,t)=>this._renderRows(e,t))),this.register(this._renderDebouncer),this._screenDprMonitor=new a.ScreenDprMonitor(_.window),this._screenDprMonitor.setListener((()=>this.handleDevicePixelRatioChange())),this.register(this._screenDprMonitor),this.register(h.onResize((()=>this._fullRefresh()))),this.register(h.buffers.onBufferActivate((()=>{var e;return null===(e=this._renderer.value)||void 0===e?void 0:e.clear()}))),this.register(i.onOptionChange((()=>this._handleOptionsChanged()))),this.register(this._charSizeService.onCharSizeChange((()=>this.handleCharSizeChanged()))),this.register(r.onDecorationRegistered((()=>this._fullRefresh()))),this.register(r.onDecorationRemoved((()=>this._fullRefresh()))),this.register(i.onMultipleOptionChange(["customGlyphs","drawBoldTextInBrightColors","letterSpacing","lineHeight","fontFamily","fontSize","fontWeight","fontWeightBold","minimumContrastRatio"],(()=>{this.clear(),this.handleResize(h.cols,h.rows),this._fullRefresh()}))),this.register(i.onMultipleOptionChange(["cursorBlink","cursorStyle"],(()=>this.refreshRows(h.buffer.y,h.buffer.y,!0)))),this.register((0,n.addDisposableDomListener)(_.window,"resize",(()=>this.handleDevicePixelRatioChange()))),this.register(u.onChangeColors((()=>this._fullRefresh()))),"IntersectionObserver"in _.window){const e=new _.window.IntersectionObserver((e=>this._handleIntersectionChange(e[e.length-1])),{threshold:0});e.observe(t),this.register({dispose:()=>e.disconnect()})}}_handleIntersectionChange(e){this._isPaused=void 0===e.isIntersecting?0===e.intersectionRatio:!e.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(e,t,i=!1){this._isPaused?this._needsFullRefresh=!0:(i||(this._isNextRenderRedrawOnly=!1),this._renderDebouncer.refresh(e,t,this._rowCount))}_renderRows(e,t){this._renderer.value&&(e=Math.min(e,this._rowCount-1),t=Math.min(t,this._rowCount-1),this._renderer.value.renderRows(e,t),this._needsSelectionRefresh&&(this._renderer.value.handleSelectionChanged(this._selectionState.start,this._selectionState.end,this._selectionState.columnSelectMode),this._needsSelectionRefresh=!1),this._isNextRenderRedrawOnly||this._onRenderedViewportChange.fire({start:e,end:t}),this._onRender.fire({start:e,end:t}),this._isNextRenderRedrawOnly=!0)}resize(e,t){this._rowCount=t,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(e){this._renderer.value=e,this._renderer.value.onRequestRedraw((e=>this.refreshRows(e.start,e.end,!0))),this._needsSelectionRefresh=!0,this._fullRefresh()}addRefreshCallback(e){return this._renderDebouncer.addRefreshCallback(e)}_fullRefresh(){this._isPaused?this._needsFullRefresh=!0:this.refreshRows(0,this._rowCount-1)}clearTextureAtlas(){var e,t;this._renderer.value&&(null===(t=(e=this._renderer.value).clearTextureAtlas)||void 0===t||t.call(e),this._fullRefresh())}handleDevicePixelRatioChange(){this._charSizeService.measure(),this._renderer.value&&(this._renderer.value.handleDevicePixelRatioChange(),this.refreshRows(0,this._rowCount-1))}handleResize(e,t){this._renderer.value&&(this._isPaused?this._pausedResizeTask.set((()=>this._renderer.value.handleResize(e,t))):this._renderer.value.handleResize(e,t),this._fullRefresh())}handleCharSizeChanged(){var e;null===(e=this._renderer.value)||void 0===e||e.handleCharSizeChanged()}handleBlur(){var e;null===(e=this._renderer.value)||void 0===e||e.handleBlur()}handleFocus(){var e;null===(e=this._renderer.value)||void 0===e||e.handleFocus()}handleSelectionChanged(e,t,i){var s;this._selectionState.start=e,this._selectionState.end=t,this._selectionState.columnSelectMode=i,null===(s=this._renderer.value)||void 0===s||s.handleSelectionChanged(e,t,i)}handleCursorMove(){var e;null===(e=this._renderer.value)||void 0===e||e.handleCursorMove()}clear(){var e;null===(e=this._renderer.value)||void 0===e||e.clear()}};t.RenderService=u=s([r(2,_.IOptionsService),r(3,h.ICharSizeService),r(4,_.IDecorationService),r(5,_.IBufferService),r(6,h.ICoreBrowserService),r(7,h.IThemeService)],u)},9312:function(e,t,i){var s=this&&this.__decorate||function(e,t,i,s){var r,n=arguments.length,o=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,s);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(n<3?r(o):n>3?r(t,i,o):r(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},r=this&&this.__param||function(e,t){return function(i,s){t(i,s,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.SelectionService=void 0;const n=i(9806),o=i(9504),a=i(456),h=i(4725),c=i(8460),l=i(844),d=i(6114),_=i(4841),u=i(511),f=i(2585),v=String.fromCharCode(160),p=new RegExp(v,"g");let g=t.SelectionService=class extends l.Disposable{constructor(e,t,i,s,r,n,o,h,d){super(),this._element=e,this._screenElement=t,this._linkifier=i,this._bufferService=s,this._coreService=r,this._mouseService=n,this._optionsService=o,this._renderService=h,this._coreBrowserService=d,this._dragScrollAmount=0,this._enabled=!0,this._workCell=new u.CellData,this._mouseDownTimeStamp=0,this._oldHasSelection=!1,this._oldSelectionStart=void 0,this._oldSelectionEnd=void 0,this._onLinuxMouseSelection=this.register(new c.EventEmitter),this.onLinuxMouseSelection=this._onLinuxMouseSelection.event,this._onRedrawRequest=this.register(new c.EventEmitter),this.onRequestRedraw=this._onRedrawRequest.event,this._onSelectionChange=this.register(new c.EventEmitter),this.onSelectionChange=this._onSelectionChange.event,this._onRequestScrollLines=this.register(new c.EventEmitter),this.onRequestScrollLines=this._onRequestScrollLines.event,this._mouseMoveListener=e=>this._handleMouseMove(e),this._mouseUpListener=e=>this._handleMouseUp(e),this._coreService.onUserInput((()=>{this.hasSelection&&this.clearSelection()})),this._trimListener=this._bufferService.buffer.lines.onTrim((e=>this._handleTrim(e))),this.register(this._bufferService.buffers.onBufferActivate((e=>this._handleBufferActivate(e)))),this.enable(),this._model=new a.SelectionModel(this._bufferService),this._activeSelectionMode=0,this.register((0,l.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(){const e=this._model.finalSelectionStart,t=this._model.finalSelectionEnd;return!(!e||!t||e[0]===t[0]&&e[1]===t[1])}get selectionText(){const e=this._model.finalSelectionStart,t=this._model.finalSelectionEnd;if(!e||!t)return"";const i=this._bufferService.buffer,s=[];if(3===this._activeSelectionMode){if(e[0]===t[0])return"";const r=e[0]<t[0]?e[0]:t[0],n=e[0]<t[0]?t[0]:e[0];for(let o=e[1];o<=t[1];o++){const e=i.translateBufferLineToString(o,!0,r,n);s.push(e)}}else{const r=e[1]===t[1]?t[0]:void 0;s.push(i.translateBufferLineToString(e[1],!0,e[0],r));for(let r=e[1]+1;r<=t[1]-1;r++){const e=i.lines.get(r),t=i.translateBufferLineToString(r,!0);(null==e?void 0:e.isWrapped)?s[s.length-1]+=t:s.push(t)}if(e[1]!==t[1]){const e=i.lines.get(t[1]),r=i.translateBufferLineToString(t[1],!0,0,t[0]);e&&e.isWrapped?s[s.length-1]+=r:s.push(r)}}return s.map((e=>e.replace(p," "))).join(d.isWindows?"\r\n":"\n")}clearSelection(){this._model.clearSelection(),this._removeMouseDownListeners(),this.refresh(),this._onSelectionChange.fire()}refresh(e){this._refreshAnimationFrame||(this._refreshAnimationFrame=this._coreBrowserService.window.requestAnimationFrame((()=>this._refresh()))),d.isLinux&&e&&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:3===this._activeSelectionMode})}_isClickInSelection(e){const t=this._getMouseBufferCoords(e),i=this._model.finalSelectionStart,s=this._model.finalSelectionEnd;return!!(i&&s&&t)&&this._areCoordsInSelection(t,i,s)}isCellInSelection(e,t){const i=this._model.finalSelectionStart,s=this._model.finalSelectionEnd;return!(!i||!s)&&this._areCoordsInSelection([e,t],i,s)}_areCoordsInSelection(e,t,i){return e[1]>t[1]&&e[1]<i[1]||t[1]===i[1]&&e[1]===t[1]&&e[0]>=t[0]&&e[0]<i[0]||t[1]<i[1]&&e[1]===i[1]&&e[0]<i[0]||t[1]<i[1]&&e[1]===t[1]&&e[0]>=t[0]}_selectWordAtCursor(e,t){var i,s;const r=null===(s=null===(i=this._linkifier.currentLink)||void 0===i?void 0:i.link)||void 0===s?void 0:s.range;if(r)return this._model.selectionStart=[r.start.x-1,r.start.y-1],this._model.selectionStartLength=(0,_.getRangeLength)(r,this._bufferService.cols),this._model.selectionEnd=void 0,!0;const n=this._getMouseBufferCoords(e);return!!n&&(this._selectWordAt(n,t),this._model.selectionEnd=void 0,!0)}selectAll(){this._model.isSelectAllActive=!0,this.refresh(),this._onSelectionChange.fire()}selectLines(e,t){this._model.clearSelection(),e=Math.max(e,0),t=Math.min(t,this._bufferService.buffer.lines.length-1),this._model.selectionStart=[0,e],this._model.selectionEnd=[this._bufferService.cols,t],this.refresh(),this._onSelectionChange.fire()}_handleTrim(e){this._model.handleTrim(e)&&this.refresh()}_getMouseBufferCoords(e){const t=this._mouseService.getCoords(e,this._screenElement,this._bufferService.cols,this._bufferService.rows,!0);if(t)return t[0]--,t[1]--,t[1]+=this._bufferService.buffer.ydisp,t}_getMouseEventScrollAmount(e){let t=(0,n.getCoordsRelativeToElement)(this._coreBrowserService.window,e,this._screenElement)[1];const i=this._renderService.dimensions.css.canvas.height;return t>=0&&t<=i?0:(t>i&&(t-=i),t=Math.min(Math.max(t,-50),50),t/=50,t
/Math.abs(t)+Math.round(14*t))}shouldForceSelection(e){return d.isMac?e.altKey&&this._optionsService.rawOptions.macOptionClickForcesSelection:e.shiftKey}handleMouseDown(e){if(this._mouseDownTimeStamp=e.timeStamp,(2!==e.button||!this.hasSelection)&&0===e.button){if(!this._enabled){if(!this.shouldForceSelection(e))return;e.stopPropagation()}e.preventDefault(),this._dragScrollAmount=0,this._enabled&&e.shiftKey?this._handleIncrementalClick(e):1===e.detail?this._handleSingleClick(e):2===e.detail?this._handleDoubleClick(e):3===e.detail&&this._handleTripleClick(e),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(e){this._model.selectionStart&&(this._model.selectionEnd=this._getMouseBufferCoords(e))}_handleSingleClick(e){if(this._model.selectionStartLength=0,this._model.isSelectAllActive=!1,this._activeSelectionMode=this.shouldColumnSelect(e)?3:0,this._model.selectionStart=this._getMouseBufferCoords(e),!this._model.selectionStart)return;this._model.selectionEnd=void 0;const t=this._bufferService.buffer.lines.get(this._model.selectionStart[1]);t&&t.length!==this._model.selectionStart[0]&&0===t.hasWidth(this._model.selectionStart[0])&&this._model.selectionStart[0]++}_handleDoubleClick(e){this._selectWordAtCursor(e,!0)&&(this._activeSelectionMode=1)}_handleTripleClick(e){const t=this._getMouseBufferCoords(e);t&&(this._activeSelectionMode=2,this._selectLineAt(t[1]))}shouldColumnSelect(e){return e.altKey&&!(d.isMac&&this._optionsService.rawOptions.macOptionClickForcesSelection)}_handleMouseMove(e){if(e.stopImmediatePropagation(),!this._model.selectionStart)return;const t=this._model.selectionEnd?[this._model.selectionEnd[0],this._model.selectionEnd[1]]:null;if(this._model.selectionEnd=this._getMouseBufferCoords(e),!this._model.selectionEnd)return void this.refresh(!0);2===this._activeSelectionMode?this._model.selectionEnd[1]<this._model.selectionStart[1]?this._model.selectionEnd[0]=0:this._model.selectionEnd[0]=this._bufferService.cols:1===this._activeSelectionMode&&this._selectToWordAt(this._model.selectionEnd),this._dragScrollAmount=this._getMouseEventScrollAmount(e),3!==this._activeSelectionMode&&(this._dragScrollAmount>0?this._model.selectionEnd[0]=this._bufferService.cols:this._dragScrollAmount<0&&(this._model.selectionEnd[0]=0));const i=this._bufferService.buffer;if(this._model.selectionEnd[1]<i.lines.length){const e=i.lines.get(this._model.selectionEnd[1]);e&&0===e.hasWidth(this._model.selectionEnd[0])&&this._model.selectionEnd[0]++}t&&t[0]===this._model.selectionEnd[0]&&t[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});const e=this._bufferService.buffer;this._dragScrollAmount>0?(3!==this._activeSelectionMode&&(this._model.selectionEnd[0]=this._bufferService.cols),this._model.selectionEnd[1]=Math.min(e.ydisp+this._bufferService.rows,e.lines.length-1)):(3!==this._activeSelectionMode&&(this._model.selectionEnd[0]=0),this._model.selectionEnd[1]=e.ydisp),this.refresh()}}_handleMouseUp(e){const t=e.timeStamp-this._mouseDownTimeStamp;if(this._removeMouseDownListeners(),this.selectionText.length<=1&&t<500&&e.altKey&&this._optionsService.rawOptions.altClickMovesCursor){if(this._bufferService.buffer.ybase===this._bufferService.buffer.ydisp){const t=this._mouseService.getCoords(e,this._element,this._bufferService.cols,this._bufferService.rows,!1);if(t&&void 0!==t[0]&&void 0!==t[1]){const e=(0,o.moveToCellSequence)(t[0]-1,t[1]-1,this._bufferService,this._coreService.decPrivateModes.applicationCursorKeys);this._coreService.triggerDataEvent(e,!0)}}}else this._fireEventIfSelectionChanged()}_fireEventIfSelectionChanged(){const e=this._model.finalSelectionStart,t=this._model.finalSelectionEnd,i=!(!e||!t||e[0]===t[0]&&e[1]===t[1]);i?e&&t&&(this._oldSelectionStart&&this._oldSelectionEnd&&e[0]===this._oldSelectionStart[0]&&e[1]===this._oldSelectionStart[1]&&t[0]===this._oldSelectionEnd[0]&&t[1]===this._oldSelectionEnd[1]||this._fireOnSelectionChange(e,t,i)):this._oldHasSelection&&this._fireOnSelectionChange(e,t,i)}_fireOnSelectionChange(e,t,i){this._oldSelectionStart=e,this._oldSelectionEnd=t,this._oldHasSelection=i,this._onSelectionChange.fire()}_handleBufferActivate(e){this.clearSelection(),this._trimListener.dispose(),this._trimListener=e.activeBuffer.lines.onTrim((e=>this._handleTrim(e)))}_convertViewportColToCharacterIndex(e,t){let i=t;for(let s=0;t>=s;s++){const r=e.loadCell(s,this._workCell).getChars().length;0===this._workCell.getWidth()?i--:r>1&&t!==s&&(i+=r-1)}return i}setSelection(e,t,i){this._model.clearSelection(),this._removeMouseDownListeners(),this._model.selectionStart=[e,t],this._model.selectionStartLength=i,this.refresh(),this._fireEventIfSelectionChanged()}rightClickSelect(e){this._isClickInSelection(e)||(this._selectWordAtCursor(e,!1)&&this.refresh(!0),this._fireEventIfSelectionChanged())}_getWordAt(e,t,i=!0,s=!0){if(e[0]>=this._bufferService.cols)return;const r=this._bufferService.buffer,n=r.lines.get(e[1]);if(!n)return;const o=r.translateBufferLineToString(e[1],!1);let a=this._convertViewportColToCharacterIndex(n,e[0]),h=a;const c=e[0]-a;let l=0,d=0,_=0,u=0;if(" "===o.charAt(a)){for(;a>0&&" "===o.charAt(a-1);)a--;for(;h<o.length&&" "===o.charAt(h+1);)h++}else{let t=e[0],i=e[0];0===n.getWidth(t)&&(l++,t--),2===n.getWidth(i)&&(d++,i++);const s=n.getString(i).length;for(s>1&&(u+=s-1,h+=s-1);t>0&&a>0&&!this._isCharWordSeparator(n.loadCell(t-1,this._workCell));){n.loadCell(t-1,this._workCell);const e=this._workCell.getChars().length;0===this._workCell.getWidth()?(l++,t--):e>1&&(_+=e-1,a-=e-1),a--,t--}for(;i<n.length&&h+1<o.length&&!this._isCharWordSeparator(n.loadCell(i+1,this._workCell));){n.loadCell(i+1,this._workCell);const e=this._workCell.getChars().length;2===this._workCell.getWidth()?(d++,i++):e>1&&(u+=e-1,h+=e-1),h++,i++}}h++;let f=a+c-l+_,v=Math.min(this._bufferService.cols,h-a+l+d-_-u);if(t||""!==o.slice(a,h).trim()){if(i&&0===f&&32!==n.getCodePoint(0)){const t=r.lines.get(e[1]-1);if(t&&n.isWrapped&&32!==t.getCodePoint(this._bufferService.cols-1)){const t=this._getWordAt([this._bufferService.cols-1,e[1]-1],!1,!0,!1);if(t){const e=this._bufferService.cols-t.start;f-=e,v+=e}}}if(s&&f+v===this._bufferService.cols&&32!==n.getCodePoint(this._bufferService.cols-1)){const t=r.lines.get(e[1]+1);if((null==t?void 0:t.isWrapped)&&32!==t.getCodePoint(0)){const t=this._getWordAt([0,e[1]+1],!1,!1,!0);t&&(v+=t.length)}}return{start:f,length:v}}}_selectWordAt(e,t){const i=this._getWordAt(e,t);if(i){for(;i.start<0;)i.start+=this._bufferService.cols,e[1]--;this._model.selectionStart=[i.start,e[1]],this._model.selectionStartLength=i.length}}_selectToWordAt(e){const t=this._getWordAt(e,!0);if(t){let i=e[1];for(;t.start<0;)t.start+=this._bufferService.cols,i--;if(!this._model.areSelectionValuesReversed())for(;t.start+t.length>this._bufferService.cols;)t.length-=this._bufferService.cols,i++;this._model.selectionEnd=[this._model.areSelectionValuesReversed()?t.start:t.start+t.length,i]}}_isCharWordSeparator(e){return 0!==e.getWidth()&&this._optionsService.rawOptions.wordSeparator.indexOf(e.getChars())>=0}_selectLineAt(e){const t=this._bufferService.buffer.getWrappedRangeForLine(e),i={start:{x:0,y:t.first},end:{x:this._bufferService.cols-1,y:t.last}};this._model.selectionStart=[0,t.first],this._model.selectionEnd=void 0,this._model.selectionStartLength=(0,_.getRangeLength)(i,this._bufferService.cols)}};t.SelectionService=g=s([r(3,f.IBufferService),r(4,f.ICoreService),r(5,h.IMouseService),r(6,f.IOptionsService),r(7,h.IRenderService),r(8,h.ICoreBrowserService)],g)},4725:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.IThemeService=t.ICharacterJoinerService=t.ISelectionService=t.IRenderService=t.IMouseService=t.ICoreBrowserService=t.ICharSizeService=void 0;const s=i(8343);t.ICharSizeService=(0,s.createDecorator)("CharSizeService"),t.ICoreBrowserService=(0,s.createDecorator)("CoreBrowserService"),t.IMouseService=(0,s.createDecorator)("MouseService"),t.IRenderService=(0,s.createDecorator)("RenderService"),t.ISelectionService=(0,s.createDecorator)("SelectionService"),t.ICharacterJoinerService=(0,s.createDecorator)("CharacterJoinerService"),t.IThemeService=(0,s.createDecorator)("ThemeService")},6731:function(e,t,i){var s=this&&this.__decorate||function(e,t,i,s){var r,n=arguments.length,o=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,s);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(n<3?r(o):n>3?r(t,i,o):r(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},r=this&&this.__param||function(e,t){return function(i,s){t(i,s,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.ThemeService=t.DEFAULT_ANSI_COLORS=void 0;const n=i(7239),o=i(8055),a=i(8460),h=i(844),c=i(2585),l=o.css.toColor("#ffffff"),d=o.css.toColor("#000000"),_=o.css.toColor("#ffffff"),u=o.css.toColor("#000000"),f={css:"rgba(255, 255, 255, 0.3)",rgba:4294967117};t.DEFAULT_ANSI_COLORS=Object.freeze((()=>{const e=[o.css.toColor("#2e3436"),o.css.toColor("#cc0000"),o.css.toColor("#4e9a06"),o.css.toColor("#c4a000"),o.css.toColor("#3465a4"),o.css.toColor("#75507b"),o.css.toColor("#06989a"),o.css.toColor("#d3d7cf"),o.css.toColor("#555753"),o.css.toColor("#ef2929"),o.css.toColor("#8ae234"),o.css.toColor("#fce94f"),o.css.toColor("#729fcf"),o.css.toColor("#ad7fa8"),o.css.toColor("#34e2e2"),o.css.toColor("#eeeeec")],t=[0,95,135,175,215,255];for(let i=0;i<216;i++){const s=t[i/36%6|0],r
=t
[i
/6%6|0],n=t[i%6];e.push({css:o.channels.toCss(s,r,n),rgba:o.channels.toRgba(s,r,n)})}for(let t=0;t<24;t++){const i=8+10*t;e.push({css:o.channels.toCss(i,i,i),rgba:o.channels.toRgba(i,i,i)})}return e})());let v=t.ThemeService=class extends h.Disposable{get colors(){return this._colors}constructor(e){super(),this._optionsService=e,this._contrastCache=new n.ColorContrastCache,this._halfContrastCache=new n.ColorContrastCache,this._onChangeColors=this.register(new a.EventEmitter),this.onChangeColors=this._onChangeColors.event,this._colors={foreground:l,background:d,cursor:_,cursorAccent:u,selectionForeground:void 0,selectionBackgroundTransparent:f,selectionBackgroundOpaque:o.color.blend(d,f),selectionInactiveBackgroundTransparent:f,selectionInactiveBackgroundOpaque:o.color.blend(d,f),ansi:t.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(e={}){const i=this._colors;if(i.foreground=p(e.foreground,l),i.background=p(e.background,d),i.cursor=p(e.cursor,_),i.cursorAccent=p(e.cursorAccent,u),i.selectionBackgroundTransparent=p(e.selectionBackground,f),i.selectionBackgroundOpaque=o.color.blend(i.background,i.selectionBackgroundTransparent),i.selectionInactiveBackgroundTransparent=p(e.selectionInactiveBackground,i.selectionBackgroundTransparent),i.selectionInactiveBackgroundOpaque=o.color.blend(i.background,i.selectionInactiveBackgroundTransparent),i.selectionForeground=e.selectionForeground?p(e.selectionForeground,o.NULL_COLOR):void 0,i.selectionForeground===o.NULL_COLOR&&(i.selectionForeground=void 0),o.color.isOpaque(i.selectionBackgroundTransparent)){const e=.3;i.selectionBackgroundTransparent=o.color.opacity(i.selectionBackgroundTransparent,e)}if(o.color.isOpaque(i.selectionInactiveBackgroundTransparent)){const e=.3;i.selectionInactiveBackgroundTransparent=o.color.opacity(i.selectionInactiveBackgroundTransparent,e)}if(i.ansi=t.DEFAULT_ANSI_COLORS.slice(),i.ansi[0]=p(e.black,t.DEFAULT_ANSI_COLORS[0]),i.ansi[1]=p(e.red,t.DEFAULT_ANSI_COLORS[1]),i.ansi[2]=p(e.green,t.DEFAULT_ANSI_COLORS[2]),i.ansi[3]=p(e.yellow,t.DEFAULT_ANSI_COLORS[3]),i.ansi[4]=p(e.blue,t.DEFAULT_ANSI_COLORS[4]),i.ansi[5]=p(e.magenta,t.DEFAULT_ANSI_COLORS[5]),i.ansi[6]=p(e.cyan,t.DEFAULT_ANSI_COLORS[6]),i.ansi[7]=p(e.white,t.DEFAULT_ANSI_COLORS[7]),i.ansi[8]=p(e.brightBlack,t.DEFAULT_ANSI_COLORS[8]),i.ansi[9]=p(e.brightRed,t.DEFAULT_ANSI_COLORS[9]),i.ansi[10]=p(e.brightGreen,t.DEFAULT_ANSI_COLORS[10]),i.ansi[11]=p(e.brightYellow,t.DEFAULT_ANSI_COLORS[11]),i.ansi[12]=p(e.brightBlue,t.DEFAULT_ANSI_COLORS[12]),i.ansi[13]=p(e.brightMagenta,t.DEFAULT_ANSI_COLORS[13]),i.ansi[14]=p(e.brightCyan,t.DEFAULT_ANSI_COLORS[14]),i.ansi[15]=p(e.brightWhite,t.DEFAULT_ANSI_COLORS[15]),e.extendedAnsi){const s=Math.min(i.ansi.length-16,e.extendedAnsi.length);for(let r=0;r<s;r++)i.ansi[r+16]=p(e.extendedAnsi[r],t.DEFAULT_ANSI_COLORS[r+16])}this._contrastCache.clear(),this._halfContrastCache.clear(),this._updateRestoreColors(),this._onChangeColors.fire(this.colors)}restoreColor(e){this._restoreColor(e),this._onChangeColors.fire(this.colors)}_restoreColor(e){if(void 0!==e)switch(e){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[e]=this._restoreColors.ansi[e]}else for(let e=0;e<this._restoreColors.ansi.length;++e)this._colors.ansi[e]=this._restoreColors.ansi[e]}modifyColors(e){e(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 p(e,t){if(void 0!==e)try{return o.css.toColor(e)}catch(e){}return t}t.ThemeService=v=s([r(0,c.IOptionsService)],v)},6349:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.CircularList=void 0;const s=i(8460),r=i(844);class n extends r.Disposable{constructor(e){super(),this._maxLength=e,this.onDeleteEmitter=this.register(new s.EventEmitter),this.onDelete=this.onDeleteEmitter.event,this.onInsertEmitter=this.register(new s.EventEmitter),this.onInsert=this.onInsertEmitter.event,this.onTrimEmitter=this.register(new s.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(e){if(this._maxLength===e)return;const t=new Array(e);for(let i=0;i<Math.min(e,this.length);i++)t[i]=this._array[this._getCyclicIndex(i)];this._array=t,this._maxLength=e,this._startIndex=0}get length(){return this._length}set length(e){if(e>this._length)for(let t=this._length;t<e;t++)this._array[t]=void 0;this._length=e}get(e){return this._array[this._getCyclicIndex(e)]}set(e,t){this._array[this._getCyclicIndex(e)]=t}push(e){this._array[this._getCyclicIndex(this._length)]=e,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(e,t,...i){if(t){for(let i=e;i<this._length-t;i++)this._array[this._getCyclicIndex(i)]=this._array[this._getCyclicIndex(i+t)];this._length-=t,this.onDeleteEmitter.fire({index:e,amount:t})}for(let t=this._length-1;t>=e;t--)this._array[this._getCyclicIndex(t+i.length)]=this._array[this._getCyclicIndex(t)];for(let t=0;t<i.length;t++)this._array[this._getCyclicIndex(e+t)]=i[t];if(i.length&&this.onInsertEmitter.fire({index:e,amount:i.length}),this._length+i.length>this._maxLength){const e=this._length+i.length-this._maxLength;this._startIndex+=e,this._length=this._maxLength,this.onTrimEmitter.fire(e)}else this._length+=i.length}trimStart(e){e>this._length&&(e=this._length),this._startIndex+=e,this._length-=e,this.onTrimEmitter.fire(e)}shiftElements(e,t,i){if(!(t<=0)){if(e<0||e>=this._length)throw new Error("start argument out of range");if(e+i<0)throw new Error("Cannot shift elements in list beyond index 0");if(i>0){for(let s=t-1;s>=0;s--)this.set(e+s+i,this.get(e+s));const s=e+t+i-this._length;if(s>0)for(this._length+=s;this._length>this._maxLength;)this._length--,this._startIndex++,this.onTrimEmitter.fire(1)}else for(let s=0;s<t;s++)this.set(e+s+i,this.get(e+s))}}_getCyclicIndex(e){return(this._startIndex+e)%this._maxLength}}t.CircularList=n},1439:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.clone=void 0,t.clone=function e(t,i=5){if("object"!=typeof t)return t;const s=Array.isArray(t)?[]:{};for(const r in t)s[r]=i<=1?t[r]:t[r]&&e(t[r],i-1);return s}},8055:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.contrastRatio=t.toPaddedHex=t.rgba=t.rgb=t.css=t.color=t.channels=t.NULL_COLOR=void 0;const s=i(6114);let r=0,n=0,o=0,a=0;var h,c,l,d,_;function u(e){const t=e.toString(16);return t.length<2?"0"+t:t}function f(e,t){return e<t?(t+.05)/(e
+.05):(e
+.05)/(t+.05)}t.NULL_COLOR={css:"#00000000",rgba:0},function(e){e.toCss=function(e,t,i,s){return void 0!==s?`#${u(e)}${u(t)}${u(i)}${u(s)}`:`#${u(e)}${u(t)}${u(i)}`},e.toRgba=function(e,t,i,s=255){return(e<<24|t<<16|i<<8|s)>>>0}}(h||(t.channels=h={})),function(e){function t(e,t){return a=Math.round(255*t),[r,n,o]=_.toChannels(e.rgba),{css:h.toCss(r,n,o,a),rgba:h.toRgba(r,n,o,a)}}e.blend=function(e,t){if(a=(255&t.rgba)/255,1===a
)return{css
:t
.css
,rgba
:t
.rgba
};const i
=t
.rgba
>>24&255,s
=t
.rgba
>>16&255,c
=t
.rgba
>>8&255,l
=e
.rgba
>>24&255,d
=e
.rgba
>>16&255,_
=e
.rgba
>>8&255;return r
=l
+Math
.round((i
-l
)*a
),n
=d
+Math
.round((s
-d
)*a
),o
=_
+Math
.round((c
-_
)*a
),{css
:h
.toCss(r
,n
,o
),rgba
:h
.toRgba(r
,n
,o
)}},e
.isOpaque=function(e
){return 255==(255&e
.rgba
)},e
.ensureContrastRatio=function(e
,t
,i
){const s
=_
.ensureContrastRatio(e
.rgba
,t
.rgba
,i
);if(s
)return _
.toColor(s
>>24&255,s
>>16&255,s
>>8&255)},e
.opaque=function(e
){const t
=(255|e
.rgba
)>>>0;return[r
,n
,o
]=_
.toChannels(t
),{css
:h
.toCss(r
,n
,o
),rgba
:t
}},e
.opacity
=t
,e
.multiplyOpacity=function(e
,i
){return a
=255&e
.rgba
,t(e
,a
*i
/255)},e.toColorRGB=function(e){return[e.rgba>>24&255,e.rgba>>16&255,e.rgba>>8&255]}}(c||(t.color=c={})),function(e){let t,i;if(!s.isNode){const e=document.createElement("canvas");e.width=1,e.height=1;const s=e.getContext("2d",{willReadFrequently:!0});s&&(t=s,t.globalCompositeOperation="copy",i=t.createLinearGradient(0,0,1,1))}e.toColor=function(e){if(e.match(/#[\da
-f
]{3,8}/i))switch(e.length){case 4:return r=parseInt(e.slice(1,2).repeat(2),16),n=parseInt(e.slice(2,3).repeat(2),16),o=parseInt(e.slice(3,4).repeat(2),16),_.toColor(r,n,o);case 5:return r=parseInt(e.slice(1,2).repeat(2),16),n=parseInt(e.slice(2,3).repeat(2),16),o=parseInt(e.slice(3,4).repeat(2),16),a=parseInt(e.slice(4,5).repeat(2),16),_.toColor(r,n,o,a);case 7:return{css:e,rgba:(parseInt(e.slice(1),16)<<8|255)>>>0};case 9:return{css:e,rgba:parseInt(e.slice(1),16)>>>0}}const s=e.match(/rgba
?\(\s
*(\d
{1,3})\s
*,\s
*(\d
{1,3})\s
*,\s
*(\d
{1,3})\s
*(,\s
*(0|1|\d
?\.(\d
+))\s
*)?\)/);if(s)return r=parseInt(s[1]),n=parseInt(s[2]),o=parseInt(s[3]),a=Math.round(255*(void 0===s[5]?1:parseFloat(s[5]))),_.toColor(r,n,o,a);if(!t||!i)throw new Error("css.toColor: Unsupported css format");if(t.fillStyle=i,t.fillStyle=e,"string"!=typeof t.fillStyle)throw new Error("css.toColor: Unsupported css format");if(t.fillRect(0,0,1,1),[r,n,o,a]=t.getImageData(0,0,1,1).data,255!==a)throw new Error("css.toColor: Unsupported css format");return{rgba:h.toRgba(r,n,o,a),css:e}}}(l||(t.css=l={})),function(e){function t(e,t,i){const s=e/255,r
=t
/255,n=i/255;return.2126*(s
<=.03928?s
/12.92:Math.pow((s+.055)/1.055,2.4))+.7152*(r
<=.03928?r
/12.92:Math.pow((r+.055)/1.055,2.4))+.0722*(n
<=.03928?n
/12.92:Math.pow((n+.055)/1.055,2.4))}e
.relativeLuminance=function(e
){return t(e
>>16&255,e
>>8&255,255&e
)},e
.relativeLuminance2
=t
}(d
||(t
.rgb
=d
={})),function(e
){function t(e
,t
,i
){const s
=e
>>24&255,r
=e
>>16&255,n
=e
>>8&255;let o
=t
>>24&255,a
=t
>>16&255,h
=t
>>8&255,c
=f(d
.relativeLuminance2(o
,a
,h
),d
.relativeLuminance2(s
,r
,n
));for(;c
<i
&&(o
>0||a
>0||h
>0);)o
-=Math
.max(0,Math
.ceil(.1*o
)),a
-=Math
.max(0,Math
.ceil(.1*a
)),h
-=Math
.max(0,Math
.ceil(.1*h
)),c
=f(d
.relativeLuminance2(o
,a
,h
),d
.relativeLuminance2(s
,r
,n
));return(o
<<24|a
<<16|h
<<8|255)>>>0}function i(e
,t
,i
){const s
=e
>>24&255,r
=e
>>16&255,n
=e
>>8&255;let o
=t
>>24&255,a
=t
>>16&255,h
=t
>>8&255,c
=f(d
.relativeLuminance2(o
,a
,h
),d
.relativeLuminance2(s
,r
,n
));for(;c
<i
&&(o
<255||a
<255||h
<255);)o
=Math
.min(255,o
+Math
.ceil(.1*(255-o
))),a
=Math
.min(255,a
+Math
.ceil(.1*(255-a
))),h
=Math
.min(255,h
+Math
.ceil(.1*(255-h
))),c
=f(d
.relativeLuminance2(o
,a
,h
),d
.relativeLuminance2(s
,r
,n
));return(o
<<24|a
<<16|h
<<8|255)>>>0}e
.ensureContrastRatio=function(e
,s
,r
){const n
=d
.relativeLuminance(e
>>8),o
=d
.relativeLuminance(s
>>8);if(f(n
,o
)<r
){if(o
<n
){const o
=t(e
,s
,r
),a
=f(n
,d
.relativeLuminance(o
>>8));if(a
<r
){const t
=i(e
,s
,r
);return a
>f(n
,d
.relativeLuminance(t
>>8))?o
:t
}return o
}const a
=i(e
,s
,r
),h
=f(n
,d
.relativeLuminance(a
>>8));if(h
<r
){const i
=t(e
,s
,r
);return h
>f(n
,d
.relativeLuminance(i
>>8))?a
:i
}return a
}},e
.reduceLuminance
=t
,e
.increaseLuminance
=i
,e
.toChannels=function(e
){return[e
>>24&255,e
>>16&255,e
>>8&255,255&e
]},e
.toColor=function(e
,t
,i
,s
){return{css
:h
.toCss(e
,t
,i
,s
),rgba
:h
.toRgba(e
,t
,i
,s
)}}}(_
||(t
.rgba
=_
={})),t
.toPaddedHex
=u
,t
.contrastRatio
=f
},8969:(e
,t
,i
)=>{Object
.defineProperty(t
,"__esModule",{value
:!0}),t
.CoreTerminal
=void 0;const s
=i(844),r
=i(2585),n
=i(4348),o
=i(7866),a
=i(744),h
=i(7302),c
=i(6975),l
=i(8460),d
=i(1753),_
=i(1480),u
=i(7994),f
=i(9282),v
=i(5435),p
=i(5981),g
=i(2660);let m
=!1;class S
extends s
.Disposable
{get onScroll(){return this._onScrollApi
||(this._onScrollApi
=this.register(new l
.EventEmitter
),this._onScroll
.event((e
=>{var t
;null===(t
=this._onScrollApi
)||void 0===t
||t
.fire(e
.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(e
){for(const t
in e
)this.optionsService
.options
[t
]=e
[t
]}constructor(e
){super(),this._windowsWrappingHeuristics
=this.register(new s
.MutableDisposable
),this._onBinary
=this.register(new l
.EventEmitter
),this.onBinary
=this._onBinary
.event
,this._onData
=this.register(new l
.EventEmitter
),this.onData
=this._onData
.event
,this._onLineFeed
=this.register(new l
.EventEmitter
),this.onLineFeed
=this._onLineFeed
.event
,this._onResize
=this.register(new l
.EventEmitter
),this.onResize
=this._onResize
.event
,this._onWriteParsed
=this.register(new l
.EventEmitter
),this.onWriteParsed
=this._onWriteParsed
.event
,this._onScroll
=this.register(new l
.EventEmitter
),this._instantiationService
=new n
.InstantiationService
,this.optionsService
=this.register(new h
.OptionsService(e
)),this._instantiationService
.setService(r
.IOptionsService
,this.optionsService
),this._bufferService
=this.register(this._instantiationService
.createInstance(a
.BufferService
)),this._instantiationService
.setService(r
.IBufferService
,this._bufferService
),this._logService
=this.register(this._instantiationService
.createInstance(o
.LogService
)),this._instantiationService
.setService(r
.ILogService
,this._logService
),this.coreService
=this.register(this._instantiationService
.createInstance(c
.CoreService
)),this._instantiationService
.setService(r
.ICoreService
,this.coreService
),this.coreMouseService
=this.register(this._instantiationService
.createInstance(d
.CoreMouseService
)),this._instantiationService
.setService(r
.ICoreMouseService
,this.coreMouseService
),this.unicodeService
=this.register(this._instantiationService
.createInstance(_
.UnicodeService
)),this._instantiationService
.setService(r
.IUnicodeService
,this.unicodeService
),this._charsetService
=this._instantiationService
.createInstance(u
.CharsetService
),this._instantiationService
.setService(r
.ICharsetService
,this._charsetService
),this._oscLinkService
=this._instantiationService
.createInstance(g
.OscLinkService
),this._instantiationService
.setService(r
.IOscLinkService
,this._oscLinkService
),this._inputHandler
=this.register(new v
.InputHandler(this._bufferService
,this._charsetService
,this.coreService
,this._logService
,this.optionsService
,this._oscLinkService
,this.coreMouseService
,this.unicodeService
)),this.register((0,l
.forwardEvent
)(this._inputHandler
.onLineFeed
,this._onLineFeed
)),this.register(this._inputHandler
),this.register((0,l
.forwardEvent
)(this._bufferService
.onResize
,this._onResize
)),this.register((0,l
.forwardEvent
)(this.coreService
.onData
,this._onData
)),this.register((0,l
.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((e
=>{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((e
=>{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 p
.WriteBuffer(((e
,t
)=>this._inputHandler
.parse(e
,t
)))),this.register((0,l
.forwardEvent
)(this._writeBuffer
.onWriteParsed
,this._onWriteParsed
))}write(e
,t
){this._writeBuffer
.write(e
,t
)}writeSync(e
,t
){this._logService
.logLevel
<=r
.LogLevelEnum
.WARN
&&!m
&&(this._logService
.warn("writeSync is unreliable and will be removed soon."),m
=!0),this._writeBuffer
.writeSync(e
,t
)}resize(e
,t
){isNaN(e
)||isNaN(t
)||(e
=Math
.max(e
,a
.MINIMUM_COLS
),t
=Math
.max(t
,a
.MINIMUM_ROWS
),this._bufferService
.resize(e
,t
))}scroll(e
,t
=!1){this._bufferService
.scroll(e
,t
)}scrollLines(e
,t
,i
){this._bufferService
.scrollLines(e
,t
,i
)}scrollPages(e
){this.scrollLines(e
*(this.rows
-1))}scrollToTop(){this.scrollLines(-this._bufferService
.buffer
.ydisp
)}scrollToBottom(){this.scrollLines(this._bufferService
.buffer
.ybase
-this._bufferService
.buffer
.ydisp
)}scrollToLine(e
){const t
=e
-this._bufferService
.buffer
.ydisp
;0!==t
&&this.scrollLines(t
)}registerEscHandler(e
,t
){return this._inputHandler
.registerEscHandler(e
,t
)}registerDcsHandler(e
,t
){return this._inputHandler
.registerDcsHandler(e
,t
)}registerCsiHandler(e
,t
){return this._inputHandler
.registerCsiHandler(e
,t
)}registerOscHandler(e
,t
){return this._inputHandler
.registerOscHandler(e
,t
)}_setup(){this._handleWindowsPtyOptionChange()}reset(){this._inputHandler
.reset(),this._bufferService
.reset(),this._charsetService
.reset(),this.coreService
.reset(),this.coreMouseService
.reset()}_handleWindowsPtyOptionChange(){let e
=!1;const t
=this.optionsService
.rawOptions
.windowsPty
;t
&&void 0!==t
.buildNumber
&&void 0!==t
.buildNumber
?e
=!!("conpty"===t
.backend
&&t
.buildNumber
<21376):this.optionsService
.rawOptions
.windowsMode
&&(e
=!0),e
?this._enableWindowsWrappingHeuristics():this._windowsWrappingHeuristics
.clear()}_enableWindowsWrappingHeuristics(){if(!this._windowsWrappingHeuristics
.value
){const e
=[];e
.push(this.onLineFeed(f
.updateWindowsModeWrappedState
.bind(null,this._bufferService
))),e
.push(this.registerCsiHandler({final
:"H"},(()=>((0,f
.updateWindowsModeWrappedState
)(this._bufferService
),!1)))),this._windowsWrappingHeuristics
.value
=(0,s
.toDisposable
)((()=>{for(const t
of e
)t
.dispose()}))}}}t
.CoreTerminal
=S
},8460:(e
,t
)=>{Object
.defineProperty(t
,"__esModule",{value
:!0}),t
.forwardEvent
=t
.EventEmitter
=void 0,t
.EventEmitter
=class{constructor(){this._listeners
=[],this._disposed
=!1}get event(){return this._event
||(this._event
=e
=>(this._listeners
.push(e
),{dispose
:()=>{if(!this._disposed
)for(let t
=0;t
<this._listeners
.length
;t
++)if(this._listeners
[t
]===e
)return void this._listeners
.splice(t
,1)}})),this._event
}fire(e
,t
){const i
=[];for(let e
=0;e
<this._listeners
.length
;e
++)i
.push(this._listeners
[e
]);for(let s
=0;s
<i
.length
;s
++)i
[s
].call(void 0,e
,t
)}dispose(){this.clearListeners(),this._disposed
=!0}clearListeners(){this._listeners
&&(this._listeners
.length
=0)}},t
.forwardEvent=function(e
,t
){return e((e
=>t
.fire(e
)))}},5435:function(e
,t
,i
){var s
=this&&this.__decorate
||function(e
,t
,i
,s
){var r
,n
=arguments
.length
,o
=n
<3?t
:null===s
?s
=Object
.getOwnPropertyDescriptor(t
,i
):s
;if("object"==typeof Reflect
&&"function"==typeof Reflect
.decorate
)o
=Reflect
.decorate(e
,t
,i
,s
);else for(var a
=e
.length
-1;a
>=0;a
--)(r
=e
[a
])&&(o
=(n
<3?r(o
):n
>3?r(t
,i
,o
):r(t
,i
))||o
);return n
>3&&o
&&Object
.defineProperty(t
,i
,o
),o
},r
=this&&this.__param
||function(e
,t
){return function(i
,s
){t(i
,s
,e
)}};Object
.defineProperty(t
,"__esModule",{value
:!0}),t
.InputHandler
=t
.WindowsOptionsReportType
=void 0;const n
=i(2584),o
=i(7116),a
=i(2015),h
=i(844),c
=i(482),l
=i(8437),d
=i(8460),_
=i(643),u
=i(511),f
=i(3734),v
=i(2585),p
=i(6242),g
=i(6351),m
=i(5941),S
={"(":0,")":1,"*":2,"+":3,"-":1,".":2},C
=131072;function b(e
,t
){if(e
>24)return t
.setWinLines
||!1;switch(e
){case 1:return!!t
.restoreWin
;case 2:return!!t
.minimizeWin
;case 3:return!!t
.setWinPosition
;case 4:return!!t
.setWinSizePixels
;case 5:return!!t
.raiseWin
;case 6:return!!t
.lowerWin
;case 7:return!!t
.refreshWin
;case 8:return!!t
.setWinSizeChars
;case 9:return!!t
.maximizeWin
;case 10:return!!t
.fullscreenWin
;case 11:return!!t
.getWinState
;case 13:return!!t
.getWinPosition
;case 14:return!!t
.getWinSizePixels
;case 15:return!!t
.getScreenSizePixels
;case 16:return!!t
.getCellSizePixels
;case 18:return!!t
.getWinSizeChars
;case 19:return!!t
.getScreenSizeChars
;case 20:return!!t
.getIconTitle
;case 21:return!!t
.getWinTitle
;case 22:return!!t
.pushTitle
;case 23:return!!t
.popTitle
;case 24:return!!t
.setWinLines
}return!1}var y
;!function(e
){e
[e
.GET_WIN_SIZE_PIXELS
=0]="GET_WIN_SIZE_PIXELS",e
[e
.GET_CELL_SIZE_PIXELS
=1]="GET_CELL_SIZE_PIXELS"}(y
||(t
.WindowsOptionsReportType
=y
={}));let w
=0;class E
extends h
.Disposable
{getAttrData(){return this._curAttrData
}constructor(e
,t
,i
,s
,r
,h
,_
,f
,v
=new a
.EscapeSequenceParser
){super(),this._bufferService
=e
,this._charsetService
=t
,this._coreService
=i
,this._logService
=s
,this._optionsService
=r
,this._oscLinkService
=h
,this._coreMouseService
=_
,this._unicodeService
=f
,this._parser
=v
,this._parseBuffer
=new Uint32Array(4096),this._stringDecoder
=new c
.StringToUtf32
,this._utf8Decoder
=new c
.Utf8ToUtf32
,this._workCell
=new u
.CellData
,this._windowTitle
="",this._iconName
="",this._windowTitleStack
=[],this._iconNameStack
=[],this._curAttrData
=l
.DEFAULT_ATTR_DATA
.clone(),this._eraseAttrDataInternal
=l
.DEFAULT_ATTR_DATA
.clone(),this._onRequestBell
=this.register(new d
.EventEmitter
),this.onRequestBell
=this._onRequestBell
.event
,this._onRequestRefreshRows
=this.register(new d
.EventEmitter
),this.onRequestRefreshRows
=this._onRequestRefreshRows
.event
,this._onRequestReset
=this.register(new d
.EventEmitter
),this.onRequestReset
=this._onRequestReset
.event
,this._onRequestSendFocus
=this.register(new d
.EventEmitter
),this.onRequestSendFocus
=this._onRequestSendFocus
.event
,this._onRequestSyncScrollBar
=this.register(new d
.EventEmitter
),this.onRequestSyncScrollBar
=this._onRequestSyncScrollBar
.event
,this._onRequestWindowsOptionsReport
=this.register(new d
.EventEmitter
),this.onRequestWindowsOptionsReport
=this._onRequestWindowsOptionsReport
.event
,this._onA11yChar
=this.register(new d
.EventEmitter
),this.onA11yChar
=this._onA11yChar
.event
,this._onA11yTab
=this.register(new d
.EventEmitter
),this.onA11yTab
=this._onA11yTab
.event
,this._onCursorMove
=this.register(new d
.EventEmitter
),this.onCursorMove
=this._onCursorMove
.event
,this._onLineFeed
=this.register(new d
.EventEmitter
),this.onLineFeed
=this._onLineFeed
.event
,this._onScroll
=this.register(new d
.EventEmitter
),this.onScroll
=this._onScroll
.event
,this._onTitleChange
=this.register(new d
.EventEmitter
),this.onTitleChange
=this._onTitleChange
.event
,this._onColor
=this.register(new d
.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 k(this._bufferService
),this._activeBuffer
=this._bufferService
.buffer
,this.register(this._bufferService
.buffers
.onBufferActivate((e
=>this._activeBuffer
=e
.activeBuffer
))),this._parser
.setCsiHandlerFallback(((e
,t
)=>{this._logService
.debug("Unknown CSI code: ",{identifier
:this._parser
.identToString(e
),params
:t
.toArray()})})),this._parser
.setEscHandlerFallback((e
=>{this._logService
.debug("Unknown ESC code: ",{identifier
:this._parser
.identToString(e
)})})),this._parser
.setExecuteHandlerFallback((e
=>{this._logService
.debug("Unknown EXECUTE code: ",{code
:e
})})),this._parser
.setOscHandlerFallback(((e
,t
,i
)=>{this._logService
.debug("Unknown OSC code: ",{identifier
:e
,action
:t
,data
:i
})})),this._parser
.setDcsHandlerFallback(((e
,t
,i
)=>{"HOOK"===t
&&(i
=i
.toArray()),this._logService
.debug("Unknown DCS code: ",{identifier
:this._parser
.identToString(e
),action
:t
,payload
:i
})})),this._parser
.setPrintHandler(((e
,t
,i
)=>this.print(e
,t
,i
))),this._parser
.registerCsiHandler({final
:"@"},(e
=>this.insertChars(e
))),this._parser
.registerCsiHandler({intermediates
:" ",final
:"@"},(e
=>this.scrollLeft(e
))),this._parser
.registerCsiHandler({final
:"A"},(e
=>this.cursorUp(e
))),this._parser
.registerCsiHandler({intermediates
:" ",final
:"A"},(e
=>this.scrollRight(e
))),this._parser
.registerCsiHandler({final
:"B"},(e
=>this.cursorDown(e
))),this._parser
.registerCsiHandler({final
:"C"},(e
=>this.cursorForward(e
))),this._parser
.registerCsiHandler({final
:"D"},(e
=>this.cursorBackward(e
))),this._parser
.registerCsiHandler({final
:"E"},(e
=>this.cursorNextLine(e
))),this._parser
.registerCsiHandler({final
:"F"},(e
=>this.cursorPrecedingLine(e
))),this._parser
.registerCsiHandler({final
:"G"},(e
=>this.cursorCharAbsolute(e
))),this._parser
.registerCsiHandler({final
:"H"},(e
=>this.cursorPosition(e
))),this._parser
.registerCsiHandler({final
:"I"},(e
=>this.cursorForwardTab(e
))),this._parser
.registerCsiHandler({final
:"J"},(e
=>this.eraseInDisplay(e
,!1))),this._parser
.registerCsiHandler({prefix
:"?",final
:"J"},(e
=>this.eraseInDisplay(e
,!0))),this._parser
.registerCsiHandler({final
:"K"},(e
=>this.eraseInLine(e
,!1))),this._parser
.registerCsiHandler({prefix
:"?",final
:"K"},(e
=>this.eraseInLine(e
,!0))),this._parser
.registerCsiHandler({final
:"L"},(e
=>this.insertLines(e
))),this._parser
.registerCsiHandler({final
:"M"},(e
=>this.deleteLines(e
))),this._parser
.registerCsiHandler({final
:"P"},(e
=>this.deleteChars(e
))),this._parser
.registerCsiHandler({final
:"S"},(e
=>this.scrollUp(e
))),this._parser
.registerCsiHandler({final
:"T"},(e
=>this.scrollDown(e
))),this._parser
.registerCsiHandler({final
:"X"},(e
=>this.eraseChars(e
))),this._parser
.registerCsiHandler({final
:"Z"},(e
=>this.cursorBackwardTab(e
))),this._parser
.registerCsiHandler({final
:"`"},(e
=>this.charPosAbsolute(e
))),this._parser
.registerCsiHandler({final
:"a"},(e
=>this.hPositionRelative(e
))),this._parser
.registerCsiHandler({final
:"b"},(e
=>this.repeatPrecedingCharacter(e
))),this._parser
.registerCsiHandler({final
:"c"},(e
=>this.sendDeviceAttributesPrimary(e
))),this._parser
.registerCsiHandler({prefix
:">",final
:"c"},(e
=>this.sendDeviceAttributesSecondary(e
))),this._parser
.registerCsiHandler({final
:"d"},(e
=>this.linePosAbsolute(e
))),this._parser
.registerCsiHandler({final
:"e"},(e
=>this.vPositionRelative(e
))),this._parser
.registerCsiHandler({final
:"f"},(e
=>this.hVPosition(e
))),this._parser
.registerCsiHandler({final
:"g"},(e
=>this.tabClear(e
))),this._parser
.registerCsiHandler({final
:"h"},(e
=>this.setMode(e
))),this._parser
.registerCsiHandler({prefix
:"?",final
:"h"},(e
=>this.setModePrivate(e
))),this._parser
.registerCsiHandler({final
:"l"},(e
=>this.resetMode(e
))),this._parser
.registerCsiHandler({prefix
:"?",final
:"l"},(e
=>this.resetModePrivate(e
))),this._parser
.registerCsiHandler({final
:"m"},(e
=>this.charAttributes(e
))),this._parser
.registerCsiHandler({final
:"n"},(e
=>this.deviceStatus(e
))),this._parser
.registerCsiHandler({prefix
:"?",final
:"n"},(e
=>this.deviceStatusPrivate(e
))),this._parser
.registerCsiHandler({intermediates
:"!",final
:"p"},(e
=>this.softReset(e
))),this._parser
.registerCsiHandler({intermediates
:" ",final
:"q"},(e
=>this.setCursorStyle(e
))),this._parser
.registerCsiHandler({final
:"r"},(e
=>this.setScrollRegion(e
))),this._parser
.registerCsiHandler({final
:"s"},(e
=>this.saveCursor(e
))),this._parser
.registerCsiHandler({final
:"t"},(e
=>this.windowOptions(e
))),this._parser
.registerCsiHandler({final
:"u"},(e
=>this.restoreCursor(e
))),this._parser
.registerCsiHandler({intermediates
:"'",final
:"}"},(e
=>this.insertColumns(e
))),this._parser
.registerCsiHandler({intermediates
:"'",final
:"~"},(e
=>this.deleteColumns(e
))),this._parser
.registerCsiHandler({intermediates
:'"',final
:"q"},(e
=>this.selectProtected(e
))),this._parser
.registerCsiHandler({intermediates
:"$",final
:"p"},(e
=>this.requestMode(e
,!0))),this._parser
.registerCsiHandler({prefix
:"?",intermediates
:"$",final
:"p"},(e
=>this.requestMode(e
,!1))),this._parser
.setExecuteHandler(n
.C0
.BEL
,(()=>this.bell())),this._parser
.setExecuteHandler(n
.C0
.LF
,(()=>this.lineFeed())),this._parser
.setExecuteHandler(n
.C0
.VT
,(()=>this.lineFeed())),this._parser
.setExecuteHandler(n
.C0
.FF
,(()=>this.lineFeed())),this._parser
.setExecuteHandler(n
.C0
.CR
,(()=>this.carriageReturn())),this._parser
.setExecuteHandler(n
.C0
.BS
,(()=>this.backspace())),this._parser
.setExecuteHandler(n
.C0
.HT
,(()=>this.tab())),this._parser
.setExecuteHandler(n
.C0
.SO
,(()=>this.shiftOut())),this._parser
.setExecuteHandler(n
.C0
.SI
,(()=>this.shiftIn())),this._parser
.setExecuteHandler(n
.C1
.IND
,(()=>this.index())),this._parser
.setExecuteHandler(n
.C1
.NEL
,(()=>this.nextLine())),this._parser
.setExecuteHandler(n
.C1
.HTS
,(()=>this.tabSet())),this._parser
.registerOscHandler(0,new p
.OscHandler((e
=>(this.setTitle(e
),this.setIconName(e
),!0)))),this._parser
.registerOscHandler(1,new p
.OscHandler((e
=>this.setIconName(e
)))),this._parser
.registerOscHandler(2,new p
.OscHandler((e
=>this.setTitle(e
)))),this._parser
.registerOscHandler(4,new p
.OscHandler((e
=>this.setOrReportIndexedColor(e
)))),this._parser
.registerOscHandler(8,new p
.OscHandler((e
=>this.setHyperlink(e
)))),this._parser
.registerOscHandler(10,new p
.OscHandler((e
=>this.setOrReportFgColor(e
)))),this._parser
.registerOscHandler(11,new p
.OscHandler((e
=>this.setOrReportBgColor(e
)))),this._parser
.registerOscHandler(12,new p
.OscHandler((e
=>this.setOrReportCursorColor(e
)))),this._parser
.registerOscHandler(104,new p
.OscHandler((e
=>this.restoreIndexedColor(e
)))),this._parser
.registerOscHandler(110,new p
.OscHandler((e
=>this.restoreFgColor(e
)))),this._parser
.registerOscHandler(111,new p
.OscHandler((e
=>this.restoreBgColor(e
)))),this._parser
.registerOscHandler(112,new p
.OscHandler((e
=>this.restoreCursorColor(e
)))),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(const e
in o
.CHARSETS
)this._parser
.registerEscHandler({intermediates
:"(",final
:e
},(()=>this.selectCharset("("+e
))),this._parser
.registerEscHandler({intermediates
:")",final
:e
},(()=>this.selectCharset(")"+e
))),this._parser
.registerEscHandler({intermediates
:"*",final
:e
},(()=>this.selectCharset("*"+e
))),this._parser
.registerEscHandler({intermediates
:"+",final
:e
},(()=>this.selectCharset("+"+e
))),this._parser
.registerEscHandler({intermediates
:"-",final
:e
},(()=>this.selectCharset("-"+e
))),this._parser
.registerEscHandler({intermediates
:".",final
:e
},(()=>this.selectCharset("."+e
))),this._parser
.registerEscHandler({intermediates
:"/",final
:e
},(()=>this.selectCharset("/"+e
)));this._parser
.registerEscHandler({intermediates
:"#",final
:"8"},(()=>this.screenAlignmentPattern())),this._parser
.setErrorHandler((e
=>(this._logService
.error("Parsing error: ",e
),e
))),this._parser
.registerDcsHandler({intermediates
:"$",final
:"q"},new g
.DcsHandler(((e
,t
)=>this.requestStatusString(e
,t
))))}_preserveStack(e
,t
,i
,s
){this._parseStack
.paused
=!0,this._parseStack
.cursorStartX
=e
,this._parseStack
.cursorStartY
=t
,this._parseStack
.decodedLength
=i
,this._parseStack
.position
=s
}_logSlowResolvingAsync(e
){this._logService
.logLevel
<=v
.LogLevelEnum
.WARN
&&Promise
.race([e
,new Promise(((e
,t
)=>setTimeout((()=>t("#SLOW_TIMEOUT")),5e3
)))]).catch((e
=>{if("#SLOW_TIMEOUT"!==e
)throw e
;console
.warn("async parser handler taking longer than 5000 ms")}))}_getCurrentLinkId(){return this._curAttrData
.extended
.urlId
}parse(e
,t
){let i
,s
=this._activeBuffer
.x
,r
=this._activeBuffer
.y
,n
=0;const o
=this._parseStack
.paused
;if(o
){if(i
=this._parser
.parse(this._parseBuffer
,this._parseStack
.decodedLength
,t
))return this._logSlowResolvingAsync(i
),i
;s
=this._parseStack
.cursorStartX
,r
=this._parseStack
.cursorStartY
,this._parseStack
.paused
=!1,e
.length
>C
&&(n
=this._parseStack
.position
+C
)}if(this._logService
.logLevel
<=v
.LogLevelEnum
.DEBUG
&&this._logService
.debug("parsing data"+("string"==typeof e
?` "${e}"`:` "${Array.prototype.map.call(e,(e=>String.fromCharCode(e))).join("")}"`),"string"==typeof e
?e
.split("").map((e
=>e
.charCodeAt(0))):e
),this._parseBuffer
.length
<e
.length
&&this._parseBuffer
.length
<C
&&(this._parseBuffer
=new Uint32Array(Math
.min(e
.length
,C
))),o
||this._dirtyRowTracker
.clearRange(),e
.length
>C
)for(let t
=n
;t
<e
.length
;t
+=C
){const n
=t
+C
<e
.length
?t
+C
:e
.length
,o
="string"==typeof e
?this._stringDecoder
.decode(e
.substring(t
,n
),this._parseBuffer
):this._utf8Decoder
.decode(e
.subarray(t
,n
),this._parseBuffer
);if(i
=this._parser
.parse(this._parseBuffer
,o
))return this._preserveStack(s
,r
,o
,t
),this._logSlowResolvingAsync(i
),i
}else if(!o
){const t
="string"==typeof e
?this._stringDecoder
.decode(e
,this._parseBuffer
):this._utf8Decoder
.decode(e
,this._parseBuffer
);if(i
=this._parser
.parse(this._parseBuffer
,t
))return this._preserveStack(s
,r
,t
,0),this._logSlowResolvingAsync(i
),i
}this._activeBuffer
.x
===s
&&this._activeBuffer
.y
===r
||this._onCursorMove
.fire(),this._onRequestRefreshRows
.fire(this._dirtyRowTracker
.start
,this._dirtyRowTracker
.end
)}print(e
,t
,i
){let s
,r
;const n
=this._charsetService
.charset
,o
=this._optionsService
.rawOptions
.screenReaderMode
,a
=this._bufferService
.cols
,h
=this._coreService
.decPrivateModes
.wraparound
,l
=this._coreService
.modes
.insertMode
,d
=this._curAttrData
;let u
=this._activeBuffer
.lines
.get(this._activeBuffer
.ybase
+this._activeBuffer
.y
);this._dirtyRowTracker
.markDirty(this._activeBuffer
.y
),this._activeBuffer
.x
&&i
-t
>0&&2===u
.getWidth(this._activeBuffer
.x
-1)&&u
.setCellFromCodePoint(this._activeBuffer
.x
-1,0,1,d
.fg
,d
.bg
,d
.extended
);for(let f
=t
;f
<i
;++f
){if(s
=e
[f
],r
=this._unicodeService
.wcwidth(s
),s
<127&&n
){const e
=n
[String
.fromCharCode(s
)];e
&&(s
=e
.charCodeAt(0))}if(o
&&this._onA11yChar
.fire((0,c
.stringFromCodePoint
)(s
)),this._getCurrentLinkId()&&this._oscLinkService
.addLineToLink(this._getCurrentLinkId(),this._activeBuffer
.ybase
+this._activeBuffer
.y
),r
||!this._activeBuffer
.x
){if(this._activeBuffer
.x
+r
-1>=a
)if(h
){for(;this._activeBuffer
.x
<a
;)u
.setCellFromCodePoint(this._activeBuffer
.x
++,0,1,d
.fg
,d
.bg
,d
.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),u
=this._activeBuffer
.lines
.get(this._activeBuffer
.ybase
+this._activeBuffer
.y
)}else if(this._activeBuffer
.x
=a
-1,2===r
)continue;if(l
&&(u
.insertCells(this._activeBuffer
.x
,r
,this._activeBuffer
.getNullCell(d
),d
),2===u
.getWidth(a
-1)&&u
.setCellFromCodePoint(a
-1,_
.NULL_CELL_CODE
,_
.NULL_CELL_WIDTH
,d
.fg
,d
.bg
,d
.extended
)),u
.setCellFromCodePoint(this._activeBuffer
.x
++,s
,r
,d
.fg
,d
.bg
,d
.extended
),r
>0)for(;--r
;)u
.setCellFromCodePoint(this._activeBuffer
.x
++,0,0,d
.fg
,d
.bg
,d
.extended
)}else u
.getWidth(this._activeBuffer
.x
-1)?u
.addCodepointToCell(this._activeBuffer
.x
-1,s
):u
.addCodepointToCell(this._activeBuffer
.x
-2,s
)}i
-t
>0&&(u
.loadCell(this._activeBuffer
.x
-1,this._workCell
),2===this._workCell
.getWidth()||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
<a
&&i
-t
>0&&0===u
.getWidth(this._activeBuffer
.x
)&&!u
.hasContent(this._activeBuffer
.x
)&&u
.setCellFromCodePoint(this._activeBuffer
.x
,0,1,d
.fg
,d
.bg
,d
.extended
),this._dirtyRowTracker
.markDirty(this._activeBuffer
.y
)}registerCsiHandler(e
,t
){return"t"!==e
.final
||e
.prefix
||e
.intermediates
?this._parser
.registerCsiHandler(e
,t
):this._parser
.registerCsiHandler(e
,(e
=>!b(e
.params
[0],this._optionsService
.rawOptions
.windowOptions
)||t(e
)))}registerDcsHandler(e
,t
){return this._parser
.registerDcsHandler(e
,new g
.DcsHandler(t
))}registerEscHandler(e
,t
){return this._parser
.registerEscHandler(e
,t
)}registerOscHandler(e
,t
){return this._parser
.registerOscHandler(e
,new p
.OscHandler(t
))}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 e
;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(0===this._activeBuffer
.x
&&this._activeBuffer
.y
>this._activeBuffer
.scrollTop
&&this._activeBuffer
.y
<=this._activeBuffer
.scrollBottom
&&(null===(e
=this._activeBuffer
.lines
.get(this._activeBuffer
.ybase
+this._activeBuffer
.y
))||void 0===e
?void 0:e
.isWrapped
)){this._activeBuffer
.lines
.get(this._activeBuffer
.ybase
+this._activeBuffer
.y
).isWrapped
=!1,this._activeBuffer
.y
--,this._activeBuffer
.x
=this._bufferService
.cols
-1;const e
=this._activeBuffer
.lines
.get(this._activeBuffer
.ybase
+this._activeBuffer
.y
);e
.hasWidth(this._activeBuffer
.x
)&&!e
.hasContent(this._activeBuffer
.x
)&&this._activeBuffer
.x
--}return this._restrictCursor(),!0}tab(){if(this._activeBuffer
.x
>=this._bufferService
.cols
)return!0;const e
=this._activeBuffer
.x
;return this._activeBuffer
.x
=this._activeBuffer
.nextStop(),this._optionsService
.rawOptions
.screenReaderMode
&&this._onA11yTab
.fire(this._activeBuffer
.x
-e
),!0}shiftOut(){return this._charsetService
.setgLevel(1),!0}shiftIn(){return this._charsetService
.setgLevel(0),!0}_restrictCursor(e
=this._bufferService
.cols
-1){this._activeBuffer
.x
=Math
.min(e
,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(e
,t
){this._dirtyRowTracker
.markDirty(this._activeBuffer
.y
),this._coreService
.decPrivateModes
.origin
?(this._activeBuffer
.x
=e
,this._activeBuffer
.y
=this._activeBuffer
.scrollTop
+t
):(this._activeBuffer
.x
=e
,this._activeBuffer
.y
=t
),this._restrictCursor(),this._dirtyRowTracker
.markDirty(this._activeBuffer
.y
)}_moveCursor(e
,t
){this._restrictCursor(),this._setCursor(this._activeBuffer
.x
+e
,this._activeBuffer
.y
+t
)}cursorUp(e
){const t
=this._activeBuffer
.y
-this._activeBuffer
.scrollTop
;return t
>=0?this._moveCursor(0,-Math
.min(t
,e
.params
[0]||1)):this._moveCursor(0,-(e
.params
[0]||1)),!0}cursorDown(e
){const t
=this._activeBuffer
.scrollBottom
-this._activeBuffer
.y
;return t
>=0?this._moveCursor(0,Math
.min(t
,e
.params
[0]||1)):this._moveCursor(0,e
.params
[0]||1),!0}cursorForward(e
){return this._moveCursor(e
.params
[0]||1,0),!0}cursorBackward(e
){return this._moveCursor(-(e
.params
[0]||1),0),!0}cursorNextLine(e
){return this.cursorDown(e
),this._activeBuffer
.x
=0,!0}cursorPrecedingLine(e
){return this.cursorUp(e
),this._activeBuffer
.x
=0,!0}cursorCharAbsolute(e
){return this._setCursor((e
.params
[0]||1)-1,this._activeBuffer
.y
),!0}cursorPosition(e
){return this._setCursor(e
.length
>=2?(e
.params
[1]||1)-1:0,(e
.params
[0]||1)-1),!0}charPosAbsolute(e
){return this._setCursor((e
.params
[0]||1)-1,this._activeBuffer
.y
),!0}hPositionRelative(e
){return this._moveCursor(e
.params
[0]||1,0),!0}linePosAbsolute(e
){return this._setCursor(this._activeBuffer
.x
,(e
.params
[0]||1)-1),!0}vPositionRelative(e
){return this._moveCursor(0,e
.params
[0]||1),!0}hVPosition(e
){return this.cursorPosition(e
),!0}tabClear(e
){const t
=e
.params
[0];return 0===t
?delete this._activeBuffer
.tabs
[this._activeBuffer
.x
]:3===t
&&(this._activeBuffer
.tabs
={}),!0}cursorForwardTab(e
){if(this._activeBuffer
.x
>=this._bufferService
.cols
)return!0;let t
=e
.params
[0]||1;for(;t
--;)this._activeBuffer
.x
=this._activeBuffer
.nextStop();return!0}cursorBackwardTab(e
){if(this._activeBuffer
.x
>=this._bufferService
.cols
)return!0;let t
=e
.params
[0]||1;for(;t
--;)this._activeBuffer
.x
=this._activeBuffer
.prevStop();return!0}selectProtected(e
){const t
=e
.params
[0];return 1===t
&&(this._curAttrData
.bg
|=536870912),2!==t
&&0!==t
||(this._curAttrData
.bg
&=-536870913),!0}_eraseInBufferLine(e
,t
,i
,s
=!1,r
=!1){const n
=this._activeBuffer
.lines
.get(this._activeBuffer
.ybase
+e
);n
.replaceCells(t
,i
,this._activeBuffer
.getNullCell(this._eraseAttrData()),this._eraseAttrData(),r
),s
&&(n
.isWrapped
=!1)}_resetBufferLine(e
,t
=!1){const i
=this._activeBuffer
.lines
.get(this._activeBuffer
.ybase
+e
);i
&&(i
.fill(this._activeBuffer
.getNullCell(this._eraseAttrData()),t
),this._bufferService
.buffer
.clearMarkers(this._activeBuffer
.ybase
+e
),i
.isWrapped
=!1)}eraseInDisplay(e
,t
=!1){let i
;switch(this._restrictCursor(this._bufferService
.cols
),e
.params
[0]){case 0:for(i
=this._activeBuffer
.y
,this._dirtyRowTracker
.markDirty(i
),this._eraseInBufferLine(i
++,this._activeBuffer
.x
,this._bufferService
.cols
,0===this._activeBuffer
.x
,t
);i
<this._bufferService
.rows
;i
++)this._resetBufferLine(i
,t
);this._dirtyRowTracker
.markDirty(i
);break;case 1:for(i
=this._activeBuffer
.y
,this._dirtyRowTracker
.markDirty(i
),this._eraseInBufferLine(i
,0,this._activeBuffer
.x
+1,!0,t
),this._activeBuffer
.x
+1>=this._bufferService
.cols
&&(this._activeBuffer
.lines
.get(i
+1).isWrapped
=!1);i
--;)this._resetBufferLine(i
,t
);this._dirtyRowTracker
.markDirty(0);break;case 2:for(i
=this._bufferService
.rows
,this._dirtyRowTracker
.markDirty(i
-1);i
--;)this._resetBufferLine(i
,t
);this._dirtyRowTracker
.markDirty(0);break;case 3:const e
=this._activeBuffer
.lines
.length
-this._bufferService
.rows
;e
>0&&(this._activeBuffer
.lines
.trimStart(e
),this._activeBuffer
.ybase
=Math
.max(this._activeBuffer
.ybase
-e
,0),this._activeBuffer
.ydisp
=Math
.max(this._activeBuffer
.ydisp
-e
,0),this._onScroll
.fire(0))}return!0}eraseInLine(e
,t
=!1){switch(this._restrictCursor(this._bufferService
.cols
),e
.params
[0]){case 0:this._eraseInBufferLine(this._activeBuffer
.y
,this._activeBuffer
.x
,this._bufferService
.cols
,0===this._activeBuffer
.x
,t
);break;case 1:this._eraseInBufferLine(this._activeBuffer
.y
,0,this._activeBuffer
.x
+1,!1,t
);break;case 2:this._eraseInBufferLine(this._activeBuffer
.y
,0,this._bufferService
.cols
,!0,t
)}return this._dirtyRowTracker
.markDirty(this._activeBuffer
.y
),!0}insertLines(e
){this._restrictCursor();let t
=e
.params
[0]||1;if(this._activeBuffer
.y
>this._activeBuffer
.scrollBottom
||this._activeBuffer
.y
<this._activeBuffer
.scrollTop
)return!0;const i
=this._activeBuffer
.ybase
+this._activeBuffer
.y
,s
=this._bufferService
.rows
-1-this._activeBuffer
.scrollBottom
,r
=this._bufferService
.rows
-1+this._activeBuffer
.ybase
-s
+1;for(;t
--;)this._activeBuffer
.lines
.splice(r
-1,1),this._activeBuffer
.lines
.splice(i
,0,this._activeBuffer
.getBlankLine(this._eraseAttrData()));return this._dirtyRowTracker
.markRangeDirty(this._activeBuffer
.y
,this._activeBuffer
.scrollBottom
),this._activeBuffer
.x
=0,!0}deleteLines(e
){this._restrictCursor();let t
=e
.params
[0]||1;if(this._activeBuffer
.y
>this._activeBuffer
.scrollBottom
||this._activeBuffer
.y
<this._activeBuffer
.scrollTop
)return!0;const i
=this._activeBuffer
.ybase
+this._activeBuffer
.y
;let s
;for(s
=this._bufferService
.rows
-1-this._activeBuffer
.scrollBottom
,s
=this._bufferService
.rows
-1+this._activeBuffer
.ybase
-s
;t
--;)this._activeBuffer
.lines
.splice(i
,1),this._activeBuffer
.lines
.splice(s
,0,this._activeBuffer
.getBlankLine(this._eraseAttrData()));return this._dirtyRowTracker
.markRangeDirty(this._activeBuffer
.y
,this._activeBuffer
.scrollBottom
),this._activeBuffer
.x
=0,!0}insertChars(e
){this._restrictCursor();const t
=this._activeBuffer
.lines
.get(this._activeBuffer
.ybase
+this._activeBuffer
.y
);return t
&&(t
.insertCells(this._activeBuffer
.x
,e
.params
[0]||1,this._activeBuffer
.getNullCell(this._eraseAttrData()),this._eraseAttrData()),this._dirtyRowTracker
.markDirty(this._activeBuffer
.y
)),!0}deleteChars(e
){this._restrictCursor();const t
=this._activeBuffer
.lines
.get(this._activeBuffer
.ybase
+this._activeBuffer
.y
);return t
&&(t
.deleteCells(this._activeBuffer
.x
,e
.params
[0]||1,this._activeBuffer
.getNullCell(this._eraseAttrData()),this._eraseAttrData()),this._dirtyRowTracker
.markDirty(this._activeBuffer
.y
)),!0}scrollUp(e
){let t
=e
.params
[0]||1;for(;t
--;)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(e
){let t
=e
.params
[0]||1;for(;t
--;)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(l
.DEFAULT_ATTR_DATA
));return this._dirtyRowTracker
.markRangeDirty(this._activeBuffer
.scrollTop
,this._activeBuffer
.scrollBottom
),!0}scrollLeft(e
){if(this._activeBuffer
.y
>this._activeBuffer
.scrollBottom
||this._activeBuffer
.y
<this._activeBuffer
.scrollTop
)return!0;const t
=e
.params
[0]||1;for(let e
=this._activeBuffer
.scrollTop
;e
<=this._activeBuffer
.scrollBottom
;++e
){const i
=this._activeBuffer
.lines
.get(this._activeBuffer
.ybase
+e
);i
.deleteCells(0,t
,this._activeBuffer
.getNullCell(this._eraseAttrData()),this._eraseAttrData()),i
.isWrapped
=!1}return this._dirtyRowTracker
.markRangeDirty(this._activeBuffer
.scrollTop
,this._activeBuffer
.scrollBottom
),!0}scrollRight(e
){if(this._activeBuffer
.y
>this._activeBuffer
.scrollBottom
||this._activeBuffer
.y
<this._activeBuffer
.scrollTop
)return!0;const t
=e
.params
[0]||1;for(let e
=this._activeBuffer
.scrollTop
;e
<=this._activeBuffer
.scrollBottom
;++e
){const i
=this._activeBuffer
.lines
.get(this._activeBuffer
.ybase
+e
);i
.insertCells(0,t
,this._activeBuffer
.getNullCell(this._eraseAttrData()),this._eraseAttrData()),i
.isWrapped
=!1}return this._dirtyRowTracker
.markRangeDirty(this._activeBuffer
.scrollTop
,this._activeBuffer
.scrollBottom
),!0}insertColumns(e
){if(this._activeBuffer
.y
>this._activeBuffer
.scrollBottom
||this._activeBuffer
.y
<this._activeBuffer
.scrollTop
)return!0;const t
=e
.params
[0]||1;for(let e
=this._activeBuffer
.scrollTop
;e
<=this._activeBuffer
.scrollBottom
;++e
){const i
=this._activeBuffer
.lines
.get(this._activeBuffer
.ybase
+e
);i
.insertCells(this._activeBuffer
.x
,t
,this._activeBuffer
.getNullCell(this._eraseAttrData()),this._eraseAttrData()),i
.isWrapped
=!1}return this._dirtyRowTracker
.markRangeDirty(this._activeBuffer
.scrollTop
,this._activeBuffer
.scrollBottom
),!0}deleteColumns(e
){if(this._activeBuffer
.y
>this._activeBuffer
.scrollBottom
||this._activeBuffer
.y
<this._activeBuffer
.scrollTop
)return!0;const t
=e
.params
[0]||1;for(let e
=this._activeBuffer
.scrollTop
;e
<=this._activeBuffer
.scrollBottom
;++e
){const i
=this._activeBuffer
.lines
.get(this._activeBuffer
.ybase
+e
);i
.deleteCells(this._activeBuffer
.x
,t
,this._activeBuffer
.getNullCell(this._eraseAttrData()),this._eraseAttrData()),i
.isWrapped
=!1}return this._dirtyRowTracker
.markRangeDirty(this._activeBuffer
.scrollTop
,this._activeBuffer
.scrollBottom
),!0}eraseChars(e
){this._restrictCursor();const t
=this._activeBuffer
.lines
.get(this._activeBuffer
.ybase
+this._activeBuffer
.y
);return t
&&(t
.replaceCells(this._activeBuffer
.x
,this._activeBuffer
.x
+(e
.params
[0]||1),this._activeBuffer
.getNullCell(this._eraseAttrData()),this._eraseAttrData()),this._dirtyRowTracker
.markDirty(this._activeBuffer
.y
)),!0}repeatPrecedingCharacter(e
){if(!this._parser
.precedingCodepoint
)return!0;const t
=e
.params
[0]||1,i
=new Uint32Array(t
);for(let e
=0;e
<t
;++e
)i
[e
]=this._parser
.precedingCodepoint
;return this.print(i
,0,i
.length
),!0}sendDeviceAttributesPrimary(e
){return e
.params
[0]>0||(this._is("xterm")||this._is("rxvt-unicode")||this._is("screen")?this._coreService
.triggerDataEvent(n
.C0
.ESC
+"[?1;2c"):this._is("linux")&&this._coreService
.triggerDataEvent(n
.C0
.ESC
+"[?6c")),!0}sendDeviceAttributesSecondary(e
){return e
.params
[0]>0||(this._is("xterm")?this._coreService
.triggerDataEvent(n
.C0
.ESC
+"[>0;276;0c"):this._is("rxvt-unicode")?this._coreService
.triggerDataEvent(n
.C0
.ESC
+"[>85;95;0c"):this._is("linux")?this._coreService
.triggerDataEvent(e
.params
[0]+"c"):this._is("screen")&&this._coreService
.triggerDataEvent(n
.C0
.ESC
+"[>83;40003;0c")),!0}_is(e
){return 0===(this._optionsService
.rawOptions
.termName
+"").indexOf(e
)}setMode(e
){for(let t
=0;t
<e
.length
;t
++)switch(e
.params
[t
]){case 4:this._coreService
.modes
.insertMode
=!0;break;case 20:this._optionsService
.options
.convertEol
=!0}return!0}setModePrivate(e
){for(let t
=0;t
<e
.length
;t
++)switch(e
.params
[t
]){case 1:this._coreService
.decPrivateModes
.applicationCursorKeys
=!0;break;case 2:this._charsetService
.setgCharset(0,o
.DEFAULT_CHARSET
),this._charsetService
.setgCharset(1,o
.DEFAULT_CHARSET
),this._charsetService
.setgCharset(2,o
.DEFAULT_CHARSET
),this._charsetService
.setgCharset(3,o
.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(e
){for(let t
=0;t
<e
.length
;t
++)switch(e
.params
[t
]){case 4:this._coreService
.modes
.insertMode
=!1;break;case 20:this._optionsService
.options
.convertEol
=!1}return!0}resetModePrivate(e
){for(let t
=0;t
<e
.length
;t
++)switch(e
.params
[t
]){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(),1049===e
.params
[t
]&&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(e
,t
){const i
=this._coreService
.decPrivateModes
,{activeProtocol
:s
,activeEncoding
:r
}=this._coreMouseService
,o
=this._coreService
,{buffers
:a
,cols
:h
}=this._bufferService
,{active
:c
,alt
:l
}=a
,d
=this._optionsService
.rawOptions
,_
=e
=>e
?1:2,u
=e
.params
[0];return f
=u
,v
=t
?2===u
?4:4===u
?_(o
.modes
.insertMode
):12===u
?3:20===u
?_(d
.convertEol
):0:1===u
?_(i
.applicationCursorKeys
):3===u
?d
.windowOptions
.setWinLines
?80===h
?2:132===h
?1:0:0:6===u
?_(i
.origin
):7===u
?_(i
.wraparound
):8===u
?3:9===u
?_("X10"===s
):12===u
?_(d
.cursorBlink
):25===u
?_(!o
.isCursorHidden
):45===u
?_(i
.reverseWraparound
):66===u
?_(i
.applicationKeypad
):67===u
?4:1e3
===u
?_("VT200"===s
):1002===u
?_("DRAG"===s
):1003===u
?_("ANY"===s
):1004===u
?_(i
.sendFocus
):1005===u
?4:1006===u
?_("SGR"===r
):1015===u
?4:1016===u
?_("SGR_PIXELS"===r
):1048===u
?1:47===u
||1047===u
||1049===u
?_(c
===l
):2004===u
?_(i
.bracketedPasteMode
):0,o
.triggerDataEvent(`${n.C0.ESC}[${t?"":"?"}${f};${v}$y`),!0;var f
,v
}_updateAttrColor(e
,t
,i
,s
,r
){return 2===t
?(e
|=50331648,e
&=-16777216,e
|=f
.AttributeData
.fromColorRGB([i
,s
,r
])):5===t
&&(e
&=-50331904,e
|=33554432|255&i
),e
}_extractColor(e
,t
,i
){const s
=[0,0,-1,0,0,0];let r
=0,n
=0;do{if(s
[n
+r
]=e
.params
[t
+n
],e
.hasSubParams(t
+n
)){const i
=e
.getSubParams(t
+n
);let o
=0;do{5===s
[1]&&(r
=1),s
[n
+o
+1+r
]=i
[o
]}while(++o
<i
.length
&&o
+n
+1+r
<s
.length
);break}if(5===s
[1]&&n
+r
>=2||2===s
[1]&&n
+r
>=5)break;s
[1]&&(r
=1)}while(++n
+t
<e
.length
&&n
+r
<s
.length
);for(let e
=2;e
<s
.length
;++e
)-1===s
[e
]&&(s
[e
]=0);switch(s
[0]){case 38:i
.fg
=this._updateAttrColor(i
.fg
,s
[1],s
[3],s
[4],s
[5]);break;case 48:i
.bg
=this._updateAttrColor(i
.bg
,s
[1],s
[3],s
[4],s
[5]);break;case 58:i
.extended
=i
.extended
.clone(),i
.extended
.underlineColor
=this._updateAttrColor(i
.extended
.underlineColor
,s
[1],s
[3],s
[4],s
[5])}return n
}_processUnderline(e
,t
){t
.extended
=t
.extended
.clone(),(!~e
||e
>5)&&(e
=1),t
.extended
.underlineStyle
=e
,t
.fg
|=268435456,0===e
&&(t
.fg
&=-268435457),t
.updateExtended()}_processSGR0(e
){e
.fg
=l
.DEFAULT_ATTR_DATA
.fg
,e
.bg
=l
.DEFAULT_ATTR_DATA
.bg
,e
.extended
=e
.extended
.clone(),e
.extended
.underlineStyle
=0,e
.extended
.underlineColor
&=-67108864,e
.updateExtended()}charAttributes(e
){if(1===e
.length
&&0===e
.params
[0])return this._processSGR0(this._curAttrData
),!0;const t
=e
.length
;let i
;const s
=this._curAttrData
;for(let r
=0;r
<t
;r
++)i
=e
.params
[r
],i
>=30&&i
<=37?(s
.fg
&=-50331904,s
.fg
|=16777216|i
-30):i
>=40&&i
<=47?(s
.bg
&=-50331904,s
.bg
|=16777216|i
-40):i
>=90&&i
<=97?(s
.fg
&=-50331904,s
.fg
|=16777224|i
-90):i
>=100&&i
<=107?(s
.bg
&=-50331904,s
.bg
|=16777224|i
-100):0===i
?this._processSGR0(s
):1===i
?s
.fg
|=134217728:3===i
?s
.bg
|=67108864:4===i
?(s
.fg
|=268435456,this._processUnderline(e
.hasSubParams(r
)?e
.getSubParams(r
)[0]:1,s
)):5===i
?s
.fg
|=536870912:7===i
?s
.fg
|=67108864:8===i
?s
.fg
|=1073741824:9===i
?s
.fg
|=2147483648:2===i
?s
.bg
|=134217728:21===i
?this._processUnderline(2,s
):22===i
?(s
.fg
&=-134217729,s
.bg
&=-134217729):23===i
?s
.bg
&=-67108865:24===i
?(s
.fg
&=-268435457,this._processUnderline(0,s
)):25===i
?s
.fg
&=-536870913:27===i
?s
.fg
&=-67108865:28===i
?s
.fg
&=-1073741825:29===i
?s
.fg
&=2147483647:39===i
?(s
.fg
&=-67108864,s
.fg
|=16777215&l
.DEFAULT_ATTR_DATA
.fg
):49===i
?(s
.bg
&=-67108864,s
.bg
|=16777215&l
.DEFAULT_ATTR_DATA
.bg
):38===i
||48===i
||58===i
?r
+=this._extractColor(e
,r
,s
):53===i
?s
.bg
|=1073741824:55===i
?s
.bg
&=-1073741825:59===i
?(s
.extended
=s
.extended
.clone(),s
.extended
.underlineColor
=-1,s
.updateExtended()):100===i
?(s
.fg
&=-67108864,s
.fg
|=16777215&l
.DEFAULT_ATTR_DATA
.fg
,s
.bg
&=-67108864,s
.bg
|=16777215&l
.DEFAULT_ATTR_DATA
.bg
):this._logService
.debug("Unknown SGR attribute: %d.",i
);return!0}deviceStatus(e
){switch(e
.params
[0]){case 5:this._coreService
.triggerDataEvent(`${n.C0.ESC}[0n`);break;case 6:const e
=this._activeBuffer
.y
+1,t
=this._activeBuffer
.x
+1;this._coreService
.triggerDataEvent(`${n.C0.ESC}[${e};${t}R`)}return!0}deviceStatusPrivate(e
){if(6===e
.params
[0]){const e
=this._activeBuffer
.y
+1,t
=this._activeBuffer
.x
+1;this._coreService
.triggerDataEvent(`${n.C0.ESC}[?${e};${t}R`)}return!0}softReset(e
){return this._coreService
.isCursorHidden
=!1,this._onRequestSyncScrollBar
.fire(),this._activeBuffer
.scrollTop
=0,this._activeBuffer
.scrollBottom
=this._bufferService
.rows
-1,this._curAttrData
=l
.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(e
){const t
=e
.params
[0]||1;switch(t
){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"}const i
=t
%2==1;return this._optionsService
.options
.cursorBlink
=i
,!0}setScrollRegion(e
){const t
=e
.params
[0]||1;let i
;return(e
.length
<2||(i
=e
.params
[1])>this._bufferService
.rows
||0===i
)&&(i
=this._bufferService
.rows
),i
>t
&&(this._activeBuffer
.scrollTop
=t
-1,this._activeBuffer
.scrollBottom
=i
-1,this._setCursor(0,0)),!0}windowOptions(e
){if(!b(e
.params
[0],this._optionsService
.rawOptions
.windowOptions
))return!0;const t
=e
.length
>1?e
.params
[1]:0;switch(e
.params
[0]){case 14:2!==t
&&this._onRequestWindowsOptionsReport
.fire(y
.GET_WIN_SIZE_PIXELS
);break;case 16:this._onRequestWindowsOptionsReport
.fire(y
.GET_CELL_SIZE_PIXELS
);break;case 18:this._bufferService
&&this._coreService
.triggerDataEvent(`${n.C0.ESC}[8;${this._bufferService.rows};${this._bufferService.cols}t`);break;case 22:0!==t
&&2!==t
||(this._windowTitleStack
.push(this._windowTitle
),this._windowTitleStack
.length
>10&&this._windowTitleStack
.shift()),0!==t
&&1!==t
||(this._iconNameStack
.push(this._iconName
),this._iconNameStack
.length
>10&&this._iconNameStack
.shift());break;case 23:0!==t
&&2!==t
||this._windowTitleStack
.length
&&this.setTitle(this._windowTitleStack
.pop()),0!==t
&&1!==t
||this._iconNameStack
.length
&&this.setIconName(this._iconNameStack
.pop())}return!0}saveCursor(e
){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(e
){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(e
){return this._windowTitle
=e
,this._onTitleChange
.fire(e
),!0}setIconName(e
){return this._iconName
=e
,!0}setOrReportIndexedColor(e
){const t
=[],i
=e
.split(";");for(;i
.length
>1;){const e
=i
.shift(),s
=i
.shift();if(/^\d+$/.exec(e
)){const i
=parseInt(e
);if(L(i
))if("?"===s
)t
.push({type
:0,index
:i
});else{const e
=(0,m
.parseColor
)(s
);e
&&t
.push({type
:1,index
:i
,color
:e
})}}}return t
.length
&&this._onColor
.fire(t
),!0}setHyperlink(e
){const t
=e
.split(";");return!(t
.length
<2)&&(t
[1]?this._createHyperlink(t
[0],t
[1]):!t
[0]&&this._finishHyperlink())}_createHyperlink(e
,t
){this._getCurrentLinkId()&&this._finishHyperlink();const i
=e
.split(":");let s
;const r
=i
.findIndex((e
=>e
.startsWith("id=")));return-1!==r
&&(s
=i
[r
].slice(3)||void 0),this._curAttrData
.extended
=this._curAttrData
.extended
.clone(),this._curAttrData
.extended
.urlId
=this._oscLinkService
.registerLink({id
:s
,uri
:t
}),this._curAttrData
.updateExtended(),!0}_finishHyperlink(){return this._curAttrData
.extended
=this._curAttrData
.extended
.clone(),this._curAttrData
.extended
.urlId
=0,this._curAttrData
.updateExtended(),!0}_setOrReportSpecialColor(e
,t
){const i
=e
.split(";");for(let e
=0;e
<i
.length
&&!(t
>=this._specialColors
.length
);++e
,++t
)if("?"===i
[e
])this._onColor
.fire([{type
:0,index
:this._specialColors
[t
]}]);else{const s
=(0,m
.parseColor
)(i
[e
]);s
&&this._onColor
.fire([{type
:1,index
:this._specialColors
[t
],color
:s
}])}return!0}setOrReportFgColor(e
){return this._setOrReportSpecialColor(e
,0)}setOrReportBgColor(e
){return this._setOrReportSpecialColor(e
,1)}setOrReportCursorColor(e
){return this._setOrReportSpecialColor(e
,2)}restoreIndexedColor(e
){if(!e
)return this._onColor
.fire([{type
:2}]),!0;const t
=[],i
=e
.split(";");for(let e
=0;e
<i
.length
;++e
)if(/^\d+$/.exec(i
[e
])){const s
=parseInt(i
[e
]);L(s
)&&t
.push({type
:2,index
:s
})}return t
.length
&&this._onColor
.fire(t
),!0}restoreFgColor(e
){return this._onColor
.fire([{type
:2,index
:256}]),!0}restoreBgColor(e
){return this._onColor
.fire([{type
:2,index
:257}]),!0}restoreCursorColor(e
){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,o
.DEFAULT_CHARSET
),!0}selectCharset(e
){return 2!==e
.length
?(this.selectDefaultCharset(),!0):("/"===e
[0]||this._charsetService
.setgCharset(S
[e
[0]],o
.CHARSETS
[e
[1]]||o
.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
){const e
=this._activeBuffer
.scrollBottom
-this._activeBuffer
.scrollTop
;this._activeBuffer
.lines
.shiftElements(this._activeBuffer
.ybase
+this._activeBuffer
.y
,e
,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
=l
.DEFAULT_ATTR_DATA
.clone(),this._eraseAttrDataInternal
=l
.DEFAULT_ATTR_DATA
.clone()}_eraseAttrData(){return this._eraseAttrDataInternal
.bg
&=-67108864,this._eraseAttrDataInternal
.bg
|=67108863&this._curAttrData
.bg
,this._eraseAttrDataInternal
}setgLevel(e
){return this._charsetService
.setgLevel(e
),!0}screenAlignmentPattern(){const e
=new u
.CellData
;e
.content
=1<<22|"E".charCodeAt(0),e
.fg
=this._curAttrData
.fg
,e
.bg
=this._curAttrData
.bg
,this._setCursor(0,0);for(let t
=0;t
<this._bufferService
.rows
;++t
){const i
=this._activeBuffer
.ybase
+this._activeBuffer
.y
+t
,s
=this._activeBuffer
.lines
.get(i
);s
&&(s
.fill(e
),s
.isWrapped
=!1)}return this._dirtyRowTracker
.markAllDirty(),this._setCursor(0,0),!0}requestStatusString(e
,t
){const i
=this._bufferService
.buffer
,s
=this._optionsService
.rawOptions
;return(e
=>(this._coreService
.triggerDataEvent(`${n.C0.ESC}${e}${n.C0.ESC}\\`),!0))('"q'===e
?`P1$r${this._curAttrData.isProtected()?1:0}"q`:'"p'===e
?'P1$r61;1"p':"r"===e
?`P1$r${i.scrollTop+1};${i.scrollBottom+1}r`:"m"===e
?"P1$r0m":" q"===e
?`P1$r${{block:2,underline:4,bar:6}[s.cursorStyle]-(s.cursorBlink?1:0)} q`:"P0$r")}markRangeDirty(e
,t
){this._dirtyRowTracker
.markRangeDirty(e
,t
)}}t
.InputHandler
=E
;let k
=class{constructor(e
){this._bufferService
=e
,this.clearRange()}clearRange(){this.start
=this._bufferService
.buffer
.y
,this.end
=this._bufferService
.buffer
.y
}markDirty(e
){e
<this.start
?this.start
=e
:e
>this.end
&&(this.end
=e
)}markRangeDirty(e
,t
){e
>t
&&(w
=e
,e
=t
,t
=w
),e
<this.start
&&(this.start
=e
),t
>this.end
&&(this.end
=t
)}markAllDirty(){this.markRangeDirty(0,this._bufferService
.rows
-1)}};function L(e
){return 0<=e
&&e
<256}k
=s([r(0,v
.IBufferService
)],k
)},844:(e
,t
)=>{function i(e
){for(const t
of e
)t
.dispose();e
.length
=0}Object
.defineProperty(t
,"__esModule",{value
:!0}),t
.getDisposeArrayDisposable
=t
.disposeArray
=t
.toDisposable
=t
.MutableDisposable
=t
.Disposable
=void 0,t
.Disposable
=class{constructor(){this._disposables
=[],this._isDisposed
=!1}dispose(){this._isDisposed
=!0;for(const e
of this._disposables
)e
.dispose();this._disposables
.length
=0}register(e
){return this._disposables
.push(e
),e
}unregister(e
){const t
=this._disposables
.indexOf(e
);-1!==t
&&this._disposables
.splice(t
,1)}},t
.MutableDisposable
=class{constructor(){this._isDisposed
=!1}get value(){return this._isDisposed
?void 0:this._value
}set value(e
){var t
;this._isDisposed
||e
===this._value
||(null===(t
=this._value
)||void 0===t
||t
.dispose(),this._value
=e
)}clear(){this.value
=void 0}dispose(){var e
;this._isDisposed
=!0,null===(e
=this._value
)||void 0===e
||e
.dispose(),this._value
=void 0}},t
.toDisposable=function(e
){return{dispose
:e
}},t
.disposeArray
=i
,t
.getDisposeArrayDisposable=function(e
){return{dispose
:()=>i(e
)}}},1505:(e
,t
)=>{Object
.defineProperty(t
,"__esModule",{value
:!0}),t
.FourKeyMap
=t
.TwoKeyMap
=void 0;class i
{constructor(){this._data
={}}set(e
,t
,i
){this._data
[e
]||(this._data
[e
]={}),this._data
[e
][t
]=i
}get(e
,t
){return this._data
[e
]?this._data
[e
][t
]:void 0}clear(){this._data
={}}}t
.TwoKeyMap
=i
,t
.FourKeyMap
=class{constructor(){this._data
=new i
}set(e
,t
,s
,r
,n
){this._data
.get(e
,t
)||this._data
.set(e
,t
,new i
),this._data
.get(e
,t
).set(s
,r
,n
)}get(e
,t
,i
,s
){var r
;return null===(r
=this._data
.get(e
,t
))||void 0===r
?void 0:r
.get(i
,s
)}clear(){this._data
.clear()}}},6114:(e
,t
)=>{Object
.defineProperty(t
,"__esModule",{value
:!0}),t
.isChromeOS
=t
.isLinux
=t
.isWindows
=t
.isIphone
=t
.isIpad
=t
.isMac
=t
.getSafariVersion
=t
.isSafari
=t
.isLegacyEdge
=t
.isFirefox
=t
.isNode
=void 0,t
.isNode
="undefined"==typeof navigator
;const i
=t
.isNode
?"node":navigator
.userAgent
,s
=t
.isNode
?"node":navigator
.platform
;t
.isFirefox
=i
.includes("Firefox"),t
.isLegacyEdge
=i
.includes("Edge"),t
.isSafari
=/^((?!chrome
|android
).)*safari
/i.test(i),t.getSafariVersion=function(){if(!t.isSafari)return 0;const e=i.match(/Version
\/(\d+)/);return null===e
||e
.length
<2?0:parseInt(e
[1])},t
.isMac
=["Macintosh","MacIntel","MacPPC","Mac68K"].includes(s
),t
.isIpad
="iPad"===s
,t
.isIphone
="iPhone"===s
,t
.isWindows
=["Windows","Win16","Win32","WinCE"].includes(s
),t
.isLinux
=s
.indexOf("Linux")>=0,t
.isChromeOS
=/\bCrOS\b/.test(i
)},6106:(e
,t
)=>{Object
.defineProperty(t
,"__esModule",{value
:!0}),t
.SortedList
=void 0;let i
=0;t
.SortedList
=class{constructor(e
){this._getKey
=e
,this._array
=[]}clear(){this._array
.length
=0}insert(e
){0!==this._array
.length
?(i
=this._search(this._getKey(e
)),this._array
.splice(i
,0,e
)):this._array
.push(e
)}delete(e
){if(0===this._array
.length
)return!1;const t
=this._getKey(e
);if(void 0===t
)return!1;if(i
=this._search(t
),-1===i
)return!1;if(this._getKey(this._array
[i
])!==t
)return!1;do{if(this._array
[i
]===e
)return this._array
.splice(i
,1),!0}while(++i
<this._array
.length
&&this._getKey(this._array
[i
])===t
);return!1}*getKeyIterator(e
){if(0!==this._array
.length
&&(i
=this._search(e
),!(i
<0||i
>=this._array
.length
)&&this._getKey(this._array
[i
])===e
))do{yield this._array
[i
]}while(++i
<this._array
.length
&&this._getKey(this._array
[i
])===e
)}forEachByKey(e
,t
){if(0!==this._array
.length
&&(i
=this._search(e
),!(i
<0||i
>=this._array
.length
)&&this._getKey(this._array
[i
])===e
))do{t(this._array
[i
])}while(++i
<this._array
.length
&&this._getKey(this._array
[i
])===e
)}values(){return[...this._array
].values()}_search(e
){let t
=0,i
=this._array
.length
-1;for(;i
>=t
;){let s
=t
+i
>>1;const r
=this._getKey(this._array
[s
]);if(r
>e
)i
=s
-1;else{if(!(r
<e
)){for(;s
>0&&this._getKey(this._array
[s
-1])===e
;)s
--;return s
}t
=s
+1}}return t
}}},7226:(e
,t
,i
)=>{Object
.defineProperty(t
,"__esModule",{value
:!0}),t
.DebouncedIdleTask
=t
.IdleTaskQueue
=t
.PriorityTaskQueue
=void 0;const s
=i(6114);class r
{constructor(){this._tasks
=[],this._i
=0}enqueue(e
){this._tasks
.push(e
),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(e
){this._idleCallback
=void 0;let t
=0,i
=0,s
=e
.timeRemaining(),r
=0;for(;this._i
<this._tasks
.length
;){if(t
=Date
.now(),this._tasks
[this._i
]()||this._i
++,t
=Math
.max(1,Date
.now()-t
),i
=Math
.max(t
,i
),r
=e
.timeRemaining(),1.5*i
>r
)return s
-t
<-20&&console
.warn(`task queue exceeded allotted deadline by ${Math.abs(Math.round(s-t))}ms`),void this._start();s
=r
}this.clear()}}class n
extends r
{_requestCallback(e
){return setTimeout((()=>e(this._createDeadline(16))))}_cancelCallback(e
){clearTimeout(e
)}_createDeadline(e
){const t
=Date
.now()+e
;return{timeRemaining
:()=>Math
.max(0,t
-Date
.now())}}}t
.PriorityTaskQueue
=n
,t
.IdleTaskQueue
=!s
.isNode
&&"requestIdleCallback"in window
?class extends r
{_requestCallback(e
){return requestIdleCallback(e
)}_cancelCallback(e
){cancelIdleCallback(e
)}}:n
,t
.DebouncedIdleTask
=class{constructor(){this._queue
=new t
.IdleTaskQueue
}set(e
){this._queue
.clear(),this._queue
.enqueue(e
)}flush(){this._queue
.flush()}}},9282:(e
,t
,i
)=>{Object
.defineProperty(t
,"__esModule",{value
:!0}),t
.updateWindowsModeWrappedState
=void 0;const s
=i(643);t
.updateWindowsModeWrappedState=function(e
){const t
=e
.buffer
.lines
.get(e
.buffer
.ybase
+e
.buffer
.y
-1),i
=null==t
?void 0:t
.get(e
.cols
-1),r
=e
.buffer
.lines
.get(e
.buffer
.ybase
+e
.buffer
.y
);r
&&i
&&(r
.isWrapped
=i
[s
.CHAR_DATA_CODE_INDEX
]!==s
.NULL_CELL_CODE
&&i
[s
.CHAR_DATA_CODE_INDEX
]!==s
.WHITESPACE_CELL_CODE
)}},3734:(e
,t
)=>{Object
.defineProperty(t
,"__esModule",{value
:!0}),t
.ExtendedAttrs
=t
.AttributeData
=void 0;class i
{constructor(){this.fg
=0,this.bg
=0,this.extended
=new s
}static toColorRGB(e
){return[e
>>>16&255,e
>>>8&255,255&e
]}static fromColorRGB(e
){return(255&e
[0])<<16|(255&e
[1])<<8|255&e
[2]}clone(){const e
=new i
;return e
.fg
=this.fg
,e
.bg
=this.bg
,e
.extended
=this.extended
.clone(),e
}isInverse(){return 67108864&this.fg
}isBold(){return 134217728&this.fg
}isUnderline(){return this.hasExtendedAttrs()&&0!==this.extended
.underlineStyle
?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==(50331648&this.fg
)}isBgRGB(){return 50331648==(50331648&this.bg
)}isFgPalette(){return 16777216==(50331648&this.fg
)||33554432==(50331648&this.fg
)}isBgPalette(){return 16777216==(50331648&this.bg
)||33554432==(50331648&this.bg
)}isFgDefault(){return 0==(50331648&this.fg
)}isBgDefault(){return 0==(50331648&this.bg
)}isAttributeDefault(){return 0===this.fg
&&0===this.bg
}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==(50331648&this.extended
.underlineColor
):this.isFgRGB()}isUnderlineColorPalette(){return 268435456&this.bg
&&~this.extended
.underlineColor
?16777216==(50331648&this.extended
.underlineColor
)||33554432==(50331648&this.extended
.underlineColor
):this.isFgPalette()}isUnderlineColorDefault(){return 268435456&this.bg
&&~this.extended
.underlineColor
?0==(50331648&this.extended
.underlineColor
):this.isFgDefault()}getUnderlineStyle(){return 268435456&this.fg
?268435456&this.bg
?this.extended
.underlineStyle
:1:0}}t
.AttributeData
=i
;class s
{get ext(){return this._urlId
?-469762049&this._ext
|this.underlineStyle
<<26:this._ext
}set ext(e
){this._ext
=e
}get underlineStyle(){return this._urlId
?5:(469762048&this._ext
)>>26}set underlineStyle(e
){this._ext
&=-469762049,this._ext
|=e
<<26&469762048}get underlineColor(){return 67108863&this._ext
}set underlineColor(e
){this._ext
&=-67108864,this._ext
|=67108863&e
}get urlId(){return this._urlId
}set urlId(e
){this._urlId
=e
}constructor(e
=0,t
=0){this._ext
=0,this._urlId
=0,this._ext
=e
,this._urlId
=t
}clone(){return new s(this._ext
,this._urlId
)}isEmpty(){return 0===this.underlineStyle
&&0===this._urlId
}}t
.ExtendedAttrs
=s
},9092:(e
,t
,i
)=>{Object
.defineProperty(t
,"__esModule",{value
:!0}),t
.Buffer
=t
.MAX_BUFFER_SIZE
=void 0;const s
=i(6349),r
=i(7226),n
=i(3734),o
=i(8437),a
=i(4634),h
=i(511),c
=i(643),l
=i(4863),d
=i(7116);t
.MAX_BUFFER_SIZE
=4294967295,t
.Buffer
=class{constructor(e
,t
,i
){this._hasScrollback
=e
,this._optionsService
=t
,this._bufferService
=i
,this.ydisp
=0,this.ybase
=0,this.y
=0,this.x
=0,this.tabs
={},this.savedY
=0,this.savedX
=0,this.savedCurAttrData
=o
.DEFAULT_ATTR_DATA
.clone(),this.savedCharset
=d
.DEFAULT_CHARSET
,this.markers
=[],this._nullCell
=h
.CellData
.fromCharData([0,c
.NULL_CELL_CHAR
,c
.NULL_CELL_WIDTH
,c
.NULL_CELL_CODE
]),this._whitespaceCell
=h
.CellData
.fromCharData([0,c
.WHITESPACE_CELL_CHAR
,c
.WHITESPACE_CELL_WIDTH
,c
.WHITESPACE_CELL_CODE
]),this._isClearing
=!1,this._memoryCleanupQueue
=new r
.IdleTaskQueue
,this._memoryCleanupPosition
=0,this._cols
=this._bufferService
.cols
,this._rows
=this._bufferService
.rows
,this.lines
=new s
.CircularList(this._getCorrectBufferLength(this._rows
)),this.scrollTop
=0,this.scrollBottom
=this._rows
-1,this.setupTabStops()}getNullCell(e
){return e
?(this._nullCell
.fg
=e
.fg
,this._nullCell
.bg
=e
.bg
,this._nullCell
.extended
=e
.extended
):(this._nullCell
.fg
=0,this._nullCell
.bg
=0,this._nullCell
.extended
=new n
.ExtendedAttrs
),this._nullCell
}getWhitespaceCell(e
){return e
?(this._whitespaceCell
.fg
=e
.fg
,this._whitespaceCell
.bg
=e
.bg
,this._whitespaceCell
.extended
=e
.extended
):(this._whitespaceCell
.fg
=0,this._whitespaceCell
.bg
=0,this._whitespaceCell
.extended
=new n
.ExtendedAttrs
),this._whitespaceCell
}getBlankLine(e
,t
){return new o
.BufferLine(this._bufferService
.cols
,this.getNullCell(e
),t
)}get hasScrollback(){return this._hasScrollback
&&this.lines
.maxLength
>this._rows
}get isCursorInViewport(){const e
=this.ybase
+this.y
-this.ydisp
;return e
>=0&&e
<this._rows
}_getCorrectBufferLength(e
){if(!this._hasScrollback
)return e
;const i
=e
+this._optionsService
.rawOptions
.scrollback
;return i
>t
.MAX_BUFFER_SIZE
?t
.MAX_BUFFER_SIZE
:i
}fillViewportRows(e
){if(0===this.lines
.length
){void 0===e
&&(e
=o
.DEFAULT_ATTR_DATA
);let t
=this._rows
;for(;t
--;)this.lines
.push(this.getBlankLine(e
))}}clear(){this.ydisp
=0,this.ybase
=0,this.y
=0,this.x
=0,this.lines
=new s
.CircularList(this._getCorrectBufferLength(this._rows
)),this.scrollTop
=0,this.scrollBottom
=this._rows
-1,this.setupTabStops()}resize(e
,t
){const i
=this.getNullCell(o
.DEFAULT_ATTR_DATA
);let s
=0;const r
=this._getCorrectBufferLength(t
);if(r
>this.lines
.maxLength
&&(this.lines
.maxLength
=r
),this.lines
.length
>0){if(this._cols
<e
)for(let t
=0;t
<this.lines
.length
;t
++)s
+=+this.lines
.get(t
).resize(e
,i
);let n
=0;if(this._rows
<t
)for(let s
=this._rows
;s
<t
;s
++)this.lines
.length
<t
+this.ybase
&&(this._optionsService
.rawOptions
.windowsMode
||void 0!==this._optionsService
.rawOptions
.windowsPty
.backend
||void 0!==this._optionsService
.rawOptions
.windowsPty
.buildNumber
?this.lines
.push(new o
.BufferLine(e
,i
)):this.ybase
>0&&this.lines
.length
<=this.ybase
+this.y
+n
+1?(this.ybase
--,n
++,this.ydisp
>0&&this.ydisp
--):this.lines
.push(new o
.BufferLine(e
,i
)));else for(let e
=this._rows
;e
>t
;e
--)this.lines
.length
>t
+this.ybase
&&(this.lines
.length
>this.ybase
+this.y
+1?this.lines
.pop():(this.ybase
++,this.ydisp
++));if(r
<this.lines
.maxLength
){const e
=this.lines
.length
-r
;e
>0&&(this.lines
.trimStart(e
),this.ybase
=Math
.max(this.ybase
-e
,0),this.ydisp
=Math
.max(this.ydisp
-e
,0),this.savedY
=Math
.max(this.savedY
-e
,0)),this.lines
.maxLength
=r
}this.x
=Math
.min(this.x
,e
-1),this.y
=Math
.min(this.y
,t
-1),n
&&(this.y
+=n
),this.savedX
=Math
.min(this.savedX
,e
-1),this.scrollTop
=0}if(this.scrollBottom
=t
-1,this._isReflowEnabled
&&(this._reflow(e
,t
),this._cols
>e
))for(let t
=0;t
<this.lines
.length
;t
++)s
+=+this.lines
.get(t
).resize(e
,i
);this._cols
=e
,this._rows
=t
,this._memoryCleanupQueue
.clear(),s
>.1*this.lines
.length
&&(this._memoryCleanupPosition
=0,this._memoryCleanupQueue
.enqueue((()=>this._batchedMemoryCleanup())))}_batchedMemoryCleanup(){let e
=!0;this._memoryCleanupPosition
>=this.lines
.length
&&(this._memoryCleanupPosition
=0,e
=!1);let t
=0;for(;this._memoryCleanupPosition
<this.lines
.length
;)if(t
+=this.lines
.get(this._memoryCleanupPosition
++).cleanupMemory(),t
>100)return!0;return e
}get _isReflowEnabled(){const e
=this._optionsService
.rawOptions
.windowsPty
;return e
&&e
.buildNumber
?this._hasScrollback
&&"conpty"===e
.backend
&&e
.buildNumber
>=21376:this._hasScrollback
&&!this._optionsService
.rawOptions
.windowsMode
}_reflow(e
,t
){this._cols
!==e
&&(e
>this._cols
?this._reflowLarger(e
,t
):this._reflowSmaller(e
,t
))}_reflowLarger(e
,t
){const i
=(0,a
.reflowLargerGetLinesToRemove
)(this.lines
,this._cols
,e
,this.ybase
+this.y
,this.getNullCell(o
.DEFAULT_ATTR_DATA
));if(i
.length
>0){const s
=(0,a
.reflowLargerCreateNewLayout
)(this.lines
,i
);(0,a
.reflowLargerApplyNewLayout
)(this.lines
,s
.layout
),this._reflowLargerAdjustViewport(e
,t
,s
.countRemoved
)}}_reflowLargerAdjustViewport(e
,t
,i
){const s
=this.getNullCell(o
.DEFAULT_ATTR_DATA
);let r
=i
;for(;r
-- >0;)0===this.ybase
?(this.y
>0&&this.y
--,this.lines
.length
<t
&&this.lines
.push(new o
.BufferLine(e
,s
))):(this.ydisp
===this.ybase
&&this.ydisp
--,this.ybase
--);this.savedY
=Math
.max(this.savedY
-i
,0)}_reflowSmaller(e
,t
){const i
=this.getNullCell(o
.DEFAULT_ATTR_DATA
),s
=[];let r
=0;for(let n
=this.lines
.length
-1;n
>=0;n
--){let h
=this.lines
.get(n
);if(!h
||!h
.isWrapped
&&h
.getTrimmedLength()<=e
)continue;const c
=[h
];for(;h
.isWrapped
&&n
>0;)h
=this.lines
.get(--n
),c
.unshift(h
);const l
=this.ybase
+this.y
;if(l
>=n
&&l
<n
+c
.length
)continue;const d
=c
[c
.length
-1].getTrimmedLength(),_
=(0,a
.reflowSmallerGetNewLineLengths
)(c
,this._cols
,e
),u
=_
.length
-c
.length
;let f
;f
=0===this.ybase
&&this.y
!==this.lines
.length
-1?Math
.max(0,this.y
-this.lines
.maxLength
+u
):Math
.max(0,this.lines
.length
-this.lines
.maxLength
+u
);const v
=[];for(let e
=0;e
<u
;e
++){const e
=this.getBlankLine(o
.DEFAULT_ATTR_DATA
,!0);v
.push(e
)}v
.length
>0&&(s
.push({start
:n
+c
.length
+r
,newLines
:v
}),r
+=v
.length
),c
.push(...v
);let p
=_
.length
-1,g
=_
[p
];0===g
&&(p
--,g
=_
[p
]);let m
=c
.length
-u
-1,S
=d
;for(;m
>=0;){const e
=Math
.min(S
,g
);if(void 0===c
[p
])break;if(c
[p
].copyCellsFrom(c
[m
],S
-e
,g
-e
,e
,!0),g
-=e
,0===g
&&(p
--,g
=_
[p
]),S
-=e
,0===S
){m
--;const e
=Math
.max(m
,0);S
=(0,a
.getWrappedLineTrimmedLength
)(c
,e
,this._cols
)}}for(let t
=0;t
<c
.length
;t
++)_
[t
]<e
&&c
[t
].setCell(_
[t
],i
);let C
=u
-f
;for(;C
-- >0;)0===this.ybase
?this.y
<t
-1?(this.y
++,this.lines
.pop()):(this.ybase
++,this.ydisp
++):this.ybase
<Math
.min(this.lines
.maxLength
,this.lines
.length
+r
)-t
&&(this.ybase
===this.ydisp
&&this.ydisp
++,this.ybase
++);this.savedY
=Math
.min(this.savedY
+u
,this.ybase
+t
-1)}if(s
.length
>0){const e
=[],t
=[];for(let e
=0;e
<this.lines
.length
;e
++)t
.push(this.lines
.get(e
));const i
=this.lines
.length
;let n
=i
-1,o
=0,a
=s
[o
];this.lines
.length
=Math
.min(this.lines
.maxLength
,this.lines
.length
+r
);let h
=0;for(let c
=Math
.min(this.lines
.maxLength
-1,i
+r
-1);c
>=0;c
--)if(a
&&a
.start
>n
+h
){for(let e
=a
.newLines
.length
-1;e
>=0;e
--)this.lines
.set(c
--,a
.newLines
[e
]);c
++,e
.push({index
:n
+1,amount
:a
.newLines
.length
}),h
+=a
.newLines
.length
,a
=s
[++o
]}else this.lines
.set(c
,t
[n
--]);let c
=0;for(let t
=e
.length
-1;t
>=0;t
--)e
[t
].index
+=c
,this.lines
.onInsertEmitter
.fire(e
[t
]),c
+=e
[t
].amount
;const l
=Math
.max(0,i
+r
-this.lines
.maxLength
);l
>0&&this.lines
.onTrimEmitter
.fire(l
)}}translateBufferLineToString(e
,t
,i
=0,s
){const r
=this.lines
.get(e
);return r
?r
.translateToString(t
,i
,s
):""}getWrappedRangeForLine(e
){let t
=e
,i
=e
;for(;t
>0&&this.lines
.get(t
).isWrapped
;)t
--;for(;i
+1<this.lines
.length
&&this.lines
.get(i
+1).isWrapped
;)i
++;return{first
:t
,last
:i
}}setupTabStops(e
){for(null!=e
?this.tabs
[e
]||(e
=this.prevStop(e
)):(this.tabs
={},e
=0);e
<this._cols
;e
+=this._optionsService
.rawOptions
.tabStopWidth
)this.tabs
[e
]=!0}prevStop(e
){for(null==e
&&(e
=this.x
);!this.tabs
[--e
]&&e
>0;);return e
>=this._cols
?this._cols
-1:e
<0?0:e
}nextStop(e
){for(null==e
&&(e
=this.x
);!this.tabs
[++e
]&&e
<this._cols
;);return e
>=this._cols
?this._cols
-1:e
<0?0:e
}clearMarkers(e
){this._isClearing
=!0;for(let t
=0;t
<this.markers
.length
;t
++)this.markers
[t
].line
===e
&&(this.markers
[t
].dispose(),this.markers
.splice(t
--,1));this._isClearing
=!1}clearAllMarkers(){this._isClearing
=!0;for(let e
=0;e
<this.markers
.length
;e
++)this.markers
[e
].dispose(),this.markers
.splice(e
--,1);this._isClearing
=!1}addMarker(e
){const t
=new l
.Marker(e
);return this.markers
.push(t
),t
.register(this.lines
.onTrim((e
=>{t
.line
-=e
,t
.line
<0&&t
.dispose()}))),t
.register(this.lines
.onInsert((e
=>{t
.line
>=e
.index
&&(t
.line
+=e
.amount
)}))),t
.register(this.lines
.onDelete((e
=>{t
.line
>=e
.index
&&t
.line
<e
.index
+e
.amount
&&t
.dispose(),t
.line
>e
.index
&&(t
.line
-=e
.amount
)}))),t
.register(t
.onDispose((()=>this._removeMarker(t
)))),t
}_removeMarker(e
){this._isClearing
||this.markers
.splice(this.markers
.indexOf(e
),1)}}},8437:(e
,t
,i
)=>{Object
.defineProperty(t
,"__esModule",{value
:!0}),t
.BufferLine
=t
.DEFAULT_ATTR_DATA
=void 0;const s
=i(3734),r
=i(511),n
=i(643),o
=i(482);t
.DEFAULT_ATTR_DATA
=Object
.freeze(new s
.AttributeData
);let a
=0;class h
{constructor(e
,t
,i
=!1){this.isWrapped
=i
,this._combined
={},this._extendedAttrs
={},this._data
=new Uint32Array(3*e
);const s
=t
||r
.CellData
.fromCharData([0,n
.NULL_CELL_CHAR
,n
.NULL_CELL_WIDTH
,n
.NULL_CELL_CODE
]);for(let t
=0;t
<e
;++t
)this.setCell(t
,s
);this.length
=e
}get(e
){const t
=this._data
[3*e
+0],i
=2097151&t
;return[this._data
[3*e
+1],2097152&t
?this._combined
[e
]:i
?(0,o
.stringFromCodePoint
)(i
):"",t
>>22,2097152&t
?this._combined
[e
].charCodeAt(this._combined
[e
].length
-1):i
]}set(e
,t
){this._data
[3*e
+1]=t
[n
.CHAR_DATA_ATTR_INDEX
],t
[n
.CHAR_DATA_CHAR_INDEX
].length
>1?(this._combined
[e
]=t
[1],this._data
[3*e
+0]=2097152|e
|t
[n
.CHAR_DATA_WIDTH_INDEX
]<<22):this._data
[3*e
+0]=t
[n
.CHAR_DATA_CHAR_INDEX
].charCodeAt(0)|t
[n
.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
){const t
=this._data
[3*e
+0];return 2097152&t
?this._combined
[e
].charCodeAt(this._combined
[e
].length
-1):2097151&t
}isCombined(e
){return 2097152&this._data
[3*e
+0]}getString(e
){const t
=this._data
[3*e
+0];return 2097152&t
?this._combined
[e
]:2097151&t
?(0,o
.stringFromCodePoint
)(2097151&t
):""}isProtected(e
){return 536870912&this._data
[3*e
+2]}loadCell(e
,t
){return a
=3*e
,t
.content
=this._data
[a
+0],t
.fg
=this._data
[a
+1],t
.bg
=this._data
[a
+2],2097152&t
.content
&&(t
.combinedData
=this._combined
[e
]),268435456&t
.bg
&&(t
.extended
=this._extendedAttrs
[e
]),t
}setCell(e
,t
){2097152&t
.content
&&(this._combined
[e
]=t
.combinedData
),268435456&t
.bg
&&(this._extendedAttrs
[e
]=t
.extended
),this._data
[3*e
+0]=t
.content
,this._data
[3*e
+1]=t
.fg
,this._data
[3*e
+2]=t
.bg
}setCellFromCodePoint(e
,t
,i
,s
,r
,n
){268435456&r
&&(this._extendedAttrs
[e
]=n
),this._data
[3*e
+0]=t
|i
<<22,this._data
[3*e
+1]=s
,this._data
[3*e
+2]=r
}addCodepointToCell(e
,t
){let i
=this._data
[3*e
+0];2097152&i
?this._combined
[e
]+=(0,o
.stringFromCodePoint
)(t
):(2097151&i
?(this._combined
[e
]=(0,o
.stringFromCodePoint
)(2097151&i
)+(0,o
.stringFromCodePoint
)(t
),i
&=-2097152,i
|=2097152):i
=t
|1<<22,this._data
[3*e
+0]=i
)}insertCells(e
,t
,i
,n
){if((e
%=this.length
)&&2===this.getWidth(e
-1)&&this.setCellFromCodePoint(e
-1,0,1,(null==n
?void 0:n
.fg
)||0,(null==n
?void 0:n
.bg
)||0,(null==n
?void 0:n
.extended
)||new s
.ExtendedAttrs
),t
<this.length
-e
){const s
=new r
.CellData
;for(let i
=this.length
-e
-t
-1;i
>=0;--i
)this.setCell(e
+t
+i
,this.loadCell(e
+i
,s
));for(let s
=0;s
<t
;++s
)this.setCell(e
+s
,i
)}else for(let t
=e
;t
<this.length
;++t
)this.setCell(t
,i
);2===this.getWidth(this.length
-1)&&this.setCellFromCodePoint(this.length
-1,0,1,(null==n
?void 0:n
.fg
)||0,(null==n
?void 0:n
.bg
)||0,(null==n
?void 0:n
.extended
)||new s
.ExtendedAttrs
)}deleteCells(e
,t
,i
,n
){if(e
%=this.length
,t
<this.length
-e
){const s
=new r
.CellData
;for(let i
=0;i
<this.length
-e
-t
;++i
)this.setCell(e
+i
,this.loadCell(e
+t
+i
,s
));for(let e
=this.length
-t
;e
<this.length
;++e
)this.setCell(e
,i
)}else for(let t
=e
;t
<this.length
;++t
)this.setCell(t
,i
);e
&&2===this.getWidth(e
-1)&&this.setCellFromCodePoint(e
-1,0,1,(null==n
?void 0:n
.fg
)||0,(null==n
?void 0:n
.bg
)||0,(null==n
?void 0:n
.extended
)||new s
.ExtendedAttrs
),0!==this.getWidth(e
)||this.hasContent(e
)||this.setCellFromCodePoint(e
,0,1,(null==n
?void 0:n
.fg
)||0,(null==n
?void 0:n
.bg
)||0,(null==n
?void 0:n
.extended
)||new s
.ExtendedAttrs
)}replaceCells(e
,t
,i
,r
,n
=!1){if(n
)for(e
&&2===this.getWidth(e
-1)&&!this.isProtected(e
-1)&&this.setCellFromCodePoint(e
-1,0,1,(null==r
?void 0:r
.fg
)||0,(null==r
?void 0:r
.bg
)||0,(null==r
?void 0:r
.extended
)||new s
.ExtendedAttrs
),t
<this.length
&&2===this.getWidth(t
-1)&&!this.isProtected(t
)&&this.setCellFromCodePoint(t
,0,1,(null==r
?void 0:r
.fg
)||0,(null==r
?void 0:r
.bg
)||0,(null==r
?void 0:r
.extended
)||new s
.ExtendedAttrs
);e
<t
&&e
<this.length
;)this.isProtected(e
)||this.setCell(e
,i
),e
++;else for(e
&&2===this.getWidth(e
-1)&&this.setCellFromCodePoint(e
-1,0,1,(null==r
?void 0:r
.fg
)||0,(null==r
?void 0:r
.bg
)||0,(null==r
?void 0:r
.extended
)||new s
.ExtendedAttrs
),t
<this.length
&&2===this.getWidth(t
-1)&&this.setCellFromCodePoint(t
,0,1,(null==r
?void 0:r
.fg
)||0,(null==r
?void 0:r
.bg
)||0,(null==r
?void 0:r
.extended
)||new s
.ExtendedAttrs
);e
<t
&&e
<this.length
;)this.setCell(e
++,i
)}resize(e
,t
){if(e
===this.length
)return 4*this._data
.length
*2<this._data
.buffer
.byteLength
;const i
=3*e
;if(e
>this.length
){if(this._data
.buffer
.byteLength
>=4*i
)this._data
=new Uint32Array(this._data
.buffer
,0,i
);else{const e
=new Uint32Array(i
);e
.set(this._data
),this._data
=e
}for(let i
=this.length
;i
<e
;++i
)this.setCell(i
,t
)}else{this._data
=this._data
.subarray(0,i
);const t
=Object
.keys(this._combined
);for(let i
=0;i
<t
.length
;i
++){const s
=parseInt(t
[i
],10);s
>=e
&&delete this._combined
[s
]}const s
=Object
.keys(this._extendedAttrs
);for(let t
=0;t
<s
.length
;t
++){const i
=parseInt(s
[t
],10);i
>=e
&&delete this._extendedAttrs
[i
]}}return this.length
=e
,4*i
*2<this._data
.buffer
.byteLength
}cleanupMemory(){if(4*this._data
.length
*2<this._data
.buffer
.byteLength
){const e
=new Uint32Array(this._data
.length
);return e
.set(this._data
),this._data
=e
,1}return 0}fill(e
,t
=!1){if(t
)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(const t
in e
._combined
)this._combined
[t
]=e
._combined
[t
];this._extendedAttrs
={};for(const t
in e
._extendedAttrs
)this._extendedAttrs
[t
]=e
._extendedAttrs
[t
];this.isWrapped
=e
.isWrapped
}clone(){const e
=new h(0);e
._data
=new Uint32Array(this._data
),e
.length
=this.length
;for(const t
in this._combined
)e
._combined
[t
]=this._combined
[t
];for(const t
in this._extendedAttrs
)e
._extendedAttrs
[t
]=this._extendedAttrs
[t
];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
,t
,i
,s
,r
){const n
=e
._data
;if(r
)for(let r
=s
-1;r
>=0;r
--){for(let e
=0;e
<3;e
++)this._data
[3*(i
+r
)+e
]=n
[3*(t
+r
)+e
];268435456&n
[3*(t
+r
)+2]&&(this._extendedAttrs
[i
+r
]=e
._extendedAttrs
[t
+r
])}else for(let r
=0;r
<s
;r
++){for(let e
=0;e
<3;e
++)this._data
[3*(i
+r
)+e
]=n
[3*(t
+r
)+e
];268435456&n
[3*(t
+r
)+2]&&(this._extendedAttrs
[i
+r
]=e
._extendedAttrs
[t
+r
])}const o
=Object
.keys(e
._combined
);for(let s
=0;s
<o
.length
;s
++){const r
=parseInt(o
[s
],10);r
>=t
&&(this._combined
[r
-t
+i
]=e
._combined
[r
])}}translateToString(e
=!1,t
=0,i
=this.length
){e
&&(i
=Math
.min(i
,this.getTrimmedLength()));let s
="";for(;t
<i
;){const e
=this._data
[3*t
+0],i
=2097151&e
;s
+=2097152&e
?this._combined
[t
]:i
?(0,o
.stringFromCodePoint
)(i
):n
.WHITESPACE_CELL_CHAR
,t
+=e
>>22||1}return s
}}t
.BufferLine
=h
},4841:(e
,t
)=>{Object
.defineProperty(t
,"__esModule",{value
:!0}),t
.getRangeLength
=void 0,t
.getRangeLength=function(e
,t
){if(e
.start
.y
>e
.end
.y
)throw new Error(`Buffer range end (${e.end.x}, ${e.end.y}) cannot be before start (${e.start.x}, ${e.start.y})`);return t
*(e
.end
.y
-e
.start
.y
)+(e
.end
.x
-e
.start
.x
+1)}},4634:(e
,t
)=>{function i(e
,t
,i
){if(t
===e
.length
-1)return e
[t
].getTrimmedLength();const s
=!e
[t
].hasContent(i
-1)&&1===e
[t
].getWidth(i
-1),r
=2===e
[t
+1].getWidth(0);return s
&&r
?i
-1:i
}Object
.defineProperty(t
,"__esModule",{value
:!0}),t
.getWrappedLineTrimmedLength
=t
.reflowSmallerGetNewLineLengths
=t
.reflowLargerApplyNewLayout
=t
.reflowLargerCreateNewLayout
=t
.reflowLargerGetLinesToRemove
=void 0,t
.reflowLargerGetLinesToRemove=function(e
,t
,s
,r
,n
){const o
=[];for(let a
=0;a
<e
.length
-1;a
++){let h
=a
,c
=e
.get(++h
);if(!c
.isWrapped
)continue;const l
=[e
.get(a
)];for(;h
<e
.length
&&c
.isWrapped
;)l
.push(c
),c
=e
.get(++h
);if(r
>=a
&&r
<h
){a
+=l
.length
-1;continue}let d
=0,_
=i(l
,d
,t
),u
=1,f
=0;for(;u
<l
.length
;){const e
=i(l
,u
,t
),r
=e
-f
,o
=s
-_
,a
=Math
.min(r
,o
);l
[d
].copyCellsFrom(l
[u
],f
,_
,a
,!1),_
+=a
,_
===s
&&(d
++,_
=0),f
+=a
,f
===e
&&(u
++,f
=0),0===_
&&0!==d
&&2===l
[d
-1].getWidth(s
-1)&&(l
[d
].copyCellsFrom(l
[d
-1],s
-1,_
++,1,!1),l
[d
-1].setCell(s
-1,n
))}l
[d
].replaceCells(_
,s
,n
);let v
=0;for(let e
=l
.length
-1;e
>0&&(e
>d
||0===l
[e
].getTrimmedLength());e
--)v
++;v
>0&&(o
.push(a
+l
.length
-v
),o
.push(v
)),a
+=l
.length
-1}return o
},t
.reflowLargerCreateNewLayout=function(e
,t
){const i
=[];let s
=0,r
=t
[s
],n
=0;for(let o
=0;o
<e
.length
;o
++)if(r
===o
){const i
=t
[++s
];e
.onDeleteEmitter
.fire({index
:o
-n
,amount
:i
}),o
+=i
-1,n
+=i
,r
=t
[++s
]}else i
.push(o
);return{layout
:i
,countRemoved
:n
}},t
.reflowLargerApplyNewLayout=function(e
,t
){const i
=[];for(let s
=0;s
<t
.length
;s
++)i
.push(e
.get(t
[s
]));for(let t
=0;t
<i
.length
;t
++)e
.set(t
,i
[t
]);e
.length
=t
.length
},t
.reflowSmallerGetNewLineLengths=function(e
,t
,s
){const r
=[],n
=e
.map(((s
,r
)=>i(e
,r
,t
))).reduce(((e
,t
)=>e
+t
));let o
=0,a
=0,h
=0;for(;h
<n
;){if(n
-h
<s
){r
.push(n
-h
);break}o
+=s
;const c
=i(e
,a
,t
);o
>c
&&(o
-=c
,a
++);const l
=2===e
[a
].getWidth(o
-1);l
&&o
--;const d
=l
?s
-1:s
;r
.push(d
),h
+=d
}return r
},t
.getWrappedLineTrimmedLength
=i
},5295:(e
,t
,i
)=>{Object
.defineProperty(t
,"__esModule",{value
:!0}),t
.BufferSet
=void 0;const s
=i(8460),r
=i(844),n
=i(9092);class o
extends r
.Disposable
{constructor(e
,t
){super(),this._optionsService
=e
,this._bufferService
=t
,this._onBufferActivate
=this.register(new s
.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 n
.Buffer(!0,this._optionsService
,this._bufferService
),this._normal
.fillViewportRows(),this._alt
=new n
.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(e
){this._activeBuffer
!==this._alt
&&(this._alt
.fillViewportRows(e
),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(e
,t
){this._normal
.resize(e
,t
),this._alt
.resize(e
,t
),this.setupTabStops(e
)}setupTabStops(e
){this._normal
.setupTabStops(e
),this._alt
.setupTabStops(e
)}}t
.BufferSet
=o
},511:(e
,t
,i
)=>{Object
.defineProperty(t
,"__esModule",{value
:!0}),t
.CellData
=void 0;const s
=i(482),r
=i(643),n
=i(3734);class o
extends n
.AttributeData
{constructor(){super(...arguments
),this.content
=0,this.fg
=0,this.bg
=0,this.extended
=new n
.ExtendedAttrs
,this.combinedData
=""}static fromCharData(e
){const t
=new o
;return t
.setFromCharData(e
),t
}isCombined(){return 2097152&this.content
}getWidth(){return this.content
>>22}getChars(){return 2097152&this.content
?this.combinedData
:2097151&this.content
?(0,s
.stringFromCodePoint
)(2097151&this.content
):""}getCode(){return this.isCombined()?this.combinedData
.charCodeAt(this.combinedData
.length
-1):2097151&this.content
}setFromCharData(e
){this.fg
=e
[r
.CHAR_DATA_ATTR_INDEX
],this.bg
=0;let t
=!1;if(e
[r
.CHAR_DATA_CHAR_INDEX
].length
>2)t
=!0;else if(2===e
[r
.CHAR_DATA_CHAR_INDEX
].length
){const i
=e
[r
.CHAR_DATA_CHAR_INDEX
].charCodeAt(0);if(55296<=i
&&i
<=56319){const s
=e
[r
.CHAR_DATA_CHAR_INDEX
].charCodeAt(1);56320<=s
&&s
<=57343?this.content
=1024*(i
-55296)+s
-56320+65536|e
[r
.CHAR_DATA_WIDTH_INDEX
]<<22:t
=!0}else t
=!0}else this.content
=e
[r
.CHAR_DATA_CHAR_INDEX
].charCodeAt(0)|e
[r
.CHAR_DATA_WIDTH_INDEX
]<<22;t
&&(this.combinedData
=e
[r
.CHAR_DATA_CHAR_INDEX
],this.content
=2097152|e
[r
.CHAR_DATA_WIDTH_INDEX
]<<22)}getAsCharData(){return[this.fg
,this.getChars(),this.getWidth(),this.getCode()]}}t
.CellData
=o
},643:(e
,t
)=>{Object
.defineProperty(t
,"__esModule",{value
:!0}),t
.WHITESPACE_CELL_CODE
=t
.WHITESPACE_CELL_WIDTH
=t
.WHITESPACE_CELL_CHAR
=t
.NULL_CELL_CODE
=t
.NULL_CELL_WIDTH
=t
.NULL_CELL_CHAR
=t
.CHAR_DATA_CODE_INDEX
=t
.CHAR_DATA_WIDTH_INDEX
=t
.CHAR_DATA_CHAR_INDEX
=t
.CHAR_DATA_ATTR_INDEX
=t
.DEFAULT_EXT
=t
.DEFAULT_ATTR
=t
.DEFAULT_COLOR
=void 0,t
.DEFAULT_COLOR
=0,t
.DEFAULT_ATTR
=256|t
.DEFAULT_COLOR
<<9,t
.DEFAULT_EXT
=0,t
.CHAR_DATA_ATTR_INDEX
=0,t
.CHAR_DATA_CHAR_INDEX
=1,t
.CHAR_DATA_WIDTH_INDEX
=2,t
.CHAR_DATA_CODE_INDEX
=3,t
.NULL_CELL_CHAR
="",t
.NULL_CELL_WIDTH
=1,t
.NULL_CELL_CODE
=0,t
.WHITESPACE_CELL_CHAR
=" ",t
.WHITESPACE_CELL_WIDTH
=1,t
.WHITESPACE_CELL_CODE
=32},4863:(e
,t
,i
)=>{Object
.defineProperty(t
,"__esModule",{value
:!0}),t
.Marker
=void 0;const s
=i(8460),r
=i(844);class n
{get id(){return this._id
}constructor(e
){this.line
=e
,this.isDisposed
=!1,this._disposables
=[],this._id
=n
._nextId
++,this._onDispose
=this.register(new s
.EventEmitter
),this.onDispose
=this._onDispose
.event
}dispose(){this.isDisposed
||(this.isDisposed
=!0,this.line
=-1,this._onDispose
.fire(),(0,r
.disposeArray
)(this._disposables
),this._disposables
.length
=0)}register(e
){return this._disposables
.push(e
),e
}}t
.Marker
=n
,n
._nextId
=1},7116:(e
,t
)=>{Object
.defineProperty(t
,"__esModule",{value
:!0}),t
.DEFAULT_CHARSET
=t
.CHARSETS
=void 0,t
.CHARSETS
={},t
.DEFAULT_CHARSET
=t
.CHARSETS
.B
,t
.CHARSETS
[0]={"`":"◆",a
:"▒",b
:"␉",c
:"␌",d
:"␍",e
:"␊",f
:"°",g
:"±",h
:"",i
:"␋",j
:"┘",k
:"┐",l
:"┌",m
:"└",n
:"┼",o
:"⎺",p
:"⎻",q
:"─",r
:"⎼",s
:"⎽",t
:"├",u
:"┤",v
:"┴",w
:"┬",x
:"│",y
:"≤",z
:"≥","{":"π","|":"≠","}":"£","~":"·"},t
.CHARSETS
.A
={"#":"£"},t
.CHARSETS
.B
=void 0,t
.CHARSETS
[4]={"#":"£","@":"¾","[":"ij","\\":"½","]":"|","{":"¨","|":"f","}":"¼","~":"´"},t
.CHARSETS
.C
=t
.CHARSETS
[5]={"[":"Ä","\\":"Ö","]":"Å","^":"Ü","`":"é","{":"ä","|":"ö","}":"å","~":"ü"},t
.CHARSETS
.R
={"#":"£","@":"à","[":"°","\\":"ç","]":"§","{":"é","|":"ù","}":"è","~":"¨"},t
.CHARSETS
.Q
={"@":"à","[":"â","\\":"ç","]":"ê","^":"î","`":"ô","{":"é","|":"ù","}":"è","~":"û"},t
.CHARSETS
.K
={"@":"§","[":"Ä","\\":"Ö","]":"Ü","{":"ä","|":"ö","}":"ü","~":"ß"},t
.CHARSETS
.Y
={"#":"£","@":"§","[":"°","\\":"ç","]":"é","`":"ù","{":"à","|":"ò","}":"è","~":"ì"},t
.CHARSETS
.E
=t
.CHARSETS
[6]={"@":"Ä","[":"Æ","\\":"Ø","]":"Å","^":"Ü","`":"ä","{":"æ","|":"ø","}":"å","~":"ü"},t
.CHARSETS
.Z
={"#":"£","@":"§","[":"¡","\\":"Ñ","]":"¿","{":"°","|":"ñ","}":"ç"},t
.CHARSETS
.H
=t
.CHARSETS
[7]={"@":"É","[":"Ä","\\":"Ö","]":"Å","^":"Ü","`":"é","{":"ä","|":"ö","}":"å","~":"ü"},t
.CHARSETS
["="]={"#":"ù","@":"à","[":"é","\\":"ç","]":"ê","^":"î",_
:"è","`":"ô","{":"ä","|":"ö","}":"ü","~":"û"}},2584:(e
,t
)=>{var i
,s
,r
;Object
.defineProperty(t
,"__esModule",{value
:!0}),t
.C1_ESCAPED
=t
.C1
=t
.C0
=void 0,function(e
){e
.NUL
="\0",e
.SOH
="\ 1",e
.STX
="\ 2",e
.ETX
="\ 3",e
.EOT
="\ 4",e
.ENQ
="\ 5",e
.ACK
="\ 6",e
.BEL
="\a",e
.BS
="\b",e
.HT
="\t",e
.LF
="\n",e
.VT
="\v",e
.FF
="\f",e
.CR
="\r",e
.SO
="\ e",e
.SI
="\ f",e
.DLE
="\10",e
.DC1
="\11",e
.DC2
="\12",e
.DC3
="\13",e
.DC4
="\14",e
.NAK
="\15",e
.SYN
="\16",e
.ETB
="\17",e
.CAN
="\18",e
.EM
="\19",e
.SUB
="\1a",e
.ESC
="\e",e
.FS
="\1c",e
.GS
="\1d",e
.RS
="\1e",e
.US
="\1f",e
.SP
=" ",e
.DEL
="\7f"}(i
||(t
.C0
=i
={})),function(e
){e
.PAD
="\80",e
.HOP
="\81",e
.BPH
="\82",e
.NBH
="\83",e
.IND
="\84",e
.NEL
="\85",e
.SSA
="\86",e
.ESA
="\87",e
.HTS
="\88",e
.HTJ
="\89",e
.VTS
="\8a",e
.PLD
="\8b",e
.PLU
="\8c",e
.RI
="\8d",e
.SS2
="\8e",e
.SS3
="\8f",e
.DCS
="\90",e
.PU1
="\91",e
.PU2
="\92",e
.STS
="\93",e
.CCH
="\94",e
.MW
="\95",e
.SPA
="\96",e
.EPA
="\97",e
.SOS
="\98",e
.SGCI
="\99",e
.SCI
="\9a",e
.CSI
="\9b",e
.ST
="\9c",e
.OSC
="\9d",e
.PM
="\9e",e
.APC
="\9f"}(s
||(t
.C1
=s
={})),function(e
){e
.ST
=`${i.ESC}\\`}(r
||(t
.C1_ESCAPED
=r
={}))},7399:(e
,t
,i
)=>{Object
.defineProperty(t
,"__esModule",{value
:!0}),t
.evaluateKeyboardEvent
=void 0;const s
=i(2584),r
={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:["'",'"']};t
.evaluateKeyboardEvent=function(e
,t
,i
,n
){const o
={type
:0,cancel
:!1,key
:void 0},a
=(e
.shiftKey
?1:0)|(e
.altKey
?2:0)|(e
.ctrlKey
?4:0)|(e
.metaKey
?8:0);switch(e
.keyCode
){case 0:"UIKeyInputUpArrow"===e
.key
?o
.key
=t
?s
.C0
.ESC
+"OA":s
.C0
.ESC
+"[A":"UIKeyInputLeftArrow"===e
.key
?o
.key
=t
?s
.C0
.ESC
+"OD":s
.C0
.ESC
+"[D":"UIKeyInputRightArrow"===e
.key
?o
.key
=t
?s
.C0
.ESC
+"OC":s
.C0
.ESC
+"[C":"UIKeyInputDownArrow"===e
.key
&&(o
.key
=t
?s
.C0
.ESC
+"OB":s
.C0
.ESC
+"[B");break;case 8:if(e
.altKey
){o
.key
=s
.C0
.ESC
+s
.C0
.DEL
;break}o
.key
=s
.C0
.DEL
;break;case 9:if(e
.shiftKey
){o
.key
=s
.C0
.ESC
+"[Z";break}o
.key
=s
.C0
.HT
,o
.cancel
=!0;break;case 13:o
.key
=e
.altKey
?s
.C0
.ESC
+s
.C0
.CR
:s
.C0
.CR
,o
.cancel
=!0;break;case 27:o
.key
=s
.C0
.ESC
,e
.altKey
&&(o
.key
=s
.C0
.ESC
+s
.C0
.ESC
),o
.cancel
=!0;break;case 37:if(e
.metaKey
)break;a
?(o
.key
=s
.C0
.ESC
+"[1;"+(a
+1)+"D",o
.key
===s
.C0
.ESC
+"[1;3D"&&(o
.key
=s
.C0
.ESC
+(i
?"b":"[1;5D"))):o
.key
=t
?s
.C0
.ESC
+"OD":s
.C0
.ESC
+"[D";break;case 39:if(e
.metaKey
)break;a
?(o
.key
=s
.C0
.ESC
+"[1;"+(a
+1)+"C",o
.key
===s
.C0
.ESC
+"[1;3C"&&(o
.key
=s
.C0
.ESC
+(i
?"f":"[1;5C"))):o
.key
=t
?s
.C0
.ESC
+"OC":s
.C0
.ESC
+"[C";break;case 38:if(e
.metaKey
)break;a
?(o
.key
=s
.C0
.ESC
+"[1;"+(a
+1)+"A",i
||o
.key
!==s
.C0
.ESC
+"[1;3A"||(o
.key
=s
.C0
.ESC
+"[1;5A")):o
.key
=t
?s
.C0
.ESC
+"OA":s
.C0
.ESC
+"[A";break;case 40:if(e
.metaKey
)break;a
?(o
.key
=s
.C0
.ESC
+"[1;"+(a
+1)+"B",i
||o
.key
!==s
.C0
.ESC
+"[1;3B"||(o
.key
=s
.C0
.ESC
+"[1;5B")):o
.key
=t
?s
.C0
.ESC
+"OB":s
.C0
.ESC
+"[B";break;case 45:e
.shiftKey
||e
.ctrlKey
||(o
.key
=s
.C0
.ESC
+"[2~");break;case 46:o
.key
=a
?s
.C0
.ESC
+"[3;"+(a
+1)+"~":s
.C0
.ESC
+"[3~";break;case 36:o
.key
=a
?s
.C0
.ESC
+"[1;"+(a
+1)+"H":t
?s
.C0
.ESC
+"OH":s
.C0
.ESC
+"[H";break;case 35:o
.key
=a
?s
.C0
.ESC
+"[1;"+(a
+1)+"F":t
?s
.C0
.ESC
+"OF":s
.C0
.ESC
+"[F";break;case 33:e
.shiftKey
?o
.type
=2:e
.ctrlKey
?o
.key
=s
.C0
.ESC
+"[5;"+(a
+1)+"~":o
.key
=s
.C0
.ESC
+"[5~";break;case 34:e
.shiftKey
?o
.type
=3:e
.ctrlKey
?o
.key
=s
.C0
.ESC
+"[6;"+(a
+1)+"~":o
.key
=s
.C0
.ESC
+"[6~";break;case 112:o
.key
=a
?s
.C0
.ESC
+"[1;"+(a
+1)+"P":s
.C0
.ESC
+"OP";break;case 113:o
.key
=a
?s
.C0
.ESC
+"[1;"+(a
+1)+"Q":s
.C0
.ESC
+"OQ";break;case 114:o
.key
=a
?s
.C0
.ESC
+"[1;"+(a
+1)+"R":s
.C0
.ESC
+"OR";break;case 115:o
.key
=a
?s
.C0
.ESC
+"[1;"+(a
+1)+"S":s
.C0
.ESC
+"OS";break;case 116:o
.key
=a
?s
.C0
.ESC
+"[15;"+(a
+1)+"~":s
.C0
.ESC
+"[15~";break;case 117:o
.key
=a
?s
.C0
.ESC
+"[17;"+(a
+1)+"~":s
.C0
.ESC
+"[17~";break;case 118:o
.key
=a
?s
.C0
.ESC
+"[18;"+(a
+1)+"~":s
.C0
.ESC
+"[18~";break;case 119:o
.key
=a
?s
.C0
.ESC
+"[19;"+(a
+1)+"~":s
.C0
.ESC
+"[19~";break;case 120:o
.key
=a
?s
.C0
.ESC
+"[20;"+(a
+1)+"~":s
.C0
.ESC
+"[20~";break;case 121:o
.key
=a
?s
.C0
.ESC
+"[21;"+(a
+1)+"~":s
.C0
.ESC
+"[21~";break;case 122:o
.key
=a
?s
.C0
.ESC
+"[23;"+(a
+1)+"~":s
.C0
.ESC
+"[23~";break;case 123:o
.key
=a
?s
.C0
.ESC
+"[24;"+(a
+1)+"~":s
.C0
.ESC
+"[24~";break;default:if(!e
.ctrlKey
||e
.shiftKey
||e
.altKey
||e
.metaKey
)if(i
&&!n
||!e
.altKey
||e
.metaKey
)!i
||e
.altKey
||e
.ctrlKey
||e
.shiftKey
||!e
.metaKey
?e
.key
&&!e
.ctrlKey
&&!e
.altKey
&&!e
.metaKey
&&e
.keyCode
>=48&&1===e
.key
.length
?o
.key
=e
.key
:e
.key
&&e
.ctrlKey
&&("_"===e
.key
&&(o
.key
=s
.C0
.US
),"@"===e
.key
&&(o
.key
=s
.C0
.NUL
)):65===e
.keyCode
&&(o
.type
=1);else{const t
=r
[e
.keyCode
],i
=null==t
?void 0:t
[e
.shiftKey
?1:0];if(i
)o
.key
=s
.C0
.ESC
+i
;else if(e
.keyCode
>=65&&e
.keyCode
<=90){const t
=e
.ctrlKey
?e
.keyCode
-64:e
.keyCode
+32;let i
=String
.fromCharCode(t
);e
.shiftKey
&&(i
=i
.toUpperCase()),o
.key
=s
.C0
.ESC
+i
}else if(32===e
.keyCode
)o
.key
=s
.C0
.ESC
+(e
.ctrlKey
?s
.C0
.NUL
:" ");else if("Dead"===e
.key
&&e
.code
.startsWith("Key")){let t
=e
.code
.slice(3,4);e
.shiftKey
||(t
=t
.toLowerCase()),o
.key
=s
.C0
.ESC
+t
,o
.cancel
=!0}}else e
.keyCode
>=65&&e
.keyCode
<=90?o
.key
=String
.fromCharCode(e
.keyCode
-64):32===e
.keyCode
?o
.key
=s
.C0
.NUL
:e
.keyCode
>=51&&e
.keyCode
<=55?o
.key
=String
.fromCharCode(e
.keyCode
-51+27):56===e
.keyCode
?o
.key
=s
.C0
.DEL
:219===e
.keyCode
?o
.key
=s
.C0
.ESC
:220===e
.keyCode
?o
.key
=s
.C0
.FS
:221===e
.keyCode
&&(o
.key
=s
.C0
.GS
)}return o
}},482:(e
,t
)=>{Object
.defineProperty(t
,"__esModule",{value
:!0}),t
.Utf8ToUtf32
=t
.StringToUtf32
=t
.utf32ToString
=t
.stringFromCodePoint
=void 0,t
.stringFromCodePoint=function(e
){return e
>65535?(e
-=65536,String
.fromCharCode(55296+(e
>>10))+String
.fromCharCode(e
%1024+56320)):String
.fromCharCode(e
)},t
.utf32ToString=function(e
,t
=0,i
=e
.length
){let s
="";for(let r
=t
;r
<i
;++r
){let t
=e
[r
];t
>65535?(t
-=65536,s
+=String
.fromCharCode(55296+(t
>>10))+String
.fromCharCode(t
%1024+56320)):s
+=String
.fromCharCode(t
)}return s
},t
.StringToUtf32
=class{constructor(){this._interim
=0}clear(){this._interim
=0}decode(e
,t
){const i
=e
.length
;if(!i
)return 0;let s
=0,r
=0;if(this._interim
){const i
=e
.charCodeAt(r
++);56320<=i
&&i
<=57343?t
[s
++]=1024*(this._interim
-55296)+i
-56320+65536:(t
[s
++]=this._interim
,t
[s
++]=i
),this._interim
=0}for(let n
=r
;n
<i
;++n
){const r
=e
.charCodeAt(n
);if(55296<=r
&&r
<=56319){if(++n
>=i
)return this._interim
=r
,s
;const o
=e
.charCodeAt(n
);56320<=o
&&o
<=57343?t
[s
++]=1024*(r
-55296)+o
-56320+65536:(t
[s
++]=r
,t
[s
++]=o
)}else 65279!==r
&&(t
[s
++]=r
)}return s
}},t
.Utf8ToUtf32
=class{constructor(){this.interim
=new Uint8Array(3)}clear(){this.interim
.fill(0)}decode(e
,t
){const i
=e
.length
;if(!i
)return 0;let s
,r
,n
,o
,a
=0,h
=0,c
=0;if(this.interim
[0]){let s
=!1,r
=this.interim
[0];r
&=192==(224&r
)?31:224==(240&r
)?15:7;let n
,o
=0;for(;(n
=63&this.interim
[++o
])&&o
<4;)r
<<=6,r
|=n
;const h
=192==(224&this.interim
[0])?2:224==(240&this.interim
[0])?3:4,l
=h
-o
;for(;c
<l
;){if(c
>=i
)return 0;if(n
=e
[c
++],128!=(192&n
)){c
--,s
=!0;break}this.interim
[o
++]=n
,r
<<=6,r
|=63&n
}s
||(2===h
?r
<128?c
--:t
[a
++]=r
:3===h
?r
<2048||r
>=55296&&r
<=57343||65279===r
||(t
[a
++]=r
):r
<65536||r
>1114111||(t
[a
++]=r
)),this.interim
.fill(0)}const l
=i
-4;let d
=c
;for(;d
<i
;){for(;!(!(d
<l
)||128&(s
=e
[d
])||128&(r
=e
[d
+1])||128&(n
=e
[d
+2])||128&(o
=e
[d
+3]));)t
[a
++]=s
,t
[a
++]=r
,t
[a
++]=n
,t
[a
++]=o
,d
+=4;if(s
=e
[d
++],s
<128)t
[a
++]=s
;else if(192==(224&s
)){if(d
>=i
)return this.interim
[0]=s
,a
;if(r
=e
[d
++],128!=(192&r
)){d
--;continue}if(h
=(31&s
)<<6|63&r
,h
<128){d
--;continue}t
[a
++]=h
}else if(224==(240&s
)){if(d
>=i
)return this.interim
[0]=s
,a
;if(r
=e
[d
++],128!=(192&r
)){d
--;continue}if(d
>=i
)return this.interim
[0]=s
,this.interim
[1]=r
,a
;if(n
=e
[d
++],128!=(192&n
)){d
--;continue}if(h
=(15&s
)<<12|(63&r
)<<6|63&n
,h
<2048||h
>=55296&&h
<=57343||65279===h
)continue;t
[a
++]=h
}else if(240==(248&s
)){if(d
>=i
)return this.interim
[0]=s
,a
;if(r
=e
[d
++],128!=(192&r
)){d
--;continue}if(d
>=i
)return this.interim
[0]=s
,this.interim
[1]=r
,a
;if(n
=e
[d
++],128!=(192&n
)){d
--;continue}if(d
>=i
)return this.interim
[0]=s
,this.interim
[1]=r
,this.interim
[2]=n
,a
;if(o
=e
[d
++],128!=(192&o
)){d
--;continue}if(h
=(7&s
)<<18|(63&r
)<<12|(63&n
)<<6|63&o
,h
<65536||h
>1114111)continue;t
[a
++]=h
}}return a
}}},225:(e
,t
)=>{Object
.defineProperty(t
,"__esModule",{value
:!0}),t
.UnicodeV6
=void 0;const i
=[[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]],s
=[[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]];let r
;t
.UnicodeV6
=class{constructor(){if(this.version
="6",!r
){r
=new Uint8Array(65536),r
.fill(1),r
[0]=0,r
.fill(0,1,32),r
.fill(0,127,160),r
.fill(2,4352,4448),r
[9001]=2,r
[9002]=2,r
.fill(2,11904,42192),r
[12351]=1,r
.fill(2,44032,55204),r
.fill(2,63744,64256),r
.fill(2,65040,65050),r
.fill(2,65072,65136),r
.fill(2,65280,65377),r
.fill(2,65504,65511);for(let e
=0;e
<i
.length
;++e
)r
.fill(0,i
[e
][0],i
[e
][1]+1)}}wcwidth(e
){return e
<32?0:e
<127?1:e
<65536?r
[e
]:function(e
,t
){let i
,s
=0,r
=t
.length
-1;if(e
<t
[0][0]||e
>t
[r
][1])return!1;for(;r
>=s
;)if(i
=s
+r
>>1,e
>t
[i
][1])s
=i
+1;else{if(!(e
<t
[i
][0]))return!0;r
=i
-1}return!1}(e
,s
)?0:e
>=131072&&e
<=196605||e
>=196608&&e
<=262141?2:1}}},5981:(e
,t
,i
)=>{Object
.defineProperty(t
,"__esModule",{value
:!0}),t
.WriteBuffer
=void 0;const s
=i(8460),r
=i(844);class n
extends r
.Disposable
{constructor(e
){super(),this._action
=e
,this._writeBuffer
=[],this._callbacks
=[],this._pendingData
=0,this._bufferOffset
=0,this._isSyncWriting
=!1,this._syncCalls
=0,this._didUserInput
=!1,this._onWriteParsed
=this.register(new s
.EventEmitter
),this.onWriteParsed
=this._onWriteParsed
.event
}handleUserInput(){this._didUserInput
=!0}writeSync(e
,t
){if(void 0!==t
&&this._syncCalls
>t
)return void(this._syncCalls
=0);if(this._pendingData
+=e
.length
,this._writeBuffer
.push(e
),this._callbacks
.push(void 0),this._syncCalls
++,this._isSyncWriting
)return;let i
;for(this._isSyncWriting
=!0;i
=this._writeBuffer
.shift();){this._action(i
);const e
=this._callbacks
.shift();e
&&e()}this._pendingData
=0,this._bufferOffset
=2147483647,this._isSyncWriting
=!1,this._syncCalls
=0}write(e
,t
){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
+=e
.length
,this._writeBuffer
.push(e
),this._callbacks
.push(t
),void this._innerWrite();setTimeout((()=>this._innerWrite()))}this._pendingData
+=e
.length
,this._writeBuffer
.push(e
),this._callbacks
.push(t
)}_innerWrite(e
=0,t
=!0){const i
=e
||Date
.now();for(;this._writeBuffer
.length
>this._bufferOffset
;){const e
=this._writeBuffer
[this._bufferOffset
],s
=this._action(e
,t
);if(s
){const e
=e
=>Date
.now()-i
>=12?setTimeout((()=>this._innerWrite(0,e
))):this._innerWrite(i
,e
);return void s
.catch((e
=>(queueMicrotask((()=>{throw e
})),Promise
.resolve(!1)))).then(e
)}const r
=this._callbacks
[this._bufferOffset
];if(r
&&r(),this._bufferOffset
++,this._pendingData
-=e
.length
,Date
.now()-i
>=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()}}t
.WriteBuffer
=n
},5941:(e
,t
)=>{Object
.defineProperty(t
,"__esModule",{value
:!0}),t
.toRgbString
=t
.parseColor
=void 0;const i
=/^([\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})$/,s
=/^[\da-f]+$/;function r(e
,t
){const i
=e
.toString(16),s
=i
.length
<2?"0"+i
:i
;switch(t
){case 4:return i
[0];case 8:return s
;case 12:return(s
+s
).slice(0,3);default:return s
+s
}}t
.parseColor=function(e
){if(!e
)return;let t
=e
.toLowerCase();if(0===t
.indexOf("rgb:")){t
=t
.slice(4);const e
=i
.exec(t
);if(e
){const t
=e
[1]?15:e
[4]?255:e
[7]?4095:65535;return[Math
.round(parseInt(e
[1]||e
[4]||e
[7]||e
[10],16)/t*255),Math.round(parseInt(e[2]||e[5]||e[8]||e[11],16)/t
*255),Math
.round(parseInt(e
[3]||e
[6]||e
[9]||e
[12],16)/t*255)]}}else if(0===t.indexOf("#")&&(t=t.slice(1),s.exec(t)&&[3,6,9,12].includes(t.length))){const e=t.length/3,i
=[0,0,0];for(let s
=0;s
<3;++s
){const r
=parseInt(t
.slice(e
*s
,e
*s
+e
),16);i
[s
]=1===e
?r
<<4:2===e
?r
:3===e
?r
>>4:r
>>8}return i
}},t
.toRgbString=function(e
,t
=16){const[i
,s
,n
]=e
;return`rgb:${r(i,t)}/${r(s,t)}/${r(n,t)}`}},5770:(e
,t
)=>{Object
.defineProperty(t
,"__esModule",{value
:!0}),t
.PAYLOAD_LIMIT
=void 0,t
.PAYLOAD_LIMIT
=1e7
},6351:(e
,t
,i
)=>{Object
.defineProperty(t
,"__esModule",{value
:!0}),t
.DcsHandler
=t
.DcsParser
=void 0;const s
=i(482),r
=i(8742),n
=i(5770),o
=[];t
.DcsParser
=class{constructor(){this._handlers
=Object
.create(null),this._active
=o
,this._ident
=0,this._handlerFb
=()=>{},this._stack
={paused
:!1,loopPosition
:0,fallThrough
:!1}}dispose(){this._handlers
=Object
.create(null),this._handlerFb
=()=>{},this._active
=o
}registerHandler(e
,t
){void 0===this._handlers
[e
]&&(this._handlers
[e
]=[]);const i
=this._handlers
[e
];return i
.push(t
),{dispose
:()=>{const e
=i
.indexOf(t
);-1!==e
&&i
.splice(e
,1)}}}clearHandler(e
){this._handlers
[e
]&&delete this._handlers
[e
]}setHandlerFallback(e
){this._handlerFb
=e
}reset(){if(this._active
.length
)for(let e
=this._stack
.paused
?this._stack
.loopPosition
-1:this._active
.length
-1;e
>=0;--e
)this._active
[e
].unhook(!1);this._stack
.paused
=!1,this._active
=o
,this._ident
=0}hook(e
,t
){if(this.reset(),this._ident
=e
,this._active
=this._handlers
[e
]||o
,this._active
.length
)for(let e
=this._active
.length
-1;e
>=0;e
--)this._active
[e
].hook(t
);else this._handlerFb(this._ident
,"HOOK",t
)}put(e
,t
,i
){if(this._active
.length
)for(let s
=this._active
.length
-1;s
>=0;s
--)this._active
[s
].put(e
,t
,i
);else this._handlerFb(this._ident
,"PUT",(0,s
.utf32ToString
)(e
,t
,i
))}unhook(e
,t
=!0){if(this._active
.length
){let i
=!1,s
=this._active
.length
-1,r
=!1;if(this._stack
.paused
&&(s
=this._stack
.loopPosition
-1,i
=t
,r
=this._stack
.fallThrough
,this._stack
.paused
=!1),!r
&&!1===i
){for(;s
>=0&&(i
=this._active
[s
].unhook(e
),!0!==i
);s
--)if(i
instanceof Promise
)return this._stack
.paused
=!0,this._stack
.loopPosition
=s
,this._stack
.fallThrough
=!1,i
;s
--}for(;s
>=0;s
--)if(i
=this._active
[s
].unhook(!1),i
instanceof Promise
)return this._stack
.paused
=!0,this._stack
.loopPosition
=s
,this._stack
.fallThrough
=!0,i
}else this._handlerFb(this._ident
,"UNHOOK",e
);this._active
=o
,this._ident
=0}};const a
=new r
.Params
;a
.addParam(0),t
.DcsHandler
=class{constructor(e
){this._handler
=e
,this._data
="",this._params
=a
,this._hitLimit
=!1}hook(e
){this._params
=e
.length
>1||e
.params
[0]?e
.clone():a
,this._data
="",this._hitLimit
=!1}put(e
,t
,i
){this._hitLimit
||(this._data
+=(0,s
.utf32ToString
)(e
,t
,i
),this._data
.length
>n
.PAYLOAD_LIMIT
&&(this._data
="",this._hitLimit
=!0))}unhook(e
){let t
=!1;if(this._hitLimit
)t
=!1;else if(e
&&(t
=this._handler(this._data
,this._params
),t
instanceof Promise
))return t
.then((e
=>(this._params
=a
,this._data
="",this._hitLimit
=!1,e
)));return this._params
=a
,this._data
="",this._hitLimit
=!1,t
}}},2015:(e
,t
,i
)=>{Object
.defineProperty(t
,"__esModule",{value
:!0}),t
.EscapeSequenceParser
=t
.VT500_TRANSITION_TABLE
=t
.TransitionTable
=void 0;const s
=i(844),r
=i(8742),n
=i(6242),o
=i(6351);class a
{constructor(e
){this.table
=new Uint8Array(e
)}setDefault(e
,t
){this.table
.fill(e
<<4|t
)}add(e
,t
,i
,s
){this.table
[t
<<8|e
]=i
<<4|s
}addMany(e
,t
,i
,s
){for(let r
=0;r
<e
.length
;r
++)this.table
[t
<<8|e
[r
]]=i
<<4|s
}}t
.TransitionTable
=a
;const h
=160;t
.VT500_TRANSITION_TABLE=function(){const e
=new a(4095),t
=Array
.apply(null,Array(256)).map(((e
,t
)=>t
)),i
=(e
,i
)=>t
.slice(e
,i
),s
=i(32,127),r
=i(0,24);r
.push(25),r
.push
.apply(r
,i(28,32));const n
=i(0,14);let o
;for(o
in e
.setDefault(1,0),e
.addMany(s
,0,2,0),n
)e
.addMany([24,26,153,154],o
,3,0),e
.addMany(i(128,144),o
,3,0),e
.addMany(i(144,152),o
,3,0),e
.add(156,o
,0,0),e
.add(27,o
,11,1),e
.add(157,o
,4,8),e
.addMany([152,158,159],o
,0,7),e
.add(155,o
,11,3),e
.add(144,o
,11,9);return e
.addMany(r
,0,3,0),e
.addMany(r
,1,3,1),e
.add(127,1,0,1),e
.addMany(r
,8,0,8),e
.addMany(r
,3,3,3),e
.add(127,3,0,3),e
.addMany(r
,4,3,4),e
.add(127,4,0,4),e
.addMany(r
,6,3,6),e
.addMany(r
,5,3,5),e
.add(127,5,0,5),e
.addMany(r
,2,3,2),e
.add(127,2,0,2),e
.add(93,1,4,8),e
.addMany(s
,8,5,8),e
.add(127,8,5,8),e
.addMany([156,27,24,26,7],8,6,0),e
.addMany(i(28,32),8,0,8),e
.addMany([88,94,95],1,0,7),e
.addMany(s
,7,0,7),e
.addMany(r
,7,0,7),e
.add(156,7,0,0),e
.add(127,7,0,7),e
.add(91,1,11,3),e
.addMany(i(64,127),3,7,0),e
.addMany(i(48,60),3,8,4),e
.addMany([60,61,62,63],3,9,4),e
.addMany(i(48,60),4,8,4),e
.addMany(i(64,127),4,7,0),e
.addMany([60,61,62,63],4,0,6),e
.addMany(i(32,64),6,0,6),e
.add(127,6,0,6),e
.addMany(i(64,127),6,0,0),e
.addMany(i(32,48),3,9,5),e
.addMany(i(32,48),5,9,5),e
.addMany(i(48,64),5,0,6),e
.addMany(i(64,127),5,7,0),e
.addMany(i(32,48),4,9,5),e
.addMany(i(32,48),1,9,2),e
.addMany(i(32,48),2,9,2),e
.addMany(i(48,127),2,10,0),e
.addMany(i(48,80),1,10,0),e
.addMany(i(81,88),1,10,0),e
.addMany([89,90,92],1,10,0),e
.addMany(i(96,127),1,10,0),e
.add(80,1,11,9),e
.addMany(r
,9,0,9),e
.add(127,9,0,9),e
.addMany(i(28,32),9,0,9),e
.addMany(i(32,48),9,9,12),e
.addMany(i(48,60),9,8,10),e
.addMany([60,61,62,63],9,9,10),e
.addMany(r
,11,0,11),e
.addMany(i(32,128),11,0,11),e
.addMany(i(28,32),11,0,11),e
.addMany(r
,10,0,10),e
.add(127,10,0,10),e
.addMany(i(28,32),10,0,10),e
.addMany(i(48,60),10,8,10),e
.addMany([60,61,62,63],10,0,11),e
.addMany(i(32,48),10,9,12),e
.addMany(r
,12,0,12),e
.add(127,12,0,12),e
.addMany(i(28,32),12,0,12),e
.addMany(i(32,48),12,9,12),e
.addMany(i(48,64),12,0,11),e
.addMany(i(64,127),12,12,13),e
.addMany(i(64,127),10,12,13),e
.addMany(i(64,127),9,12,13),e
.addMany(r
,13,13,13),e
.addMany(s
,13,13,13),e
.add(127,13,0,13),e
.addMany([27,156,24,26],13,14,0),e
.add(h
,0,2,0),e
.add(h
,8,5,8),e
.add(h
,6,0,6),e
.add(h
,11,0,11),e
.add(h
,13,13,13),e
}();class c
extends s
.Disposable
{constructor(e
=t
.VT500_TRANSITION_TABLE
){super(),this._transitions
=e
,this._parseStack
={state
:0,handlers
:[],handlerPos
:0,transition
:0,chunkPos
:0},this.initialState
=0,this.currentState
=this.initialState
,this._params
=new r
.Params
,this._params
.addParam(0),this._collect
=0,this.precedingCodepoint
=0,this._printHandlerFb
=(e
,t
,i
)=>{},this._executeHandlerFb
=e
=>{},this._csiHandlerFb
=(e
,t
)=>{},this._escHandlerFb
=e
=>{},this._errorHandlerFb
=e
=>e
,this._printHandler
=this._printHandlerFb
,this._executeHandlers
=Object
.create(null),this._csiHandlers
=Object
.create(null),this._escHandlers
=Object
.create(null),this.register((0,s
.toDisposable
)((()=>{this._csiHandlers
=Object
.create(null),this._executeHandlers
=Object
.create(null),this._escHandlers
=Object
.create(null)}))),this._oscParser
=this.register(new n
.OscParser
),this._dcsParser
=this.register(new o
.DcsParser
),this._errorHandler
=this._errorHandlerFb
,this.registerEscHandler({final
:"\\"},(()=>!0))}_identifier(e
,t
=[64,126]){let i
=0;if(e
.prefix
){if(e
.prefix
.length
>1)throw new Error("only one byte as prefix supported");if(i
=e
.prefix
.charCodeAt(0),i
&&60>i
||i
>63)throw new Error("prefix must be in range 0x3c .. 0x3f")}if(e
.intermediates
){if(e
.intermediates
.length
>2)throw new Error("only two bytes as intermediates are supported");for(let t
=0;t
<e
.intermediates
.length
;++t
){const s
=e
.intermediates
.charCodeAt(t
);if(32>s
||s
>47)throw new Error("intermediate must be in range 0x20 .. 0x2f");i
<<=8,i
|=s
}}if(1!==e
.final
.length
)throw new Error("final must be a single byte");const s
=e
.final
.charCodeAt(0);if(t
[0]>s
||s
>t
[1])throw new Error(`final must be in range ${t[0]} .. ${t[1]}`);return i
<<=8,i
|=s
,i
}identToString(e
){const t
=[];for(;e
;)t
.push(String
.fromCharCode(255&e
)),e
>>=8;return t
.reverse().join("")}setPrintHandler(e
){this._printHandler
=e
}clearPrintHandler(){this._printHandler
=this._printHandlerFb
}registerEscHandler(e
,t
){const i
=this._identifier(e
,[48,126]);void 0===this._escHandlers
[i
]&&(this._escHandlers
[i
]=[]);const s
=this._escHandlers
[i
];return s
.push(t
),{dispose
:()=>{const e
=s
.indexOf(t
);-1!==e
&&s
.splice(e
,1)}}}clearEscHandler(e
){this._escHandlers
[this._identifier(e
,[48,126])]&&delete this._escHandlers
[this._identifier(e
,[48,126])]}setEscHandlerFallback(e
){this._escHandlerFb
=e
}setExecuteHandler(e
,t
){this._executeHandlers
[e
.charCodeAt(0)]=t
}clearExecuteHandler(e
){this._executeHandlers
[e
.charCodeAt(0)]&&delete this._executeHandlers
[e
.charCodeAt(0)]}setExecuteHandlerFallback(e
){this._executeHandlerFb
=e
}registerCsiHandler(e
,t
){const i
=this._identifier(e
);void 0===this._csiHandlers
[i
]&&(this._csiHandlers
[i
]=[]);const s
=this._csiHandlers
[i
];return s
.push(t
),{dispose
:()=>{const e
=s
.indexOf(t
);-1!==e
&&s
.splice(e
,1)}}}clearCsiHandler(e
){this._csiHandlers
[this._identifier(e
)]&&delete this._csiHandlers
[this._identifier(e
)]}setCsiHandlerFallback(e
){this._csiHandlerFb
=e
}registerDcsHandler(e
,t
){return this._dcsParser
.registerHandler(this._identifier(e
),t
)}clearDcsHandler(e
){this._dcsParser
.clearHandler(this._identifier(e
))}setDcsHandlerFallback(e
){this._dcsParser
.setHandlerFallback(e
)}registerOscHandler(e
,t
){return this._oscParser
.registerHandler(e
,t
)}clearOscHandler(e
){this._oscParser
.clearHandler(e
)}setOscHandlerFallback(e
){this._oscParser
.setHandlerFallback(e
)}setErrorHandler(e
){this._errorHandler
=e
}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,0!==this._parseStack
.state
&&(this._parseStack
.state
=2,this._parseStack
.handlers
=[])}_preserveStack(e
,t
,i
,s
,r
){this._parseStack
.state
=e
,this._parseStack
.handlers
=t
,this._parseStack
.handlerPos
=i
,this._parseStack
.transition
=s
,this._parseStack
.chunkPos
=r
}parse(e
,t
,i
){let s
,r
=0,n
=0,o
=0;if(this._parseStack
.state
)if(2===this._parseStack
.state
)this._parseStack
.state
=0,o
=this._parseStack
.chunkPos
+1;else{if(void 0===i
||1===this._parseStack
.state
)throw this._parseStack
.state
=1,new Error("improper continuation due to previous async handler, giving up parsing");const t
=this._parseStack
.handlers
;let n
=this._parseStack
.handlerPos
-1;switch(this._parseStack
.state
){case 3:if(!1===i
&&n
>-1)for(;n
>=0&&(s
=t
[n
](this._params
),!0!==s
);n
--)if(s
instanceof Promise
)return this._parseStack
.handlerPos
=n
,s
;this._parseStack
.handlers
=[];break;case 4:if(!1===i
&&n
>-1)for(;n
>=0&&(s
=t
[n
](),!0!==s
);n
--)if(s
instanceof Promise
)return this._parseStack
.handlerPos
=n
,s
;this._parseStack
.handlers
=[];break;case 6:if(r
=e
[this._parseStack
.chunkPos
],s
=this._dcsParser
.unhook(24!==r
&&26!==r
,i
),s
)return s
;27===r
&&(this._parseStack
.transition
|=1),this._params
.reset(),this._params
.addParam(0),this._collect
=0;break;case 5:if(r
=e
[this._parseStack
.chunkPos
],s
=this._oscParser
.end(24!==r
&&26!==r
,i
),s
)return s
;27===r
&&(this._parseStack
.transition
|=1),this._params
.reset(),this._params
.addParam(0),this._collect
=0}this._parseStack
.state
=0,o
=this._parseStack
.chunkPos
+1,this.precedingCodepoint
=0,this.currentState
=15&this._parseStack
.transition
}for(let i
=o
;i
<t
;++i
){switch(r
=e
[i
],n
=this._transitions
.table
[this.currentState
<<8|(r
<160?r
:h
)],n
>>4){case 2:for(let s
=i
+1;;++s
){if(s
>=t
||(r
=e
[s
])<32||r
>126&&r
<h
){this._printHandler(e
,i
,s
),i
=s
-1;break}if(++s
>=t
||(r
=e
[s
])<32||r
>126&&r
<h
){this._printHandler(e
,i
,s
),i
=s
-1;break}if(++s
>=t
||(r
=e
[s
])<32||r
>126&&r
<h
){this._printHandler(e
,i
,s
),i
=s
-1;break}if(++s
>=t
||(r
=e
[s
])<32||r
>126&&r
<h
){this._printHandler(e
,i
,s
),i
=s
-1;break}}break;case 3:this._executeHandlers
[r
]?this._executeHandlers
[r
]():this._executeHandlerFb(r
),this.precedingCodepoint
=0;break;case 0:break;case 1:if(this._errorHandler({position
:i
,code
:r
,currentState
:this.currentState
,collect
:this._collect
,params
:this._params
,abort
:!1}).abort
)return;break;case 7:const o
=this._csiHandlers
[this._collect
<<8|r
];let a
=o
?o
.length
-1:-1;for(;a
>=0&&(s
=o
[a
](this._params
),!0!==s
);a
--)if(s
instanceof Promise
)return this._preserveStack(3,o
,a
,n
,i
),s
;a
<0&&this._csiHandlerFb(this._collect
<<8|r
,this._params
),this.precedingCodepoint
=0;break;case 8:do{switch(r
){case 59:this._params
.addParam(0);break;case 58:this._params
.addSubParam(-1);break;default:this._params
.addDigit(r
-48)}}while(++i
<t
&&(r
=e
[i
])>47&&r
<60);i
--;break;case 9:this._collect
<<=8,this._collect
|=r
;break;case 10:const c
=this._escHandlers
[this._collect
<<8|r
];let l
=c
?c
.length
-1:-1;for(;l
>=0&&(s
=c
[l
](),!0!==s
);l
--)if(s
instanceof Promise
)return this._preserveStack(4,c
,l
,n
,i
),s
;l
<0&&this._escHandlerFb(this._collect
<<8|r
),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|r
,this._params
);break;case 13:for(let s
=i
+1;;++s
)if(s
>=t
||24===(r
=e
[s
])||26===r
||27===r
||r
>127&&r
<h
){this._dcsParser
.put(e
,i
,s
),i
=s
-1;break}break;case 14:if(s
=this._dcsParser
.unhook(24!==r
&&26!==r
),s
)return this._preserveStack(6,[],0,n
,i
),s
;27===r
&&(n
|=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 s
=i
+1;;s
++)if(s
>=t
||(r
=e
[s
])<32||r
>127&&r
<h
){this._oscParser
.put(e
,i
,s
),i
=s
-1;break}break;case 6:if(s
=this._oscParser
.end(24!==r
&&26!==r
),s
)return this._preserveStack(5,[],0,n
,i
),s
;27===r
&&(n
|=1),this._params
.reset(),this._params
.addParam(0),this._collect
=0,this.precedingCodepoint
=0}this.currentState
=15&n
}}}t
.EscapeSequenceParser
=c
},6242:(e
,t
,i
)=>{Object
.defineProperty(t
,"__esModule",{value
:!0}),t
.OscHandler
=t
.OscParser
=void 0;const s
=i(5770),r
=i(482),n
=[];t
.OscParser
=class{constructor(){this._state
=0,this._active
=n
,this._id
=-1,this._handlers
=Object
.create(null),this._handlerFb
=()=>{},this._stack
={paused
:!1,loopPosition
:0,fallThrough
:!1}}registerHandler(e
,t
){void 0===this._handlers
[e
]&&(this._handlers
[e
]=[]);const i
=this._handlers
[e
];return i
.push(t
),{dispose
:()=>{const e
=i
.indexOf(t
);-1!==e
&&i
.splice(e
,1)}}}clearHandler(e
){this._handlers
[e
]&&delete this._handlers
[e
]}setHandlerFallback(e
){this._handlerFb
=e
}dispose(){this._handlers
=Object
.create(null),this._handlerFb
=()=>{},this._active
=n
}reset(){if(2===this._state
)for(let e
=this._stack
.paused
?this._stack
.loopPosition
-1:this._active
.length
-1;e
>=0;--e
)this._active
[e
].end(!1);this._stack
.paused
=!1,this._active
=n
,this._id
=-1,this._state
=0}_start(){if(this._active
=this._handlers
[this._id
]||n
,this._active
.length
)for(let e
=this._active
.length
-1;e
>=0;e
--)this._active
[e
].start();else this._handlerFb(this._id
,"START")}_put(e
,t
,i
){if(this._active
.length
)for(let s
=this._active
.length
-1;s
>=0;s
--)this._active
[s
].put(e
,t
,i
);else this._handlerFb(this._id
,"PUT",(0,r
.utf32ToString
)(e
,t
,i
))}start(){this.reset(),this._state
=1}put(e
,t
,i
){if(3!==this._state
){if(1===this._state
)for(;t
<i
;){const i
=e
[t
++];if(59===i
){this._state
=2,this._start();break}if(i
<48||57<i
)return void(this._state
=3);-1===this._id
&&(this._id
=0),this._id
=10*this._id
+i
-48}2===this._state
&&i
-t
>0&&this._put(e
,t
,i
)}}end(e
,t
=!0){if(0!==this._state
){if(3!==this._state
)if(1===this._state
&&this._start(),this._active
.length
){let i
=!1,s
=this._active
.length
-1,r
=!1;if(this._stack
.paused
&&(s
=this._stack
.loopPosition
-1,i
=t
,r
=this._stack
.fallThrough
,this._stack
.paused
=!1),!r
&&!1===i
){for(;s
>=0&&(i
=this._active
[s
].end(e
),!0!==i
);s
--)if(i
instanceof Promise
)return this._stack
.paused
=!0,this._stack
.loopPosition
=s
,this._stack
.fallThrough
=!1,i
;s
--}for(;s
>=0;s
--)if(i
=this._active
[s
].end(!1),i
instanceof Promise
)return this._stack
.paused
=!0,this._stack
.loopPosition
=s
,this._stack
.fallThrough
=!0,i
}else this._handlerFb(this._id
,"END",e
);this._active
=n
,this._id
=-1,this._state
=0}}},t
.OscHandler
=class{constructor(e
){this._handler
=e
,this._data
="",this._hitLimit
=!1}start(){this._data
="",this._hitLimit
=!1}put(e
,t
,i
){this._hitLimit
||(this._data
+=(0,r
.utf32ToString
)(e
,t
,i
),this._data
.length
>s
.PAYLOAD_LIMIT
&&(this._data
="",this._hitLimit
=!0))}end(e
){let t
=!1;if(this._hitLimit
)t
=!1;else if(e
&&(t
=this._handler(this._data
),t
instanceof Promise
))return t
.then((e
=>(this._data
="",this._hitLimit
=!1,e
)));return this._data
="",this._hitLimit
=!1,t
}}},8742:(e
,t
)=>{Object
.defineProperty(t
,"__esModule",{value
:!0}),t
.Params
=void 0;const i
=2147483647;class s
{static fromArray(e
){const t
=new s
;if(!e
.length
)return t
;for(let i
=Array
.isArray(e
[0])?1:0;i
<e
.length
;++i
){const s
=e
[i
];if(Array
.isArray(s
))for(let e
=0;e
<s
.length
;++e
)t
.addSubParam(s
[e
]);else t
.addParam(s
)}return t
}constructor(e
=32,t
=32){if(this.maxLength
=e
,this.maxSubParamsLength
=t
,t
>256)throw new Error("maxSubParamsLength must not be greater than 256");this.params
=new Int32Array(e
),this.length
=0,this._subParams
=new Int32Array(t
),this._subParamsLength
=0,this._subParamsIdx
=new Uint16Array(e
),this._rejectDigits
=!1,this._rejectSubDigits
=!1,this._digitIsSub
=!1}clone(){const e
=new s(this.maxLength
,this.maxSubParamsLength
);return e
.params
.set(this.params
),e
.length
=this.length
,e
._subParams
.set(this._subParams
),e
._subParamsLength
=this._subParamsLength
,e
._subParamsIdx
.set(this._subParamsIdx
),e
._rejectDigits
=this._rejectDigits
,e
._rejectSubDigits
=this._rejectSubDigits
,e
._digitIsSub
=this._digitIsSub
,e
}toArray(){const e
=[];for(let t
=0;t
<this.length
;++t
){e
.push(this.params
[t
]);const i
=this._subParamsIdx
[t
]>>8,s
=255&this._subParamsIdx
[t
];s
-i
>0&&e
.push(Array
.prototype.slice
.call(this._subParams
,i
,s
))}return e
}reset(){this.length
=0,this._subParamsLength
=0,this._rejectDigits
=!1,this._rejectSubDigits
=!1,this._digitIsSub
=!1}addParam(e
){if(this._digitIsSub
=!1,this.length
>=this.maxLength
)this._rejectDigits
=!0;else{if(e
<-1)throw new Error("values lesser than -1 are not allowed");this._subParamsIdx
[this.length
]=this._subParamsLength
<<8|this._subParamsLength
,this.params
[this.length
++]=e
>i
?i
:e
}}addSubParam(e
){if(this._digitIsSub
=!0,this.length
)if(this._rejectDigits
||this._subParamsLength
>=this.maxSubParamsLength
)this._rejectSubDigits
=!0;else{if(e
<-1)throw new Error("values lesser than -1 are not allowed");this._subParams
[this._subParamsLength
++]=e
>i
?i
:e
,this._subParamsIdx
[this.length
-1]++}}hasSubParams(e
){return(255&this._subParamsIdx
[e
])-(this._subParamsIdx
[e
]>>8)>0}getSubParams(e
){const t
=this._subParamsIdx
[e
]>>8,i
=255&this._subParamsIdx
[e
];return i
-t
>0?this._subParams
.subarray(t
,i
):null}getSubParamsAll(){const e
={};for(let t
=0;t
<this.length
;++t
){const i
=this._subParamsIdx
[t
]>>8,s
=255&this._subParamsIdx
[t
];s
-i
>0&&(e
[t
]=this._subParams
.slice(i
,s
))}return e
}addDigit(e
){let t
;if(this._rejectDigits
||!(t
=this._digitIsSub
?this._subParamsLength
:this.length
)||this._digitIsSub
&&this._rejectSubDigits
)return;const s
=this._digitIsSub
?this._subParams
:this.params
,r
=s
[t
-1];s
[t
-1]=~r
?Math
.min(10*r
+e
,i
):e
}}t
.Params
=s
},5741:(e
,t
)=>{Object
.defineProperty(t
,"__esModule",{value
:!0}),t
.AddonManager
=void 0,t
.AddonManager
=class{constructor(){this._addons
=[]}dispose(){for(let e
=this._addons
.length
-1;e
>=0;e
--)this._addons
[e
].instance
.dispose()}loadAddon(e
,t
){const i
={instance
:t
,dispose
:t
.dispose
,isDisposed
:!1};this._addons
.push(i
),t
.dispose
=()=>this._wrappedAddonDispose(i
),t
.activate(e
)}_wrappedAddonDispose(e
){if(e
.isDisposed
)return;let t
=-1;for(let i
=0;i
<this._addons
.length
;i
++)if(this._addons
[i
]===e
){t
=i
;break}if(-1===t
)throw new Error("Could not dispose an addon that has not been loaded");e
.isDisposed
=!0,e
.dispose
.apply(e
.instance
),this._addons
.splice(t
,1)}}},8771:(e
,t
,i
)=>{Object
.defineProperty(t
,"__esModule",{value
:!0}),t
.BufferApiView
=void 0;const s
=i(3785),r
=i(511);t
.BufferApiView
=class{constructor(e
,t
){this._buffer
=e
,this.type
=t
}init(e
){return this._buffer
=e
,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(e
){const t
=this._buffer
.lines
.get(e
);if(t
)return new s
.BufferLineApiView(t
)}getNullCell(){return new r
.CellData
}}},3785:(e
,t
,i
)=>{Object
.defineProperty(t
,"__esModule",{value
:!0}),t
.BufferLineApiView
=void 0;const s
=i(511);t
.BufferLineApiView
=class{constructor(e
){this._line
=e
}get isWrapped(){return this._line
.isWrapped
}get length(){return this._line
.length
}getCell(e
,t
){if(!(e
<0||e
>=this._line
.length
))return t
?(this._line
.loadCell(e
,t
),t
):this._line
.loadCell(e
,new s
.CellData
)}translateToString(e
,t
,i
){return this._line
.translateToString(e
,t
,i
)}}},8285:(e
,t
,i
)=>{Object
.defineProperty(t
,"__esModule",{value
:!0}),t
.BufferNamespaceApi
=void 0;const s
=i(8771),r
=i(8460),n
=i(844);class o
extends n
.Disposable
{constructor(e
){super(),this._core
=e
,this._onBufferChange
=this.register(new r
.EventEmitter
),this.onBufferChange
=this._onBufferChange
.event
,this._normal
=new s
.BufferApiView(this._core
.buffers
.normal
,"normal"),this._alternate
=new s
.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
)}}t
.BufferNamespaceApi
=o
},7975:(e
,t
)=>{Object
.defineProperty(t
,"__esModule",{value
:!0}),t
.ParserApi
=void 0,t
.ParserApi
=class{constructor(e
){this._core
=e
}registerCsiHandler(e
,t
){return this._core
.registerCsiHandler(e
,(e
=>t(e
.toArray())))}addCsiHandler(e
,t
){return this.registerCsiHandler(e
,t
)}registerDcsHandler(e
,t
){return this._core
.registerDcsHandler(e
,((e
,i
)=>t(e
,i
.toArray())))}addDcsHandler(e
,t
){return this.registerDcsHandler(e
,t
)}registerEscHandler(e
,t
){return this._core
.registerEscHandler(e
,t
)}addEscHandler(e
,t
){return this.registerEscHandler(e
,t
)}registerOscHandler(e
,t
){return this._core
.registerOscHandler(e
,t
)}addOscHandler(e
,t
){return this.registerOscHandler(e
,t
)}}},7090:(e
,t
)=>{Object
.defineProperty(t
,"__esModule",{value
:!0}),t
.UnicodeApi
=void 0,t
.UnicodeApi
=class{constructor(e
){this._core
=e
}register(e
){this._core
.unicodeService
.register(e
)}get versions(){return this._core
.unicodeService
.versions
}get activeVersion(){return this._core
.unicodeService
.activeVersion
}set activeVersion(e
){this._core
.unicodeService
.activeVersion
=e
}}},744:function(e
,t
,i
){var s
=this&&this.__decorate
||function(e
,t
,i
,s
){var r
,n
=arguments
.length
,o
=n
<3?t
:null===s
?s
=Object
.getOwnPropertyDescriptor(t
,i
):s
;if("object"==typeof Reflect
&&"function"==typeof Reflect
.decorate
)o
=Reflect
.decorate(e
,t
,i
,s
);else for(var a
=e
.length
-1;a
>=0;a
--)(r
=e
[a
])&&(o
=(n
<3?r(o
):n
>3?r(t
,i
,o
):r(t
,i
))||o
);return n
>3&&o
&&Object
.defineProperty(t
,i
,o
),o
},r
=this&&this.__param
||function(e
,t
){return function(i
,s
){t(i
,s
,e
)}};Object
.defineProperty(t
,"__esModule",{value
:!0}),t
.BufferService
=t
.MINIMUM_ROWS
=t
.MINIMUM_COLS
=void 0;const n
=i(8460),o
=i(844),a
=i(5295),h
=i(2585);t
.MINIMUM_COLS
=2,t
.MINIMUM_ROWS
=1;let c
=t
.BufferService
=class extends o
.Disposable
{get buffer(){return this.buffers
.active
}constructor(e
){super(),this.isUserScrolling
=!1,this._onResize
=this.register(new n
.EventEmitter
),this.onResize
=this._onResize
.event
,this._onScroll
=this.register(new n
.EventEmitter
),this.onScroll
=this._onScroll
.event
,this.cols
=Math
.max(e
.rawOptions
.cols
||0,t
.MINIMUM_COLS
),this.rows
=Math
.max(e
.rawOptions
.rows
||0,t
.MINIMUM_ROWS
),this.buffers
=this.register(new a
.BufferSet(e
,this))}resize(e
,t
){this.cols
=e
,this.rows
=t
,this.buffers
.resize(e
,t
),this._onResize
.fire({cols
:e
,rows
:t
})}reset(){this.buffers
.reset(),this.isUserScrolling
=!1}scroll(e
,t
=!1){const i
=this.buffer
;let s
;s
=this._cachedBlankLine
,s
&&s
.length
===this.cols
&&s
.getFg(0)===e
.fg
&&s
.getBg(0)===e
.bg
||(s
=i
.getBlankLine(e
,t
),this._cachedBlankLine
=s
),s
.isWrapped
=t
;const r
=i
.ybase
+i
.scrollTop
,n
=i
.ybase
+i
.scrollBottom
;if(0===i
.scrollTop
){const e
=i
.lines
.isFull
;n
===i
.lines
.length
-1?e
?i
.lines
.recycle().copyFrom(s
):i
.lines
.push(s
.clone()):i
.lines
.splice(n
+1,0,s
.clone()),e
?this.isUserScrolling
&&(i
.ydisp
=Math
.max(i
.ydisp
-1,0)):(i
.ybase
++,this.isUserScrolling
||i
.ydisp
++)}else{const e
=n
-r
+1;i
.lines
.shiftElements(r
+1,e
-1,-1),i
.lines
.set(n
,s
.clone())}this.isUserScrolling
||(i
.ydisp
=i
.ybase
),this._onScroll
.fire(i
.ydisp
)}scrollLines(e
,t
,i
){const s
=this.buffer
;if(e
<0){if(0===s
.ydisp
)return;this.isUserScrolling
=!0}else e
+s
.ydisp
>=s
.ybase
&&(this.isUserScrolling
=!1);const r
=s
.ydisp
;s
.ydisp
=Math
.max(Math
.min(s
.ydisp
+e
,s
.ybase
),0),r
!==s
.ydisp
&&(t
||this._onScroll
.fire(s
.ydisp
))}};t
.BufferService
=c
=s([r(0,h
.IOptionsService
)],c
)},7994:(e
,t
)=>{Object
.defineProperty(t
,"__esModule",{value
:!0}),t
.CharsetService
=void 0,t
.CharsetService
=class{constructor(){this.glevel
=0,this._charsets
=[]}reset(){this.charset
=void 0,this._charsets
=[],this.glevel
=0}setgLevel(e
){this.glevel
=e
,this.charset
=this._charsets
[e
]}setgCharset(e
,t
){this._charsets
[e
]=t
,this.glevel
===e
&&(this.charset
=t
)}}},1753:function(e
,t
,i
){var s
=this&&this.__decorate
||function(e
,t
,i
,s
){var r
,n
=arguments
.length
,o
=n
<3?t
:null===s
?s
=Object
.getOwnPropertyDescriptor(t
,i
):s
;if("object"==typeof Reflect
&&"function"==typeof Reflect
.decorate
)o
=Reflect
.decorate(e
,t
,i
,s
);else for(var a
=e
.length
-1;a
>=0;a
--)(r
=e
[a
])&&(o
=(n
<3?r(o
):n
>3?r(t
,i
,o
):r(t
,i
))||o
);return n
>3&&o
&&Object
.defineProperty(t
,i
,o
),o
},r
=this&&this.__param
||function(e
,t
){return function(i
,s
){t(i
,s
,e
)}};Object
.defineProperty(t
,"__esModule",{value
:!0}),t
.CoreMouseService
=void 0;const n
=i(2585),o
=i(8460),a
=i(844),h
={NONE
:{events
:0,restrict
:()=>!1},X10
:{events
:1,restrict
:e
=>4!==e
.button
&&1===e
.action
&&(e
.ctrl
=!1,e
.alt
=!1,e
.shift
=!1,!0)},VT200
:{events
:19,restrict
:e
=>32!==e
.action
},DRAG
:{events
:23,restrict
:e
=>32!==e
.action
||3!==e
.button
},ANY
:{events
:31,restrict
:e
=>!0}};function c(e
,t
){let i
=(e
.ctrl
?16:0)|(e
.shift
?4:0)|(e
.alt
?8:0);return 4===e
.button
?(i
|=64,i
|=e
.action
):(i
|=3&e
.button
,4&e
.button
&&(i
|=64),8&e
.button
&&(i
|=128),32===e
.action
?i
|=32:0!==e
.action
||t
||(i
|=3)),i
}const l
=String
.fromCharCode
,d
={DEFAULT
:e
=>{const t
=[c(e
,!1)+32,e
.col
+32,e
.row
+32];return t
[0]>255||t
[1]>255||t
[2]>255?"":`\e[M${l(t[0])}${l(t[1])}${l(t[2])}`},SGR
:e
=>{const t
=0===e
.action
&&4!==e
.button
?"m":"M";return`\e[<${c(e,!0)};${e.col};${e.row}${t}`},SGR_PIXELS
:e
=>{const t
=0===e
.action
&&4!==e
.button
?"m":"M";return`\e[<${c(e,!0)};${e.x};${e.y}${t}`}};let _
=t
.CoreMouseService
=class extends a
.Disposable
{constructor(e
,t
){super(),this._bufferService
=e
,this._coreService
=t
,this._protocols
={},this._encodings
={},this._activeProtocol
="",this._activeEncoding
="",this._lastEvent
=null,this._onProtocolChange
=this.register(new o
.EventEmitter
),this.onProtocolChange
=this._onProtocolChange
.event
;for(const e
of Object
.keys(h
))this.addProtocol(e
,h
[e
]);for(const e
of Object
.keys(d
))this.addEncoding(e
,d
[e
]);this.reset()}addProtocol(e
,t
){this._protocols
[e
]=t
}addEncoding(e
,t
){this._encodings
[e
]=t
}get activeProtocol(){return this._activeProtocol
}get areMouseEventsActive(){return 0!==this._protocols
[this._activeProtocol
].events
}set activeProtocol(e
){if(!this._protocols
[e
])throw new Error(`unknown protocol "${e}"`);this._activeProtocol
=e
,this._onProtocolChange
.fire(this._protocols
[e
].events
)}get activeEncoding(){return this._activeEncoding
}set activeEncoding(e
){if(!this._encodings
[e
])throw new Error(`unknown encoding "${e}"`);this._activeEncoding
=e
}reset(){this.activeProtocol
="NONE",this.activeEncoding
="DEFAULT",this._lastEvent
=null}triggerMouseEvent(e
){if(e
.col
<0||e
.col
>=this._bufferService
.cols
||e
.row
<0||e
.row
>=this._bufferService
.rows
)return!1;if(4===e
.button
&&32===e
.action
)return!1;if(3===e
.button
&&32!==e
.action
)return!1;if(4!==e
.button
&&(2===e
.action
||3===e
.action
))return!1;if(e
.col
++,e
.row
++,32===e
.action
&&this._lastEvent
&&this._equalEvents(this._lastEvent
,e
,"SGR_PIXELS"===this._activeEncoding
))return!1;if(!this._protocols
[this._activeProtocol
].restrict(e
))return!1;const t
=this._encodings
[this._activeEncoding
](e
);return t
&&("DEFAULT"===this._activeEncoding
?this._coreService
.triggerBinaryEvent(t
):this._coreService
.triggerDataEvent(t
,!0)),this._lastEvent
=e
,!0}explainEvents(e
){return{down
:!!(1&e
),up
:!!(2&e
),drag
:!!(4&e
),move:!!(8&e
),wheel
:!!(16&e
)}}_equalEvents(e
,t
,i
){if(i
){if(e
.x
!==t
.x
)return!1;if(e
.y
!==t
.y
)return!1}else{if(e
.col
!==t
.col
)return!1;if(e
.row
!==t
.row
)return!1}return e
.button
===t
.button
&&e
.action
===t
.action
&&e
.ctrl
===t
.ctrl
&&e
.alt
===t
.alt
&&e
.shift
===t
.shift
}};t
.CoreMouseService
=_
=s([r(0,n
.IBufferService
),r(1,n
.ICoreService
)],_
)},6975:function(e
,t
,i
){var s
=this&&this.__decorate
||function(e
,t
,i
,s
){var r
,n
=arguments
.length
,o
=n
<3?t
:null===s
?s
=Object
.getOwnPropertyDescriptor(t
,i
):s
;if("object"==typeof Reflect
&&"function"==typeof Reflect
.decorate
)o
=Reflect
.decorate(e
,t
,i
,s
);else for(var a
=e
.length
-1;a
>=0;a
--)(r
=e
[a
])&&(o
=(n
<3?r(o
):n
>3?r(t
,i
,o
):r(t
,i
))||o
);return n
>3&&o
&&Object
.defineProperty(t
,i
,o
),o
},r
=this&&this.__param
||function(e
,t
){return function(i
,s
){t(i
,s
,e
)}};Object
.defineProperty(t
,"__esModule",{value
:!0}),t
.CoreService
=void 0;const n
=i(1439),o
=i(8460),a
=i(844),h
=i(2585),c
=Object
.freeze({insertMode
:!1}),l
=Object
.freeze({applicationCursorKeys
:!1,applicationKeypad
:!1,bracketedPasteMode
:!1,origin
:!1,reverseWraparound
:!1,sendFocus
:!1,wraparound
:!0});let d
=t
.CoreService
=class extends a
.Disposable
{constructor(e
,t
,i
){super(),this._bufferService
=e
,this._logService
=t
,this._optionsService
=i
,this.isCursorInitialized
=!1,this.isCursorHidden
=!1,this._onData
=this.register(new o
.EventEmitter
),this.onData
=this._onData
.event
,this._onUserInput
=this.register(new o
.EventEmitter
),this.onUserInput
=this._onUserInput
.event
,this._onBinary
=this.register(new o
.EventEmitter
),this.onBinary
=this._onBinary
.event
,this._onRequestScrollToBottom
=this.register(new o
.EventEmitter
),this.onRequestScrollToBottom
=this._onRequestScrollToBottom
.event
,this.modes
=(0,n
.clone
)(c
),this.decPrivateModes
=(0,n
.clone
)(l
)}reset(){this.modes
=(0,n
.clone
)(c
),this.decPrivateModes
=(0,n
.clone
)(l
)}triggerDataEvent(e
,t
=!1){if(this._optionsService
.rawOptions
.disableStdin
)return;const i
=this._bufferService
.buffer
;t
&&this._optionsService
.rawOptions
.scrollOnUserInput
&&i
.ybase
!==i
.ydisp
&&this._onRequestScrollToBottom
.fire(),t
&&this._onUserInput
.fire(),this._logService
.debug(`sending data "${e}"`,(()=>e
.split("").map((e
=>e
.charCodeAt(0))))),this._onData
.fire(e
)}triggerBinaryEvent(e
){this._optionsService
.rawOptions
.disableStdin
||(this._logService
.debug(`sending binary "${e}"`,(()=>e
.split("").map((e
=>e
.charCodeAt(0))))),this._onBinary
.fire(e
))}};t
.CoreService
=d
=s([r(0,h
.IBufferService
),r(1,h
.ILogService
),r(2,h
.IOptionsService
)],d
)},9074:(e
,t
,i
)=>{Object
.defineProperty(t
,"__esModule",{value
:!0}),t
.DecorationService
=void 0;const s
=i(8055),r
=i(8460),n
=i(844),o
=i(6106);let a
=0,h
=0;class c
extends n
.Disposable
{get decorations(){return this._decorations
.values()}constructor(){super(),this._decorations
=new o
.SortedList((e
=>null==e
?void 0:e
.marker
.line
)),this._onDecorationRegistered
=this.register(new r
.EventEmitter
),this.onDecorationRegistered
=this._onDecorationRegistered
.event
,this._onDecorationRemoved
=this.register(new r
.EventEmitter
),this.onDecorationRemoved
=this._onDecorationRemoved
.event
,this.register((0,n
.toDisposable
)((()=>this.reset())))}registerDecoration(e
){if(e
.marker
.isDisposed
)return;const t
=new l(e
);if(t
){const e
=t
.marker
.onDispose((()=>t
.dispose()));t
.onDispose((()=>{t
&&(this._decorations
.delete(t
)&&this._onDecorationRemoved
.fire(t
),e
.dispose())})),this._decorations
.insert(t
),this._onDecorationRegistered
.fire(t
)}return t
}reset(){for(const e
of this._decorations
.values())e
.dispose();this._decorations
.clear()}*getDecorationsAtCell(e
,t
,i
){var s
,r
,n
;let o
=0,a
=0;for(const h
of this._decorations
.getKeyIterator(t
))o
=null!==(s
=h
.options
.x
)&&void 0!==s
?s
:0,a
=o
+(null!==(r
=h
.options
.width
)&&void 0!==r
?r
:1),e
>=o
&&e
<a
&&(!i
||(null!==(n
=h
.options
.layer
)&&void 0!==n
?n
:"bottom")===i
)&&(yield h
)}forEachDecorationAtCell(e
,t
,i
,s
){this._decorations
.forEachByKey(t
,(t
=>{var r
,n
,o
;a
=null!==(r
=t
.options
.x
)&&void 0!==r
?r
:0,h
=a
+(null!==(n
=t
.options
.width
)&&void 0!==n
?n
:1),e
>=a
&&e
<h
&&(!i
||(null!==(o
=t
.options
.layer
)&&void 0!==o
?o
:"bottom")===i
)&&s(t
)}))}}t
.DecorationService
=c
;class l
extends n
.Disposable
{get isDisposed(){return this._isDisposed
}get backgroundColorRGB(){return null===this._cachedBg
&&(this.options
.backgroundColor
?this._cachedBg
=s
.css
.toColor(this.options
.backgroundColor
):this._cachedBg
=void 0),this._cachedBg
}get foregroundColorRGB(){return null===this._cachedFg
&&(this.options
.foregroundColor
?this._cachedFg
=s
.css
.toColor(this.options
.foregroundColor
):this._cachedFg
=void 0),this._cachedFg
}constructor(e
){super(),this.options
=e
,this.onRenderEmitter
=this.register(new r
.EventEmitter
),this.onRender
=this.onRenderEmitter
.event
,this._onDispose
=this.register(new r
.EventEmitter
),this.onDispose
=this._onDispose
.event
,this._cachedBg
=null,this._cachedFg
=null,this.marker
=e
.marker
,this.options
.overviewRulerOptions
&&!this.options
.overviewRulerOptions
.position
&&(this.options
.overviewRulerOptions
.position
="full")}dispose(){this._onDispose
.fire(),super.dispose()}}},4348:(e
,t
,i
)=>{Object
.defineProperty(t
,"__esModule",{value
:!0}),t
.InstantiationService
=t
.ServiceCollection
=void 0;const s
=i(2585),r
=i(8343);class n
{constructor(...e
){this._entries
=new Map
;for(const[t
,i
]of e
)this.set(t
,i
)}set(e
,t
){const i
=this._entries
.get(e
);return this._entries
.set(e
,t
),i
}forEach(e
){for(const[t
,i
]of this._entries
.entries())e(t
,i
)}has(e
){return this._entries
.has(e
)}get(e
){return this._entries
.get(e
)}}t
.ServiceCollection
=n
,t
.InstantiationService
=class{constructor(){this._services
=new n
,this._services
.set(s
.IInstantiationService
,this)}setService(e
,t
){this._services
.set(e
,t
)}getService(e
){return this._services
.get(e
)}createInstance(e
,...t
){const i
=(0,r
.getServiceDependencies
)(e
).sort(((e
,t
)=>e
.index
-t
.index
)),s
=[];for(const t
of i
){const i
=this._services
.get(t
.id
);if(!i
)throw new Error(`[createInstance] ${e.name} depends on UNKNOWN service ${t.id}.`);s
.push(i
)}const n
=i
.length
>0?i
[0].index
:t
.length
;if(t
.length
!==n
)throw new Error(`[createInstance] First service dependency of ${e.name} at position ${n+1} conflicts with ${t.length} static arguments`);return new e(...[...t
,...s
])}}},7866:function(e
,t
,i
){var s
=this&&this.__decorate
||function(e
,t
,i
,s
){var r
,n
=arguments
.length
,o
=n
<3?t
:null===s
?s
=Object
.getOwnPropertyDescriptor(t
,i
):s
;if("object"==typeof Reflect
&&"function"==typeof Reflect
.decorate
)o
=Reflect
.decorate(e
,t
,i
,s
);else for(var a
=e
.length
-1;a
>=0;a
--)(r
=e
[a
])&&(o
=(n
<3?r(o
):n
>3?r(t
,i
,o
):r(t
,i
))||o
);return n
>3&&o
&&Object
.defineProperty(t
,i
,o
),o
},r
=this&&this.__param
||function(e
,t
){return function(i
,s
){t(i
,s
,e
)}};Object
.defineProperty(t
,"__esModule",{value
:!0}),t
.traceCall
=t
.setTraceLogger
=t
.LogService
=void 0;const n
=i(844),o
=i(2585),a
={trace
:o
.LogLevelEnum
.TRACE
,debug
:o
.LogLevelEnum
.DEBUG
,info
:o
.LogLevelEnum
.INFO
,warn
:o
.LogLevelEnum
.WARN
,error
:o
.LogLevelEnum
.ERROR
,off
:o
.LogLevelEnum
.OFF
};let h
,c
=t
.LogService
=class extends n
.Disposable
{get logLevel(){return this._logLevel
}constructor(e
){super(),this._optionsService
=e
,this._logLevel
=o
.LogLevelEnum
.OFF
,this._updateLogLevel(),this.register(this._optionsService
.onSpecificOptionChange("logLevel",(()=>this._updateLogLevel()))),h
=this}_updateLogLevel(){this._logLevel
=a
[this._optionsService
.rawOptions
.logLevel
]}_evalLazyOptionalParams(e
){for(let t
=0;t
<e
.length
;t
++)"function"==typeof e
[t
]&&(e
[t
]=e
[t
]())}_log(e
,t
,i
){this._evalLazyOptionalParams(i
),e
.call(console
,(this._optionsService
.options
.logger
?"":"xterm.js: ")+t
,...i
)}trace(e
,...t
){var i
,s
;this._logLevel
<=o
.LogLevelEnum
.TRACE
&&this._log(null!==(s
=null===(i
=this._optionsService
.options
.logger
)||void 0===i
?void 0:i
.trace
.bind(this._optionsService
.options
.logger
))&&void 0!==s
?s
:console
.log
,e
,t
)}debug(e
,...t
){var i
,s
;this._logLevel
<=o
.LogLevelEnum
.DEBUG
&&this._log(null!==(s
=null===(i
=this._optionsService
.options
.logger
)||void 0===i
?void 0:i
.debug
.bind(this._optionsService
.options
.logger
))&&void 0!==s
?s
:console
.log
,e
,t
)}info(e
,...t
){var i
,s
;this._logLevel
<=o
.LogLevelEnum
.INFO
&&this._log(null!==(s
=null===(i
=this._optionsService
.options
.logger
)||void 0===i
?void 0:i
.info
.bind(this._optionsService
.options
.logger
))&&void 0!==s
?s
:console
.info
,e
,t
)}warn(e
,...t
){var i
,s
;this._logLevel
<=o
.LogLevelEnum
.WARN
&&this._log(null!==(s
=null===(i
=this._optionsService
.options
.logger
)||void 0===i
?void 0:i
.warn
.bind(this._optionsService
.options
.logger
))&&void 0!==s
?s
:console
.warn
,e
,t
)}error(e
,...t
){var i
,s
;this._logLevel
<=o
.LogLevelEnum
.ERROR
&&this._log(null!==(s
=null===(i
=this._optionsService
.options
.logger
)||void 0===i
?void 0:i
.error
.bind(this._optionsService
.options
.logger
))&&void 0!==s
?s
:console
.error
,e
,t
)}};t
.LogService
=c
=s([r(0,o
.IOptionsService
)],c
),t
.setTraceLogger=function(e
){h
=e
},t
.traceCall=function(e
,t
,i
){if("function"!=typeof i
.value
)throw new Error("not supported");const s
=i
.value
;i
.value=function(...e
){if(h
.logLevel
!==o
.LogLevelEnum
.TRACE
)return s
.apply(this,e
);h
.trace(`GlyphRenderer#${s.name}(${e.map((e=>JSON.stringify(e))).join(", ")})`);const t
=s
.apply(this,e
);return h
.trace(`GlyphRenderer#${s.name} return`,t
),t
}}},7302:(e
,t
,i
)=>{Object
.defineProperty(t
,"__esModule",{value
:!0}),t
.OptionsService
=t
.DEFAULT_OPTIONS
=void 0;const s
=i(8460),r
=i(844),n
=i(6114);t
.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
:n
.isMac
,windowOptions
:{},windowsMode
:!1,windowsPty
:{},wordSeparator
:" ()[]{}',\"`",altClickMovesCursor
:!0,convertEol
:!1,termName
:"xterm",cancelEvents
:!1,overviewRulerWidth
:0};const o
=["normal","bold","100","200","300","400","500","600","700","800","900"];class a
extends r
.Disposable
{constructor(e
){super(),this._onOptionChange
=this.register(new s
.EventEmitter
),this.onOptionChange
=this._onOptionChange
.event
;const i
=Object
.assign({},t
.DEFAULT_OPTIONS
);for(const t
in e
)if(t
in i
)try{const s
=e
[t
];i
[t
]=this._sanitizeAndValidateOption(t
,s
)}catch(e
){console
.error(e
)}this.rawOptions
=i
,this.options
=Object
.assign({},i
),this._setupOptions()}onSpecificOptionChange(e
,t
){return this.onOptionChange((i
=>{i
===e
&&t(this.rawOptions
[e
])}))}onMultipleOptionChange(e
,t
){return this.onOptionChange((i
=>{-1!==e
.indexOf(i
)&&t()}))}_setupOptions(){const e
=e
=>{if(!(e
in t
.DEFAULT_OPTIONS
))throw new Error(`No option with key "${e}"`);return this.rawOptions
[e
]},i
=(e
,i
)=>{if(!(e
in t
.DEFAULT_OPTIONS
))throw new Error(`No option with key "${e}"`);i
=this._sanitizeAndValidateOption(e
,i
),this.rawOptions
[e
]!==i
&&(this.rawOptions
[e
]=i
,this._onOptionChange
.fire(e
))};for(const t
in this.rawOptions
){const s
={get:e
.bind(this,t
),set:i
.bind(this,t
)};Object
.defineProperty(this.options
,t
,s
)}}_sanitizeAndValidateOption(e
,i
){switch(e
){case"cursorStyle":if(i
||(i
=t
.DEFAULT_OPTIONS
[e
]),!function(e
){return"block"===e
||"underline"===e
||"bar"===e
}(i
))throw new Error(`"${i}" is not a valid value for ${e}`);break;case"wordSeparator":i
||(i
=t
.DEFAULT_OPTIONS
[e
]);break;case"fontWeight":case"fontWeightBold":if("number"==typeof i
&&1<=i
&&i
<=1e3
)break;i
=o
.includes(i
)?i
:t
.DEFAULT_OPTIONS
[e
];break;case"cursorWidth":i
=Math
.floor(i
);case"lineHeight":case"tabStopWidth":if(i
<1)throw new Error(`${e} cannot be less than 1, value: ${i}`);break;case"minimumContrastRatio":i
=Math
.max(1,Math
.min(21,Math
.round(10*i
)/10));break;case"scrollback":if((i=Math.min(i,4294967295))<0)throw new Error(`${e} cannot be less than 0, value: ${i}`);break;case"fastScrollSensitivity":case"scrollSensitivity":if(i<=0)throw new Error(`${e} cannot be less than or equal to 0, value: ${i}`);break;case"rows":case"cols":if(!i&&0!==i)throw new Error(`${e} must be numeric, value: ${i}`);break;case"windowsPty":i=null!=i?i:{}}return i}}t.OptionsService=a},2660:function(e,t,i){var s=this&&this.__decorate||function(e,t,i,s){var r,n=arguments.length,o=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,s);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(n<3?r(o):n>3?r(t,i,o):r(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},r=this&&this.__param||function(e,t){return function(i,s){t(i,s,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.OscLinkService=void 0;const n=i(2585);let o=t.OscLinkService=class{constructor(e){this._bufferService=e,this._nextId=1,this._entriesWithId=new Map,this._dataByLinkId=new Map}registerLink(e){const t=this._bufferService.buffer;if(void 0===e.id){const i=t.addMarker(t.ybase+t.y),s={data:e,id:this._nextId++,lines:[i]};return i.onDispose((()=>this._removeMarkerFromLink(s,i))),this._dataByLinkId.set(s.id,s),s.id}const i=e,s=this._getEntryIdKey(i),r=this._entriesWithId.get(s);if(r)return this.addLineToLink(r.id,t.ybase+t.y),r.id;const n=t.addMarker(t.ybase+t.y),o={id:this._nextId++,key:this._getEntryIdKey(i),data:i,lines:[n]};return n.onDispose((()=>this._removeMarkerFromLink(o,n))),this._entriesWithId.set(o.key,o),this._dataByLinkId.set(o.id,o),o.id}addLineToLink(e,t){const i=this._dataByLinkId.get(e);if(i&&i.lines.every((e=>e.line!==t))){const e=this._bufferService.buffer.addMarker(t);i.lines.push(e),e.onDispose((()=>this._removeMarkerFromLink(i,e)))}}getLinkData(e){var t;return null===(t=this._dataByLinkId.get(e))||void 0===t?void 0:t.data}_getEntryIdKey(e){return`${e.id};;${e.uri}`}_removeMarkerFromLink(e,t){const i=e.lines.indexOf(t);-1!==i&&(e.lines.splice(i,1),0===e.lines.length&&(void 0!==e.data.id&&this._entriesWithId.delete(e.key),this._dataByLinkId.delete(e.id)))}};t.OscLinkService=o=s([r(0,n.IBufferService)],o)},8343:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.createDecorator=t.getServiceDependencies=t.serviceRegistry=void 0;const i="di$target",s="di$dependencies";t.serviceRegistry=new Map,t.getServiceDependencies=function(e){return e[s]||[]},t.createDecorator=function(e){if(t.serviceRegistry.has(e))return t.serviceRegistry.get(e);const r=function(e,t,n){if(3!==arguments.length)throw new Error("@IServiceName-decorator can only be used to decorate a parameter");!function(e,t,r){t[i]===t?t[s].push({id:e,index:r}):(t[s]=[{id:e,index:r}],t[i]=t)}(r,e,n)};return r.toString=()=>e,t.serviceRegistry.set(e,r),r}},2585:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.IDecorationService=t.IUnicodeService=t.IOscLinkService=t.IOptionsService=t.ILogService=t.LogLevelEnum=t.IInstantiationService=t.ICharsetService=t.ICoreService=t.ICoreMouseService=t.IBufferService=void 0;const s=i(8343);var r;t.IBufferService=(0,s.createDecorator)("BufferService"),t.ICoreMouseService=(0,s.createDecorator)("CoreMouseService"),t.ICoreService=(0,s.createDecorator)("CoreService"),t.ICharsetService=(0,s.createDecorator)("CharsetService"),t.IInstantiationService=(0,s.createDecorator)("InstantiationService"),function(e){e[e.TRACE=0]="TRACE",e[e.DEBUG=1]="DEBUG",e[e.INFO=2]="INFO",e[e.WARN=3]="WARN",e[e.ERROR=4]="ERROR",e[e.OFF=5]="OFF"}(r||(t.LogLevelEnum=r={})),t.ILogService=(0,s.createDecorator)("LogService"),t.IOptionsService=(0,s.createDecorator)("OptionsService"),t.IOscLinkService=(0,s.createDecorator)("OscLinkService"),t.IUnicodeService=(0,s.createDecorator)("UnicodeService"),t.IDecorationService=(0,s.createDecorator)("DecorationService")},1480:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.UnicodeService=void 0;const s=i(8460),r=i(225);t.UnicodeService=class{constructor(){this._providers=Object.create(null),this._active="",this._onChange=new s.EventEmitter,this.onChange=this._onChange.event;const e=new r.UnicodeV6;this.register(e),this._active=e.version,this._activeProvider=e}dispose(){this._onChange.dispose()}get versions(){return Object.keys(this._providers)}get activeVersion(){return this._active}set activeVersion(e){if(!this._providers[e])throw new Error(`unknown Unicode version "${e}"`);this._active=e,this._activeProvider=this._providers[e],this._onChange.fire(e)}register(e){this._providers[e.version]=e}wcwidth(e){return this._activeProvider.wcwidth(e)}getStringCellWidth(e){let t=0;const i=e.length;for(let s=0;s<i;++s){let r=e.charCodeAt(s);if(55296<=r&&r<=56319){if(++s>=i)return t+this.wcwidth(r);const n=e.charCodeAt(s);56320<=n&&n<=57343?r=1024*(r-55296)+n-56320+65536:t+=this.wcwidth(n)}t+=this.wcwidth(r)}return t}}}},t={};function i(s){var r=t[s];if(void 0!==r)return r.exports;var n=t[s]={exports:{}};return e[s].call(n.exports,n,n.exports,i),n.exports}var s={};return(()=>{var e=s;Object.defineProperty(e,"__esModule",{value:!0}),e.Terminal=void 0;const t=i(9042),r=i(3236),n=i(844),o=i(5741),a=i(8285),h=i(7975),c=i(7090),l=["cols","rows"];class d extends n.Disposable{constructor(e){super(),this._core=this.register(new r.Terminal(e)),this._addonManager=this.register(new o.AddonManager),this._publicOptions=Object.assign({},this._core.options);const t=e=>this._core.options[e],i=(e,t)=>{this._checkReadonlyOptions(e),this._core.options[e]=t};for(const e in this._core.options){const s={get:t.bind(this,e),set:i.bind(this,e)};Object.defineProperty(this._publicOptions,e,s)}}_checkReadonlyOptions(e){if(l.includes(e))throw new Error(`Option "${e}" 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 h.ParserApi(this._core)),this._parser}get unicode(){return this._checkProposedApi(),new c.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 a.BufferNamespaceApi(this._core))),this._buffer}get markers(){return this._checkProposedApi(),this._core.markers}get modes(){const e=this._core.coreService.decPrivateModes;let 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:e.applicationCursorKeys,applicationKeypadMode:e.applicationKeypad,bracketedPasteMode:e.bracketedPasteMode,insertMode:this._core.coreService.modes.insertMode,mouseTrackingMode:t,originMode:e.origin,reverseWraparoundMode:e.reverseWraparound,sendFocusMode:e.sendFocus,wraparoundMode:e.wraparound}}get options(){return this._publicOptions}set options(e){for(const t in e)this._publicOptions[t]=e[t]}blur(){this._core.blur()}focus(){this._core.focus()}resize(e,t){this._verifyIntegers(e,t),this._core.resize(e,t)}open(e){this._core.open(e)}attachCustomKeyEventHandler(e){this._core.attachCustomKeyEventHandler(e)}registerLinkProvider(e){return this._core.registerLinkProvider(e)}registerCharacterJoiner(e){return this._checkProposedApi(),this._core.registerCharacterJoiner(e)}deregisterCharacterJoiner(e){this._checkProposedApi(),this._core.deregisterCharacterJoiner(e)}registerMarker(e=0){return this._verifyIntegers(e),this._core.registerMarker(e)}registerDecoration(e){var t,i,s;return this._checkProposedApi(),this._verifyPositiveIntegers(null!==(t=e.x)&&void 0!==t?t:0,null!==(i=e.width)&&void 0!==i?i:0,null!==(s=e.height)&&void 0!==s?s:0),this._core.registerDecoration(e)}hasSelection(){return this._core.hasSelection()}select(e,t,i){this._verifyIntegers(e,t,i),this._core.select(e,t,i)}getSelection(){return this._core.getSelection()}getSelectionPosition(){return this._core.getSelectionPosition()}clearSelection(){this._core.clearSelection()}selectAll(){this._core.selectAll()}selectLines(e,t){this._verifyIntegers(e,t),this._core.selectLines(e,t)}dispose(){super.dispose()}scrollLines(e){this._verifyIntegers(e),this._core.scrollLines(e)}scrollPages(e){this._verifyIntegers(e),this._core.scrollPages(e)}scrollToTop(){this._core.scrollToTop()}scrollToBottom(){this._core.scrollToBottom()}scrollToLine(e){this._verifyIntegers(e),this._core.scrollToLine(e)}clear(){this._core.clear()}write(e,t){this._core.write(e,t)}writeln(e,t){this._core.write(e),this._core.write("\r\n",t)}paste(e){this._core.paste(e)}refresh(e,t){this._verifyIntegers(e,t),this._core.refresh(e,t)}reset(){this._core.reset()}clearTextureAtlas(){this._core.clearTextureAtlas()}loadAddon(e){this._addonManager.loadAddon(this,e)}static get strings(){return t}_verifyIntegers(...e){for(const t of e)if(t===1/0||isNaN(t
)||t
%1!=0)throw new Error("This API only accepts integers")}_verifyPositiveIntegers(...e
){for(const t
of e
)if(t
&&(t
===1/0||isNaN(t
)||t
%1!=0||t
<0))throw new Error("This API only accepts positive integers")}}e
.Terminal
=d
})(),s
})()));