Viewing File: /usr/local/cpanel/3rdparty/share/xtermjs/xterm.min.js
(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.Terminal=f()}})(function(){var define,module,exports;return function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s}({1:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var Strings=require("./Strings");var Browser_1=require("./shared/utils/Browser");var RenderDebouncer_1=require("./utils/RenderDebouncer");var Dom_1=require("./utils/Dom");var MAX_ROWS_TO_READ=20;var BoundaryPosition;(function(BoundaryPosition){BoundaryPosition[BoundaryPosition["Top"]=0]="Top";BoundaryPosition[BoundaryPosition["Bottom"]=1]="Bottom"})(BoundaryPosition||(BoundaryPosition={}));var AccessibilityManager=function(){function AccessibilityManager(_terminal){var _this=this;this._terminal=_terminal;this._liveRegionLineCount=0;this._disposables=[];this._charsToConsume=[];this._accessibilityTreeRoot=document.createElement("div");this._accessibilityTreeRoot.classList.add("xterm-accessibility");this._rowContainer=document.createElement("div");this._rowContainer.classList.add("xterm-accessibility-tree");this._rowElements=[];for(var i=0;i<this._terminal.rows;i++){this._rowElements[i]=this._createAccessibilityTreeNode();this._rowContainer.appendChild(this._rowElements[i])}this._topBoundaryFocusListener=function(e){return _this._onBoundaryFocus(e,BoundaryPosition.Top)};this._bottomBoundaryFocusListener=function(e){return _this._onBoundaryFocus(e,BoundaryPosition.Bottom)};this._rowElements[0].addEventListener("focus",this._topBoundaryFocusListener);this._rowElements[this._rowElements.length-1].addEventListener("focus",this._bottomBoundaryFocusListener);this._refreshRowsDimensions();this._accessibilityTreeRoot.appendChild(this._rowContainer);this._renderRowsDebouncer=new RenderDebouncer_1.RenderDebouncer(this._terminal,this._renderRows.bind(this));this._refreshRows();this._liveRegion=document.createElement("div");this._liveRegion.classList.add("live-region");this._liveRegion.setAttribute("aria-live","assertive");this._accessibilityTreeRoot.appendChild(this._liveRegion);this._terminal.element.insertAdjacentElement("afterbegin",this._accessibilityTreeRoot);this._disposables.push(this._renderRowsDebouncer);this._disposables.push(this._terminal.addDisposableListener("resize",function(data){return _this._onResize(data.cols,data.rows)}));this._disposables.push(this._terminal.addDisposableListener("refresh",function(data){return _this._refreshRows(data.start,data.end)}));this._disposables.push(this._terminal.addDisposableListener("scroll",function(data){return _this._refreshRows()}));this._disposables.push(this._terminal.addDisposableListener("a11y.char",function(char){return _this._onChar(char)}));this._disposables.push(this._terminal.addDisposableListener("linefeed",function(){return _this._onChar("\n")}));this._disposables.push(this._terminal.addDisposableListener("a11y.tab",function(spaceCount){return _this._onTab(spaceCount)}));this._disposables.push(this._terminal.addDisposableListener("key",function(keyChar){return _this._onKey(keyChar)}));this._disposables.push(this._terminal.addDisposableListener("blur",function(){return _this._clearLiveRegion()}));this._disposables.push(this._terminal.addDisposableListener("dprchange",function(){return _this._refreshRowsDimensions()}));this._disposables.push(this._terminal.renderer.addDisposableListener("resize",function(){return _this._refreshRowsDimensions()}));this._disposables.push(Dom_1.addDisposableListener(window,"resize",function(){return _this._refreshRowsDimensions()}))}AccessibilityManager.prototype.dispose=function(){this._disposables.forEach(function(d){return d.dispose()});this._disposables.length=0;this._terminal.element.removeChild(this._accessibilityTreeRoot);this._rowElements.length=0};AccessibilityManager.prototype._onBoundaryFocus=function(e,position){var boundaryElement=e.target;var beforeBoundaryElement=this._rowElements[position===BoundaryPosition.Top?1:this._rowElements.length-2];var posInSet=boundaryElement.getAttribute("aria-posinset");var lastRowPos=position===BoundaryPosition.Top?"1":""+this._terminal.buffer.lines.length;if(posInSet===lastRowPos){return}if(e.relatedTarget!==beforeBoundaryElement){return}var topBoundaryElement;var bottomBoundaryElement;if(position===BoundaryPosition.Top){topBoundaryElement=boundaryElement;bottomBoundaryElement=this._rowElements.pop();this._rowContainer.removeChild(bottomBoundaryElement)}else{topBoundaryElement=this._rowElements.shift();bottomBoundaryElement=boundaryElement;this._rowContainer.removeChild(topBoundaryElement)}topBoundaryElement.removeEventListener("focus",this._topBoundaryFocusListener);bottomBoundaryElement.removeEventListener("focus",this._bottomBoundaryFocusListener);if(position===BoundaryPosition.Top){var newElement=this._createAccessibilityTreeNode();this._rowElements.unshift(newElement);this._rowContainer.insertAdjacentElement("afterbegin",newElement)}else{var newElement=this._createAccessibilityTreeNode();this._rowElements.push(newElement);this._rowContainer.appendChild(newElement)}this._rowElements[0].addEventListener("focus",this._topBoundaryFocusListener);this._rowElements[this._rowElements.length-1].addEventListener("focus",this._bottomBoundaryFocusListener);this._terminal.scrollLines(position===BoundaryPosition.Top?-1:1);this._rowElements[position===BoundaryPosition.Top?1:this._rowElements.length-2].focus();e.preventDefault();e.stopImmediatePropagation()};AccessibilityManager.prototype._onResize=function(cols,rows){this._rowElements[this._rowElements.length-1].removeEventListener("focus",this._bottomBoundaryFocusListener);for(var i=this._rowContainer.children.length;i<this._terminal.rows;i++){this._rowElements[i]=this._createAccessibilityTreeNode();this._rowContainer.appendChild(this._rowElements[i])}while(this._rowElements.length>rows){this._rowContainer.removeChild(this._rowElements.pop())}this._rowElements[this._rowElements.length-1].addEventListener("focus",this._bottomBoundaryFocusListener);this._refreshRowsDimensions()};AccessibilityManager.prototype._createAccessibilityTreeNode=function(){var element=document.createElement("div");element.setAttribute("role","listitem");element.tabIndex=-1;this._refreshRowDimensions(element);return element};AccessibilityManager.prototype._onTab=function(spaceCount){for(var i=0;i<spaceCount;i++){this._onChar(" ")}};AccessibilityManager.prototype._onChar=function(char){var _this=this;if(this._liveRegionLineCount<MAX_ROWS_TO_READ+1){if(this._charsToConsume.length>0){var shiftedChar=this._charsToConsume.shift();if(shiftedChar!==char){this._announceCharacter(char)}}else{this._announceCharacter(char)}if(char==="\n"){this._liveRegionLineCount++;if(this._liveRegionLineCount===MAX_ROWS_TO_READ+1){this._liveRegion.textContent+=Strings.tooMuchOutput}}if(Browser_1.isMac){if(this._liveRegion.textContent&&this._liveRegion.textContent.length>0&&!this._liveRegion.parentNode){setTimeout(function(){_this._accessibilityTreeRoot.appendChild(_this._liveRegion)},0)}}}};AccessibilityManager.prototype._clearLiveRegion=function(){this._liveRegion.textContent="";this._liveRegionLineCount=0;if(Browser_1.isMac){if(this._liveRegion.parentNode){this._accessibilityTreeRoot.removeChild(this._liveRegion)}}};AccessibilityManager.prototype._onKey=function(keyChar){this._clearLiveRegion();this._charsToConsume.push(keyChar)};AccessibilityManager.prototype._refreshRows=function(start,end){this._renderRowsDebouncer.refresh(start,end)};AccessibilityManager.prototype._renderRows=function(start,end){var buffer=this._terminal.buffer;var setSize=buffer.lines.length.toString();for(var i=start;i<=end;i++){var lineData=buffer.translateBufferLineToString(buffer.ydisp+i,true);var posInSet=(buffer.ydisp+i+1).toString();var element=this._rowElements[i];element.textContent=lineData.length===0?Strings.blankLine:lineData;element.setAttribute("aria-posinset",posInSet);element.setAttribute("aria-setsize",setSize)}};AccessibilityManager.prototype._refreshRowsDimensions=function(){if(!this._terminal.renderer.dimensions.actualCellHeight){return}for(var i=0;i<this._terminal.rows;i++){this._refreshRowDimensions(this._rowElements[i])}};AccessibilityManager.prototype._refreshRowDimensions=function(element){element.style.height=this._terminal.renderer.dimensions.actualCellHeight+"px"};AccessibilityManager.prototype._announceCharacter=function(char){if(char===" "){this._liveRegion.innerHTML+=" "}else{this._liveRegion.textContent+=char}};return AccessibilityManager}();exports.AccessibilityManager=AccessibilityManager},{"./Strings":15,"./shared/utils/Browser":36,"./utils/Dom":40,"./utils/RenderDebouncer":42}],2:[function(require,module,exports){"use strict";var __extends=this&&this.__extends||function(){var extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(d,b){d.__proto__=b}||function(d,b){for(var p in b)if(b.hasOwnProperty(p))d[p]=b[p]};return function(d,b){extendStatics(d,b);function __(){this.constructor=d}d.prototype=b===null?Object.create(b):(__.prototype=b.prototype,new __)}}();Object.defineProperty(exports,"__esModule",{value:true});var CircularList_1=require("./utils/CircularList");var EventEmitter_1=require("./EventEmitter");exports.CHAR_DATA_ATTR_INDEX=0;exports.CHAR_DATA_CHAR_INDEX=1;exports.CHAR_DATA_WIDTH_INDEX=2;exports.CHAR_DATA_CODE_INDEX=3;exports.MAX_BUFFER_SIZE=4294967295;var Buffer=function(){function Buffer(_terminal,_hasScrollback){this._terminal=_terminal;this._hasScrollback=_hasScrollback;this.markers=[];this.clear()}Object.defineProperty(Buffer.prototype,"lines",{get:function(){return this._lines},enumerable:true,configurable:true});Object.defineProperty(Buffer.prototype,"hasScrollback",{get:function(){return this._hasScrollback&&this.lines.maxLength>this._terminal.rows},enumerable:true,configurable:true});Object.defineProperty(Buffer.prototype,"isCursorInViewport",{get:function(){var absoluteY=this.ybase+this.y;var relativeY=absoluteY-this.ydisp;return relativeY>=0&&relativeY<this._terminal.rows},enumerable:true,configurable:true});Buffer.prototype._getCorrectBufferLength=function(rows){if(!this._hasScrollback){return rows}var correctBufferLength=rows+this._terminal.options.scrollback;return correctBufferLength>exports.MAX_BUFFER_SIZE?exports.MAX_BUFFER_SIZE:correctBufferLength};Buffer.prototype.fillViewportRows=function(){if(this._lines.length===0){var i=this._terminal.rows;while(i--){this.lines.push(this._terminal.blankLine())}}};Buffer.prototype.clear=function(){this.ydisp=0;this.ybase=0;this.y=0;this.x=0;this._lines=new CircularList_1.CircularList(this._getCorrectBufferLength(this._terminal.rows));this.scrollTop=0;this.scrollBottom=this._terminal.rows-1;this.setupTabStops()};Buffer.prototype.resize=function(newCols,newRows){var newMaxLength=this._getCorrectBufferLength(newRows);if(newMaxLength>this._lines.maxLength){this._lines.maxLength=newMaxLength}if(this._lines.length>0){if(this._terminal.cols<newCols){var ch=[this._terminal.defAttr," ",1,32];for(var i=0;i<this._lines.length;i++){while(this._lines.get(i).length<newCols){this._lines.get(i).push(ch)}}}var addToY=0;if(this._terminal.rows<newRows){for(var y=this._terminal.rows;y<newRows;y++){if(this._lines.length<newRows+this.ybase){if(this.ybase>0&&this._lines.length<=this.ybase+this.y+addToY+1){this.ybase--;addToY++;if(this.ydisp>0){this.ydisp--}}else{this._lines.push(this._terminal.blankLine(undefined,undefined,newCols))}}}}else{for(var y=this._terminal.rows;y>newRows;y--){if(this._lines.length>newRows+this.ybase){if(this._lines.length>this.ybase+this.y+1){this._lines.pop()}else{this.ybase++;this.ydisp++}}}}if(newMaxLength<this._lines.maxLength){var amountToTrim=this._lines.length-newMaxLength;if(amountToTrim>0){this._lines.trimStart(amountToTrim);this.ybase=Math.max(this.ybase-amountToTrim,0);this.ydisp=Math.max(this.ydisp-amountToTrim,0)}this._lines.maxLength=newMaxLength}this.x=Math.min(this.x,newCols-1);this.y=Math.min(this.y,newRows-1);if(addToY){this.y+=addToY}this.savedY=Math.min(this.savedY,newRows-1);this.savedX=Math.min(this.savedX,newCols-1);this.scrollTop=0}this.scrollBottom=newRows-1};Buffer.prototype.translateBufferLineToString=function(lineIndex,trimRight,startCol,endCol){if(startCol===void 0){startCol=0}if(endCol===void 0){endCol=null}var lineString="";var line=this.lines.get(lineIndex);if(!line){return""}var startIndex=startCol;if(endCol===null){endCol=line.length}var endIndex=endCol;for(var i=0;i<line.length;i++){var char=line[i];lineString+=char[exports.CHAR_DATA_CHAR_INDEX];if(char[exports.CHAR_DATA_WIDTH_INDEX]===0){if(startCol>=i){startIndex--}if(endCol>=i){endIndex--}}else{if(char[exports.CHAR_DATA_CHAR_INDEX].length>1){if(startCol>i){startIndex+=char[exports.CHAR_DATA_CHAR_INDEX].length-1}if(endCol>i){endIndex+=char[exports.CHAR_DATA_CHAR_INDEX].length-1}}}}if(trimRight){var rightWhitespaceIndex=lineString.search(/\s+$/);if(rightWhitespaceIndex!==-1){endIndex=Math.min(endIndex,rightWhitespaceIndex)}if(endIndex<=startIndex){return""}}return lineString.substring(startIndex,endIndex)};Buffer.prototype.setupTabStops=function(i){if(i!=null){if(!this.tabs[i]){i=this.prevStop(i)}}else{this.tabs={};i=0}for(;i<this._terminal.cols;i+=this._terminal.options.tabStopWidth){this.tabs[i]=true}};Buffer.prototype.prevStop=function(x){if(x==null){x=this.x}while(!this.tabs[--x]&&x>0);return x>=this._terminal.cols?this._terminal.cols-1:x<0?0:x};Buffer.prototype.nextStop=function(x){if(x==null){x=this.x}while(!this.tabs[++x]&&x<this._terminal.cols);return x>=this._terminal.cols?this._terminal.cols-1:x<0?0:x};Buffer.prototype.addMarker=function(y){var _this=this;var marker=new Marker(y);this.markers.push(marker);marker.disposables.push(this._lines.addDisposableListener("trim",function(amount){marker.line-=amount;if(marker.line<0){marker.dispose()}}));marker.on("dispose",function(){return _this._removeMarker(marker)});return marker};Buffer.prototype._removeMarker=function(marker){this.markers.splice(this.markers.indexOf(marker),1)};return Buffer}();exports.Buffer=Buffer;var Marker=function(_super){__extends(Marker,_super);function Marker(line){var _this=_super.call(this)||this;_this.line=line;_this._id=Marker.NEXT_ID++;_this.isDisposed=false;_this.disposables=[];return _this}Object.defineProperty(Marker.prototype,"id",{get:function(){return this._id},enumerable:true,configurable:true});Marker.prototype.dispose=function(){if(this.isDisposed){return}this.isDisposed=true;this.disposables.forEach(function(d){return d.dispose()});this.disposables.length=0;this.emit("dispose")};Marker.NEXT_ID=1;return Marker}(EventEmitter_1.EventEmitter);exports.Marker=Marker},{"./EventEmitter":8,"./utils/CircularList":38}],3:[function(require,module,exports){"use strict";var __extends=this&&this.__extends||function(){var extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(d,b){d.__proto__=b}||function(d,b){for(var p in b)if(b.hasOwnProperty(p))d[p]=b[p]};return function(d,b){extendStatics(d,b);function __(){this.constructor=d}d.prototype=b===null?Object.create(b):(__.prototype=b.prototype,new __)}}();Object.defineProperty(exports,"__esModule",{value:true});var Buffer_1=require("./Buffer");var EventEmitter_1=require("./EventEmitter");var BufferSet=function(_super){__extends(BufferSet,_super);function BufferSet(_terminal){var _this=_super.call(this)||this;_this._terminal=_terminal;_this._normal=new Buffer_1.Buffer(_this._terminal,true);_this._normal.fillViewportRows();_this._alt=new Buffer_1.Buffer(_this._terminal,false);_this._activeBuffer=_this._normal;_this.setupTabStops();return _this}Object.defineProperty(BufferSet.prototype,"alt",{get:function(){return this._alt},enumerable:true,configurable:true});Object.defineProperty(BufferSet.prototype,"active",{get:function(){return this._activeBuffer},enumerable:true,configurable:true});Object.defineProperty(BufferSet.prototype,"normal",{get:function(){return this._normal},enumerable:true,configurable:true});BufferSet.prototype.activateNormalBuffer=function(){if(this._activeBuffer===this._normal){return}this._alt.clear();this._activeBuffer=this._normal;this.emit("activate",{activeBuffer:this._normal,inactiveBuffer:this._alt})};BufferSet.prototype.activateAltBuffer=function(){if(this._activeBuffer===this._alt){return}this._alt.fillViewportRows();this._activeBuffer=this._alt;this.emit("activate",{activeBuffer:this._alt,inactiveBuffer:this._normal})};BufferSet.prototype.resize=function(newCols,newRows){this._normal.resize(newCols,newRows);this._alt.resize(newCols,newRows)};BufferSet.prototype.setupTabStops=function(i){this._normal.setupTabStops(i);this._alt.setupTabStops(i)};return BufferSet}(EventEmitter_1.EventEmitter);exports.BufferSet=BufferSet},{"./Buffer":2,"./EventEmitter":8}],4:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.wcwidth=function(opts){var COMBINING_BMP=[[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]];var COMBINING_HIGH=[[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]];function bisearch(ucs,data){var min=0;var max=data.length-1;var mid;if(ucs<data[0][0]||ucs>data[max][1]){return false}while(max>=min){mid=min+max>>1;if(ucs>data[mid][1]){min=mid+1}else if(ucs<data[mid][0]){max=mid-1}else{return true}}return false}function wcwidthBMP(ucs){if(ucs===0){return opts.nul}if(ucs<32||ucs>=127&&ucs<160){return opts.control}if(bisearch(ucs,COMBINING_BMP)){return 0}if(isWideBMP(ucs)){return 2}return 1}function isWideBMP(ucs){return ucs>=4352&&(ucs<=4447||ucs===9001||ucs===9002||ucs>=11904&&ucs<=42191&&ucs!==12351||ucs>=44032&&ucs<=55203||ucs>=63744&&ucs<=64255||ucs>=65040&&ucs<=65049||ucs>=65072&&ucs<=65135||ucs>=65280&&ucs<=65376||ucs>=65504&&ucs<=65510)}function wcwidthHigh(ucs){if(bisearch(ucs,COMBINING_HIGH)){return 0}if(ucs>=131072&&ucs<=196605||ucs>=196608&&ucs<=262141){return 2}return 1}var control=opts.control|0;var table=null;function init_table(){var CODEPOINTS=65536;var BITWIDTH=2;var ITEMSIZE=32;var CONTAINERSIZE=CODEPOINTS*BITWIDTH/ITEMSIZE;var CODEPOINTS_PER_ITEM=ITEMSIZE/BITWIDTH;table=typeof Uint32Array==="undefined"?new Array(CONTAINERSIZE):new Uint32Array(CONTAINERSIZE);for(var i=0;i<CONTAINERSIZE;++i){var num=0;var pos=CODEPOINTS_PER_ITEM;while(pos--){num=num<<2|wcwidthBMP(CODEPOINTS_PER_ITEM*i+pos)}table[i]=num}return table}return function(num){num=num|0;if(num<32){return control|0}if(num<127){return 1}var t=table||init_table();if(num<65536){return t[num>>4]>>((num&15)<<1)&3}return wcwidthHigh(num)}}({nul:0,control:0})},{}],5:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.CHARSETS={};exports.DEFAULT_CHARSET=exports.CHARSETS["B"];exports.CHARSETS["0"]={"`":"◆",a:"▒",b:"\t",c:"\f",d:"\r",e:"\n",f:"°",g:"±",h:"",i:"\v",j:"┘",k:"┐",l:"┌",m:"└",n:"┼",o:"⎺",p:"⎻",q:"─",r:"⎼",s:"⎽",t:"├",u:"┤",v:"┴",w:"┬",x:"│",y:"≤",z:"≥","{":"π","|":"≠","}":"£","~":"·"};exports.CHARSETS["A"]={"#":"£"};exports.CHARSETS["B"]=null;exports.CHARSETS["4"]={"#":"£","@":"¾","[":"ij","\\":"½","]":"|","{":"¨","|":"f","}":"¼","~":"´"};exports.CHARSETS["C"]=exports.CHARSETS["5"]={"[":"Ä","\\":"Ö","]":"Å","^":"Ü","`":"é","{":"ä","|":"ö","}":"å","~":"ü"};exports.CHARSETS["R"]={"#":"£","@":"à","[":"°","\\":"ç","]":"§","{":"é","|":"ù","}":"è","~":"¨"};exports.CHARSETS["Q"]={"@":"à","[":"â","\\":"ç","]":"ê","^":"î","`":"ô","{":"é","|":"ù","}":"è","~":"û"};exports.CHARSETS["K"]={"@":"§","[":"Ä","\\":"Ö","]":"Ü","{":"ä","|":"ö","}":"ü","~":"ß"};exports.CHARSETS["Y"]={"#":"£","@":"§","[":"°","\\":"ç","]":"é","`":"ù","{":"à","|":"ò","}":"è","~":"ì"};exports.CHARSETS["E"]=exports.CHARSETS["6"]={"@":"Ä","[":"Æ","\\":"Ø","]":"Å","^":"Ü","`":"ä","{":"æ","|":"ø","}":"å","~":"ü"};exports.CHARSETS["Z"]={"#":"£","@":"§","[":"¡","\\":"Ñ","]":"¿","{":"°","|":"ñ","}":"ç"};exports.CHARSETS["H"]=exports.CHARSETS["7"]={"@":"É","[":"Ä","\\":"Ö","]":"Å","^":"Ü","`":"é","{":"ä","|":"ö","}":"å","~":"ü"};exports.CHARSETS["="]={"#":"ù","@":"à","[":"é","\\":"ç","]":"ê","^":"î",_:"è","`":"ô","{":"ä","|":"ö","}":"ü","~":"û"}},{}],6:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var CompositionHelper=function(){function CompositionHelper(_textarea,_compositionView,_terminal){this._textarea=_textarea;this._compositionView=_compositionView;this._terminal=_terminal;this._isComposing=false;this._isSendingComposition=false;this._compositionPosition={start:null,end:null}}CompositionHelper.prototype.compositionstart=function(){this._isComposing=true;this._compositionPosition.start=this._textarea.value.length;this._compositionView.textContent="";this._compositionView.classList.add("active")};CompositionHelper.prototype.compositionupdate=function(ev){var _this=this;this._compositionView.textContent=ev.data;this.updateCompositionElements();setTimeout(function(){_this._compositionPosition.end=_this._textarea.value.length},0)};CompositionHelper.prototype.compositionend=function(){this._finalizeComposition(true)};CompositionHelper.prototype.keydown=function(ev){if(this._isComposing||this._isSendingComposition){if(ev.keyCode===229){return false}else if(ev.keyCode===16||ev.keyCode===17||ev.keyCode===18){return false}else{this._finalizeComposition(false)}}if(ev.keyCode===229){this._handleAnyTextareaChanges();return false}return true};CompositionHelper.prototype._finalizeComposition=function(waitForPropogation){var _this=this;this._compositionView.classList.remove("active");this._isComposing=false;this._clearTextareaPosition();if(!waitForPropogation){this._isSendingComposition=false;var input=this._textarea.value.substring(this._compositionPosition.start,this._compositionPosition.end);this._terminal.handler(input)}else{var currentCompositionPosition_1={start:this._compositionPosition.start,end:this._compositionPosition.end};this._isSendingComposition=true;setTimeout(function(){if(_this._isSendingComposition){_this._isSendingComposition=false;var input=void 0;if(_this._isComposing){input=_this._textarea.value.substring(currentCompositionPosition_1.start,currentCompositionPosition_1.end)}else{input=_this._textarea.value.substring(currentCompositionPosition_1.start)}_this._terminal.handler(input)}},0)}};CompositionHelper.prototype._handleAnyTextareaChanges=function(){var _this=this;var oldValue=this._textarea.value;setTimeout(function(){if(!_this._isComposing){var newValue=_this._textarea.value;var diff=newValue.replace(oldValue,"");if(diff.length>0){_this._terminal.handler(diff)}}},0)};CompositionHelper.prototype.updateCompositionElements=function(dontRecurse){var _this=this;if(!this._isComposing){return}if(this._terminal.buffer.isCursorInViewport){var cellHeight=Math.ceil(this._terminal.charMeasure.height*this._terminal.options.lineHeight);var cursorTop=this._terminal.buffer.y*cellHeight;var cursorLeft=this._terminal.buffer.x*this._terminal.charMeasure.width;this._compositionView.style.left=cursorLeft+"px";this._compositionView.style.top=cursorTop+"px";this._compositionView.style.height=cellHeight+"px";this._compositionView.style.lineHeight=cellHeight+"px";var compositionViewBounds=this._compositionView.getBoundingClientRect();this._textarea.style.left=cursorLeft+"px";this._textarea.style.top=cursorTop+"px";this._textarea.style.width=compositionViewBounds.width+"px";this._textarea.style.height=compositionViewBounds.height+"px";this._textarea.style.lineHeight=compositionViewBounds.height+"px"}if(!dontRecurse){setTimeout(function(){return _this.updateCompositionElements(true)},0)}};CompositionHelper.prototype._clearTextareaPosition=function(){this._textarea.style.left="";this._textarea.style.top=""};return CompositionHelper}();exports.CompositionHelper=CompositionHelper},{}],7:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var C0;(function(C0){C0.NUL="\0";C0.SOH="";C0.STX="";C0.ETX="";C0.EOT="";C0.ENQ="";C0.ACK="";C0.BEL="";C0.BS="\b";C0.HT="\t";C0.LF="\n";C0.VT="\v";C0.FF="\f";C0.CR="\r";C0.SO="";C0.SI="";C0.DLE="";C0.DC1="";C0.DC2="";C0.DC3="";C0.DC4="";C0.NAK="";C0.SYN="";C0.ETB="";C0.CAN="";C0.EM="";C0.SUB="";C0.ESC="";C0.FS="";C0.GS="";C0.RS="";C0.US="";C0.SP=" ";C0.DEL=""})(C0=exports.C0||(exports.C0={}))},{}],8:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var EventEmitter=function(){function EventEmitter(){this._events=this._events||{}}EventEmitter.prototype.on=function(type,listener){this._events[type]=this._events[type]||[];this._events[type].push(listener)};EventEmitter.prototype.addDisposableListener=function(type,handler){var _this=this;this.on(type,handler);return{dispose:function(){if(!handler){return}_this.off(type,handler);handler=null}}};EventEmitter.prototype.off=function(type,listener){if(!this._events[type]){return}var obj=this._events[type];var i=obj.length;while(i--){if(obj[i]===listener){obj.splice(i,1);return}}};EventEmitter.prototype.removeAllListeners=function(type){if(this._events[type]){delete this._events[type]}};EventEmitter.prototype.emit=function(type){var args=[];for(var _i=1;_i<arguments.length;_i++){args[_i-1]=arguments[_i]}if(!this._events[type]){return}var obj=this._events[type];for(var i=0;i<obj.length;i++){obj[i].apply(this,args)}};EventEmitter.prototype.listeners=function(type){return this._events[type]||[]};EventEmitter.prototype.destroy=function(){this._events={}};return EventEmitter}();exports.EventEmitter=EventEmitter},{}],9:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var EscapeSequences_1=require("./EscapeSequences");var Charsets_1=require("./Charsets");var Buffer_1=require("./Buffer");var Types_1=require("./renderer/Types");var CharWidth_1=require("./CharWidth");var InputHandler=function(){function InputHandler(_terminal){this._terminal=_terminal}InputHandler.prototype.addChar=function(char,code){if(char>=" "){var chWidth=CharWidth_1.wcwidth(code);if(this._terminal.charset&&this._terminal.charset[char]){char=this._terminal.charset[char]}if(this._terminal.options.screenReaderMode){this._terminal.emit("a11y.char",char)}var row=this._terminal.buffer.y+this._terminal.buffer.ybase;if(!chWidth&&this._terminal.buffer.x){if(this._terminal.buffer.lines.get(row)[this._terminal.buffer.x-1]){if(!this._terminal.buffer.lines.get(row)[this._terminal.buffer.x-1][Buffer_1.CHAR_DATA_WIDTH_INDEX]){if(this._terminal.buffer.lines.get(row)[this._terminal.buffer.x-2]){this._terminal.buffer.lines.get(row)[this._terminal.buffer.x-2][Buffer_1.CHAR_DATA_CHAR_INDEX]+=char;this._terminal.buffer.lines.get(row)[this._terminal.buffer.x-2][3]=char.charCodeAt(0)}}else{this._terminal.buffer.lines.get(row)[this._terminal.buffer.x-1][Buffer_1.CHAR_DATA_CHAR_INDEX]+=char;this._terminal.buffer.lines.get(row)[this._terminal.buffer.x-1][3]=char.charCodeAt(0)}this._terminal.updateRange(this._terminal.buffer.y)}return}if(this._terminal.buffer.x+chWidth-1>=this._terminal.cols){if(this._terminal.wraparoundMode){this._terminal.buffer.x=0;this._terminal.buffer.y++;if(this._terminal.buffer.y>this._terminal.buffer.scrollBottom){this._terminal.buffer.y--;this._terminal.scroll(true)}else{this._terminal.buffer.lines.get(this._terminal.buffer.y).isWrapped=true}}else{if(chWidth===2){return}}}row=this._terminal.buffer.y+this._terminal.buffer.ybase;if(this._terminal.insertMode){for(var moves=0;moves<chWidth;++moves){var removed=this._terminal.buffer.lines.get(this._terminal.buffer.y+this._terminal.buffer.ybase).pop();if(removed[Buffer_1.CHAR_DATA_WIDTH_INDEX]===0&&this._terminal.buffer.lines.get(row)[this._terminal.cols-2]&&this._terminal.buffer.lines.get(row)[this._terminal.cols-2][Buffer_1.CHAR_DATA_WIDTH_INDEX]===2){this._terminal.buffer.lines.get(row)[this._terminal.cols-2]=[this._terminal.curAttr," ",1," ".charCodeAt(0)]}this._terminal.buffer.lines.get(row).splice(this._terminal.buffer.x,0,[this._terminal.curAttr," ",1," ".charCodeAt(0)])}}this._terminal.buffer.lines.get(row)[this._terminal.buffer.x]=[this._terminal.curAttr,char,chWidth,char.charCodeAt(0)];this._terminal.buffer.x++;this._terminal.updateRange(this._terminal.buffer.y);if(chWidth===2){this._terminal.buffer.lines.get(row)[this._terminal.buffer.x]=[this._terminal.curAttr,"",0,undefined];this._terminal.buffer.x++}}};InputHandler.prototype.bell=function(){this._terminal.bell()};InputHandler.prototype.lineFeed=function(){if(this._terminal.convertEol){this._terminal.buffer.x=0}this._terminal.buffer.y++;if(this._terminal.buffer.y>this._terminal.buffer.scrollBottom){this._terminal.buffer.y--;this._terminal.scroll()}if(this._terminal.buffer.x>=this._terminal.cols){this._terminal.buffer.x--}this._terminal.emit("linefeed")};InputHandler.prototype.carriageReturn=function(){this._terminal.buffer.x=0};InputHandler.prototype.backspace=function(){if(this._terminal.buffer.x>0){this._terminal.buffer.x--}};InputHandler.prototype.tab=function(){var originalX=this._terminal.buffer.x;this._terminal.buffer.x=this._terminal.buffer.nextStop();if(this._terminal.options.screenReaderMode){this._terminal.emit("a11y.tab",this._terminal.buffer.x-originalX)}};InputHandler.prototype.shiftOut=function(){this._terminal.setgLevel(1)};InputHandler.prototype.shiftIn=function(){this._terminal.setgLevel(0)};InputHandler.prototype.insertChars=function(params){var param=params[0];if(param<1)param=1;var row=this._terminal.buffer.y+this._terminal.buffer.ybase;var j=this._terminal.buffer.x;var ch=[this._terminal.eraseAttr()," ",1,32];while(param--&&j<this._terminal.cols){this._terminal.buffer.lines.get(row).splice(j++,0,ch);this._terminal.buffer.lines.get(row).pop()}};InputHandler.prototype.cursorUp=function(params){var param=params[0];if(param<1){param=1}this._terminal.buffer.y-=param;if(this._terminal.buffer.y<0){this._terminal.buffer.y=0}};InputHandler.prototype.cursorDown=function(params){var param=params[0];if(param<1){param=1}this._terminal.buffer.y+=param;if(this._terminal.buffer.y>=this._terminal.rows){this._terminal.buffer.y=this._terminal.rows-1}if(this._terminal.buffer.x>=this._terminal.cols){this._terminal.buffer.x--}};InputHandler.prototype.cursorForward=function(params){var param=params[0];if(param<1){param=1}this._terminal.buffer.x+=param;if(this._terminal.buffer.x>=this._terminal.cols){this._terminal.buffer.x=this._terminal.cols-1}};InputHandler.prototype.cursorBackward=function(params){var param=params[0];if(param<1){param=1}if(this._terminal.buffer.x>=this._terminal.cols){this._terminal.buffer.x--}this._terminal.buffer.x-=param;if(this._terminal.buffer.x<0){this._terminal.buffer.x=0}};InputHandler.prototype.cursorNextLine=function(params){var param=params[0];if(param<1){param=1}this._terminal.buffer.y+=param;if(this._terminal.buffer.y>=this._terminal.rows){this._terminal.buffer.y=this._terminal.rows-1}this._terminal.buffer.x=0};InputHandler.prototype.cursorPrecedingLine=function(params){var param=params[0];if(param<1){param=1}this._terminal.buffer.y-=param;if(this._terminal.buffer.y<0){this._terminal.buffer.y=0}this._terminal.buffer.x=0};InputHandler.prototype.cursorCharAbsolute=function(params){var param=params[0];if(param<1){param=1}this._terminal.buffer.x=param-1};InputHandler.prototype.cursorPosition=function(params){var col;var row=params[0]-1;if(params.length>=2){col=params[1]-1}else{col=0}if(row<0){row=0}else if(row>=this._terminal.rows){row=this._terminal.rows-1}if(col<0){col=0}else if(col>=this._terminal.cols){col=this._terminal.cols-1}this._terminal.buffer.x=col;this._terminal.buffer.y=row};InputHandler.prototype.cursorForwardTab=function(params){var param=params[0]||1;while(param--){this._terminal.buffer.x=this._terminal.buffer.nextStop()}};InputHandler.prototype.eraseInDisplay=function(params){var j;switch(params[0]){case 0:this._terminal.eraseRight(this._terminal.buffer.x,this._terminal.buffer.y);j=this._terminal.buffer.y+1;for(;j<this._terminal.rows;j++){this._terminal.eraseLine(j)}break;case 1:this._terminal.eraseLeft(this._terminal.buffer.x,this._terminal.buffer.y);j=this._terminal.buffer.y;while(j--){this._terminal.eraseLine(j)}break;case 2:j=this._terminal.rows;while(j--)this._terminal.eraseLine(j);break;case 3:var scrollBackSize=this._terminal.buffer.lines.length-this._terminal.rows;if(scrollBackSize>0){this._terminal.buffer.lines.trimStart(scrollBackSize);this._terminal.buffer.ybase=Math.max(this._terminal.buffer.ybase-scrollBackSize,0);this._terminal.buffer.ydisp=Math.max(this._terminal.buffer.ydisp-scrollBackSize,0);this._terminal.emit("scroll",0)}break}};InputHandler.prototype.eraseInLine=function(params){switch(params[0]){case 0:this._terminal.eraseRight(this._terminal.buffer.x,this._terminal.buffer.y);break;case 1:this._terminal.eraseLeft(this._terminal.buffer.x,this._terminal.buffer.y);break;case 2:this._terminal.eraseLine(this._terminal.buffer.y);break}};InputHandler.prototype.insertLines=function(params){var param=params[0];if(param<1){param=1}var row=this._terminal.buffer.y+this._terminal.buffer.ybase;var scrollBottomRowsOffset=this._terminal.rows-1-this._terminal.buffer.scrollBottom;var scrollBottomAbsolute=this._terminal.rows-1+this._terminal.buffer.ybase-scrollBottomRowsOffset+1;while(param--){this._terminal.buffer.lines.splice(scrollBottomAbsolute-1,1);this._terminal.buffer.lines.splice(row,0,this._terminal.blankLine(true))}this._terminal.updateRange(this._terminal.buffer.y);this._terminal.updateRange(this._terminal.buffer.scrollBottom)};InputHandler.prototype.deleteLines=function(params){var param=params[0];if(param<1){param=1}var row=this._terminal.buffer.y+this._terminal.buffer.ybase;var j;j=this._terminal.rows-1-this._terminal.buffer.scrollBottom;j=this._terminal.rows-1+this._terminal.buffer.ybase-j;while(param--){this._terminal.buffer.lines.splice(row,1);this._terminal.buffer.lines.splice(j,0,this._terminal.blankLine(true))}this._terminal.updateRange(this._terminal.buffer.y);this._terminal.updateRange(this._terminal.buffer.scrollBottom)};InputHandler.prototype.deleteChars=function(params){var param=params[0];if(param<1){param=1}var row=this._terminal.buffer.y+this._terminal.buffer.ybase;var ch=[this._terminal.eraseAttr()," ",1,32];while(param--){this._terminal.buffer.lines.get(row).splice(this._terminal.buffer.x,1);this._terminal.buffer.lines.get(row).push(ch)}this._terminal.updateRange(this._terminal.buffer.y)};InputHandler.prototype.scrollUp=function(params){var param=params[0]||1;while(param--){this._terminal.buffer.lines.splice(this._terminal.buffer.ybase+this._terminal.buffer.scrollTop,1);this._terminal.buffer.lines.splice(this._terminal.buffer.ybase+this._terminal.buffer.scrollBottom,0,this._terminal.blankLine())}this._terminal.updateRange(this._terminal.buffer.scrollTop);this._terminal.updateRange(this._terminal.buffer.scrollBottom)};InputHandler.prototype.scrollDown=function(params){var param=params[0]||1;while(param--){this._terminal.buffer.lines.splice(this._terminal.buffer.ybase+this._terminal.buffer.scrollBottom,1);this._terminal.buffer.lines.splice(this._terminal.buffer.ybase+this._terminal.buffer.scrollTop,0,this._terminal.blankLine())}this._terminal.updateRange(this._terminal.buffer.scrollTop);this._terminal.updateRange(this._terminal.buffer.scrollBottom)};InputHandler.prototype.eraseChars=function(params){var param=params[0];if(param<1){param=1}var row=this._terminal.buffer.y+this._terminal.buffer.ybase;var j=this._terminal.buffer.x;var ch=[this._terminal.eraseAttr()," ",1,32];while(param--&&j<this._terminal.cols){this._terminal.buffer.lines.get(row)[j++]=ch}};InputHandler.prototype.cursorBackwardTab=function(params){var param=params[0]||1;while(param--){this._terminal.buffer.x=this._terminal.buffer.prevStop()}};InputHandler.prototype.charPosAbsolute=function(params){var param=params[0];if(param<1){param=1}this._terminal.buffer.x=param-1;if(this._terminal.buffer.x>=this._terminal.cols){this._terminal.buffer.x=this._terminal.cols-1}};InputHandler.prototype.HPositionRelative=function(params){var param=params[0];if(param<1){param=1}this._terminal.buffer.x+=param;if(this._terminal.buffer.x>=this._terminal.cols){this._terminal.buffer.x=this._terminal.cols-1}};InputHandler.prototype.repeatPrecedingCharacter=function(params){var param=params[0]||1;var line=this._terminal.buffer.lines.get(this._terminal.buffer.ybase+this._terminal.buffer.y);var ch=line[this._terminal.buffer.x-1]||[this._terminal.defAttr," ",1,32];while(param--){line[this._terminal.buffer.x++]=ch}};InputHandler.prototype.sendDeviceAttributes=function(params){if(params[0]>0){return}if(!this._terminal.prefix){if(this._terminal.is("xterm")||this._terminal.is("rxvt-unicode")||this._terminal.is("screen")){this._terminal.send(EscapeSequences_1.C0.ESC+"[?1;2c")}else if(this._terminal.is("linux")){this._terminal.send(EscapeSequences_1.C0.ESC+"[?6c")}}else if(this._terminal.prefix===">"){if(this._terminal.is("xterm")){this._terminal.send(EscapeSequences_1.C0.ESC+"[>0;276;0c")}else if(this._terminal.is("rxvt-unicode")){this._terminal.send(EscapeSequences_1.C0.ESC+"[>85;95;0c")}else if(this._terminal.is("linux")){this._terminal.send(params[0]+"c")}else if(this._terminal.is("screen")){this._terminal.send(EscapeSequences_1.C0.ESC+"[>83;40003;0c")}}};InputHandler.prototype.linePosAbsolute=function(params){var param=params[0];if(param<1){param=1}this._terminal.buffer.y=param-1;if(this._terminal.buffer.y>=this._terminal.rows){this._terminal.buffer.y=this._terminal.rows-1}};InputHandler.prototype.VPositionRelative=function(params){var param=params[0];if(param<1){param=1}this._terminal.buffer.y+=param;if(this._terminal.buffer.y>=this._terminal.rows){this._terminal.buffer.y=this._terminal.rows-1}if(this._terminal.buffer.x>=this._terminal.cols){this._terminal.buffer.x--}};InputHandler.prototype.HVPosition=function(params){if(params[0]<1)params[0]=1;if(params[1]<1)params[1]=1;this._terminal.buffer.y=params[0]-1;if(this._terminal.buffer.y>=this._terminal.rows){this._terminal.buffer.y=this._terminal.rows-1}this._terminal.buffer.x=params[1]-1;if(this._terminal.buffer.x>=this._terminal.cols){this._terminal.buffer.x=this._terminal.cols-1}};InputHandler.prototype.tabClear=function(params){var param=params[0];if(param<=0){delete this._terminal.buffer.tabs[this._terminal.buffer.x]}else if(param===3){this._terminal.buffer.tabs={}}};InputHandler.prototype.setMode=function(params){if(params.length>1){for(var i=0;i<params.length;i++){this.setMode([params[i]])}return}if(!this._terminal.prefix){switch(params[0]){case 4:this._terminal.insertMode=true;break;case 20:break}}else if(this._terminal.prefix==="?"){switch(params[0]){case 1:this._terminal.applicationCursor=true;break;case 2:this._terminal.setgCharset(0,Charsets_1.DEFAULT_CHARSET);this._terminal.setgCharset(1,Charsets_1.DEFAULT_CHARSET);this._terminal.setgCharset(2,Charsets_1.DEFAULT_CHARSET);this._terminal.setgCharset(3,Charsets_1.DEFAULT_CHARSET);break;case 3:this._terminal.savedCols=this._terminal.cols;this._terminal.resize(132,this._terminal.rows);break;case 6:this._terminal.originMode=true;break;case 7:this._terminal.wraparoundMode=true;break;case 12:break;case 66:this._terminal.log("Serial port requested application keypad.");this._terminal.applicationKeypad=true;this._terminal.viewport.syncScrollArea();break;case 9:case 1e3:case 1002:case 1003:this._terminal.x10Mouse=params[0]===9;this._terminal.vt200Mouse=params[0]===1e3;this._terminal.normalMouse=params[0]>1e3;this._terminal.mouseEvents=true;this._terminal.element.classList.add("enable-mouse-events");this._terminal.selectionManager.disable();this._terminal.log("Binding to mouse events.");break;case 1004:this._terminal.sendFocus=true;break;case 1005:this._terminal.utfMouse=true;break;case 1006:this._terminal.sgrMouse=true;break;case 1015:this._terminal.urxvtMouse=true;break;case 25:this._terminal.cursorHidden=false;break;case 1049:case 47:case 1047:this._terminal.buffers.activateAltBuffer();this._terminal.viewport.syncScrollArea();this._terminal.showCursor();break;case 2004:this._terminal.bracketedPasteMode=true;break}}};InputHandler.prototype.resetMode=function(params){if(params.length>1){for(var i=0;i<params.length;i++){this.resetMode([params[i]])}return}if(!this._terminal.prefix){switch(params[0]){case 4:this._terminal.insertMode=false;break;case 20:break}}else if(this._terminal.prefix==="?"){switch(params[0]){case 1:this._terminal.applicationCursor=false;break;case 3:if(this._terminal.cols===132&&this._terminal.savedCols){this._terminal.resize(this._terminal.savedCols,this._terminal.rows)}delete this._terminal.savedCols;break;case 6:this._terminal.originMode=false;break;case 7:this._terminal.wraparoundMode=false;break;case 12:break;case 66:this._terminal.log("Switching back to normal keypad.");this._terminal.applicationKeypad=false;this._terminal.viewport.syncScrollArea();break;case 9:case 1e3:case 1002:case 1003:this._terminal.x10Mouse=false;this._terminal.vt200Mouse=false;this._terminal.normalMouse=false;this._terminal.mouseEvents=false;this._terminal.element.classList.remove("enable-mouse-events");this._terminal.selectionManager.enable();break;case 1004:this._terminal.sendFocus=false;break;case 1005:this._terminal.utfMouse=false;break;case 1006:this._terminal.sgrMouse=false;break;case 1015:this._terminal.urxvtMouse=false;break;case 25:this._terminal.cursorHidden=true;break;case 1049:case 47:case 1047:this._terminal.buffers.activateNormalBuffer();this._terminal.refresh(0,this._terminal.rows-1);this._terminal.viewport.syncScrollArea();this._terminal.showCursor();break;case 2004:this._terminal.bracketedPasteMode=false;break}}};InputHandler.prototype.charAttributes=function(params){if(params.length===1&¶ms[0]===0){this._terminal.curAttr=this._terminal.defAttr;return}var l=params.length;var flags=this._terminal.curAttr>>18;var fg=this._terminal.curAttr>>9&511;var bg=this._terminal.curAttr&511;var p;for(var i=0;i<l;i++){p=params[i];if(p>=30&&p<=37){fg=p-30}else if(p>=40&&p<=47){bg=p-40}else if(p>=90&&p<=97){p+=8;fg=p-90}else if(p>=100&&p<=107){p+=8;bg=p-100}else if(p===0){flags=this._terminal.defAttr>>18;fg=this._terminal.defAttr>>9&511;bg=this._terminal.defAttr&511}else if(p===1){flags|=Types_1.FLAGS.BOLD}else if(p===4){flags|=Types_1.FLAGS.UNDERLINE}else if(p===5){flags|=Types_1.FLAGS.BLINK}else if(p===7){flags|=Types_1.FLAGS.INVERSE}else if(p===8){flags|=Types_1.FLAGS.INVISIBLE}else if(p===2){flags|=Types_1.FLAGS.DIM}else if(p===22){flags&=~Types_1.FLAGS.BOLD;flags&=~Types_1.FLAGS.DIM}else if(p===24){flags&=~Types_1.FLAGS.UNDERLINE}else if(p===25){flags&=~Types_1.FLAGS.BLINK}else if(p===27){flags&=~Types_1.FLAGS.INVERSE}else if(p===28){flags&=~Types_1.FLAGS.INVISIBLE}else if(p===39){fg=this._terminal.defAttr>>9&511}else if(p===49){bg=this._terminal.defAttr&511}else if(p===38){if(params[i+1]===2){i+=2;fg=this._terminal.matchColor(params[i]&255,params[i+1]&255,params[i+2]&255);if(fg===-1)fg=511;i+=2}else if(params[i+1]===5){i+=2;p=params[i]&255;fg=p}}else if(p===48){if(params[i+1]===2){i+=2;bg=this._terminal.matchColor(params[i]&255,params[i+1]&255,params[i+2]&255);if(bg===-1)bg=511;i+=2}else if(params[i+1]===5){i+=2;p=params[i]&255;bg=p}}else if(p===100){fg=this._terminal.defAttr>>9&511;bg=this._terminal.defAttr&511}else{this._terminal.error("Unknown SGR attribute: %d.",p)}}this._terminal.curAttr=flags<<18|fg<<9|bg};InputHandler.prototype.deviceStatus=function(params){if(!this._terminal.prefix){switch(params[0]){case 5:this._terminal.send(EscapeSequences_1.C0.ESC+"[0n");break;case 6:this._terminal.send(EscapeSequences_1.C0.ESC+"["+(this._terminal.buffer.y+1)+";"+(this._terminal.buffer.x+1)+"R");break}}else if(this._terminal.prefix==="?"){switch(params[0]){case 6:this._terminal.send(EscapeSequences_1.C0.ESC+"[?"+(this._terminal.buffer.y+1)+";"+(this._terminal.buffer.x+1)+"R");break;case 15:break;case 25:break;case 26:break;case 53:break}}};InputHandler.prototype.softReset=function(params){this._terminal.cursorHidden=false;this._terminal.insertMode=false;this._terminal.originMode=false;this._terminal.wraparoundMode=true;this._terminal.applicationKeypad=false;this._terminal.viewport.syncScrollArea();this._terminal.applicationCursor=false;this._terminal.buffer.scrollTop=0;this._terminal.buffer.scrollBottom=this._terminal.rows-1;this._terminal.curAttr=this._terminal.defAttr;this._terminal.buffer.x=this._terminal.buffer.y=0;this._terminal.charset=null;this._terminal.glevel=0;this._terminal.charsets=[null]};InputHandler.prototype.setCursorStyle=function(params){var param=params[0]<1?1:params[0];switch(param){case 1:case 2:this._terminal.setOption("cursorStyle","block");break;case 3:case 4:this._terminal.setOption("cursorStyle","underline");break;case 5:case 6:this._terminal.setOption("cursorStyle","bar");break}var isBlinking=param%2===1;this._terminal.setOption("cursorBlink",isBlinking)};InputHandler.prototype.setScrollRegion=function(params){if(this._terminal.prefix)return;this._terminal.buffer.scrollTop=(params[0]||1)-1;this._terminal.buffer.scrollBottom=(params[1]&¶ms[1]<=this._terminal.rows?params[1]:this._terminal.rows)-1;this._terminal.buffer.x=0;this._terminal.buffer.y=0};InputHandler.prototype.saveCursor=function(params){this._terminal.buffer.savedX=this._terminal.buffer.x;this._terminal.buffer.savedY=this._terminal.buffer.y};InputHandler.prototype.restoreCursor=function(params){this._terminal.buffer.x=this._terminal.buffer.savedX||0;this._terminal.buffer.y=this._terminal.buffer.savedY||0};return InputHandler}();exports.InputHandler=InputHandler},{"./Buffer":2,"./CharWidth":4,"./Charsets":5,"./EscapeSequences":7,"./renderer/Types":30}],10:[function(require,module,exports){"use strict";var __extends=this&&this.__extends||function(){var extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(d,b){d.__proto__=b}||function(d,b){for(var p in b)if(b.hasOwnProperty(p))d[p]=b[p]};return function(d,b){extendStatics(d,b);function __(){this.constructor=d}d.prototype=b===null?Object.create(b):(__.prototype=b.prototype,new __)}}();Object.defineProperty(exports,"__esModule",{value:true});var Types_1=require("./Types");var MouseZoneManager_1=require("./input/MouseZoneManager");var EventEmitter_1=require("./EventEmitter");var Linkifier=function(_super){__extends(Linkifier,_super);function Linkifier(_terminal){var _this=_super.call(this)||this;_this._terminal=_terminal;_this._linkMatchers=[];_this._nextLinkMatcherId=0;_this._rowsToLinkify={start:null,end:null};return _this}Linkifier.prototype.attachToDom=function(mouseZoneManager){this._mouseZoneManager=mouseZoneManager};Linkifier.prototype.linkifyRows=function(start,end){var _this=this;if(!this._mouseZoneManager){return}if(this._rowsToLinkify.start===null){this._rowsToLinkify.start=start;this._rowsToLinkify.end=end}else{this._rowsToLinkify.start=Math.min(this._rowsToLinkify.start,start);this._rowsToLinkify.end=Math.max(this._rowsToLinkify.end,end)}this._mouseZoneManager.clearAll(start,end);if(this._rowsTimeoutId){clearTimeout(this._rowsTimeoutId)}this._rowsTimeoutId=setTimeout(function(){return _this._linkifyRows()},Linkifier.TIME_BEFORE_LINKIFY)};Linkifier.prototype._linkifyRows=function(){this._rowsTimeoutId=null;for(var i=this._rowsToLinkify.start;i<=this._rowsToLinkify.end;i++){this._linkifyRow(i)}this._rowsToLinkify.start=null;this._rowsToLinkify.end=null};Linkifier.prototype.registerLinkMatcher=function(regex,handler,options){if(options===void 0){options={}}if(!handler){throw new Error("handler must be defined")}var matcher={id:this._nextLinkMatcherId++,regex:regex,handler:handler,matchIndex:options.matchIndex,validationCallback:options.validationCallback,hoverTooltipCallback:options.tooltipCallback,hoverLeaveCallback:options.leaveCallback,willLinkActivate:options.willLinkActivate,priority:options.priority||0};this._addLinkMatcherToList(matcher);return matcher.id};Linkifier.prototype._addLinkMatcherToList=function(matcher){if(this._linkMatchers.length===0){this._linkMatchers.push(matcher);return}for(var i=this._linkMatchers.length-1;i>=0;i--){if(matcher.priority<=this._linkMatchers[i].priority){this._linkMatchers.splice(i+1,0,matcher);return}}this._linkMatchers.splice(0,0,matcher)};Linkifier.prototype.deregisterLinkMatcher=function(matcherId){for(var i=0;i<this._linkMatchers.length;i++){if(this._linkMatchers[i].id===matcherId){this._linkMatchers.splice(i,1);return true}}return false};Linkifier.prototype._linkifyRow=function(rowIndex){var absoluteRowIndex=this._terminal.buffer.ydisp+rowIndex;if(absoluteRowIndex>=this._terminal.buffer.lines.length){return}if(this._terminal.buffer.lines.get(absoluteRowIndex).isWrapped){if(rowIndex!==0){return}do{rowIndex--;absoluteRowIndex--}while(this._terminal.buffer.lines.get(absoluteRowIndex).isWrapped)}var text=this._terminal.buffer.translateBufferLineToString(absoluteRowIndex,false);var currentIndex=absoluteRowIndex+1;while(currentIndex<this._terminal.buffer.lines.length&&this._terminal.buffer.lines.get(currentIndex).isWrapped){text+=this._terminal.buffer.translateBufferLineToString(currentIndex++,false)}for(var i=0;i<this._linkMatchers.length;i++){this._doLinkifyRow(rowIndex,text,this._linkMatchers[i])}};Linkifier.prototype._doLinkifyRow=function(rowIndex,text,matcher,offset){var _this=this;if(offset===void 0){offset=0}var match=text.match(matcher.regex);if(!match||match.length===0){return}var uri=match[typeof matcher.matchIndex!=="number"?0:matcher.matchIndex];var index=text.indexOf(uri);if(matcher.validationCallback){matcher.validationCallback(uri,function(isValid){if(_this._rowsTimeoutId){return}if(isValid){_this._addLink(offset+index,rowIndex,uri,matcher)}})}else{this._addLink(offset+index,rowIndex,uri,matcher)}var remainingStartIndex=index+uri.length;var remainingText=text.substr(remainingStartIndex);if(remainingText.length>0){this._doLinkifyRow(rowIndex,remainingText,matcher,offset+remainingStartIndex)}};Linkifier.prototype._addLink=function(x,y,uri,matcher){var _this=this;var x1=x%this._terminal.cols;var y1=y+Math.floor(x/this._terminal.cols);var x2=(x1+uri.length)%this._terminal.cols;var y2=y1+Math.floor((x1+uri.length)/this._terminal.cols);if(x2===0){x2=this._terminal.cols;y2--}this._mouseZoneManager.add(new MouseZoneManager_1.MouseZone(x1+1,y1+1,x2+1,y2+1,function(e){if(matcher.handler){return matcher.handler(e,uri)}window.open(uri,"_blank")},function(e){_this.emit(Types_1.LinkHoverEventTypes.HOVER,_this._createLinkHoverEvent(x1,y1,x2,y2));_this._terminal.element.classList.add("xterm-cursor-pointer")},function(e){_this.emit(Types_1.LinkHoverEventTypes.TOOLTIP,_this._createLinkHoverEvent(x1,y1,x2,y2));if(matcher.hoverTooltipCallback){matcher.hoverTooltipCallback(e,uri)}},function(){_this.emit(Types_1.LinkHoverEventTypes.LEAVE,_this._createLinkHoverEvent(x1,y1,x2,y2));_this._terminal.element.classList.remove("xterm-cursor-pointer");if(matcher.hoverLeaveCallback){matcher.hoverLeaveCallback()}},function(e){if(matcher.willLinkActivate){return matcher.willLinkActivate(e,uri)}return true}))};Linkifier.prototype._createLinkHoverEvent=function(x1,y1,x2,y2){return{x1:x1,y1:y1,x2:x2,y2:y2,cols:this._terminal.cols}};Linkifier.TIME_BEFORE_LINKIFY=200;return Linkifier}(EventEmitter_1.EventEmitter);exports.Linkifier=Linkifier},{"./EventEmitter":8,"./Types":17,"./input/MouseZoneManager":21}],11:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var EscapeSequences_1=require("./EscapeSequences");var Charsets_1=require("./Charsets");var normalStateHandler={};normalStateHandler[EscapeSequences_1.C0.BEL]=function(parser,handler){return handler.bell()};normalStateHandler[EscapeSequences_1.C0.LF]=function(parser,handler){return handler.lineFeed()};normalStateHandler[EscapeSequences_1.C0.VT]=normalStateHandler[EscapeSequences_1.C0.LF];normalStateHandler[EscapeSequences_1.C0.FF]=normalStateHandler[EscapeSequences_1.C0.LF];normalStateHandler[EscapeSequences_1.C0.CR]=function(parser,handler){return handler.carriageReturn()};normalStateHandler[EscapeSequences_1.C0.BS]=function(parser,handler){return handler.backspace()};normalStateHandler[EscapeSequences_1.C0.HT]=function(parser,handler){return handler.tab()};normalStateHandler[EscapeSequences_1.C0.SO]=function(parser,handler){return handler.shiftOut()};normalStateHandler[EscapeSequences_1.C0.SI]=function(parser,handler){return handler.shiftIn()};normalStateHandler[EscapeSequences_1.C0.ESC]=function(parser,handler){return parser.setState(ParserState.ESCAPED)};var escapedStateHandler={};escapedStateHandler["["]=function(parser,terminal){terminal.params=[];terminal.currentParam=0;parser.setState(ParserState.CSI_PARAM)};escapedStateHandler["]"]=function(parser,terminal){terminal.params=[];terminal.currentParam=0;parser.setState(ParserState.OSC)};escapedStateHandler["P"]=function(parser,terminal){terminal.params=[];terminal.currentParam=0;parser.setState(ParserState.DCS)};escapedStateHandler["_"]=function(parser,terminal){parser.setState(ParserState.IGNORE)};escapedStateHandler["^"]=function(parser,terminal){parser.setState(ParserState.IGNORE)};escapedStateHandler["c"]=function(parser,terminal){terminal.reset()};escapedStateHandler["E"]=function(parser,terminal){terminal.buffer.x=0;terminal.index();parser.setState(ParserState.NORMAL)};escapedStateHandler["D"]=function(parser,terminal){terminal.index();parser.setState(ParserState.NORMAL)};escapedStateHandler["M"]=function(parser,terminal){terminal.reverseIndex();parser.setState(ParserState.NORMAL)};escapedStateHandler["%"]=function(parser,terminal){terminal.setgLevel(0);terminal.setgCharset(0,Charsets_1.DEFAULT_CHARSET);parser.setState(ParserState.NORMAL);parser.skipNextChar()};escapedStateHandler[EscapeSequences_1.C0.CAN]=function(parser){return parser.setState(ParserState.NORMAL)};var csiParamStateHandler={};csiParamStateHandler["?"]=function(parser){return parser.setPrefix("?")};csiParamStateHandler[">"]=function(parser){return parser.setPrefix(">")};csiParamStateHandler["!"]=function(parser){return parser.setPrefix("!")};csiParamStateHandler["0"]=function(parser){return parser.setParam(parser.getParam()*10)};csiParamStateHandler["1"]=function(parser){return parser.setParam(parser.getParam()*10+1)};csiParamStateHandler["2"]=function(parser){return parser.setParam(parser.getParam()*10+2)};csiParamStateHandler["3"]=function(parser){return parser.setParam(parser.getParam()*10+3)};csiParamStateHandler["4"]=function(parser){return parser.setParam(parser.getParam()*10+4)};csiParamStateHandler["5"]=function(parser){return parser.setParam(parser.getParam()*10+5)};csiParamStateHandler["6"]=function(parser){return parser.setParam(parser.getParam()*10+6)};csiParamStateHandler["7"]=function(parser){return parser.setParam(parser.getParam()*10+7)};csiParamStateHandler["8"]=function(parser){return parser.setParam(parser.getParam()*10+8)};csiParamStateHandler["9"]=function(parser){return parser.setParam(parser.getParam()*10+9)};csiParamStateHandler["$"]=function(parser){return parser.setPostfix("$")};csiParamStateHandler['"']=function(parser){return parser.setPostfix('"')};csiParamStateHandler[" "]=function(parser){return parser.setPostfix(" ")};csiParamStateHandler["'"]=function(parser){return parser.setPostfix("'")};csiParamStateHandler[";"]=function(parser){return parser.finalizeParam()};csiParamStateHandler[EscapeSequences_1.C0.CAN]=function(parser){return parser.setState(ParserState.NORMAL)};var csiStateHandler={};csiStateHandler["@"]=function(handler,params,prefix){return handler.insertChars(params)};csiStateHandler["A"]=function(handler,params,prefix){return handler.cursorUp(params)};csiStateHandler["B"]=function(handler,params,prefix){return handler.cursorDown(params)};csiStateHandler["C"]=function(handler,params,prefix){return handler.cursorForward(params)};csiStateHandler["D"]=function(handler,params,prefix){return handler.cursorBackward(params)};csiStateHandler["E"]=function(handler,params,prefix){return handler.cursorNextLine(params)};csiStateHandler["F"]=function(handler,params,prefix){return handler.cursorPrecedingLine(params)};csiStateHandler["G"]=function(handler,params,prefix){return handler.cursorCharAbsolute(params)};csiStateHandler["H"]=function(handler,params,prefix){return handler.cursorPosition(params)};csiStateHandler["I"]=function(handler,params,prefix){return handler.cursorForwardTab(params)};csiStateHandler["J"]=function(handler,params,prefix){return handler.eraseInDisplay(params)};csiStateHandler["K"]=function(handler,params,prefix){return handler.eraseInLine(params)};csiStateHandler["L"]=function(handler,params,prefix){return handler.insertLines(params)};csiStateHandler["M"]=function(handler,params,prefix){return handler.deleteLines(params)};csiStateHandler["P"]=function(handler,params,prefix){return handler.deleteChars(params)};csiStateHandler["S"]=function(handler,params,prefix){return handler.scrollUp(params)};csiStateHandler["T"]=function(handler,params,prefix){if(params.length<2&&!prefix){handler.scrollDown(params)}};csiStateHandler["X"]=function(handler,params,prefix){return handler.eraseChars(params)};csiStateHandler["Z"]=function(handler,params,prefix){return handler.cursorBackwardTab(params)};csiStateHandler["`"]=function(handler,params,prefix){return handler.charPosAbsolute(params)};csiStateHandler["a"]=function(handler,params,prefix){return handler.HPositionRelative(params)};csiStateHandler["b"]=function(handler,params,prefix){return handler.repeatPrecedingCharacter(params)};csiStateHandler["c"]=function(handler,params,prefix){return handler.sendDeviceAttributes(params)};csiStateHandler["d"]=function(handler,params,prefix){return handler.linePosAbsolute(params)};csiStateHandler["e"]=function(handler,params,prefix){return handler.VPositionRelative(params)};csiStateHandler["f"]=function(handler,params,prefix){return handler.HVPosition(params)};csiStateHandler["g"]=function(handler,params,prefix){return handler.tabClear(params)};csiStateHandler["h"]=function(handler,params,prefix){return handler.setMode(params)};csiStateHandler["l"]=function(handler,params,prefix){return handler.resetMode(params)};csiStateHandler["m"]=function(handler,params,prefix){return handler.charAttributes(params)};csiStateHandler["n"]=function(handler,params,prefix){return handler.deviceStatus(params)};csiStateHandler["p"]=function(handler,params,prefix){switch(prefix){case"!":handler.softReset(params);break}};csiStateHandler["q"]=function(handler,params,prefix,postfix){if(postfix===" "){handler.setCursorStyle(params)}};csiStateHandler["r"]=function(handler,params){return handler.setScrollRegion(params)};csiStateHandler["s"]=function(handler,params){return handler.saveCursor(params)};csiStateHandler["u"]=function(handler,params){return handler.restoreCursor(params)};csiStateHandler[EscapeSequences_1.C0.CAN]=function(handler,params,prefix,postfix,parser){return parser.setState(ParserState.NORMAL)};var ParserState;(function(ParserState){ParserState[ParserState["NORMAL"]=0]="NORMAL";ParserState[ParserState["ESCAPED"]=1]="ESCAPED";ParserState[ParserState["CSI_PARAM"]=2]="CSI_PARAM";ParserState[ParserState["CSI"]=3]="CSI";ParserState[ParserState["OSC"]=4]="OSC";ParserState[ParserState["CHARSET"]=5]="CHARSET";ParserState[ParserState["DCS"]=6]="DCS";ParserState[ParserState["IGNORE"]=7]="IGNORE"})(ParserState=exports.ParserState||(exports.ParserState={}));var Parser=function(){function Parser(_inputHandler,_terminal){this._inputHandler=_inputHandler;this._terminal=_terminal;this._state=ParserState.NORMAL}Parser.prototype.parse=function(data){var l=data.length;var cs;var ch;var code;var low;var cursorStartX=this._terminal.buffer.x;var cursorStartY=this._terminal.buffer.y;if(this._terminal.debug){this._terminal.log("data: "+data)}this._position=0;if(this._terminal.surrogate_high){data=this._terminal.surrogate_high+data;this._terminal.surrogate_high=""}for(;this._position<l;this._position++){ch=data[this._position];code=data.charCodeAt(this._position);if(55296<=code&&code<=56319){low=data.charCodeAt(this._position+1);if(isNaN(low)){this._terminal.surrogate_high=ch;continue}code=(code-55296)*1024+(low-56320)+65536;ch+=data.charAt(this._position+1)}if(56320<=code&&code<=57343){continue}switch(this._state){case ParserState.NORMAL:if(ch in normalStateHandler){normalStateHandler[ch](this,this._inputHandler)}else{this._inputHandler.addChar(ch,code)}break;case ParserState.ESCAPED:if(ch in escapedStateHandler){escapedStateHandler[ch](this,this._terminal);break}switch(ch){case"(":case")":case"*":case"+":case"-":case".":switch(ch){case"(":this._terminal.gcharset=0;break;case")":this._terminal.gcharset=1;break;case"*":this._terminal.gcharset=2;break;case"+":this._terminal.gcharset=3;break;case"-":this._terminal.gcharset=1;break;case".":this._terminal.gcharset=2;break}this._state=ParserState.CHARSET;break;case"/":this._terminal.gcharset=3;this._state=ParserState.CHARSET;this._position--;break;case"N":this._state=ParserState.NORMAL;break;case"O":this._state=ParserState.NORMAL;break;case"n":this._terminal.setgLevel(2);this._state=ParserState.NORMAL;break;case"o":this._terminal.setgLevel(3);this._state=ParserState.NORMAL;break;case"|":this._terminal.setgLevel(3);this._state=ParserState.NORMAL;break;case"}":this._terminal.setgLevel(2);this._state=ParserState.NORMAL;break;case"~":this._terminal.setgLevel(1);this._state=ParserState.NORMAL;break;case"7":this._inputHandler.saveCursor();this._state=ParserState.NORMAL;break;case"8":this._inputHandler.restoreCursor();this._state=ParserState.NORMAL;break;case"#":this._state=ParserState.NORMAL;this._position++;break;case"H":this._terminal.tabSet();this._state=ParserState.NORMAL;break;case"=":this._terminal.log("Serial port requested application keypad.");this._terminal.applicationKeypad=true;if(this._terminal.viewport){this._terminal.viewport.syncScrollArea()}this._state=ParserState.NORMAL;break;case">":this._terminal.log("Switching back to normal keypad.");this._terminal.applicationKeypad=false;if(this._terminal.viewport){this._terminal.viewport.syncScrollArea()}this._state=ParserState.NORMAL;break;default:this._state=ParserState.NORMAL;this._terminal.error("Unknown ESC control: %s.",ch);break}break;case ParserState.CHARSET:if(ch in Charsets_1.CHARSETS){cs=Charsets_1.CHARSETS[ch];if(ch==="/"){this.skipNextChar()}}else{cs=Charsets_1.DEFAULT_CHARSET}this._terminal.setgCharset(this._terminal.gcharset,cs);this._terminal.gcharset=null;this._state=ParserState.NORMAL;break;case ParserState.OSC:if(ch===EscapeSequences_1.C0.ESC||ch===EscapeSequences_1.C0.BEL){if(ch===EscapeSequences_1.C0.ESC)this._position++;this._terminal.params.push(this._terminal.currentParam);switch(this._terminal.params[0]){case 0:case 1:case 2:if(this._terminal.params[1]){this._terminal.title=this._terminal.params[1];this._terminal.handleTitle(this._terminal.title)}break;case 3:break;case 4:case 5:break;case 10:case 11:case 12:case 13:case 14:case 15:case 16:case 17:case 18:case 19:break;case 46:break;case 50:break;case 51:break;case 52:break;case 104:case 105:case 110:case 111:case 112:case 113:case 114:case 115:case 116:case 117:case 118:break}this._terminal.params=[];this._terminal.currentParam=0;this._state=ParserState.NORMAL}else{if(!this._terminal.params.length){if(ch>="0"&&ch<="9"){this._terminal.currentParam=this._terminal.currentParam*10+ch.charCodeAt(0)-48}else if(ch===";"){this._terminal.params.push(this._terminal.currentParam);this._terminal.currentParam=""}}else{this._terminal.currentParam+=ch}}break;case ParserState.CSI_PARAM:if(ch in csiParamStateHandler){csiParamStateHandler[ch](this);break}this.finalizeParam();this._state=ParserState.CSI;case ParserState.CSI:if(ch in csiStateHandler){if(this._terminal.debug){this._terminal.log("CSI "+(this._terminal.prefix?this._terminal.prefix:"")+" "+(this._terminal.params?this._terminal.params.join(";"):"")+" "+(this._terminal.postfix?this._terminal.postfix:"")+" "+ch)}csiStateHandler[ch](this._inputHandler,this._terminal.params,this._terminal.prefix,this._terminal.postfix,this)}else{this._terminal.error("Unknown CSI code: %s.",ch)}this._state=ParserState.NORMAL;this._terminal.prefix="";this._terminal.postfix="";break;case ParserState.DCS:if(ch===EscapeSequences_1.C0.ESC||ch===EscapeSequences_1.C0.BEL){if(ch===EscapeSequences_1.C0.ESC)this._position++;var pt=void 0;var valid=void 0;switch(this._terminal.prefix){case"":break;case"$q":pt=this._terminal.currentParam;valid=false;switch(pt){case'"q':pt='0"q';break;case'"p':pt='61"p';break;case"r":pt=""+(this._terminal.buffer.scrollTop+1)+";"+(this._terminal.buffer.scrollBottom+1)+"r";break;case"m":pt="0m";break;default:this._terminal.error("Unknown DCS Pt: %s.",pt);pt="";break}this._terminal.send(EscapeSequences_1.C0.ESC+"P"+ +valid+"$r"+pt+EscapeSequences_1.C0.ESC+"\\");break;case"+p":break;case"+q":pt=this._terminal.currentParam;valid=false;this._terminal.send(EscapeSequences_1.C0.ESC+"P"+ +valid+"+r"+pt+EscapeSequences_1.C0.ESC+"\\");break;default:this._terminal.error("Unknown DCS prefix: %s.",this._terminal.prefix);break}this._terminal.currentParam=0;this._terminal.prefix="";this._state=ParserState.NORMAL}else if(!this._terminal.currentParam){if(!this._terminal.prefix&&ch!=="$"&&ch!=="+"){this._terminal.currentParam=ch}else if(this._terminal.prefix.length===2){this._terminal.currentParam=ch}else{this._terminal.prefix+=ch}}else{this._terminal.currentParam+=ch}break;case ParserState.IGNORE:if(ch===EscapeSequences_1.C0.ESC||ch===EscapeSequences_1.C0.BEL){if(ch===EscapeSequences_1.C0.ESC)this._position++;this._state=ParserState.NORMAL}break}}if(this._terminal.buffer.x!==cursorStartX||this._terminal.buffer.y!==cursorStartY){this._terminal.emit("cursormove")}return this._state};Parser.prototype.setState=function(state){this._state=state};Parser.prototype.setPrefix=function(prefix){this._terminal.prefix=prefix};Parser.prototype.setPostfix=function(postfix){this._terminal.postfix=postfix};Parser.prototype.setParam=function(param){this._terminal.currentParam=param};Parser.prototype.getParam=function(){return this._terminal.currentParam};Parser.prototype.finalizeParam=function(){this._terminal.params.push(this._terminal.currentParam);this._terminal.currentParam=0};Parser.prototype.skipNextChar=function(){this._position++};return Parser}();exports.Parser=Parser},{"./Charsets":5,"./EscapeSequences":7}],12:[function(require,module,exports){"use strict";var __extends=this&&this.__extends||function(){var extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(d,b){d.__proto__=b}||function(d,b){for(var p in b)if(b.hasOwnProperty(p))d[p]=b[p]};return function(d,b){extendStatics(d,b);function __(){this.constructor=d}d.prototype=b===null?Object.create(b):(__.prototype=b.prototype,new __)}}();Object.defineProperty(exports,"__esModule",{value:true});var MouseHelper_1=require("./utils/MouseHelper");var Browser=require("./shared/utils/Browser");var EventEmitter_1=require("./EventEmitter");var SelectionModel_1=require("./SelectionModel");var Buffer_1=require("./Buffer");var AltClickHandler_1=require("./handlers/AltClickHandler");var DRAG_SCROLL_MAX_THRESHOLD=50;var DRAG_SCROLL_MAX_SPEED=15;var DRAG_SCROLL_INTERVAL=50;var ALT_CLICK_MOVE_CURSOR_TIME=500;var WORD_SEPARATORS=" ()[]{}'\"";var NON_BREAKING_SPACE_CHAR=String.fromCharCode(160);var ALL_NON_BREAKING_SPACE_REGEX=new RegExp(NON_BREAKING_SPACE_CHAR,"g");var SelectionMode;(function(SelectionMode){SelectionMode[SelectionMode["NORMAL"]=0]="NORMAL";SelectionMode[SelectionMode["WORD"]=1]="WORD";SelectionMode[SelectionMode["LINE"]=2]="LINE"})(SelectionMode||(SelectionMode={}));var SelectionManager=function(_super){__extends(SelectionManager,_super);function SelectionManager(_terminal,_charMeasure){var _this=_super.call(this)||this;_this._terminal=_terminal;_this._charMeasure=_charMeasure;_this._enabled=true;_this._initListeners();_this.enable();_this._model=new SelectionModel_1.SelectionModel(_terminal);_this._activeSelectionMode=SelectionMode.NORMAL;return _this}Object.defineProperty(SelectionManager.prototype,"_buffer",{get:function(){return this._terminal.buffers.active},enumerable:true,configurable:true});SelectionManager.prototype._initListeners=function(){var _this=this;this._mouseMoveListener=function(event){return _this._onMouseMove(event)};this._mouseUpListener=function(event){return _this._onMouseUp(event)};this._trimListener=function(amount){return _this._onTrim(amount)};this.initBuffersListeners()};SelectionManager.prototype.initBuffersListeners=function(){var _this=this;this._terminal.buffer.lines.on("trim",this._trimListener);this._terminal.buffers.on("activate",function(e){return _this._onBufferActivate(e)})};SelectionManager.prototype.disable=function(){this.clearSelection();this._enabled=false};SelectionManager.prototype.enable=function(){this._enabled=true};Object.defineProperty(SelectionManager.prototype,"selectionStart",{get:function(){return this._model.finalSelectionStart},enumerable:true,configurable:true});Object.defineProperty(SelectionManager.prototype,"selectionEnd",{get:function(){return this._model.finalSelectionEnd},enumerable:true,configurable:true});Object.defineProperty(SelectionManager.prototype,"hasSelection",{get:function(){var start=this._model.finalSelectionStart;var end=this._model.finalSelectionEnd;if(!start||!end){return false}return start[0]!==end[0]||start[1]!==end[1]},enumerable:true,configurable:true});Object.defineProperty(SelectionManager.prototype,"selectionText",{get:function(){var start=this._model.finalSelectionStart;var end=this._model.finalSelectionEnd;if(!start||!end){return""}var startRowEndCol=start[1]===end[1]?end[0]:null;var result=[];result.push(this._buffer.translateBufferLineToString(start[1],true,start[0],startRowEndCol));for(var i=start[1]+1;i<=end[1]-1;i++){var bufferLine=this._buffer.lines.get(i);var lineText=this._buffer.translateBufferLineToString(i,true);if(bufferLine.isWrapped){result[result.length-1]+=lineText}else{result.push(lineText)}}if(start[1]!==end[1]){var bufferLine=this._buffer.lines.get(end[1]);var lineText=this._buffer.translateBufferLineToString(end[1],true,0,end[0]);if(bufferLine.isWrapped){result[result.length-1]+=lineText}else{result.push(lineText)}}var formattedResult=result.map(function(line){return line.replace(ALL_NON_BREAKING_SPACE_REGEX," ")}).join(Browser.isMSWindows?"\r\n":"\n");return formattedResult},enumerable:true,configurable:true});SelectionManager.prototype.clearSelection=function(){this._model.clearSelection();this._removeMouseDownListeners();this.refresh()};SelectionManager.prototype.refresh=function(isNewSelection){var _this=this;if(!this._refreshAnimationFrame){this._refreshAnimationFrame=window.requestAnimationFrame(function(){return _this._refresh()})}if(Browser.isLinux&&isNewSelection){var selectionText=this.selectionText;if(selectionText.length){this.emit("newselection",this.selectionText)}}};SelectionManager.prototype._refresh=function(){this._refreshAnimationFrame=null;this.emit("refresh",{start:this._model.finalSelectionStart,end:this._model.finalSelectionEnd})};SelectionManager.prototype.isClickInSelection=function(event){var coords=this._getMouseBufferCoords(event);var start=this._model.finalSelectionStart;var end=this._model.finalSelectionEnd;if(!start||!end){return false}return coords[1]>start[1]&&coords[1]<end[1]||start[1]===end[1]&&coords[1]===start[1]&&coords[0]>start[0]&&coords[0]<end[0]||start[1]<end[1]&&coords[1]===end[1]&&coords[0]<end[0]};SelectionManager.prototype.selectWordAtCursor=function(event){var coords=this._getMouseBufferCoords(event);if(coords){this._selectWordAt(coords,false);this._model.selectionEnd=null;this.refresh(true)}};SelectionManager.prototype.selectAll=function(){this._model.isSelectAllActive=true;this.refresh();this._terminal.emit("selection")};SelectionManager.prototype.selectLines=function(start,end){this._model.clearSelection();start=Math.max(start,0);end=Math.min(end,this._terminal.buffer.lines.length-1);this._model.selectionStart=[0,start];this._model.selectionEnd=[this._terminal.cols,end];this.refresh();this._terminal.emit("selection")};SelectionManager.prototype._onTrim=function(amount){var needsRefresh=this._model.onTrim(amount);if(needsRefresh){this.refresh()}};SelectionManager.prototype._getMouseBufferCoords=function(event){var coords=this._terminal.mouseHelper.getCoords(event,this._terminal.screenElement,this._charMeasure,this._terminal.options.lineHeight,this._terminal.cols,this._terminal.rows,true);if(!coords){return null}coords[0]--;coords[1]--;coords[1]+=this._terminal.buffer.ydisp;return coords};SelectionManager.prototype._getMouseEventScrollAmount=function(event){var offset=MouseHelper_1.MouseHelper.getCoordsRelativeToElement(event,this._terminal.screenElement)[1];var terminalHeight=this._terminal.rows*Math.ceil(this._charMeasure.height*this._terminal.options.lineHeight);if(offset>=0&&offset<=terminalHeight){return 0}if(offset>terminalHeight){offset-=terminalHeight}offset=Math.min(Math.max(offset,-DRAG_SCROLL_MAX_THRESHOLD),DRAG_SCROLL_MAX_THRESHOLD);offset/=DRAG_SCROLL_MAX_THRESHOLD;return offset/Math.abs(offset)+Math.round(offset*(DRAG_SCROLL_MAX_SPEED-1))};SelectionManager.prototype.shouldForceSelection=function(event){return Browser.isMac?event.altKey:event.shiftKey};SelectionManager.prototype.onMouseDown=function(event){this._mouseDownTimeStamp=event.timeStamp;if(event.button===2&&this.hasSelection){return}if(event.button!==0){return}if(!this._enabled){if(!this.shouldForceSelection(event)){return}event.stopPropagation()}event.preventDefault();this._dragScrollAmount=0;if(this._enabled&&event.shiftKey){this._onIncrementalClick(event)}else{if(event.detail===1){this._onSingleClick(event)}else if(event.detail===2){this._onDoubleClick(event)}else if(event.detail===3){this._onTripleClick(event)}}this._addMouseDownListeners();this.refresh(true)};SelectionManager.prototype._addMouseDownListeners=function(){var _this=this;this._terminal.element.ownerDocument.addEventListener("mousemove",this._mouseMoveListener);this._terminal.element.ownerDocument.addEventListener("mouseup",this._mouseUpListener);this._dragScrollIntervalTimer=setInterval(function(){return _this._dragScroll()},DRAG_SCROLL_INTERVAL)};SelectionManager.prototype._removeMouseDownListeners=function(){this._terminal.element.ownerDocument.removeEventListener("mousemove",this._mouseMoveListener);this._terminal.element.ownerDocument.removeEventListener("mouseup",this._mouseUpListener);clearInterval(this._dragScrollIntervalTimer);this._dragScrollIntervalTimer=null};SelectionManager.prototype._onIncrementalClick=function(event){if(this._model.selectionStart){this._model.selectionEnd=this._getMouseBufferCoords(event)}};SelectionManager.prototype._onSingleClick=function(event){this._model.selectionStartLength=0;this._model.isSelectAllActive=false;this._activeSelectionMode=SelectionMode.NORMAL;this._model.selectionStart=this._getMouseBufferCoords(event);if(!this._model.selectionStart){return}this._model.selectionEnd=null;var line=this._buffer.lines.get(this._model.selectionStart[1]);if(!line){return}if(line.length>=this._model.selectionStart[0]){return}var char=line[this._model.selectionStart[0]];if(char[Buffer_1.CHAR_DATA_WIDTH_INDEX]===0){this._model.selectionStart[0]++}};SelectionManager.prototype._onDoubleClick=function(event){var coords=this._getMouseBufferCoords(event);if(coords){this._activeSelectionMode=SelectionMode.WORD;this._selectWordAt(coords,true)}};SelectionManager.prototype._onTripleClick=function(event){var coords=this._getMouseBufferCoords(event);if(coords){this._activeSelectionMode=SelectionMode.LINE;this._selectLineAt(coords[1])}};SelectionManager.prototype._onMouseMove=function(event){event.stopImmediatePropagation();var previousSelectionEnd=this._model.selectionEnd?[this._model.selectionEnd[0],this._model.selectionEnd[1]]:null;this._model.selectionEnd=this._getMouseBufferCoords(event);if(!this._model.selectionEnd){this.refresh(true);return}if(this._activeSelectionMode===SelectionMode.LINE){if(this._model.selectionEnd[1]<this._model.selectionStart[1]){this._model.selectionEnd[0]=0}else{this._model.selectionEnd[0]=this._terminal.cols}}else if(this._activeSelectionMode===SelectionMode.WORD){this._selectToWordAt(this._model.selectionEnd)}this._dragScrollAmount=this._getMouseEventScrollAmount(event);if(this._dragScrollAmount>0){this._model.selectionEnd[0]=this._terminal.cols}else if(this._dragScrollAmount<0){this._model.selectionEnd[0]=0}if(this._model.selectionEnd[1]<this._buffer.lines.length){var char=this._buffer.lines.get(this._model.selectionEnd[1])[this._model.selectionEnd[0]];if(char&&char[Buffer_1.CHAR_DATA_WIDTH_INDEX]===0){this._model.selectionEnd[0]++}}if(!previousSelectionEnd||previousSelectionEnd[0]!==this._model.selectionEnd[0]||previousSelectionEnd[1]!==this._model.selectionEnd[1]){this.refresh(true)}};SelectionManager.prototype._dragScroll=function(){if(this._dragScrollAmount){this._terminal.scrollLines(this._dragScrollAmount,false);if(this._dragScrollAmount>0){this._model.selectionEnd=[this._terminal.cols-1,Math.min(this._terminal.buffer.ydisp+this._terminal.rows,this._terminal.buffer.lines.length-1)]}else{this._model.selectionEnd=[0,this._terminal.buffer.ydisp]}this.refresh()}};SelectionManager.prototype._onMouseUp=function(event){var timeElapsed=event.timeStamp-this._mouseDownTimeStamp;this._removeMouseDownListeners();if(this.selectionText.length<=1&&timeElapsed<ALT_CLICK_MOVE_CURSOR_TIME){new AltClickHandler_1.AltClickHandler(event,this._terminal).move()}else if(this.hasSelection){this._terminal.emit("selection")}};SelectionManager.prototype._onBufferActivate=function(e){this.clearSelection();e.inactiveBuffer.lines.off("trim",this._trimListener);e.activeBuffer.lines.on("trim",this._trimListener)};SelectionManager.prototype._convertViewportColToCharacterIndex=function(bufferLine,coords){var charIndex=coords[0];for(var i=0;coords[0]>=i;i++){var char=bufferLine[i];if(char[Buffer_1.CHAR_DATA_WIDTH_INDEX]===0){charIndex--}else if(char[Buffer_1.CHAR_DATA_CHAR_INDEX].length>1&&coords[0]!==i){charIndex+=char[Buffer_1.CHAR_DATA_CHAR_INDEX].length-1}}return charIndex};SelectionManager.prototype.setSelection=function(col,row,length){this._model.clearSelection();this._removeMouseDownListeners();this._model.selectionStart=[col,row];this._model.selectionStartLength=length;this.refresh()};SelectionManager.prototype._getWordAt=function(coords,allowWhitespaceOnlySelection){if(coords[0]>=this._terminal.cols){return null}var bufferLine=this._buffer.lines.get(coords[1]);if(!bufferLine){return null}var line=this._buffer.translateBufferLineToString(coords[1],false);var startIndex=this._convertViewportColToCharacterIndex(bufferLine,coords);var endIndex=startIndex;var charOffset=coords[0]-startIndex;var leftWideCharCount=0;var rightWideCharCount=0;var leftLongCharOffset=0;var rightLongCharOffset=0;if(line.charAt(startIndex)===" "){while(startIndex>0&&line.charAt(startIndex-1)===" "){startIndex--}while(endIndex<line.length&&line.charAt(endIndex+1)===" "){endIndex++}}else{var startCol=coords[0];var endCol=coords[0];if(bufferLine[startCol][Buffer_1.CHAR_DATA_WIDTH_INDEX]===0){leftWideCharCount++;startCol--}if(bufferLine[endCol][Buffer_1.CHAR_DATA_WIDTH_INDEX]===2){rightWideCharCount++;endCol++}if(bufferLine[endCol][Buffer_1.CHAR_DATA_CHAR_INDEX].length>1){rightLongCharOffset+=bufferLine[endCol][Buffer_1.CHAR_DATA_CHAR_INDEX].length-1;endIndex+=bufferLine[endCol][Buffer_1.CHAR_DATA_CHAR_INDEX].length-1}while(startCol>0&&startIndex>0&&!this._isCharWordSeparator(bufferLine[startCol-1])){var char=bufferLine[startCol-1];if(char[Buffer_1.CHAR_DATA_WIDTH_INDEX]===0){leftWideCharCount++;startCol--}else if(char[Buffer_1.CHAR_DATA_CHAR_INDEX].length>1){leftLongCharOffset+=char[Buffer_1.CHAR_DATA_CHAR_INDEX].length-1;startIndex-=char[Buffer_1.CHAR_DATA_CHAR_INDEX].length-1}startIndex--;startCol--}while(endCol<bufferLine.length&&endIndex+1<line.length&&!this._isCharWordSeparator(bufferLine[endCol+1])){var char=bufferLine[endCol+1];if(char[Buffer_1.CHAR_DATA_WIDTH_INDEX]===2){rightWideCharCount++;endCol++}else if(char[Buffer_1.CHAR_DATA_CHAR_INDEX].length>1){rightLongCharOffset+=char[Buffer_1.CHAR_DATA_CHAR_INDEX].length-1;endIndex+=char[Buffer_1.CHAR_DATA_CHAR_INDEX].length-1}endIndex++;endCol++}}endIndex++;var start=startIndex+charOffset-leftWideCharCount+leftLongCharOffset;var length=Math.min(this._terminal.cols,endIndex-startIndex+leftWideCharCount+rightWideCharCount-leftLongCharOffset-rightLongCharOffset);if(!allowWhitespaceOnlySelection&&line.slice(startIndex,endIndex).trim()===""){return null}return{start:start,length:length}};SelectionManager.prototype._selectWordAt=function(coords,allowWhitespaceOnlySelection){var wordPosition=this._getWordAt(coords,allowWhitespaceOnlySelection);if(wordPosition){this._model.selectionStart=[wordPosition.start,coords[1]];this._model.selectionStartLength=wordPosition.length}};SelectionManager.prototype._selectToWordAt=function(coords){var wordPosition=this._getWordAt(coords,true);if(wordPosition){this._model.selectionEnd=[this._model.areSelectionValuesReversed()?wordPosition.start:wordPosition.start+wordPosition.length,coords[1]]}};SelectionManager.prototype._isCharWordSeparator=function(charData){if(charData[Buffer_1.CHAR_DATA_WIDTH_INDEX]===0){return false}return WORD_SEPARATORS.indexOf(charData[Buffer_1.CHAR_DATA_CHAR_INDEX])>=0};SelectionManager.prototype._selectLineAt=function(line){this._model.selectionStart=[0,line];this._model.selectionStartLength=this._terminal.cols};return SelectionManager}(EventEmitter_1.EventEmitter);exports.SelectionManager=SelectionManager},{"./Buffer":2,"./EventEmitter":8,"./SelectionModel":13,"./handlers/AltClickHandler":19,"./shared/utils/Browser":36,"./utils/MouseHelper":41}],13:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var SelectionModel=function(){function SelectionModel(_terminal){this._terminal=_terminal;this.clearSelection()}SelectionModel.prototype.clearSelection=function(){this.selectionStart=null;this.selectionEnd=null;this.isSelectAllActive=false;this.selectionStartLength=0};Object.defineProperty(SelectionModel.prototype,"finalSelectionStart",{get:function(){if(this.isSelectAllActive){return[0,0]}if(!this.selectionEnd||!this.selectionStart){return this.selectionStart}return this.areSelectionValuesReversed()?this.selectionEnd:this.selectionStart},enumerable:true,configurable:true});Object.defineProperty(SelectionModel.prototype,"finalSelectionEnd",{get:function(){if(this.isSelectAllActive){return[this._terminal.cols,this._terminal.buffer.ybase+this._terminal.rows-1]}if(!this.selectionStart){return null}if(!this.selectionEnd||this.areSelectionValuesReversed()){return[this.selectionStart[0]+this.selectionStartLength,this.selectionStart[1]]}if(this.selectionStartLength){if(this.selectionEnd[1]===this.selectionStart[1]){return[Math.max(this.selectionStart[0]+this.selectionStartLength,this.selectionEnd[0]),this.selectionEnd[1]]}}return this.selectionEnd},enumerable:true,configurable:true});SelectionModel.prototype.areSelectionValuesReversed=function(){var start=this.selectionStart;var end=this.selectionEnd;if(!start||!end){return false}return start[1]>end[1]||start[1]===end[1]&&start[0]>end[0]};SelectionModel.prototype.onTrim=function(amount){if(this.selectionStart){this.selectionStart[1]-=amount}if(this.selectionEnd){this.selectionEnd[1]-=amount}if(this.selectionEnd&&this.selectionEnd[1]<0){this.clearSelection();return true}if(this.selectionStart&&this.selectionStart[1]<0){this.selectionStart[1]=0}return false};return SelectionModel}();exports.SelectionModel=SelectionModel},{}],14:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.DEFAULT_BELL_SOUND="data:audio/wav;base64,UklGRigBAABXQVZFZm10IBAAAAABAAEARKwAAIhYAQACABAAZGF0YQQBAADpAFgCwAMlBZoG/wdmCcoKRAypDQ8PbRDBEQQTOxRtFYcWlBePGIUZXhoiG88bcBz7HHIdzh0WHlMeZx51HmkeUx4WHs8dah0AHXwc3hs9G4saxRnyGBIYGBcQFv8U4RPAEoYRQBACD70NWwwHC6gJOwjWBloF7gOBAhABkf8b/qv8R/ve+Xf4Ife79W/0JfPZ8Z/wde9N7ijtE+wU6xvqM+lb6H7nw+YX5mrlxuQz5Mzje+Ma49fioeKD4nXiYeJy4pHitOL04j/jn+MN5IPkFOWs5U3mDefM55/ogOl36m7rdOyE7abuyu8D8Unyj/Pg9D/2qfcb+Yn6/vuK/Qj/lAAlAg==";var SoundManager=function(){function SoundManager(_terminal){this._terminal=_terminal}SoundManager.prototype.playBellSound=function(){var audioContextCtor=window.AudioContext||window.webkitAudioContext;if(!this._audioContext&&audioContextCtor){this._audioContext=new audioContextCtor}if(this._audioContext){var bellAudioSource_1=this._audioContext.createBufferSource();var context_1=this._audioContext;this._audioContext.decodeAudioData(this._base64ToArrayBuffer(this._removeMimeType(this._terminal.options.bellSound)),function(buffer){bellAudioSource_1.buffer=buffer;bellAudioSource_1.connect(context_1.destination);bellAudioSource_1.start(0)})}else{console.warn("Sorry, but the Web Audio API is not supported by your browser. Please, consider upgrading to the latest version")}};SoundManager.prototype._base64ToArrayBuffer=function(base64){var binaryString=window.atob(base64);var len=binaryString.length;var bytes=new Uint8Array(len);for(var i=0;i<len;i++){bytes[i]=binaryString.charCodeAt(i)}return bytes.buffer};SoundManager.prototype._removeMimeType=function(dataURI){var splitUri=dataURI.split(",");return splitUri[1]};return SoundManager}();exports.SoundManager=SoundManager},{}],15:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.blankLine="Blank line";exports.promptLabel="Terminal input";exports.tooMuchOutput="Too much output to announce, navigate to rows manually to read"},{}],16:[function(require,module,exports){"use strict";var __extends=this&&this.__extends||function(){var extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(d,b){d.__proto__=b}||function(d,b){for(var p in b)if(b.hasOwnProperty(p))d[p]=b[p]};return function(d,b){extendStatics(d,b);function __(){this.constructor=d}d.prototype=b===null?Object.create(b):(__.prototype=b.prototype,new __)}}();Object.defineProperty(exports,"__esModule",{value:true});var BufferSet_1=require("./BufferSet");var Buffer_1=require("./Buffer");var CompositionHelper_1=require("./CompositionHelper");var EventEmitter_1=require("./EventEmitter");var Viewport_1=require("./Viewport");var Clipboard_1=require("./handlers/Clipboard");var EscapeSequences_1=require("./EscapeSequences");var InputHandler_1=require("./InputHandler");var Parser_1=require("./Parser");var Renderer_1=require("./renderer/Renderer");var Linkifier_1=require("./Linkifier");var SelectionManager_1=require("./SelectionManager");var CharMeasure_1=require("./utils/CharMeasure");var Browser=require("./shared/utils/Browser");var Strings=require("./Strings");var MouseHelper_1=require("./utils/MouseHelper");var Clone_1=require("./utils/Clone");var SoundManager_1=require("./SoundManager");var ColorManager_1=require("./renderer/ColorManager");var MouseZoneManager_1=require("./input/MouseZoneManager");var AccessibilityManager_1=require("./AccessibilityManager");var ScreenDprMonitor_1=require("./utils/ScreenDprMonitor");var KEYCODE_KEY_MAPPINGS={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:["'",'"']};var document=typeof window!=="undefined"?window.document:null;var WRITE_BUFFER_PAUSE_THRESHOLD=5;var WRITE_BATCH_SIZE=300;var DEFAULT_OPTIONS={cols:80,rows:24,convertEol:false,termName:"xterm",cursorBlink:false,cursorStyle:"block",bellSound:SoundManager_1.DEFAULT_BELL_SOUND,bellStyle:"none",enableBold:true,fontFamily:"courier-new, courier, monospace",fontSize:15,fontWeight:"normal",fontWeightBold:"bold",lineHeight:1,letterSpacing:0,scrollback:1e3,screenKeys:false,screenReaderMode:false,debug:false,macOptionIsMeta:false,cancelEvents:false,disableStdin:false,useFlowControl:false,allowTransparency:false,tabStopWidth:8,theme:null,rightClickSelectsWord:Browser.isMac};var Terminal=function(_super){__extends(Terminal,_super);function Terminal(options){if(options===void 0){options={}}var _this=_super.call(this)||this;_this.browser=Browser;_this.options=Clone_1.clone(options);_this._setup();return _this}Terminal.prototype._setup=function(){var _this=this;Object.keys(DEFAULT_OPTIONS).forEach(function(key){if(_this.options[key]==null){_this.options[key]=DEFAULT_OPTIONS[key]}_this[key]=_this.options[key]});this._parent=document?document.body:null;this.cols=this.options.cols;this.rows=this.options.rows;if(this.options.handler){this.on("data",this.options.handler)}this.cursorState=0;this.cursorHidden=false;this._sendDataQueue="";this._customKeyEventHandler=null;this.applicationKeypad=false;this.applicationCursor=false;this.originMode=false;this.insertMode=false;this.wraparoundMode=true;this.bracketedPasteMode=false;this.charset=null;this.gcharset=null;this.glevel=0;this.charsets=[null];this.defAttr=0<<18|257<<9|256<<0;this.curAttr=0<<18|257<<9|256<<0;this.params=[];this.currentParam=0;this.prefix="";this.postfix="";this.writeBuffer=[];this._writeInProgress=false;this._xoffSentToCatchUp=false;this._userScrolling=false;this._inputHandler=new InputHandler_1.InputHandler(this);this._parser=new Parser_1.Parser(this._inputHandler,this);this.renderer=this.renderer||null;this.selectionManager=this.selectionManager||null;this.linkifier=this.linkifier||new Linkifier_1.Linkifier(this);this._mouseZoneManager=this._mouseZoneManager||null;this.soundManager=this.soundManager||new SoundManager_1.SoundManager(this);this.buffers=new BufferSet_1.BufferSet(this);if(this.selectionManager){this.selectionManager.clearSelection();this.selectionManager.initBuffersListeners()}};Object.defineProperty(Terminal.prototype,"buffer",{get:function(){return this.buffers.active},enumerable:true,configurable:true});Object.defineProperty(Terminal,"strings",{get:function(){return Strings},enumerable:true,configurable:true});Terminal.prototype.eraseAttr=function(){return this.defAttr&~511|this.curAttr&511};Terminal.prototype.focus=function(){if(this.textarea){this.textarea.focus()}};Object.defineProperty(Terminal.prototype,"isFocused",{get:function(){return document.activeElement===this.textarea},enumerable:true,configurable:true});Terminal.prototype.getOption=function(key){if(!(key in DEFAULT_OPTIONS)){throw new Error('No option with key "'+key+'"')}if(typeof this.options[key]!=="undefined"){return this.options[key]}return this[key]};Terminal.prototype.setOption=function(key,value){if(!(key in DEFAULT_OPTIONS)){throw new Error('No option with key "'+key+'"')}switch(key){case"bellStyle":if(!value){value="none"}break;case"cursorStyle":if(!value){value="block"}break;case"fontWeight":if(!value){value="normal"}break;case"fontWeightBold":if(!value){value="bold"}break;case"lineHeight":if(value<1){console.warn(key+" cannot be less than 1, value: "+value);return}case"tabStopWidth":if(value<1){console.warn(key+" cannot be less than 1, value: "+value);return}break;case"theme":if(this.renderer){this._setTheme(value);return}break;case"scrollback":value=Math.min(value,Buffer_1.MAX_BUFFER_SIZE);if(value<0){console.warn(key+" cannot be less than 0, value: "+value);return}if(this.options[key]!==value){var newBufferLength=this.rows+value;if(this.buffer.lines.length>newBufferLength){var amountToTrim=this.buffer.lines.length-newBufferLength;var needsRefresh=this.buffer.ydisp-amountToTrim<0;this.buffer.lines.trimStart(amountToTrim);this.buffer.ybase=Math.max(this.buffer.ybase-amountToTrim,0);this.buffer.ydisp=Math.max(this.buffer.ydisp-amountToTrim,0);if(needsRefresh){this.refresh(0,this.rows-1)}}}break}this[key]=value;this.options[key]=value;switch(key){case"fontFamily":case"fontSize":this.renderer.clear();this.charMeasure.measure(this.options);break;case"enableBold":case"letterSpacing":case"lineHeight":case"fontWeight":case"fontWeightBold":this.renderer.clear();this.renderer.onResize(this.cols,this.rows);this.refresh(0,this.rows-1);case"scrollback":this.buffers.resize(this.cols,this.rows);this.viewport.syncScrollArea();break;case"screenReaderMode":if(value){if(!this._accessibilityManager){this._accessibilityManager=new AccessibilityManager_1.AccessibilityManager(this)}}else{if(this._accessibilityManager){this._accessibilityManager.dispose();this._accessibilityManager=null}}break;case"tabStopWidth":this.buffers.setupTabStops();break}if(this.renderer){this.renderer.onOptionsChanged()}};Terminal.prototype._onTextAreaFocus=function(){if(this.sendFocus){this.send(EscapeSequences_1.C0.ESC+"[I")}this.element.classList.add("focus");this.showCursor();this.emit("focus")};Terminal.prototype.blur=function(){return this.textarea.blur()};Terminal.prototype._onTextAreaBlur=function(){this.textarea.value="";this.refresh(this.buffer.y,this.buffer.y);if(this.sendFocus){this.send(EscapeSequences_1.C0.ESC+"[O")}this.element.classList.remove("focus");this.emit("blur")};Terminal.prototype._initGlobal=function(){var _this=this;this._bindKeys();on(this.element,"copy",function(event){if(!_this.hasSelection()){return}Clipboard_1.copyHandler(event,_this,_this.selectionManager)});var pasteHandlerWrapper=function(event){return Clipboard_1.pasteHandler(event,_this)};on(this.textarea,"paste",pasteHandlerWrapper);on(this.element,"paste",pasteHandlerWrapper);if(Browser.isFirefox){on(this.element,"mousedown",function(event){if(event.button===2){Clipboard_1.rightClickHandler(event,_this.textarea,_this.selectionManager,_this.options.rightClickSelectsWord)}})}else{on(this.element,"contextmenu",function(event){Clipboard_1.rightClickHandler(event,_this.textarea,_this.selectionManager,_this.options.rightClickSelectsWord)})}if(Browser.isLinux){on(this.element,"auxclick",function(event){if(event.button===1){Clipboard_1.moveTextAreaUnderMouseCursor(event,_this.textarea)}})}};Terminal.prototype._bindKeys=function(){var _this=this;var self=this;on(this.element,"keydown",function(ev){if(document.activeElement!==this){return}self._keyDown(ev)},true);on(this.element,"keypress",function(ev){if(document.activeElement!==this){return}self._keyPress(ev)},true);on(this.element,"keyup",function(ev){if(!wasMondifierKeyOnlyEvent(ev)){_this.focus()}},true);on(this.textarea,"keydown",function(ev){return _this._keyDown(ev)},true);on(this.textarea,"keypress",function(ev){return _this._keyPress(ev)},true);on(this.textarea,"compositionstart",function(){return _this._compositionHelper.compositionstart()});on(this.textarea,"compositionupdate",function(e){return _this._compositionHelper.compositionupdate(e)});on(this.textarea,"compositionend",function(){return _this._compositionHelper.compositionend()});this.on("refresh",function(){return _this._compositionHelper.updateCompositionElements()});this.on("refresh",function(data){return _this._queueLinkification(data.start,data.end)})};Terminal.prototype.open=function(parent){var _this=this;this._parent=parent||this._parent;if(!this._parent){throw new Error("Terminal requires a parent element.")}this._context=this._parent.ownerDocument.defaultView;this._document=this._parent.ownerDocument;this._screenDprMonitor=new ScreenDprMonitor_1.ScreenDprMonitor;this._screenDprMonitor.setListener(function(){return _this.emit("dprchange",window.devicePixelRatio)});this.element=this._document.createElement("div");this.element.dir="ltr";this.element.classList.add("terminal");this.element.classList.add("xterm");this.element.setAttribute("tabindex","0");this._parent.appendChild(this.element);var fragment=document.createDocumentFragment();this._viewportElement=document.createElement("div");this._viewportElement.classList.add("xterm-viewport");fragment.appendChild(this._viewportElement);this._viewportScrollArea=document.createElement("div");this._viewportScrollArea.classList.add("xterm-scroll-area");this._viewportElement.appendChild(this._viewportScrollArea);this.screenElement=document.createElement("div");this.screenElement.classList.add("xterm-screen");this._helperContainer=document.createElement("div");this._helperContainer.classList.add("xterm-helpers");this.screenElement.appendChild(this._helperContainer);fragment.appendChild(this.screenElement);this._mouseZoneManager=new MouseZoneManager_1.MouseZoneManager(this);this.on("scroll",function(){return _this._mouseZoneManager.clearAll()});this.linkifier.attachToDom(this._mouseZoneManager);this.textarea=document.createElement("textarea");this.textarea.classList.add("xterm-helper-textarea");this.textarea.setAttribute("aria-label",Strings.promptLabel);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.textarea.addEventListener("focus",function(){return _this._onTextAreaFocus()});this.textarea.addEventListener("blur",function(){return _this._onTextAreaBlur()});this._helperContainer.appendChild(this.textarea);this._compositionView=document.createElement("div");this._compositionView.classList.add("composition-view");this._compositionHelper=new CompositionHelper_1.CompositionHelper(this.textarea,this._compositionView,this);this._helperContainer.appendChild(this._compositionView);this.charMeasure=new CharMeasure_1.CharMeasure(document,this._helperContainer);this.element.appendChild(fragment);this.renderer=new Renderer_1.Renderer(this,this.options.theme);this.options.theme=null;this.viewport=new Viewport_1.Viewport(this,this._viewportElement,this._viewportScrollArea,this.charMeasure);this.viewport.onThemeChanged(this.renderer.colorManager.colors);this.on("cursormove",function(){return _this.renderer.onCursorMove()});this.on("resize",function(){return _this.renderer.onResize(_this.cols,_this.rows)});this.on("blur",function(){return _this.renderer.onBlur()});this.on("focus",function(){return _this.renderer.onFocus()});this.on("dprchange",function(){return _this.renderer.onWindowResize(window.devicePixelRatio)});window.addEventListener("resize",function(){return _this.renderer.onWindowResize(window.devicePixelRatio)});this.charMeasure.on("charsizechanged",function(){return _this.renderer.onResize(_this.cols,_this.rows)});this.renderer.on("resize",function(dimensions){return _this.viewport.syncScrollArea()});this.selectionManager=new SelectionManager_1.SelectionManager(this,this.charMeasure);this.element.addEventListener("mousedown",function(e){return _this.selectionManager.onMouseDown(e)});this.selectionManager.on("refresh",function(data){return _this.renderer.onSelectionChanged(data.start,data.end)});this.selectionManager.on("newselection",function(text){_this.textarea.value=text;_this.textarea.focus();_this.textarea.select()});this.on("scroll",function(){_this.viewport.syncScrollArea();_this.selectionManager.refresh()});this._viewportElement.addEventListener("scroll",function(){return _this.selectionManager.refresh()});this.mouseHelper=new MouseHelper_1.MouseHelper(this.renderer);if(this.options.screenReaderMode){this._accessibilityManager=new AccessibilityManager_1.AccessibilityManager(this)}this.charMeasure.measure(this.options);this.refresh(0,this.rows-1);this._initGlobal();this.bindMouse()};Terminal.prototype._setTheme=function(theme){var colors=this.renderer.setTheme(theme);if(this.viewport){this.viewport.onThemeChanged(colors)}};Terminal.applyAddon=function(addon){addon.apply(Terminal)};Terminal.prototype.bindMouse=function(){var _this=this;var el=this.element;var self=this;var pressed=32;function sendButton(ev){var button;var pos;button=getButton(ev);pos=self.mouseHelper.getRawByteCoords(ev,self.screenElement,self.charMeasure,self.options.lineHeight,self.cols,self.rows);if(!pos)return;sendEvent(button,pos);switch(ev.overrideType||ev.type){case"mousedown":pressed=button;break;case"mouseup":pressed=32;break;case"wheel":break}}function sendMove(ev){var button=pressed;var pos=self.mouseHelper.getRawByteCoords(ev,self.screenElement,self.charMeasure,self.options.lineHeight,self.cols,self.rows);if(!pos)return;button+=32;sendEvent(button,pos)}function encode(data,ch){if(!self.utfMouse){if(ch===255){data.push(0);return}if(ch>127)ch=127;data.push(ch)}else{if(ch===2047){data.push(0);return}if(ch<127){data.push(ch)}else{if(ch>2047)ch=2047;data.push(192|ch>>6);data.push(128|ch&63)}}}function sendEvent(button,pos){if(self._vt300Mouse){button&=3;pos.x-=32;pos.y-=32;var data_1=EscapeSequences_1.C0.ESC+"[24";if(button===0)data_1+="1";else if(button===1)data_1+="3";else if(button===2)data_1+="5";else if(button===3)return;else data_1+="0";data_1+="~["+pos.x+","+pos.y+"]\r";self.send(data_1);return}if(self._decLocator){button&=3;pos.x-=32;pos.y-=32;if(button===0)button=2;else if(button===1)button=4;else if(button===2)button=6;else if(button===3)button=3;self.send(EscapeSequences_1.C0.ESC+"["+button+";"+(button===3?4:0)+";"+pos.y+";"+pos.x+";"+pos.page||0+"&w");return}if(self.urxvtMouse){pos.x-=32;pos.y-=32;pos.x++;pos.y++;self.send(EscapeSequences_1.C0.ESC+"["+button+";"+pos.x+";"+pos.y+"M");return}if(self.sgrMouse){pos.x-=32;pos.y-=32;self.send(EscapeSequences_1.C0.ESC+"[<"+(((button&3)===3?button&~3:button)-32)+";"+pos.x+";"+pos.y+((button&3)===3?"m":"M"));return}var data=[];encode(data,button);encode(data,pos.x);encode(data,pos.y);self.send(EscapeSequences_1.C0.ESC+"[M"+String.fromCharCode.apply(String,data))}function getButton(ev){var button;var shift;var meta;var ctrl;var mod;switch(ev.overrideType||ev.type){case"mousedown":button=ev.button!=null?+ev.button:ev.which!=null?ev.which-1:null;if(Browser.isMSIE){button=button===1?0:button===4?1:button}break;case"mouseup":button=3;break;case"DOMMouseScroll":button=ev.detail<0?64:65;break;case"wheel":button=ev.wheelDeltaY>0?64:65;break}shift=ev.shiftKey?4:0;meta=ev.metaKey?8:0;ctrl=ev.ctrlKey?16:0;mod=shift|meta|ctrl;if(self.vt200Mouse){mod&=ctrl}else if(!self.normalMouse){mod=0}button=32+(mod<<2)+button;return button}on(el,"mousedown",function(ev){ev.preventDefault();_this.focus();if(!_this.mouseEvents||_this.selectionManager.shouldForceSelection(ev)){return}sendButton(ev);if(_this.vt200Mouse){ev.overrideType="mouseup";sendButton(ev);return _this.cancel(ev)}if(_this.normalMouse)on(_this._document,"mousemove",sendMove);if(!_this.x10Mouse){var handler_1=function(ev){sendButton(ev);if(_this.normalMouse)off(_this._document,"mousemove",sendMove);off(_this._document,"mouseup",handler_1);return _this.cancel(ev)};on(_this._document,"mouseup",handler_1)}return _this.cancel(ev)});on(el,"wheel",function(ev){if(!_this.mouseEvents){if(!_this.buffer.hasScrollback){var amount=_this.viewport.getLinesScrolled(ev);if(amount===0){return}var sequence=EscapeSequences_1.C0.ESC+(_this.applicationCursor?"O":"[")+(ev.deltaY<0?"A":"B");var data="";for(var i=0;i<Math.abs(amount);i++){data+=sequence}_this.send(data)}return}if(_this.x10Mouse||_this._vt300Mouse||_this._decLocator)return;sendButton(ev);ev.preventDefault()});on(el,"wheel",function(ev){if(_this.mouseEvents)return;_this.viewport.onWheel(ev);return _this.cancel(ev)});on(el,"touchstart",function(ev){if(_this.mouseEvents)return;_this.viewport.onTouchStart(ev);return _this.cancel(ev)});on(el,"touchmove",function(ev){if(_this.mouseEvents)return;_this.viewport.onTouchMove(ev);return _this.cancel(ev)})};Terminal.prototype.destroy=function(){_super.prototype.destroy.call(this);this.handler=function(){};this.write=function(){};if(this.element&&this.element.parentNode){this.element.parentNode.removeChild(this.element)}};Terminal.prototype.refresh=function(start,end){if(this.renderer){this.renderer.refreshRows(start,end)}};Terminal.prototype._queueLinkification=function(start,end){if(this.linkifier){this.linkifier.linkifyRows(start,end)}};Terminal.prototype.showCursor=function(){if(!this.cursorState){this.cursorState=1;this.refresh(this.buffer.y,this.buffer.y)}};Terminal.prototype.scroll=function(isWrapped){var newLine=this.blankLine(undefined,isWrapped);var topRow=this.buffer.ybase+this.buffer.scrollTop;var bottomRow=this.buffer.ybase+this.buffer.scrollBottom;if(this.buffer.scrollTop===0){var willBufferBeTrimmed=this.buffer.lines.length===this.buffer.lines.maxLength;if(bottomRow===this.buffer.lines.length-1){this.buffer.lines.push(newLine)}else{this.buffer.lines.splice(bottomRow+1,0,newLine)}if(!willBufferBeTrimmed){this.buffer.ybase++;if(!this._userScrolling){this.buffer.ydisp++}}else{if(this._userScrolling){this.buffer.ydisp=Math.max(this.buffer.ydisp-1,0)}}}else{var scrollRegionHeight=bottomRow-topRow+1;this.buffer.lines.shiftElements(topRow+1,scrollRegionHeight-1,-1);this.buffer.lines.set(bottomRow,newLine)}if(!this._userScrolling){this.buffer.ydisp=this.buffer.ybase}this.updateRange(this.buffer.scrollTop);this.updateRange(this.buffer.scrollBottom);this.emit("scroll",this.buffer.ydisp)};Terminal.prototype.scrollLines=function(disp,suppressScrollEvent){if(disp<0){if(this.buffer.ydisp===0){return}this._userScrolling=true}else if(disp+this.buffer.ydisp>=this.buffer.ybase){this._userScrolling=false}var oldYdisp=this.buffer.ydisp;this.buffer.ydisp=Math.max(Math.min(this.buffer.ydisp+disp,this.buffer.ybase),0);if(oldYdisp===this.buffer.ydisp){return}if(!suppressScrollEvent){this.emit("scroll",this.buffer.ydisp)}this.refresh(0,this.rows-1)};Terminal.prototype.scrollPages=function(pageCount){this.scrollLines(pageCount*(this.rows-1))};Terminal.prototype.scrollToTop=function(){this.scrollLines(-this.buffer.ydisp)};Terminal.prototype.scrollToBottom=function(){this.scrollLines(this.buffer.ybase-this.buffer.ydisp)};Terminal.prototype.scrollToLine=function(line){var scrollAmount=line-this.buffer.ydisp;if(scrollAmount!==0){this.scrollLines(scrollAmount)}};Terminal.prototype.write=function(data){var _this=this;if(!data){return}this.writeBuffer.push(data);if(this.options.useFlowControl&&!this._xoffSentToCatchUp&&this.writeBuffer.length>=WRITE_BUFFER_PAUSE_THRESHOLD){this.send(EscapeSequences_1.C0.DC3);this._xoffSentToCatchUp=true}if(!this._writeInProgress&&this.writeBuffer.length>0){this._writeInProgress=true;setTimeout(function(){_this._innerWrite()})}};Terminal.prototype._innerWrite=function(){var _this=this;var writeBatch=this.writeBuffer.splice(0,WRITE_BATCH_SIZE);while(writeBatch.length>0){var data=writeBatch.shift();if(this._xoffSentToCatchUp&&writeBatch.length===0&&this.writeBuffer.length===0){this.send(EscapeSequences_1.C0.DC1);this._xoffSentToCatchUp=false}this._refreshStart=this.buffer.y;this._refreshEnd=this.buffer.y;var state=this._parser.parse(data);this._parser.setState(state);this.updateRange(this.buffer.y);this.refresh(this._refreshStart,this._refreshEnd)}if(this.writeBuffer.length>0){setTimeout(function(){return _this._innerWrite()},0)}else{this._writeInProgress=false}};Terminal.prototype.writeln=function(data){this.write(data+"\r\n")};Terminal.prototype.attachCustomKeyEventHandler=function(customKeyEventHandler){this._customKeyEventHandler=customKeyEventHandler};Terminal.prototype.registerLinkMatcher=function(regex,handler,options){var matcherId=this.linkifier.registerLinkMatcher(regex,handler,options);this.refresh(0,this.rows-1);return matcherId};Terminal.prototype.deregisterLinkMatcher=function(matcherId){if(this.linkifier.deregisterLinkMatcher(matcherId)){this.refresh(0,this.rows-1)}};Object.defineProperty(Terminal.prototype,"markers",{get:function(){return this.buffer.markers},enumerable:true,configurable:true});Terminal.prototype.addMarker=function(cursorYOffset){if(this.buffer!==this.buffers.normal){return}return this.buffer.addMarker(this.buffer.ybase+this.buffer.y+cursorYOffset)};Terminal.prototype.hasSelection=function(){return this.selectionManager?this.selectionManager.hasSelection:false};Terminal.prototype.getSelection=function(){return this.selectionManager?this.selectionManager.selectionText:""};Terminal.prototype.clearSelection=function(){if(this.selectionManager){this.selectionManager.clearSelection()}};Terminal.prototype.selectAll=function(){if(this.selectionManager){this.selectionManager.selectAll()}};Terminal.prototype.selectLines=function(start,end){if(this.selectionManager){this.selectionManager.selectLines(start,end)}};Terminal.prototype._keyDown=function(ev){if(this._customKeyEventHandler&&this._customKeyEventHandler(ev)===false){return false}if(!this._compositionHelper.keydown(ev)){if(this.buffer.ybase!==this.buffer.ydisp){this.scrollToBottom()}return false}var result=this._evaluateKeyEscapeSequence(ev);if(result.scrollLines){this.scrollLines(result.scrollLines);return this.cancel(ev,true)}if(this._isThirdLevelShift(this.browser,ev)){return true}if(result.cancel){this.cancel(ev,true)}if(!result.key){return true}this.emit("keydown",ev);this.emit("key",result.key,ev);this.showCursor();this.handler(result.key);return this.cancel(ev,true)};Terminal.prototype._isThirdLevelShift=function(browser,ev){var thirdLevelKey=browser.isMac&&!this.options.macOptionIsMeta&&ev.altKey&&!ev.ctrlKey&&!ev.metaKey||browser.isMSWindows&&ev.altKey&&ev.ctrlKey&&!ev.metaKey;if(ev.type==="keypress"){return thirdLevelKey}return thirdLevelKey&&(!ev.keyCode||ev.keyCode>47)};Terminal.prototype._evaluateKeyEscapeSequence=function(ev){var result={cancel:false,key:undefined,scrollLines:undefined};var modifiers=(ev.shiftKey?1:0)|(ev.altKey?2:0)|(ev.ctrlKey?4:0)|(ev.metaKey?8:0);switch(ev.keyCode){case 0:if(ev.key==="UIKeyInputUpArrow"){if(this.applicationCursor){result.key=EscapeSequences_1.C0.ESC+"OA"}else{result.key=EscapeSequences_1.C0.ESC+"[A"}}else if(ev.key==="UIKeyInputLeftArrow"){if(this.applicationCursor){result.key=EscapeSequences_1.C0.ESC+"OD"}else{result.key=EscapeSequences_1.C0.ESC+"[D"}}else if(ev.key==="UIKeyInputRightArrow"){if(this.applicationCursor){result.key=EscapeSequences_1.C0.ESC+"OC"}else{result.key=EscapeSequences_1.C0.ESC+"[C"}}else if(ev.key==="UIKeyInputDownArrow"){if(this.applicationCursor){result.key=EscapeSequences_1.C0.ESC+"OB"}else{result.key=EscapeSequences_1.C0.ESC+"[B"}}break;case 8:if(ev.shiftKey){result.key=EscapeSequences_1.C0.BS;break}else if(ev.altKey){result.key=EscapeSequences_1.C0.ESC+EscapeSequences_1.C0.DEL;break}result.key=EscapeSequences_1.C0.DEL;break;case 9:if(ev.shiftKey){result.key=EscapeSequences_1.C0.ESC+"[Z";break}result.key=EscapeSequences_1.C0.HT;result.cancel=true;break;case 13:result.key=EscapeSequences_1.C0.CR;result.cancel=true;break;case 27:result.key=EscapeSequences_1.C0.ESC;result.cancel=true;break;case 37:if(modifiers){result.key=EscapeSequences_1.C0.ESC+"[1;"+(modifiers+1)+"D";if(result.key===EscapeSequences_1.C0.ESC+"[1;3D"){result.key=this.browser.isMac?EscapeSequences_1.C0.ESC+"b":EscapeSequences_1.C0.ESC+"[1;5D"}}else if(this.applicationCursor){result.key=EscapeSequences_1.C0.ESC+"OD"}else{result.key=EscapeSequences_1.C0.ESC+"[D"}break;case 39:if(modifiers){result.key=EscapeSequences_1.C0.ESC+"[1;"+(modifiers+1)+"C";if(result.key===EscapeSequences_1.C0.ESC+"[1;3C"){result.key=this.browser.isMac?EscapeSequences_1.C0.ESC+"f":EscapeSequences_1.C0.ESC+"[1;5C"}}else if(this.applicationCursor){result.key=EscapeSequences_1.C0.ESC+"OC"}else{result.key=EscapeSequences_1.C0.ESC+"[C"}break;case 38:if(modifiers){result.key=EscapeSequences_1.C0.ESC+"[1;"+(modifiers+1)+"A";if(result.key===EscapeSequences_1.C0.ESC+"[1;3A"){result.key=EscapeSequences_1.C0.ESC+"[1;5A"}}else if(this.applicationCursor){result.key=EscapeSequences_1.C0.ESC+"OA"}else{result.key=EscapeSequences_1.C0.ESC+"[A"}break;case 40:if(modifiers){result.key=EscapeSequences_1.C0.ESC+"[1;"+(modifiers+1)+"B";if(result.key===EscapeSequences_1.C0.ESC+"[1;3B"){result.key=EscapeSequences_1.C0.ESC+"[1;5B"}}else if(this.applicationCursor){result.key=EscapeSequences_1.C0.ESC+"OB"}else{result.key=EscapeSequences_1.C0.ESC+"[B"}break;case 45:if(!ev.shiftKey&&!ev.ctrlKey){result.key=EscapeSequences_1.C0.ESC+"[2~"}break;case 46:if(modifiers){result.key=EscapeSequences_1.C0.ESC+"[3;"+(modifiers+1)+"~"}else{result.key=EscapeSequences_1.C0.ESC+"[3~"}break;case 36:if(modifiers){result.key=EscapeSequences_1.C0.ESC+"[1;"+(modifiers+1)+"H"}else if(this.applicationCursor){result.key=EscapeSequences_1.C0.ESC+"OH"}else{result.key=EscapeSequences_1.C0.ESC+"[H"}break;case 35:if(modifiers){result.key=EscapeSequences_1.C0.ESC+"[1;"+(modifiers+1)+"F"}else if(this.applicationCursor){result.key=EscapeSequences_1.C0.ESC+"OF"}else{result.key=EscapeSequences_1.C0.ESC+"[F"}break;case 33:if(ev.shiftKey){result.scrollLines=-(this.rows-1)}else{result.key=EscapeSequences_1.C0.ESC+"[5~"}break;case 34:if(ev.shiftKey){result.scrollLines=this.rows-1}else{result.key=EscapeSequences_1.C0.ESC+"[6~"}break;case 112:if(modifiers){result.key=EscapeSequences_1.C0.ESC+"[1;"+(modifiers+1)+"P"}else{result.key=EscapeSequences_1.C0.ESC+"OP"}break;case 113:if(modifiers){result.key=EscapeSequences_1.C0.ESC+"[1;"+(modifiers+1)+"Q"}else{result.key=EscapeSequences_1.C0.ESC+"OQ"}break;case 114:if(modifiers){result.key=EscapeSequences_1.C0.ESC+"[1;"+(modifiers+1)+"R"}else{result.key=EscapeSequences_1.C0.ESC+"OR"}break;case 115:if(modifiers){result.key=EscapeSequences_1.C0.ESC+"[1;"+(modifiers+1)+"S"}else{result.key=EscapeSequences_1.C0.ESC+"OS"}break;case 116:if(modifiers){result.key=EscapeSequences_1.C0.ESC+"[15;"+(modifiers+1)+"~"}else{result.key=EscapeSequences_1.C0.ESC+"[15~"}break;case 117:if(modifiers){result.key=EscapeSequences_1.C0.ESC+"[17;"+(modifiers+1)+"~"}else{result.key=EscapeSequences_1.C0.ESC+"[17~"}break;case 118:if(modifiers){result.key=EscapeSequences_1.C0.ESC+"[18;"+(modifiers+1)+"~"}else{result.key=EscapeSequences_1.C0.ESC+"[18~"}break;case 119:if(modifiers){result.key=EscapeSequences_1.C0.ESC+"[19;"+(modifiers+1)+"~"}else{result.key=EscapeSequences_1.C0.ESC+"[19~"}break;case 120:if(modifiers){result.key=EscapeSequences_1.C0.ESC+"[20;"+(modifiers+1)+"~"}else{result.key=EscapeSequences_1.C0.ESC+"[20~"}break;case 121:if(modifiers){result.key=EscapeSequences_1.C0.ESC+"[21;"+(modifiers+1)+"~"}else{result.key=EscapeSequences_1.C0.ESC+"[21~"}break;case 122:if(modifiers){result.key=EscapeSequences_1.C0.ESC+"[23;"+(modifiers+1)+"~"}else{result.key=EscapeSequences_1.C0.ESC+"[23~"}break;case 123:if(modifiers){result.key=EscapeSequences_1.C0.ESC+"[24;"+(modifiers+1)+"~"}else{result.key=EscapeSequences_1.C0.ESC+"[24~"}break;default:if(ev.ctrlKey&&!ev.shiftKey&&!ev.altKey&&!ev.metaKey){if(ev.keyCode>=65&&ev.keyCode<=90){result.key=String.fromCharCode(ev.keyCode-64)}else if(ev.keyCode===32){result.key=String.fromCharCode(0)}else if(ev.keyCode>=51&&ev.keyCode<=55){result.key=String.fromCharCode(ev.keyCode-51+27)}else if(ev.keyCode===56){result.key=String.fromCharCode(127)}else if(ev.keyCode===219){result.key=String.fromCharCode(27)}else if(ev.keyCode===220){result.key=String.fromCharCode(28)}else if(ev.keyCode===221){result.key=String.fromCharCode(29)}}else if((!this.browser.isMac||this.options.macOptionIsMeta)&&ev.altKey&&!ev.metaKey){var keyMapping=KEYCODE_KEY_MAPPINGS[ev.keyCode];var key=keyMapping&&keyMapping[!ev.shiftKey?0:1];if(key){result.key=EscapeSequences_1.C0.ESC+key}else if(ev.keyCode>=65&&ev.keyCode<=90){var keyCode=ev.ctrlKey?ev.keyCode-64:ev.keyCode+32;result.key=EscapeSequences_1.C0.ESC+String.fromCharCode(keyCode)}}else if(this.browser.isMac&&!ev.altKey&&!ev.ctrlKey&&ev.metaKey){if(ev.keyCode===65){this.selectAll()}}break}return result};Terminal.prototype.setgLevel=function(g){this.glevel=g;this.charset=this.charsets[g]};Terminal.prototype.setgCharset=function(g,charset){this.charsets[g]=charset;if(this.glevel===g){this.charset=charset}};Terminal.prototype._keyPress=function(ev){var key;if(this._customKeyEventHandler&&this._customKeyEventHandler(ev)===false){return false}this.cancel(ev);if(ev.charCode){key=ev.charCode}else if(ev.which==null){key=ev.keyCode}else if(ev.which!==0&&ev.charCode!==0){key=ev.which}else{return false}if(!key||(ev.altKey||ev.ctrlKey||ev.metaKey)&&!this._isThirdLevelShift(this.browser,ev)){return false}key=String.fromCharCode(key);this.emit("keypress",key,ev);this.emit("key",key,ev);this.showCursor();this.handler(key);return true};Terminal.prototype.send=function(data){var _this=this;if(!this._sendDataQueue){setTimeout(function(){_this.handler(_this._sendDataQueue);_this._sendDataQueue=""},1)}this._sendDataQueue+=data};Terminal.prototype.bell=function(){var _this=this;this.emit("bell");if(this._soundBell()){this.soundManager.playBellSound()}if(this._visualBell()){this.element.classList.add("visual-bell-active");clearTimeout(this._visualBellTimer);this._visualBellTimer=window.setTimeout(function(){_this.element.classList.remove("visual-bell-active")},200)}};Terminal.prototype.log=function(text,data){if(!this.options.debug)return;if(!this._context.console||!this._context.console.log)return;this._context.console.log(text,data)};Terminal.prototype.error=function(text,data){if(!this.options.debug)return;if(!this._context.console||!this._context.console.error)return;this._context.console.error(text,data)};Terminal.prototype.resize=function(x,y){if(isNaN(x)||isNaN(y)){return}if(x===this.cols&&y===this.rows){if(!this.charMeasure.width||!this.charMeasure.height){this.charMeasure.measure(this.options)}return}if(x<1)x=1;if(y<1)y=1;this.buffers.resize(x,y);this.cols=x;this.rows=y;this.buffers.setupTabStops(this.cols);if(this.charMeasure){this.charMeasure.measure(this.options)}this.refresh(0,this.rows-1);this.emit("resize",{cols:x,rows:y})};Terminal.prototype.updateRange=function(y){if(y<this._refreshStart)this._refreshStart=y;if(y>this._refreshEnd)this._refreshEnd=y};Terminal.prototype.maxRange=function(){this._refreshStart=0;this._refreshEnd=this.rows-1};Terminal.prototype.eraseRight=function(x,y){var line=this.buffer.lines.get(this.buffer.ybase+y);if(!line){return}var ch=[this.eraseAttr()," ",1,32];for(;x<this.cols;x++){line[x]=ch}this.updateRange(y)};Terminal.prototype.eraseLeft=function(x,y){var line=this.buffer.lines.get(this.buffer.ybase+y);if(!line){return}var ch=[this.eraseAttr()," ",1,32];x++;while(x--){line[x]=ch}this.updateRange(y)};Terminal.prototype.clear=function(){if(this.buffer.ybase===0&&this.buffer.y===0){return}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(var i=1;i<this.rows;i++){this.buffer.lines.push(this.blankLine())}this.refresh(0,this.rows-1);this.emit("scroll",this.buffer.ydisp)};Terminal.prototype.eraseLine=function(y){this.eraseRight(0,y)};Terminal.prototype.blankLine=function(cur,isWrapped,cols){var attr=cur?this.eraseAttr():this.defAttr;var ch=[attr," ",1,32];var line=[];if(isWrapped){line.isWrapped=isWrapped}cols=cols||this.cols;for(var i=0;i<cols;i++){line[i]=ch}return line};Terminal.prototype.ch=function(cur){if(cur){return[this.eraseAttr()," ",1,32]}return[this.defAttr," ",1,32]};Terminal.prototype.is=function(term){return(this.options.termName+"").indexOf(term)===0};Terminal.prototype.handler=function(data){if(this.options.disableStdin){return}if(this.selectionManager&&this.selectionManager.hasSelection){this.selectionManager.clearSelection()}if(this.buffer.ybase!==this.buffer.ydisp){this.scrollToBottom()}this.emit("data",data)};Terminal.prototype.handleTitle=function(title){this.emit("title",title)};Terminal.prototype.index=function(){this.buffer.y++;if(this.buffer.y>this.buffer.scrollBottom){this.buffer.y--;this.scroll()}if(this.buffer.x>=this.cols){this.buffer.x--}};Terminal.prototype.reverseIndex=function(){if(this.buffer.y===this.buffer.scrollTop){var scrollRegionHeight=this.buffer.scrollBottom-this.buffer.scrollTop;this.buffer.lines.shiftElements(this.buffer.y+this.buffer.ybase,scrollRegionHeight,1);this.buffer.lines.set(this.buffer.y+this.buffer.ybase,this.blankLine(true));this.updateRange(this.buffer.scrollTop);this.updateRange(this.buffer.scrollBottom)}else{this.buffer.y--}};Terminal.prototype.reset=function(){this.options.rows=this.rows;this.options.cols=this.cols;var customKeyEventHandler=this._customKeyEventHandler;var inputHandler=this._inputHandler;this._setup();this._customKeyEventHandler=customKeyEventHandler;this._inputHandler=inputHandler;this.refresh(0,this.rows-1);if(this.viewport){this.viewport.syncScrollArea()}};Terminal.prototype.tabSet=function(){this.buffer.tabs[this.buffer.x]=true};Terminal.prototype.cancel=function(ev,force){if(!this.options.cancelEvents&&!force){return}ev.preventDefault();ev.stopPropagation();return false};Terminal.prototype.matchColor=function(r1,g1,b1){return matchColor_(r1,g1,b1)};Terminal.prototype._visualBell=function(){return false};Terminal.prototype._soundBell=function(){return this.options.bellStyle==="sound"};return Terminal}(EventEmitter_1.EventEmitter);exports.Terminal=Terminal;function globalOn(el,type,handler,capture){if(!Array.isArray(el)){el=[el]}el.forEach(function(element){element.addEventListener(type,handler,capture||false)})}var on=globalOn;function off(el,type,handler,capture){if(capture===void 0){capture=false}el.removeEventListener(type,handler,capture)}function wasMondifierKeyOnlyEvent(ev){return ev.keyCode===16||ev.keyCode===17||ev.keyCode===18}var matchColorCache={};function matchColorDistance(r1,g1,b1,r2,g2,b2){return Math.pow(30*(r1-r2),2)+Math.pow(59*(g1-g2),2)+Math.pow(11*(b1-b2),2)}function matchColor_(r1,g1,b1){var hash=r1<<16|g1<<8|b1;if(matchColorCache[hash]!=null){return matchColorCache[hash]}var ldiff=Infinity;var li=-1;var i=0;var c;var r2;var g2;var b2;var diff;for(;i<ColorManager_1.DEFAULT_ANSI_COLORS.length;i++){c=ColorManager_1.DEFAULT_ANSI_COLORS[i].rgba;r2=c>>>24;g2=c>>>16&255;b2=c>>>8&255;diff=matchColorDistance(r1,g1,b1,r2,g2,b2);if(diff===0){li=i;break}if(diff<ldiff){ldiff=diff;li=i}}return matchColorCache[hash]=li}},{"./AccessibilityManager":1,"./Buffer":2,"./BufferSet":3,"./CompositionHelper":6,"./EscapeSequences":7,"./EventEmitter":8,"./InputHandler":9,"./Linkifier":10,"./Parser":11,"./SelectionManager":12,"./SoundManager":14,"./Strings":15,"./Viewport":18,"./handlers/Clipboard":20,"./input/MouseZoneManager":21,"./renderer/ColorManager":23,"./renderer/Renderer":27,"./shared/utils/Browser":36,"./utils/CharMeasure":37,"./utils/Clone":39,"./utils/MouseHelper":41,"./utils/ScreenDprMonitor":43}],17:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var LinkHoverEventTypes;(function(LinkHoverEventTypes){LinkHoverEventTypes["HOVER"]="linkhover";LinkHoverEventTypes["TOOLTIP"]="linktooltip";LinkHoverEventTypes["LEAVE"]="linkleave"})(LinkHoverEventTypes=exports.LinkHoverEventTypes||(exports.LinkHoverEventTypes={}))},{}],18:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var FALLBACK_SCROLL_BAR_WIDTH=15;var Viewport=function(){function Viewport(_terminal,_viewportElement,_scrollArea,_charMeasure){var _this=this;this._terminal=_terminal;this._viewportElement=_viewportElement;this._scrollArea=_scrollArea;this._charMeasure=_charMeasure;this.scrollBarWidth=0;this._currentRowHeight=0;this._lastRecordedBufferLength=0;this._lastRecordedViewportHeight=0;this._lastRecordedBufferHeight=0;this._wheelPartialScroll=0;this.scrollBarWidth=this._viewportElement.offsetWidth-this._scrollArea.offsetWidth||FALLBACK_SCROLL_BAR_WIDTH;this._viewportElement.addEventListener("scroll",this._onScroll.bind(this));setTimeout(function(){return _this.syncScrollArea()},0)}Viewport.prototype.onThemeChanged=function(colors){this._viewportElement.style.backgroundColor=colors.background.css};Viewport.prototype._refresh=function(){if(this._charMeasure.height>0){this._currentRowHeight=this._terminal.renderer.dimensions.scaledCellHeight/window.devicePixelRatio;this._lastRecordedViewportHeight=this._viewportElement.offsetHeight;var newBufferHeight=Math.round(this._currentRowHeight*this._lastRecordedBufferLength)+(this._lastRecordedViewportHeight-this._terminal.renderer.dimensions.canvasHeight);if(this._lastRecordedBufferHeight!==newBufferHeight){this._lastRecordedBufferHeight=newBufferHeight;this._scrollArea.style.height=this._lastRecordedBufferHeight+"px"}}};Viewport.prototype.syncScrollArea=function(){if(this._lastRecordedBufferLength!==this._terminal.buffer.lines.length){this._lastRecordedBufferLength=this._terminal.buffer.lines.length;this._refresh()}else if(this._lastRecordedViewportHeight!==this._terminal.renderer.dimensions.canvasHeight){this._refresh()}else{if(this._terminal.renderer.dimensions.scaledCellHeight/window.devicePixelRatio!==this._currentRowHeight){this._refresh()}}var scrollTop=this._terminal.buffer.ydisp*this._currentRowHeight;if(this._viewportElement.scrollTop!==scrollTop){this._viewportElement.scrollTop=scrollTop}};Viewport.prototype._onScroll=function(ev){if(!this._viewportElement.offsetParent){return}var newRow=Math.round(this._viewportElement.scrollTop/this._currentRowHeight);var diff=newRow-this._terminal.buffer.ydisp;this._terminal.scrollLines(diff,true)};Viewport.prototype.onWheel=function(ev){var amount=this._getPixelsScrolled(ev);if(amount===0){return}this._viewportElement.scrollTop+=amount;ev.preventDefault()};Viewport.prototype._getPixelsScrolled=function(ev){if(ev.deltaY===0){return 0}var amount=ev.deltaY;if(ev.deltaMode===WheelEvent.DOM_DELTA_LINE){amount*=this._currentRowHeight}else if(ev.deltaMode===WheelEvent.DOM_DELTA_PAGE){amount*=this._currentRowHeight*this._terminal.rows}return amount};Viewport.prototype.getLinesScrolled=function(ev){if(ev.deltaY===0){return 0}var amount=ev.deltaY;if(ev.deltaMode===WheelEvent.DOM_DELTA_PIXEL){amount/=this._currentRowHeight+0;this._wheelPartialScroll+=amount;amount=Math.floor(Math.abs(this._wheelPartialScroll))*(this._wheelPartialScroll>0?1:-1);this._wheelPartialScroll%=1}else if(ev.deltaMode===WheelEvent.DOM_DELTA_PAGE){amount*=this._terminal.rows}return amount};Viewport.prototype.onTouchStart=function(ev){this._lastTouchY=ev.touches[0].pageY};Viewport.prototype.onTouchMove=function(ev){var deltaY=this._lastTouchY-ev.touches[0].pageY;this._lastTouchY=ev.touches[0].pageY;if(deltaY===0){return}this._viewportElement.scrollTop+=deltaY;ev.preventDefault()};return Viewport}();exports.Viewport=Viewport},{}],19:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var EscapeSequences_1=require("../EscapeSequences");var Direction;(function(Direction){Direction["Up"]="A";Direction["Down"]="B";Direction["Right"]="C";Direction["Left"]="D"})(Direction||(Direction={}));var AltClickHandler=function(){function AltClickHandler(_mouseEvent,_terminal){this._mouseEvent=_mouseEvent;this._terminal=_terminal;this._lines=this._terminal.buffer.lines;this._startCol=this._terminal.buffer.x;this._startRow=this._terminal.buffer.y;_a=this._terminal.mouseHelper.getCoords(this._mouseEvent,this._terminal.element,this._terminal.charMeasure,this._terminal.options.lineHeight,this._terminal.cols,this._terminal.rows,false).map(function(coordinate){return coordinate-1}),this._endCol=_a[0],this._endRow=_a[1];var _a}AltClickHandler.prototype.move=function(){if(this._mouseEvent.altKey){this._terminal.send(this._arrowSequences())}};AltClickHandler.prototype._arrowSequences=function(){if(!this._terminal.buffer.hasScrollback){return this._resetStartingRow()+this._moveToRequestedRow()+this._moveToRequestedCol()}return this._moveHorizontallyOnly()};AltClickHandler.prototype._resetStartingRow=function(){if(this._moveToRequestedRow().length===0){return""}else{return repeat(this._bufferLine(this._startCol,this._startRow,this._startCol,this._startRow-this._wrappedRowsForRow(this._startRow),false).length,this._sequence(Direction.Left))}};AltClickHandler.prototype._moveToRequestedRow=function(){var startRow=this._startRow-this._wrappedRowsForRow(this._startRow);var endRow=this._endRow-this._wrappedRowsForRow(this._endRow);var rowsToMove=Math.abs(startRow-endRow)-this._wrappedRowsCount();return repeat(rowsToMove,this._sequence(this._verticalDirection()))};AltClickHandler.prototype._moveToRequestedCol=function(){var startRow;if(this._moveToRequestedRow().length>0){startRow=this._endRow-this._wrappedRowsForRow(this._endRow)}else{startRow=this._startRow}var endRow=this._endRow;var direction=this._horizontalDirection();return repeat(this._bufferLine(this._startCol,startRow,this._endCol,endRow,direction===Direction.Right).length,this._sequence(direction))};AltClickHandler.prototype._moveHorizontallyOnly=function(){var direction=this._horizontalDirection();return repeat(Math.abs(this._startCol-this._endCol),this._sequence(direction))};AltClickHandler.prototype._wrappedRowsCount=function(){var wrappedRows=0;var startRow=this._startRow-this._wrappedRowsForRow(this._startRow);var endRow=this._endRow-this._wrappedRowsForRow(this._endRow);for(var i=0;i<Math.abs(startRow-endRow);i++){var direction=this._verticalDirection()===Direction.Up?-1:1;if(this._lines.get(startRow+direction*i).isWrapped){wrappedRows++}}return wrappedRows};AltClickHandler.prototype._wrappedRowsForRow=function(currentRow){var rowCount=0;var lineWraps=this._lines.get(currentRow).isWrapped;while(lineWraps&¤tRow>=0&¤tRow<this._terminal.rows){rowCount++;currentRow--;lineWraps=this._lines.get(currentRow).isWrapped}return rowCount};AltClickHandler.prototype._horizontalDirection=function(){var startRow;if(this._moveToRequestedRow().length>0){startRow=this._endRow-this._wrappedRowsForRow(this._endRow)}else{startRow=this._startRow}if(this._startCol<this._endCol&&startRow<=this._endRow||this._startCol>=this._endCol&&startRow<this._endRow){return Direction.Right}else{return Direction.Left}};AltClickHandler.prototype._verticalDirection=function(){if(this._startRow>this._endRow){return Direction.Up}else{return Direction.Down}};AltClickHandler.prototype._bufferLine=function(startCol,startRow,endCol,endRow,forward){var currentCol=startCol;var currentRow=startRow;var bufferStr="";while(currentCol!==endCol||currentRow!==endRow){currentCol+=forward?1:-1;if(forward&¤tCol>this._terminal.cols-1){bufferStr+=this._terminal.buffer.translateBufferLineToString(currentRow,false,startCol,currentCol);currentCol=0;startCol=0;currentRow++}else if(!forward&¤tCol<0){bufferStr+=this._terminal.buffer.translateBufferLineToString(currentRow,false,0,startCol+1);currentCol=this._terminal.cols-1;startCol=currentCol;currentRow--}}return bufferStr+this._terminal.buffer.translateBufferLineToString(currentRow,false,startCol,currentCol)};AltClickHandler.prototype._sequence=function(direction){var mod=this._terminal.applicationCursor?"O":"[";return EscapeSequences_1.C0.ESC+mod+direction};return AltClickHandler}();exports.AltClickHandler=AltClickHandler;function repeat(count,str){count=Math.floor(count);var rpt="";for(var i=0;i<count;i++){rpt+=str}return rpt}},{"../EscapeSequences":7}],20:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});function prepareTextForTerminal(text){return text.replace(/\r?\n/g,"\r")}exports.prepareTextForTerminal=prepareTextForTerminal;function bracketTextForPaste(text,bracketedPasteMode){if(bracketedPasteMode){return"[200~"+text+"[201~"}return text}exports.bracketTextForPaste=bracketTextForPaste;function copyHandler(ev,term,selectionManager){if(term.browser.isMSIE){window.clipboardData.setData("Text",selectionManager.selectionText)}else{ev.clipboardData.setData("text/plain",selectionManager.selectionText)}ev.preventDefault()}exports.copyHandler=copyHandler;function pasteHandler(ev,term){ev.stopPropagation();var text;var dispatchPaste=function(text){text=prepareTextForTerminal(text);text=bracketTextForPaste(text,term.bracketedPasteMode);term.handler(text);term.textarea.value="";term.emit("paste",text);term.cancel(ev)};if(term.browser.isMSIE){if(window.clipboardData){text=window.clipboardData.getData("Text");dispatchPaste(text)}}else{if(ev.clipboardData){text=ev.clipboardData.getData("text/plain");dispatchPaste(text)}}}exports.pasteHandler=pasteHandler;function moveTextAreaUnderMouseCursor(ev,textarea){textarea.style.position="fixed";textarea.style.width="20px";textarea.style.height="20px";textarea.style.left=ev.clientX-10+"px";textarea.style.top=ev.clientY-10+"px";textarea.style.zIndex="1000";textarea.focus();setTimeout(function(){textarea.style.position=null;textarea.style.width=null;textarea.style.height=null;textarea.style.left=null;textarea.style.top=null;textarea.style.zIndex=null},200)}exports.moveTextAreaUnderMouseCursor=moveTextAreaUnderMouseCursor;function rightClickHandler(ev,textarea,selectionManager,shouldSelectWord){moveTextAreaUnderMouseCursor(ev,textarea);if(shouldSelectWord&&!selectionManager.isClickInSelection(ev)){selectionManager.selectWordAtCursor(ev)}textarea.value=selectionManager.selectionText;textarea.select()}exports.rightClickHandler=rightClickHandler},{}],21:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var HOVER_DURATION=500;var MouseZoneManager=function(){function MouseZoneManager(_terminal){var _this=this;this._terminal=_terminal;this._zones=[];this._areZonesActive=false;this._tooltipTimeout=null;this._currentZone=null;this._lastHoverCoords=[null,null];this._terminal.element.addEventListener("mousedown",function(e){return _this._onMouseDown(e)});this._mouseMoveListener=function(e){return _this._onMouseMove(e)};this._clickListener=function(e){return _this._onClick(e)}}MouseZoneManager.prototype.add=function(zone){this._zones.push(zone);if(this._zones.length===1){this._activate()}};MouseZoneManager.prototype.clearAll=function(start,end){if(this._zones.length===0){return}if(!end){start=0;end=this._terminal.rows-1}for(var i=0;i<this._zones.length;i++){var zone=this._zones[i];if(zone.y1>start&&zone.y1<=end+1||zone.y2>start&&zone.y2<=end+1||zone.y1<start&&zone.y2>end+1){if(this._currentZone&&this._currentZone===zone){this._currentZone.leaveCallback();this._currentZone=null}this._zones.splice(i--,1)}}if(this._zones.length===0){this._deactivate()}};MouseZoneManager.prototype._activate=function(){if(!this._areZonesActive){this._areZonesActive=true;this._terminal.element.addEventListener("mousemove",this._mouseMoveListener);this._terminal.element.addEventListener("click",this._clickListener)}};MouseZoneManager.prototype._deactivate=function(){if(this._areZonesActive){this._areZonesActive=false;this._terminal.element.removeEventListener("mousemove",this._mouseMoveListener);this._terminal.element.removeEventListener("click",this._clickListener)}};MouseZoneManager.prototype._onMouseMove=function(e){if(this._lastHoverCoords[0]!==e.pageX||this._lastHoverCoords[1]!==e.pageY){this._onHover(e);this._lastHoverCoords=[e.pageX,e.pageY]}};MouseZoneManager.prototype._onHover=function(e){var _this=this;var zone=this._findZoneEventAt(e);if(zone===this._currentZone){return}if(this._currentZone){this._currentZone.leaveCallback();this._currentZone=null;if(this._tooltipTimeout){clearTimeout(this._tooltipTimeout)}}if(!zone){return}this._currentZone=zone;if(zone.hoverCallback){zone.hoverCallback(e)}this._tooltipTimeout=setTimeout(function(){return _this._onTooltip(e)},HOVER_DURATION)};MouseZoneManager.prototype._onTooltip=function(e){this._tooltipTimeout=null;var zone=this._findZoneEventAt(e);if(zone&&zone.tooltipCallback){zone.tooltipCallback(e)}};MouseZoneManager.prototype._onMouseDown=function(e){if(!this._areZonesActive){return}var zone=this._findZoneEventAt(e);if(zone){if(zone.willLinkActivate(e)){e.preventDefault();e.stopImmediatePropagation()}}};MouseZoneManager.prototype._onClick=function(e){var zone=this._findZoneEventAt(e);if(zone){zone.clickCallback(e);e.preventDefault();e.stopImmediatePropagation()}};MouseZoneManager.prototype._findZoneEventAt=function(e){var coords=this._terminal.mouseHelper.getCoords(e,this._terminal.screenElement,this._terminal.charMeasure,this._terminal.options.lineHeight,this._terminal.cols,this._terminal.rows);if(!coords){return null}var x=coords[0];var y=coords[1];for(var i=0;i<this._zones.length;i++){var zone=this._zones[i];if(zone.y1===zone.y2){if(y===zone.y1&&x>=zone.x1&&x<zone.x2){return zone}}else{if(y===zone.y1&&x>=zone.x1||y===zone.y2&&x<zone.x2||y>zone.y1&&y<zone.y2){return zone}}}return null};return MouseZoneManager}();exports.MouseZoneManager=MouseZoneManager;var MouseZone=function(){function MouseZone(x1,y1,x2,y2,clickCallback,hoverCallback,tooltipCallback,leaveCallback,willLinkActivate){this.x1=x1;this.y1=y1;this.x2=x2;this.y2=y2;this.clickCallback=clickCallback;this.hoverCallback=hoverCallback;this.tooltipCallback=tooltipCallback;this.leaveCallback=leaveCallback;this.willLinkActivate=willLinkActivate}return MouseZone}();exports.MouseZone=MouseZone},{}],22:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var Types_1=require("./atlas/Types");var Types_2=require("../shared/atlas/Types");var CharAtlas_1=require("./atlas/CharAtlas");var Buffer_1=require("../Buffer");var BaseRenderLayer=function(){function BaseRenderLayer(_container,id,zIndex,_alpha,_colors){this._container=_container;this._alpha=_alpha;this._colors=_colors;this._scaledCharWidth=0;this._scaledCharHeight=0;this._scaledCellWidth=0;this._scaledCellHeight=0;this._scaledCharLeft=0;this._scaledCharTop=0;this._canvas=document.createElement("canvas");this._canvas.classList.add("xterm-"+id+"-layer");this._canvas.style.zIndex=zIndex.toString();this._initCanvas();this._container.appendChild(this._canvas)}BaseRenderLayer.prototype._initCanvas=function(){this._ctx=this._canvas.getContext("2d",{alpha:this._alpha});if(!this._alpha){this.clearAll()}};BaseRenderLayer.prototype.onOptionsChanged=function(terminal){};BaseRenderLayer.prototype.onBlur=function(terminal){};BaseRenderLayer.prototype.onFocus=function(terminal){};BaseRenderLayer.prototype.onCursorMove=function(terminal){};BaseRenderLayer.prototype.onGridChanged=function(terminal,startRow,endRow){};BaseRenderLayer.prototype.onSelectionChanged=function(terminal,start,end){};BaseRenderLayer.prototype.onThemeChanged=function(terminal,colorSet){this._refreshCharAtlas(terminal,colorSet)};BaseRenderLayer.prototype.setTransparency=function(terminal,alpha){if(alpha===this._alpha){return}var oldCanvas=this._canvas;this._alpha=alpha;this._canvas=this._canvas.cloneNode();this._initCanvas();this._container.replaceChild(this._canvas,oldCanvas);this._refreshCharAtlas(terminal,this._colors);this.onGridChanged(terminal,0,terminal.rows-1)};BaseRenderLayer.prototype._refreshCharAtlas=function(terminal,colorSet){var _this=this;if(this._scaledCharWidth<=0&&this._scaledCharHeight<=0){return}this._charAtlas=null;var result=CharAtlas_1.acquireCharAtlas(terminal,colorSet,this._scaledCharWidth,this._scaledCharHeight);if(result instanceof HTMLCanvasElement){this._charAtlas=result}else{result.then(function(bitmap){return _this._charAtlas=bitmap})}};BaseRenderLayer.prototype.resize=function(terminal,dim){this._scaledCellWidth=dim.scaledCellWidth;this._scaledCellHeight=dim.scaledCellHeight;this._scaledCharWidth=dim.scaledCharWidth;this._scaledCharHeight=dim.scaledCharHeight;this._scaledCharLeft=dim.scaledCharLeft;this._scaledCharTop=dim.scaledCharTop;this._canvas.width=dim.scaledCanvasWidth;this._canvas.height=dim.scaledCanvasHeight;this._canvas.style.width=dim.canvasWidth+"px";this._canvas.style.height=dim.canvasHeight+"px";if(!this._alpha){this.clearAll()}this._refreshCharAtlas(terminal,this._colors)};BaseRenderLayer.prototype.fillCells=function(x,y,width,height){this._ctx.fillRect(x*this._scaledCellWidth,y*this._scaledCellHeight,width*this._scaledCellWidth,height*this._scaledCellHeight)};BaseRenderLayer.prototype.fillBottomLineAtCells=function(x,y,width){if(width===void 0){width=1}this._ctx.fillRect(x*this._scaledCellWidth,(y+1)*this._scaledCellHeight-window.devicePixelRatio-1,width*this._scaledCellWidth,window.devicePixelRatio)};BaseRenderLayer.prototype.fillLeftLineAtCell=function(x,y){this._ctx.fillRect(x*this._scaledCellWidth,y*this._scaledCellHeight,window.devicePixelRatio,this._scaledCellHeight)};BaseRenderLayer.prototype.strokeRectAtCell=function(x,y,width,height){this._ctx.lineWidth=window.devicePixelRatio;this._ctx.strokeRect(x*this._scaledCellWidth+window.devicePixelRatio/2,y*this._scaledCellHeight+window.devicePixelRatio/2,width*this._scaledCellWidth-window.devicePixelRatio,height*this._scaledCellHeight-window.devicePixelRatio)};BaseRenderLayer.prototype.clearAll=function(){if(this._alpha){this._ctx.clearRect(0,0,this._canvas.width,this._canvas.height)}else{this._ctx.fillStyle=this._colors.background.css;this._ctx.fillRect(0,0,this._canvas.width,this._canvas.height)}};BaseRenderLayer.prototype.clearCells=function(x,y,width,height){if(this._alpha){this._ctx.clearRect(x*this._scaledCellWidth,y*this._scaledCellHeight,width*this._scaledCellWidth,height*this._scaledCellHeight)}else{this._ctx.fillStyle=this._colors.background.css;this._ctx.fillRect(x*this._scaledCellWidth,y*this._scaledCellHeight,width*this._scaledCellWidth,height*this._scaledCellHeight)}};BaseRenderLayer.prototype.fillCharTrueColor=function(terminal,charData,x,y){this._ctx.font=this._getFont(terminal,false);this._ctx.textBaseline="top";this._clipRow(terminal,y);this._ctx.fillText(charData[Buffer_1.CHAR_DATA_CHAR_INDEX],x*this._scaledCellWidth+this._scaledCharLeft,y*this._scaledCellHeight+this._scaledCharTop)};BaseRenderLayer.prototype.drawChar=function(terminal,char,code,width,x,y,fg,bg,bold,dim){var colorIndex=0;if(fg<256){colorIndex=fg+2}else{if(bold&&terminal.options.enableBold){colorIndex=1}}var isAscii=code<256;var isBasicColor=colorIndex>1&&fg<16&&(fg<8||bold);var isDefaultColor=fg>=256;var isDefaultBackground=bg>=256;if(this._charAtlas&&isAscii&&(isBasicColor||isDefaultColor)&&isDefaultBackground){var charAtlasCellWidth=this._scaledCharWidth+Types_2.CHAR_ATLAS_CELL_SPACING;var charAtlasCellHeight=this._scaledCharHeight+Types_2.CHAR_ATLAS_CELL_SPACING;if(dim){this._ctx.globalAlpha=Types_1.DIM_OPACITY}if(bold&&!terminal.options.enableBold){if(colorIndex>1){colorIndex-=8}}this._ctx.drawImage(this._charAtlas,code*charAtlasCellWidth,colorIndex*charAtlasCellHeight,charAtlasCellWidth,this._scaledCharHeight,x*this._scaledCellWidth+this._scaledCharLeft,y*this._scaledCellHeight+this._scaledCharTop,charAtlasCellWidth,this._scaledCharHeight)}else{this._drawUncachedChar(terminal,char,width,fg,x,y,bold&&terminal.options.enableBold,dim)}};BaseRenderLayer.prototype._drawUncachedChar=function(terminal,char,width,fg,x,y,bold,dim){this._ctx.save();this._ctx.font=this._getFont(terminal,bold);this._ctx.textBaseline="top";if(fg===Types_1.INVERTED_DEFAULT_COLOR){this._ctx.fillStyle=this._colors.background.css}else if(fg<256){this._ctx.fillStyle=this._colors.ansi[fg].css}else{this._ctx.fillStyle=this._colors.foreground.css}this._clipRow(terminal,y);if(dim){this._ctx.globalAlpha=Types_1.DIM_OPACITY}this._ctx.fillText(char,x*this._scaledCellWidth+this._scaledCharLeft,y*this._scaledCellHeight+this._scaledCharTop);this._ctx.restore()};BaseRenderLayer.prototype._clipRow=function(terminal,y){this._ctx.beginPath();this._ctx.rect(0,y*this._scaledCellHeight,terminal.cols*this._scaledCellWidth,this._scaledCellHeight);this._ctx.clip()};BaseRenderLayer.prototype._getFont=function(terminal,isBold){var fontWeight=isBold?terminal.options.fontWeightBold:terminal.options.fontWeight;return fontWeight+" "+terminal.options.fontSize*window.devicePixelRatio+"px "+terminal.options.fontFamily};return BaseRenderLayer}();exports.BaseRenderLayer=BaseRenderLayer},{"../Buffer":2,"../shared/atlas/Types":35,"./atlas/CharAtlas":31,"./atlas/Types":33}],23:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var DEFAULT_FOREGROUND=fromHex("#ffffff");var DEFAULT_BACKGROUND=fromHex("#000000");var DEFAULT_CURSOR=fromHex("#ffffff");var DEFAULT_CURSOR_ACCENT=fromHex("#000000");var DEFAULT_SELECTION={css:"rgba(255, 255, 255, 0.3)",rgba:4294967159};exports.DEFAULT_ANSI_COLORS=function(){var colors=[fromHex("#2e3436"),fromHex("#cc0000"),fromHex("#4e9a06"),fromHex("#c4a000"),fromHex("#3465a4"),fromHex("#75507b"),fromHex("#06989a"),fromHex("#d3d7cf"),fromHex("#555753"),fromHex("#ef2929"),fromHex("#8ae234"),fromHex("#fce94f"),fromHex("#729fcf"),fromHex("#ad7fa8"),fromHex("#34e2e2"),fromHex("#eeeeec")];var v=[0,95,135,175,215,255];for(var i=0;i<216;i++){var r=v[i/36%6|0];var g=v[i/6%6|0];var b=v[i%6];colors.push({css:"#"+toPaddedHex(r)+toPaddedHex(g)+toPaddedHex(b),rgba:(r<<24|g<<16|b<<8|255)>>>0})}for(var i=0;i<24;i++){var c=8+i*10;var ch=toPaddedHex(c);colors.push({css:"#"+ch+ch+ch,rgba:(c<<24|c<<16|c<<8|255)>>>0})}return colors}();function fromHex(css){return{css:css,rgba:parseInt(css.slice(1),16)<<8|255}}function toPaddedHex(c){var s=c.toString(16);return s.length<2?"0"+s:s}var ColorManager=function(){function ColorManager(document,allowTransparency){this.allowTransparency=allowTransparency;var canvas=document.createElement("canvas");canvas.width=1;canvas.height=1;this._ctx=canvas.getContext("2d");this._ctx.globalCompositeOperation="copy";this._litmusColor=this._ctx.createLinearGradient(0,0,1,1);this.colors={foreground:DEFAULT_FOREGROUND,background:DEFAULT_BACKGROUND,cursor:DEFAULT_CURSOR,cursorAccent:DEFAULT_CURSOR_ACCENT,selection:DEFAULT_SELECTION,ansi:exports.DEFAULT_ANSI_COLORS.slice()}}ColorManager.prototype.setTheme=function(theme){this.colors.foreground=this._parseColor(theme.foreground,DEFAULT_FOREGROUND);this.colors.background=this._parseColor(theme.background,DEFAULT_BACKGROUND);this.colors.cursor=this._parseColor(theme.cursor,DEFAULT_CURSOR,true);this.colors.cursorAccent=this._parseColor(theme.cursorAccent,DEFAULT_CURSOR_ACCENT,true);this.colors.selection=this._parseColor(theme.selection,DEFAULT_SELECTION,true);this.colors.ansi[0]=this._parseColor(theme.black,exports.DEFAULT_ANSI_COLORS[0]);this.colors.ansi[1]=this._parseColor(theme.red,exports.DEFAULT_ANSI_COLORS[1]);this.colors.ansi[2]=this._parseColor(theme.green,exports.DEFAULT_ANSI_COLORS[2]);this.colors.ansi[3]=this._parseColor(theme.yellow,exports.DEFAULT_ANSI_COLORS[3]);this.colors.ansi[4]=this._parseColor(theme.blue,exports.DEFAULT_ANSI_COLORS[4]);this.colors.ansi[5]=this._parseColor(theme.magenta,exports.DEFAULT_ANSI_COLORS[5]);this.colors.ansi[6]=this._parseColor(theme.cyan,exports.DEFAULT_ANSI_COLORS[6]);this.colors.ansi[7]=this._parseColor(theme.white,exports.DEFAULT_ANSI_COLORS[7]);this.colors.ansi[8]=this._parseColor(theme.brightBlack,exports.DEFAULT_ANSI_COLORS[8]);this.colors.ansi[9]=this._parseColor(theme.brightRed,exports.DEFAULT_ANSI_COLORS[9]);this.colors.ansi[10]=this._parseColor(theme.brightGreen,exports.DEFAULT_ANSI_COLORS[10]);this.colors.ansi[11]=this._parseColor(theme.brightYellow,exports.DEFAULT_ANSI_COLORS[11]);this.colors.ansi[12]=this._parseColor(theme.brightBlue,exports.DEFAULT_ANSI_COLORS[12]);this.colors.ansi[13]=this._parseColor(theme.brightMagenta,exports.DEFAULT_ANSI_COLORS[13]);this.colors.ansi[14]=this._parseColor(theme.brightCyan,exports.DEFAULT_ANSI_COLORS[14]);this.colors.ansi[15]=this._parseColor(theme.brightWhite,exports.DEFAULT_ANSI_COLORS[15])};ColorManager.prototype._parseColor=function(css,fallback,allowTransparency){if(allowTransparency===void 0){allowTransparency=this.allowTransparency}if(!css){return fallback}this._ctx.fillStyle=this._litmusColor;this._ctx.fillStyle=css;if(typeof this._ctx.fillStyle!=="string"){console.warn("Color: "+css+" is invalid using fallback "+fallback.css);return fallback}this._ctx.fillRect(0,0,1,1);var data=this._ctx.getImageData(0,0,1,1).data;if(!allowTransparency&&data[3]!==255){console.warn("Color: "+css+" is using transparency, but allowTransparency is false. "+("Using fallback "+fallback.css+"."));return fallback}return{css:css,rgba:(data[0]<<24|data[1]<<16|data[2]<<8|data[3])>>>0}};return ColorManager}();exports.ColorManager=ColorManager},{}],24:[function(require,module,exports){"use strict";var __extends=this&&this.__extends||function(){var extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(d,b){d.__proto__=b}||function(d,b){for(var p in b)if(b.hasOwnProperty(p))d[p]=b[p]};return function(d,b){extendStatics(d,b);function __(){this.constructor=d}d.prototype=b===null?Object.create(b):(__.prototype=b.prototype,new __)}}();Object.defineProperty(exports,"__esModule",{value:true});var Buffer_1=require("../Buffer");var BaseRenderLayer_1=require("./BaseRenderLayer");var BLINK_INTERVAL=600;var CursorRenderLayer=function(_super){__extends(CursorRenderLayer,_super);function CursorRenderLayer(container,zIndex,colors){var _this=_super.call(this,container,"cursor",zIndex,true,colors)||this;_this._state={x:null,y:null,isFocused:null,style:null,width:null};_this._cursorRenderers={bar:_this._renderBarCursor.bind(_this),block:_this._renderBlockCursor.bind(_this),underline:_this._renderUnderlineCursor.bind(_this)};return _this}CursorRenderLayer.prototype.resize=function(terminal,dim){_super.prototype.resize.call(this,terminal,dim);this._state={x:null,y:null,isFocused:null,style:null,width:null}};CursorRenderLayer.prototype.reset=function(terminal){this._clearCursor();if(this._cursorBlinkStateManager){this._cursorBlinkStateManager.dispose();this._cursorBlinkStateManager=null;this.onOptionsChanged(terminal)}};CursorRenderLayer.prototype.onBlur=function(terminal){if(this._cursorBlinkStateManager){this._cursorBlinkStateManager.pause()}terminal.refresh(terminal.buffer.y,terminal.buffer.y)};CursorRenderLayer.prototype.onFocus=function(terminal){if(this._cursorBlinkStateManager){this._cursorBlinkStateManager.resume(terminal)}else{terminal.refresh(terminal.buffer.y,terminal.buffer.y)}};CursorRenderLayer.prototype.onOptionsChanged=function(terminal){var _this=this;if(terminal.options.cursorBlink){if(!this._cursorBlinkStateManager){this._cursorBlinkStateManager=new CursorBlinkStateManager(terminal,function(){_this._render(terminal,true)})}}else{if(this._cursorBlinkStateManager){this._cursorBlinkStateManager.dispose();this._cursorBlinkStateManager=null}terminal.refresh(terminal.buffer.y,terminal.buffer.y)}};CursorRenderLayer.prototype.onCursorMove=function(terminal){if(this._cursorBlinkStateManager){this._cursorBlinkStateManager.restartBlinkAnimation(terminal)}};CursorRenderLayer.prototype.onGridChanged=function(terminal,startRow,endRow){if(!this._cursorBlinkStateManager||this._cursorBlinkStateManager.isPaused){this._render(terminal,false)}else{this._cursorBlinkStateManager.restartBlinkAnimation(terminal)}};CursorRenderLayer.prototype._render=function(terminal,triggeredByAnimationFrame){if(!terminal.cursorState||terminal.cursorHidden){this._clearCursor();return}var cursorY=terminal.buffer.ybase+terminal.buffer.y;var viewportRelativeCursorY=cursorY-terminal.buffer.ydisp;if(viewportRelativeCursorY<0||viewportRelativeCursorY>=terminal.rows){this._clearCursor();return}var charData=terminal.buffer.lines.get(cursorY)[terminal.buffer.x];if(!charData){return}if(!terminal.isFocused){this._clearCursor();this._ctx.save();this._ctx.fillStyle=this._colors.cursor.css;this._renderBlurCursor(terminal,terminal.buffer.x,viewportRelativeCursorY,charData);this._ctx.restore();this._state.x=terminal.buffer.x;this._state.y=viewportRelativeCursorY;this._state.isFocused=false;this._state.style=terminal.options.cursorStyle;this._state.width=charData[Buffer_1.CHAR_DATA_WIDTH_INDEX];return}if(this._cursorBlinkStateManager&&!this._cursorBlinkStateManager.isCursorVisible){this._clearCursor();return}if(this._state){if(this._state.x===terminal.buffer.x&&this._state.y===viewportRelativeCursorY&&this._state.isFocused===terminal.isFocused&&this._state.style===terminal.options.cursorStyle&&this._state.width===charData[Buffer_1.CHAR_DATA_WIDTH_INDEX]){return}this._clearCursor()}this._ctx.save();this._cursorRenderers[terminal.options.cursorStyle||"block"](terminal,terminal.buffer.x,viewportRelativeCursorY,charData);this._ctx.restore();this._state.x=terminal.buffer.x;this._state.y=viewportRelativeCursorY;this._state.isFocused=false;this._state.style=terminal.options.cursorStyle;this._state.width=charData[Buffer_1.CHAR_DATA_WIDTH_INDEX]};CursorRenderLayer.prototype._clearCursor=function(){if(this._state){this.clearCells(this._state.x,this._state.y,this._state.width,1);this._state={x:null,y:null,isFocused:null,style:null,width:null}}};CursorRenderLayer.prototype._renderBarCursor=function(terminal,x,y,charData){this._ctx.save();this._ctx.fillStyle=this._colors.cursor.css;this.fillLeftLineAtCell(x,y);this._ctx.restore()};CursorRenderLayer.prototype._renderBlockCursor=function(terminal,x,y,charData){this._ctx.save();this._ctx.fillStyle=this._colors.cursor.css;this.fillCells(x,y,charData[Buffer_1.CHAR_DATA_WIDTH_INDEX],1);this._ctx.fillStyle=this._colors.cursorAccent.css;this.fillCharTrueColor(terminal,charData,x,y);this._ctx.restore()};CursorRenderLayer.prototype._renderUnderlineCursor=function(terminal,x,y,charData){this._ctx.save();this._ctx.fillStyle=this._colors.cursor.css;this.fillBottomLineAtCells(x,y);this._ctx.restore()};CursorRenderLayer.prototype._renderBlurCursor=function(terminal,x,y,charData){this._ctx.save();this._ctx.strokeStyle=this._colors.cursor.css;this.strokeRectAtCell(x,y,charData[Buffer_1.CHAR_DATA_WIDTH_INDEX],1);this._ctx.restore()};return CursorRenderLayer}(BaseRenderLayer_1.BaseRenderLayer);exports.CursorRenderLayer=CursorRenderLayer;var CursorBlinkStateManager=function(){function CursorBlinkStateManager(terminal,_renderCallback){this._renderCallback=_renderCallback;this.isCursorVisible=true;if(terminal.isFocused){this._restartInterval()}}Object.defineProperty(CursorBlinkStateManager.prototype,"isPaused",{get:function(){return!(this._blinkStartTimeout||this._blinkInterval)},enumerable:true,configurable:true});CursorBlinkStateManager.prototype.dispose=function(){if(this._blinkInterval){window.clearInterval(this._blinkInterval);this._blinkInterval=null}if(this._blinkStartTimeout){window.clearTimeout(this._blinkStartTimeout);this._blinkStartTimeout=null}if(this._animationFrame){window.cancelAnimationFrame(this._animationFrame);this._animationFrame=null}};CursorBlinkStateManager.prototype.restartBlinkAnimation=function(terminal){var _this=this;if(this.isPaused){return}this._animationTimeRestarted=Date.now();this.isCursorVisible=true;if(!this._animationFrame){this._animationFrame=window.requestAnimationFrame(function(){_this._renderCallback();_this._animationFrame=null})}};CursorBlinkStateManager.prototype._restartInterval=function(timeToStart){var _this=this;if(timeToStart===void 0){timeToStart=BLINK_INTERVAL}if(this._blinkInterval){window.clearInterval(this._blinkInterval)}this._blinkStartTimeout=setTimeout(function(){if(_this._animationTimeRestarted){var time=BLINK_INTERVAL-(Date.now()-_this._animationTimeRestarted);_this._animationTimeRestarted=null;if(time>0){_this._restartInterval(time);return}}_this.isCursorVisible=false;_this._animationFrame=window.requestAnimationFrame(function(){_this._renderCallback();_this._animationFrame=null});_this._blinkInterval=setInterval(function(){if(_this._animationTimeRestarted){var time=BLINK_INTERVAL-(Date.now()-_this._animationTimeRestarted);_this._animationTimeRestarted=null;_this._restartInterval(time);return}_this.isCursorVisible=!_this.isCursorVisible;_this._animationFrame=window.requestAnimationFrame(function(){_this._renderCallback();_this._animationFrame=null})},BLINK_INTERVAL)},timeToStart)};CursorBlinkStateManager.prototype.pause=function(){this.isCursorVisible=true;if(this._blinkInterval){window.clearInterval(this._blinkInterval);this._blinkInterval=null}if(this._blinkStartTimeout){window.clearTimeout(this._blinkStartTimeout);this._blinkStartTimeout=null}if(this._animationFrame){window.cancelAnimationFrame(this._animationFrame);this._animationFrame=null}};CursorBlinkStateManager.prototype.resume=function(terminal){this._animationTimeRestarted=null;this._restartInterval();this.restartBlinkAnimation(terminal)};return CursorBlinkStateManager}()},{"../Buffer":2,"./BaseRenderLayer":22}],25:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var GridCache=function(){function GridCache(){this.cache=[]}GridCache.prototype.resize=function(width,height){for(var x=0;x<width;x++){if(this.cache.length<=x){this.cache.push([])}for(var y=this.cache[x].length;y<height;y++){this.cache[x].push(null)}this.cache[x].length=height}this.cache.length=width};GridCache.prototype.clear=function(){for(var x=0;x<this.cache.length;x++){for(var y=0;y<this.cache[x].length;y++){this.cache[x][y]=null}}};return GridCache}();exports.GridCache=GridCache},{}],26:[function(require,module,exports){"use strict";var __extends=this&&this.__extends||function(){var extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(d,b){d.__proto__=b}||function(d,b){for(var p in b)if(b.hasOwnProperty(p))d[p]=b[p]};return function(d,b){extendStatics(d,b);function __(){this.constructor=d}d.prototype=b===null?Object.create(b):(__.prototype=b.prototype,new __)}}();Object.defineProperty(exports,"__esModule",{value:true});var Types_1=require("../Types");var BaseRenderLayer_1=require("./BaseRenderLayer");var LinkRenderLayer=function(_super){__extends(LinkRenderLayer,_super);function LinkRenderLayer(container,zIndex,colors,terminal){var _this=_super.call(this,container,"link",zIndex,true,colors)||this;_this._state=null;terminal.linkifier.on(Types_1.LinkHoverEventTypes.HOVER,function(e){return _this._onLinkHover(e)});terminal.linkifier.on(Types_1.LinkHoverEventTypes.LEAVE,function(e){return _this._onLinkLeave(e)});return _this}LinkRenderLayer.prototype.resize=function(terminal,dim){_super.prototype.resize.call(this,terminal,dim);this._state=null};LinkRenderLayer.prototype.reset=function(terminal){this._clearCurrentLink()};LinkRenderLayer.prototype._clearCurrentLink=function(){if(this._state){this.clearCells(this._state.x1,this._state.y1,this._state.cols-this._state.x1,1);var middleRowCount=this._state.y2-this._state.y1-1;if(middleRowCount>0){this.clearCells(0,this._state.y1+1,this._state.cols,middleRowCount)}this.clearCells(0,this._state.y2,this._state.x2,1);this._state=null}};LinkRenderLayer.prototype._onLinkHover=function(e){this._ctx.fillStyle=this._colors.foreground.css;if(e.y1===e.y2){this.fillBottomLineAtCells(e.x1,e.y1,e.x2-e.x1)}else{this.fillBottomLineAtCells(e.x1,e.y1,e.cols-e.x1);for(var y=e.y1+1;y<e.y2;y++){this.fillBottomLineAtCells(0,y,e.cols)}this.fillBottomLineAtCells(0,e.y2,e.x2)}this._state=e};LinkRenderLayer.prototype._onLinkLeave=function(e){this._clearCurrentLink()};return LinkRenderLayer}(BaseRenderLayer_1.BaseRenderLayer);exports.LinkRenderLayer=LinkRenderLayer},{"../Types":17,"./BaseRenderLayer":22}],27:[function(require,module,exports){"use strict";var __extends=this&&this.__extends||function(){var extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(d,b){d.__proto__=b}||function(d,b){for(var p in b)if(b.hasOwnProperty(p))d[p]=b[p]};return function(d,b){extendStatics(d,b);function __(){this.constructor=d}d.prototype=b===null?Object.create(b):(__.prototype=b.prototype,new __)}}();Object.defineProperty(exports,"__esModule",{value:true});var TextRenderLayer_1=require("./TextRenderLayer");var SelectionRenderLayer_1=require("./SelectionRenderLayer");var CursorRenderLayer_1=require("./CursorRenderLayer");var ColorManager_1=require("./ColorManager");var LinkRenderLayer_1=require("./LinkRenderLayer");var EventEmitter_1=require("../EventEmitter");var RenderDebouncer_1=require("../utils/RenderDebouncer");var ScreenDprMonitor_1=require("../utils/ScreenDprMonitor");var Renderer=function(_super){__extends(Renderer,_super);function Renderer(_terminal,theme){var _this=_super.call(this)||this;_this._terminal=_terminal;_this._isPaused=false;_this._needsFullRefresh=false;var allowTransparency=_this._terminal.options.allowTransparency;_this.colorManager=new ColorManager_1.ColorManager(document,allowTransparency);if(theme){_this.colorManager.setTheme(theme)}_this._renderLayers=[new TextRenderLayer_1.TextRenderLayer(_this._terminal.screenElement,0,_this.colorManager.colors,allowTransparency),new SelectionRenderLayer_1.SelectionRenderLayer(_this._terminal.screenElement,1,_this.colorManager.colors),new LinkRenderLayer_1.LinkRenderLayer(_this._terminal.screenElement,2,_this.colorManager.colors,_this._terminal),new CursorRenderLayer_1.CursorRenderLayer(_this._terminal.screenElement,3,_this.colorManager.colors)];_this.dimensions={scaledCharWidth:null,scaledCharHeight:null,scaledCellWidth:null,scaledCellHeight:null,scaledCharLeft:null,scaledCharTop:null,scaledCanvasWidth:null,scaledCanvasHeight:null,canvasWidth:null,canvasHeight:null,actualCellWidth:null,actualCellHeight:null};_this._devicePixelRatio=window.devicePixelRatio;_this._updateDimensions();_this.onOptionsChanged();_this._renderDebouncer=new RenderDebouncer_1.RenderDebouncer(_this._terminal,_this._renderRows.bind(_this));_this._screenDprMonitor=new ScreenDprMonitor_1.ScreenDprMonitor;_this._screenDprMonitor.setListener(function(){return _this.onWindowResize(window.devicePixelRatio)});if("IntersectionObserver"in window){var observer=new IntersectionObserver(function(e){return _this.onIntersectionChange(e[0])},{threshold:0});observer.observe(_this._terminal.element)}return _this}Renderer.prototype.onIntersectionChange=function(entry){this._isPaused=entry.intersectionRatio===0;if(!this._isPaused&&this._needsFullRefresh){this._terminal.refresh(0,this._terminal.rows-1)}};Renderer.prototype.onWindowResize=function(devicePixelRatio){if(this._devicePixelRatio!==devicePixelRatio){this._devicePixelRatio=devicePixelRatio;this.onResize(this._terminal.cols,this._terminal.rows)}};Renderer.prototype.setTheme=function(theme){var _this=this;this.colorManager.setTheme(theme);this._renderLayers.forEach(function(l){l.onThemeChanged(_this._terminal,_this.colorManager.colors);l.reset(_this._terminal)});if(this._isPaused){this._needsFullRefresh=true}else{this._terminal.refresh(0,this._terminal.rows-1)}return this.colorManager.colors};Renderer.prototype.onResize=function(cols,rows){var _this=this;this._updateDimensions();this._renderLayers.forEach(function(l){return l.resize(_this._terminal,_this.dimensions)});if(this._isPaused){this._needsFullRefresh=true}else{this._terminal.refresh(0,this._terminal.rows-1)}this._terminal.screenElement.style.width=this.dimensions.canvasWidth+"px";this._terminal.screenElement.style.height=this.dimensions.canvasHeight+"px";this.emit("resize",{width:this.dimensions.canvasWidth,height:this.dimensions.canvasHeight})};Renderer.prototype.onCharSizeChanged=function(){this.onResize(this._terminal.cols,this._terminal.rows)};Renderer.prototype.onBlur=function(){var _this=this;this._runOperation(function(l){return l.onBlur(_this._terminal)})};Renderer.prototype.onFocus=function(){var _this=this;this._runOperation(function(l){return l.onFocus(_this._terminal)})};Renderer.prototype.onSelectionChanged=function(start,end){var _this=this;this._runOperation(function(l){return l.onSelectionChanged(_this._terminal,start,end)})};Renderer.prototype.onCursorMove=function(){var _this=this;this._runOperation(function(l){return l.onCursorMove(_this._terminal)})};Renderer.prototype.onOptionsChanged=function(){var _this=this;this._runOperation(function(l){return l.onOptionsChanged(_this._terminal)})};Renderer.prototype.clear=function(){var _this=this;this._runOperation(function(l){return l.reset(_this._terminal)})};Renderer.prototype._runOperation=function(operation){if(this._isPaused){this._needsFullRefresh=true}else{this._renderLayers.forEach(function(l){return operation(l)})}};Renderer.prototype.refreshRows=function(start,end){if(this._isPaused){this._needsFullRefresh=true;return}this._renderDebouncer.refresh(start,end)};Renderer.prototype._renderRows=function(start,end){var _this=this;this._renderLayers.forEach(function(l){return l.onGridChanged(_this._terminal,start,end)});this._terminal.emit("refresh",{start:start,end:end})};Renderer.prototype._updateDimensions=function(){if(!this._terminal.charMeasure.width||!this._terminal.charMeasure.height){return}this.dimensions.scaledCharWidth=Math.floor(this._terminal.charMeasure.width*window.devicePixelRatio);this.dimensions.scaledCharHeight=Math.ceil(this._terminal.charMeasure.height*window.devicePixelRatio);this.dimensions.scaledCellHeight=Math.floor(this.dimensions.scaledCharHeight*this._terminal.options.lineHeight);this.dimensions.scaledCharTop=this._terminal.options.lineHeight===1?0:Math.round((this.dimensions.scaledCellHeight-this.dimensions.scaledCharHeight)/2);this.dimensions.scaledCellWidth=this.dimensions.scaledCharWidth+Math.round(this._terminal.options.letterSpacing);this.dimensions.scaledCharLeft=Math.floor(this._terminal.options.letterSpacing/2);this.dimensions.scaledCanvasHeight=this._terminal.rows*this.dimensions.scaledCellHeight;this.dimensions.scaledCanvasWidth=this._terminal.cols*this.dimensions.scaledCellWidth;this.dimensions.canvasHeight=Math.round(this.dimensions.scaledCanvasHeight/window.devicePixelRatio);this.dimensions.canvasWidth=Math.round(this.dimensions.scaledCanvasWidth/window.devicePixelRatio);this.dimensions.actualCellHeight=this.dimensions.canvasHeight/this._terminal.rows;this.dimensions.actualCellWidth=this.dimensions.canvasWidth/this._terminal.cols};return Renderer}(EventEmitter_1.EventEmitter);exports.Renderer=Renderer},{"../EventEmitter":8,"../utils/RenderDebouncer":42,"../utils/ScreenDprMonitor":43,"./ColorManager":23,"./CursorRenderLayer":24,"./LinkRenderLayer":26,"./SelectionRenderLayer":28,"./TextRenderLayer":29}],28:[function(require,module,exports){"use strict";var __extends=this&&this.__extends||function(){var extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(d,b){d.__proto__=b}||function(d,b){for(var p in b)if(b.hasOwnProperty(p))d[p]=b[p]};return function(d,b){extendStatics(d,b);function __(){this.constructor=d}d.prototype=b===null?Object.create(b):(__.prototype=b.prototype,new __)}}();Object.defineProperty(exports,"__esModule",{value:true});var BaseRenderLayer_1=require("./BaseRenderLayer");var SelectionRenderLayer=function(_super){__extends(SelectionRenderLayer,_super);function SelectionRenderLayer(container,zIndex,colors){var _this=_super.call(this,container,"selection",zIndex,true,colors)||this;_this._state={start:null,end:null};return _this}SelectionRenderLayer.prototype.resize=function(terminal,dim){_super.prototype.resize.call(this,terminal,dim);this._state={start:null,end:null}};SelectionRenderLayer.prototype.reset=function(terminal){if(this._state.start&&this._state.end){this._state={start:null,end:null};this.clearAll()}};SelectionRenderLayer.prototype.onSelectionChanged=function(terminal,start,end){if(this._state.start===start||this._state.end===end){return}this.clearAll();if(!start||!end){return}var viewportStartRow=start[1]-terminal.buffer.ydisp;var viewportEndRow=end[1]-terminal.buffer.ydisp;var viewportCappedStartRow=Math.max(viewportStartRow,0);var viewportCappedEndRow=Math.min(viewportEndRow,terminal.rows-1);if(viewportCappedStartRow>=terminal.rows||viewportCappedEndRow<0){return}var startCol=viewportStartRow===viewportCappedStartRow?start[0]:0;var startRowEndCol=viewportCappedStartRow===viewportCappedEndRow?end[0]:terminal.cols;this._ctx.fillStyle=this._colors.selection.css;this.fillCells(startCol,viewportCappedStartRow,startRowEndCol-startCol,1);var middleRowsCount=Math.max(viewportCappedEndRow-viewportCappedStartRow-1,0);this.fillCells(0,viewportCappedStartRow+1,terminal.cols,middleRowsCount);if(viewportCappedStartRow!==viewportCappedEndRow){var endCol=viewportEndRow===viewportCappedEndRow?end[0]:terminal.cols;this.fillCells(0,viewportCappedEndRow,endCol,1)}this._state.start=[start[0],start[1]];this._state.end=[end[0],end[1]]};return SelectionRenderLayer}(BaseRenderLayer_1.BaseRenderLayer);exports.SelectionRenderLayer=SelectionRenderLayer},{"./BaseRenderLayer":22}],29:[function(require,module,exports){"use strict";var __extends=this&&this.__extends||function(){var extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(d,b){d.__proto__=b}||function(d,b){for(var p in b)if(b.hasOwnProperty(p))d[p]=b[p]};return function(d,b){extendStatics(d,b);function __(){this.constructor=d}d.prototype=b===null?Object.create(b):(__.prototype=b.prototype,new __)}}();Object.defineProperty(exports,"__esModule",{value:true});var Buffer_1=require("../Buffer");var Types_1=require("./Types");var Types_2=require("./atlas/Types");var GridCache_1=require("./GridCache");var BaseRenderLayer_1=require("./BaseRenderLayer");var TextRenderLayer=function(_super){__extends(TextRenderLayer,_super);function TextRenderLayer(container,zIndex,colors,alpha){var _this=_super.call(this,container,"text",zIndex,alpha,colors)||this;_this._characterOverlapCache={};_this._state=new GridCache_1.GridCache;return _this}TextRenderLayer.prototype.resize=function(terminal,dim){_super.prototype.resize.call(this,terminal,dim);var terminalFont=this._getFont(terminal,false);if(this._characterWidth!==dim.scaledCharWidth||this._characterFont!==terminalFont){this._characterWidth=dim.scaledCharWidth;this._characterFont=terminalFont;this._characterOverlapCache={}}this._state.clear();this._state.resize(terminal.cols,terminal.rows)};TextRenderLayer.prototype.reset=function(terminal){this._state.clear();this.clearAll()};TextRenderLayer.prototype.onGridChanged=function(terminal,startRow,endRow){if(this._state.cache.length===0){return}for(var y=startRow;y<=endRow;y++){var row=y+terminal.buffer.ydisp;var line=terminal.buffer.lines.get(row);this.clearCells(0,y,terminal.cols,1);for(var x=0;x<terminal.cols;x++){var charData=line[x];var code=charData[Buffer_1.CHAR_DATA_CODE_INDEX];var char=charData[Buffer_1.CHAR_DATA_CHAR_INDEX];var attr=charData[Buffer_1.CHAR_DATA_ATTR_INDEX];var width=charData[Buffer_1.CHAR_DATA_WIDTH_INDEX];if(width===0){continue}if(code===32){if(x>0){var previousChar=line[x-1];if(this._isOverlapping(previousChar)){continue}}}var flags=attr>>18;var bg=attr&511;var isDefaultBackground=bg>=256;var isInvisible=flags&Types_1.FLAGS.INVISIBLE;var isInverted=flags&Types_1.FLAGS.INVERSE;if(!code||code===32&&isDefaultBackground&&!isInverted||isInvisible){continue}if(width!==0&&this._isOverlapping(charData)){if(x<line.length-1&&line[x+1][Buffer_1.CHAR_DATA_CODE_INDEX]===32){width=2}}var fg=attr>>9&511;if(isInverted){var temp=bg;bg=fg;fg=temp;if(fg===256){fg=Types_2.INVERTED_DEFAULT_COLOR}if(bg===257){bg=Types_2.INVERTED_DEFAULT_COLOR}}if(width===2){}if(bg<256){this._ctx.save();this._ctx.fillStyle=bg===Types_2.INVERTED_DEFAULT_COLOR?this._colors.foreground.css:this._colors.ansi[bg].css;this.fillCells(x,y,width,1);this._ctx.restore()}this._ctx.save();if(flags&Types_1.FLAGS.BOLD){this._ctx.font=this._getFont(terminal,true);if(fg<8){fg+=8}}if(flags&Types_1.FLAGS.UNDERLINE){if(fg===Types_2.INVERTED_DEFAULT_COLOR){this._ctx.fillStyle=this._colors.background.css}else if(fg<256){this._ctx.fillStyle=this._colors.ansi[fg].css}else{this._ctx.fillStyle=this._colors.foreground.css}this.fillBottomLineAtCells(x,y)}this.drawChar(terminal,char,code,width,x,y,fg,bg,!!(flags&Types_1.FLAGS.BOLD),!!(flags&Types_1.FLAGS.DIM));this._ctx.restore()}}};TextRenderLayer.prototype.onOptionsChanged=function(terminal){this.setTransparency(terminal,terminal.options.allowTransparency)};TextRenderLayer.prototype._isOverlapping=function(charData){if(charData[Buffer_1.CHAR_DATA_WIDTH_INDEX]!==1){return false}var code=charData[Buffer_1.CHAR_DATA_CODE_INDEX];if(code<256){return false}var char=charData[Buffer_1.CHAR_DATA_CHAR_INDEX];if(this._characterOverlapCache.hasOwnProperty(char)){return this._characterOverlapCache[char]}this._ctx.save();this._ctx.font=this._characterFont;var overlaps=Math.floor(this._ctx.measureText(char).width)>this._characterWidth;this._ctx.restore();this._characterOverlapCache[char]=overlaps;return overlaps};return TextRenderLayer}(BaseRenderLayer_1.BaseRenderLayer);exports.TextRenderLayer=TextRenderLayer},{"../Buffer":2,"./BaseRenderLayer":22,"./GridCache":25,"./Types":30,"./atlas/Types":33}],30:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var FLAGS;(function(FLAGS){FLAGS[FLAGS["BOLD"]=1]="BOLD";FLAGS[FLAGS["UNDERLINE"]=2]="UNDERLINE";FLAGS[FLAGS["BLINK"]=4]="BLINK";FLAGS[FLAGS["INVERSE"]=8]="INVERSE";FLAGS[FLAGS["INVISIBLE"]=16]="INVISIBLE";FLAGS[FLAGS["DIM"]=32]="DIM"})(FLAGS=exports.FLAGS||(exports.FLAGS={}))},{}],31:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var CharAtlasGenerator_1=require("../../shared/atlas/CharAtlasGenerator");var CharAtlasUtils_1=require("./CharAtlasUtils");var charAtlasCache=[];function acquireCharAtlas(terminal,colors,scaledCharWidth,scaledCharHeight){var newConfig=CharAtlasUtils_1.generateConfig(scaledCharWidth,scaledCharHeight,terminal,colors);for(var i=0;i<charAtlasCache.length;i++){var entry=charAtlasCache[i];var ownedByIndex=entry.ownedBy.indexOf(terminal);if(ownedByIndex>=0){if(CharAtlasUtils_1.configEquals(entry.config,newConfig)){return entry.bitmap}else{if(entry.ownedBy.length===1){charAtlasCache.splice(i,1)}else{entry.ownedBy.splice(ownedByIndex,1)}break}}}for(var i=0;i<charAtlasCache.length;i++){var entry=charAtlasCache[i];if(CharAtlasUtils_1.configEquals(entry.config,newConfig)){entry.ownedBy.push(terminal);return entry.bitmap}}var canvasFactory=function(width,height){var canvas=document.createElement("canvas");canvas.width=width;canvas.height=height;return canvas};var newEntry={bitmap:CharAtlasGenerator_1.generateCharAtlas(window,canvasFactory,newConfig),config:newConfig,ownedBy:[terminal]};charAtlasCache.push(newEntry);return newEntry.bitmap}exports.acquireCharAtlas=acquireCharAtlas},{"../../shared/atlas/CharAtlasGenerator":34,"./CharAtlasUtils":32}],32:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});function generateConfig(scaledCharWidth,scaledCharHeight,terminal,colors){var clonedColors={foreground:colors.foreground,background:colors.background,cursor:null,cursorAccent:null,selection:null,ansi:colors.ansi.slice(0,16)};return{devicePixelRatio:window.devicePixelRatio,scaledCharWidth:scaledCharWidth,scaledCharHeight:scaledCharHeight,fontFamily:terminal.options.fontFamily,fontSize:terminal.options.fontSize,fontWeight:terminal.options.fontWeight,fontWeightBold:terminal.options.fontWeightBold,allowTransparency:terminal.options.allowTransparency,colors:clonedColors}}exports.generateConfig=generateConfig;function configEquals(a,b){for(var i=0;i<a.colors.ansi.length;i++){if(a.colors.ansi[i].rgba!==b.colors.ansi[i].rgba){return false}}return a.devicePixelRatio===b.devicePixelRatio&&a.fontFamily===b.fontFamily&&a.fontSize===b.fontSize&&a.fontWeight===b.fontWeight&&a.fontWeightBold===b.fontWeightBold&&a.allowTransparency===b.allowTransparency&&a.scaledCharWidth===b.scaledCharWidth&&a.scaledCharHeight===b.scaledCharHeight&&a.colors.foreground===b.colors.foreground&&a.colors.background===b.colors.background}exports.configEquals=configEquals},{}],33:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.INVERTED_DEFAULT_COLOR=-1;exports.DIM_OPACITY=.5},{}],34:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var Types_1=require("./Types");var Browser_1=require("../utils/Browser");function generateCharAtlas(context,canvasFactory,config){var cellWidth=config.scaledCharWidth+Types_1.CHAR_ATLAS_CELL_SPACING;var cellHeight=config.scaledCharHeight+Types_1.CHAR_ATLAS_CELL_SPACING;var canvas=canvasFactory(255*cellWidth,(2+16)*cellHeight);var ctx=canvas.getContext("2d",{alpha:config.allowTransparency});ctx.fillStyle=config.colors.background.css;ctx.fillRect(0,0,canvas.width,canvas.height);ctx.save();ctx.fillStyle=config.colors.foreground.css;ctx.font=getFont(config.fontWeight,config);ctx.textBaseline="top";for(var i=0;i<256;i++){ctx.save();ctx.beginPath();ctx.rect(i*cellWidth,0,cellWidth,cellHeight);ctx.clip();ctx.fillText(String.fromCharCode(i),i*cellWidth,0);ctx.restore()}ctx.save();ctx.font=getFont(config.fontWeightBold,config);for(var i=0;i<256;i++){ctx.save();ctx.beginPath();ctx.rect(i*cellWidth,cellHeight,cellWidth,cellHeight);ctx.clip();ctx.fillText(String.fromCharCode(i),i*cellWidth,cellHeight);ctx.restore()}ctx.restore();ctx.font=getFont(config.fontWeight,config);for(var colorIndex=0;colorIndex<16;colorIndex++){if(colorIndex===8){ctx.font=getFont(config.fontWeightBold,config)}var y=(colorIndex+2)*cellHeight;for(var i=0;i<256;i++){ctx.save();ctx.beginPath();ctx.rect(i*cellWidth,y,cellWidth,cellHeight);ctx.clip();ctx.fillStyle=config.colors.ansi[colorIndex].css;ctx.fillText(String.fromCharCode(i),i*cellWidth,y);ctx.restore()}}ctx.restore();if(!("createImageBitmap"in context)||Browser_1.isFirefox){if(canvas instanceof HTMLCanvasElement){return canvas}else{return new Promise(function(r){return r(canvas.transferToImageBitmap())})}}var charAtlasImageData=ctx.getImageData(0,0,canvas.width,canvas.height);var r=config.colors.background.rgba>>>24;var g=config.colors.background.rgba>>>16&255;var b=config.colors.background.rgba>>>8&255;clearColor(charAtlasImageData,r,g,b);return context.createImageBitmap(charAtlasImageData)}exports.generateCharAtlas=generateCharAtlas;function clearColor(imageData,r,g,b){for(var offset=0;offset<imageData.data.length;offset+=4){if(imageData.data[offset]===r&&imageData.data[offset+1]===g&&imageData.data[offset+2]===b){imageData.data[offset+3]=0}}}function getFont(fontWeight,config){return fontWeight+" "+config.fontSize*config.devicePixelRatio+"px "+config.fontFamily}},{"../utils/Browser":36,"./Types":35}],35:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.CHAR_ATLAS_CELL_SPACING=1},{}],36:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var isNode=typeof navigator==="undefined"?true:false;var userAgent=isNode?"node":navigator.userAgent;var platform=isNode?"node":navigator.platform;exports.isFirefox=!!~userAgent.indexOf("Firefox");exports.isMSIE=!!~userAgent.indexOf("MSIE")||!!~userAgent.indexOf("Trident");exports.isMac=contains(["Macintosh","MacIntel","MacPPC","Mac68K"],platform);exports.isIpad=platform==="iPad";exports.isIphone=platform==="iPhone";exports.isMSWindows=contains(["Windows","Win16","Win32","WinCE"],platform);exports.isLinux=platform.indexOf("Linux")>=0;function contains(arr,el){return arr.indexOf(el)>=0}},{}],37:[function(require,module,exports){"use strict";var __extends=this&&this.__extends||function(){var extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(d,b){d.__proto__=b}||function(d,b){for(var p in b)if(b.hasOwnProperty(p))d[p]=b[p]};return function(d,b){extendStatics(d,b);function __(){this.constructor=d}d.prototype=b===null?Object.create(b):(__.prototype=b.prototype,new __)}}();Object.defineProperty(exports,"__esModule",{value:true});var EventEmitter_1=require("../EventEmitter");var CharMeasure=function(_super){__extends(CharMeasure,_super);function CharMeasure(document,parentElement){var _this=_super.call(this)||this;_this._document=document;_this._parentElement=parentElement;_this._measureElement=_this._document.createElement("span");_this._measureElement.classList.add("xterm-char-measure-element");_this._measureElement.textContent="W";_this._measureElement.setAttribute("aria-hidden","true");_this._parentElement.appendChild(_this._measureElement);return _this}Object.defineProperty(CharMeasure.prototype,"width",{get:function(){return this._width},enumerable:true,configurable:true});Object.defineProperty(CharMeasure.prototype,"height",{get:function(){return this._height},enumerable:true,configurable:true});CharMeasure.prototype.measure=function(options){this._measureElement.style.fontFamily=options.fontFamily;this._measureElement.style.fontSize=options.fontSize+"px";var geometry=this._measureElement.getBoundingClientRect();if(geometry.width===0||geometry.height===0){return}if(this._width!==geometry.width||this._height!==geometry.height){this._width=geometry.width;this._height=Math.ceil(geometry.height);this.emit("charsizechanged")}};return CharMeasure}(EventEmitter_1.EventEmitter);exports.CharMeasure=CharMeasure},{"../EventEmitter":8}],38:[function(require,module,exports){"use strict";var __extends=this&&this.__extends||function(){var extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(d,b){d.__proto__=b}||function(d,b){for(var p in b)if(b.hasOwnProperty(p))d[p]=b[p]};return function(d,b){extendStatics(d,b);function __(){this.constructor=d}d.prototype=b===null?Object.create(b):(__.prototype=b.prototype,new __)}}();Object.defineProperty(exports,"__esModule",{value:true});var EventEmitter_1=require("../EventEmitter");var CircularList=function(_super){__extends(CircularList,_super);function CircularList(_maxLength){var _this=_super.call(this)||this;_this._maxLength=_maxLength;_this._array=new Array(_this._maxLength);_this._startIndex=0;_this._length=0;return _this}Object.defineProperty(CircularList.prototype,"maxLength",{get:function(){return this._maxLength},set:function(newMaxLength){if(this._maxLength===newMaxLength){return}var newArray=new Array(newMaxLength);for(var i=0;i<Math.min(newMaxLength,this.length);i++){newArray[i]=this._array[this._getCyclicIndex(i)]}this._array=newArray;this._maxLength=newMaxLength;this._startIndex=0},enumerable:true,configurable:true});Object.defineProperty(CircularList.prototype,"length",{get:function(){return this._length},set:function(newLength){if(newLength>this._length){for(var i=this._length;i<newLength;i++){this._array[i]=undefined}}this._length=newLength},enumerable:true,configurable:true});CircularList.prototype.get=function(index){return this._array[this._getCyclicIndex(index)]};CircularList.prototype.set=function(index,value){this._array[this._getCyclicIndex(index)]=value};CircularList.prototype.push=function(value){this._array[this._getCyclicIndex(this._length)]=value;if(this._length===this._maxLength){this._startIndex++;if(this._startIndex===this._maxLength){this._startIndex=0}this.emit("trim",1)}else{this._length++}};CircularList.prototype.pop=function(){return this._array[this._getCyclicIndex(this._length---1)]};CircularList.prototype.splice=function(start,deleteCount){var items=[];for(var _i=2;_i<arguments.length;_i++){items[_i-2]=arguments[_i]}if(deleteCount){for(var i=start;i<this._length-deleteCount;i++){this._array[this._getCyclicIndex(i)]=this._array[this._getCyclicIndex(i+deleteCount)]}this._length-=deleteCount}if(items&&items.length){for(var i=this._length-1;i>=start;i--){this._array[this._getCyclicIndex(i+items.length)]=this._array[this._getCyclicIndex(i)]}for(var i=0;i<items.length;i++){this._array[this._getCyclicIndex(start+i)]=items[i]}if(this._length+items.length>this.maxLength){var countToTrim=this._length+items.length-this.maxLength;this._startIndex+=countToTrim;this._length=this.maxLength;this.emit("trim",countToTrim)}else{this._length+=items.length}}};CircularList.prototype.trimStart=function(count){if(count>this._length){count=this._length}this._startIndex+=count;this._length-=count;this.emit("trim",count)};CircularList.prototype.shiftElements=function(start,count,offset){if(count<=0){return}if(start<0||start>=this._length){throw new Error("start argument out of range")}if(start+offset<0){throw new Error("Cannot shift elements in list beyond index 0")}if(offset>0){for(var i=count-1;i>=0;i--){this.set(start+i+offset,this.get(start+i))}var expandListBy=start+count+offset-this._length;if(expandListBy>0){this._length+=expandListBy;while(this._length>this.maxLength){this._length--;this._startIndex++;this.emit("trim",1)}}}else{for(var i=0;i<count;i++){this.set(start+i+offset,this.get(start+i))}}};CircularList.prototype._getCyclicIndex=function(index){return(this._startIndex+index)%this.maxLength};return CircularList}(EventEmitter_1.EventEmitter);exports.CircularList=CircularList},{"../EventEmitter":8}],39:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.clone=function(val,depth){if(depth===void 0){depth=5}if(typeof val!=="object"){return val}if(val===null){return null}var clonedObject=Array.isArray(val)?[]:{};for(var key in val){clonedObject[key]=depth<=1?val[key]:exports.clone(val[key],depth-1)}return clonedObject}},{}],40:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});function addDisposableListener(node,type,handler,useCapture){node.addEventListener(type,handler,useCapture);return{dispose:function(){if(!handler){return}node.removeEventListener(type,handler,useCapture);node=null;handler=null}}}exports.addDisposableListener=addDisposableListener},{}],41:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var MouseHelper=function(){function MouseHelper(_renderer){this._renderer=_renderer}MouseHelper.getCoordsRelativeToElement=function(event,element){if(event.pageX==null){return null}var originalElement=element;var x=event.pageX;var y=event.pageY;while(element){x-=element.offsetLeft;y-=element.offsetTop;element=element.offsetParent}element=originalElement;while(element&&element!==element.ownerDocument.body){x+=element.scrollLeft;y+=element.scrollTop;element=element.parentElement}return[x,y]};MouseHelper.prototype.getCoords=function(event,element,charMeasure,lineHeight,colCount,rowCount,isSelection){if(!charMeasure.width||!charMeasure.height){return null}var coords=MouseHelper.getCoordsRelativeToElement(event,element);if(!coords){return null}coords[0]=Math.ceil((coords[0]+(isSelection?this._renderer.dimensions.actualCellWidth/2:0))/this._renderer.dimensions.actualCellWidth);coords[1]=Math.ceil(coords[1]/this._renderer.dimensions.actualCellHeight);coords[0]=Math.min(Math.max(coords[0],1),colCount+(isSelection?1:0));coords[1]=Math.min(Math.max(coords[1],1),rowCount);return coords};MouseHelper.prototype.getRawByteCoords=function(event,element,charMeasure,lineHeight,colCount,rowCount){var coords=this.getCoords(event,element,charMeasure,lineHeight,colCount,rowCount);var x=coords[0];var y=coords[1];x+=32;y+=32;return{x:x,y:y}};return MouseHelper}();exports.MouseHelper=MouseHelper},{}],42:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var RenderDebouncer=function(){function RenderDebouncer(_terminal,_callback){this._terminal=_terminal;this._callback=_callback;this._animationFrame=null}RenderDebouncer.prototype.dispose=function(){if(this._animationFrame){window.cancelAnimationFrame(this._animationFrame);this._animationFrame=null}};RenderDebouncer.prototype.refresh=function(rowStart,rowEnd){var _this=this;rowStart=rowStart||0;rowEnd=rowEnd||this._terminal.rows-1;this._rowStart=this._rowStart!==undefined?Math.min(this._rowStart,rowStart):rowStart;this._rowEnd=this._rowEnd!==undefined?Math.max(this._rowEnd,rowEnd):rowEnd;if(this._animationFrame){return}this._animationFrame=window.requestAnimationFrame(function(){return _this._innerRefresh()})};RenderDebouncer.prototype._innerRefresh=function(){this._rowStart=Math.max(this._rowStart,0);this._rowEnd=Math.min(this._rowEnd,this._terminal.rows-1);this._callback(this._rowStart,this._rowEnd);this._rowStart=null;this._rowEnd=null;this._animationFrame=null};return RenderDebouncer}();exports.RenderDebouncer=RenderDebouncer},{}],43:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var ScreenDprMonitor=function(){function ScreenDprMonitor(){}ScreenDprMonitor.prototype.setListener=function(listener){var _this=this;if(this._listener){this.clearListener()}this._listener=listener;this._outerListener=function(){_this._listener(window.devicePixelRatio,_this._currentDevicePixelRatio);_this._updateDpr()};this._updateDpr()};ScreenDprMonitor.prototype._updateDpr=function(){if(this._resolutionMediaMatchList){this._resolutionMediaMatchList.removeListener(this._outerListener)}this._currentDevicePixelRatio=window.devicePixelRatio;this._resolutionMediaMatchList=window.matchMedia("screen and (resolution: "+window.devicePixelRatio+"dppx)");this._resolutionMediaMatchList.addListener(this._outerListener)};ScreenDprMonitor.prototype.clearListener=function(){if(!this._listener){return}this._resolutionMediaMatchList.removeListener(this._outerListener);this._listener=null;this._outerListener=null};return ScreenDprMonitor}();exports.ScreenDprMonitor=ScreenDprMonitor},{}],44:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var Terminal_1=require("./Terminal");module.exports=Terminal_1.Terminal},{"./Terminal":16}]},{},[44])(44)});
Back to Directory
File Manager