From 163fd0537cf9e0548ad7ffa8251c23aa7eb63979 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=B8ren=20L=2E=20Hansen?= Date: Mon, 28 Mar 2022 15:48:20 -0700 Subject: [PATCH] Remove hterm --- README.md | 11 +-- bindata/static/js/gotty.js | 2 +- bindata/static/js/gotty.js.LICENSE.txt | 34 -------- bindata/static/js/gotty.js.map | 2 +- js/package-lock.json | 12 --- js/package.json | 1 - js/src/hterm.ts | 94 --------------------- js/src/main.ts | 8 +- js/src/xterm.ts | 6 +- js/typings/libapps/index.d.ts | 51 ----------- server/handlers.go | 9 +- server/options.go | 112 ++++++------------------- 12 files changed, 34 insertions(+), 308 deletions(-) delete mode 100644 js/src/hterm.ts delete mode 100644 js/typings/libapps/index.d.ts diff --git a/README.md b/README.md index 30ee11e..ddb9d30 100644 --- a/README.md +++ b/README.md @@ -73,7 +73,6 @@ By default, GoTTY starts a web server at port 8080. Open the URL on your web bro --width value Static width of the screen, 0(default) means dynamically resize (default: 0) [$GOTTY_WIDTH] --height value Static height of the screen, 0(default) means dynamically resize (default: 0) [$GOTTY_HEIGHT] --ws-origin value A regular expression that matches origin URLs to be accepted by WebSocket. No cross origin requests are acceptable by default [$GOTTY_WS_ORIGIN] - --term value Terminal name to use on the browser, one of xterm or hterm. (default: "xterm") [$GOTTY_TERM] --enable-webgl Enable WebGL renderer (default: true) [$GOTTY_ENABLE_WEBGL] --close-signal value Signal sent to the command process when gotty close it (default: SIGHUP) (default: 1) [$GOTTY_CLOSE_SIGNAL] --close-timeout value Time in seconds to force kill process after client is disconnected (default: -1) (default: -1) [$GOTTY_CLOSE_TIMEOUT] @@ -82,7 +81,7 @@ By default, GoTTY starts a web server at port 8080. Open the URL on your web bro --version, -v print the version (default: false) ``` ### Config File -You can customize default options and your terminal (hterm) by providing a config file to the `gotty` command. GoTTY loads a profile file at `~/.gotty` by default when it exists. +You can customize default options and your terminal by providing a config file to the `gotty` command. GoTTY loads a profile file at `~/.gotty` by default when it exists. ``` // Listen at port 9000 by default @@ -91,12 +90,6 @@ port = "9000" // Enable TSL/SSL by default enable_tls = true -// hterm preferences -// Smaller font and a little bit bluer background color -preferences { - font_size = 5 - background_color = "rgb(16, 16, 32)" -} ``` See the [`.gotty`](https://github.com/sorenisanerd/gotty/blob/master/.gotty) file in this repository for the list of configuration options. @@ -164,7 +157,7 @@ To build the frontend part (JS files and other static files), you need `npm`. ## Architecture -GoTTY uses [xterm.js](https://xtermjs.org/) and [hterm](https://groups.google.com/a/chromium.org/forum/#!forum/chromium-hterm) to run a JavaScript based terminal on web browsers. GoTTY itself provides a websocket server that simply relays output from the TTY to clients and receives input from clients and forwards it to the TTY. This hterm + websocket idea is inspired by [Wetty](https://github.com/krishnasrinivas/wetty). +GoTTY uses [xterm.js](https://xtermjs.org/) to run a JavaScript based terminal on web browsers. GoTTY itself provides a websocket server that simply relays output from the TTY to clients and receives input from clients and forwards it to the TTY. This xterm + websocket idea is inspired by [Wetty](https://github.com/krishnasrinivas/wetty). ## Alternatives diff --git a/bindata/static/js/gotty.js b/bindata/static/js/gotty.js index d8c08cf..cd44819 100644 --- a/bindata/static/js/gotty.js +++ b/bindata/static/js/gotty.js @@ -1,3 +1,3 @@ /*! For license information please see gotty.js.LICENSE.txt */ -(()=>{var e={276:e=>{"use strict";if(void 0!==t)throw new Error('Global "lib" object already exists.');var t={runtimeDependencies_:{},initCallbacks_:[],rtdep:function(e){var r;try{throw new Error}catch(e){var i=e.stack.split("\n");r=i.length>=3?i[2].replace(/^\s*at\s+/,""):i[1].replace(/^\s*global code@/,"")}for(var o=0;ot.length&&(t=t.repeat(e/t.length+1)),t.slice(0,e)+String(this))}),String.prototype.padEnd||(String.prototype.padEnd=function(e,t){return(e-=this.length)<=0?String(this):(void 0===t&&(t=" "),e>t.length&&(t=t.repeat(e/t.length+1)),String(this)+t.slice(0,e))}),t.colors={},t.colors.re_={hex16:/#([a-f0-9])([a-f0-9])([a-f0-9])/i,hex24:/#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})/i,rgb:new RegExp("^/s*rgb/s*/(/s*(/d{1,3})/s*,/s*(/d{1,3})/s*,/s*(/d{1,3})/s*/)/s*$".replace(/\//g,"\\"),"i"),rgba:new RegExp("^/s*rgba/s*/(/s*(/d{1,3})/s*,/s*(/d{1,3})/s*,/s*(/d{1,3})/s*(?:,/s*(/d+(?:/./d+)?)/s*)/)/s*$".replace(/\//g,"\\"),"i"),rgbx:new RegExp("^/s*rgba?/s*/(/s*(/d{1,3})/s*,/s*(/d{1,3})/s*,/s*(/d{1,3})/s*(?:,/s*(/d+(?:/./d+)?)/s*)?/)/s*$".replace(/\//g,"\\"),"i"),x11rgb:/^\s*rgb:([a-f0-9]{1,4})\/([a-f0-9]{1,4})\/([a-f0-9]{1,4})\s*$/i,name:/[a-z][a-z0-9\s]+/},t.colors.rgbToX11=function(e){function r(e){return e=(257*Math.min(e,255)).toString(16),t.f.zpad(e,4)}var i=e.match(t.colors.re_.rgbx);return i?"rgb:"+r(i[1])+"/"+r(i[2])+"/"+r(i[3]):null},t.colors.x11HexToCSS=function(e){if(!e.startsWith("#"))return null;if(e=e.substr(1),-1==[3,6,9,12].indexOf(e.length))return null;if(e.match(/[^a-f0-9]/i))return null;var r=e.length/3,i=e.substr(0,r),o=e.substr(r,r),n=e.substr(r+r,r);return t.colors.arrayToRGBA([i,o,n].map((function(e){return e=parseInt(e,16),2==r?e:1==r?e<<4:e>>4*(r-2)})))},t.colors.x11ToCSS=function(e){var r=e.match(t.colors.re_.x11rgb);return r?(r.splice(0,1),t.colors.arrayToRGBA(r.map((function(e){return 1==e.length?parseInt(e+e,16):2==e.length?parseInt(e,16):(3==e.length&&(e+=e.substr(2)),Math.round(parseInt(e,16)/257))})))):e.startsWith("#")?t.colors.x11HexToCSS(e):t.colors.nameToRGB(e)},t.colors.hexToRGB=function(e){var r=t.colors.re_.hex16,i=t.colors.re_.hex24;function o(e){4==e.length&&(e=e.replace(r,(function(e,t,r,i){return"#"+t+t+r+r+i+i})));var t=e.match(i);return t?"rgb("+parseInt(t[1],16)+", "+parseInt(t[2],16)+", "+parseInt(t[3],16)+")":null}if(e instanceof Array)for(var n=0;n3?e[3]:1;return"rgba("+e[0]+", "+e[1]+", "+e[2]+", "+t+")"},t.colors.setAlpha=function(e,r){var i=t.colors.crackRGB(e);return i[3]=r,t.colors.arrayToRGBA(i)},t.colors.mix=function(e,r,i){for(var o=t.colors.crackRGB(e),n=t.colors.crackRGB(r),s=0;s<4;++s){var a=n[s]-o[s];o[s]=Math.round(parseInt(o[s])+a*i)}return t.colors.arrayToRGBA(o)},t.colors.crackRGB=function(e){var r;if(e.startsWith("rgba")){if(r=e.match(t.colors.re_.rgba))return r.shift(),r}else if(r=e.match(t.colors.re_.rgb))return r.shift(),r.push(1),r;return console.error("Couldn't crack: "+e),null},t.colors.nameToRGB=function(e){return e in t.colors.colorNames||(e=e.toLowerCase())in t.colors.colorNames||(e=e.replace(/\s+/g,""))in t.colors.colorNames?t.colors.colorNames[e]:null},t.colors.stockColorPalette=t.colors.hexToRGB(["#000000","#CC0000","#4E9A06","#C4A000","#3465A4","#75507B","#06989A","#D3D7CF","#555753","#EF2929","#00BA13","#FCE94F","#729FCF","#F200CB","#00B5BD","#EEEEEC","#000000","#00005F","#000087","#0000AF","#0000D7","#0000FF","#005F00","#005F5F","#005F87","#005FAF","#005FD7","#005FFF","#008700","#00875F","#008787","#0087AF","#0087D7","#0087FF","#00AF00","#00AF5F","#00AF87","#00AFAF","#00AFD7","#00AFFF","#00D700","#00D75F","#00D787","#00D7AF","#00D7D7","#00D7FF","#00FF00","#00FF5F","#00FF87","#00FFAF","#00FFD7","#00FFFF","#5F0000","#5F005F","#5F0087","#5F00AF","#5F00D7","#5F00FF","#5F5F00","#5F5F5F","#5F5F87","#5F5FAF","#5F5FD7","#5F5FFF","#5F8700","#5F875F","#5F8787","#5F87AF","#5F87D7","#5F87FF","#5FAF00","#5FAF5F","#5FAF87","#5FAFAF","#5FAFD7","#5FAFFF","#5FD700","#5FD75F","#5FD787","#5FD7AF","#5FD7D7","#5FD7FF","#5FFF00","#5FFF5F","#5FFF87","#5FFFAF","#5FFFD7","#5FFFFF","#870000","#87005F","#870087","#8700AF","#8700D7","#8700FF","#875F00","#875F5F","#875F87","#875FAF","#875FD7","#875FFF","#878700","#87875F","#878787","#8787AF","#8787D7","#8787FF","#87AF00","#87AF5F","#87AF87","#87AFAF","#87AFD7","#87AFFF","#87D700","#87D75F","#87D787","#87D7AF","#87D7D7","#87D7FF","#87FF00","#87FF5F","#87FF87","#87FFAF","#87FFD7","#87FFFF","#AF0000","#AF005F","#AF0087","#AF00AF","#AF00D7","#AF00FF","#AF5F00","#AF5F5F","#AF5F87","#AF5FAF","#AF5FD7","#AF5FFF","#AF8700","#AF875F","#AF8787","#AF87AF","#AF87D7","#AF87FF","#AFAF00","#AFAF5F","#AFAF87","#AFAFAF","#AFAFD7","#AFAFFF","#AFD700","#AFD75F","#AFD787","#AFD7AF","#AFD7D7","#AFD7FF","#AFFF00","#AFFF5F","#AFFF87","#AFFFAF","#AFFFD7","#AFFFFF","#D70000","#D7005F","#D70087","#D700AF","#D700D7","#D700FF","#D75F00","#D75F5F","#D75F87","#D75FAF","#D75FD7","#D75FFF","#D78700","#D7875F","#D78787","#D787AF","#D787D7","#D787FF","#D7AF00","#D7AF5F","#D7AF87","#D7AFAF","#D7AFD7","#D7AFFF","#D7D700","#D7D75F","#D7D787","#D7D7AF","#D7D7D7","#D7D7FF","#D7FF00","#D7FF5F","#D7FF87","#D7FFAF","#D7FFD7","#D7FFFF","#FF0000","#FF005F","#FF0087","#FF00AF","#FF00D7","#FF00FF","#FF5F00","#FF5F5F","#FF5F87","#FF5FAF","#FF5FD7","#FF5FFF","#FF8700","#FF875F","#FF8787","#FF87AF","#FF87D7","#FF87FF","#FFAF00","#FFAF5F","#FFAF87","#FFAFAF","#FFAFD7","#FFAFFF","#FFD700","#FFD75F","#FFD787","#FFD7AF","#FFD7D7","#FFD7FF","#FFFF00","#FFFF5F","#FFFF87","#FFFFAF","#FFFFD7","#FFFFFF","#080808","#121212","#1C1C1C","#262626","#303030","#3A3A3A","#444444","#4E4E4E","#585858","#626262","#6C6C6C","#767676","#808080","#8A8A8A","#949494","#9E9E9E","#A8A8A8","#B2B2B2","#BCBCBC","#C6C6C6","#D0D0D0","#DADADA","#E4E4E4","#EEEEEE"]),t.colors.colorPalette=t.colors.stockColorPalette,t.colors.colorNames={aliceblue:"rgb(240, 248, 255)",antiquewhite:"rgb(250, 235, 215)",antiquewhite1:"rgb(255, 239, 219)",antiquewhite2:"rgb(238, 223, 204)",antiquewhite3:"rgb(205, 192, 176)",antiquewhite4:"rgb(139, 131, 120)",aquamarine:"rgb(127, 255, 212)",aquamarine1:"rgb(127, 255, 212)",aquamarine2:"rgb(118, 238, 198)",aquamarine3:"rgb(102, 205, 170)",aquamarine4:"rgb(69, 139, 116)",azure:"rgb(240, 255, 255)",azure1:"rgb(240, 255, 255)",azure2:"rgb(224, 238, 238)",azure3:"rgb(193, 205, 205)",azure4:"rgb(131, 139, 139)",beige:"rgb(245, 245, 220)",bisque:"rgb(255, 228, 196)",bisque1:"rgb(255, 228, 196)",bisque2:"rgb(238, 213, 183)",bisque3:"rgb(205, 183, 158)",bisque4:"rgb(139, 125, 107)",black:"rgb(0, 0, 0)",blanchedalmond:"rgb(255, 235, 205)",blue:"rgb(0, 0, 255)",blue1:"rgb(0, 0, 255)",blue2:"rgb(0, 0, 238)",blue3:"rgb(0, 0, 205)",blue4:"rgb(0, 0, 139)",blueviolet:"rgb(138, 43, 226)",brown:"rgb(165, 42, 42)",brown1:"rgb(255, 64, 64)",brown2:"rgb(238, 59, 59)",brown3:"rgb(205, 51, 51)",brown4:"rgb(139, 35, 35)",burlywood:"rgb(222, 184, 135)",burlywood1:"rgb(255, 211, 155)",burlywood2:"rgb(238, 197, 145)",burlywood3:"rgb(205, 170, 125)",burlywood4:"rgb(139, 115, 85)",cadetblue:"rgb(95, 158, 160)",cadetblue1:"rgb(152, 245, 255)",cadetblue2:"rgb(142, 229, 238)",cadetblue3:"rgb(122, 197, 205)",cadetblue4:"rgb(83, 134, 139)",chartreuse:"rgb(127, 255, 0)",chartreuse1:"rgb(127, 255, 0)",chartreuse2:"rgb(118, 238, 0)",chartreuse3:"rgb(102, 205, 0)",chartreuse4:"rgb(69, 139, 0)",chocolate:"rgb(210, 105, 30)",chocolate1:"rgb(255, 127, 36)",chocolate2:"rgb(238, 118, 33)",chocolate3:"rgb(205, 102, 29)",chocolate4:"rgb(139, 69, 19)",coral:"rgb(255, 127, 80)",coral1:"rgb(255, 114, 86)",coral2:"rgb(238, 106, 80)",coral3:"rgb(205, 91, 69)",coral4:"rgb(139, 62, 47)",cornflowerblue:"rgb(100, 149, 237)",cornsilk:"rgb(255, 248, 220)",cornsilk1:"rgb(255, 248, 220)",cornsilk2:"rgb(238, 232, 205)",cornsilk3:"rgb(205, 200, 177)",cornsilk4:"rgb(139, 136, 120)",cyan:"rgb(0, 255, 255)",cyan1:"rgb(0, 255, 255)",cyan2:"rgb(0, 238, 238)",cyan3:"rgb(0, 205, 205)",cyan4:"rgb(0, 139, 139)",darkblue:"rgb(0, 0, 139)",darkcyan:"rgb(0, 139, 139)",darkgoldenrod:"rgb(184, 134, 11)",darkgoldenrod1:"rgb(255, 185, 15)",darkgoldenrod2:"rgb(238, 173, 14)",darkgoldenrod3:"rgb(205, 149, 12)",darkgoldenrod4:"rgb(139, 101, 8)",darkgray:"rgb(169, 169, 169)",darkgreen:"rgb(0, 100, 0)",darkgrey:"rgb(169, 169, 169)",darkkhaki:"rgb(189, 183, 107)",darkmagenta:"rgb(139, 0, 139)",darkolivegreen:"rgb(85, 107, 47)",darkolivegreen1:"rgb(202, 255, 112)",darkolivegreen2:"rgb(188, 238, 104)",darkolivegreen3:"rgb(162, 205, 90)",darkolivegreen4:"rgb(110, 139, 61)",darkorange:"rgb(255, 140, 0)",darkorange1:"rgb(255, 127, 0)",darkorange2:"rgb(238, 118, 0)",darkorange3:"rgb(205, 102, 0)",darkorange4:"rgb(139, 69, 0)",darkorchid:"rgb(153, 50, 204)",darkorchid1:"rgb(191, 62, 255)",darkorchid2:"rgb(178, 58, 238)",darkorchid3:"rgb(154, 50, 205)",darkorchid4:"rgb(104, 34, 139)",darkred:"rgb(139, 0, 0)",darksalmon:"rgb(233, 150, 122)",darkseagreen:"rgb(143, 188, 143)",darkseagreen1:"rgb(193, 255, 193)",darkseagreen2:"rgb(180, 238, 180)",darkseagreen3:"rgb(155, 205, 155)",darkseagreen4:"rgb(105, 139, 105)",darkslateblue:"rgb(72, 61, 139)",darkslategray:"rgb(47, 79, 79)",darkslategray1:"rgb(151, 255, 255)",darkslategray2:"rgb(141, 238, 238)",darkslategray3:"rgb(121, 205, 205)",darkslategray4:"rgb(82, 139, 139)",darkslategrey:"rgb(47, 79, 79)",darkturquoise:"rgb(0, 206, 209)",darkviolet:"rgb(148, 0, 211)",debianred:"rgb(215, 7, 81)",deeppink:"rgb(255, 20, 147)",deeppink1:"rgb(255, 20, 147)",deeppink2:"rgb(238, 18, 137)",deeppink3:"rgb(205, 16, 118)",deeppink4:"rgb(139, 10, 80)",deepskyblue:"rgb(0, 191, 255)",deepskyblue1:"rgb(0, 191, 255)",deepskyblue2:"rgb(0, 178, 238)",deepskyblue3:"rgb(0, 154, 205)",deepskyblue4:"rgb(0, 104, 139)",dimgray:"rgb(105, 105, 105)",dimgrey:"rgb(105, 105, 105)",dodgerblue:"rgb(30, 144, 255)",dodgerblue1:"rgb(30, 144, 255)",dodgerblue2:"rgb(28, 134, 238)",dodgerblue3:"rgb(24, 116, 205)",dodgerblue4:"rgb(16, 78, 139)",firebrick:"rgb(178, 34, 34)",firebrick1:"rgb(255, 48, 48)",firebrick2:"rgb(238, 44, 44)",firebrick3:"rgb(205, 38, 38)",firebrick4:"rgb(139, 26, 26)",floralwhite:"rgb(255, 250, 240)",forestgreen:"rgb(34, 139, 34)",gainsboro:"rgb(220, 220, 220)",ghostwhite:"rgb(248, 248, 255)",gold:"rgb(255, 215, 0)",gold1:"rgb(255, 215, 0)",gold2:"rgb(238, 201, 0)",gold3:"rgb(205, 173, 0)",gold4:"rgb(139, 117, 0)",goldenrod:"rgb(218, 165, 32)",goldenrod1:"rgb(255, 193, 37)",goldenrod2:"rgb(238, 180, 34)",goldenrod3:"rgb(205, 155, 29)",goldenrod4:"rgb(139, 105, 20)",gray:"rgb(190, 190, 190)",gray0:"rgb(0, 0, 0)",gray1:"rgb(3, 3, 3)",gray10:"rgb(26, 26, 26)",gray100:"rgb(255, 255, 255)",gray11:"rgb(28, 28, 28)",gray12:"rgb(31, 31, 31)",gray13:"rgb(33, 33, 33)",gray14:"rgb(36, 36, 36)",gray15:"rgb(38, 38, 38)",gray16:"rgb(41, 41, 41)",gray17:"rgb(43, 43, 43)",gray18:"rgb(46, 46, 46)",gray19:"rgb(48, 48, 48)",gray2:"rgb(5, 5, 5)",gray20:"rgb(51, 51, 51)",gray21:"rgb(54, 54, 54)",gray22:"rgb(56, 56, 56)",gray23:"rgb(59, 59, 59)",gray24:"rgb(61, 61, 61)",gray25:"rgb(64, 64, 64)",gray26:"rgb(66, 66, 66)",gray27:"rgb(69, 69, 69)",gray28:"rgb(71, 71, 71)",gray29:"rgb(74, 74, 74)",gray3:"rgb(8, 8, 8)",gray30:"rgb(77, 77, 77)",gray31:"rgb(79, 79, 79)",gray32:"rgb(82, 82, 82)",gray33:"rgb(84, 84, 84)",gray34:"rgb(87, 87, 87)",gray35:"rgb(89, 89, 89)",gray36:"rgb(92, 92, 92)",gray37:"rgb(94, 94, 94)",gray38:"rgb(97, 97, 97)",gray39:"rgb(99, 99, 99)",gray4:"rgb(10, 10, 10)",gray40:"rgb(102, 102, 102)",gray41:"rgb(105, 105, 105)",gray42:"rgb(107, 107, 107)",gray43:"rgb(110, 110, 110)",gray44:"rgb(112, 112, 112)",gray45:"rgb(115, 115, 115)",gray46:"rgb(117, 117, 117)",gray47:"rgb(120, 120, 120)",gray48:"rgb(122, 122, 122)",gray49:"rgb(125, 125, 125)",gray5:"rgb(13, 13, 13)",gray50:"rgb(127, 127, 127)",gray51:"rgb(130, 130, 130)",gray52:"rgb(133, 133, 133)",gray53:"rgb(135, 135, 135)",gray54:"rgb(138, 138, 138)",gray55:"rgb(140, 140, 140)",gray56:"rgb(143, 143, 143)",gray57:"rgb(145, 145, 145)",gray58:"rgb(148, 148, 148)",gray59:"rgb(150, 150, 150)",gray6:"rgb(15, 15, 15)",gray60:"rgb(153, 153, 153)",gray61:"rgb(156, 156, 156)",gray62:"rgb(158, 158, 158)",gray63:"rgb(161, 161, 161)",gray64:"rgb(163, 163, 163)",gray65:"rgb(166, 166, 166)",gray66:"rgb(168, 168, 168)",gray67:"rgb(171, 171, 171)",gray68:"rgb(173, 173, 173)",gray69:"rgb(176, 176, 176)",gray7:"rgb(18, 18, 18)",gray70:"rgb(179, 179, 179)",gray71:"rgb(181, 181, 181)",gray72:"rgb(184, 184, 184)",gray73:"rgb(186, 186, 186)",gray74:"rgb(189, 189, 189)",gray75:"rgb(191, 191, 191)",gray76:"rgb(194, 194, 194)",gray77:"rgb(196, 196, 196)",gray78:"rgb(199, 199, 199)",gray79:"rgb(201, 201, 201)",gray8:"rgb(20, 20, 20)",gray80:"rgb(204, 204, 204)",gray81:"rgb(207, 207, 207)",gray82:"rgb(209, 209, 209)",gray83:"rgb(212, 212, 212)",gray84:"rgb(214, 214, 214)",gray85:"rgb(217, 217, 217)",gray86:"rgb(219, 219, 219)",gray87:"rgb(222, 222, 222)",gray88:"rgb(224, 224, 224)",gray89:"rgb(227, 227, 227)",gray9:"rgb(23, 23, 23)",gray90:"rgb(229, 229, 229)",gray91:"rgb(232, 232, 232)",gray92:"rgb(235, 235, 235)",gray93:"rgb(237, 237, 237)",gray94:"rgb(240, 240, 240)",gray95:"rgb(242, 242, 242)",gray96:"rgb(245, 245, 245)",gray97:"rgb(247, 247, 247)",gray98:"rgb(250, 250, 250)",gray99:"rgb(252, 252, 252)",green:"rgb(0, 255, 0)",green1:"rgb(0, 255, 0)",green2:"rgb(0, 238, 0)",green3:"rgb(0, 205, 0)",green4:"rgb(0, 139, 0)",greenyellow:"rgb(173, 255, 47)",grey:"rgb(190, 190, 190)",grey0:"rgb(0, 0, 0)",grey1:"rgb(3, 3, 3)",grey10:"rgb(26, 26, 26)",grey100:"rgb(255, 255, 255)",grey11:"rgb(28, 28, 28)",grey12:"rgb(31, 31, 31)",grey13:"rgb(33, 33, 33)",grey14:"rgb(36, 36, 36)",grey15:"rgb(38, 38, 38)",grey16:"rgb(41, 41, 41)",grey17:"rgb(43, 43, 43)",grey18:"rgb(46, 46, 46)",grey19:"rgb(48, 48, 48)",grey2:"rgb(5, 5, 5)",grey20:"rgb(51, 51, 51)",grey21:"rgb(54, 54, 54)",grey22:"rgb(56, 56, 56)",grey23:"rgb(59, 59, 59)",grey24:"rgb(61, 61, 61)",grey25:"rgb(64, 64, 64)",grey26:"rgb(66, 66, 66)",grey27:"rgb(69, 69, 69)",grey28:"rgb(71, 71, 71)",grey29:"rgb(74, 74, 74)",grey3:"rgb(8, 8, 8)",grey30:"rgb(77, 77, 77)",grey31:"rgb(79, 79, 79)",grey32:"rgb(82, 82, 82)",grey33:"rgb(84, 84, 84)",grey34:"rgb(87, 87, 87)",grey35:"rgb(89, 89, 89)",grey36:"rgb(92, 92, 92)",grey37:"rgb(94, 94, 94)",grey38:"rgb(97, 97, 97)",grey39:"rgb(99, 99, 99)",grey4:"rgb(10, 10, 10)",grey40:"rgb(102, 102, 102)",grey41:"rgb(105, 105, 105)",grey42:"rgb(107, 107, 107)",grey43:"rgb(110, 110, 110)",grey44:"rgb(112, 112, 112)",grey45:"rgb(115, 115, 115)",grey46:"rgb(117, 117, 117)",grey47:"rgb(120, 120, 120)",grey48:"rgb(122, 122, 122)",grey49:"rgb(125, 125, 125)",grey5:"rgb(13, 13, 13)",grey50:"rgb(127, 127, 127)",grey51:"rgb(130, 130, 130)",grey52:"rgb(133, 133, 133)",grey53:"rgb(135, 135, 135)",grey54:"rgb(138, 138, 138)",grey55:"rgb(140, 140, 140)",grey56:"rgb(143, 143, 143)",grey57:"rgb(145, 145, 145)",grey58:"rgb(148, 148, 148)",grey59:"rgb(150, 150, 150)",grey6:"rgb(15, 15, 15)",grey60:"rgb(153, 153, 153)",grey61:"rgb(156, 156, 156)",grey62:"rgb(158, 158, 158)",grey63:"rgb(161, 161, 161)",grey64:"rgb(163, 163, 163)",grey65:"rgb(166, 166, 166)",grey66:"rgb(168, 168, 168)",grey67:"rgb(171, 171, 171)",grey68:"rgb(173, 173, 173)",grey69:"rgb(176, 176, 176)",grey7:"rgb(18, 18, 18)",grey70:"rgb(179, 179, 179)",grey71:"rgb(181, 181, 181)",grey72:"rgb(184, 184, 184)",grey73:"rgb(186, 186, 186)",grey74:"rgb(189, 189, 189)",grey75:"rgb(191, 191, 191)",grey76:"rgb(194, 194, 194)",grey77:"rgb(196, 196, 196)",grey78:"rgb(199, 199, 199)",grey79:"rgb(201, 201, 201)",grey8:"rgb(20, 20, 20)",grey80:"rgb(204, 204, 204)",grey81:"rgb(207, 207, 207)",grey82:"rgb(209, 209, 209)",grey83:"rgb(212, 212, 212)",grey84:"rgb(214, 214, 214)",grey85:"rgb(217, 217, 217)",grey86:"rgb(219, 219, 219)",grey87:"rgb(222, 222, 222)",grey88:"rgb(224, 224, 224)",grey89:"rgb(227, 227, 227)",grey9:"rgb(23, 23, 23)",grey90:"rgb(229, 229, 229)",grey91:"rgb(232, 232, 232)",grey92:"rgb(235, 235, 235)",grey93:"rgb(237, 237, 237)",grey94:"rgb(240, 240, 240)",grey95:"rgb(242, 242, 242)",grey96:"rgb(245, 245, 245)",grey97:"rgb(247, 247, 247)",grey98:"rgb(250, 250, 250)",grey99:"rgb(252, 252, 252)",honeydew:"rgb(240, 255, 240)",honeydew1:"rgb(240, 255, 240)",honeydew2:"rgb(224, 238, 224)",honeydew3:"rgb(193, 205, 193)",honeydew4:"rgb(131, 139, 131)",hotpink:"rgb(255, 105, 180)",hotpink1:"rgb(255, 110, 180)",hotpink2:"rgb(238, 106, 167)",hotpink3:"rgb(205, 96, 144)",hotpink4:"rgb(139, 58, 98)",indianred:"rgb(205, 92, 92)",indianred1:"rgb(255, 106, 106)",indianred2:"rgb(238, 99, 99)",indianred3:"rgb(205, 85, 85)",indianred4:"rgb(139, 58, 58)",ivory:"rgb(255, 255, 240)",ivory1:"rgb(255, 255, 240)",ivory2:"rgb(238, 238, 224)",ivory3:"rgb(205, 205, 193)",ivory4:"rgb(139, 139, 131)",khaki:"rgb(240, 230, 140)",khaki1:"rgb(255, 246, 143)",khaki2:"rgb(238, 230, 133)",khaki3:"rgb(205, 198, 115)",khaki4:"rgb(139, 134, 78)",lavender:"rgb(230, 230, 250)",lavenderblush:"rgb(255, 240, 245)",lavenderblush1:"rgb(255, 240, 245)",lavenderblush2:"rgb(238, 224, 229)",lavenderblush3:"rgb(205, 193, 197)",lavenderblush4:"rgb(139, 131, 134)",lawngreen:"rgb(124, 252, 0)",lemonchiffon:"rgb(255, 250, 205)",lemonchiffon1:"rgb(255, 250, 205)",lemonchiffon2:"rgb(238, 233, 191)",lemonchiffon3:"rgb(205, 201, 165)",lemonchiffon4:"rgb(139, 137, 112)",lightblue:"rgb(173, 216, 230)",lightblue1:"rgb(191, 239, 255)",lightblue2:"rgb(178, 223, 238)",lightblue3:"rgb(154, 192, 205)",lightblue4:"rgb(104, 131, 139)",lightcoral:"rgb(240, 128, 128)",lightcyan:"rgb(224, 255, 255)",lightcyan1:"rgb(224, 255, 255)",lightcyan2:"rgb(209, 238, 238)",lightcyan3:"rgb(180, 205, 205)",lightcyan4:"rgb(122, 139, 139)",lightgoldenrod:"rgb(238, 221, 130)",lightgoldenrod1:"rgb(255, 236, 139)",lightgoldenrod2:"rgb(238, 220, 130)",lightgoldenrod3:"rgb(205, 190, 112)",lightgoldenrod4:"rgb(139, 129, 76)",lightgoldenrodyellow:"rgb(250, 250, 210)",lightgray:"rgb(211, 211, 211)",lightgreen:"rgb(144, 238, 144)",lightgrey:"rgb(211, 211, 211)",lightpink:"rgb(255, 182, 193)",lightpink1:"rgb(255, 174, 185)",lightpink2:"rgb(238, 162, 173)",lightpink3:"rgb(205, 140, 149)",lightpink4:"rgb(139, 95, 101)",lightsalmon:"rgb(255, 160, 122)",lightsalmon1:"rgb(255, 160, 122)",lightsalmon2:"rgb(238, 149, 114)",lightsalmon3:"rgb(205, 129, 98)",lightsalmon4:"rgb(139, 87, 66)",lightseagreen:"rgb(32, 178, 170)",lightskyblue:"rgb(135, 206, 250)",lightskyblue1:"rgb(176, 226, 255)",lightskyblue2:"rgb(164, 211, 238)",lightskyblue3:"rgb(141, 182, 205)",lightskyblue4:"rgb(96, 123, 139)",lightslateblue:"rgb(132, 112, 255)",lightslategray:"rgb(119, 136, 153)",lightslategrey:"rgb(119, 136, 153)",lightsteelblue:"rgb(176, 196, 222)",lightsteelblue1:"rgb(202, 225, 255)",lightsteelblue2:"rgb(188, 210, 238)",lightsteelblue3:"rgb(162, 181, 205)",lightsteelblue4:"rgb(110, 123, 139)",lightyellow:"rgb(255, 255, 224)",lightyellow1:"rgb(255, 255, 224)",lightyellow2:"rgb(238, 238, 209)",lightyellow3:"rgb(205, 205, 180)",lightyellow4:"rgb(139, 139, 122)",limegreen:"rgb(50, 205, 50)",linen:"rgb(250, 240, 230)",magenta:"rgb(255, 0, 255)",magenta1:"rgb(255, 0, 255)",magenta2:"rgb(238, 0, 238)",magenta3:"rgb(205, 0, 205)",magenta4:"rgb(139, 0, 139)",maroon:"rgb(176, 48, 96)",maroon1:"rgb(255, 52, 179)",maroon2:"rgb(238, 48, 167)",maroon3:"rgb(205, 41, 144)",maroon4:"rgb(139, 28, 98)",mediumaquamarine:"rgb(102, 205, 170)",mediumblue:"rgb(0, 0, 205)",mediumorchid:"rgb(186, 85, 211)",mediumorchid1:"rgb(224, 102, 255)",mediumorchid2:"rgb(209, 95, 238)",mediumorchid3:"rgb(180, 82, 205)",mediumorchid4:"rgb(122, 55, 139)",mediumpurple:"rgb(147, 112, 219)",mediumpurple1:"rgb(171, 130, 255)",mediumpurple2:"rgb(159, 121, 238)",mediumpurple3:"rgb(137, 104, 205)",mediumpurple4:"rgb(93, 71, 139)",mediumseagreen:"rgb(60, 179, 113)",mediumslateblue:"rgb(123, 104, 238)",mediumspringgreen:"rgb(0, 250, 154)",mediumturquoise:"rgb(72, 209, 204)",mediumvioletred:"rgb(199, 21, 133)",midnightblue:"rgb(25, 25, 112)",mintcream:"rgb(245, 255, 250)",mistyrose:"rgb(255, 228, 225)",mistyrose1:"rgb(255, 228, 225)",mistyrose2:"rgb(238, 213, 210)",mistyrose3:"rgb(205, 183, 181)",mistyrose4:"rgb(139, 125, 123)",moccasin:"rgb(255, 228, 181)",navajowhite:"rgb(255, 222, 173)",navajowhite1:"rgb(255, 222, 173)",navajowhite2:"rgb(238, 207, 161)",navajowhite3:"rgb(205, 179, 139)",navajowhite4:"rgb(139, 121, 94)",navy:"rgb(0, 0, 128)",navyblue:"rgb(0, 0, 128)",oldlace:"rgb(253, 245, 230)",olivedrab:"rgb(107, 142, 35)",olivedrab1:"rgb(192, 255, 62)",olivedrab2:"rgb(179, 238, 58)",olivedrab3:"rgb(154, 205, 50)",olivedrab4:"rgb(105, 139, 34)",orange:"rgb(255, 165, 0)",orange1:"rgb(255, 165, 0)",orange2:"rgb(238, 154, 0)",orange3:"rgb(205, 133, 0)",orange4:"rgb(139, 90, 0)",orangered:"rgb(255, 69, 0)",orangered1:"rgb(255, 69, 0)",orangered2:"rgb(238, 64, 0)",orangered3:"rgb(205, 55, 0)",orangered4:"rgb(139, 37, 0)",orchid:"rgb(218, 112, 214)",orchid1:"rgb(255, 131, 250)",orchid2:"rgb(238, 122, 233)",orchid3:"rgb(205, 105, 201)",orchid4:"rgb(139, 71, 137)",palegoldenrod:"rgb(238, 232, 170)",palegreen:"rgb(152, 251, 152)",palegreen1:"rgb(154, 255, 154)",palegreen2:"rgb(144, 238, 144)",palegreen3:"rgb(124, 205, 124)",palegreen4:"rgb(84, 139, 84)",paleturquoise:"rgb(175, 238, 238)",paleturquoise1:"rgb(187, 255, 255)",paleturquoise2:"rgb(174, 238, 238)",paleturquoise3:"rgb(150, 205, 205)",paleturquoise4:"rgb(102, 139, 139)",palevioletred:"rgb(219, 112, 147)",palevioletred1:"rgb(255, 130, 171)",palevioletred2:"rgb(238, 121, 159)",palevioletred3:"rgb(205, 104, 137)",palevioletred4:"rgb(139, 71, 93)",papayawhip:"rgb(255, 239, 213)",peachpuff:"rgb(255, 218, 185)",peachpuff1:"rgb(255, 218, 185)",peachpuff2:"rgb(238, 203, 173)",peachpuff3:"rgb(205, 175, 149)",peachpuff4:"rgb(139, 119, 101)",peru:"rgb(205, 133, 63)",pink:"rgb(255, 192, 203)",pink1:"rgb(255, 181, 197)",pink2:"rgb(238, 169, 184)",pink3:"rgb(205, 145, 158)",pink4:"rgb(139, 99, 108)",plum:"rgb(221, 160, 221)",plum1:"rgb(255, 187, 255)",plum2:"rgb(238, 174, 238)",plum3:"rgb(205, 150, 205)",plum4:"rgb(139, 102, 139)",powderblue:"rgb(176, 224, 230)",purple:"rgb(160, 32, 240)",purple1:"rgb(155, 48, 255)",purple2:"rgb(145, 44, 238)",purple3:"rgb(125, 38, 205)",purple4:"rgb(85, 26, 139)",red:"rgb(255, 0, 0)",red1:"rgb(255, 0, 0)",red2:"rgb(238, 0, 0)",red3:"rgb(205, 0, 0)",red4:"rgb(139, 0, 0)",rosybrown:"rgb(188, 143, 143)",rosybrown1:"rgb(255, 193, 193)",rosybrown2:"rgb(238, 180, 180)",rosybrown3:"rgb(205, 155, 155)",rosybrown4:"rgb(139, 105, 105)",royalblue:"rgb(65, 105, 225)",royalblue1:"rgb(72, 118, 255)",royalblue2:"rgb(67, 110, 238)",royalblue3:"rgb(58, 95, 205)",royalblue4:"rgb(39, 64, 139)",saddlebrown:"rgb(139, 69, 19)",salmon:"rgb(250, 128, 114)",salmon1:"rgb(255, 140, 105)",salmon2:"rgb(238, 130, 98)",salmon3:"rgb(205, 112, 84)",salmon4:"rgb(139, 76, 57)",sandybrown:"rgb(244, 164, 96)",seagreen:"rgb(46, 139, 87)",seagreen1:"rgb(84, 255, 159)",seagreen2:"rgb(78, 238, 148)",seagreen3:"rgb(67, 205, 128)",seagreen4:"rgb(46, 139, 87)",seashell:"rgb(255, 245, 238)",seashell1:"rgb(255, 245, 238)",seashell2:"rgb(238, 229, 222)",seashell3:"rgb(205, 197, 191)",seashell4:"rgb(139, 134, 130)",sienna:"rgb(160, 82, 45)",sienna1:"rgb(255, 130, 71)",sienna2:"rgb(238, 121, 66)",sienna3:"rgb(205, 104, 57)",sienna4:"rgb(139, 71, 38)",skyblue:"rgb(135, 206, 235)",skyblue1:"rgb(135, 206, 255)",skyblue2:"rgb(126, 192, 238)",skyblue3:"rgb(108, 166, 205)",skyblue4:"rgb(74, 112, 139)",slateblue:"rgb(106, 90, 205)",slateblue1:"rgb(131, 111, 255)",slateblue2:"rgb(122, 103, 238)",slateblue3:"rgb(105, 89, 205)",slateblue4:"rgb(71, 60, 139)",slategray:"rgb(112, 128, 144)",slategray1:"rgb(198, 226, 255)",slategray2:"rgb(185, 211, 238)",slategray3:"rgb(159, 182, 205)",slategray4:"rgb(108, 123, 139)",slategrey:"rgb(112, 128, 144)",snow:"rgb(255, 250, 250)",snow1:"rgb(255, 250, 250)",snow2:"rgb(238, 233, 233)",snow3:"rgb(205, 201, 201)",snow4:"rgb(139, 137, 137)",springgreen:"rgb(0, 255, 127)",springgreen1:"rgb(0, 255, 127)",springgreen2:"rgb(0, 238, 118)",springgreen3:"rgb(0, 205, 102)",springgreen4:"rgb(0, 139, 69)",steelblue:"rgb(70, 130, 180)",steelblue1:"rgb(99, 184, 255)",steelblue2:"rgb(92, 172, 238)",steelblue3:"rgb(79, 148, 205)",steelblue4:"rgb(54, 100, 139)",tan:"rgb(210, 180, 140)",tan1:"rgb(255, 165, 79)",tan2:"rgb(238, 154, 73)",tan3:"rgb(205, 133, 63)",tan4:"rgb(139, 90, 43)",thistle:"rgb(216, 191, 216)",thistle1:"rgb(255, 225, 255)",thistle2:"rgb(238, 210, 238)",thistle3:"rgb(205, 181, 205)",thistle4:"rgb(139, 123, 139)",tomato:"rgb(255, 99, 71)",tomato1:"rgb(255, 99, 71)",tomato2:"rgb(238, 92, 66)",tomato3:"rgb(205, 79, 57)",tomato4:"rgb(139, 54, 38)",turquoise:"rgb(64, 224, 208)",turquoise1:"rgb(0, 245, 255)",turquoise2:"rgb(0, 229, 238)",turquoise3:"rgb(0, 197, 205)",turquoise4:"rgb(0, 134, 139)",violet:"rgb(238, 130, 238)",violetred:"rgb(208, 32, 144)",violetred1:"rgb(255, 62, 150)",violetred2:"rgb(238, 58, 140)",violetred3:"rgb(205, 50, 120)",violetred4:"rgb(139, 34, 82)",wheat:"rgb(245, 222, 179)",wheat1:"rgb(255, 231, 186)",wheat2:"rgb(238, 216, 174)",wheat3:"rgb(205, 186, 150)",wheat4:"rgb(139, 126, 102)",white:"rgb(255, 255, 255)",whitesmoke:"rgb(245, 245, 245)",yellow:"rgb(255, 255, 0)",yellow1:"rgb(255, 255, 0)",yellow2:"rgb(238, 238, 0)",yellow3:"rgb(205, 205, 0)",yellow4:"rgb(139, 139, 0)",yellowgreen:"rgb(154, 205, 50)"},t.f={},t.f.createEnum=function(e){return new String(e)},t.f.replaceVars=function(e,r){return e.replace(/%([a-z]*)\(([^\)]+)\)/gi,(function(e,i,o){if(void 0===r[o])throw"Unknown variable: "+o;var n=r[o];if(i in t.f.replaceVars.functions)n=t.f.replaceVars.functions[i](n);else if(i)throw"Unknown escape function: "+i;return n}))},t.f.replaceVars.functions={encodeURI,encodeURIComponent,escapeHTML:function(e){var t={"<":"<",">":">","&":"&",'"':""","'":"'"};return e.replace(/[<>&\"\']/g,(function(e){return t[e]}))}},t.f.getAcceptLanguages=function(e){t.f.getAcceptLanguages.chromeSupported()?chrome.i18n.getAcceptLanguages(e):setTimeout((function(){e([navigator.language.replace(/-/g,"_")])}),0)},t.f.getAcceptLanguages.chromeSupported=function(){return window.chrome&&chrome.i18n},t.f.parseQuery=function(e){e.startsWith("?")&&(e=e.substr(1));for(var t={},r=e.split("&"),i=0;ir?r:e},t.f.zpad=function(e,t){return String(e).padStart(t,"0")},t.f.getWhitespace=function(e){if(e<=0)return"";var t=this.getWhitespace;for(t.whitespace||(t.whitespace=" ");e>t.whitespace.length;)t.whitespace+=t.whitespace;return t.whitespace.substr(0,e)},t.f.alarm=function(e,r){var i,o,n=r||5e3,s=t.f.getStack(1);return i=setTimeout((function(){var t="string"==typeof e?t:e.name;t=t?": "+t:"",console.warn("lib.f.alarm: timeout expired: "+n/1e3+"s"+t),console.log(s),i=null}),n),o=function(e){return function(){return i&&(clearTimeout(i),i=null),e.apply(null,arguments)}},"string"==typeof e?o:o(e)},t.f.getStack=function(e){var t,r=e?e+2:2;try{throw new Error}catch(e){t=e.stack.split("\n")}for(var i={},o=r;o=0&&this.observers.splice(t,1)},t.PreferenceManager.Record.prototype.get=function(){return this.currentValue===this.DEFAULT_VALUE?/^(string|number)$/.test(typeof this.defaultValue)?this.defaultValue:"object"==typeof this.defaultValue?JSON.parse(JSON.stringify(this.defaultValue)):this.defaultValue:this.currentValue},t.PreferenceManager.prototype.deactivate=function(){if(!this.isActive_)throw new Error("Not activated");this.isActive_=!1,this.storage.removeObserver(this.storageObserver_)},t.PreferenceManager.prototype.activate=function(){if(this.isActive_)throw new Error("Already activated");this.isActive_=!0,this.storage.addObserver(this.storageObserver_)},t.PreferenceManager.prototype.readStorage=function(e){var t=0;function r(){0==--t&&e&&e()}var i=Object.keys(this.prefRecords_).map(function(e){return this.prefix+e}.bind(this));this.trace&&console.log("Preferences read: "+this.prefix),this.storage.getItems(i,function(i){var o=this.prefix.length;for(var n in i){var s=i[n],a=n.substr(o),c=a in this.childLists_&&JSON.stringify(s)!=JSON.stringify(this.prefRecords_[a].currentValue);this.prefRecords_[a].currentValue=s,c&&(t++,this.syncChildList(a,r))}0==t&&e&&setTimeout(e)}.bind(this))},t.PreferenceManager.prototype.definePreference=function(e,r,i){var o=this.prefRecords_[e];o?this.changeDefault(e,r):o=this.prefRecords_[e]=new t.PreferenceManager.Record(e,r),i&&o.addObserver(i)},t.PreferenceManager.prototype.definePreferences=function(e){for(var t=0;t=0&&s.splice(l,1),!this.childLists_[e][c]){var h=this.childFactories_[e](this,c);if(!h){console.warn("Unable to restore child: "+e+": "+c);continue}h.trace=this.trace,this.childLists_[e][c]=h,i++,h.readStorage(o)}}for(a=0;a=0;i--){var o=e[i],n=this.storage_.getItem(o);if("string"==typeof n)try{r[o]=JSON.parse(n)}catch(e){r[o]=n}else e.splice(i,1)}setTimeout(t.bind(null,r),0)},t.Storage.Local.prototype.setItem=function(e,t,r){this.storage_.setItem(e,JSON.stringify(t)),r&&setTimeout(r,0)},t.Storage.Local.prototype.setItems=function(e,t){for(var r in e)this.storage_.setItem(r,JSON.stringify(e[r]));t&&setTimeout(t,0)},t.Storage.Local.prototype.removeItem=function(e,t){this.storage_.removeItem(e),t&&setTimeout(t,0)},t.Storage.Local.prototype.removeItems=function(e,t){for(var r=0;r=0;i--){var o=e[i],n=this.storage_[o];if("string"==typeof n)try{r[o]=JSON.parse(n)}catch(e){r[o]=n}else e.splice(i,1)}setTimeout(t.bind(null,r),0)},t.Storage.Memory.prototype.setItem=function(e,t,r){var i=this.storage_[e];this.storage_[e]=JSON.stringify(t);var o={};o[e]={oldValue:i,newValue:t},setTimeout(function(){for(var e=0;e{let t="";switch(e){case"debug":case"warn":case"error":t=e.toUpperCase()+": "}const r=this.console_[e];this[e]=this.console_[e]=(...e)=>{this.save&&(this.data+=this.prefix_+t+e.join(" ")+"\n"),r.apply(this.console_,e)}})),["group","groupCollapsed"].forEach((e=>{const t=this.console_[e];this[e]=this.console_[e]=(e="")=>{t(e),this.save&&(this.data+=this.prefix_+e+"\n"),this.prefix_=" ".repeat(++this.prefixStack_)}}));const t=this.console_.groupEnd;this.groupEnd=this.console_.groupEnd=()=>{t(),this.prefix_=" ".repeat(--this.prefixStack_)}},t.TestManager.Suite=function(e){function r(t,r){this.testManager_=t,this.suiteName=e,this.setup(r)}return r.suiteName=e,r.addTest=t.TestManager.Suite.addTest,r.disableTest=t.TestManager.Suite.disableTest,r.getTest=t.TestManager.Suite.getTest,r.getTestList=t.TestManager.Suite.getTestList,r.testList_=[],r.testMap_={},r.prototype=Object.create(t.TestManager.Suite.prototype),r.constructor=t.TestManager.Suite,t.TestManager.Suite.subclasses.push(r),r},t.TestManager.Suite.subclasses=[],t.TestManager.Suite.addTest=function(e,r){if(e in this.testMap_)throw"Duplicate test name: "+e;var i=new t.TestManager.Test(this,e,r);this.testMap_[e]=i,this.testList_.push(i)},t.TestManager.Suite.disableTest=function(e,r){if(e in this.testMap_)throw"Duplicate test name: "+e;var i=new t.TestManager.Test(this,e,r);console.log("Disabled test: "+i.fullName)},t.TestManager.Suite.getTest=function(e){return this.testMap_[e]},t.TestManager.Suite.getTestList=function(){return this.testList_},t.TestManager.Suite.prototype.setDefaults=function(e,t){for(var r in t)this[r]=r in e?e[r]:t[r]},t.TestManager.Suite.prototype.setup=function(e){},t.TestManager.Suite.prototype.preamble=function(e,t){},t.TestManager.Suite.prototype.postamble=function(e,t){},t.TestManager.Test=function(e,t,r){this.suiteClass=e,this.testName=t,this.fullName=e.suiteName+"["+t+"]",this.testFunction_=r},t.TestManager.Test.prototype.run=function(e){try{this.testFunction_.apply(e.suite,[e,e.testRun.cx])}catch(r){if(r instanceof t.TestManager.Result.TestComplete)return;e.println("Test raised an exception: "+r),r.stack&&(r.stack instanceof Array?e.println(r.stack.join("\n")):e.println(r.stack)),e.completeTest_(e.FAILED,!1)}},t.TestManager.TestRun=function(e,t){this.testManager=e,this.log=e.log,this.cx=t||{},this.failures=[],this.passes=[],this.startDate=null,this.duration=null,this.currentResult=null,this.maxFailures=0,this.panic=!1,this.testQueue_=[]},t.TestManager.TestRun.prototype.ALL_TESTS=t.f.createEnum(""),t.TestManager.TestRun.prototype.selectTest=function(e){this.testQueue_.push(e)},t.TestManager.TestRun.prototype.selectSuite=function(e,t){for(var r=t||this.ALL_TESTS,i=0,o=e.getTestList(),n=0;n500&&this.log.warn("Slow test took "+this.msToSeconds_(e.duration)),this.log.groupEnd(),e.status==e.FAILED)this.failures.push(e),this.currentSuite=null;else{if(e.status!=e.PASSED)return this.log.error("Unknown result status: "+e.test.fullName+": "+e.status),this.panic=!0;this.passes.push(e)}this.runNextTest_()},t.TestManager.TestRun.prototype.onResultReComplete=function(e,t){this.log.error("Late complete for test: "+e.test.fullName+": "+t);var r=this.passes.indexOf(e);r>=0&&(this.passes.splice(r,1),this.failures.push(e))},t.TestManager.TestRun.prototype.runNextTest_=function(){if(this.panic||!this.testQueue_.length)return this.onTestRunComplete_();if(this.maxFailures&&this.failures.length>=this.maxFailures)return this.log.error("Maximum failure count reached, aborting test run."),this.onTestRunComplete_();var e=this.testQueue_[0],r=this.currentResult?this.currentResult.suite:null;try{r&&r instanceof e.suiteClass||(r&&this.log.groupEnd(),this.log.group(e.suiteClass.suiteName),r=new e.suiteClass(this.testManager,this.cx))}catch(e){return this.log.error("Exception during setup: "+(e.stack?e.stack:e)),this.panic=!0,void this.onTestRunComplete_()}try{this.log.group(e.testName),this.currentResult=new t.TestManager.Result(this,r,e),this.testManager.testPreamble(this.currentResult,this.cx),r.preamble(this.currentResult,this.cx),this.testQueue_.shift()}catch(e){return this.log.error("Unexpected exception during test preamble: "+(e.stack?e.stack:e)),this.log.groupEnd(),this.panic=!0,void this.onTestRunComplete_()}try{this.currentResult.run()}catch(e){this.log.error("Unexpected exception during test run: "+(e.stack?e.stack:e)),this.panic=!0}},t.TestManager.TestRun.prototype.run=function(){this.log.info("Running "+this.testQueue_.length+" test(s)"),window.onerror=this.onUncaughtException_.bind(this),this.startDate=new Date,this.runNextTest_()},t.TestManager.TestRun.prototype.msToSeconds_=function(e){return(e/1e3).toFixed(2)+"s"},t.TestManager.TestRun.prototype.summarize=function(){if(this.failures.length)for(var e=0;e1?"\n"+t.join("\n"):t.join("\n")}if(e!==t&&!(t instanceof Array&&this.arrayEQ_(e,t))){var o=r?"["+r+"]":"";this.fail("assertEQ"+o+": "+this.getCallerLocation_(1)+": "+i(e)+" !== "+i(t))}},t.TestManager.Result.prototype.assert=function(e,t){if(!0!==e){var r=t?"["+t+"]":"";this.fail("assert"+r+": "+this.getCallerLocation_(1)+": "+String(e))}},t.TestManager.Result.prototype.getCallerLocation_=function(e){try{throw new Error}catch(r){var t=r.stack.split("\n")[e+2].match(/([^/]+:\d+):\d+\)?$/);return t?t[1]:"???"}},t.TestManager.Result.prototype.println=function(e){this.testRun.log.info(e)},t.TestManager.Result.prototype.fail=function(e){arguments.length&&this.println(e),this.completeTest_(this.FAILED,!0)},t.TestManager.Result.prototype.pass=function(){this.completeTest_(this.PASSED,!0)},t.UTF8Decoder=function(){this.bytesLeft=0,this.codePoint=0,this.lowerBound=0},t.UTF8Decoder.prototype.decode=function(e){for(var t="",r=0;r1114111?t+="�":o<65536?t+=String.fromCharCode(o):(o-=65536,t+=String.fromCharCode(55296+(o>>>10&1023),56320+(1023&o)))}}else t+="�",this.bytesLeft=0,r--}return t},t.decodeUTF8=function(e){return(new t.UTF8Decoder).decode(e)},t.encodeUTF8=function(e){for(var t="",r=0;r>>6),i=1):o<=65535?(t+=String.fromCharCode(224|o>>>12),i=2):(t+=String.fromCharCode(240|o>>>18),i=3);i>0;)i--,t+=String.fromCharCode(128|o>>>6*i&63)}return t},t.wc={},t.wc.nulWidth=0,t.wc.controlWidth=0,t.wc.regardCjkAmbiguous=!1,t.wc.cjkAmbiguousWidth=2,t.wc.combining=[[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],[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]],t.wc.ambiguous=[[161,161],[164,164],[167,168],[170,170],[174,174],[176,180],[182,186],[188,191],[198,198],[208,208],[215,216],[222,225],[230,230],[232,234],[236,237],[240,240],[242,243],[247,250],[252,252],[254,254],[257,257],[273,273],[275,275],[283,283],[294,295],[299,299],[305,307],[312,312],[319,322],[324,324],[328,331],[333,333],[338,339],[358,359],[363,363],[462,462],[464,464],[466,466],[468,468],[470,470],[472,472],[474,474],[476,476],[593,593],[609,609],[708,708],[711,711],[713,715],[717,717],[720,720],[728,731],[733,733],[735,735],[913,929],[931,937],[945,961],[963,969],[1025,1025],[1040,1103],[1105,1105],[8208,8208],[8211,8214],[8216,8217],[8220,8221],[8224,8226],[8228,8231],[8240,8240],[8242,8243],[8245,8245],[8251,8251],[8254,8254],[8308,8308],[8319,8319],[8321,8324],[8364,8364],[8451,8451],[8453,8453],[8457,8457],[8467,8467],[8470,8470],[8481,8482],[8486,8486],[8491,8491],[8531,8532],[8539,8542],[8544,8555],[8560,8569],[8592,8601],[8632,8633],[8658,8658],[8660,8660],[8679,8679],[8704,8704],[8706,8707],[8711,8712],[8715,8715],[8719,8719],[8721,8721],[8725,8725],[8730,8730],[8733,8736],[8739,8739],[8741,8741],[8743,8748],[8750,8750],[8756,8759],[8764,8765],[8776,8776],[8780,8780],[8786,8786],[8800,8801],[8804,8807],[8810,8811],[8814,8815],[8834,8835],[8838,8839],[8853,8853],[8857,8857],[8869,8869],[8895,8895],[8978,8978],[9312,9449],[9451,9547],[9552,9587],[9600,9615],[9618,9621],[9632,9633],[9635,9641],[9650,9651],[9654,9655],[9660,9661],[9664,9665],[9670,9672],[9675,9675],[9678,9681],[9698,9701],[9711,9711],[9733,9734],[9737,9737],[9742,9743],[9748,9749],[9756,9756],[9758,9758],[9792,9792],[9794,9794],[9824,9825],[9827,9829],[9831,9834],[9836,9837],[9839,9839],[10045,10045],[10102,10111],[57344,63743],[65533,65533],[983040,1048573],[1048576,1114109]],t.wc.isSpace=function(e){var r,i=0,o=t.wc.combining.length-1;if(et.wc.combining[o][1])return!1;for(;o>=i;)if(r=Math.floor((i+o)/2),e>t.wc.combining[r][1])i=r+1;else{if(!(et.wc.ambiguous[o][1])return!1;for(;o>=i;)if(r=Math.floor((i+o)/2),e>t.wc.ambiguous[r][1])i=r+1;else{if(!(e=127&&e<160?t.wc.controlWidth:e<127?1:t.wc.isSpace(e)?0:1+(e>=4352&&(e<=4447||9001==e||9002==e||e>=11904&&e<=42191&&12351!=e||e>=44032&&e<=55203||e>=63744&&e<=64255||e>=65040&&e<=65049||e>=65072&&e<=65135||e>=65280&&e<=65376||e>=65504&&e<=65510||e>=131072&&e<=196605||e>=196608&&e<=262141))},t.wc.charWidthRegardAmbiguous=function(e){return t.wc.isCjkAmbiguous(e)?t.wc.cjkAmbiguousWidth:t.wc.charWidthDisregardAmbiguous(e)},t.wc.strWidth=function(e){for(var r,i=0,o=0;or);o++);if(null!=i){for(n=o,s=0;ni&&n--,e.substring(o,n)}return e.substr(o)},t.wc.substring=function(e,r,i){return t.wc.substr(e,r,i-r)},t.resource.add("libdot/changelog/version","text/plain","1.16"),t.resource.add("libdot/changelog/date","text/plain","2017-08-16"),t.rtdep("lib.Storage");var r={windowType:null,zoomWarningMessage:"ZOOM != 100%",notifyCopyMessage:"✂",desktopNotificationTitle:"♪ %(title) ♪",testDeps:["hterm.ScrollPort.Tests","hterm.Screen.Tests","hterm.Terminal.Tests","hterm.VT.Tests","hterm.VT.CannedTests"]};t.registerInit("hterm",(function(e){function i(t){r.windowType=t.type,setTimeout(e,0)}r.defaultStorage||(window.chrome&&chrome.storage&&chrome.storage.sync?r.defaultStorage=new t.Storage.Chrome(chrome.storage.sync):r.defaultStorage=new t.Storage.Local);var o=!1;if(window.chrome&&chrome.runtime&&chrome.runtime.getManifest){var n=chrome.runtime.getManifest();o=n.app&&n.app.background}o?setTimeout(i.bind(null,{type:"popup"}),0):window.chrome&&chrome.tabs?chrome.tabs.getCurrent((function(t){t&&window.chrome?chrome.windows.get(t.windowId,null,i):(r.windowType="normal",setTimeout(e,0))})):setTimeout(i.bind(null,{type:"normal"}),0)})),r.getClientSize=function(e){return e.getBoundingClientRect()},r.getClientWidth=function(e){return e.getBoundingClientRect().width},r.getClientHeight=function(e){return e.getBoundingClientRect().height},r.copySelectionToClipboard=function(e){try{e.execCommand("copy")}catch(e){}},r.pasteFromClipboard=function(e){try{return e.execCommand("paste")}catch(e){return!1}},r.notify=function(e){var i=(e,t)=>void 0!==e?e:t;null==e&&(e={});var o={body:e.body,icon:i(e.icon,t.resource.getDataUrl("hterm/images/icon-96"))},n=i(e.title,window.document.title);n||(n="hterm"),n=t.f.replaceVars(r.desktopNotificationTitle,{title:n});var s=new Notification(n,o);return s.onclick=function(){window.focus(),this.close()},s},r.Size=function(e,t){this.width=e,this.height=t},r.Size.prototype.resize=function(e,t){this.width=e,this.height=t},r.Size.prototype.clone=function(){return new r.Size(this.width,this.height)},r.Size.prototype.setTo=function(e){this.width=e.width,this.height=e.height},r.Size.prototype.equals=function(e){return this.width==e.width&&this.height==e.height},r.Size.prototype.toString=function(){return"[hterm.Size: "+this.width+", "+this.height+"]"},r.RowCol=function(e,t,r){this.row=e,this.column=t,this.overflow=!!r},r.RowCol.prototype.move=function(e,t,r){this.row=e,this.column=t,this.overflow=!!r},r.RowCol.prototype.clone=function(){return new r.RowCol(this.row,this.column,this.overflow)},r.RowCol.prototype.setTo=function(e){this.row=e.row,this.column=e.column,this.overflow=e.overflow},r.RowCol.prototype.equals=function(e){return this.row==e.row&&this.column==e.column&&this.overflow==e.overflow},r.RowCol.prototype.toString=function(){return"[hterm.RowCol: "+this.row+", "+this.column+", "+this.overflow+"]"},t.rtdep("lib.f"),r.Frame=function(e,t,r){this.terminal_=e,this.div_=e.div_,this.url=t,this.options=r||{},this.iframe_=null,this.container_=null,this.messageChannel_=null},r.Frame.prototype.onMessage_=function(e){switch(e.data.name){case"ipc-init-ok":return void this.sendTerminalInfo_();case"terminal-info-ok":return this.container_.style.display="flex",this.messageChannel_.port1.onmessage=this.onMessage.bind(this),void this.onLoad();default:return void console.log("Unknown message from frame:",e.data)}},r.Frame.prototype.onMessage=function(){},r.Frame.prototype.onLoad_=function(){this.messageChannel_=new MessageChannel,this.messageChannel_.port1.onmessage=this.onMessage_.bind(this),this.messageChannel_.port1.start(),this.iframe_.contentWindow.postMessage({name:"ipc-init",argv:[{messagePort:this.messageChannel_.port2}]},this.url,[this.messageChannel_.port2])},r.Frame.prototype.onLoad=function(){},r.Frame.prototype.sendTerminalInfo_=function(){t.f.getAcceptLanguages(function(e){this.postMessage("terminal-info",[{acceptLanguages:e,foregroundColor:this.terminal_.getForegroundColor(),backgroundColor:this.terminal_.getBackgroundColor(),cursorColor:this.terminal_.getCursorColor(),fontSize:this.terminal_.getFontSize(),fontFamily:this.terminal_.getFontFamily(),baseURL:t.f.getURL("/")}])}.bind(this))},r.Frame.prototype.onCloseClicked_=function(){this.close()},r.Frame.prototype.close=function(){this.container_&&this.container_.parentNode&&(this.container_.parentNode.removeChild(this.container_),this.onClose())},r.Frame.prototype.onClose=function(){},r.Frame.prototype.postMessage=function(e,t){if(!this.messageChannel_)throw new Error("Message channel is not set up.");this.messageChannel_.port1.postMessage({name:e,argv:t})},r.Frame.prototype.show=function(){var e=this;function t(t,r){return t in e.options?e.options[t]:r}if(e=this,this.container_&&this.container_.parentNode)console.error("Frame already visible");else{var i=r.getClientSize(this.div_),o=(t("width",640),t("height",480),i.width,i.height,this.terminal_.document_),n=this.container_=o.createElement("div");n.style.cssText="position: absolute;display: none;flex-direction: column;top: 10%;left: 4%;width: 90%;height: 80%;min-height: 20%;max-height: 80%;box-shadow: 0 0 2px "+this.terminal_.getForegroundColor()+";border: 2px "+this.terminal_.getForegroundColor()+" solid;";var s=this.iframe_=o.createElement("iframe");s.onload=this.onLoad_.bind(this),s.style.cssText="display: flex;flex: 1;width: 100%",s.setAttribute("src",this.url),s.setAttribute("seamless",!0),n.appendChild(s),this.div_.appendChild(n)}},t.rtdep("hterm.Keyboard.KeyMap"),r.Keyboard=function(e){this.terminal=e,this.keyboardElement_=null,this.handlers_=[["focusout",this.onFocusOut_.bind(this)],["keydown",this.onKeyDown_.bind(this)],["keypress",this.onKeyPress_.bind(this)],["keyup",this.onKeyUp_.bind(this)],["textInput",this.onTextInput_.bind(this)]],this.keyMap=new r.Keyboard.KeyMap(this),this.bindings=new r.Keyboard.Bindings(this),this.altGrMode="none",this.shiftInsertPaste=!0,this.homeKeysScroll=!1,this.pageKeysScroll=!1,this.ctrlPlusMinusZeroZoom=!0,this.ctrlCCopy=!1,this.ctrlVPaste=!1,this.applicationKeypad=!1,this.applicationCursor=!1,this.backspaceSendsBackspace=!1,this.characterEncoding="utf-8",this.metaSendsEscape=!0,this.passMetaV=!0,this.altSendsWhat="escape",this.altIsMeta=!1,this.altBackspaceIsMetaBackspace=!1,this.altKeyPressed=0,this.mediaKeysAreFKeys=!1,this.previousAltSendsWhat_=null},r.Keyboard.KeyActions={CANCEL:t.f.createEnum("CANCEL"),DEFAULT:t.f.createEnum("DEFAULT"),PASS:t.f.createEnum("PASS"),STRIP:t.f.createEnum("STRIP")},r.Keyboard.prototype.encode=function(e){return"utf-8"==this.characterEncoding?this.terminal.vt.encodeUTF8(e):e},r.Keyboard.prototype.installKeyboard=function(e){if(e!=this.keyboardElement_){e&&this.keyboardElement_&&this.installKeyboard(null);for(var t=0;t=32&&(r=e.charCode);r&&this.terminal.onVTKeystroke(String.fromCharCode(r)),e.preventDefault(),e.stopPropagation()}},r.Keyboard.prototype.preventChromeAppNonCtrlShiftDefault_=function(e){window.chrome&&window.chrome.app&&window.chrome.app.window&&(e.ctrlKey&&e.shiftKey||e.preventDefault())},r.Keyboard.prototype.onFocusOut_=function(e){this.altKeyPressed=0},r.Keyboard.prototype.onKeyUp_=function(e){18==e.keyCode&&(this.altKeyPressed=this.altKeyPressed&~(1<=64&&b<=95&&(i=String.fromCharCode(b-64))),u&&"8-bit"==this.altSendsWhat&&1==i.length){var b=i.charCodeAt(0)+128;i=String.fromCharCode(b)}(u&&"escape"==this.altSendsWhat||d&&this.metaSendsEscape)&&(i=""+i)}this.terminal.onVTKeystroke(i)}else console.warn("Invalid action: "+JSON.stringify(i))}else console.warn("No definition for keyCode: "+e.keyCode)},r.Keyboard.Bindings=function(){this.bindings_={}},r.Keyboard.Bindings.prototype.clear=function(){this.bindings_={}},r.Keyboard.Bindings.prototype.addBinding_=function(e,t){var i=null,o=this.bindings_[e.keyCode];if(o)for(var n=0;n",d,s(p,f),d,d],[191,"/?",d,n(c("_"),c("?")),d,d],[17,"[CTRL]",f,f,f,f],[18,"[ALT]",f,f,f,f],[91,"[LAPL]",f,f,f,f],[32," ",d,c("@"),d,d],[92,"[RAPL]",f,f,f,f],[93,"[RMENU]",f,f,f,f],[42,"[PRTSCR]",f,f,f,f],[145,"[SCRLK]",f,f,f,f],[19,"[BREAK]",f,f,f,f],[45,"[INSERT]",l("onKeyInsert_"),d,d,d],[36,"[HOME]",l("onKeyHome_"),d,d,d],[33,"[PGUP]",l("onKeyPageUp_"),d,d,d],[46,"[DEL]",l("onKeyDel_"),d,d,d],[35,"[END]",l("onKeyEnd_"),d,d,d],[34,"[PGDOWN]",l("onKeyPageDown_"),d,d,d],[38,"[UP]",l("onKeyArrowUp_"),d,d,d],[40,"[DOWN]",l("onKeyArrowDown_"),d,d,d],[39,"[RIGHT]",i("","OC"),d,d,d],[37,"[LEFT]",i("","OD"),d,d,d],[144,"[NUMLOCK]",f,f,f,f],[96,"[KP0]",d,d,d,d],[97,"[KP1]",d,d,d,d],[98,"[KP2]",d,d,d,d],[99,"[KP3]",d,d,d,d],[100,"[KP4]",d,d,d,d],[101,"[KP5]",d,d,d,d],[102,"[KP6]",d,d,d,d],[103,"[KP7]",d,d,d,d],[104,"[KP8]",d,d,d,d],[105,"[KP9]",d,d,d,d],[107,"[KP+]",d,l("onPlusMinusZero_"),d,l("onPlusMinusZero_")],[109,"[KP-]",d,l("onPlusMinusZero_"),d,l("onPlusMinusZero_")],[106,"[KP*]",d,d,d,d],[111,"[KP/]",d,d,d,d],[110,"[KP.]",d,d,d,d],[166,"[BACK]",h(a("OP","")),d,"[23~",d],[167,"[FWD]",h(a("OQ","")),d,"[24~",d],[168,"[RELOAD]",h(a("OR","")),d,"[25~",d],[183,"[FSCR]",h(a("OS","")),d,"[26~",d],[182,"[WINS]",h("[15~"),d,"[28~",d],[216,"[BRIT-]",h("[17~"),d,"[29~",d],[217,"[BRIT+]",h("[18~"),d,"[31~",d])},r.Keyboard.KeyMap.prototype.onKeyInsert_=function(e){return this.keyboard.shiftInsertPaste&&e.shiftKey?r.Keyboard.KeyActions.PASS:"[2~"},r.Keyboard.KeyMap.prototype.onKeyHome_=function(e){return!this.keyboard.homeKeysScroll^e.shiftKey?e.altey||e.ctrlKey||e.shiftKey||!this.keyboard.applicationCursor?"":"OH":(this.keyboard.terminal.scrollHome(),r.Keyboard.KeyActions.CANCEL)},r.Keyboard.KeyMap.prototype.onKeyEnd_=function(e){return!this.keyboard.homeKeysScroll^e.shiftKey?e.altKey||e.ctrlKey||e.shiftKey||!this.keyboard.applicationCursor?"":"OF":(this.keyboard.terminal.scrollEnd(),r.Keyboard.KeyActions.CANCEL)},r.Keyboard.KeyMap.prototype.onKeyPageUp_=function(e){return!this.keyboard.pageKeysScroll^e.shiftKey?"[5~":(this.keyboard.terminal.scrollPageUp(),r.Keyboard.KeyActions.CANCEL)},r.Keyboard.KeyMap.prototype.onKeyDel_=function(e){return this.keyboard.altBackspaceIsMetaBackspace&&this.keyboard.altKeyPressed&&!e.altKey?"":"[3~"},r.Keyboard.KeyMap.prototype.onKeyPageDown_=function(e){return!this.keyboard.pageKeysScroll^e.shiftKey?"[6~":(this.keyboard.terminal.scrollPageDown(),r.Keyboard.KeyActions.CANCEL)},r.Keyboard.KeyMap.prototype.onKeyArrowUp_=function(e){return!this.keyboard.applicationCursor&&e.shiftKey?(this.keyboard.terminal.scrollLineUp(),r.Keyboard.KeyActions.CANCEL):e.shiftKey||e.ctrlKey||e.altKey||e.metaKey||!this.keyboard.applicationCursor?"":"OA"},r.Keyboard.KeyMap.prototype.onKeyArrowDown_=function(e){return!this.keyboard.applicationCursor&&e.shiftKey?(this.keyboard.terminal.scrollLineDown(),r.Keyboard.KeyActions.CANCEL):e.shiftKey||e.ctrlKey||e.altKey||e.metaKey||!this.keyboard.applicationCursor?"":"OB"},r.Keyboard.KeyMap.prototype.onClear_=function(e,t){return this.keyboard.terminal.wipeContents(),r.Keyboard.KeyActions.CANCEL},r.Keyboard.KeyMap.prototype.onCtrlNum_=function(e,t){function i(e){return String.fromCharCode(e.charCodeAt(0)-64)}if(this.keyboard.terminal.passCtrlNumber&&!e.shiftKey)return r.Keyboard.KeyActions.PASS;switch(t.keyCap.substr(0,1)){case"1":return"1";case"2":return i("@");case"3":return i("[");case"4":return i("\\");case"5":return i("]");case"6":return i("^");case"7":return i("_");case"8":return"";case"9":return"9"}},r.Keyboard.KeyMap.prototype.onAltNum_=function(e,t){return this.keyboard.terminal.passAltNumber&&!e.shiftKey?r.Keyboard.KeyActions.PASS:r.Keyboard.KeyActions.DEFAULT},r.Keyboard.KeyMap.prototype.onMetaNum_=function(e,t){return this.keyboard.terminal.passMetaNumber&&!e.shiftKey?r.Keyboard.KeyActions.PASS:r.Keyboard.KeyActions.DEFAULT},r.Keyboard.KeyMap.prototype.onCtrlC_=function(e,t){var i=this.keyboard.terminal.getDocument().getSelection();if(!i.isCollapsed){if(this.keyboard.ctrlCCopy&&!e.shiftKey)return this.keyboard.terminal.clearSelectionAfterCopy&&setTimeout(i.collapseToEnd.bind(i),50),r.Keyboard.KeyActions.PASS;if(!this.keyboard.ctrlCCopy&&e.shiftKey)return this.keyboard.terminal.clearSelectionAfterCopy&&setTimeout(i.collapseToEnd.bind(i),50),this.keyboard.terminal.copySelectionToClipboard(),r.Keyboard.KeyActions.CANCEL}return""},r.Keyboard.KeyMap.prototype.onCtrlN_=function(e,t){return e.shiftKey?(window.open(document.location.href,"","chrome=no,close=yes,resize=yes,scrollbars=yes,minimizable=yes,width="+window.innerWidth+",height="+window.innerHeight),r.Keyboard.KeyActions.CANCEL):""},r.Keyboard.KeyMap.prototype.onCtrlV_=function(e,t){return!e.shiftKey&&this.keyboard.ctrlVPaste||e.shiftKey&&!this.keyboard.ctrlVPaste?this.keyboard.terminal.paste()?r.Keyboard.KeyActions.CANCEL:r.Keyboard.KeyActions.PASS:""},r.Keyboard.KeyMap.prototype.onMetaN_=function(e,t){return e.shiftKey?(window.open(document.location.href,"","chrome=no,close=yes,resize=yes,scrollbars=yes,minimizable=yes,width="+window.outerWidth+",height="+window.outerHeight),r.Keyboard.KeyActions.CANCEL):r.Keyboard.KeyActions.DEFAULT},r.Keyboard.KeyMap.prototype.onMetaC_=function(e,t){var i=this.keyboard.terminal.getDocument();return e.shiftKey||i.getSelection().isCollapsed?t.keyCap.substr(e.shiftKey?1:0,1):(this.keyboard.terminal.clearSelectionAfterCopy&&setTimeout((function(){i.getSelection().collapseToEnd()}),50),r.Keyboard.KeyActions.PASS)},r.Keyboard.KeyMap.prototype.onMetaV_=function(e,t){return e.shiftKey||this.keyboard.passMetaV?r.Keyboard.KeyActions.PASS:r.Keyboard.KeyActions.DEFAULT},r.Keyboard.KeyMap.prototype.onPlusMinusZero_=function(e,t){if(!(this.keyboard.ctrlPlusMinusZeroZoom^e.shiftKey))return"-_"==t.keyCap?"":r.Keyboard.KeyActions.CANCEL;if(1!=this.keyboard.terminal.getZoomFactor())return r.Keyboard.KeyActions.PASS;var i=t.keyCap.substr(0,1);if("0"==i)this.keyboard.terminal.setFontSize(0);else{var o=this.keyboard.terminal.getFontSize();"-"==i||"[KP-]"==t.keyCap?o-=1:o+=1,this.keyboard.terminal.setFontSize(o)}return r.Keyboard.KeyActions.CANCEL},r.Keyboard.KeyPattern=function(e){this.wildcardCount=0,this.keyCode=e.keyCode,r.Keyboard.KeyPattern.modifiers.forEach(function(t){this[t]=e[t]||!1,"*"==this[t]&&this.wildcardCount++}.bind(this))},r.Keyboard.KeyPattern.modifiers=["shift","ctrl","alt","meta"],r.Keyboard.KeyPattern.sortCompare=function(e,t){return e.wildcardCountt.wildcardCount?1:0},r.Keyboard.KeyPattern.prototype.match_=function(e,t){if(this.keyCode!=e.keyCode)return!1;var i=!0;return r.Keyboard.KeyPattern.modifiers.forEach(function(r){var o=r in e&&e[r];i&&(t||"*"!=this[r])&&this[r]!=o&&(i=!1)}.bind(this)),i},r.Keyboard.KeyPattern.prototype.matchKeyDown=function(e){return this.match_(e,!1)},r.Keyboard.KeyPattern.prototype.matchKeyPattern=function(e){return this.match_(e,!0)},r.Options=function(e){this.wraparound=!e||e.wraparound,this.reverseWraparound=!!e&&e.reverseWraparound,this.originMode=!!e&&e.originMode,this.autoCarriageReturn=!!e&&e.autoCarriageReturn,this.cursorVisible=!!e&&e.cursorVisible,this.cursorBlink=!!e&&e.cursorBlink,this.insertMode=!!e&&e.insertMode,this.reverseVideo=!!e&&e.reverseVideo,this.bracketedPaste=!!e&&e.bracketedPaste},t.rtdep("hterm.Keyboard.KeyActions"),r.Parser=function(){this.source="",this.pos=0,this.ch=null},r.Parser.prototype.error=function(e){return new Error("Parse error at "+this.pos+": "+e)},r.Parser.prototype.isComplete=function(){return this.pos==this.source.length},r.Parser.prototype.reset=function(e,t){this.source=e,this.pos=t||0,this.ch=e.substr(0,1)},r.Parser.prototype.parseKeySequence=function(){var e={keyCode:null};for(var t in r.Parser.identifiers.modifierKeys)e[r.Parser.identifiers.modifierKeys[t]]=!1;for(;this.pos 'none', else => 'right-alt'\n'none': Disable any AltGr related munging.\n'ctrl-alt': Assume Ctrl+Alt means AltGr.\n'left-alt': Assume left Alt means AltGr.\n'right-alt': Assume right Alt means AltGr.\n"],"alt-backspace-is-meta-backspace":[r.PreferenceManager.categories.Keyboard,!1,"bool","If set, undoes the Chrome OS Alt-Backspace->DEL remap, so that alt-backspace indeed is alt-backspace."],"alt-is-meta":[r.PreferenceManager.categories.Keyboard,!1,"bool","Set whether the alt key acts as a meta key or as a distinct alt key."],"alt-sends-what":[r.PreferenceManager.categories.Keyboard,"escape",["escape","8-bit","browser-key"],"Controls how the alt key is handled.\n\n escape....... Send an ESC prefix.\n 8-bit........ Add 128 to the unshifted character as in xterm.\n browser-key.. Wait for the keypress event and see what the browser \n says. (This won't work well on platforms where the \n browser performs a default action for some alt sequences.)"],"audible-bell-sound":[r.PreferenceManager.categories.Sounds,"lib-resource:hterm/audio/bell","url","URL of the terminal bell sound. Empty string for no audible bell."],"desktop-notification-bell":[r.PreferenceManager.categories.Sounds,!1,"bool",'If true, terminal bells in the background will create a Web Notification. https://www.w3.org/TR/notifications/\n\nDisplaying notifications requires permission from the user. When this option is set to true, hterm will attempt to ask the user for permission if necessary. Note browsers may not show this permission request if it did not originate from a user action.\n\nChrome extensions with the "notifications" permission have permission to display notifications.'],"background-color":[r.PreferenceManager.categories.Appearance,"rgb(16, 16, 16)","color","The background color for text with no other color attributes."],"background-image":[r.PreferenceManager.categories.Appearance,"","string","CSS value of the background image. Empty string for no image.\n\nFor example:\n url(https://goo.gl/anedTK)\n linear-gradient(top bottom, blue, red)"],"background-size":[r.PreferenceManager.categories.Appearance,"","string","CSS value of the background image size. Defaults to none."],"background-position":[r.PreferenceManager.categories.Appearance,"","string","CSS value of the background image position.\n\nFor example:\n 10% 10%\n center"],"backspace-sends-backspace":[r.PreferenceManager.categories.Keyboard,!1,"bool","If true, the backspace should send BS ('\\x08', aka ^H). Otherwise the backspace key should send '\\x7f'."],"character-map-overrides":[r.PreferenceManager.categories.Appearance,null,"value",'This is specified as an object. It is a sparse array, where each property is the character set code and the value is an object that is a sparse array itself. In that sparse array, each property is the received character and the value is the displayed character.\n\nFor example:\n {"0":{"+":"\\u2192",",":"\\u2190","-":"\\u2191",".":"\\u2193", "0":"\\u2588"}}'],"close-on-exit":[r.PreferenceManager.categories.Miscellaneous,!0,"bool","Whether or not to close the window when the command exits."],"cursor-blink":[r.PreferenceManager.categories.Appearance,!1,"bool","Whether or not to blink the cursor by default."],"cursor-blink-cycle":[r.PreferenceManager.categories.Appearance,[1e3,500],"value","The cursor blink rate in milliseconds.\n\nA two element array, the first of which is how long the cursor should be on, second is how long it should be off."],"cursor-color":[r.PreferenceManager.categories.Appearance,"rgba(255, 0, 0, 0.5)","color","The color of the visible cursor."],"color-palette-overrides":[r.PreferenceManager.categories.Appearance,null,"value","Override colors in the default palette.\n\nThis can be specified as an array or an object. If specified as an object it is assumed to be a sparse array, where each property is a numeric index into the color palette.\n\nValues can be specified as almost any css color value. This includes #RGB, #RRGGBB, rgb(...), rgba(...), and any color names that are also part of the stock X11 rgb.txt file.\n\nYou can use 'null' to specify that the default value should be not be changed. This is useful for skipping a small number of indices when the value is specified as an array."],"copy-on-select":[r.PreferenceManager.categories.CopyPaste,!0,"bool","Automatically copy mouse selection to the clipboard."],"use-default-window-copy":[r.PreferenceManager.categories.CopyPaste,!1,"bool","Whether to use the default window copy behavior"],"clear-selection-after-copy":[r.PreferenceManager.categories.CopyPaste,!0,"bool","Whether to clear the selection after copying."],"ctrl-plus-minus-zero-zoom":[r.PreferenceManager.categories.Keyboard,!0,"bool","If true, Ctrl-Plus/Minus/Zero controls zoom.\nIf false, Ctrl-Shift-Plus/Minus/Zero controls zoom, Ctrl-Minus sends ^_, Ctrl-Plus/Zero do nothing."],"ctrl-c-copy":[r.PreferenceManager.categories.Keyboard,!1,"bool","Ctrl+C copies if true, send ^C to host if false.\nCtrl+Shift+C sends ^C to host if true, copies if false."],"ctrl-v-paste":[r.PreferenceManager.categories.Keyboard,!1,"bool","Ctrl+V pastes if true, send ^V to host if false.\nCtrl+Shift+V sends ^V to host if true, pastes if false."],"east-asian-ambiguous-as-two-column":[r.PreferenceManager.categories.Keyboard,!1,"bool","Set whether East Asian Ambiguous characters have two column width."],"enable-8-bit-control":[r.PreferenceManager.categories.Keyboard,!1,"bool","True to enable 8-bit control characters, false to ignore them.\n\nWe'll respect the two-byte versions of these control characters regardless of this setting."],"enable-bold":[r.PreferenceManager.categories.Appearance,null,"tristate","True if we should use bold weight font for text with the bold/bright attribute. False to use the normal weight font. Null to autodetect."],"enable-bold-as-bright":[r.PreferenceManager.categories.Appearance,!0,"bool","True if we should use bright colors (8-15 on a 16 color palette) for any text with the bold attribute. False otherwise."],"enable-blink":[r.PreferenceManager.categories.Appearance,!0,"bool","True if we should respect the blink attribute. False to ignore it. "],"enable-clipboard-notice":[r.PreferenceManager.categories.CopyPaste,!0,"bool","Show a message in the terminal when the host writes to the clipboard."],"enable-clipboard-write":[r.PreferenceManager.categories.CopyPaste,!0,"bool","Allow the host to write directly to the system clipboard."],"enable-dec12":[r.PreferenceManager.categories.Miscellaneous,!1,"bool","Respect the host's attempt to change the cursor blink status using DEC Private Mode 12."],environment:[r.PreferenceManager.categories.Miscellaneous,{TERM:"xterm-256color"},"value","The default environment variables, as an object."],"font-family":[r.PreferenceManager.categories.Appearance,'"DejaVu Sans Mono", "Everson Mono", FreeMono, "Menlo", "Terminal", monospace',"string","Default font family for the terminal text."],"font-size":[r.PreferenceManager.categories.Appearance,15,"int","The default font size in pixels."],"font-smoothing":[r.PreferenceManager.categories.Appearance,"antialiased","string","CSS font-smoothing property."],"foreground-color":[r.PreferenceManager.categories.Appearance,"rgb(240, 240, 240)","color","The foreground color for text with no other color attributes."],"home-keys-scroll":[r.PreferenceManager.categories.Keyboard,!1,"bool","If true, home/end will control the terminal scrollbar and shift home/end will send the VT keycodes. If false then home/end sends VT codes and shift home/end scrolls."],keybindings:[r.PreferenceManager.categories.Keyboard,null,"value",'A map of key sequence to key actions. Key sequences include zero or more modifier keys followed by a key code. Key codes can be decimal or hexadecimal numbers, or a key identifier. Key actions can be specified a string to send to the host, or an action identifier. For a full explanation of the format, see https://goo.gl/LWRndr.\n\nSample keybindings:\n{\n "Ctrl-Alt-K": "clearScrollback",\n "Ctrl-Shift-L": "PASS",\n "Ctrl-H": "\'HELLO\\n\'"\n}'],"max-string-sequence":[r.PreferenceManager.categories.Encoding,1e5,"int","Max length of a DCS, OSC, PM, or APS sequence before we give up and ignore the code."],"media-keys-are-fkeys":[r.PreferenceManager.categories.Keyboard,!1,"bool","If true, convert media keys to their Fkey equivalent. If false, let the browser handle the keys."],"meta-sends-escape":[r.PreferenceManager.categories.Keyboard,!0,"bool","Set whether the meta key sends a leading escape or not."],"mouse-right-click-paste":[r.PreferenceManager.categories.CopyPaste,!0,"bool",'Paste on right mouse button clicks.\n\nThis option is activate independent of the "mouse-paste-button" setting.\n\nNote: This will handle left & right handed mice correctly.'],"mouse-paste-button":[r.PreferenceManager.categories.CopyPaste,null,[null,0,1,2,3,4,5,6],"Mouse paste button, or null to autodetect.\n\nFor autodetect, we'll use the middle mouse button for non-X11 platforms (including Chrome OS). On X11, we'll use the right mouse button (since the native window manager should paste via the middle mouse button).\n\n0 == left (primary) button.\n1 == middle (auxiliary) button.\n2 == right (secondary) button.\n\nThis option is activate independent of the \"mouse-right-click-paste\" setting.\n\nNote: This will handle left & right handed mice correctly."],"word-break-match-left":[r.PreferenceManager.categories.CopyPaste,"[^\\s\\[\\](){}<>\"'\\^!@#$%&*,;:`]","string",'Regular expression to halt matching to the left (start) of a selection.\n\nNormally this is a character class to reject specific characters.\nWe allow "~" and "." by default as paths frequently start with those.'],"word-break-match-right":[r.PreferenceManager.categories.CopyPaste,"[^\\s\\[\\](){}<>\"'\\^!@#$%&*,;:~.`]","string","Regular expression to halt matching to the right (end) of a selection.\n\nNormally this is a character class to reject specific characters."],"word-break-match-middle":[r.PreferenceManager.categories.CopyPaste,"[^\\s\\[\\](){}<>\"'\\^]*","string","Regular expression to match all the characters in the middle.\n\nNormally this is a character class to reject specific characters.\n\nUsed to expand the selection surrounding the starting point."],"page-keys-scroll":[r.PreferenceManager.categories.Keyboard,!1,"bool","If true, page up/down will control the terminal scrollbar and shift page up/down will send the VT keycodes. If false then page up/down sends VT codes and shift page up/down scrolls."],"pass-alt-number":[r.PreferenceManager.categories.Keyboard,null,"tristate","Set whether we should pass Alt-1..9 to the browser.\n\nThis is handy when running hterm in a browser tab, so that you don't lose Chrome's \"switch to tab\" keyboard accelerators. When not running in a tab it's better to send these keys to the host so they can be used in vim or emacs.\n\nIf true, Alt-1..9 will be handled by the browser. If false, Alt-1..9 will be sent to the host. If null, autodetect based on browser platform and window type."],"pass-ctrl-number":[r.PreferenceManager.categories.Keyboard,null,"tristate","Set whether we should pass Ctrl-1..9 to the browser.\n\nThis is handy when running hterm in a browser tab, so that you don't lose Chrome's \"switch to tab\" keyboard accelerators. When not running in a tab it's better to send these keys to the host so they can be used in vim or emacs.\n\nIf true, Ctrl-1..9 will be handled by the browser. If false, Ctrl-1..9 will be sent to the host. If null, autodetect based on browser platform and window type."],"pass-meta-number":[r.PreferenceManager.categories.Keyboard,null,"tristate","Set whether we should pass Meta-1..9 to the browser.\n\nThis is handy when running hterm in a browser tab, so that you don't lose Chrome's \"switch to tab\" keyboard accelerators. When not running in a tab it's better to send these keys to the host so they can be used in vim or emacs.\n\nIf true, Meta-1..9 will be handled by the browser. If false, Meta-1..9 will be sent to the host. If null, autodetect based on browser platform and window type."],"pass-meta-v":[r.PreferenceManager.categories.Keyboard,!0,"bool","Set whether meta-V gets passed to host."],"receive-encoding":[r.PreferenceManager.categories.Encoding,"utf-8",["utf-8","raw"],"Set the expected encoding for data received from the host.\n\nValid values are 'utf-8' and 'raw'."],"scroll-on-keystroke":[r.PreferenceManager.categories.Scrolling,!0,"bool","If true, scroll to the bottom on any keystroke."],"scroll-on-output":[r.PreferenceManager.categories.Scrolling,!1,"bool","If true, scroll to the bottom on terminal output."],"scrollbar-visible":[r.PreferenceManager.categories.Scrolling,!0,"bool","The vertical scrollbar mode."],"scroll-wheel-may-send-arrow-keys":[r.PreferenceManager.categories.Scrolling,!1,"bool","When using the alternative screen buffer, and DECCKM (Application Cursor Keys) is active, mouse wheel scroll events will emulate arrow keys.\n\nIt can be temporarily disabled by holding the shift key.\n\nThis frequently comes up when using pagers (less) or reading man pages or text editors (vi/nano) or using screen/tmux."],"scroll-wheel-move-multiplier":[r.PreferenceManager.categories.Scrolling,1,"int","The multiplier for the pixel delta in wheel events caused by the scroll wheel. Alters how fast the page scrolls."],"send-encoding":[r.PreferenceManager.categories.Encoding,"utf-8",["utf-8","raw"],"Set the encoding for data sent to host."],"terminal-encoding":[r.PreferenceManager.categories.Encoding,"iso-2022",["iso-2022","utf-8","utf-8-locked"],"The default terminal encoding (DOCS).\n\nISO-2022 enables character map translations (like graphics maps).\nUTF-8 disables support for those.\n\nThe locked variant means the encoding cannot be changed at runtime via terminal escape sequences.\n\nYou should stick with UTF-8 unless you notice broken rendering with legacy applications."],"shift-insert-paste":[r.PreferenceManager.categories.Keyboard,!0,"bool","Shift + Insert pastes if true, sent to host if false."],"user-css":[r.PreferenceManager.categories.Appearance,"","url","URL of user stylesheet to include in the terminal document."],"user-css-text":[r.PreferenceManager.categories.Appearance,"","multiline-string","Custom CSS text for styling the terminal."]},r.PreferenceManager.prototype=Object.create(t.PreferenceManager.prototype),r.PreferenceManager.constructor=r.PreferenceManager,r.PubSub=function(){this.observers_={}},r.PubSub.addBehavior=function(e){var t=new r.PubSub;for(var i in r.PubSub.prototype)e[i]=r.PubSub.prototype[i].bind(t)},r.PubSub.prototype.subscribe=function(e,t){e in this.observers_||(this.observers_[e]=[]),this.observers_[e].push(t)},r.PubSub.prototype.unsubscribe=function(e,t){var r=this.observers_[e];if(!r)throw"Invalid subject: "+e;var i=r.indexOf(t);if(i<0)throw"Not subscribed: "+e;r.splice(i,1)},r.PubSub.prototype.publish=function(e,t,r){var i=this.observers_[e];i&&(i=[].concat(i)),r&&(i?i.push(r):i=[r]),i&&setTimeout((function e(r){r=e&&this.setCursorPosition(this.cursorPosition.row,e-1)},r.Screen.prototype.shiftRow=function(){return this.shiftRows(1)[0]},r.Screen.prototype.shiftRows=function(e){return this.rowsArray.splice(0,e)},r.Screen.prototype.unshiftRow=function(e){this.rowsArray.splice(0,0,e)},r.Screen.prototype.unshiftRows=function(e){this.rowsArray.unshift.apply(this.rowsArray,e)},r.Screen.prototype.popRow=function(){return this.popRows(1)[0]},r.Screen.prototype.popRows=function(e){return this.rowsArray.splice(this.rowsArray.length-e,e)},r.Screen.prototype.pushRow=function(e){this.rowsArray.push(e)},r.Screen.prototype.pushRows=function(e){e.push.apply(this.rowsArray,e)},r.Screen.prototype.insertRow=function(e,t){this.rowsArray.splice(e,0,t)},r.Screen.prototype.insertRows=function(e,t){for(var r=0;r=this.rowsArray.length?(console.error("Row out of bounds: "+e),e=this.rowsArray.length-1):e<0&&(console.error("Row out of bounds: "+e),e=0),t>=this.columnCount_?(console.error("Column out of bounds: "+t),t=this.columnCount_-1):t<0&&(console.error("Column out of bounds: "+t),t=0),this.cursorPosition.overflow=!1;var i=this.rowsArray[e],o=i.firstChild;o||(o=i.ownerDocument.createTextNode(""),i.appendChild(o));var n=0;for(i==this.cursorRowNode_?t>=this.cursorPosition.column-this.cursorOffset_&&(o=this.cursorNode_,n=this.cursorPosition.column-this.cursorOffset_):this.cursorRowNode_=i,this.cursorPosition.move(e,t);o;){var s=t-n,a=r.TextAttributes.nodeWidth(o);if(!o.nextSibling||a>s)return this.cursorNode_=o,void(this.cursorOffset_=s);n+=a,o=o.nextSibling}}else console.warn("Attempt to set cursor position on empty screen.")},r.Screen.prototype.syncSelectionCaret=function(e){try{e.collapse(this.cursorNode_,this.cursorOffset_)}catch(e){}},r.Screen.prototype.splitNode_=function(e,i){var o=e.cloneNode(!1),n=e.textContent;e.textContent=r.TextAttributes.nodeSubstr(e,0,i),o.textContent=t.wc.substr(n,i),o.textContent&&e.parentNode.insertBefore(o,e.nextSibling),e.textContent||e.parentNode.removeChild(e)},r.Screen.prototype.maybeClipCurrentRow=function(){var e=r.TextAttributes.nodeWidth(this.cursorRowNode_);if(e<=this.columnCount_)this.cursorPosition.column>=this.columnCount_&&(this.setCursorPosition(this.cursorPosition.row,this.columnCount_-1),this.cursorPosition.overflow=!0);else{var t=this.cursorPosition.column;this.setCursorPosition(this.cursorPosition.row,this.columnCount_-1),e=r.TextAttributes.nodeWidth(this.cursorNode_),this.cursorOffset_r.TextAttributes.nodeWidth(e);){if(!e.hasAttribute("line-overflow")||!e.nextSibling)return-1;t-=r.TextAttributes.nodeWidth(e),e=e.nextSibling}return this.getNodeAndOffsetWithinRow_(e,t)},r.Screen.prototype.getNodeAndOffsetWithinRow_=function(e,t){for(var i=0;io)){var f=t.wc.substring(l,o,t.wc.strWidth(l)),p=new RegExp("^"+c+a),_=f.match(p);if(_){var g=o+t.wc.strWidth(_[0]);-1==g||gn.rowIndex)r();else if(i.focusNode==i.anchorNode)i.anchorOffset=this.lastRowCount_},r.ScrollPort.prototype.drawTopFold_=function(e){if(!this.selection.startRow||this.selection.startRow.rowIndex>=e)this.rowNodes_.firstChild!=this.topFold_&&this.rowNodes_.insertBefore(this.topFold_,this.rowNodes_.firstChild);else{if(!this.selection.isMultiline||this.selection.endRow.rowIndex>=e)this.selection.startRow.nextSibling!=this.topFold_&&this.rowNodes_.insertBefore(this.topFold_,this.selection.startRow.nextSibling);else for(this.selection.endRow.nextSibling!=this.topFold_&&this.rowNodes_.insertBefore(this.topFold_,this.selection.endRow.nextSibling);this.selection.startRow.nextSibling!=this.selection.endRow;)this.rowNodes_.removeChild(this.selection.startRow.nextSibling);for(;this.rowNodes_.firstChild!=this.selection.startRow;)this.rowNodes_.removeChild(this.rowNodes_.firstChild)}},r.ScrollPort.prototype.drawBottomFold_=function(e){if(!this.selection.endRow||this.selection.endRow.rowIndex<=e)this.rowNodes_.lastChild!=this.bottomFold_&&this.rowNodes_.appendChild(this.bottomFold_);else{if(!this.selection.isMultiline||this.selection.startRow.rowIndex<=e)this.bottomFold_.nextSibling!=this.selection.endRow&&this.rowNodes_.insertBefore(this.bottomFold_,this.selection.endRow);else for(this.bottomFold_.nextSibling!=this.selection.startRow&&this.rowNodes_.insertBefore(this.bottomFold_,this.selection.startRow);this.selection.startRow.nextSibling!=this.selection.endRow;)this.rowNodes_.removeChild(this.selection.startRow.nextSibling);for(;this.rowNodes_.lastChild!=this.selection.endRow;)this.rowNodes_.removeChild(this.rowNodes_.lastChild)}},r.ScrollPort.prototype.drawVisibleRows_=function(e,t){var r=this;function i(e,t){for(;e!=t;){if(!e)throw"Did not encounter target node";if(e==r.bottomFold_)throw"Encountered bottom fold before target node";var i=e;e=e.nextSibling,i.parentNode.removeChild(i)}}for(var o=this.selection.startRow,n=this.selection.endRow,s=this.bottomFold_,a=this.topFold_.nextSibling,c=Math.min(this.visibleRowCount,this.rowProvider_.getRowCount()),l=0;l=this.lastRowCount_;var t=e*this.characterSize.height+this.visibleRowTopMargin,r=this.getScrollMax_();t>r&&(t=r),this.screen_.scrollTop!=t&&(this.screen_.scrollTop=t,this.scheduleRedraw())},r.ScrollPort.prototype.scrollRowToBottom=function(e){this.syncScrollHeight(),this.isScrolledEnd=e+this.visibleRowCount>=this.lastRowCount_;var t=e*this.characterSize.height+this.visibleRowTopMargin+this.visibleRowBottomMargin;(t-=this.visibleRowCount*this.characterSize.height)<0&&(t=0),this.screen_.scrollTop!=t&&(this.screen_.scrollTop=t)},r.ScrollPort.prototype.getTopRowIndex=function(){return Math.round(this.screen_.scrollTop/this.characterSize.height)},r.ScrollPort.prototype.getBottomRowIndex=function(e){return e+this.visibleRowCount-1},r.ScrollPort.prototype.onScroll_=function(e){var t=this.getScreenSize();t.width==this.lastScreenWidth_&&t.height==this.lastScreenHeight_?(this.redraw_(),this.publish("scroll",{scrollPort:this})):this.resize()},r.ScrollPort.prototype.onScrollWheel=function(e){},r.ScrollPort.prototype.onScrollWheel_=function(e){if(this.onScrollWheel(e),!e.defaultPrevented){var t=this.scrollWheelDelta(e),r=this.screen_.scrollTop-t;r<0&&(r=0);var i=this.getScrollMax_();r>i&&(r=i),r!=this.screen_.scrollTop&&(this.screen_.scrollTop=r,e.preventDefault())}},r.ScrollPort.prototype.scrollWheelDelta=function(e){var t;switch(e.deltaMode){case WheelEvent.DOM_DELTA_PIXEL:t=e.deltaY*this.scrollWheelMultiplier_;break;case WheelEvent.DOM_DELTA_LINE:t=e.deltaY*this.characterSize.height;break;case WheelEvent.DOM_DELTA_PAGE:t=e.deltaY*this.characterSize.height*this.screen_.getHeight()}return-1*t},r.ScrollPort.prototype.onTouch=function(e){},r.ScrollPort.prototype.onTouch_=function(e){if(this.onTouch(e),!e.defaultPrevented){var t,r,i=function(e){return{id:e.identifier,y:e.clientY,x:e.clientX}};switch(e.type){case"touchstart":for(t=0;ts&&(n=s),n!=this.screen_.scrollTop&&(this.screen_.scrollTop=n)}e.preventDefault()}},r.ScrollPort.prototype.onResize_=function(e){this.syncCharacterSize(),this.resize()},r.ScrollPort.prototype.onCopy=function(e){},r.ScrollPort.prototype.onCopy_=function(e){if(this.onCopy(e),!e.defaultPrevented&&(this.resetSelectBags_(),this.selection.sync(),this.selection.startRow&&!(this.selection.endRow.rowIndex-this.selection.startRow.rowIndex<2))){var t,r,i=this.getTopRowIndex(),o=this.getBottomRowIndex(i);this.selection.startRow.rowIndexo&&(r=this.selection.startRow.rowIndex>o?this.selection.startRow.rowIndex+1:this.bottomFold_.previousSibling.rowIndex+1,this.bottomSelectBag_.textContent=this.rowProvider_.getRowsText(r,this.selection.endRow.rowIndex),this.rowNodes_.insertBefore(this.bottomSelectBag_,this.selection.endRow))}},r.ScrollPort.prototype.onBodyKeyDown_=function(e){if(this.ctrlVPaste){var t=String.fromCharCode(e.which).toLowerCase();(e.ctrlKey||e.metaKey)&&"v"==t&&this.pasteTarget_.focus()}},r.ScrollPort.prototype.onPaste_=function(e){this.pasteTarget_.focus();var t=this;setTimeout((function(){t.publish("paste",{text:t.pasteTarget_.value}),t.pasteTarget_.value="",t.screen_.focus()}),0)},r.ScrollPort.prototype.handlePasteTargetTextInput_=function(e){e.stopPropagation()},r.ScrollPort.prototype.setScrollbarVisible=function(e){this.screen_.style.overflowY=e?"scroll":"hidden"},r.ScrollPort.prototype.setScrollWheelMoveMultipler=function(e){this.scrollWheelMultiplier_=e},t.rtdep("lib.colors","lib.PreferenceManager","lib.resource","lib.wc","lib.f","hterm.Keyboard","hterm.Options","hterm.PreferenceManager","hterm.Screen","hterm.ScrollPort","hterm.Size","hterm.TextAttributes","hterm.VT"),r.Terminal=function(e){this.profileId_=null,this.primaryScreen_=new r.Screen,this.alternateScreen_=new r.Screen,this.screen_=this.primaryScreen_,this.screenSize=new r.Size(0,0),this.scrollPort_=new r.ScrollPort(this),this.scrollPort_.subscribe("resize",this.onResize_.bind(this)),this.scrollPort_.subscribe("scroll",this.onScroll_.bind(this)),this.scrollPort_.subscribe("paste",this.onPaste_.bind(this)),this.scrollPort_.onCopy=this.onCopy_.bind(this),this.div_=null,this.document_=window.document,this.scrollbackRows_=[],this.tabStops_=[],this.defaultTabStops=!0,this.vtScrollTop_=null,this.vtScrollBottom_=null,this.cursorNode_=null,this.cursorShape_=r.Terminal.cursorShape.BLOCK,this.cursorColor_=null,this.cursorBlinkCycle_=[100,100],this.myOnCursorBlink_=this.onCursorBlink_.bind(this),this.backgroundColor_=null,this.foregroundColor_=null,this.scrollOnOutput_=null,this.scrollOnKeystroke_=null,this.scrollWheelArrowKeys_=null,this.defeatMouseReports_=!1,this.bellAudio_=this.document_.createElement("audio"),this.bellAudio_.id="hterm:bell-audio",this.bellAudio_.setAttribute("preload","auto"),this.bellNotificationList_=[],this.desktopNotificationBell_=!1,this.savedOptions_={},this.options_=new r.Options,this.timeouts_={},this.vt=new r.VT(this),this.keyboard=new r.Keyboard(this),this.io=new r.Terminal.IO(this),this.enableMouseDragScroll=!0,this.copyOnSelect=null,this.mouseRightClickPaste=null,this.mousePasteButton=null,this.useDefaultWindowCopy=!1,this.clearSelectionAfterCopy=!0,this.realizeSize_(80,24),this.setDefaultTabStops(),this.setProfile(e||"default",function(){this.onTerminalReady()}.bind(this))},r.Terminal.cursorShape={BLOCK:"BLOCK",BEAM:"BEAM",UNDERLINE:"UNDERLINE"},r.Terminal.prototype.onTerminalReady=function(){},r.Terminal.prototype.tabWidth=8,r.Terminal.prototype.setProfile=function(e,i){this.profileId_=e.replace(/\//g,"");var o=this;this.prefs_&&this.prefs_.deactivate(),this.prefs_=new r.PreferenceManager(this.profileId_),this.prefs_.addObservers(null,{"alt-gr-mode":function(e){e=null==e?"en-us"==navigator.language.toLowerCase()?"none":"right-alt":"string"==typeof e?e.toLowerCase():"none",/^(none|ctrl-alt|left-alt|right-alt)$/.test(e)||(e="none"),o.keyboard.altGrMode=e},"alt-backspace-is-meta-backspace":function(e){o.keyboard.altBackspaceIsMetaBackspace=e},"alt-is-meta":function(e){o.keyboard.altIsMeta=e},"alt-sends-what":function(e){/^(escape|8-bit|browser-key)$/.test(e)||(e="escape"),o.keyboard.altSendsWhat=e},"audible-bell-sound":function(e){var r=e.match(/^lib-resource:(\S+)/);r?o.bellAudio_.setAttribute("src",t.resource.getDataUrl(r[1])):o.bellAudio_.setAttribute("src",e)},"desktop-notification-bell":function(e){e&&Notification?(o.desktopNotificationBell_="granted"===Notification.permission,o.desktopNotificationBell_||console.warn("desktop-notification-bell is true but we do not have permission to display notifications.")):o.desktopNotificationBell_=!1},"background-color":function(e){o.setBackgroundColor(e)},"background-image":function(e){o.scrollPort_.setBackgroundImage(e)},"background-size":function(e){o.scrollPort_.setBackgroundSize(e)},"background-position":function(e){o.scrollPort_.setBackgroundPosition(e)},"backspace-sends-backspace":function(e){o.keyboard.backspaceSendsBackspace=e},"character-map-overrides":function(e){null==e||e instanceof Object?(o.vt.characterMaps.reset(),o.vt.characterMaps.setOverrides(e)):console.warn("Preference character-map-modifications is not an object: "+e)},"cursor-blink":function(e){o.setCursorBlink(!!e)},"cursor-blink-cycle":function(e){e instanceof Array&&"number"==typeof e[0]&&"number"==typeof e[1]?o.cursorBlinkCycle_=e:o.cursorBlinkCycle_="number"==typeof e?[e,e]:[100,100]},"cursor-color":function(e){o.setCursorColor(e)},"color-palette-overrides":function(e){if(null==e||e instanceof Object||e instanceof Array){if(t.colors.colorPalette=t.colors.stockColorPalette.concat(),e)for(var r in e){var i=parseInt(r);if(isNaN(i)||i<0||i>255)console.log("Invalid value in palette: "+r+": "+e[r]);else if(e[i]){var n=t.colors.normalizeCSS(e[i]);n&&(t.colors.colorPalette[i]=n)}}o.primaryScreen_.textAttributes.resetColorPalette(),o.alternateScreen_.textAttributes.resetColorPalette()}else console.warn("Preference color-palette-overrides is not an array or object: "+e)},"copy-on-select":function(e){o.copyOnSelect=!!e},"use-default-window-copy":function(e){o.useDefaultWindowCopy=!!e},"clear-selection-after-copy":function(e){o.clearSelectionAfterCopy=!!e},"ctrl-plus-minus-zero-zoom":function(e){o.keyboard.ctrlPlusMinusZeroZoom=e},"ctrl-c-copy":function(e){o.keyboard.ctrlCCopy=e},"ctrl-v-paste":function(e){o.keyboard.ctrlVPaste=e,o.scrollPort_.setCtrlVPaste(e)},"east-asian-ambiguous-as-two-column":function(e){t.wc.regardCjkAmbiguous=e},"enable-8-bit-control":function(e){o.vt.enable8BitControl=!!e},"enable-bold":function(e){o.syncBoldSafeState()},"enable-bold-as-bright":function(e){o.primaryScreen_.textAttributes.enableBoldAsBright=!!e,o.alternateScreen_.textAttributes.enableBoldAsBright=!!e},"enable-blink":function(e){o.syncBlinkState()},"enable-clipboard-write":function(e){o.vt.enableClipboardWrite=!!e},"enable-dec12":function(e){o.vt.enableDec12=!!e},"font-family":function(e){o.syncFontFamily()},"font-size":function(e){o.setFontSize(e)},"font-smoothing":function(e){o.syncFontFamily()},"foreground-color":function(e){o.setForegroundColor(e)},"home-keys-scroll":function(e){o.keyboard.homeKeysScroll=e},keybindings:function(e){if(o.keyboard.bindings.clear(),e)if(e instanceof Object)try{o.keyboard.bindings.addBindings(e)}catch(e){console.error("Error in keybindings preference: "+e)}else console.error("Error in keybindings preference: Expected object")},"max-string-sequence":function(e){o.vt.maxStringSequence=e},"media-keys-are-fkeys":function(e){o.keyboard.mediaKeysAreFKeys=e},"meta-sends-escape":function(e){o.keyboard.metaSendsEscape=e},"mouse-right-click-paste":function(e){o.mouseRightClickPaste=e},"mouse-paste-button":function(e){o.syncMousePasteButton()},"page-keys-scroll":function(e){o.keyboard.pageKeysScroll=e},"pass-alt-number":function(e){null==e&&(e=!window.navigator.userAgent.match(/Mac OS X/)&&"popup"!=r.windowType),o.passAltNumber=e},"pass-ctrl-number":function(e){null==e&&(e=!window.navigator.userAgent.match(/Mac OS X/)&&"popup"!=r.windowType),o.passCtrlNumber=e},"pass-meta-number":function(e){null==e&&(e=window.navigator.userAgent.match(/Mac OS X/)&&"popup"!=r.windowType),o.passMetaNumber=e},"pass-meta-v":function(e){o.keyboard.passMetaV=e},"receive-encoding":function(e){/^(utf-8|raw)$/.test(e)||(console.warn('Invalid value for "receive-encoding": '+e),e="utf-8"),o.vt.characterEncoding=e},"scroll-on-keystroke":function(e){o.scrollOnKeystroke_=e},"scroll-on-output":function(e){o.scrollOnOutput_=e},"scrollbar-visible":function(e){o.setScrollbarVisible(e)},"scroll-wheel-may-send-arrow-keys":function(e){o.scrollWheelArrowKeys_=e},"scroll-wheel-move-multiplier":function(e){o.setScrollWheelMoveMultipler(e)},"send-encoding":function(e){/^(utf-8|raw)$/.test(e)||(console.warn('Invalid value for "send-encoding": '+e),e="utf-8"),o.keyboard.characterEncoding=e},"shift-insert-paste":function(e){o.keyboard.shiftInsertPaste=e},"terminal-encoding":function(e){o.vt.setEncoding(e)},"user-css":function(e){o.scrollPort_.setUserCssUrl(e)},"user-css-text":function(e){o.scrollPort_.setUserCssText(e)},"word-break-match-left":function(e){o.primaryScreen_.wordBreakMatchLeft=e,o.alternateScreen_.wordBreakMatchLeft=e},"word-break-match-right":function(e){o.primaryScreen_.wordBreakMatchRight=e,o.alternateScreen_.wordBreakMatchRight=e},"word-break-match-middle":function(e){o.primaryScreen_.wordBreakMatchMiddle=e,o.alternateScreen_.wordBreakMatchMiddle=e}}),this.prefs_.readStorage(function(){this.prefs_.notifyAll(),i&&i()}.bind(this))},r.Terminal.prototype.getPrefs=function(){return this.prefs_},r.Terminal.prototype.setBracketedPaste=function(e){this.options_.bracketedPaste=e},r.Terminal.prototype.setCursorColor=function(e){this.cursorColor_=e,this.cursorNode_.style.backgroundColor=e,this.cursorNode_.style.borderColor=e},r.Terminal.prototype.getCursorColor=function(){return this.cursorColor_},r.Terminal.prototype.setSelectionEnabled=function(e){this.enableMouseDragScroll=e},r.Terminal.prototype.setBackgroundColor=function(e){this.backgroundColor_=t.colors.normalizeCSS(e),this.primaryScreen_.textAttributes.setDefaults(this.foregroundColor_,this.backgroundColor_),this.alternateScreen_.textAttributes.setDefaults(this.foregroundColor_,this.backgroundColor_),this.scrollPort_.setBackgroundColor(e)},r.Terminal.prototype.getBackgroundColor=function(){return this.backgroundColor_},r.Terminal.prototype.setForegroundColor=function(e){this.foregroundColor_=t.colors.normalizeCSS(e),this.primaryScreen_.textAttributes.setDefaults(this.foregroundColor_,this.backgroundColor_),this.alternateScreen_.textAttributes.setDefaults(this.foregroundColor_,this.backgroundColor_),this.scrollPort_.setForegroundColor(e)},r.Terminal.prototype.getForegroundColor=function(){return this.foregroundColor_},r.Terminal.prototype.runCommandClass=function(e,t){var r=this.prefs_.get("environment");"object"==typeof r&&null!=r||(r={});var i=this;this.command=new e({argString:t||"",io:this.io.push(),environment:r,onExit:function(e){i.io.pop(),i.uninstallKeyboard(),i.prefs_.get("close-on-exit")&&window.close()}}),this.installKeyboard(),this.command.run()},r.Terminal.prototype.isPrimaryScreen=function(){return this.screen_==this.primaryScreen_},r.Terminal.prototype.installKeyboard=function(){this.keyboard.installKeyboard(this.scrollPort_.getDocument().body)},r.Terminal.prototype.uninstallKeyboard=function(){this.keyboard.installKeyboard(null)},r.Terminal.prototype.setCssVar=function(e,t,r="--hterm-"){this.document_.documentElement.style.setProperty(`${r}${e}`,t)},r.Terminal.prototype.setFontSize=function(e){0===e&&(e=this.prefs_.get("font-size")),this.scrollPort_.setFontSize(e),this.setCssVar("charsize-width",this.scrollPort_.characterSize.width+"px"),this.setCssVar("charsize-height",this.scrollPort_.characterSize.height+"px")},r.Terminal.prototype.getFontSize=function(){return this.scrollPort_.getFontSize()},r.Terminal.prototype.getFontFamily=function(){return this.scrollPort_.getFontFamily()},r.Terminal.prototype.syncFontFamily=function(){this.scrollPort_.setFontFamily(this.prefs_.get("font-family"),this.prefs_.get("font-smoothing")),this.syncBoldSafeState()},r.Terminal.prototype.syncMousePasteButton=function(){var e=this.prefs_.get("mouse-paste-button");if("number"!=typeof e){var t=navigator.userAgent.match(/\(X11;\s+(\S+)/);t&&"CrOS"!=t[1]?this.mousePasteButton=2:this.mousePasteButton=1}else this.mousePasteButton=e},r.Terminal.prototype.syncBoldSafeState=function(){var e=this.prefs_.get("enable-bold");if(null!==e)return this.primaryScreen_.textAttributes.enableBold=e,void(this.alternateScreen_.textAttributes.enableBold=e);var t=this.scrollPort_.measureCharacterSize(),r=this.scrollPort_.measureCharacterSize("bold"),i=t.equals(r);i||console.warn("Bold characters disabled: Size of bold weight differs from normal. Font family is: "+this.scrollPort_.getFontFamily()),this.primaryScreen_.textAttributes.enableBold=i,this.alternateScreen_.textAttributes.enableBold=i},r.Terminal.prototype.syncBlinkState=function(){this.setCssVar("node-duration",this.prefs_.get("enable-blink")?"0.7s":"0")},r.Terminal.prototype.syncMouseStyle=function(){this.setCssVar("mouse-cursor-style",this.vt.mouseReport==this.vt.MOUSE_REPORT_DISABLED?"var(--hterm-mouse-cursor-text)":"var(--hterm-mouse-cursor-pointer)")},r.Terminal.prototype.saveCursor=function(){return this.screen_.cursorPosition.clone()},r.Terminal.prototype.getTextAttributes=function(){return this.screen_.textAttributes},r.Terminal.prototype.setTextAttributes=function(e){this.screen_.textAttributes=e},r.Terminal.prototype.getZoomFactor=function(){return this.scrollPort_.characterSize.zoomFactor},r.Terminal.prototype.setWindowTitle=function(e){window.document.title=e},r.Terminal.prototype.restoreCursor=function(e){var r=t.f.clamp(e.row,0,this.screenSize.height-1),i=t.f.clamp(e.column,0,this.screenSize.width-1);this.screen_.setCursorPosition(r,i),(e.column>i||e.column==i&&e.overflow)&&(this.screen_.cursorPosition.overflow=!0)},r.Terminal.prototype.clearCursorOverflow=function(){this.screen_.cursorPosition.overflow=!1},r.Terminal.prototype.setCursorShape=function(e){this.cursorShape_=e,this.restyleCursor_()},r.Terminal.prototype.getCursorShape=function(){return this.cursorShape_},r.Terminal.prototype.setWidth=function(e){null!=e?(this.div_.style.width=Math.ceil(this.scrollPort_.characterSize.width*e+this.scrollPort_.currentScrollbarWidthPx)+"px",this.realizeSize_(e,this.screenSize.height),this.scheduleSyncCursorPosition_()):this.div_.style.width="100%"},r.Terminal.prototype.setHeight=function(e){null!=e?(this.div_.style.height=this.scrollPort_.characterSize.height*e+"px",this.realizeSize_(this.screenSize.width,e),this.scheduleSyncCursorPosition_()):this.div_.style.height="100%"},r.Terminal.prototype.realizeSize_=function(e,t){e!=this.screenSize.width&&this.realizeWidth_(e),t!=this.screenSize.height&&this.realizeHeight_(t),this.io.onTerminalResize_(e,t)},r.Terminal.prototype.realizeWidth_=function(e){if(e<=0)throw new Error("Attempt to realize bad width: "+e);var t=e-this.screen_.getWidth();if(this.screenSize.width=e,this.screen_.setColumnCount(e),t>0)this.defaultTabStops&&this.setDefaultTabStops(this.screenSize.width-t);else for(var r=this.tabStops_.length-1;r>=0&&!(this.tabStops_[r]0){if(t<=this.scrollbackRows_.length){var n=Math.min(t,this.scrollbackRows_.length),s=this.scrollbackRows_.splice(this.scrollbackRows_.length-n,n);this.screen_.unshiftRows(s),t-=n,r.row+=n}t&&this.appendRows_(t)}this.setVTScrollRegion(null,null),this.restoreCursor(r)},r.Terminal.prototype.scrollHome=function(){this.scrollPort_.scrollRowToTop(0)},r.Terminal.prototype.scrollEnd=function(){this.scrollPort_.scrollRowToBottom(this.getRowCount())},r.Terminal.prototype.scrollPageUp=function(){var e=this.scrollPort_.getTopRowIndex();this.scrollPort_.scrollRowToTop(e-this.screenSize.height+1)},r.Terminal.prototype.scrollPageDown=function(){var e=this.scrollPort_.getTopRowIndex();this.scrollPort_.scrollRowToTop(e+this.screenSize.height-1)},r.Terminal.prototype.scrollLineUp=function(){var e=this.scrollPort_.getTopRowIndex();this.scrollPort_.scrollRowToTop(e-1)},r.Terminal.prototype.scrollLineDown=function(){var e=this.scrollPort_.getTopRowIndex();this.scrollPort_.scrollRowToTop(e+1)},r.Terminal.prototype.wipeContents=function(){this.scrollbackRows_.length=0,this.scrollPort_.resetCache(),[this.primaryScreen_,this.alternateScreen_].forEach(function(e){var t=e.getHeight();t>0&&(this.renumberRows_(0,t),this.clearHome(e))}.bind(this)),this.syncCursorPosition_(),this.scrollPort_.invalidate()},r.Terminal.prototype.reset=function(){this.clearAllTabStops(),this.setDefaultTabStops(),this.clearHome(this.primaryScreen_),this.primaryScreen_.textAttributes.reset(),this.clearHome(this.alternateScreen_),this.alternateScreen_.textAttributes.reset(),this.setCursorBlink(!!this.prefs_.get("cursor-blink")),this.vt.reset(),this.softReset()},r.Terminal.prototype.softReset=function(){this.options_=new r.Options,this.options_.cursorBlink=!!this.timeouts_.cursorBlink,this.primaryScreen_.textAttributes.resetColorPalette(),this.alternateScreen_.textAttributes.resetColorPalette(),this.setVTScrollRegion(null,null),this.setCursorVisible(!0)},r.Terminal.prototype.forwardTabStop=function(){for(var e=this.screen_.cursorPosition.column,t=0;te)return void this.setCursorColumn(this.tabStops_[t]);var r=this.screen_.cursorPosition.overflow;this.setCursorColumn(this.screenSize.width-1),this.screen_.cursorPosition.overflow=r},r.Terminal.prototype.backwardTabStop=function(){for(var e=this.screen_.cursorPosition.column,t=this.tabStops_.length-1;t>=0;t--)if(this.tabStops_[t]=0;t--){if(this.tabStops_[t]==e)return;if(this.tabStops_[t]0){var s=this.screen_.shiftRows(n);Array.prototype.push.apply(this.scrollbackRows_,s),this.scrollPort_.isScrolledEnd&&this.scheduleScrollDown_()}t>=this.screen_.rowsArray.length&&(t=this.screen_.rowsArray.length-1),this.setAbsoluteCursorPosition(t,0)},r.Terminal.prototype.moveRows_=function(e,t,r){var i,o,n=this.screen_.removeRows(e,t);this.screen_.insertRows(r,n),e=this.screenSize.width&&(a=!0,s=this.screenSize.width-this.screen_.cursorPosition.column),a&&!this.options_.wraparound?(n=t.wc.substr(e,i,s-1)+t.wc.substr(e,o-1),s=o):n=t.wc.substr(e,i,s);for(var c=r.TextAttributes.splitWidecharString(n),l=0;l=0;o--)this.setAbsoluteCursorPosition(t+o,0),this.screen_.clearCursorRow()},r.Terminal.prototype.deleteLines=function(e){var t=this.saveCursor(),r=t.row,i=this.getVTScrollBottom(),o=i-r+1,n=i-(e=Math.min(e,o))+1;e!=o&&this.moveRows_(r,e,n);for(var s=0;st)this.setCssVar("cursor-offset-row","-1");else{this.options_.cursorVisible&&"none"==this.cursorNode_.style.display&&(this.cursorNode_.style.display=""),this.setCssVar("cursor-offset-row",r-e+" + "+`${this.scrollPort_.visibleRowTopMargin}px`),this.setCssVar("cursor-offset-col",this.screen_.cursorPosition.column),this.cursorNode_.setAttribute("title","("+this.screen_.cursorPosition.column+", "+this.screen_.cursorPosition.row+")");var i=this.document_.getSelection();i&&i.isCollapsed&&this.screen_.syncSelectionCaret(i)}},r.Terminal.prototype.restyleCursor_=function(){var e=this.cursorShape_;"false"==this.cursorNode_.getAttribute("focus")&&(e=r.Terminal.cursorShape.BLOCK);var t=this.cursorNode_.style;switch(e){case r.Terminal.cursorShape.BEAM:t.height="var(--hterm-charsize-height)",t.backgroundColor="transparent",t.borderBottomStyle=null,t.borderLeftStyle="solid";break;case r.Terminal.cursorShape.UNDERLINE:t.height=this.scrollPort_.characterSize.baseline+"px",t.backgroundColor="transparent",t.borderBottomStyle="solid",t.borderLeftStyle=null;break;default:t.height="var(--hterm-charsize-height)",t.backgroundColor=this.cursorColor_,t.borderBottomStyle=null,t.borderLeftStyle=null}},r.Terminal.prototype.scheduleSyncCursorPosition_=function(){if(!this.timeouts_.syncCursor){var e=this;this.timeouts_.syncCursor=setTimeout((function(){e.syncCursorPosition_(),delete e.timeouts_.syncCursor}),0)}},r.Terminal.prototype.showZoomWarning_=function(e){if(!this.zoomWarningNode_){if(!e)return;this.zoomWarningNode_=this.document_.createElement("div"),this.zoomWarningNode_.id="hterm:zoom-warning",this.zoomWarningNode_.style.cssText="color: black;background-color: #ff2222;font-size: large;border-radius: 8px;opacity: 0.75;padding: 0.2em 0.5em 0.2em 0.5em;top: 0.5em;right: 1.2em;position: absolute;-webkit-text-size-adjust: none;-webkit-user-select: none;-moz-text-size-adjust: none;-moz-user-select: none;",this.zoomWarningNode_.addEventListener("click",(function(e){this.parentNode.removeChild(this)}))}this.zoomWarningNode_.textContent=t.MessageManager.replaceReferences(r.zoomWarningMessage,[parseInt(100*this.scrollPort_.characterSize.zoomFactor)]),this.zoomWarningNode_.style.fontFamily=this.prefs_.get("font-family"),e?this.zoomWarningNode_.parentNode||this.div_.parentNode.appendChild(this.zoomWarningNode_):this.zoomWarningNode_.parentNode&&this.zoomWarningNode_.parentNode.removeChild(this.zoomWarningNode_)},r.Terminal.prototype.showOverlay=function(e,t){if(!this.overlayNode_){if(!this.div_)return;this.overlayNode_=this.document_.createElement("div"),this.overlayNode_.style.cssText="border-radius: 15px;font-size: xx-large;opacity: 0.75;padding: 0.2em 0.5em 0.2em 0.5em;position: absolute;-webkit-user-select: none;-webkit-transition: opacity 180ms ease-in;-moz-user-select: none;-moz-transition: opacity 180ms ease-in;",this.overlayNode_.addEventListener("mousedown",(function(e){e.preventDefault(),e.stopPropagation()}),!0)}this.overlayNode_.style.color=this.prefs_.get("background-color"),this.overlayNode_.style.backgroundColor=this.prefs_.get("foreground-color"),this.overlayNode_.style.fontFamily=this.prefs_.get("font-family"),this.overlayNode_.textContent=e,this.overlayNode_.style.opacity="0.75",this.overlayNode_.parentNode||this.div_.appendChild(this.overlayNode_);var i=r.getClientSize(this.div_),o=r.getClientSize(this.overlayNode_);this.overlayNode_.style.top=(i.height-o.height)/2+"px",this.overlayNode_.style.left=(i.width-o.width-this.scrollPort_.currentScrollbarWidthPx)/2+"px";var n=this;this.overlayTimeout_&&clearTimeout(this.overlayTimeout_),null!==t&&(this.overlayTimeout_=setTimeout((function(){n.overlayNode_.style.opacity="0",n.overlayTimeout_=setTimeout((function(){n.overlayNode_.parentNode&&n.overlayNode_.parentNode.removeChild(n.overlayNode_),n.overlayTimeout_=null,n.overlayNode_.style.opacity="0.75"}),200)}),t||1500))},r.Terminal.prototype.paste=function(){return r.pasteFromClipboard(this.document_)},r.Terminal.prototype.copyStringToClipboard=function(e){this.prefs_.get("enable-clipboard-notice")&&setTimeout(this.showOverlay.bind(this,r.notifyCopyMessage,500),200);var t=this.document_.createElement("pre");t.id="hterm:copy-to-clipboard-source",t.textContent=e,t.style.cssText="-webkit-user-select: text;-moz-user-select: text;position: absolute;top: -99px",this.document_.body.appendChild(t);var i=this.document_.getSelection(),o=i.anchorNode,n=i.anchorOffset,s=i.focusNode,a=i.focusOffset;i.selectAllChildren(t),r.copySelectionToClipboard(this.document_),i.extend&&(i.collapse(o,n),i.extend(s,a)),t.parentNode.removeChild(t)},r.Terminal.prototype.getSelectionText=function(){var e=this.scrollPort_.selection;if(e.sync(),e.isCollapsed)return null;var i=e.startOffset,o=e.startNode;if("X-ROW"!=o.nodeName)for("#text"==o.nodeName&&"SPAN"==o.parentNode.nodeName&&(o=o.parentNode);o.previousSibling;)o=o.previousSibling,i+=r.TextAttributes.nodeWidth(o);var n=r.TextAttributes.nodeWidth(e.endNode)-e.endOffset;if("X-ROW"!=(o=e.endNode).nodeName)for("#text"==o.nodeName&&"SPAN"==o.parentNode.nodeName&&(o=o.parentNode);o.nextSibling;)o=o.nextSibling,n+=r.TextAttributes.nodeWidth(o);var s=this.getRowsText(e.startRow.rowIndex,e.endRow.rowIndex+1);return t.wc.substring(s,i,t.wc.strWidth(s)-n)},r.Terminal.prototype.copySelectionToClipboard=function(){var e=this.getSelectionText();null!=e&&this.copyStringToClipboard(e)},r.Terminal.prototype.overlaySize=function(){this.showOverlay(this.screenSize.width+"x"+this.screenSize.height)},r.Terminal.prototype.onVTKeystroke=function(e){this.scrollOnKeystroke_&&this.scrollPort_.scrollRowToBottom(this.getRowCount()),this.io.onVTKeystroke(this.keyboard.encode(e))},r.Terminal.prototype.openUrl=function(e){window.chrome&&window.chrome.browser?chrome.browser.openTab({url:e}):window.open(e,"_blank").focus()},r.Terminal.prototype.openSelectedUrl_=function(){var e=this.getSelectionText();if((null!=e||(this.screen_.expandSelection(this.document_.getSelection()),null!=(e=this.getSelectionText())))&&!(e.length>2048||e.search(/[\s\[\](){}<>"'\\^`]/)>=0)){if(e.search("^[a-zA-Z][a-zA-Z0-9+.-]*://")<0)switch(e.split(":",1)[0]){case"mailto":break;default:e="http://"+e}this.openUrl(e)}},r.Terminal.prototype.onMouse_=function(e){if(!e.processedByTerminalHandler_){var r=!this.defeatMouseReports_&&this.vt.mouseReport!=this.vt.MOUSE_REPORT_DISABLED;if(e.processedByTerminalHandler_=!0,e.terminalRow=parseInt((e.clientY-this.scrollPort_.visibleRowTopMargin)/this.scrollPort_.characterSize.height)+1,e.terminalColumn=parseInt(e.clientX/this.scrollPort_.characterSize.width)+1,!("mousedown"==e.type&&e.terminalColumn>this.screenSize.width)){if(this.options_.cursorVisible&&!r&&(e.terminalRow-1==this.screen_.cursorPosition.row&&e.terminalColumn-1==this.screen_.cursorPosition.column?this.cursorNode_.style.display="none":"none"==this.cursorNode_.style.display&&(this.cursorNode_.style.display="")),"mousedown"==e.type&&(e.altKey||!r?(this.defeatMouseReports_=!0,this.setSelectionEnabled(!0)):(this.defeatMouseReports_=!1,this.document_.getSelection().collapseToEnd(),this.setSelectionEnabled(!1),e.preventDefault())),r)this.scrollBlockerNode_.engaged||("mousedown"==e.type?(this.scrollBlockerNode_.engaged=!0,this.scrollBlockerNode_.style.top=e.clientY-5+"px",this.scrollBlockerNode_.style.left=e.clientX-5+"px"):"mousemove"==e.type&&(this.document_.getSelection().collapseToEnd(),e.preventDefault())),this.onMouse(e);else{if("dblclick"==e.type&&this.copyOnSelect&&(this.screen_.expandSelection(this.document_.getSelection()),this.copySelectionToClipboard(this.document_)),"click"==e.type&&!e.shiftKey&&(e.ctrlKey||e.metaKey))return clearTimeout(this.timeouts_.openUrl),void(this.timeouts_.openUrl=setTimeout(this.openSelectedUrl_.bind(this),500));if("mousedown"==e.type&&(this.mouseRightClickPaste&&2==e.button||e.button==this.mousePasteButton)&&(this.paste()||console.warning("Could not paste manually due to web restrictions")),"mouseup"==e.type&&0==e.button&&this.copyOnSelect&&!this.document_.getSelection().isCollapsed&&this.copySelectionToClipboard(this.document_),"mousemove"!=e.type&&"mouseup"!=e.type||!this.scrollBlockerNode_.engaged||(this.scrollBlockerNode_.engaged=!1,this.scrollBlockerNode_.style.top="-99px"),this.scrollWheelArrowKeys_&&!e.shiftKey&&this.keyboard.applicationCursor&&!this.isPrimaryScreen()&&"wheel"==e.type){var i=this.scrollPort_.scrollWheelDelta(e),o=t.f.smartFloorDivide(Math.abs(i),this.scrollPort_.characterSize.height),n="O"+(i<0?"B":"A");this.io.sendString(n.repeat(o)),e.preventDefault()}}"mouseup"==e.type&&this.document_.getSelection().isCollapsed&&(this.defeatMouseReports_=!1)}}},r.Terminal.prototype.onMouse=function(e){},r.Terminal.prototype.onFocusChange_=function(e){this.cursorNode_.setAttribute("focus",e),this.restyleCursor_(),!0===e&&this.closeBellNotifications_()},r.Terminal.prototype.onScroll_=function(){this.scheduleSyncCursorPosition_()},r.Terminal.prototype.onPaste_=function(e){var t=e.text.replace(/\n/gm,"\r");t=this.keyboard.encode(t),this.options_.bracketedPaste&&(t="[200~"+t+"[201~"),this.io.sendString(t)},r.Terminal.prototype.onCopy_=function(e){this.useDefaultWindowCopy||(e.preventDefault(),setTimeout(this.copySelectionToClipboard.bind(this),0))},r.Terminal.prototype.onResize_=function(){var e=Math.floor(this.scrollPort_.getScreenWidth()/this.scrollPort_.characterSize.width)||0,r=t.f.smartFloorDivide(this.scrollPort_.getScreenHeight(),this.scrollPort_.characterSize.height)||0;if(!(e<=0||r<=0)){var i=e!=this.screenSize.width||r!=this.screenSize.height;this.realizeSize_(e,r),this.showZoomWarning_(1!=this.scrollPort_.characterSize.zoomFactor),i&&this.overlaySize(),this.restyleCursor_(),this.scheduleSyncCursorPosition_()}},r.Terminal.prototype.onCursorBlink_=function(){this.options_.cursorBlink?"false"==this.cursorNode_.getAttribute("focus")||"0"==this.cursorNode_.style.opacity?(this.cursorNode_.style.opacity="1",this.timeouts_.cursorBlink=setTimeout(this.myOnCursorBlink_,this.cursorBlinkCycle_[0])):(this.cursorNode_.style.opacity="0",this.timeouts_.cursorBlink=setTimeout(this.myOnCursorBlink_,this.cursorBlinkCycle_[1])):delete this.timeouts_.cursorBlink},r.Terminal.prototype.setScrollbarVisible=function(e){this.scrollPort_.setScrollbarVisible(e)},r.Terminal.prototype.setScrollWheelMoveMultipler=function(e){this.scrollPort_.setScrollWheelMoveMultipler(e)},r.Terminal.prototype.closeBellNotifications_=function(){this.bellNotificationList_.forEach((function(e){e.close()})),this.bellNotificationList_.length=0},t.rtdep("lib.encodeUTF8"),r.Terminal.IO=function(e){this.terminal_=e,this.previousIO_=null},r.Terminal.IO.prototype.showOverlay=function(e,t){this.terminal_.showOverlay(e,t)},r.Terminal.IO.prototype.createFrame=function(e,t){return new r.Frame(this.terminal_,e,t)},r.Terminal.IO.prototype.setTerminalProfile=function(e){this.terminal_.setProfile(e)},r.Terminal.IO.prototype.push=function(){var e=new r.Terminal.IO(this.terminal_);return e.keyboardCaptured_=this.keyboardCaptured_,e.columnCount=this.columnCount,e.rowCount=this.rowCount,e.previousIO_=this.terminal_.io,this.terminal_.io=e,e},r.Terminal.IO.prototype.pop=function(){this.terminal_.io=this.previousIO_},r.Terminal.IO.prototype.sendString=function(e){console.log("Unhandled sendString: "+e)},r.Terminal.IO.prototype.onVTKeystroke=function(e){console.log("Unobserverd VT keystroke: "+JSON.stringify(e))},r.Terminal.IO.prototype.onTerminalResize_=function(e,t){for(var r=this;r;)r.columnCount=e,r.rowCount=t,r=r.previousIO_;this.onTerminalResize(e,t)},r.Terminal.IO.prototype.onTerminalResize=function(e,t){},r.Terminal.IO.prototype.writeUTF8=function(e){if(this.terminal_.io!=this)throw"Attempt to print from inactive IO object.";this.terminal_.interpret(e)},r.Terminal.IO.prototype.writelnUTF8=function(e){if(this.terminal_.io!=this)throw"Attempt to print from inactive IO object.";this.terminal_.interpret(e+"\r\n")},r.Terminal.IO.prototype.print=r.Terminal.IO.prototype.writeUTF16=function(e){this.writeUTF8(t.encodeUTF8(e))},r.Terminal.IO.prototype.println=r.Terminal.IO.prototype.writelnUTF16=function(e){this.writelnUTF8(t.encodeUTF8(e))},t.rtdep("lib.colors"),r.TextAttributes=function(e){this.document_=e,this.foregroundSource=this.SRC_DEFAULT,this.backgroundSource=this.SRC_DEFAULT,this.foreground=this.DEFAULT_COLOR,this.background=this.DEFAULT_COLOR,this.defaultForeground="rgb(255, 255, 255)",this.defaultBackground="rgb(0, 0, 0)",this.bold=!1,this.faint=!1,this.italic=!1,this.blink=!1,this.underline=!1,this.strikethrough=!1,this.inverse=!1,this.invisible=!1,this.wcNode=!1,this.asciiNode=!0,this.tileData=null,this.colorPalette=null,this.resetColorPalette()},r.TextAttributes.prototype.enableBold=!0,r.TextAttributes.prototype.enableBoldAsBright=!0,r.TextAttributes.prototype.DEFAULT_COLOR=t.f.createEnum(""),r.TextAttributes.prototype.SRC_DEFAULT="default",r.TextAttributes.prototype.SRC_RGB="rgb",r.TextAttributes.prototype.setDocument=function(e){this.document_=e},r.TextAttributes.prototype.clone=function(){var e=new r.TextAttributes(null);for(var t in this)e[t]=this[t];return e.colorPalette=this.colorPalette.concat(),e},r.TextAttributes.prototype.reset=function(){this.foregroundSource=this.SRC_DEFAULT,this.backgroundSource=this.SRC_DEFAULT,this.foreground=this.DEFAULT_COLOR,this.background=this.DEFAULT_COLOR,this.bold=!1,this.faint=!1,this.italic=!1,this.blink=!1,this.underline=!1,this.strikethrough=!1,this.inverse=!1,this.invisible=!1,this.wcNode=!1,this.asciiNode=!0},r.TextAttributes.prototype.resetColorPalette=function(){this.colorPalette=t.colors.colorPalette.concat(),this.syncColors()},r.TextAttributes.prototype.isDefault=function(){return this.foregroundSource==this.SRC_DEFAULT&&this.backgroundSource==this.SRC_DEFAULT&&!this.bold&&!this.faint&&!this.italic&&!this.blink&&!this.underline&&!this.strikethrough&&!this.inverse&&!this.invisible&&!this.wcNode&&this.asciiNode&&null==this.tileData},r.TextAttributes.prototype.createContainer=function(e){if(this.isDefault())return this.document_.createTextNode(e);var t=this.document_.createElement("span"),r=t.style,i=[];this.foreground!=this.DEFAULT_COLOR&&(r.color=this.foreground),this.background!=this.DEFAULT_COLOR&&(r.backgroundColor=this.background),this.enableBold&&this.bold&&(r.fontWeight="bold"),this.faint&&(t.faint=!0),this.italic&&(r.fontStyle="italic"),this.blink&&(i.push("blink-node"),t.blinkNode=!0);var o="";return this.underline&&(o+=" underline",t.underline=!0),this.strikethrough&&(o+=" line-through",t.strikethrough=!0),o&&(r.textDecoration=o),this.wcNode&&(i.push("wc-node"),t.wcNode=!0,t.asciiNode=!1),null!=this.tileData&&(i.push("tile"),i.push("tile_"+this.tileData),t.tileNode=!0),e&&(t.textContent=e),i.length&&(t.className=i.join(" ")),t},r.TextAttributes.prototype.matchesContainer=function(e){if("string"==typeof e||3==e.nodeType)return this.isDefault();var t=e.style;return!(this.wcNode||e.wcNode||this.asciiNode!=this.asciiNode||null!=this.tileData||e.tileNode||this.foreground!=t.color||this.background!=t.backgroundColor||(this.enableBold&&this.bold)!=!!t.fontWeight||this.blink!=e.blinkNode||this.italic!=!!t.fontStyle||!!this.underline!=!!e.underline||!!this.strikethrough!=!!e.strikethrough)},r.TextAttributes.prototype.setDefaults=function(e,t){this.defaultForeground=e,this.defaultBackground=t,this.syncColors()},r.TextAttributes.prototype.syncColors=function(){var e,r=this.foregroundSource,i=this.backgroundSource,o=this.DEFAULT_COLOR,n=this.DEFAULT_COLOR;if(this.inverse&&(r=this.backgroundSource,i=this.foregroundSource,o=this.defaultBackground,n=this.defaultForeground),this.enableBoldAsBright&&this.bold&&r!=this.SRC_DEFAULT&&r!=this.SRC_RGB&&(r=(e=r)<8?e+8:e),this.invisible&&(r=i,o=this.defaultBackground),r!=this.SRC_RGB&&(this.foreground=r==this.SRC_DEFAULT?o:this.colorPalette[r]),this.faint&&!this.invisible){var s=this.foreground==this.DEFAULT_COLOR?this.defaultForeground:this.foreground;this.foreground=t.colors.mix(s,"rgb(0, 0, 0)",.3333)}i!=this.SRC_RGB&&(this.background=i==this.SRC_DEFAULT?n:this.colorPalette[i])},r.TextAttributes.containersMatch=function(e,t){if("string"==typeof e)return r.TextAttributes.containerIsDefault(t);if(e.nodeType!=t.nodeType)return!1;if(3==e.nodeType)return!0;var i=e.style,o=t.style;return i.color==o.color&&i.backgroundColor==o.backgroundColor&&i.fontWeight==o.fontWeight&&i.fontStyle==o.fontStyle&&i.textDecoration==o.textDecoration},r.TextAttributes.containerIsDefault=function(e){return"string"==typeof e||3==e.nodeType},r.TextAttributes.nodeWidth=function(e){return e.asciiNode?e.textContent.length:t.wc.strWidth(e.textContent)},r.TextAttributes.nodeSubstr=function(e,r,i){return e.asciiNode?e.textContent.substr(r,i):t.wc.substr(e.textContent,r,i)},r.TextAttributes.nodeSubstring=function(e,r,i){return e.asciiNode?e.textContent.substring(r,i):t.wc.substring(e.textContent,r,i)},r.TextAttributes.splitWidecharString=function(e){for(var r=[],i=0,o=0,n=!0,s=0;s0?0:1),s|=i,r=""+String.fromCharCode(s)+o+n,e.preventDefault();break;case"mousedown":var s=Math.min(e.button,2)+32;s|=i,r=""+String.fromCharCode(s)+o+n;break;case"mouseup":r="#"+o+n;break;case"mousemove":this.mouseReport==this.MOUSE_REPORT_DRAG&&e.buttons&&(s=32,1&e.buttons?s+=0:4&e.buttons?s+=1:2&e.buttons?s+=2:s+=3,s+=32,s|=i,r=""+String.fromCharCode(s)+o+n);break;case"click":case"dblclick":break;default:console.error("Unknown mouse event: "+e.type,e)}r&&this.terminal.io.sendString(r)}},r.VT.prototype.interpret=function(e){for(this.parseState_.resetBuf(this.decode(e));!this.parseState_.isComplete();){var t=this.parseState_.func,r=this.parseState_.pos;if(e=this.parseState_.buf,this.parseState_.func.call(this,this.parseState_),this.parseState_.func==t&&this.parseState_.pos==r&&this.parseState_.buf==e)throw"Parser did not alter the state!"}},r.VT.prototype.decode=function(e){return"utf-8"==this.characterEncoding?this.decodeUTF8(e):e},r.VT.prototype.encodeUTF8=function(e){return t.encodeUTF8(e)},r.VT.prototype.decodeUTF8=function(e){return this.utf8Decoder_.decode(e)},r.VT.prototype.setEncoding=function(e){switch(e){default:console.warn('Invalid value for "terminal-encoding": '+e);case"iso-2022":this.codingSystemUtf8_=!1,this.codingSystemLocked_=!1;break;case"utf-8-locked":this.codingSystemUtf8_=!0,this.codingSystemLocked_=!0;break;case"utf-8":this.codingSystemUtf8_=!0,this.codingSystemLocked_=!1}this.updateEncodingState_()},r.VT.prototype.updateEncodingState_=function(){var e=Object.keys(r.VT.CC1).filter((e=>!this.codingSystemUtf8_||e.charCodeAt()<128)).map((e=>"\\x"+t.f.zpad(e.charCodeAt().toString(16),2))).join("");this.cc1Pattern_=new RegExp(`[${e}]`)},r.VT.prototype.parseUnknown_=function(e){var t=this;function r(e){!t.codingSystemUtf8_&&t[t.GL].GL&&(e=t[t.GL].GL(e)),t.terminal.print(e)}var i=e.peekRemainingBuf(),o=i.search(this.cc1Pattern_);return 0==o?(this.dispatch("CC1",i.substr(0,1),e),void e.advance(1)):-1==o?(r(i),void e.reset()):(r(i.substr(0,o)),this.dispatch("CC1",i.substr(o,1),e),void e.advance(o+1))},r.VT.prototype.parseCSI_=function(e){var t=e.peekChar(),r=e.args;t>="@"&&t<="~"?(this.dispatch("CSI",this.leadingModifier_+this.trailingModifier_+t,e),e.resetParseFunction()):";"==t?this.trailingModifier_?e.resetParseFunction():(r.length||r.push(""),r.push("")):t>="0"&&t<="9"?this.trailingModifier_?e.resetParseFunction():r.length?r[r.length-1]+=t:r[0]=t:t>=" "&&t<="?"&&":"!=t?r.length?this.trailingModifier_+=t:this.leadingModifier_+=t:this.cc1Pattern_.test(t)?this.dispatch("CC1",t,e):e.resetParseFunction(),e.advance(1)},r.VT.prototype.parseUntilStringTerminator_=function(e){var t,r=e.peekRemainingBuf(),i=r.search(/(\x1b\\|\x07)/),o=e.args;return o.length||(o[0]="",o[1]=new Date),-1==i?(o[0]+=r,o[0].length>this.maxStringSequence&&(t="too long: "+o[0].length),-1!=o[0].indexOf("")&&(t="embedded escape: "+o[0].indexOf("")),new Date-o[1]>this.oscTimeLimit_&&(t="timeout expired: "+new Date-o[1]),t?(console.log("parseUntilStringTerminator_: aborting: "+t,o[0]),e.reset(o[0]),!1):(e.advance(r.length),!0)):o[0].length+i>this.maxStringSequence?(e.reset(o[0]+r),!1):(o[0]+=r.substr(0,i),e.resetParseFunction(),e.advance(i+(""==r.substr(i,1)?2:1)),!0)},r.VT.prototype.dispatch=function(e,t,i){var o=r.VT[e][t];o?o!=r.VT.ignore?"CC1"==e&&t>""&&!this.enable8BitControl?console.warn("Ignoring 8-bit control code: 0x"+t.charCodeAt(0).toString(16)):o.apply(this,[i,t]):this.warnUnimplemented&&console.warn("Ignored "+e+" code: "+JSON.stringify(t)):this.warnUnimplemented&&console.warn("Unknown "+e+" code: "+JSON.stringify(t))},r.VT.prototype.setANSIMode=function(e,t){4==e?this.terminal.setInsertMode(t):20==e?this.terminal.setAutoCarriageReturn(t):this.warnUnimplemented&&console.warn("Unimplemented ANSI Mode: "+e)},r.VT.prototype.setDECMode=function(e,t){switch(parseInt(e,10)){case 1:this.terminal.keyboard.applicationCursor=t;break;case 3:this.allowColumnWidthChanges_&&(this.terminal.setWidth(t?132:80),this.terminal.clearHome(),this.terminal.setVTScrollRegion(null,null));break;case 5:this.terminal.setReverseVideo(t);break;case 6:this.terminal.setOriginMode(t);break;case 7:this.terminal.setWraparound(t);break;case 12:this.enableDec12&&this.terminal.setCursorBlink(t);break;case 25:this.terminal.setCursorVisible(t);break;case 30:this.terminal.setScrollbarVisible(t);break;case 40:this.terminal.allowColumnWidthChanges_=t;break;case 45:this.terminal.setReverseWraparound(t);break;case 67:this.terminal.keyboard.backspaceSendsBackspace=t;break;case 1e3:this.mouseReport=t?this.MOUSE_REPORT_CLICK:this.MOUSE_REPORT_DISABLED,this.terminal.syncMouseStyle();break;case 1002:this.mouseReport=t?this.MOUSE_REPORT_DRAG:this.MOUSE_REPORT_DISABLED,this.terminal.syncMouseStyle();break;case 1010:this.terminal.scrollOnOutput=t;break;case 1011:this.terminal.scrollOnKeystroke=t;break;case 1036:this.terminal.keyboard.metaSendsEscape=t;break;case 1039:t?this.terminal.keyboard.previousAltSendsWhat_||(this.terminal.keyboard.previousAltSendsWhat_=this.terminal.keyboard.altSendsWhat,this.terminal.keyboard.altSendsWhat="escape"):this.terminal.keyboard.previousAltSendsWhat_&&(this.terminal.keyboard.altSendsWhat=this.terminal.keyboard.previousAltSendsWhat_,this.terminal.keyboard.previousAltSendsWhat_=null);break;case 47:case 1047:this.terminal.setAlternateMode(t);break;case 1048:this.savedState_.save();case 1049:t?(this.savedState_.save(),this.terminal.setAlternateMode(t),this.terminal.clear()):(this.terminal.setAlternateMode(t),this.savedState_.restore());break;case 2004:this.terminal.setBracketedPaste(t);break;default:this.warnUnimplemented&&console.warn("Unimplemented DEC Private Mode: "+e)}},r.VT.ignore=function(){},r.VT.CC1={},r.VT.ESC={},r.VT.CSI={},r.VT.OSC={},r.VT.VT52={},r.VT.CC1["\0"]=r.VT.ignore,r.VT.CC1[""]=r.VT.ignore,r.VT.CC1[""]=function(){this.terminal.ringBell()},r.VT.CC1["\b"]=function(){this.terminal.cursorLeft(1)},r.VT.CC1["\t"]=function(){this.terminal.forwardTabStop()},r.VT.CC1["\n"]=function(){this.terminal.formFeed()},r.VT.CC1["\v"]=r.VT.CC1["\n"],r.VT.CC1["\f"]=r.VT.CC1["\n"],r.VT.CC1["\r"]=function(){this.terminal.setCursorColumn(0)},r.VT.CC1[""]=function(){this.GL="G1"},r.VT.CC1[""]=function(){this.GL="G0"},r.VT.CC1[""]=r.VT.ignore,r.VT.CC1[""]=r.VT.ignore,r.VT.CC1[""]=function(e){"G1"==this.GL&&(this.GL="G0"),e.resetParseFunction(),this.terminal.print("?")},r.VT.CC1[""]=r.VT.CC1[""],r.VT.CC1[""]=function(e){e.func=function e(t){var r=t.consumeChar();""!=r&&(this.dispatch("ESC",r,t),t.func==e&&t.resetParseFunction())}},r.VT.CC1[""]=r.VT.ignore,r.VT.CC1["„"]=r.VT.ESC.D=function(){this.terminal.lineFeed()},r.VT.CC1["…"]=r.VT.ESC.E=function(){this.terminal.setCursorColumn(0),this.terminal.cursorDown(1)},r.VT.CC1["ˆ"]=r.VT.ESC.H=function(){this.terminal.setTabStop(this.terminal.getCursorColumn())},r.VT.CC1[""]=r.VT.ESC.M=function(){this.terminal.reverseLineFeed()},r.VT.CC1["Ž"]=r.VT.ESC.N=r.VT.ignore,r.VT.CC1[""]=r.VT.ESC.O=r.VT.ignore,r.VT.CC1[""]=r.VT.ESC.P=function(e){e.resetArguments(),e.func=this.parseUntilStringTerminator_},r.VT.CC1["–"]=r.VT.ESC.V=r.VT.ignore,r.VT.CC1["—"]=r.VT.ESC.W=r.VT.ignore,r.VT.CC1["˜"]=r.VT.ESC.X=r.VT.ignore,r.VT.CC1["š"]=r.VT.ESC.Z=function(){this.terminal.io.sendString("[?1;2c")},r.VT.CC1["›"]=r.VT.ESC["["]=function(e){e.resetArguments(),this.leadingModifier_="",this.trailingModifier_="",e.func=this.parseCSI_},r.VT.CC1["œ"]=r.VT.ESC["\\"]=r.VT.ignore,r.VT.CC1[""]=r.VT.ESC["]"]=function(e){e.resetArguments(),e.func=function e(t){if(this.parseUntilStringTerminator_(t)&&t.func!=e){var r=t.args[0].match(/^(\d+);(.*)$/);r?(t.args[0]=r[2],this.dispatch("OSC",r[1],t)):console.warn("Invalid OSC: "+JSON.stringify(t.args[0]))}}},r.VT.CC1["ž"]=r.VT.ESC["^"]=function(e){e.resetArguments(),e.func=this.parseUntilStringTerminator_},r.VT.CC1["Ÿ"]=r.VT.ESC._=function(e){e.resetArguments(),e.func=this.parseUntilStringTerminator_},r.VT.ESC[" "]=function(e){e.func=function(e){var t=e.consumeChar();this.warnUnimplemented&&console.warn("Unimplemented sequence: ESC 0x20 "+t),e.resetParseFunction()}},r.VT.ESC["#"]=function(e){e.func=function(e){"8"==e.consumeChar()&&this.terminal.fill("E"),e.resetParseFunction()}},r.VT.ESC["%"]=function(e){e.func=function(e){var t=e.consumeChar();if(this.codingSystemLocked_)return"/"==t&&e.consumeChar(),void e.resetParseFunction();switch(t){case"@":this.setEncoding("iso-2022");break;case"G":this.setEncoding("utf-8");break;case"/":switch(t=e.consumeChar()){case"G":case"H":case"I":this.setEncoding("utf-8-locked");break;default:this.warnUnimplemented&&console.warn("Unknown ESC % / argument: "+JSON.stringify(t))}break;default:this.warnUnimplemented&&console.warn("Unknown ESC % argument: "+JSON.stringify(t))}e.resetParseFunction()}},r.VT.ESC["("]=r.VT.ESC[")"]=r.VT.ESC["*"]=r.VT.ESC["+"]=r.VT.ESC["-"]=r.VT.ESC["."]=r.VT.ESC["/"]=function(e,t){e.func=function(e){var r=e.consumeChar();if(""==r)return e.resetParseFunction(),void e.func();var i=this.characterMaps.getMap(r);void 0!==i?"("==t?this.G0=i:")"==t||"-"==t?this.G1=i:"*"==t||"."==t?this.G2=i:"+"!=t&&"/"!=t||(this.G3=i):this.warnUnimplemented&&console.log('Invalid character set for "'+t+'": '+r),e.resetParseFunction()}},r.VT.ESC[6]=r.VT.ignore,r.VT.ESC[7]=function(){this.savedState_.save()},r.VT.ESC[8]=function(){this.savedState_.restore()},r.VT.ESC[9]=r.VT.ignore,r.VT.ESC["="]=function(){this.terminal.keyboard.applicationKeypad=!0},r.VT.ESC[">"]=function(){this.terminal.keyboard.applicationKeypad=!1},r.VT.ESC.F=r.VT.ignore,r.VT.ESC.c=function(){this.reset(),this.terminal.reset()},r.VT.ESC.l=r.VT.ESC.m=r.VT.ignore,r.VT.ESC.n=function(){this.GL="G2"},r.VT.ESC.o=function(){this.GL="G3"},r.VT.ESC["|"]=function(){this.GR="G3"},r.VT.ESC["}"]=function(){this.GR="G2"},r.VT.ESC["~"]=function(){this.GR="G1"},r.VT.OSC[0]=function(e){this.terminal.setWindowTitle(e.args[0])},r.VT.OSC[2]=r.VT.OSC[0],r.VT.OSC[4]=function(e){for(var r=e.args[0].split(";"),i=parseInt(r.length/2),o=this.terminal.getTextAttributes().colorPalette,n=[],s=0;s=o.length||("?"!=c?(c=t.colors.x11ToCSS(c))&&(o[a]=c):(c=t.colors.rgbToX11(o[a]))&&n.push(a+";"+c))}n.length&&this.terminal.io.sendString("]4;"+n.join(";")+"")},r.VT.OSC[9]=function(e){r.notify({body:e.args[0]})},r.VT.OSC[10]=function(e){var i=e.args[0].split(";");if(i){var o=t.colors.x11ToCSS(i.shift());o&&this.terminal.setForegroundColor(o),i.length>0&&(e.args[0]=i.join(";"),r.VT.OSC[11].apply(this,[e]))}},r.VT.OSC[11]=function(e){var r=e.args[0].split(";");if(r){var i=t.colors.x11ToCSS(r.shift());i&&this.terminal.setBackgroundColor(i)}},r.VT.OSC[50]=function(e){var t=e.args[0].match(/CursorShape=(.)/i);if(t)switch(t[1]){case"1":this.terminal.setCursorShape(r.Terminal.cursorShape.BEAM);break;case"2":this.terminal.setCursorShape(r.Terminal.cursorShape.UNDERLINE);break;default:this.terminal.setCursorShape(r.Terminal.cursorShape.BLOCK)}else console.warn("Could not parse OSC 50 args: "+e.args[0])},r.VT.OSC[52]=function(e){var t=e.args[0].match(/^[cps01234567]*;(.*)/);if(t){var r=window.atob(t[1]);r&&this.terminal.copyStringToClipboard(this.decode(r))}},r.VT.OSC[777]=function(e){var t;switch(e.args[0].split(";",1)[0]){case"notify":var i,o;(t=e.args[0].match(/^[^;]+;([^;]*)(;([\s\S]*))?$/))&&(i=t[1],o=t[3]),r.notify({title:i,body:o});break;default:console.warn("Unknown urxvt module: "+e.args[0])}},r.VT.CSI["@"]=function(e){this.terminal.insertSpace(e.iarg(0,1))},r.VT.CSI.A=function(e){this.terminal.cursorUp(e.iarg(0,1))},r.VT.CSI.B=function(e){this.terminal.cursorDown(e.iarg(0,1))},r.VT.CSI.C=function(e){this.terminal.cursorRight(e.iarg(0,1))},r.VT.CSI.D=function(e){this.terminal.cursorLeft(e.iarg(0,1))},r.VT.CSI.E=function(e){this.terminal.cursorDown(e.iarg(0,1)),this.terminal.setCursorColumn(0)},r.VT.CSI.F=function(e){this.terminal.cursorUp(e.iarg(0,1)),this.terminal.setCursorColumn(0)},r.VT.CSI.G=function(e){this.terminal.setCursorColumn(e.iarg(0,1)-1)},r.VT.CSI.H=function(e){this.terminal.setCursorPosition(e.iarg(0,1)-1,e.iarg(1,1)-1)},r.VT.CSI.I=function(e){var r=e.iarg(0,1);r=t.f.clamp(r,1,this.terminal.screenSize.width);for(var i=0;iT"]=r.VT.ignore,r.VT.CSI.X=function(e){this.terminal.eraseToRight(e.iarg(0,1))},r.VT.CSI.Z=function(e){var r=e.iarg(0,1);r=t.f.clamp(r,1,this.terminal.screenSize.width);for(var i=0;ic"]=function(e){this.terminal.io.sendString("[>0;256;0c")},r.VT.CSI.d=function(e){this.terminal.setAbsoluteCursorRow(e.iarg(0,1)-1)},r.VT.CSI.f=r.VT.CSI.H,r.VT.CSI.g=function(e){e.args[0]&&0!=e.args[0]?3==e.args[0]&&this.terminal.clearAllTabStops():this.terminal.clearTabStopAtCursor(!1)},r.VT.CSI.h=function(e){for(var t=0;t=i.colorPalette.length)continue;i.foregroundSource=a}else if(39==n)i.foregroundSource=i.SRC_DEFAULT;else if(n<48)i.backgroundSource=n-40;else if(48==n){var s;if(null!=(s=r(o)))i.backgroundSource=i.SRC_RGB,i.background=s,o+=5;else{var a;if(null==(a=t(o)))break;if(o+=2,a>=i.colorPalette.length)continue;i.backgroundSource=a}}else i.backgroundSource=i.SRC_DEFAULT;else n>=90&&n<=97?i.foregroundSource=n-90+8:n>=100&&n<=107&&(i.backgroundSource=n-100+8)}i.setDefaults(this.terminal.getForegroundColor(),this.terminal.getBackgroundColor())}else i.reset()},r.VT.CSI[">m"]=r.VT.ignore,r.VT.CSI.n=function(e){if(5==e.args[0])this.terminal.io.sendString("0n");else if(6==e.args[0]){var t=this.terminal.getCursorRow()+1,r=this.terminal.getCursorColumn()+1;this.terminal.io.sendString("["+t+";"+r+"R")}},r.VT.CSI[">n"]=r.VT.ignore,r.VT.CSI["?n"]=function(e){if(6==e.args[0]){var t=this.terminal.getCursorRow()+1,r=this.terminal.getCursorColumn()+1;this.terminal.io.sendString("["+t+";"+r+"R")}else 15==e.args[0]?this.terminal.io.sendString("[?11n"):25==e.args[0]?this.terminal.io.sendString("[?21n"):26==e.args[0]?this.terminal.io.sendString("[?12;1;0;0n"):53==e.args[0]&&this.terminal.io.sendString("[?50n")},r.VT.CSI[">p"]=r.VT.ignore,r.VT.CSI["!p"]=function(){this.reset(),this.terminal.softReset()},r.VT.CSI.$p=r.VT.ignore,r.VT.CSI["?$p"]=r.VT.ignore,r.VT.CSI['"p']=r.VT.ignore,r.VT.CSI.q=r.VT.ignore,r.VT.CSI[" q"]=function(e){var t=e.args[0];0==t||1==t?(this.terminal.setCursorShape(r.Terminal.cursorShape.BLOCK),this.terminal.setCursorBlink(!0)):2==t?(this.terminal.setCursorShape(r.Terminal.cursorShape.BLOCK),this.terminal.setCursorBlink(!1)):3==t?(this.terminal.setCursorShape(r.Terminal.cursorShape.UNDERLINE),this.terminal.setCursorBlink(!0)):4==t?(this.terminal.setCursorShape(r.Terminal.cursorShape.UNDERLINE),this.terminal.setCursorBlink(!1)):5==t?(this.terminal.setCursorShape(r.Terminal.cursorShape.BEAM),this.terminal.setCursorBlink(!0)):6==t?(this.terminal.setCursorShape(r.Terminal.cursorShape.BEAM),this.terminal.setCursorBlink(!1)):console.warn("Unknown cursor style: "+t)},r.VT.CSI['"q']=r.VT.ignore,r.VT.CSI.r=function(e){var t=e.args,r=t[0]?parseInt(t[0],10)-1:null,i=t[1]?parseInt(t[1],10)-1:null;this.terminal.setVTScrollRegion(r,i),this.terminal.setCursorPosition(0,0)},r.VT.CSI["?r"]=r.VT.ignore,r.VT.CSI.$r=r.VT.ignore,r.VT.CSI.s=function(){this.savedState_.save()},r.VT.CSI["?s"]=r.VT.ignore,r.VT.CSI.t=r.VT.ignore,r.VT.CSI.$t=r.VT.ignore,r.VT.CSI[">t"]=r.VT.ignore,r.VT.CSI[" t"]=r.VT.ignore,r.VT.CSI.u=function(){this.savedState_.restore()},r.VT.CSI[" u"]=r.VT.ignore,r.VT.CSI.$v=r.VT.ignore,r.VT.CSI["'w"]=r.VT.ignore,r.VT.CSI.x=r.VT.ignore,r.VT.CSI["*x"]=r.VT.ignore,r.VT.CSI.$x=r.VT.ignore,r.VT.CSI.z=function(e){if(!(e.args.length<1)){var t=e.args[0];if(0==t){if(e.args.length<2)return;this.terminal.getTextAttributes().tileData=e.args[1]}else 1==t&&(this.terminal.getTextAttributes().tileData=null)}},r.VT.CSI["'z"]=r.VT.ignore,r.VT.CSI.$z=r.VT.ignore,r.VT.CSI["'{"]=r.VT.ignore,r.VT.CSI["'|"]=r.VT.ignore,r.VT.CSI["'}"]=r.VT.ignore,r.VT.CSI["'~"]=r.VT.ignore,t.rtdep("lib.f"),r.VT.CharacterMap=function(e,t){this.description=e,this.GL=null,this.glmapBase_=t,this.sync_()},r.VT.CharacterMap.prototype.sync_=function(e){if(!this.glmapBase_&&!e)return this.GL=null,delete this.glmap_,void delete this.glre_;this.glmap_=e?Object.assign({},this.glmapBase_,e):this.glmapBase_;var r=Object.keys(this.glmap_).map((e=>"\\x"+t.f.zpad(e.charCodeAt(0).toString(16))));this.glre_=new RegExp("["+r.join("")+"]","g"),this.GL=e=>e.replace(this.glre_,(e=>this.glmap_[e]))},r.VT.CharacterMap.prototype.reset=function(){this.glmap_!==this.glmapBase_&&this.sync_()},r.VT.CharacterMap.prototype.setOverrides=function(e){this.sync_(e)},r.VT.CharacterMap.prototype.clone=function(){var e=new r.VT.CharacterMap(this.description,this.glmapBase_);return this.glmap_!==this.glmapBase_&&e.setOverrides(this.glmap_),e},r.VT.CharacterMaps=function(){this.maps_=r.VT.CharacterMaps.DefaultMaps,this.mapsBase_=this.maps_},r.VT.CharacterMaps.prototype.getMap=function(e){return this.maps_.hasOwnProperty(e)?this.maps_[e]:void 0},r.VT.CharacterMaps.prototype.addMap=function(e,t){this.maps_===this.mapsBase_&&(this.maps_=Object.assign({},this.mapsBase_)),this.maps_[e]=t},r.VT.CharacterMaps.prototype.reset=function(){this.maps_!==r.VT.CharacterMaps.DefaultMaps&&(this.maps_=r.VT.CharacterMaps.DefaultMaps)},r.VT.CharacterMaps.prototype.setOverrides=function(e){for(var t in this.maps_===this.mapsBase_&&(this.maps_=Object.assign({},this.mapsBase_)),e){var i=this.getMap(t);void 0!==i?(this.maps_[t]=i.clone(),this.maps_[t].setOverrides(e[t])):this.addMap(t,new r.VT.CharacterMap("user "+t,e[t]))}},r.VT.CharacterMaps.DefaultMaps={},r.VT.CharacterMaps.DefaultMaps[0]=new r.VT.CharacterMap("graphic",{"`":"◆",a:"▒",b:"␉",c:"␌",d:"␍",e:"␊",f:"°",g:"±",h:"␤",i:"␋",j:"┘",k:"┐",l:"┌",m:"└",n:"┼",o:"⎺",p:"⎻",q:"─",r:"⎼",s:"⎽",t:"├",u:"┤",v:"┴",w:"┬",x:"│",y:"≤",z:"≥","{":"π","|":"≠","}":"£","~":"·"}),r.VT.CharacterMaps.DefaultMaps.A=new r.VT.CharacterMap("british",{"#":"£"}),r.VT.CharacterMaps.DefaultMaps.B=new r.VT.CharacterMap("us",null),r.VT.CharacterMaps.DefaultMaps[4]=new r.VT.CharacterMap("dutch",{"#":"£","@":"¾","[":"IJ","\\":"½","]":"|","{":"¨","|":"f","}":"¼","~":"´"}),r.VT.CharacterMaps.DefaultMaps.C=r.VT.CharacterMaps.DefaultMaps[5]=new r.VT.CharacterMap("finnish",{"[":"Ä","\\":"Ö","]":"Å","^":"Ü","`":"é","{":"ä","|":"ö","}":"å","~":"ü"}),r.VT.CharacterMaps.DefaultMaps.R=new r.VT.CharacterMap("french",{"#":"£","@":"à","[":"°","\\":"ç","]":"§","{":"é","|":"ù","}":"è","~":"¨"}),r.VT.CharacterMaps.DefaultMaps.Q=new r.VT.CharacterMap("french canadian",{"@":"à","[":"â","\\":"ç","]":"ê","^":"î","`":"ô","{":"é","|":"ù","}":"è","~":"û"}),r.VT.CharacterMaps.DefaultMaps.K=new r.VT.CharacterMap("german",{"@":"§","[":"Ä","\\":"Ö","]":"Ü","{":"ä","|":"ö","}":"ü","~":"ß"}),r.VT.CharacterMaps.DefaultMaps.Y=new r.VT.CharacterMap("italian",{"#":"£","@":"§","[":"°","\\":"ç","]":"é","`":"ù","{":"à","|":"ò","}":"è","~":"ì"}),r.VT.CharacterMaps.DefaultMaps.E=r.VT.CharacterMaps.DefaultMaps[6]=new r.VT.CharacterMap("norwegian/danish",{"@":"Ä","[":"Æ","\\":"Ø","]":"Å","^":"Ü","`":"ä","{":"æ","|":"ø","}":"å","~":"ü"}),r.VT.CharacterMaps.DefaultMaps.Z=new r.VT.CharacterMap("spanish",{"#":"£","@":"§","[":"¡","\\":"Ñ","]":"¿","{":"°","|":"ñ","}":"ç"}),r.VT.CharacterMaps.DefaultMaps[7]=r.VT.CharacterMaps.DefaultMaps.H=new r.VT.CharacterMap("swedish",{"@":"É","[":"Ä","\\":"Ö","]":"Å","^":"Ü","`":"é","{":"ä","|":"ö","}":"å","~":"ü"}),r.VT.CharacterMaps.DefaultMaps["="]=new r.VT.CharacterMap("swiss",{"#":"ù","@":"à","[":"é","\\":"ç","]":"ê","^":"î",_:"è","`":"ô","{":"ä","|":"ö","}":"ü","~":"û"}),t.resource.add("hterm/audio/bell","audio/ogg;base64","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"),t.resource.add("hterm/images/icon-96","image/png;base64","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"),t.resource.add("hterm/concat/date","text/plain","Tue, 22 Aug 2017 06:42:31 +0000"),t.resource.add("hterm/changelog/version","text/plain","1.70"),t.resource.add("hterm/changelog/date","text/plain","2017-08-16"),t.resource.add("hterm/git/HEAD","text/plain","git rev-parse HEAD"),e.exports={hterm:r,lib:t}},881:e=>{self,e.exports=(()=>{"use strict";var e={775:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.FitAddon=void 0;var r=function(){function e(){}return e.prototype.activate=function(e){this._terminal=e},e.prototype.dispose=function(){},e.prototype.fit=function(){var e=this.proposeDimensions();if(e&&this._terminal){var t=this._terminal._core;this._terminal.rows===e.rows&&this._terminal.cols===e.cols||(t._renderService.clear(),this._terminal.resize(e.cols,e.rows))}},e.prototype.proposeDimensions=function(){if(this._terminal&&this._terminal.element&&this._terminal.element.parentElement){var e=this._terminal._core;if(0!==e._renderService.dimensions.actualCellWidth&&0!==e._renderService.dimensions.actualCellHeight){var t=window.getComputedStyle(this._terminal.element.parentElement),r=parseInt(t.getPropertyValue("height")),i=Math.max(0,parseInt(t.getPropertyValue("width"))),o=window.getComputedStyle(this._terminal.element),n=r-(parseInt(o.getPropertyValue("padding-top"))+parseInt(o.getPropertyValue("padding-bottom"))),s=i-(parseInt(o.getPropertyValue("padding-right"))+parseInt(o.getPropertyValue("padding-left")))-e.viewport.scrollBarWidth;return{cols:Math.max(2,Math.floor(s/e._renderService.dimensions.actualCellWidth)),rows:Math.max(1,Math.floor(n/e._renderService.dimensions.actualCellHeight))}}}},e}();t.FitAddon=r}},t={};return function r(i){if(t[i])return t[i].exports;var o=t[i]={exports:{}};return e[i](o,o.exports,r),o.exports}(775)})()},962:e=>{window,e.exports=function(e){var t={};function r(i){if(t[i])return t[i].exports;var o=t[i]={i,l:!1,exports:{}};return e[i].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=e,r.c=t,r.d=function(e,t,i){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:i})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var i=Object.create(null);if(r.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(i,o,function(t){return e[t]}.bind(null,o));return i},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=0)}([function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WebLinksAddon=void 0;var i=r(1),o=new RegExp("(?:^|[^\\da-z\\.-]+)((https?:\\/\\/)((([\\da-z\\.-]+)\\.([a-z\\.]{2,6}))|((\\d{1,3}\\.){3}\\d{1,3})|(localhost))(:\\d{1,5})?((\\/[\\/\\w\\.\\-%~:+@]*)*([^:\"'\\s]))?(\\?[0-9\\w\\[\\]\\(\\)\\/\\?\\!#@$%&'*+,:;~\\=\\.\\-]*)?(#[0-9\\w\\[\\]\\(\\)\\/\\?\\!#@$%&'*+,:;~\\=\\.\\-]*)?)($|[^\\/\\w\\.\\-%]+)");function n(e,t){var r=window.open();r?(r.opener=null,r.location.href=t):console.warn("Opening link blocked as opener could not be cleared")}var s=function(){function e(e,t,r){void 0===e&&(e=n),void 0===t&&(t={}),void 0===r&&(r=!1),this._handler=e,this._options=t,this._useLinkProvider=r,this._options.matchIndex=1}return e.prototype.activate=function(e){this._terminal=e,this._useLinkProvider&&"registerLinkProvider"in this._terminal?this._linkProvider=this._terminal.registerLinkProvider(new i.WebLinkProvider(this._terminal,o,this._handler)):this._linkMatcherId=this._terminal.registerLinkMatcher(o,this._handler,this._options)},e.prototype.dispose=function(){var e;void 0!==this._linkMatcherId&&void 0!==this._terminal&&this._terminal.deregisterLinkMatcher(this._linkMatcherId),null===(e=this._linkProvider)||void 0===e||e.dispose()},e}();t.WebLinksAddon=s},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LinkComputer=t.WebLinkProvider=void 0;var i=function(){function e(e,t,r){this._terminal=e,this._regex=t,this._handler=r}return e.prototype.provideLinks=function(e,t){t(o.computeLink(e,this._regex,this._terminal,this._handler))},e}();t.WebLinkProvider=i;var o=function(){function e(){}return e.computeLink=function(t,r,i,o){for(var n,s=new RegExp(r.source,(r.flags||"")+"g"),a=e._translateBufferLineToStringWithWrap(t-1,!1,i),c=a[0],l=a[1],h=-1,u=[];null!==(n=s.exec(c));){var d=n[1];if(!d){console.log("match found without corresponding matchIndex");break}if(h=c.indexOf(d,h+1),s.lastIndex=h+d.length,h<0)break;for(var f=h+d.length,p=l+1;f>i.cols;)f-=i.cols,p++;var _={start:{x:h+1,y:l+1},end:{x:f,y:p}};u.push({range:_,text:d,activate:o})}return u},e._translateBufferLineToStringWithWrap=function(e,t,r){var i,o,n="";do{if(!(a=r.buffer.active.getLine(e)))break;a.isWrapped&&e--,o=a.isWrapped}while(o);var s=e;do{var a,c=r.buffer.active.getLine(e+1);if(i=!!c&&c.isWrapped,!(a=r.buffer.active.getLine(e)))break;n+=a.translateToString(!i&&t).substring(0,r.cols),e++}while(i);return[n,s]},e}();t.LinkComputer=o}])},445:e=>{self,e.exports=(()=>{"use strict";var e={965:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.GlyphRenderer=void 0;var i=r(381),o=r(310),n=r(455),s=r(259),a=r(855),c=r(147),l=10,h=l*Float32Array.BYTES_PER_ELEMENT,u=function(){function e(e,t,r,o){this._terminal=e,this._colors=t,this._gl=r,this._dimensions=o,this._activeBuffer=0,this._vertices={count:0,attributes:new Float32Array(0),attributesBuffers:[new Float32Array(0),new Float32Array(0)],selectionAttributes:new Float32Array(0)};var n=this._gl,s=i.throwIfFalsy(i.createProgram(n,"#version 300 es\nlayout (location = 0) in vec2 a_unitquad;\nlayout (location = 1) in vec2 a_cellpos;\nlayout (location = 2) in vec2 a_offset;\nlayout (location = 3) in vec2 a_size;\nlayout (location = 4) in vec2 a_texcoord;\nlayout (location = 5) in vec2 a_texsize;\n\nuniform mat4 u_projection;\nuniform vec2 u_resolution;\n\nout vec2 v_texcoord;\n\nvoid main() {\n vec2 zeroToOne = (a_offset / u_resolution) + a_cellpos + (a_unitquad * a_size);\n gl_Position = u_projection * vec4(zeroToOne, 0.0, 1.0);\n v_texcoord = a_texcoord + a_unitquad * a_texsize;\n}","#version 300 es\nprecision lowp float;\n\nin vec2 v_texcoord;\n\nuniform sampler2D u_texture;\n\nout vec4 outColor;\n\nvoid main() {\n outColor = texture(u_texture, v_texcoord);\n}"));this._program=s,this._projectionLocation=i.throwIfFalsy(n.getUniformLocation(this._program,"u_projection")),this._resolutionLocation=i.throwIfFalsy(n.getUniformLocation(this._program,"u_resolution")),this._textureLocation=i.throwIfFalsy(n.getUniformLocation(this._program,"u_texture")),this._vertexArrayObject=n.createVertexArray(),n.bindVertexArray(this._vertexArrayObject);var a=new Float32Array([0,0,1,0,0,1,1,1]),c=n.createBuffer();n.bindBuffer(n.ARRAY_BUFFER,c),n.bufferData(n.ARRAY_BUFFER,a,n.STATIC_DRAW),n.enableVertexAttribArray(0),n.vertexAttribPointer(0,2,this._gl.FLOAT,!1,0,0);var l=new Uint8Array([0,1,3,0,2,3]),u=n.createBuffer();n.bindBuffer(n.ELEMENT_ARRAY_BUFFER,u),n.bufferData(n.ELEMENT_ARRAY_BUFFER,l,n.STATIC_DRAW),this._attributesBuffer=i.throwIfFalsy(n.createBuffer()),n.bindBuffer(n.ARRAY_BUFFER,this._attributesBuffer),n.enableVertexAttribArray(2),n.vertexAttribPointer(2,2,n.FLOAT,!1,h,0),n.vertexAttribDivisor(2,1),n.enableVertexAttribArray(3),n.vertexAttribPointer(3,2,n.FLOAT,!1,h,2*Float32Array.BYTES_PER_ELEMENT),n.vertexAttribDivisor(3,1),n.enableVertexAttribArray(4),n.vertexAttribPointer(4,2,n.FLOAT,!1,h,4*Float32Array.BYTES_PER_ELEMENT),n.vertexAttribDivisor(4,1),n.enableVertexAttribArray(5),n.vertexAttribPointer(5,2,n.FLOAT,!1,h,6*Float32Array.BYTES_PER_ELEMENT),n.vertexAttribDivisor(5,1),n.enableVertexAttribArray(1),n.vertexAttribPointer(1,2,n.FLOAT,!1,h,8*Float32Array.BYTES_PER_ELEMENT),n.vertexAttribDivisor(1,1),this._atlasTexture=i.throwIfFalsy(n.createTexture()),n.bindTexture(n.TEXTURE_2D,this._atlasTexture),n.texImage2D(n.TEXTURE_2D,0,n.RGBA,1,1,0,n.RGBA,n.UNSIGNED_BYTE,new Uint8Array([0,0,255,255])),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_S,n.CLAMP_TO_EDGE),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_T,n.CLAMP_TO_EDGE),n.enable(n.BLEND),n.blendFunc(n.SRC_ALPHA,n.ONE_MINUS_SRC_ALPHA),this.onResize()}return e.prototype.beginFrame=function(){return!this._atlas||this._atlas.beginFrame()},e.prototype.updateCell=function(e,t,r,i,o,n){this._updateCell(this._vertices.attributes,e,t,r,i,o,n)},e.prototype._updateCell=function(e,t,r,i,o,s,c){var h,u=(r*this._terminal.cols+t)*l;i!==a.NULL_CELL_CODE&&i!==a.WHITESPACE_CELL_CODE&&void 0!==i?this._atlas&&((h=c&&c.length>1?this._atlas.getRasterizedGlyphCombinedChar(c,o,s):this._atlas.getRasterizedGlyph(i,o,s))?(e[u]=-h.offset.x+this._dimensions.scaledCharLeft,e[u+1]=-h.offset.y+this._dimensions.scaledCharTop,e[u+2]=h.size.x/this._dimensions.scaledCanvasWidth,e[u+3]=h.size.y/this._dimensions.scaledCanvasHeight,e[u+4]=h.texturePositionClipSpace.x,e[u+5]=h.texturePositionClipSpace.y,e[u+6]=h.sizeClipSpace.x,e[u+7]=h.sizeClipSpace.y):n.fill(e,0,u,u+l-1-2)):n.fill(e,0,u,u+l-1-2)},e.prototype.updateSelection=function(e){var t=this._terminal;this._vertices.selectionAttributes=s.slice(this._vertices.attributes,0);var r=this._colors.selectionOpaque.rgba>>>8|50331648;if(e.selection.columnSelectMode)for(var i=e.selection.startCol,o=e.selection.endCol-i,n=e.selection.viewportCappedEndRow-e.selection.viewportCappedStartRow+1,a=e.selection.viewportCappedStartRow;a>8&16711680|_>>8&65280|_>>8&255;case 50331648:var g=c.AttributeData.toColorRGB(p.getBgColor());f|=g[0]<<16|g[1]<<8|g[2]<<0;case 0:default:var v=this._colors.background.rgba;f|=v>>8&16711680|v>>8&65280|v>>8&255}f|=50331648}if(d&o.COMBINED_CHAR_BIT_MASK){s||(s=a.buffer.active.getLine(l));var b=s.getCell(h).getChars();this._updateCell(this._vertices.selectionAttributes,h,r,i.cells[u],n,f,b)}else this._updateCell(this._vertices.selectionAttributes,h,r,i.cells[u],n,f)}},e.prototype._getColorFromAnsiIndex=function(e){if(e>=this._colors.ansi.length)throw new Error("No color found for idx "+e);return this._colors.ansi[e]},e.prototype.onResize=function(){var e=this._terminal,t=this._gl;t.viewport(0,0,t.canvas.width,t.canvas.height);var r=e.cols*e.rows*l;if(this._vertices.count!==r){this._vertices.count=r,this._vertices.attributes=new Float32Array(r);for(var i=0;i{Object.defineProperty(t,"__esModule",{value:!0}),t.RectangleRenderer=void 0;var i=r(381),o=r(455),n=r(310),s=8*Float32Array.BYTES_PER_ELEMENT,a=function(){function e(e,t,r,o){this._terminal=e,this._colors=t,this._gl=r,this._dimensions=o,this._vertices={count:0,attributes:new Float32Array(160),selection:new Float32Array(24)};var n=this._gl;this._program=i.throwIfFalsy(i.createProgram(n,"#version 300 es\nlayout (location = 0) in vec2 a_position;\nlayout (location = 1) in vec2 a_size;\nlayout (location = 2) in vec4 a_color;\nlayout (location = 3) in vec2 a_unitquad;\n\nuniform mat4 u_projection;\nuniform vec2 u_resolution;\n\nout vec4 v_color;\n\nvoid main() {\n vec2 zeroToOne = (a_position + (a_unitquad * a_size)) / u_resolution;\n gl_Position = u_projection * vec4(zeroToOne, 0.0, 1.0);\n v_color = a_color;\n}","#version 300 es\nprecision lowp float;\n\nin vec4 v_color;\n\nout vec4 outColor;\n\nvoid main() {\n outColor = v_color;\n}")),this._resolutionLocation=i.throwIfFalsy(n.getUniformLocation(this._program,"u_resolution")),this._projectionLocation=i.throwIfFalsy(n.getUniformLocation(this._program,"u_projection")),this._vertexArrayObject=n.createVertexArray(),n.bindVertexArray(this._vertexArrayObject);var a=new Float32Array([0,0,1,0,0,1,1,1]),c=n.createBuffer();n.bindBuffer(n.ARRAY_BUFFER,c),n.bufferData(n.ARRAY_BUFFER,a,n.STATIC_DRAW),n.enableVertexAttribArray(3),n.vertexAttribPointer(3,2,this._gl.FLOAT,!1,0,0);var l=new Uint8Array([0,1,3,0,2,3]),h=n.createBuffer();n.bindBuffer(n.ELEMENT_ARRAY_BUFFER,h),n.bufferData(n.ELEMENT_ARRAY_BUFFER,l,n.STATIC_DRAW),this._attributesBuffer=i.throwIfFalsy(n.createBuffer()),n.bindBuffer(n.ARRAY_BUFFER,this._attributesBuffer),n.enableVertexAttribArray(0),n.vertexAttribPointer(0,2,n.FLOAT,!1,s,0),n.vertexAttribDivisor(0,1),n.enableVertexAttribArray(1),n.vertexAttribPointer(1,2,n.FLOAT,!1,s,2*Float32Array.BYTES_PER_ELEMENT),n.vertexAttribDivisor(1,1),n.enableVertexAttribArray(2),n.vertexAttribPointer(2,4,n.FLOAT,!1,s,4*Float32Array.BYTES_PER_ELEMENT),n.vertexAttribDivisor(2,1),this._updateCachedColors()}return e.prototype.render=function(){var e=this._gl;e.useProgram(this._program),e.bindVertexArray(this._vertexArrayObject),e.uniformMatrix4fv(this._projectionLocation,!1,i.PROJECTION_MATRIX),e.uniform2f(this._resolutionLocation,e.canvas.width,e.canvas.height),e.bindBuffer(e.ARRAY_BUFFER,this._attributesBuffer),e.bufferData(e.ARRAY_BUFFER,this._vertices.attributes,e.DYNAMIC_DRAW),e.drawElementsInstanced(this._gl.TRIANGLES,6,e.UNSIGNED_BYTE,0,this._vertices.count),e.bindBuffer(e.ARRAY_BUFFER,this._attributesBuffer),e.bufferData(e.ARRAY_BUFFER,this._vertices.selection,e.DYNAMIC_DRAW),e.drawElementsInstanced(this._gl.TRIANGLES,6,e.UNSIGNED_BYTE,0,3)},e.prototype.onResize=function(){this._updateViewportRectangle()},e.prototype.setColors=function(){this._updateCachedColors(),this._updateViewportRectangle()},e.prototype._updateCachedColors=function(){this._bgFloat=this._colorToFloat32Array(this._colors.background),this._selectionFloat=this._colorToFloat32Array(this._colors.selectionOpaque)},e.prototype._updateViewportRectangle=function(){this._addRectangleFloat(this._vertices.attributes,0,0,0,this._terminal.cols*this._dimensions.scaledCellWidth,this._terminal.rows*this._dimensions.scaledCellHeight,this._bgFloat)},e.prototype.updateSelection=function(e){var t=this._terminal;if(e.hasSelection)if(e.columnSelectMode){var r=e.startCol,i=e.endCol-r,n=e.viewportCappedEndRow-e.viewportCappedStartRow+1;this._addRectangleFloat(this._vertices.selection,0,r*this._dimensions.scaledCellWidth,e.viewportCappedStartRow*this._dimensions.scaledCellHeight,i*this._dimensions.scaledCellWidth,n*this._dimensions.scaledCellHeight,this._selectionFloat),o.fill(this._vertices.selection,0,8)}else{r=e.viewportStartRow===e.viewportCappedStartRow?e.startCol:0;var s=e.viewportCappedStartRow===e.viewportEndRow?e.endCol:t.cols;this._addRectangleFloat(this._vertices.selection,0,r*this._dimensions.scaledCellWidth,e.viewportCappedStartRow*this._dimensions.scaledCellHeight,(s-r)*this._dimensions.scaledCellWidth,this._dimensions.scaledCellHeight,this._selectionFloat);var a=Math.max(e.viewportCappedEndRow-e.viewportCappedStartRow-1,0);if(this._addRectangleFloat(this._vertices.selection,8,0,(e.viewportCappedStartRow+1)*this._dimensions.scaledCellHeight,t.cols*this._dimensions.scaledCellWidth,a*this._dimensions.scaledCellHeight,this._selectionFloat),e.viewportCappedStartRow!==e.viewportCappedEndRow){var c=e.viewportEndRow===e.viewportCappedEndRow?e.endCol:t.cols;this._addRectangleFloat(this._vertices.selection,16,0,e.viewportCappedEndRow*this._dimensions.scaledCellHeight,c*this._dimensions.scaledCellWidth,this._dimensions.scaledCellHeight,this._selectionFloat)}else o.fill(this._vertices.selection,0,16)}else o.fill(this._vertices.selection,0,0)},e.prototype.updateBackgrounds=function(e){for(var t=this._terminal,r=this._vertices,i=1,o=0;o>24&255)/255,d=(c>>16&255)/255,f=(c>>8&255)/255;this._addRectangle(e.attributes,t,l,h,(s-n)*this._dimensions.scaledCellWidth,this._dimensions.scaledCellHeight,u,d,f,1)},e.prototype._addRectangle=function(e,t,r,i,o,n,s,a,c,l){e[t]=r,e[t+1]=i,e[t+2]=o,e[t+3]=n,e[t+4]=s,e[t+5]=a,e[t+6]=c,e[t+7]=l},e.prototype._addRectangleFloat=function(e,t,r,i,o,n,s){e[t]=r,e[t+1]=i,e[t+2]=o,e[t+3]=n,e[t+4]=s[0],e[t+5]=s[1],e[t+6]=s[2],e[t+7]=s[3]},e.prototype._colorToFloat32Array=function(e){return new Float32Array([(e.rgba>>24&255)/255,(e.rgba>>16&255)/255,(e.rgba>>8&255)/255,(255&e.rgba)/255])},e}();t.RectangleRenderer=a},310:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.RenderModel=t.COMBINED_CHAR_BIT_MASK=t.RENDER_MODEL_FG_OFFSET=t.RENDER_MODEL_BG_OFFSET=t.RENDER_MODEL_INDICIES_PER_CELL=void 0;var i=r(455);t.RENDER_MODEL_INDICIES_PER_CELL=3,t.RENDER_MODEL_BG_OFFSET=1,t.RENDER_MODEL_FG_OFFSET=2,t.COMBINED_CHAR_BIT_MASK=2147483648;var o=function(){function e(){this.cells=new Uint32Array(0),this.lineLengths=new Uint32Array(0),this.selection={hasSelection:!1,columnSelectMode:!1,viewportStartRow:0,viewportEndRow:0,viewportCappedStartRow:0,viewportCappedEndRow:0,startCol:0,endCol:0}}return e.prototype.resize=function(e,r){var i=e*r*t.RENDER_MODEL_INDICIES_PER_CELL;i!==this.cells.length&&(this.cells=new Uint32Array(i),this.lineLengths=new Uint32Array(r))},e.prototype.clear=function(){i.fill(this.cells,0,0),i.fill(this.lineLengths,0,0)},e.prototype.clearSelection=function(){this.selection.hasSelection=!1,this.selection.viewportStartRow=0,this.selection.viewportEndRow=0,this.selection.viewportCappedStartRow=0,this.selection.viewportCappedEndRow=0,this.selection.startCol=0,this.selection.endCol=0},e}();t.RenderModel=o},259:(e,t)=>{function r(e,t,r){void 0===t&&(t=0),void 0===r&&(r=e.length),t<0&&(t=(e.length+t)%e.length),r=r>=e.length?e.length:(e.length+r)%e.length,t=Math.min(t,r);for(var i=new e.constructor(r-t),o=0;o{Object.defineProperty(t,"__esModule",{value:!0}),t.WebglAddon=void 0;var i=r(666),o=function(){function e(e){this._preserveDrawingBuffer=e}return e.prototype.activate=function(e){if(!e.element)throw new Error("Cannot activate WebglAddon before Terminal.open");this._terminal=e;var t=e._core._renderService,r=e._core._colorManager.colors;this._renderer=new i.WebglRenderer(e,r,this._preserveDrawingBuffer),t.setRenderer(this._renderer)},e.prototype.dispose=function(){if(!this._terminal)throw new Error("Cannot dispose WebglAddon because it is activated");var e=this._terminal._core._renderService;e.setRenderer(this._terminal._core._createRenderer()),e.onResize(this._terminal.cols,this._terminal.rows),this._renderer=void 0},Object.defineProperty(e.prototype,"textureAtlas",{get:function(){var e;return null===(e=this._renderer)||void 0===e?void 0:e.textureAtlas},enumerable:!1,configurable:!0}),e.prototype.clearTextureAtlas=function(){var e;null===(e=this._renderer)||void 0===e||e.clearCharAtlas()},e}();t.WebglAddon=o},666:function(e,t,r){var i,o=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});Object.defineProperty(t,"__esModule",{value:!0}),t.WebglRenderer=void 0;var n=r(965),s=r(733),a=r(461),c=r(713),l=r(344),h=r(310),u=r(859),d=r(855),f=r(345),p=r(782),_=function(e){function t(t,r,i){var o=e.call(this)||this;o._terminal=t,o._colors=r,o._model=new h.RenderModel,o._workCell=new p.CellData,o._onRequestRedraw=new f.EventEmitter,o._core=o._terminal._core,o._renderLayers=[new s.LinkRenderLayer(o._core.screenElement,2,o._colors,o._core),new a.CursorRenderLayer(o._core.screenElement,3,o._colors,o._onRequestRedraw)],o.dimensions={scaledCharWidth:0,scaledCharHeight:0,scaledCellWidth:0,scaledCellHeight:0,scaledCharLeft:0,scaledCharTop:0,scaledCanvasWidth:0,scaledCanvasHeight:0,canvasWidth:0,canvasHeight:0,actualCellWidth:0,actualCellHeight:0},o._devicePixelRatio=window.devicePixelRatio,o._updateDimensions(),o._canvas=document.createElement("canvas");var c={antialias:!1,depth:!1,preserveDrawingBuffer:i};if(o._gl=o._canvas.getContext("webgl2",c),!o._gl)throw new Error("WebGL2 not supported "+o._gl);return o._core.screenElement.appendChild(o._canvas),o._rectangleRenderer=new l.RectangleRenderer(o._terminal,o._colors,o._gl,o.dimensions),o._glyphRenderer=new n.GlyphRenderer(o._terminal,o._colors,o._gl,o.dimensions),o.onCharSizeChanged(),o._isAttached=document.body.contains(o._core.screenElement),o}return o(t,e),Object.defineProperty(t.prototype,"onRequestRedraw",{get:function(){return this._onRequestRedraw.event},enumerable:!1,configurable:!0}),t.prototype.dispose=function(){this._renderLayers.forEach((function(e){return e.dispose()})),this._core.screenElement.removeChild(this._canvas),e.prototype.dispose.call(this)},Object.defineProperty(t.prototype,"textureAtlas",{get:function(){var e;return null===(e=this._charAtlas)||void 0===e?void 0:e.cacheCanvas},enumerable:!1,configurable:!0}),t.prototype.setColors=function(e){var t=this;this._colors=e,this._renderLayers.forEach((function(e){e.setColors(t._terminal,t._colors),e.reset(t._terminal)})),this._rectangleRenderer.setColors(),this._glyphRenderer.setColors(),this._refreshCharAtlas(),this._model.clear()},t.prototype.onDevicePixelRatioChange=function(){this._devicePixelRatio!==window.devicePixelRatio&&(this._devicePixelRatio=window.devicePixelRatio,this.onResize(this._terminal.cols,this._terminal.rows))},t.prototype.onResize=function(e,t){var r=this;this._updateDimensions(),this._model.resize(this._terminal.cols,this._terminal.rows),this._renderLayers.forEach((function(e){return e.resize(r._terminal,r.dimensions)})),this._canvas.width=this.dimensions.scaledCanvasWidth,this._canvas.height=this.dimensions.scaledCanvasHeight,this._canvas.style.width=this.dimensions.canvasWidth+"px",this._canvas.style.height=this.dimensions.canvasHeight+"px",this._core.screenElement.style.width=this.dimensions.canvasWidth+"px",this._core.screenElement.style.height=this.dimensions.canvasHeight+"px",this._rectangleRenderer.onResize(),this._model.selection.hasSelection&&this._rectangleRenderer.updateSelection(this._model.selection),this._glyphRenderer.setDimensions(this.dimensions),this._glyphRenderer.onResize(),this._refreshCharAtlas(),this._model.clear()},t.prototype.onCharSizeChanged=function(){this.onResize(this._terminal.cols,this._terminal.rows)},t.prototype.onBlur=function(){var e=this;this._renderLayers.forEach((function(t){return t.onBlur(e._terminal)}))},t.prototype.onFocus=function(){var e=this;this._renderLayers.forEach((function(t){return t.onFocus(e._terminal)}))},t.prototype.onSelectionChanged=function(e,t,r){var i=this;this._renderLayers.forEach((function(o){return o.onSelectionChanged(i._terminal,e,t,r)})),this._updateSelectionModel(e,t,r),this._onRequestRedraw.fire({start:0,end:this._terminal.rows-1})},t.prototype.onCursorMove=function(){var e=this;this._renderLayers.forEach((function(t){return t.onCursorMove(e._terminal)}))},t.prototype.onOptionsChanged=function(){var e=this;this._renderLayers.forEach((function(t){return t.onOptionsChanged(e._terminal)})),this._updateDimensions(),this._refreshCharAtlas()},t.prototype._refreshCharAtlas=function(){if(this.dimensions.scaledCharWidth<=0&&this.dimensions.scaledCharHeight<=0)this._isAttached=!1;else{var e=c.acquireCharAtlas(this._terminal,this._colors,this.dimensions.scaledCharWidth,this.dimensions.scaledCharHeight);if(!("getRasterizedGlyph"in e))throw new Error("The webgl renderer only works with the webgl char atlas");this._charAtlas=e,this._charAtlas.warmUp(),this._glyphRenderer.setAtlas(this._charAtlas)}},t.prototype.clearCharAtlas=function(){var e;null===(e=this._charAtlas)||void 0===e||e.clearTexture(),this._model.clear(),this._updateModel(0,this._terminal.rows-1),this._onRequestRedraw.fire({start:0,end:this._terminal.rows-1})},t.prototype.clear=function(){var e=this;this._renderLayers.forEach((function(t){return t.reset(e._terminal)}))},t.prototype.registerCharacterJoiner=function(e){return-1},t.prototype.deregisterCharacterJoiner=function(e){return!1},t.prototype.renderRows=function(e,t){var r=this;if(!this._isAttached){if(!(document.body.contains(this._core.screenElement)&&this._core._charSizeService.width&&this._core._charSizeService.height))return;this._updateDimensions(),this._refreshCharAtlas(),this._isAttached=!0}this._renderLayers.forEach((function(i){return i.onGridChanged(r._terminal,e,t)})),this._glyphRenderer.beginFrame()&&(this._model.clear(),this._updateSelectionModel(void 0,void 0)),this._updateModel(e,t),this._rectangleRenderer.render(),this._glyphRenderer.render(this._model,this._model.selection.hasSelection)},t.prototype._updateModel=function(e,t){for(var r=this._core,i=e;i<=t;i++){var o=i+r.buffer.ydisp,n=r.buffer.lines.get(o);this._model.lineLengths[i]=0;for(var s=0;s1&&(c|=h.COMBINED_CHAR_BIT_MASK),this._model.cells[l]=c,this._model.cells[l+h.RENDER_MODEL_BG_OFFSET]=this._workCell.bg,this._model.cells[l+h.RENDER_MODEL_FG_OFFSET]=this._workCell.fg,this._glyphRenderer.updateCell(s,i,c,this._workCell.bg,this._workCell.fg,a))}}this._rectangleRenderer.updateBackgrounds(this._model),this._model.selection.hasSelection&&this._glyphRenderer.updateSelection(this._model)},t.prototype._updateSelectionModel=function(e,t,r){void 0===r&&(r=!1);var i=this._terminal;if(!e||!t||e[0]===t[0]&&e[1]===t[1])return this._model.clearSelection(),void this._rectangleRenderer.updateSelection(this._model.selection);var o=e[1]-i.buffer.active.viewportY,n=t[1]-i.buffer.active.viewportY,s=Math.max(o,0),a=Math.min(n,i.rows-1);if(s>=i.rows||a<0)return this._model.clearSelection(),void this._rectangleRenderer.updateSelection(this._model.selection);this._model.selection.hasSelection=!0,this._model.selection.columnSelectMode=r,this._model.selection.viewportStartRow=o,this._model.selection.viewportEndRow=n,this._model.selection.viewportCappedStartRow=s,this._model.selection.viewportCappedEndRow=a,this._model.selection.startCol=e[0],this._model.selection.endCol=t[0],this._rectangleRenderer.updateSelection(this._model.selection)},t.prototype._updateDimensions=function(){this._core._charSizeService.width&&this._core._charSizeService.height&&(this.dimensions.scaledCharWidth=Math.floor(this._core._charSizeService.width*this._devicePixelRatio),this.dimensions.scaledCharHeight=Math.ceil(this._core._charSizeService.height*this._devicePixelRatio),this.dimensions.scaledCellHeight=Math.floor(this.dimensions.scaledCharHeight*this._terminal.getOption("lineHeight")),this.dimensions.scaledCharTop=1===this._terminal.getOption("lineHeight")?0:Math.round((this.dimensions.scaledCellHeight-this.dimensions.scaledCharHeight)/2),this.dimensions.scaledCellWidth=this.dimensions.scaledCharWidth+Math.round(this._terminal.getOption("letterSpacing")),this.dimensions.scaledCharLeft=Math.floor(this._terminal.getOption("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/this._devicePixelRatio),this.dimensions.canvasWidth=Math.round(this.dimensions.scaledCanvasWidth/this._devicePixelRatio),this.dimensions.actualCellHeight=this.dimensions.scaledCellHeight/this._devicePixelRatio,this.dimensions.actualCellWidth=this.dimensions.scaledCellWidth/this._devicePixelRatio)},t}(u.Disposable);t.WebglRenderer=_},381:(e,t)=>{function r(e,t,r){var o=i(e.createShader(t));if(e.shaderSource(o,r),e.compileShader(o),e.getShaderParameter(o,e.COMPILE_STATUS))return o;console.error(e.getShaderInfoLog(o)),e.deleteShader(o)}function i(e){if(!e)throw new Error("value must not be falsy");return e}Object.defineProperty(t,"__esModule",{value:!0}),t.throwIfFalsy=t.expandFloat32Array=t.createShader=t.createProgram=t.PROJECTION_MATRIX=void 0,t.PROJECTION_MATRIX=new Float32Array([2,0,0,0,0,-2,0,0,0,0,1,0,-1,1,0,1]),t.createProgram=function(e,t,o){var n=i(e.createProgram());if(e.attachShader(n,i(r(e,e.VERTEX_SHADER,t))),e.attachShader(n,i(r(e,e.FRAGMENT_SHADER,o))),e.linkProgram(n),e.getProgramParameter(n,e.LINK_STATUS))return n;console.error(e.getProgramInfoLog(n)),e.deleteProgram(n)},t.createShader=r,t.expandFloat32Array=function(e,t){for(var r=Math.min(2*e.length,t),i=new Float32Array(r),o=0;o{Object.defineProperty(t,"__esModule",{value:!0}),t.removeTerminalFromCache=t.acquireCharAtlas=void 0;var i=r(433),o=r(167),n=[];t.acquireCharAtlas=function(e,t,r,s){for(var a=i.generateConfig(r,s,e,t),c=0;c=0){if(i.configEquals(h.config,a))return h.atlas;1===h.ownedBy.length?(h.atlas.dispose(),n.splice(c,1)):h.ownedBy.splice(l,1);break}}for(c=0;c{Object.defineProperty(t,"__esModule",{value:!0}),t.is256Color=t.configEquals=t.generateConfig=void 0;var r={css:"",rgba:0};t.generateConfig=function(e,t,i,o){var n={foreground:o.foreground,background:o.background,cursor:r,cursorAccent:r,selectionTransparent:r,selectionOpaque:r,ansi:o.ansi.slice(),contrastCache:o.contrastCache};return{devicePixelRatio:window.devicePixelRatio,scaledCharWidth:e,scaledCharHeight:t,fontFamily:i.getOption("fontFamily"),fontSize:i.getOption("fontSize"),fontWeight:i.getOption("fontWeight"),fontWeightBold:i.getOption("fontWeightBold"),allowTransparency:i.getOption("allowTransparency"),drawBoldTextInBrightColors:i.getOption("drawBoldTextInBrightColors"),minimumContrastRatio:i.getOption("minimumContrastRatio"),colors:n}},t.configEquals=function(e,t){for(var r=0;r{Object.defineProperty(t,"__esModule",{value:!0}),t.WebglCharAtlas=void 0;var i=r(499),o=r(855),n=r(381),s=r(147),a=r(742),c=1024,l=1024,h=Math.floor(819.2),u={css:"rgba(0, 0, 0, 0)",rgba:0},d={offset:{x:0,y:0},texturePosition:{x:0,y:0},texturePositionClipSpace:{x:0,y:0},size:{x:0,y:0},sizeClipSpace:{x:0,y:0}},f=function(){function e(e,t){this._config=t,this._didWarmUp=!1,this._cacheMap={},this._cacheMapCombined={},this._currentRowY=0,this._currentRowX=0,this._currentRowHeight=0,this.hasCanvasChanged=!1,this._workBoundingBox={top:0,left:0,bottom:0,right:0},this._workAttributeData=new s.AttributeData,this.cacheCanvas=e.createElement("canvas"),this.cacheCanvas.width=c,this.cacheCanvas.height=l,this._cacheCtx=n.throwIfFalsy(this.cacheCanvas.getContext("2d",{alpha:!0})),this._tmpCanvas=e.createElement("canvas"),this._tmpCanvas.width=2*this._config.scaledCharWidth+4,this._tmpCanvas.height=this._config.scaledCharHeight+4,this._tmpCtx=n.throwIfFalsy(this._tmpCanvas.getContext("2d",{alpha:this._config.allowTransparency}))}return e.prototype.dispose=function(){this.cacheCanvas.parentElement&&this.cacheCanvas.parentElement.removeChild(this.cacheCanvas)},e.prototype.warmUp=function(){this._didWarmUp||(this._doWarmUp(),this._didWarmUp=!0)},e.prototype._doWarmUp=function(){for(var e,t,r=33;r<126;r++){var i=this._drawToCache(r,o.DEFAULT_COLOR,o.DEFAULT_COLOR);this._cacheMap[r]=((e={})[o.DEFAULT_COLOR]=((t={})[o.DEFAULT_COLOR]=i,t),e)}},e.prototype.beginFrame=function(){return this._currentRowY>h&&(this.clearTexture(),this.warmUp(),!0)},e.prototype.clearTexture=function(){0===this._currentRowX&&0===this._currentRowY||(this._cacheCtx.clearRect(0,0,c,l),this._cacheMap={},this._cacheMapCombined={},this._currentRowHeight=0,this._currentRowX=0,this._currentRowY=0,this._didWarmUp=!1)},e.prototype.getRasterizedGlyphCombinedChar=function(e,t,r){var i,o=this._cacheMapCombined[e];o||(o={},this._cacheMapCombined[e]=o);var n=o[t];return n&&(i=n[r]),i||(i=this._drawToCache(e,t,r),o[t]||(o[t]={}),o[t][r]=i),i},e.prototype.getRasterizedGlyph=function(e,t,r){var i,o=this._cacheMap[e];o||(o={},this._cacheMap[e]=o);var n=o[t];return n&&(i=n[r]),i||(i=this._drawToCache(e,t,r),o[t]||(o[t]={}),o[t][r]=i),i},e.prototype._getColorFromAnsiIndex=function(e){if(e>=this._config.colors.ansi.length)throw new Error("No color found for idx "+e);return this._config.colors.ansi[e]},e.prototype._getBackgroundColor=function(e,t,r){if(this._config.allowTransparency)return u;switch(e){case 16777216:case 33554432:return this._getColorFromAnsiIndex(t);case 50331648:var i=s.AttributeData.toColorRGB(t);return{rgba:t<<8,css:"#"+p(i[0])+p(i[1])+p(i[2])};case 0:default:return r?this._config.colors.foreground:this._config.colors.background}},e.prototype._getForegroundCss=function(e,t,r,i,o,n,c,l){var h=this._getMinimumContrastCss(e,t,r,i,o,n,c,l);if(h)return h;switch(o){case 16777216:case 33554432:return this._config.drawBoldTextInBrightColors&&l&&n<8&&(n+=8),this._getColorFromAnsiIndex(n).css;case 50331648:var u=s.AttributeData.toColorRGB(n);return a.channels.toCss(u[0],u[1],u[2]);case 0:default:if(c){var d=this._config.colors.background.css;return 9===d.length?d.substr(0,7):d}return this._config.colors.foreground.css}},e.prototype._resolveBackgroundRgba=function(e,t,r){switch(e){case 16777216:case 33554432:return this._getColorFromAnsiIndex(t).rgba;case 50331648:return t<<8;case 0:default:return r?this._config.colors.foreground.rgba:this._config.colors.background.rgba}},e.prototype._resolveForegroundRgba=function(e,t,r,i){switch(e){case 16777216:case 33554432:return this._config.drawBoldTextInBrightColors&&i&&t<8&&(t+=8),this._getColorFromAnsiIndex(t).rgba;case 50331648:return t<<8;case 0:default:return r?this._config.colors.background.rgba:this._config.colors.foreground.rgba}},e.prototype._getMinimumContrastCss=function(e,t,r,i,o,n,s,c){if(1!==this._config.minimumContrastRatio){var l=this._config.colors.contrastCache.getCss(e,i);if(void 0!==l)return l||void 0;var h=this._resolveBackgroundRgba(t,r,s),u=this._resolveForegroundRgba(o,n,s,c),d=a.rgba.ensureContrastRatio(h,u,this._config.minimumContrastRatio);if(d){var f=a.channels.toCss(d>>24&255,d>>16&255,d>>8&255);return this._config.colors.contrastCache.setCss(e,i,f),f}this._config.colors.contrastCache.setCss(e,i,null)}},e.prototype._drawToCache=function(e,t,r){var o="number"==typeof e?String.fromCharCode(e):e;if(this.hasCanvasChanged=!0,this._tmpCtx.save(),this._workAttributeData.fg=r,this._workAttributeData.bg=t,this._workAttributeData.isInvisible())return d;var n=!!this._workAttributeData.isBold(),s=!!this._workAttributeData.isInverse(),a=!!this._workAttributeData.isDim(),h=!!this._workAttributeData.isItalic(),u=this._workAttributeData.getFgColor(),f=this._workAttributeData.getFgColorMode(),p=this._workAttributeData.getBgColor(),_=this._workAttributeData.getBgColorMode();if(s){var g=u;u=p,p=g;var v=f;f=_,_=v}var b=this._getBackgroundColor(_,p,s);this._tmpCtx.globalCompositeOperation="copy",this._tmpCtx.fillStyle=b.css,this._tmpCtx.fillRect(0,0,this._tmpCanvas.width,this._tmpCanvas.height),this._tmpCtx.globalCompositeOperation="source-over";var y=n?this._config.fontWeightBold:this._config.fontWeight,m=h?"italic":"";this._tmpCtx.font=m+" "+y+" "+this._config.fontSize*this._config.devicePixelRatio+"px "+this._config.fontFamily,this._tmpCtx.textBaseline="middle",this._tmpCtx.fillStyle=this._getForegroundCss(t,_,p,r,f,u,s,n),a&&(this._tmpCtx.globalAlpha=i.DIM_OPACITY),this._tmpCtx.fillText(o,2,2+this._config.scaledCharHeight/2),this._tmpCtx.restore();var C=this._tmpCtx.getImageData(0,0,this._tmpCanvas.width,this._tmpCanvas.height);if(function(e,t){for(var r=!0,i=t.rgba>>>24,o=t.rgba>>>16&255,n=t.rgba>>>8&255,s=0;sc&&(this._currentRowX=0,this._currentRowY+=this._currentRowHeight,this._currentRowHeight=0),S.texturePosition.x=this._currentRowX,S.texturePosition.y=this._currentRowY,S.texturePositionClipSpace.x=this._currentRowX/c,S.texturePositionClipSpace.y=this._currentRowY/l,this._currentRowHeight=Math.max(this._currentRowHeight,S.size.y),this._currentRowX+=S.size.x,this._cacheCtx.putImageData(w,S.texturePosition.x,S.texturePosition.y),S},e.prototype._findGlyphBoundingBox=function(e,t){t.top=0;for(var r=!1,i=0;i=0;o--){for(i=0;i=0;i--){for(o=0;o{Object.defineProperty(t,"__esModule",{value:!0}),t.BaseRenderLayer=void 0;var i=r(713),o=r(381),n=function(){function e(e,t,r,i,o){this._container=e,this._alpha=i,this._colors=o,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-"+t+"-layer"),this._canvas.style.zIndex=r.toString(),this._initCanvas(),this._container.appendChild(this._canvas)}return e.prototype.dispose=function(){this._container.removeChild(this._canvas),this._charAtlas&&this._charAtlas.dispose()},e.prototype._initCanvas=function(){this._ctx=o.throwIfFalsy(this._canvas.getContext("2d",{alpha:this._alpha})),this._alpha||this._clearAll()},e.prototype.onOptionsChanged=function(e){},e.prototype.onBlur=function(e){},e.prototype.onFocus=function(e){},e.prototype.onCursorMove=function(e){},e.prototype.onGridChanged=function(e,t,r){},e.prototype.onSelectionChanged=function(e,t,r,i){void 0===i&&(i=!1)},e.prototype.setColors=function(e,t){this._refreshCharAtlas(e,t)},e.prototype._setTransparency=function(e,t){if(t!==this._alpha){var r=this._canvas;this._alpha=t,this._canvas=this._canvas.cloneNode(),this._initCanvas(),this._container.replaceChild(this._canvas,r),this._refreshCharAtlas(e,this._colors),this.onGridChanged(e,0,e.rows-1)}},e.prototype._refreshCharAtlas=function(e,t){this._scaledCharWidth<=0&&this._scaledCharHeight<=0||(this._charAtlas=i.acquireCharAtlas(e,t,this._scaledCharWidth,this._scaledCharHeight),this._charAtlas.warmUp())},e.prototype.resize=function(e,t){this._scaledCellWidth=t.scaledCellWidth,this._scaledCellHeight=t.scaledCellHeight,this._scaledCharWidth=t.scaledCharWidth,this._scaledCharHeight=t.scaledCharHeight,this._scaledCharLeft=t.scaledCharLeft,this._scaledCharTop=t.scaledCharTop,this._canvas.width=t.scaledCanvasWidth,this._canvas.height=t.scaledCanvasHeight,this._canvas.style.width=t.canvasWidth+"px",this._canvas.style.height=t.canvasHeight+"px",this._alpha||this._clearAll(),this._refreshCharAtlas(e,this._colors)},e.prototype._fillCells=function(e,t,r,i){this._ctx.fillRect(e*this._scaledCellWidth,t*this._scaledCellHeight,r*this._scaledCellWidth,i*this._scaledCellHeight)},e.prototype._fillBottomLineAtCells=function(e,t,r){void 0===r&&(r=1),this._ctx.fillRect(e*this._scaledCellWidth,(t+1)*this._scaledCellHeight-window.devicePixelRatio-1,r*this._scaledCellWidth,window.devicePixelRatio)},e.prototype._fillLeftLineAtCell=function(e,t,r){this._ctx.fillRect(e*this._scaledCellWidth,t*this._scaledCellHeight,window.devicePixelRatio*r,this._scaledCellHeight)},e.prototype._strokeRectAtCell=function(e,t,r,i){this._ctx.lineWidth=window.devicePixelRatio,this._ctx.strokeRect(e*this._scaledCellWidth+window.devicePixelRatio/2,t*this._scaledCellHeight+window.devicePixelRatio/2,r*this._scaledCellWidth-window.devicePixelRatio,i*this._scaledCellHeight-window.devicePixelRatio)},e.prototype._clearAll=function(){this._alpha?this._ctx.clearRect(0,0,this._canvas.width,this._canvas.height):(this._ctx.fillStyle=this._colors.background.css,this._ctx.fillRect(0,0,this._canvas.width,this._canvas.height))},e.prototype._clearCells=function(e,t,r,i){this._alpha?this._ctx.clearRect(e*this._scaledCellWidth,t*this._scaledCellHeight,r*this._scaledCellWidth,i*this._scaledCellHeight):(this._ctx.fillStyle=this._colors.background.css,this._ctx.fillRect(e*this._scaledCellWidth,t*this._scaledCellHeight,r*this._scaledCellWidth,i*this._scaledCellHeight))},e.prototype._fillCharTrueColor=function(e,t,r,i){this._ctx.font=this._getFont(e,!1,!1),this._ctx.textBaseline="middle",this._clipRow(e,i),this._ctx.fillText(t.getChars(),r*this._scaledCellWidth+this._scaledCharLeft,i*this._scaledCellHeight+this._scaledCharTop+this._scaledCharHeight/2)},e.prototype._clipRow=function(e,t){this._ctx.beginPath(),this._ctx.rect(0,t*this._scaledCellHeight,e.cols*this._scaledCellWidth,this._scaledCellHeight),this._ctx.clip()},e.prototype._getFont=function(e,t,r){return(r?"italic":"")+" "+(t?e.getOption("fontWeightBold"):e.getOption("fontWeight"))+" "+e.getOption("fontSize")*window.devicePixelRatio+"px "+e.getOption("fontFamily")},e}();t.BaseRenderLayer=n},461:function(e,t,r){var i,o=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});Object.defineProperty(t,"__esModule",{value:!0}),t.CursorRenderLayer=void 0;var n=r(592),s=r(782),a=600,c=function(e){function t(t,r,i,o){var n=e.call(this,t,"cursor",r,!0,i)||this;return n._onRequestRefreshRowsEvent=o,n._cell=new s.CellData,n._state={x:0,y:0,isFocused:!1,style:"",width:0},n._cursorRenderers={bar:n._renderBarCursor.bind(n),block:n._renderBlockCursor.bind(n),underline:n._renderUnderlineCursor.bind(n)},n}return o(t,e),t.prototype.resize=function(t,r){e.prototype.resize.call(this,t,r),this._state={x:0,y:0,isFocused:!1,style:"",width:0}},t.prototype.reset=function(e){this._clearCursor(),this._cursorBlinkStateManager&&(this._cursorBlinkStateManager.dispose(),this.onOptionsChanged(e))},t.prototype.onBlur=function(e){this._cursorBlinkStateManager&&this._cursorBlinkStateManager.pause(),this._onRequestRefreshRowsEvent.fire({start:e.buffer.active.cursorY,end:e.buffer.active.cursorY})},t.prototype.onFocus=function(e){this._cursorBlinkStateManager?this._cursorBlinkStateManager.resume(e):this._onRequestRefreshRowsEvent.fire({start:e.buffer.active.cursorY,end:e.buffer.active.cursorY})},t.prototype.onOptionsChanged=function(e){var t,r=this;e.getOption("cursorBlink")?this._cursorBlinkStateManager||(this._cursorBlinkStateManager=new l(e,(function(){r._render(e,!0)}))):(null===(t=this._cursorBlinkStateManager)||void 0===t||t.dispose(),this._cursorBlinkStateManager=void 0),this._onRequestRefreshRowsEvent.fire({start:e.buffer.active.cursorY,end:e.buffer.active.cursorY})},t.prototype.onCursorMove=function(e){this._cursorBlinkStateManager&&this._cursorBlinkStateManager.restartBlinkAnimation(e)},t.prototype.onGridChanged=function(e,t,r){!this._cursorBlinkStateManager||this._cursorBlinkStateManager.isPaused?this._render(e,!1):this._cursorBlinkStateManager.restartBlinkAnimation(e)},t.prototype._render=function(e,t){if(e._core._coreService.isCursorInitialized&&!e._core._coreService.isCursorHidden){var r=e.buffer.active.baseY+e.buffer.active.cursorY,i=r-e.buffer.active.viewportY,o=Math.min(e.buffer.active.cursorX,e.cols-1);if(i<0||i>=e.rows)this._clearCursor();else if(e._core.buffer.lines.get(r).loadCell(o,this._cell),void 0!==this._cell.content){if(!h(e)){this._clearCursor(),this._ctx.save(),this._ctx.fillStyle=this._colors.cursor.css;var n=e.getOption("cursorStyle");return n&&"block"!==n?this._cursorRenderers[n](e,o,i,this._cell):this._renderBlurCursor(e,o,i,this._cell),this._ctx.restore(),this._state.x=o,this._state.y=i,this._state.isFocused=!1,this._state.style=n,void(this._state.width=this._cell.getWidth())}if(!this._cursorBlinkStateManager||this._cursorBlinkStateManager.isCursorVisible){if(this._state){if(this._state.x===o&&this._state.y===i&&this._state.isFocused===h(e)&&this._state.style===e.getOption("cursorStyle")&&this._state.width===this._cell.getWidth())return;this._clearCursor()}this._ctx.save(),this._cursorRenderers[e.getOption("cursorStyle")||"block"](e,o,i,this._cell),this._ctx.restore(),this._state.x=o,this._state.y=i,this._state.isFocused=!1,this._state.style=e.getOption("cursorStyle"),this._state.width=this._cell.getWidth()}else this._clearCursor()}}else this._clearCursor()},t.prototype._clearCursor=function(){this._state&&(this._clearCells(this._state.x,this._state.y,this._state.width,1),this._state={x:0,y:0,isFocused:!1,style:"",width:0})},t.prototype._renderBarCursor=function(e,t,r,i){this._ctx.save(),this._ctx.fillStyle=this._colors.cursor.css,this._fillLeftLineAtCell(t,r,e.getOption("cursorWidth")),this._ctx.restore()},t.prototype._renderBlockCursor=function(e,t,r,i){this._ctx.save(),this._ctx.fillStyle=this._colors.cursor.css,this._fillCells(t,r,i.getWidth(),1),this._ctx.fillStyle=this._colors.cursorAccent.css,this._fillCharTrueColor(e,i,t,r),this._ctx.restore()},t.prototype._renderUnderlineCursor=function(e,t,r,i){this._ctx.save(),this._ctx.fillStyle=this._colors.cursor.css,this._fillBottomLineAtCells(t,r),this._ctx.restore()},t.prototype._renderBlurCursor=function(e,t,r,i){this._ctx.save(),this._ctx.strokeStyle=this._colors.cursor.css,this._strokeRectAtCell(t,r,i.getWidth(),1),this._ctx.restore()},t}(n.BaseRenderLayer);t.CursorRenderLayer=c;var l=function(){function e(e,t){this._renderCallback=t,this.isCursorVisible=!0,h(e)&&this._restartInterval()}return Object.defineProperty(e.prototype,"isPaused",{get:function(){return!(this._blinkStartTimeout||this._blinkInterval)},enumerable:!1,configurable:!0}),e.prototype.dispose=function(){this._blinkInterval&&(window.clearInterval(this._blinkInterval),this._blinkInterval=void 0),this._blinkStartTimeout&&(window.clearTimeout(this._blinkStartTimeout),this._blinkStartTimeout=void 0),this._animationFrame&&(window.cancelAnimationFrame(this._animationFrame),this._animationFrame=void 0)},e.prototype.restartBlinkAnimation=function(e){var t=this;this.isPaused||(this._animationTimeRestarted=Date.now(),this.isCursorVisible=!0,this._animationFrame||(this._animationFrame=window.requestAnimationFrame((function(){t._renderCallback(),t._animationFrame=void 0}))))},e.prototype._restartInterval=function(e){var t=this;void 0===e&&(e=a),this._blinkInterval&&window.clearInterval(this._blinkInterval),this._blinkStartTimeout=window.setTimeout((function(){if(t._animationTimeRestarted){var e=a-(Date.now()-t._animationTimeRestarted);if(t._animationTimeRestarted=void 0,e>0)return void t._restartInterval(e)}t.isCursorVisible=!1,t._animationFrame=window.requestAnimationFrame((function(){t._renderCallback(),t._animationFrame=void 0})),t._blinkInterval=window.setInterval((function(){if(t._animationTimeRestarted){var e=a-(Date.now()-t._animationTimeRestarted);return t._animationTimeRestarted=void 0,void t._restartInterval(e)}t.isCursorVisible=!t.isCursorVisible,t._animationFrame=window.requestAnimationFrame((function(){t._renderCallback(),t._animationFrame=void 0}))}),a)}),e)},e.prototype.pause=function(){this.isCursorVisible=!0,this._blinkInterval&&(window.clearInterval(this._blinkInterval),this._blinkInterval=void 0),this._blinkStartTimeout&&(window.clearTimeout(this._blinkStartTimeout),this._blinkStartTimeout=void 0),this._animationFrame&&(window.cancelAnimationFrame(this._animationFrame),this._animationFrame=void 0)},e.prototype.resume=function(e){this.pause(),this._animationTimeRestarted=void 0,this._restartInterval(),this.restartBlinkAnimation(e)},e}();function h(e){return document.activeElement===e.textarea&&document.hasFocus()}},733:function(e,t,r){var i,o=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});Object.defineProperty(t,"__esModule",{value:!0}),t.LinkRenderLayer=void 0;var n=r(592),s=r(499),a=r(433),c=function(e){function t(t,r,i,o){var n=e.call(this,t,"link",r,!0,i)||this;return o.linkifier.onShowLinkUnderline((function(e){return n._onShowLinkUnderline(e)})),o.linkifier.onHideLinkUnderline((function(e){return n._onHideLinkUnderline(e)})),o.linkifier2.onShowLinkUnderline((function(e){return n._onShowLinkUnderline(e)})),o.linkifier2.onHideLinkUnderline((function(e){return n._onHideLinkUnderline(e)})),n}return o(t,e),t.prototype.resize=function(t,r){e.prototype.resize.call(this,t,r),this._state=void 0},t.prototype.reset=function(e){this._clearCurrentLink()},t.prototype._clearCurrentLink=function(){if(this._state){this._clearCells(this._state.x1,this._state.y1,this._state.cols-this._state.x1,1);var e=this._state.y2-this._state.y1-1;e>0&&this._clearCells(0,this._state.y1+1,this._state.cols,e),this._clearCells(0,this._state.y2,this._state.x2,1),this._state=void 0}},t.prototype._onShowLinkUnderline=function(e){if(e.fg===s.INVERTED_DEFAULT_COLOR?this._ctx.fillStyle=this._colors.background.css:void 0!==e.fg&&a.is256Color(e.fg)?this._ctx.fillStyle=this._colors.ansi[e.fg].css:this._ctx.fillStyle=this._colors.foreground.css,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 t=e.y1+1;t{var r,i,o,n;function s(e){var t=e.toString(16);return t.length<2?"0"+t:t}function a(e,t){return e>>0}}(r=t.channels||(t.channels={})),(i=t.color||(t.color={})).blend=function(e,t){var i=(255&t.rgba)/255;if(1===i)return{css:t.css,rgba:t.rgba};var o=t.rgba>>24&255,n=t.rgba>>16&255,s=t.rgba>>8&255,a=e.rgba>>24&255,c=e.rgba>>16&255,l=e.rgba>>8&255,h=a+Math.round((o-a)*i),u=c+Math.round((n-c)*i),d=l+Math.round((s-l)*i);return{css:r.toCss(h,u,d),rgba:r.toRgba(h,u,d)}},i.isOpaque=function(e){return 255==(255&e.rgba)},i.ensureContrastRatio=function(e,t,r){var i=n.ensureContrastRatio(e.rgba,t.rgba,r);if(i)return n.toColor(i>>24&255,i>>16&255,i>>8&255)},i.opaque=function(e){var t=(255|e.rgba)>>>0,i=n.toChannels(t),o=i[0],s=i[1],a=i[2];return{css:r.toCss(o,s,a),rgba:t}},i.opacity=function(e,t){var i=Math.round(255*t),o=n.toChannels(e.rgba),s=o[0],a=o[1],c=o[2];return{css:r.toCss(s,a,c,i),rgba:r.toRgba(s,a,c,i)}},(t.css||(t.css={})).toColor=function(e){switch(e.length){case 7:return{css:e,rgba:(parseInt(e.slice(1),16)<<8|255)>>>0};case 9:return{css:e,rgba:parseInt(e.slice(1),16)>>>0}}throw new Error("css.toColor: Unsupported css format")},function(e){function t(e,t,r){var i=e/255,o=t/255,n=r/255;return.2126*(i<=.03928?i/12.92:Math.pow((i+.055)/1.055,2.4))+.7152*(o<=.03928?o/12.92:Math.pow((o+.055)/1.055,2.4))+.0722*(n<=.03928?n/12.92:Math.pow((n+.055)/1.055,2.4))}e.relativeLuminance=function(e){return t(e>>16&255,e>>8&255,255&e)},e.relativeLuminance2=t}(o=t.rgb||(t.rgb={})),function(e){function t(e,t,r){for(var i=e>>24&255,n=e>>16&255,s=e>>8&255,c=t>>24&255,l=t>>16&255,h=t>>8&255,u=a(o.relativeLuminance2(c,h,l),o.relativeLuminance2(i,n,s));u0||l>0||h>0);)c-=Math.max(0,Math.ceil(.1*c)),l-=Math.max(0,Math.ceil(.1*l)),h-=Math.max(0,Math.ceil(.1*h)),u=a(o.relativeLuminance2(c,h,l),o.relativeLuminance2(i,n,s));return(c<<24|l<<16|h<<8|255)>>>0}function i(e,t,r){for(var i=e>>24&255,n=e>>16&255,s=e>>8&255,c=t>>24&255,l=t>>16&255,h=t>>8&255,u=a(o.relativeLuminance2(c,h,l),o.relativeLuminance2(i,n,s));u>>0}e.ensureContrastRatio=function(e,r,n){var s=o.relativeLuminance(e>>8),c=o.relativeLuminance(r>>8);if(a(s,c)>24&255,e>>16&255,e>>8&255,255&e]},e.toColor=function(e,t,i){return{css:r.toCss(e,t,i),rgba:r.toRgba(e,t,i)}}}(n=t.rgba||(t.rgba={})),t.toPaddedHex=s,t.contrastRatio=a},499:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.CHAR_ATLAS_CELL_SPACING=t.DIM_OPACITY=t.INVERTED_DEFAULT_COLOR=void 0,t.INVERTED_DEFAULT_COLOR=257,t.DIM_OPACITY=.5,t.CHAR_ATLAS_CELL_SPACING=1},345:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.forwardEvent=t.EventEmitter=void 0;var r=function(){function e(){this._listeners=[],this._disposed=!1}return Object.defineProperty(e.prototype,"event",{get:function(){var e=this;return this._event||(this._event=function(t){return e._listeners.push(t),{dispose:function(){if(!e._disposed)for(var r=0;r{Object.defineProperty(t,"__esModule",{value:!0}),t.getDisposeArrayDisposable=t.disposeArray=t.Disposable=void 0;var r=function(){function e(){this._disposables=[],this._isDisposed=!1}return e.prototype.dispose=function(){this._isDisposed=!0;for(var e=0,t=this._disposables;e{function r(e,t,r,i){if(void 0===r&&(r=0),void 0===i&&(i=e.length),r>=e.length)return e;r=(e.length+r)%e.length,i=i>=e.length?e.length:(e.length+i)%e.length;for(var o=r;o{Object.defineProperty(t,"__esModule",{value:!0}),t.ExtendedAttrs=t.AttributeData=void 0;var r=function(){function e(){this.fg=0,this.bg=0,this.extended=new i}return e.toColorRGB=function(e){return[e>>>16&255,e>>>8&255,255&e]},e.fromColorRGB=function(e){return(255&e[0])<<16|(255&e[1])<<8|255&e[2]},e.prototype.clone=function(){var t=new e;return t.fg=this.fg,t.bg=this.bg,t.extended=this.extended.clone(),t},e.prototype.isInverse=function(){return 67108864&this.fg},e.prototype.isBold=function(){return 134217728&this.fg},e.prototype.isUnderline=function(){return 268435456&this.fg},e.prototype.isBlink=function(){return 536870912&this.fg},e.prototype.isInvisible=function(){return 1073741824&this.fg},e.prototype.isItalic=function(){return 67108864&this.bg},e.prototype.isDim=function(){return 134217728&this.bg},e.prototype.getFgColorMode=function(){return 50331648&this.fg},e.prototype.getBgColorMode=function(){return 50331648&this.bg},e.prototype.isFgRGB=function(){return 50331648==(50331648&this.fg)},e.prototype.isBgRGB=function(){return 50331648==(50331648&this.bg)},e.prototype.isFgPalette=function(){return 16777216==(50331648&this.fg)||33554432==(50331648&this.fg)},e.prototype.isBgPalette=function(){return 16777216==(50331648&this.bg)||33554432==(50331648&this.bg)},e.prototype.isFgDefault=function(){return 0==(50331648&this.fg)},e.prototype.isBgDefault=function(){return 0==(50331648&this.bg)},e.prototype.isAttributeDefault=function(){return 0===this.fg&&0===this.bg},e.prototype.getFgColor=function(){switch(50331648&this.fg){case 16777216:case 33554432:return 255&this.fg;case 50331648:return 16777215&this.fg;default:return-1}},e.prototype.getBgColor=function(){switch(50331648&this.bg){case 16777216:case 33554432:return 255&this.bg;case 50331648:return 16777215&this.bg;default:return-1}},e.prototype.hasExtendedAttrs=function(){return 268435456&this.bg},e.prototype.updateExtended=function(){this.extended.isEmpty()?this.bg&=-268435457:this.bg|=268435456},e.prototype.getUnderlineColor=function(){if(268435456&this.bg&&~this.extended.underlineColor)switch(50331648&this.extended.underlineColor){case 16777216:case 33554432:return 255&this.extended.underlineColor;case 50331648:return 16777215&this.extended.underlineColor;default:return this.getFgColor()}return this.getFgColor()},e.prototype.getUnderlineColorMode=function(){return 268435456&this.bg&&~this.extended.underlineColor?50331648&this.extended.underlineColor:this.getFgColorMode()},e.prototype.isUnderlineColorRGB=function(){return 268435456&this.bg&&~this.extended.underlineColor?50331648==(50331648&this.extended.underlineColor):this.isFgRGB()},e.prototype.isUnderlineColorPalette=function(){return 268435456&this.bg&&~this.extended.underlineColor?16777216==(50331648&this.extended.underlineColor)||33554432==(50331648&this.extended.underlineColor):this.isFgPalette()},e.prototype.isUnderlineColorDefault=function(){return 268435456&this.bg&&~this.extended.underlineColor?0==(50331648&this.extended.underlineColor):this.isFgDefault()},e.prototype.getUnderlineStyle=function(){return 268435456&this.fg?268435456&this.bg?this.extended.underlineStyle:1:0},e}();t.AttributeData=r;var i=function(){function e(e,t){void 0===e&&(e=0),void 0===t&&(t=-1),this.underlineStyle=e,this.underlineColor=t}return e.prototype.clone=function(){return new e(this.underlineStyle,this.underlineColor)},e.prototype.isEmpty=function(){return 0===this.underlineStyle},e}();t.ExtendedAttrs=i},782:function(e,t,r){var i,o=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});Object.defineProperty(t,"__esModule",{value:!0}),t.CellData=void 0;var n=r(133),s=r(855),a=r(147),c=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.content=0,t.fg=0,t.bg=0,t.extended=new a.ExtendedAttrs,t.combinedData="",t}return o(t,e),t.fromCharData=function(e){var r=new t;return r.setFromCharData(e),r},t.prototype.isCombined=function(){return 2097152&this.content},t.prototype.getWidth=function(){return this.content>>22},t.prototype.getChars=function(){return 2097152&this.content?this.combinedData:2097151&this.content?n.stringFromCodePoint(2097151&this.content):""},t.prototype.getCode=function(){return this.isCombined()?this.combinedData.charCodeAt(this.combinedData.length-1):2097151&this.content},t.prototype.setFromCharData=function(e){this.fg=e[s.CHAR_DATA_ATTR_INDEX],this.bg=0;var t=!1;if(e[s.CHAR_DATA_CHAR_INDEX].length>2)t=!0;else if(2===e[s.CHAR_DATA_CHAR_INDEX].length){var r=e[s.CHAR_DATA_CHAR_INDEX].charCodeAt(0);if(55296<=r&&r<=56319){var i=e[s.CHAR_DATA_CHAR_INDEX].charCodeAt(1);56320<=i&&i<=57343?this.content=1024*(r-55296)+i-56320+65536|e[s.CHAR_DATA_WIDTH_INDEX]<<22:t=!0}else t=!0}else this.content=e[s.CHAR_DATA_CHAR_INDEX].charCodeAt(0)|e[s.CHAR_DATA_WIDTH_INDEX]<<22;t&&(this.combinedData=e[s.CHAR_DATA_CHAR_INDEX],this.content=2097152|e[s.CHAR_DATA_WIDTH_INDEX]<<22)},t.prototype.getAsCharData=function(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]},t}(a.AttributeData);t.CellData=c},855:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.WHITESPACE_CELL_CODE=t.WHITESPACE_CELL_WIDTH=t.WHITESPACE_CELL_CHAR=t.NULL_CELL_CODE=t.NULL_CELL_WIDTH=t.NULL_CELL_CHAR=t.CHAR_DATA_CODE_INDEX=t.CHAR_DATA_WIDTH_INDEX=t.CHAR_DATA_CHAR_INDEX=t.CHAR_DATA_ATTR_INDEX=t.DEFAULT_ATTR=t.DEFAULT_COLOR=void 0,t.DEFAULT_COLOR=256,t.DEFAULT_ATTR=256|t.DEFAULT_COLOR<<9,t.CHAR_DATA_ATTR_INDEX=0,t.CHAR_DATA_CHAR_INDEX=1,t.CHAR_DATA_WIDTH_INDEX=2,t.CHAR_DATA_CODE_INDEX=3,t.NULL_CELL_CHAR="",t.NULL_CELL_WIDTH=1,t.NULL_CELL_CODE=0,t.WHITESPACE_CELL_CHAR=" ",t.WHITESPACE_CELL_WIDTH=1,t.WHITESPACE_CELL_CODE=32},133:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.Utf8ToUtf32=t.StringToUtf32=t.utf32ToString=t.stringFromCodePoint=void 0,t.stringFromCodePoint=function(e){return e>65535?(e-=65536,String.fromCharCode(55296+(e>>10))+String.fromCharCode(e%1024+56320)):String.fromCharCode(e)},t.utf32ToString=function(e,t,r){void 0===t&&(t=0),void 0===r&&(r=e.length);for(var i="",o=t;o65535?(n-=65536,i+=String.fromCharCode(55296+(n>>10))+String.fromCharCode(n%1024+56320)):i+=String.fromCharCode(n)}return i};var r=function(){function e(){this._interim=0}return e.prototype.clear=function(){this._interim=0},e.prototype.decode=function(e,t){var r=e.length;if(!r)return 0;var i=0,o=0;this._interim&&(56320<=(a=e.charCodeAt(o++))&&a<=57343?t[i++]=1024*(this._interim-55296)+a-56320+65536:(t[i++]=this._interim,t[i++]=a),this._interim=0);for(var n=o;n=r)return this._interim=s,i;var a;56320<=(a=e.charCodeAt(n))&&a<=57343?t[i++]=1024*(s-55296)+a-56320+65536:(t[i++]=s,t[i++]=a)}else 65279!==s&&(t[i++]=s)}return i},e}();t.StringToUtf32=r;var i=function(){function e(){this.interim=new Uint8Array(3)}return e.prototype.clear=function(){this.interim.fill(0)},e.prototype.decode=function(e,t){var r=e.length;if(!r)return 0;var i,o,n,s,a=0,c=0,l=0;if(this.interim[0]){var h=!1,u=this.interim[0];u&=192==(224&u)?31:224==(240&u)?15:7;for(var d=0,f=void 0;(f=63&this.interim[++d])&&d<4;)u<<=6,u|=f;for(var p=192==(224&this.interim[0])?2:224==(240&this.interim[0])?3:4,_=p-d;l<_;){if(l>=r)return 0;if(128!=(192&(f=e[l++]))){l--,h=!0;break}this.interim[d++]=f,u<<=6,u|=63&f}h||(2===p?u<128?l--:t[a++]=u:3===p?u<2048||u>=55296&&u<=57343||65279===u||(t[a++]=u):u<65536||u>1114111||(t[a++]=u)),this.interim.fill(0)}for(var g=r-4,v=l;v=r)return this.interim[0]=i,a;if(128!=(192&(o=e[v++]))){v--;continue}if((c=(31&i)<<6|63&o)<128){v--;continue}t[a++]=c}else if(224==(240&i)){if(v>=r)return this.interim[0]=i,a;if(128!=(192&(o=e[v++]))){v--;continue}if(v>=r)return this.interim[0]=i,this.interim[1]=o,a;if(128!=(192&(n=e[v++]))){v--;continue}if((c=(15&i)<<12|(63&o)<<6|63&n)<2048||c>=55296&&c<=57343||65279===c)continue;t[a++]=c}else if(240==(248&i)){if(v>=r)return this.interim[0]=i,a;if(128!=(192&(o=e[v++]))){v--;continue}if(v>=r)return this.interim[0]=i,this.interim[1]=o,a;if(128!=(192&(n=e[v++]))){v--;continue}if(v>=r)return this.interim[0]=i,this.interim[1]=o,this.interim[2]=n,a;if(128!=(192&(s=e[v++]))){v--;continue}if((c=(7&i)<<18|(63&o)<<12|(63&n)<<6|63&s)<65536||c>1114111)continue;t[a++]=c}}return a},e}();t.Utf8ToUtf32=i}},t={};return function r(i){if(t[i])return t[i].exports;var o=t[i]={exports:{}};return e[i].call(o.exports,o,o.exports,r),o.exports}(795)})()},841:e=>{self,e.exports=(()=>{"use strict";var e={4567:function(e,t,r){var i,o=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});Object.defineProperty(t,"__esModule",{value:!0}),t.AccessibilityManager=void 0;var n=r(9042),s=r(6114),a=r(6193),c=r(3656),l=r(844),h=r(5596),u=r(9631),d=function(e){function t(t,r){var i=e.call(this)||this;i._terminal=t,i._renderService=r,i._liveRegionLineCount=0,i._charsToConsume=[],i._charsToAnnounce="",i._accessibilityTreeRoot=document.createElement("div"),i._accessibilityTreeRoot.classList.add("xterm-accessibility"),i._rowContainer=document.createElement("div"),i._rowContainer.setAttribute("role","list"),i._rowContainer.classList.add("xterm-accessibility-tree"),i._rowElements=[];for(var o=0;oe;)this._rowContainer.removeChild(this._rowElements.pop());this._rowElements[this._rowElements.length-1].addEventListener("focus",this._bottomBoundaryFocusListener),this._refreshRowsDimensions()},t.prototype._createAccessibilityTreeNode=function(){var e=document.createElement("div");return e.setAttribute("role","listitem"),e.tabIndex=-1,this._refreshRowDimensions(e),e},t.prototype._onTab=function(e){for(var t=0;t0?this._charsToConsume.shift()!==e&&(this._charsToAnnounce+=e):this._charsToAnnounce+=e,"\n"===e&&(this._liveRegionLineCount++,21===this._liveRegionLineCount&&(this._liveRegion.textContent+=n.tooMuchOutput)),s.isMac&&this._liveRegion.textContent&&this._liveRegion.textContent.length>0&&!this._liveRegion.parentNode&&setTimeout((function(){t._accessibilityTreeRoot.appendChild(t._liveRegion)}),0))},t.prototype._clearLiveRegion=function(){this._liveRegion.textContent="",this._liveRegionLineCount=0,s.isMac&&u.removeElementFromParent(this._liveRegion)},t.prototype._onKey=function(e){this._clearLiveRegion(),this._charsToConsume.push(e)},t.prototype._refreshRows=function(e,t){this._renderRowsDebouncer.refresh(e,t,this._terminal.rows)},t.prototype._renderRows=function(e,t){for(var r=this._terminal.buffer,i=r.lines.length.toString(),o=e;o<=t;o++){var n=r.translateBufferLineToString(r.ydisp+o,!0),s=(r.ydisp+o+1).toString(),a=this._rowElements[o];a&&(0===n.length?a.innerText=" ":a.textContent=n,a.setAttribute("aria-posinset",s),a.setAttribute("aria-setsize",i))}this._announceCharacters()},t.prototype._refreshRowsDimensions=function(){if(this._renderService.dimensions.actualCellHeight){this._rowElements.length!==this._terminal.rows&&this._onResize(this._terminal.rows);for(var e=0;e{function r(e){return e.replace(/\r?\n/g,"\r")}function i(e,t){return t?"[200~"+e+"[201~":e}function o(e,t,o){e=i(e=r(e),o.decPrivateModes.bracketedPasteMode),o.triggerDataEvent(e,!0),t.value=""}function n(e,t,r){var i=r.getBoundingClientRect(),o=e.clientX-i.left-10,n=e.clientY-i.top-10;t.style.width="20px",t.style.height="20px",t.style.left=o+"px",t.style.top=n+"px",t.style.zIndex="1000",t.focus()}Object.defineProperty(t,"__esModule",{value:!0}),t.rightClickHandler=t.moveTextAreaUnderMouseCursor=t.paste=t.handlePasteEvent=t.copyHandler=t.bracketTextForPaste=t.prepareTextForTerminal=void 0,t.prepareTextForTerminal=r,t.bracketTextForPaste=i,t.copyHandler=function(e,t){e.clipboardData&&e.clipboardData.setData("text/plain",t.selectionText),e.preventDefault()},t.handlePasteEvent=function(e,t,r){e.stopPropagation(),e.clipboardData&&o(e.clipboardData.getData("text/plain"),t,r)},t.paste=o,t.moveTextAreaUnderMouseCursor=n,t.rightClickHandler=function(e,t,r,i,o){n(e,t,r),o&&i.rightClickSelect(e),t.value=i.selectionText,t.select()}},4774:(e,t)=>{var r,i,o,n;function s(e){var t=e.toString(16);return t.length<2?"0"+t:t}function a(e,t){return e>>0}}(r=t.channels||(t.channels={})),(i=t.color||(t.color={})).blend=function(e,t){var i=(255&t.rgba)/255;if(1===i)return{css:t.css,rgba:t.rgba};var o=t.rgba>>24&255,n=t.rgba>>16&255,s=t.rgba>>8&255,a=e.rgba>>24&255,c=e.rgba>>16&255,l=e.rgba>>8&255,h=a+Math.round((o-a)*i),u=c+Math.round((n-c)*i),d=l+Math.round((s-l)*i);return{css:r.toCss(h,u,d),rgba:r.toRgba(h,u,d)}},i.isOpaque=function(e){return 255==(255&e.rgba)},i.ensureContrastRatio=function(e,t,r){var i=n.ensureContrastRatio(e.rgba,t.rgba,r);if(i)return n.toColor(i>>24&255,i>>16&255,i>>8&255)},i.opaque=function(e){var t=(255|e.rgba)>>>0,i=n.toChannels(t),o=i[0],s=i[1],a=i[2];return{css:r.toCss(o,s,a),rgba:t}},i.opacity=function(e,t){var i=Math.round(255*t),o=n.toChannels(e.rgba),s=o[0],a=o[1],c=o[2];return{css:r.toCss(s,a,c,i),rgba:r.toRgba(s,a,c,i)}},(t.css||(t.css={})).toColor=function(e){switch(e.length){case 7:return{css:e,rgba:(parseInt(e.slice(1),16)<<8|255)>>>0};case 9:return{css:e,rgba:parseInt(e.slice(1),16)>>>0}}throw new Error("css.toColor: Unsupported css format")},function(e){function t(e,t,r){var i=e/255,o=t/255,n=r/255;return.2126*(i<=.03928?i/12.92:Math.pow((i+.055)/1.055,2.4))+.7152*(o<=.03928?o/12.92:Math.pow((o+.055)/1.055,2.4))+.0722*(n<=.03928?n/12.92:Math.pow((n+.055)/1.055,2.4))}e.relativeLuminance=function(e){return t(e>>16&255,e>>8&255,255&e)},e.relativeLuminance2=t}(o=t.rgb||(t.rgb={})),function(e){function t(e,t,r){for(var i=e>>24&255,n=e>>16&255,s=e>>8&255,c=t>>24&255,l=t>>16&255,h=t>>8&255,u=a(o.relativeLuminance2(c,h,l),o.relativeLuminance2(i,n,s));u0||l>0||h>0);)c-=Math.max(0,Math.ceil(.1*c)),l-=Math.max(0,Math.ceil(.1*l)),h-=Math.max(0,Math.ceil(.1*h)),u=a(o.relativeLuminance2(c,h,l),o.relativeLuminance2(i,n,s));return(c<<24|l<<16|h<<8|255)>>>0}function i(e,t,r){for(var i=e>>24&255,n=e>>16&255,s=e>>8&255,c=t>>24&255,l=t>>16&255,h=t>>8&255,u=a(o.relativeLuminance2(c,h,l),o.relativeLuminance2(i,n,s));u>>0}e.ensureContrastRatio=function(e,r,n){var s=o.relativeLuminance(e>>8),c=o.relativeLuminance(r>>8);if(a(s,c)>24&255,e>>16&255,e>>8&255,255&e]},e.toColor=function(e,t,i){return{css:r.toCss(e,t,i),rgba:r.toRgba(e,t,i)}}}(n=t.rgba||(t.rgba={})),t.toPaddedHex=s,t.contrastRatio=a},7239:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.ColorContrastCache=void 0;var r=function(){function e(){this._color={},this._rgba={}}return e.prototype.clear=function(){this._color={},this._rgba={}},e.prototype.setCss=function(e,t,r){this._rgba[e]||(this._rgba[e]={}),this._rgba[e][t]=r},e.prototype.getCss=function(e,t){return this._rgba[e]?this._rgba[e][t]:void 0},e.prototype.setColor=function(e,t,r){this._color[e]||(this._color[e]={}),this._color[e][t]=r},e.prototype.getColor=function(e,t){return this._color[e]?this._color[e][t]:void 0},e}();t.ColorContrastCache=r},5680:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.ColorManager=t.DEFAULT_ANSI_COLORS=void 0;var i=r(4774),o=r(7239),n=i.css.toColor("#ffffff"),s=i.css.toColor("#000000"),a=i.css.toColor("#ffffff"),c=i.css.toColor("#000000"),l={css:"rgba(255, 255, 255, 0.3)",rgba:4294967117};t.DEFAULT_ANSI_COLORS=Object.freeze(function(){for(var e=[i.css.toColor("#2e3436"),i.css.toColor("#cc0000"),i.css.toColor("#4e9a06"),i.css.toColor("#c4a000"),i.css.toColor("#3465a4"),i.css.toColor("#75507b"),i.css.toColor("#06989a"),i.css.toColor("#d3d7cf"),i.css.toColor("#555753"),i.css.toColor("#ef2929"),i.css.toColor("#8ae234"),i.css.toColor("#fce94f"),i.css.toColor("#729fcf"),i.css.toColor("#ad7fa8"),i.css.toColor("#34e2e2"),i.css.toColor("#eeeeec")],t=[0,95,135,175,215,255],r=0;r<216;r++){var o=t[r/36%6|0],n=t[r/6%6|0],s=t[r%6];e.push({css:i.channels.toCss(o,n,s),rgba:i.channels.toRgba(o,n,s)})}for(r=0;r<24;r++){var a=8+10*r;e.push({css:i.channels.toCss(a,a,a),rgba:i.channels.toRgba(a,a,a)})}return e}());var h=function(){function e(e,r){this.allowTransparency=r;var h=e.createElement("canvas");h.width=1,h.height=1;var u=h.getContext("2d");if(!u)throw new Error("Could not get rendering context");this._ctx=u,this._ctx.globalCompositeOperation="copy",this._litmusColor=this._ctx.createLinearGradient(0,0,1,1),this._contrastCache=new o.ColorContrastCache,this.colors={foreground:n,background:s,cursor:a,cursorAccent:c,selectionTransparent:l,selectionOpaque:i.color.blend(s,l),ansi:t.DEFAULT_ANSI_COLORS.slice(),contrastCache:this._contrastCache}}return e.prototype.onOptionsChange=function(e){"minimumContrastRatio"===e&&this._contrastCache.clear()},e.prototype.setTheme=function(e){void 0===e&&(e={}),this.colors.foreground=this._parseColor(e.foreground,n),this.colors.background=this._parseColor(e.background,s),this.colors.cursor=this._parseColor(e.cursor,a,!0),this.colors.cursorAccent=this._parseColor(e.cursorAccent,c,!0),this.colors.selectionTransparent=this._parseColor(e.selection,l,!0),this.colors.selectionOpaque=i.color.blend(this.colors.background,this.colors.selectionTransparent),i.color.isOpaque(this.colors.selectionTransparent)&&(this.colors.selectionTransparent=i.color.opacity(this.colors.selectionTransparent,.3)),this.colors.ansi[0]=this._parseColor(e.black,t.DEFAULT_ANSI_COLORS[0]),this.colors.ansi[1]=this._parseColor(e.red,t.DEFAULT_ANSI_COLORS[1]),this.colors.ansi[2]=this._parseColor(e.green,t.DEFAULT_ANSI_COLORS[2]),this.colors.ansi[3]=this._parseColor(e.yellow,t.DEFAULT_ANSI_COLORS[3]),this.colors.ansi[4]=this._parseColor(e.blue,t.DEFAULT_ANSI_COLORS[4]),this.colors.ansi[5]=this._parseColor(e.magenta,t.DEFAULT_ANSI_COLORS[5]),this.colors.ansi[6]=this._parseColor(e.cyan,t.DEFAULT_ANSI_COLORS[6]),this.colors.ansi[7]=this._parseColor(e.white,t.DEFAULT_ANSI_COLORS[7]),this.colors.ansi[8]=this._parseColor(e.brightBlack,t.DEFAULT_ANSI_COLORS[8]),this.colors.ansi[9]=this._parseColor(e.brightRed,t.DEFAULT_ANSI_COLORS[9]),this.colors.ansi[10]=this._parseColor(e.brightGreen,t.DEFAULT_ANSI_COLORS[10]),this.colors.ansi[11]=this._parseColor(e.brightYellow,t.DEFAULT_ANSI_COLORS[11]),this.colors.ansi[12]=this._parseColor(e.brightBlue,t.DEFAULT_ANSI_COLORS[12]),this.colors.ansi[13]=this._parseColor(e.brightMagenta,t.DEFAULT_ANSI_COLORS[13]),this.colors.ansi[14]=this._parseColor(e.brightCyan,t.DEFAULT_ANSI_COLORS[14]),this.colors.ansi[15]=this._parseColor(e.brightWhite,t.DEFAULT_ANSI_COLORS[15]),this._contrastCache.clear()},e.prototype._parseColor=function(e,t,r){if(void 0===r&&(r=this.allowTransparency),void 0===e)return t;if(this._ctx.fillStyle=this._litmusColor,this._ctx.fillStyle=e,"string"!=typeof this._ctx.fillStyle)return console.warn("Color: "+e+" is invalid using fallback "+t.css),t;this._ctx.fillRect(0,0,1,1);var o=this._ctx.getImageData(0,0,1,1).data;if(255!==o[3]){if(!r)return console.warn("Color: "+e+" is using transparency, but allowTransparency is false. Using fallback "+t.css+"."),t;var n=this._ctx.fillStyle.substring(5,this._ctx.fillStyle.length-1).split(",").map((function(e){return Number(e)})),s=n[0],a=n[1],c=n[2],l=n[3],h=Math.round(255*l);return{rgba:i.channels.toRgba(s,a,c,h),css:e}}return{css:this._ctx.fillStyle,rgba:i.channels.toRgba(o[0],o[1],o[2],o[3])}},e}();t.ColorManager=h},9631:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.removeElementFromParent=void 0,t.removeElementFromParent=function(){for(var e,t=[],r=0;r{Object.defineProperty(t,"__esModule",{value:!0}),t.addDisposableDomListener=void 0,t.addDisposableDomListener=function(e,t,r,i){e.addEventListener(t,r,i);var o=!1;return{dispose:function(){o||(o=!0,e.removeEventListener(t,r,i))}}}},3551:function(e,t,r){var i=this&&this.__decorate||function(e,t,r,i){var o,n=arguments.length,s=n<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(s=(n<3?o(s):n>3?o(t,r,s):o(t,r))||s);return n>3&&s&&Object.defineProperty(t,r,s),s},o=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.MouseZone=t.Linkifier=void 0;var n=r(8460),s=r(2585),a=function(){function e(e,t,r){this._bufferService=e,this._logService=t,this._unicodeService=r,this._linkMatchers=[],this._nextLinkMatcherId=0,this._onShowLinkUnderline=new n.EventEmitter,this._onHideLinkUnderline=new n.EventEmitter,this._onLinkTooltip=new n.EventEmitter,this._rowsToLinkify={start:void 0,end:void 0}}return Object.defineProperty(e.prototype,"onShowLinkUnderline",{get:function(){return this._onShowLinkUnderline.event},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onHideLinkUnderline",{get:function(){return this._onHideLinkUnderline.event},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onLinkTooltip",{get:function(){return this._onLinkTooltip.event},enumerable:!1,configurable:!0}),e.prototype.attachToDom=function(e,t){this._element=e,this._mouseZoneManager=t},e.prototype.linkifyRows=function(t,r){var i=this;this._mouseZoneManager&&(void 0===this._rowsToLinkify.start||void 0===this._rowsToLinkify.end?(this._rowsToLinkify.start=t,this._rowsToLinkify.end=r):(this._rowsToLinkify.start=Math.min(this._rowsToLinkify.start,t),this._rowsToLinkify.end=Math.max(this._rowsToLinkify.end,r)),this._mouseZoneManager.clearAll(t,r),this._rowsTimeoutId&&clearTimeout(this._rowsTimeoutId),this._rowsTimeoutId=setTimeout((function(){return i._linkifyRows()}),e._timeBeforeLatency))},e.prototype._linkifyRows=function(){this._rowsTimeoutId=void 0;var e=this._bufferService.buffer;if(void 0!==this._rowsToLinkify.start&&void 0!==this._rowsToLinkify.end){var t=e.ydisp+this._rowsToLinkify.start;if(!(t>=e.lines.length)){for(var r=e.ydisp+Math.min(this._rowsToLinkify.end,this._bufferService.rows)+1,i=Math.ceil(2e3/this._bufferService.cols),o=this._bufferService.buffer.iterator(!1,t,r,i,i);o.hasNext();)for(var n=o.next(),s=0;s=0;t--)if(e.priority<=this._linkMatchers[t].priority)return void this._linkMatchers.splice(t+1,0,e);this._linkMatchers.splice(0,0,e)}else this._linkMatchers.push(e)},e.prototype.deregisterLinkMatcher=function(e){for(var t=0;t>9&511:void 0;r.validationCallback?r.validationCallback(a,(function(e){o._rowsTimeoutId||e&&o._addLink(l[1],l[0]-o._bufferService.buffer.ydisp,a,r,d)})):c._addLink(l[1],l[0]-c._bufferService.buffer.ydisp,a,r,d)},c=this;null!==(i=n.exec(t))&&"break"!==a(););},e.prototype._addLink=function(e,t,r,i,o){var n=this;if(this._mouseZoneManager&&this._element){var s=this._unicodeService.getStringCellWidth(r),a=e%this._bufferService.cols,l=t+Math.floor(e/this._bufferService.cols),h=(a+s)%this._bufferService.cols,u=l+Math.floor((a+s)/this._bufferService.cols);0===h&&(h=this._bufferService.cols,u--),this._mouseZoneManager.add(new c(a+1,l+1,h+1,u+1,(function(e){if(i.handler)return i.handler(e,r);var t=window.open();t?(t.opener=null,t.location.href=r):console.warn("Opening link blocked as opener could not be cleared")}),(function(){n._onShowLinkUnderline.fire(n._createLinkHoverEvent(a,l,h,u,o)),n._element.classList.add("xterm-cursor-pointer")}),(function(e){n._onLinkTooltip.fire(n._createLinkHoverEvent(a,l,h,u,o)),i.hoverTooltipCallback&&i.hoverTooltipCallback(e,r,{start:{x:a,y:l},end:{x:h,y:u}})}),(function(){n._onHideLinkUnderline.fire(n._createLinkHoverEvent(a,l,h,u,o)),n._element.classList.remove("xterm-cursor-pointer"),i.hoverLeaveCallback&&i.hoverLeaveCallback()}),(function(e){return!i.willLinkActivate||i.willLinkActivate(e,r)})))}},e.prototype._createLinkHoverEvent=function(e,t,r,i,o){return{x1:e,y1:t,x2:r,y2:i,cols:this._bufferService.cols,fg:o}},e._timeBeforeLatency=200,e=i([o(0,s.IBufferService),o(1,s.ILogService),o(2,s.IUnicodeService)],e)}();t.Linkifier=a;var c=function(e,t,r,i,o,n,s,a,c){this.x1=e,this.y1=t,this.x2=r,this.y2=i,this.clickCallback=o,this.hoverCallback=n,this.tooltipCallback=s,this.leaveCallback=a,this.willLinkActivate=c};t.MouseZone=c},6465:function(e,t,r){var i,o=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),n=this&&this.__decorate||function(e,t,r,i){var o,n=arguments.length,s=n<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(s=(n<3?o(s):n>3?o(t,r,s):o(t,r))||s);return n>3&&s&&Object.defineProperty(t,r,s),s},s=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.Linkifier2=void 0;var a=r(2585),c=r(8460),l=r(844),h=r(3656),u=function(e){function t(t){var r=e.call(this)||this;return r._bufferService=t,r._linkProviders=[],r._linkCacheDisposables=[],r._isMouseOut=!0,r._activeLine=-1,r._onShowLinkUnderline=r.register(new c.EventEmitter),r._onHideLinkUnderline=r.register(new c.EventEmitter),r.register(l.getDisposeArrayDisposable(r._linkCacheDisposables)),r}return o(t,e),Object.defineProperty(t.prototype,"currentLink",{get:function(){return this._currentLink},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onShowLinkUnderline",{get:function(){return this._onShowLinkUnderline.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onHideLinkUnderline",{get:function(){return this._onHideLinkUnderline.event},enumerable:!1,configurable:!0}),t.prototype.registerLinkProvider=function(e){var t=this;return this._linkProviders.push(e),{dispose:function(){var r=t._linkProviders.indexOf(e);-1!==r&&t._linkProviders.splice(r,1)}}},t.prototype.attachToDom=function(e,t,r){var i=this;this._element=e,this._mouseService=t,this._renderService=r,this.register(h.addDisposableDomListener(this._element,"mouseleave",(function(){i._isMouseOut=!0,i._clearCurrentLink()}))),this.register(h.addDisposableDomListener(this._element,"mousemove",this._onMouseMove.bind(this))),this.register(h.addDisposableDomListener(this._element,"click",this._onClick.bind(this)))},t.prototype._onMouseMove=function(e){if(this._lastMouseEvent=e,this._element&&this._mouseService){var t=this._positionFromMouseEvent(e,this._element,this._mouseService);if(t){this._isMouseOut=!1;for(var r=e.composedPath(),i=0;ie?this._bufferService.cols:s.link.range.end.x,l=a;l<=c;l++){if(r.has(l)){o.splice(n--,1);break}r.add(l)}}},t.prototype._checkLinkProviderResult=function(e,t,r){var i,o=this;if(!this._activeProviderReplies)return r;for(var n=this._activeProviderReplies.get(e),s=!1,a=0;a=e&&this._currentLink.link.range.end.y<=t)&&(this._linkLeave(this._element,this._currentLink.link,this._lastMouseEvent),this._currentLink=void 0,l.disposeArray(this._linkCacheDisposables))},t.prototype._handleNewLink=function(e){var t=this;if(this._element&&this._lastMouseEvent&&this._mouseService){var r=this._positionFromMouseEvent(this._lastMouseEvent,this._element,this._mouseService);r&&this._linkAtPosition(e.link,r)&&(this._currentLink=e,this._currentLink.state={decorations:{underline:void 0===e.link.decorations||e.link.decorations.underline,pointerCursor:void 0===e.link.decorations||e.link.decorations.pointerCursor},isHovered:!0},this._linkHover(this._element,e.link,this._lastMouseEvent),e.link.decorations={},Object.defineProperties(e.link.decorations,{pointerCursor:{get:function(){var e,r;return null===(r=null===(e=t._currentLink)||void 0===e?void 0:e.state)||void 0===r?void 0:r.decorations.pointerCursor},set:function(e){var r,i;(null===(r=t._currentLink)||void 0===r?void 0:r.state)&&t._currentLink.state.decorations.pointerCursor!==e&&(t._currentLink.state.decorations.pointerCursor=e,t._currentLink.state.isHovered&&(null===(i=t._element)||void 0===i||i.classList.toggle("xterm-cursor-pointer",e)))}},underline:{get:function(){var e,r;return null===(r=null===(e=t._currentLink)||void 0===e?void 0:e.state)||void 0===r?void 0:r.decorations.underline},set:function(r){var i,o,n;(null===(i=t._currentLink)||void 0===i?void 0:i.state)&&(null===(n=null===(o=t._currentLink)||void 0===o?void 0:o.state)||void 0===n?void 0:n.decorations.underline)!==r&&(t._currentLink.state.decorations.underline=r,t._currentLink.state.isHovered&&t._fireUnderlineEvent(e.link,r))}}}),this._renderService&&this._linkCacheDisposables.push(this._renderService.onRenderedBufferChange((function(e){var r=0===e.start?0:e.start+1+t._bufferService.buffer.ydisp;t._clearCurrentLink(r,e.end+1+t._bufferService.buffer.ydisp)}))))}},t.prototype._linkHover=function(e,t,r){var i;(null===(i=this._currentLink)||void 0===i?void 0:i.state)&&(this._currentLink.state.isHovered=!0,this._currentLink.state.decorations.underline&&this._fireUnderlineEvent(t,!0),this._currentLink.state.decorations.pointerCursor&&e.classList.add("xterm-cursor-pointer")),t.hover&&t.hover(r,t.text)},t.prototype._fireUnderlineEvent=function(e,t){var r=e.range,i=this._bufferService.buffer.ydisp,o=this._createLinkUnderlineEvent(r.start.x-1,r.start.y-i-1,r.end.x,r.end.y-i-1,void 0);(t?this._onShowLinkUnderline:this._onHideLinkUnderline).fire(o)},t.prototype._linkLeave=function(e,t,r){var i;(null===(i=this._currentLink)||void 0===i?void 0:i.state)&&(this._currentLink.state.isHovered=!1,this._currentLink.state.decorations.underline&&this._fireUnderlineEvent(t,!1),this._currentLink.state.decorations.pointerCursor&&e.classList.remove("xterm-cursor-pointer")),t.leave&&t.leave(r,t.text)},t.prototype._linkAtPosition=function(e,t){var r=e.range.start.y===e.range.end.y,i=e.range.start.yt.y;return(r&&e.range.start.x<=t.x&&e.range.end.x>=t.x||i&&e.range.end.x>=t.x||o&&e.range.start.x<=t.x||i&&o)&&e.range.start.y<=t.y&&e.range.end.y>=t.y},t.prototype._positionFromMouseEvent=function(e,t,r){var i=r.getCoords(e,t,this._bufferService.cols,this._bufferService.rows);if(i)return{x:i[0],y:i[1]+this._bufferService.buffer.ydisp}},t.prototype._createLinkUnderlineEvent=function(e,t,r,i,o){return{x1:e,y1:t,x2:r,y2:i,cols:this._bufferService.cols,fg:o}},n([s(0,a.IBufferService)],t)}(l.Disposable);t.Linkifier2=u},9042:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.tooMuchOutput=t.promptLabel=void 0,t.promptLabel="Terminal input",t.tooMuchOutput="Too much output to announce, navigate to rows manually to read"},6954:function(e,t,r){var i,o=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),n=this&&this.__decorate||function(e,t,r,i){var o,n=arguments.length,s=n<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(s=(n<3?o(s):n>3?o(t,r,s):o(t,r))||s);return n>3&&s&&Object.defineProperty(t,r,s),s},s=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.MouseZoneManager=void 0;var a=r(844),c=r(3656),l=r(4725),h=r(2585),u=function(e){function t(t,r,i,o,n,s){var a=e.call(this)||this;return a._element=t,a._screenElement=r,a._bufferService=i,a._mouseService=o,a._selectionService=n,a._optionsService=s,a._zones=[],a._areZonesActive=!1,a._lastHoverCoords=[void 0,void 0],a._initialSelectionLength=0,a.register(c.addDisposableDomListener(a._element,"mousedown",(function(e){return a._onMouseDown(e)}))),a._mouseMoveListener=function(e){return a._onMouseMove(e)},a._mouseLeaveListener=function(e){return a._onMouseLeave(e)},a._clickListener=function(e){return a._onClick(e)},a}return o(t,e),t.prototype.dispose=function(){e.prototype.dispose.call(this),this._deactivate()},t.prototype.add=function(e){this._zones.push(e),1===this._zones.length&&this._activate()},t.prototype.clearAll=function(e,t){if(0!==this._zones.length){e&&t||(e=0,t=this._bufferService.rows-1);for(var r=0;re&&i.y1<=t+1||i.y2>e&&i.y2<=t+1||i.y1t+1)&&(this._currentZone&&this._currentZone===i&&(this._currentZone.leaveCallback(),this._currentZone=void 0),this._zones.splice(r--,1))}0===this._zones.length&&this._deactivate()}},t.prototype._activate=function(){this._areZonesActive||(this._areZonesActive=!0,this._element.addEventListener("mousemove",this._mouseMoveListener),this._element.addEventListener("mouseleave",this._mouseLeaveListener),this._element.addEventListener("click",this._clickListener))},t.prototype._deactivate=function(){this._areZonesActive&&(this._areZonesActive=!1,this._element.removeEventListener("mousemove",this._mouseMoveListener),this._element.removeEventListener("mouseleave",this._mouseLeaveListener),this._element.removeEventListener("click",this._clickListener))},t.prototype._onMouseMove=function(e){this._lastHoverCoords[0]===e.pageX&&this._lastHoverCoords[1]===e.pageY||(this._onHover(e),this._lastHoverCoords=[e.pageX,e.pageY])},t.prototype._onHover=function(e){var t=this,r=this._findZoneEventAt(e);r!==this._currentZone&&(this._currentZone&&(this._currentZone.leaveCallback(),this._currentZone=void 0,this._tooltipTimeout&&clearTimeout(this._tooltipTimeout)),r&&(this._currentZone=r,r.hoverCallback&&r.hoverCallback(e),this._tooltipTimeout=window.setTimeout((function(){return t._onTooltip(e)}),this._optionsService.options.linkTooltipHoverDuration)))},t.prototype._onTooltip=function(e){this._tooltipTimeout=void 0;var t=this._findZoneEventAt(e);null==t||t.tooltipCallback(e)},t.prototype._onMouseDown=function(e){if(this._initialSelectionLength=this._getSelectionLength(),this._areZonesActive){var t=this._findZoneEventAt(e);(null==t?void 0:t.willLinkActivate(e))&&(e.preventDefault(),e.stopImmediatePropagation())}},t.prototype._onMouseLeave=function(e){this._currentZone&&(this._currentZone.leaveCallback(),this._currentZone=void 0,this._tooltipTimeout&&clearTimeout(this._tooltipTimeout))},t.prototype._onClick=function(e){var t=this._findZoneEventAt(e),r=this._getSelectionLength();t&&r===this._initialSelectionLength&&(t.clickCallback(e),e.preventDefault(),e.stopImmediatePropagation())},t.prototype._getSelectionLength=function(){var e=this._selectionService.selectionText;return e?e.length:0},t.prototype._findZoneEventAt=function(e){var t=this._mouseService.getCoords(e,this._screenElement,this._bufferService.cols,this._bufferService.rows);if(t)for(var r=t[0],i=t[1],o=0;o=n.x1&&r=n.x1||i===n.y2&&rn.y1&&i{Object.defineProperty(t,"__esModule",{value:!0}),t.RenderDebouncer=void 0;var r=function(){function e(e){this._renderCallback=e}return e.prototype.dispose=function(){this._animationFrame&&(window.cancelAnimationFrame(this._animationFrame),this._animationFrame=void 0)},e.prototype.refresh=function(e,t,r){var i=this;this._rowCount=r,e=void 0!==e?e:0,t=void 0!==t?t:this._rowCount-1,this._rowStart=void 0!==this._rowStart?Math.min(this._rowStart,e):e,this._rowEnd=void 0!==this._rowEnd?Math.max(this._rowEnd,t):t,this._animationFrame||(this._animationFrame=window.requestAnimationFrame((function(){return i._innerRefresh()})))},e.prototype._innerRefresh=function(){if(void 0!==this._rowStart&&void 0!==this._rowEnd&&void 0!==this._rowCount){var e=Math.max(this._rowStart,0),t=Math.min(this._rowEnd,this._rowCount-1);this._rowStart=void 0,this._rowEnd=void 0,this._animationFrame=void 0,this._renderCallback(e,t)}},e}();t.RenderDebouncer=r},5596:function(e,t,r){var i,o=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});Object.defineProperty(t,"__esModule",{value:!0}),t.ScreenDprMonitor=void 0;var n=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t._currentDevicePixelRatio=window.devicePixelRatio,t}return o(t,e),t.prototype.setListener=function(e){var t=this;this._listener&&this.clearListener(),this._listener=e,this._outerListener=function(){t._listener&&(t._listener(window.devicePixelRatio,t._currentDevicePixelRatio),t._updateDpr())},this._updateDpr()},t.prototype.dispose=function(){e.prototype.dispose.call(this),this.clearListener()},t.prototype._updateDpr=function(){var e;this._outerListener&&(null===(e=this._resolutionMediaMatchList)||void 0===e||e.removeListener(this._outerListener),this._currentDevicePixelRatio=window.devicePixelRatio,this._resolutionMediaMatchList=window.matchMedia("screen and (resolution: "+window.devicePixelRatio+"dppx)"),this._resolutionMediaMatchList.addListener(this._outerListener))},t.prototype.clearListener=function(){this._resolutionMediaMatchList&&this._listener&&this._outerListener&&(this._resolutionMediaMatchList.removeListener(this._outerListener),this._resolutionMediaMatchList=void 0,this._listener=void 0,this._outerListener=void 0)},t}(r(844).Disposable);t.ScreenDprMonitor=n},3236:function(e,t,r){var i,o=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});Object.defineProperty(t,"__esModule",{value:!0}),t.Terminal=void 0;var n=r(2950),s=r(1680),a=r(3614),c=r(2584),l=r(5435),h=r(3525),u=r(3551),d=r(9312),f=r(6114),p=r(3656),_=r(9042),g=r(357),v=r(6954),b=r(4567),y=r(1296),m=r(7399),C=r(8460),S=r(8437),w=r(5680),A=r(3230),T=r(4725),E=r(428),R=r(8934),k=r(6465),x=r(5114),P=r(8969),L=r(4774),M=r(4269),D="undefined"!=typeof window?window.document:null,O=function(e){function t(t){void 0===t&&(t={});var r=e.call(this,t)||this;return r.browser=f,r._keyDownHandled=!1,r._onCursorMove=new C.EventEmitter,r._onKey=new C.EventEmitter,r._onRender=new C.EventEmitter,r._onSelectionChange=new C.EventEmitter,r._onTitleChange=new C.EventEmitter,r._onBell=new C.EventEmitter,r._onFocus=new C.EventEmitter,r._onBlur=new C.EventEmitter,r._onA11yCharEmitter=new C.EventEmitter,r._onA11yTabEmitter=new C.EventEmitter,r._setup(),r.linkifier=r._instantiationService.createInstance(u.Linkifier),r.linkifier2=r.register(r._instantiationService.createInstance(k.Linkifier2)),r.register(r._inputHandler.onRequestBell((function(){return r.bell()}))),r.register(r._inputHandler.onRequestRefreshRows((function(e,t){return r.refresh(e,t)}))),r.register(r._inputHandler.onRequestReset((function(){return r.reset()}))),r.register(r._inputHandler.onRequestWindowsOptionsReport((function(e){return r._reportWindowsOptions(e)}))),r.register(r._inputHandler.onAnsiColorChange((function(e){return r._changeAnsiColor(e)}))),r.register(C.forwardEvent(r._inputHandler.onCursorMove,r._onCursorMove)),r.register(C.forwardEvent(r._inputHandler.onTitleChange,r._onTitleChange)),r.register(C.forwardEvent(r._inputHandler.onA11yChar,r._onA11yCharEmitter)),r.register(C.forwardEvent(r._inputHandler.onA11yTab,r._onA11yTabEmitter)),r.register(r._bufferService.onResize((function(e){return r._afterResize(e.cols,e.rows)}))),r}return o(t,e),Object.defineProperty(t.prototype,"options",{get:function(){return this.optionsService.options},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onCursorMove",{get:function(){return this._onCursorMove.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onKey",{get:function(){return this._onKey.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onRender",{get:function(){return this._onRender.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onSelectionChange",{get:function(){return this._onSelectionChange.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onTitleChange",{get:function(){return this._onTitleChange.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onBell",{get:function(){return this._onBell.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onFocus",{get:function(){return this._onFocus.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onBlur",{get:function(){return this._onBlur.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onA11yChar",{get:function(){return this._onA11yCharEmitter.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onA11yTab",{get:function(){return this._onA11yTabEmitter.event},enumerable:!1,configurable:!0}),t.prototype._changeAnsiColor=function(e){var t,r;if(this._colorManager){for(var i=0,o=e.colors;i4)&&t._coreMouseService.triggerMouseEvent({col:o.x-33,row:o.y-33,button:r,action:i,ctrl:e.ctrlKey,alt:e.altKey,shift:e.shiftKey})}var o={mouseup:null,wheel:null,mousedrag:null,mousemove:null},n=function(t){return i(t),t.buttons||(e._document.removeEventListener("mouseup",o.mouseup),o.mousedrag&&e._document.removeEventListener("mousemove",o.mousedrag)),e.cancel(t)},s=function(t){return i(t),t.preventDefault(),e.cancel(t)},a=function(e){e.buttons&&i(e)},l=function(e){e.buttons||i(e)};this.register(this._coreMouseService.onProtocolChange((function(t){t?("debug"===e.optionsService.options.logLevel&&e._logService.debug("Binding to mouse events:",e._coreMouseService.explainEvents(t)),e.element.classList.add("enable-mouse-events"),e._selectionService.disable()):(e._logService.debug("Unbinding from mouse events."),e.element.classList.remove("enable-mouse-events"),e._selectionService.enable()),8&t?o.mousemove||(r.addEventListener("mousemove",l),o.mousemove=l):(r.removeEventListener("mousemove",o.mousemove),o.mousemove=null),16&t?o.wheel||(r.addEventListener("wheel",s,{passive:!1}),o.wheel=s):(r.removeEventListener("wheel",o.wheel),o.wheel=null),2&t?o.mouseup||(o.mouseup=n):(e._document.removeEventListener("mouseup",o.mouseup),o.mouseup=null),4&t?o.mousedrag||(o.mousedrag=a):(e._document.removeEventListener("mousemove",o.mousedrag),o.mousedrag=null)}))),this._coreMouseService.activeProtocol=this._coreMouseService.activeProtocol,this.register(p.addDisposableDomListener(r,"mousedown",(function(t){if(t.preventDefault(),e.focus(),e._coreMouseService.areMouseEventsActive&&!e._selectionService.shouldForceSelection(t))return i(t),o.mouseup&&e._document.addEventListener("mouseup",o.mouseup),o.mousedrag&&e._document.addEventListener("mousemove",o.mousedrag),e.cancel(t)}))),this.register(p.addDisposableDomListener(r,"wheel",(function(t){if(o.wheel);else if(!e.buffer.hasScrollback){var r=e.viewport.getLinesScrolled(t);if(0===r)return;for(var i=c.C0.ESC+(e._coreService.decPrivateModes.applicationCursorKeys?"O":"[")+(t.deltaY<0?"A":"B"),n="",s=0;s47)},t.prototype._keyUp=function(e){this._customKeyEventHandler&&!1===this._customKeyEventHandler(e)||(function(e){return 16===e.keyCode||17===e.keyCode||18===e.keyCode}(e)||this.focus(),this.updateCursorStyle(e))},t.prototype._keyPress=function(e){var t;if(this._keyDownHandled)return!1;if(this._customKeyEventHandler&&!1===this._customKeyEventHandler(e))return!1;if(this.cancel(e),e.charCode)t=e.charCode;else if(null===e.which||void 0===e.which)t=e.keyCode;else{if(0===e.which||0===e.charCode)return!1;t=e.which}return!(!t||(e.altKey||e.ctrlKey||e.metaKey)&&!this._isThirdLevelShift(this.browser,e)||(t=String.fromCharCode(t),this._onKey.fire({key:t,domEvent:e}),this._showCursor(),this._coreService.triggerDataEvent(t,!0),0))},t.prototype.bell=function(){var e;this._soundBell()&&(null===(e=this._soundService)||void 0===e||e.playBellSound()),this._onBell.fire()},t.prototype.resize=function(t,r){t!==this.cols||r!==this.rows?e.prototype.resize.call(this,t,r):this._charSizeService&&!this._charSizeService.hasValidSize&&this._charSizeService.measure()},t.prototype._afterResize=function(e,t){var r,i;null===(r=this._charSizeService)||void 0===r||r.measure(),null===(i=this.viewport)||void 0===i||i.syncScrollArea(!0)},t.prototype.clear=function(){if(0!==this.buffer.ybase||0!==this.buffer.y){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 e=1;e=0;a--)(o=e[a])&&(s=(n<3?o(s):n>3?o(t,r,s):o(t,r))||s);return n>3&&s&&Object.defineProperty(t,r,s),s},s=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.Viewport=void 0;var a=r(844),c=r(3656),l=r(4725),h=r(2585),u=function(e){function t(t,r,i,o,n,s,a){var l=e.call(this)||this;return l._scrollLines=t,l._viewportElement=r,l._scrollArea=i,l._bufferService=o,l._optionsService=n,l._charSizeService=s,l._renderService=a,l.scrollBarWidth=0,l._currentRowHeight=0,l._lastRecordedBufferLength=0,l._lastRecordedViewportHeight=0,l._lastRecordedBufferHeight=0,l._lastTouchY=0,l._lastScrollTop=0,l._wheelPartialScroll=0,l._refreshAnimationFrame=null,l._ignoreNextScrollEvent=!1,l.scrollBarWidth=l._viewportElement.offsetWidth-l._scrollArea.offsetWidth||15,l.register(c.addDisposableDomListener(l._viewportElement,"scroll",l._onScroll.bind(l))),setTimeout((function(){return l.syncScrollArea()}),0),l}return o(t,e),t.prototype.onThemeChange=function(e){this._viewportElement.style.backgroundColor=e.background.css},t.prototype._refresh=function(e){var t=this;if(e)return this._innerRefresh(),void(null!==this._refreshAnimationFrame&&cancelAnimationFrame(this._refreshAnimationFrame));null===this._refreshAnimationFrame&&(this._refreshAnimationFrame=requestAnimationFrame((function(){return t._innerRefresh()})))},t.prototype._innerRefresh=function(){if(this._charSizeService.height>0){this._currentRowHeight=this._renderService.dimensions.scaledCellHeight/window.devicePixelRatio,this._lastRecordedViewportHeight=this._viewportElement.offsetHeight;var e=Math.round(this._currentRowHeight*this._lastRecordedBufferLength)+(this._lastRecordedViewportHeight-this._renderService.dimensions.canvasHeight);this._lastRecordedBufferHeight!==e&&(this._lastRecordedBufferHeight=e,this._scrollArea.style.height=this._lastRecordedBufferHeight+"px")}var t=this._bufferService.buffer.ydisp*this._currentRowHeight;this._viewportElement.scrollTop!==t&&(this._ignoreNextScrollEvent=!0,this._viewportElement.scrollTop=t),this._refreshAnimationFrame=null},t.prototype.syncScrollArea=function(e){if(void 0===e&&(e=!1),this._lastRecordedBufferLength!==this._bufferService.buffer.lines.length)return this._lastRecordedBufferLength=this._bufferService.buffer.lines.length,void this._refresh(e);if(this._lastRecordedViewportHeight===this._renderService.dimensions.canvasHeight){var t=this._bufferService.buffer.ydisp*this._currentRowHeight;this._lastScrollTop===t&&this._lastScrollTop===this._viewportElement.scrollTop&&this._renderService.dimensions.scaledCellHeight/window.devicePixelRatio===this._currentRowHeight||this._refresh(e)}else this._refresh(e)},t.prototype._onScroll=function(e){if(this._lastScrollTop=this._viewportElement.scrollTop,this._viewportElement.offsetParent){if(this._ignoreNextScrollEvent)return this._ignoreNextScrollEvent=!1,void this._scrollLines(0);var t=Math.round(this._lastScrollTop/this._currentRowHeight)-this._bufferService.buffer.ydisp;this._scrollLines(t)}},t.prototype._bubbleScroll=function(e,t){var r=this._viewportElement.scrollTop+this._lastRecordedViewportHeight;return!(t<0&&0!==this._viewportElement.scrollTop||t>0&&r0?1:-1),this._wheelPartialScroll%=1):e.deltaMode===WheelEvent.DOM_DELTA_PAGE&&(t*=this._bufferService.rows),t},t.prototype._applyScrollModifier=function(e,t){var r=this._optionsService.options.fastScrollModifier;return"alt"===r&&t.altKey||"ctrl"===r&&t.ctrlKey||"shift"===r&&t.shiftKey?e*this._optionsService.options.fastScrollSensitivity*this._optionsService.options.scrollSensitivity:e*this._optionsService.options.scrollSensitivity},t.prototype.onTouchStart=function(e){this._lastTouchY=e.touches[0].pageY},t.prototype.onTouchMove=function(e){var t=this._lastTouchY-e.touches[0].pageY;return this._lastTouchY=e.touches[0].pageY,0!==t&&(this._viewportElement.scrollTop+=t,this._bubbleScroll(e,t))},n([s(3,h.IBufferService),s(4,h.IOptionsService),s(5,l.ICharSizeService),s(6,l.IRenderService)],t)}(a.Disposable);t.Viewport=u},2950:function(e,t,r){var i=this&&this.__decorate||function(e,t,r,i){var o,n=arguments.length,s=n<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(s=(n<3?o(s):n>3?o(t,r,s):o(t,r))||s);return n>3&&s&&Object.defineProperty(t,r,s),s},o=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.CompositionHelper=void 0;var n=r(4725),s=r(2585),a=function(){function e(e,t,r,i,o,n){this._textarea=e,this._compositionView=t,this._bufferService=r,this._optionsService=i,this._coreService=o,this._renderService=n,this._isComposing=!1,this._isSendingComposition=!1,this._compositionPosition={start:0,end:0},this._dataAlreadySent=""}return Object.defineProperty(e.prototype,"isComposing",{get:function(){return this._isComposing},enumerable:!1,configurable:!0}),e.prototype.compositionstart=function(){this._isComposing=!0,this._compositionPosition.start=this._textarea.value.length,this._compositionView.textContent="",this._dataAlreadySent="",this._compositionView.classList.add("active")},e.prototype.compositionupdate=function(e){var t=this;this._compositionView.textContent=e.data,this.updateCompositionElements(),setTimeout((function(){t._compositionPosition.end=t._textarea.value.length}),0)},e.prototype.compositionend=function(){this._finalizeComposition(!0)},e.prototype.keydown=function(e){if(this._isComposing||this._isSendingComposition){if(229===e.keyCode)return!1;if(16===e.keyCode||17===e.keyCode||18===e.keyCode)return!1;this._finalizeComposition(!1)}return 229!==e.keyCode||(this._handleAnyTextareaChanges(),!1)},e.prototype._finalizeComposition=function(e){var t=this;if(this._compositionView.classList.remove("active"),this._isComposing=!1,e){var r={start:this._compositionPosition.start,end:this._compositionPosition.end};this._isSendingComposition=!0,setTimeout((function(){var e;t._isSendingComposition&&(t._isSendingComposition=!1,r.start+=t._dataAlreadySent.length,(e=t._isComposing?t._textarea.value.substring(r.start,r.end):t._textarea.value.substring(r.start)).length>0&&t._coreService.triggerDataEvent(e,!0))}),0)}else{this._isSendingComposition=!1;var i=this._textarea.value.substring(this._compositionPosition.start,this._compositionPosition.end);this._coreService.triggerDataEvent(i,!0)}},e.prototype._handleAnyTextareaChanges=function(){var e=this,t=this._textarea.value;setTimeout((function(){if(!e._isComposing){var r=e._textarea.value.replace(t,"");r.length>0&&(e._dataAlreadySent=r,e._coreService.triggerDataEvent(r,!0))}}),0)},e.prototype.updateCompositionElements=function(e){var t=this;if(this._isComposing){if(this._bufferService.buffer.isCursorInViewport){var r=Math.min(this._bufferService.buffer.x,this._bufferService.cols-1),i=this._renderService.dimensions.actualCellHeight,o=this._bufferService.buffer.y*this._renderService.dimensions.actualCellHeight,n=r*this._renderService.dimensions.actualCellWidth;this._compositionView.style.left=n+"px",this._compositionView.style.top=o+"px",this._compositionView.style.height=i+"px",this._compositionView.style.lineHeight=i+"px",this._compositionView.style.fontFamily=this._optionsService.options.fontFamily,this._compositionView.style.fontSize=this._optionsService.options.fontSize+"px";var s=this._compositionView.getBoundingClientRect();this._textarea.style.left=n+"px",this._textarea.style.top=o+"px",this._textarea.style.width=Math.max(s.width,1)+"px",this._textarea.style.height=Math.max(s.height,1)+"px",this._textarea.style.lineHeight=s.height+"px"}e||setTimeout((function(){return t.updateCompositionElements(!0)}),0)}},i([o(2,s.IBufferService),o(3,s.IOptionsService),o(4,s.ICoreService),o(5,n.IRenderService)],e)}();t.CompositionHelper=a},9806:(e,t)=>{function r(e,t){var r=t.getBoundingClientRect();return[e.clientX-r.left,e.clientY-r.top]}Object.defineProperty(t,"__esModule",{value:!0}),t.getRawByteCoords=t.getCoords=t.getCoordsRelativeToElement=void 0,t.getCoordsRelativeToElement=r,t.getCoords=function(e,t,i,o,n,s,a,c){if(n){var l=r(e,t);if(l)return l[0]=Math.ceil((l[0]+(c?s/2:0))/s),l[1]=Math.ceil(l[1]/a),l[0]=Math.min(Math.max(l[0],1),i+(c?1:0)),l[1]=Math.min(Math.max(l[1],1),o),l}},t.getRawByteCoords=function(e){if(e)return{x:e[0]+32,y:e[1]+32}}},9504:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.moveToCellSequence=void 0;var i=r(2584);function o(e,t,r,i){var o=e-n(r,e),a=t-n(r,t);return l(Math.abs(o-a)-function(e,t,r){for(var i=0,o=e-n(r,e),a=t-n(r,t),c=0;c=0&&tt?"A":"B"}function a(e,t,r,i,o,n){for(var s=e,a=t,c="";s!==r||a!==i;)s+=o?1:-1,o&&s>n.cols-1?(c+=n.buffer.translateBufferLineToString(a,!1,e,s),s=0,e=0,a++):!o&&s<0&&(c+=n.buffer.translateBufferLineToString(a,!1,0,e+1),e=s=n.cols-1,a--);return c+n.buffer.translateBufferLineToString(a,!1,e,s)}function c(e,t){var r=t?"O":"[";return i.C0.ESC+r+e}function l(e,t){e=Math.floor(e);for(var r="",i=0;i0?i-n(s,i):t;var d=i,f=function(e,t,r,i,s,a){var c;return c=o(r,i,s,a).length>0?i-n(s,i):t,e=r&&ce?"D":"C",l(Math.abs(h-e),c(s,i));s=u>t?"D":"C";var d=Math.abs(u-t);return l(function(e,t){return t.cols-e}(u>t?e:h,r)+(d-1)*r.cols+1+((u>t?h:e)-1),c(s,i))}},244:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.AddonManager=void 0;var r=function(){function e(){this._addons=[]}return e.prototype.dispose=function(){for(var e=this._addons.length-1;e>=0;e--)this._addons[e].instance.dispose()},e.prototype.loadAddon=function(e,t){var r=this,i={instance:t,dispose:t.dispose,isDisposed:!1};this._addons.push(i),t.dispose=function(){return r._wrappedAddonDispose(i)},t.activate(e)},e.prototype._wrappedAddonDispose=function(e){if(!e.isDisposed){for(var t=-1,r=0;r{Object.defineProperty(t,"__esModule",{value:!0}),t.Terminal=void 0;var i=r(511),o=r(3236),n=r(9042),s=r(8460),a=r(244),c=function(){function e(e){this._core=new o.Terminal(e),this._addonManager=new a.AddonManager}return e.prototype._checkProposedApi=function(){if(!this._core.optionsService.options.allowProposedApi)throw new Error("You must set the allowProposedApi option to true to use proposed API")},Object.defineProperty(e.prototype,"onCursorMove",{get:function(){return this._core.onCursorMove},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onLineFeed",{get:function(){return this._core.onLineFeed},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onSelectionChange",{get:function(){return this._core.onSelectionChange},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onData",{get:function(){return this._core.onData},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onBinary",{get:function(){return this._core.onBinary},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onTitleChange",{get:function(){return this._core.onTitleChange},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onBell",{get:function(){return this._core.onBell},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onScroll",{get:function(){return this._core.onScroll},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onKey",{get:function(){return this._core.onKey},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onRender",{get:function(){return this._core.onRender},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onResize",{get:function(){return this._core.onResize},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"element",{get:function(){return this._core.element},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"parser",{get:function(){return this._checkProposedApi(),this._parser||(this._parser=new d(this._core)),this._parser},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"unicode",{get:function(){return this._checkProposedApi(),new f(this._core)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"textarea",{get:function(){return this._core.textarea},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"rows",{get:function(){return this._core.rows},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"cols",{get:function(){return this._core.cols},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"buffer",{get:function(){return this._checkProposedApi(),this._buffer||(this._buffer=new h(this._core)),this._buffer},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"markers",{get:function(){return this._checkProposedApi(),this._core.markers},enumerable:!1,configurable:!0}),e.prototype.blur=function(){this._core.blur()},e.prototype.focus=function(){this._core.focus()},e.prototype.resize=function(e,t){this._verifyIntegers(e,t),this._core.resize(e,t)},e.prototype.open=function(e){this._core.open(e)},e.prototype.attachCustomKeyEventHandler=function(e){this._core.attachCustomKeyEventHandler(e)},e.prototype.registerLinkMatcher=function(e,t,r){return this._checkProposedApi(),this._core.registerLinkMatcher(e,t,r)},e.prototype.deregisterLinkMatcher=function(e){this._checkProposedApi(),this._core.deregisterLinkMatcher(e)},e.prototype.registerLinkProvider=function(e){return this._checkProposedApi(),this._core.registerLinkProvider(e)},e.prototype.registerCharacterJoiner=function(e){return this._checkProposedApi(),this._core.registerCharacterJoiner(e)},e.prototype.deregisterCharacterJoiner=function(e){this._checkProposedApi(),this._core.deregisterCharacterJoiner(e)},e.prototype.registerMarker=function(e){return this._checkProposedApi(),this._verifyIntegers(e),this._core.addMarker(e)},e.prototype.addMarker=function(e){return this.registerMarker(e)},e.prototype.hasSelection=function(){return this._core.hasSelection()},e.prototype.select=function(e,t,r){this._verifyIntegers(e,t,r),this._core.select(e,t,r)},e.prototype.getSelection=function(){return this._core.getSelection()},e.prototype.getSelectionPosition=function(){return this._core.getSelectionPosition()},e.prototype.clearSelection=function(){this._core.clearSelection()},e.prototype.selectAll=function(){this._core.selectAll()},e.prototype.selectLines=function(e,t){this._verifyIntegers(e,t),this._core.selectLines(e,t)},e.prototype.dispose=function(){this._addonManager.dispose(),this._core.dispose()},e.prototype.scrollLines=function(e){this._verifyIntegers(e),this._core.scrollLines(e)},e.prototype.scrollPages=function(e){this._verifyIntegers(e),this._core.scrollPages(e)},e.prototype.scrollToTop=function(){this._core.scrollToTop()},e.prototype.scrollToBottom=function(){this._core.scrollToBottom()},e.prototype.scrollToLine=function(e){this._verifyIntegers(e),this._core.scrollToLine(e)},e.prototype.clear=function(){this._core.clear()},e.prototype.write=function(e,t){this._core.write(e,t)},e.prototype.writeUtf8=function(e,t){this._core.write(e,t)},e.prototype.writeln=function(e,t){this._core.write(e),this._core.write("\r\n",t)},e.prototype.paste=function(e){this._core.paste(e)},e.prototype.getOption=function(e){return this._core.optionsService.getOption(e)},e.prototype.setOption=function(e,t){this._core.optionsService.setOption(e,t)},e.prototype.refresh=function(e,t){this._verifyIntegers(e,t),this._core.refresh(e,t)},e.prototype.reset=function(){this._core.reset()},e.prototype.loadAddon=function(e){return this._addonManager.loadAddon(this,e)},Object.defineProperty(e,"strings",{get:function(){return n},enumerable:!1,configurable:!0}),e.prototype._verifyIntegers=function(){for(var e=[],t=0;t=this._line.length))return t?(this._line.loadCell(e,t),t):this._line.loadCell(e,new i.CellData)},e.prototype.translateToString=function(e,t,r){return this._line.translateToString(e,t,r)},e}(),d=function(){function e(e){this._core=e}return e.prototype.registerCsiHandler=function(e,t){return this._core.registerCsiHandler(e,(function(e){return t(e.toArray())}))},e.prototype.addCsiHandler=function(e,t){return this.registerCsiHandler(e,t)},e.prototype.registerDcsHandler=function(e,t){return this._core.registerDcsHandler(e,(function(e,r){return t(e,r.toArray())}))},e.prototype.addDcsHandler=function(e,t){return this.registerDcsHandler(e,t)},e.prototype.registerEscHandler=function(e,t){return this._core.registerEscHandler(e,t)},e.prototype.addEscHandler=function(e,t){return this.registerEscHandler(e,t)},e.prototype.registerOscHandler=function(e,t){return this._core.registerOscHandler(e,t)},e.prototype.addOscHandler=function(e,t){return this.registerOscHandler(e,t)},e}(),f=function(){function e(e){this._core=e}return e.prototype.register=function(e){this._core.unicodeService.register(e)},Object.defineProperty(e.prototype,"versions",{get:function(){return this._core.unicodeService.versions},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"activeVersion",{get:function(){return this._core.unicodeService.activeVersion},set:function(e){this._core.unicodeService.activeVersion=e},enumerable:!1,configurable:!0}),e}()},1546:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.BaseRenderLayer=void 0;var i=r(643),o=r(8803),n=r(1420),s=r(3734),a=r(1752),c=r(4774),l=r(9631),h=function(){function e(e,t,r,i,o,n,s,a){this._container=e,this._alpha=i,this._colors=o,this._rendererId=n,this._bufferService=s,this._optionsService=a,this._scaledCharWidth=0,this._scaledCharHeight=0,this._scaledCellWidth=0,this._scaledCellHeight=0,this._scaledCharLeft=0,this._scaledCharTop=0,this._currentGlyphIdentifier={chars:"",code:0,bg:0,fg:0,bold:!1,dim:!1,italic:!1},this._canvas=document.createElement("canvas"),this._canvas.classList.add("xterm-"+t+"-layer"),this._canvas.style.zIndex=r.toString(),this._initCanvas(),this._container.appendChild(this._canvas)}return e.prototype.dispose=function(){var e;l.removeElementFromParent(this._canvas),null===(e=this._charAtlas)||void 0===e||e.dispose()},e.prototype._initCanvas=function(){this._ctx=a.throwIfFalsy(this._canvas.getContext("2d",{alpha:this._alpha})),this._alpha||this._clearAll()},e.prototype.onOptionsChanged=function(){},e.prototype.onBlur=function(){},e.prototype.onFocus=function(){},e.prototype.onCursorMove=function(){},e.prototype.onGridChanged=function(e,t){},e.prototype.onSelectionChanged=function(e,t,r){void 0===r&&(r=!1)},e.prototype.setColors=function(e){this._refreshCharAtlas(e)},e.prototype._setTransparency=function(e){if(e!==this._alpha){var t=this._canvas;this._alpha=e,this._canvas=this._canvas.cloneNode(),this._initCanvas(),this._container.replaceChild(this._canvas,t),this._refreshCharAtlas(this._colors),this.onGridChanged(0,this._bufferService.rows-1)}},e.prototype._refreshCharAtlas=function(e){this._scaledCharWidth<=0&&this._scaledCharHeight<=0||(this._charAtlas=n.acquireCharAtlas(this._optionsService.options,this._rendererId,e,this._scaledCharWidth,this._scaledCharHeight),this._charAtlas.warmUp())},e.prototype.resize=function(e){this._scaledCellWidth=e.scaledCellWidth,this._scaledCellHeight=e.scaledCellHeight,this._scaledCharWidth=e.scaledCharWidth,this._scaledCharHeight=e.scaledCharHeight,this._scaledCharLeft=e.scaledCharLeft,this._scaledCharTop=e.scaledCharTop,this._canvas.width=e.scaledCanvasWidth,this._canvas.height=e.scaledCanvasHeight,this._canvas.style.width=e.canvasWidth+"px",this._canvas.style.height=e.canvasHeight+"px",this._alpha||this._clearAll(),this._refreshCharAtlas(this._colors)},e.prototype._fillCells=function(e,t,r,i){this._ctx.fillRect(e*this._scaledCellWidth,t*this._scaledCellHeight,r*this._scaledCellWidth,i*this._scaledCellHeight)},e.prototype._fillBottomLineAtCells=function(e,t,r){void 0===r&&(r=1),this._ctx.fillRect(e*this._scaledCellWidth,(t+1)*this._scaledCellHeight-window.devicePixelRatio-1,r*this._scaledCellWidth,window.devicePixelRatio)},e.prototype._fillLeftLineAtCell=function(e,t,r){this._ctx.fillRect(e*this._scaledCellWidth,t*this._scaledCellHeight,window.devicePixelRatio*r,this._scaledCellHeight)},e.prototype._strokeRectAtCell=function(e,t,r,i){this._ctx.lineWidth=window.devicePixelRatio,this._ctx.strokeRect(e*this._scaledCellWidth+window.devicePixelRatio/2,t*this._scaledCellHeight+window.devicePixelRatio/2,r*this._scaledCellWidth-window.devicePixelRatio,i*this._scaledCellHeight-window.devicePixelRatio)},e.prototype._clearAll=function(){this._alpha?this._ctx.clearRect(0,0,this._canvas.width,this._canvas.height):(this._ctx.fillStyle=this._colors.background.css,this._ctx.fillRect(0,0,this._canvas.width,this._canvas.height))},e.prototype._clearCells=function(e,t,r,i){this._alpha?this._ctx.clearRect(e*this._scaledCellWidth,t*this._scaledCellHeight,r*this._scaledCellWidth,i*this._scaledCellHeight):(this._ctx.fillStyle=this._colors.background.css,this._ctx.fillRect(e*this._scaledCellWidth,t*this._scaledCellHeight,r*this._scaledCellWidth,i*this._scaledCellHeight))},e.prototype._fillCharTrueColor=function(e,t,r){this._ctx.font=this._getFont(!1,!1),this._ctx.textBaseline="ideographic",this._clipRow(r),this._ctx.fillText(e.getChars(),t*this._scaledCellWidth+this._scaledCharLeft,r*this._scaledCellHeight+this._scaledCharTop+this._scaledCharHeight)},e.prototype._drawChars=function(e,t,r){var n,s,a=this._getContrastColor(e);a||e.isFgRGB()||e.isBgRGB()?this._drawUncachedChars(e,t,r,a):(e.isInverse()?(n=e.isBgDefault()?o.INVERTED_DEFAULT_COLOR:e.getBgColor(),s=e.isFgDefault()?o.INVERTED_DEFAULT_COLOR:e.getFgColor()):(s=e.isBgDefault()?i.DEFAULT_COLOR:e.getBgColor(),n=e.isFgDefault()?i.DEFAULT_COLOR:e.getFgColor()),n+=this._optionsService.options.drawBoldTextInBrightColors&&e.isBold()&&n<8?8:0,this._currentGlyphIdentifier.chars=e.getChars()||i.WHITESPACE_CELL_CHAR,this._currentGlyphIdentifier.code=e.getCode()||i.WHITESPACE_CELL_CODE,this._currentGlyphIdentifier.bg=s,this._currentGlyphIdentifier.fg=n,this._currentGlyphIdentifier.bold=!!e.isBold(),this._currentGlyphIdentifier.dim=!!e.isDim(),this._currentGlyphIdentifier.italic=!!e.isItalic(),this._charAtlas&&this._charAtlas.draw(this._ctx,this._currentGlyphIdentifier,t*this._scaledCellWidth+this._scaledCharLeft,r*this._scaledCellHeight+this._scaledCharTop)||this._drawUncachedChars(e,t,r))},e.prototype._drawUncachedChars=function(e,t,r,i){if(this._ctx.save(),this._ctx.font=this._getFont(!!e.isBold(),!!e.isItalic()),this._ctx.textBaseline="ideographic",e.isInverse())if(i)this._ctx.fillStyle=i.css;else if(e.isBgDefault())this._ctx.fillStyle=c.color.opaque(this._colors.background).css;else if(e.isBgRGB())this._ctx.fillStyle="rgb("+s.AttributeData.toColorRGB(e.getBgColor()).join(",")+")";else{var n=e.getBgColor();this._optionsService.options.drawBoldTextInBrightColors&&e.isBold()&&n<8&&(n+=8),this._ctx.fillStyle=this._colors.ansi[n].css}else if(i)this._ctx.fillStyle=i.css;else if(e.isFgDefault())this._ctx.fillStyle=this._colors.foreground.css;else if(e.isFgRGB())this._ctx.fillStyle="rgb("+s.AttributeData.toColorRGB(e.getFgColor()).join(",")+")";else{var a=e.getFgColor();this._optionsService.options.drawBoldTextInBrightColors&&e.isBold()&&a<8&&(a+=8),this._ctx.fillStyle=this._colors.ansi[a].css}this._clipRow(r),e.isDim()&&(this._ctx.globalAlpha=o.DIM_OPACITY),this._ctx.fillText(e.getChars(),t*this._scaledCellWidth+this._scaledCharLeft,r*this._scaledCellHeight+this._scaledCharTop+this._scaledCharHeight),this._ctx.restore()},e.prototype._clipRow=function(e){this._ctx.beginPath(),this._ctx.rect(0,e*this._scaledCellHeight,this._bufferService.cols*this._scaledCellWidth,this._scaledCellHeight),this._ctx.clip()},e.prototype._getFont=function(e,t){return(t?"italic":"")+" "+(e?this._optionsService.options.fontWeightBold:this._optionsService.options.fontWeight)+" "+this._optionsService.options.fontSize*window.devicePixelRatio+"px "+this._optionsService.options.fontFamily},e.prototype._getContrastColor=function(e){if(1!==this._optionsService.options.minimumContrastRatio){var t=this._colors.contrastCache.getColor(e.bg,e.fg);if(void 0!==t)return t||void 0;var r=e.getFgColor(),i=e.getFgColorMode(),o=e.getBgColor(),n=e.getBgColorMode(),s=!!e.isInverse(),a=!!e.isInverse();if(s){var l=r;r=o,o=l;var h=i;i=n,n=h}var u=this._resolveBackgroundRgba(n,o,s),d=this._resolveForegroundRgba(i,r,s,a),f=c.rgba.ensureContrastRatio(u,d,this._optionsService.options.minimumContrastRatio);if(f){var p={css:c.channels.toCss(f>>24&255,f>>16&255,f>>8&255),rgba:f};return this._colors.contrastCache.setColor(e.bg,e.fg,p),p}this._colors.contrastCache.setColor(e.bg,e.fg,null)}},e.prototype._resolveBackgroundRgba=function(e,t,r){switch(e){case 16777216:case 33554432:return this._colors.ansi[t].rgba;case 50331648:return t<<8;case 0:default:return r?this._colors.foreground.rgba:this._colors.background.rgba}},e.prototype._resolveForegroundRgba=function(e,t,r,i){switch(e){case 16777216:case 33554432:return this._optionsService.options.drawBoldTextInBrightColors&&i&&t<8&&(t+=8),this._colors.ansi[t].rgba;case 50331648:return t<<8;case 0:default:return r?this._colors.background.rgba:this._colors.foreground.rgba}},e}();t.BaseRenderLayer=h},2512:function(e,t,r){var i,o=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),n=this&&this.__decorate||function(e,t,r,i){var o,n=arguments.length,s=n<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(s=(n<3?o(s):n>3?o(t,r,s):o(t,r))||s);return n>3&&s&&Object.defineProperty(t,r,s),s},s=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.CursorRenderLayer=void 0;var a=r(1546),c=r(511),l=r(2585),h=r(4725),u=600,d=function(e){function t(t,r,i,o,n,s,a,l,h){var u=e.call(this,t,"cursor",r,!0,i,o,s,a)||this;return u._onRequestRedraw=n,u._coreService=l,u._coreBrowserService=h,u._cell=new c.CellData,u._state={x:0,y:0,isFocused:!1,style:"",width:0},u._cursorRenderers={bar:u._renderBarCursor.bind(u),block:u._renderBlockCursor.bind(u),underline:u._renderUnderlineCursor.bind(u)},u}return o(t,e),t.prototype.resize=function(t){e.prototype.resize.call(this,t),this._state={x:0,y:0,isFocused:!1,style:"",width:0}},t.prototype.reset=function(){this._clearCursor(),this._cursorBlinkStateManager&&(this._cursorBlinkStateManager.dispose(),this._cursorBlinkStateManager=void 0,this.onOptionsChanged())},t.prototype.onBlur=function(){this._cursorBlinkStateManager&&this._cursorBlinkStateManager.pause(),this._onRequestRedraw.fire({start:this._bufferService.buffer.y,end:this._bufferService.buffer.y})},t.prototype.onFocus=function(){this._cursorBlinkStateManager?this._cursorBlinkStateManager.resume():this._onRequestRedraw.fire({start:this._bufferService.buffer.y,end:this._bufferService.buffer.y})},t.prototype.onOptionsChanged=function(){var e,t=this;this._optionsService.options.cursorBlink?this._cursorBlinkStateManager||(this._cursorBlinkStateManager=new f(this._coreBrowserService.isFocused,(function(){t._render(!0)}))):(null===(e=this._cursorBlinkStateManager)||void 0===e||e.dispose(),this._cursorBlinkStateManager=void 0),this._onRequestRedraw.fire({start:this._bufferService.buffer.y,end:this._bufferService.buffer.y})},t.prototype.onCursorMove=function(){this._cursorBlinkStateManager&&this._cursorBlinkStateManager.restartBlinkAnimation()},t.prototype.onGridChanged=function(e,t){!this._cursorBlinkStateManager||this._cursorBlinkStateManager.isPaused?this._render(!1):this._cursorBlinkStateManager.restartBlinkAnimation()},t.prototype._render=function(e){if(this._coreService.isCursorInitialized&&!this._coreService.isCursorHidden){var t=this._bufferService.buffer.ybase+this._bufferService.buffer.y,r=t-this._bufferService.buffer.ydisp;if(r<0||r>=this._bufferService.rows)this._clearCursor();else{var i=Math.min(this._bufferService.buffer.x,this._bufferService.cols-1);if(this._bufferService.buffer.lines.get(t).loadCell(i,this._cell),void 0!==this._cell.content){if(!this._coreBrowserService.isFocused){this._clearCursor(),this._ctx.save(),this._ctx.fillStyle=this._colors.cursor.css;var o=this._optionsService.options.cursorStyle;return o&&"block"!==o?this._cursorRenderers[o](i,r,this._cell):this._renderBlurCursor(i,r,this._cell),this._ctx.restore(),this._state.x=i,this._state.y=r,this._state.isFocused=!1,this._state.style=o,void(this._state.width=this._cell.getWidth())}if(!this._cursorBlinkStateManager||this._cursorBlinkStateManager.isCursorVisible){if(this._state){if(this._state.x===i&&this._state.y===r&&this._state.isFocused===this._coreBrowserService.isFocused&&this._state.style===this._optionsService.options.cursorStyle&&this._state.width===this._cell.getWidth())return;this._clearCursor()}this._ctx.save(),this._cursorRenderers[this._optionsService.options.cursorStyle||"block"](i,r,this._cell),this._ctx.restore(),this._state.x=i,this._state.y=r,this._state.isFocused=!1,this._state.style=this._optionsService.options.cursorStyle,this._state.width=this._cell.getWidth()}else this._clearCursor()}}}else this._clearCursor()},t.prototype._clearCursor=function(){this._state&&(this._clearCells(this._state.x,this._state.y,this._state.width,1),this._state={x:0,y:0,isFocused:!1,style:"",width:0})},t.prototype._renderBarCursor=function(e,t,r){this._ctx.save(),this._ctx.fillStyle=this._colors.cursor.css,this._fillLeftLineAtCell(e,t,this._optionsService.options.cursorWidth),this._ctx.restore()},t.prototype._renderBlockCursor=function(e,t,r){this._ctx.save(),this._ctx.fillStyle=this._colors.cursor.css,this._fillCells(e,t,r.getWidth(),1),this._ctx.fillStyle=this._colors.cursorAccent.css,this._fillCharTrueColor(r,e,t),this._ctx.restore()},t.prototype._renderUnderlineCursor=function(e,t,r){this._ctx.save(),this._ctx.fillStyle=this._colors.cursor.css,this._fillBottomLineAtCells(e,t),this._ctx.restore()},t.prototype._renderBlurCursor=function(e,t,r){this._ctx.save(),this._ctx.strokeStyle=this._colors.cursor.css,this._strokeRectAtCell(e,t,r.getWidth(),1),this._ctx.restore()},n([s(5,l.IBufferService),s(6,l.IOptionsService),s(7,l.ICoreService),s(8,h.ICoreBrowserService)],t)}(a.BaseRenderLayer);t.CursorRenderLayer=d;var f=function(){function e(e,t){this._renderCallback=t,this.isCursorVisible=!0,e&&this._restartInterval()}return Object.defineProperty(e.prototype,"isPaused",{get:function(){return!(this._blinkStartTimeout||this._blinkInterval)},enumerable:!1,configurable:!0}),e.prototype.dispose=function(){this._blinkInterval&&(window.clearInterval(this._blinkInterval),this._blinkInterval=void 0),this._blinkStartTimeout&&(window.clearTimeout(this._blinkStartTimeout),this._blinkStartTimeout=void 0),this._animationFrame&&(window.cancelAnimationFrame(this._animationFrame),this._animationFrame=void 0)},e.prototype.restartBlinkAnimation=function(){var e=this;this.isPaused||(this._animationTimeRestarted=Date.now(),this.isCursorVisible=!0,this._animationFrame||(this._animationFrame=window.requestAnimationFrame((function(){e._renderCallback(),e._animationFrame=void 0}))))},e.prototype._restartInterval=function(e){var t=this;void 0===e&&(e=u),this._blinkInterval&&window.clearInterval(this._blinkInterval),this._blinkStartTimeout=window.setTimeout((function(){if(t._animationTimeRestarted){var e=u-(Date.now()-t._animationTimeRestarted);if(t._animationTimeRestarted=void 0,e>0)return void t._restartInterval(e)}t.isCursorVisible=!1,t._animationFrame=window.requestAnimationFrame((function(){t._renderCallback(),t._animationFrame=void 0})),t._blinkInterval=window.setInterval((function(){if(t._animationTimeRestarted){var e=u-(Date.now()-t._animationTimeRestarted);return t._animationTimeRestarted=void 0,void t._restartInterval(e)}t.isCursorVisible=!t.isCursorVisible,t._animationFrame=window.requestAnimationFrame((function(){t._renderCallback(),t._animationFrame=void 0}))}),u)}),e)},e.prototype.pause=function(){this.isCursorVisible=!0,this._blinkInterval&&(window.clearInterval(this._blinkInterval),this._blinkInterval=void 0),this._blinkStartTimeout&&(window.clearTimeout(this._blinkStartTimeout),this._blinkStartTimeout=void 0),this._animationFrame&&(window.cancelAnimationFrame(this._animationFrame),this._animationFrame=void 0)},e.prototype.resume=function(){this.pause(),this._animationTimeRestarted=void 0,this._restartInterval(),this.restartBlinkAnimation()},e}()},3700:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.GridCache=void 0;var r=function(){function e(){this.cache=[]}return e.prototype.resize=function(e,t){for(var r=0;r=0;a--)(o=e[a])&&(s=(n<3?o(s):n>3?o(t,r,s):o(t,r))||s);return n>3&&s&&Object.defineProperty(t,r,s),s},s=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.LinkRenderLayer=void 0;var a=r(1546),c=r(8803),l=r(2040),h=r(2585),u=function(e){function t(t,r,i,o,n,s,a,c){var l=e.call(this,t,"link",r,!0,i,o,a,c)||this;return n.onShowLinkUnderline((function(e){return l._onShowLinkUnderline(e)})),n.onHideLinkUnderline((function(e){return l._onHideLinkUnderline(e)})),s.onShowLinkUnderline((function(e){return l._onShowLinkUnderline(e)})),s.onHideLinkUnderline((function(e){return l._onHideLinkUnderline(e)})),l}return o(t,e),t.prototype.resize=function(t){e.prototype.resize.call(this,t),this._state=void 0},t.prototype.reset=function(){this._clearCurrentLink()},t.prototype._clearCurrentLink=function(){if(this._state){this._clearCells(this._state.x1,this._state.y1,this._state.cols-this._state.x1,1);var e=this._state.y2-this._state.y1-1;e>0&&this._clearCells(0,this._state.y1+1,this._state.cols,e),this._clearCells(0,this._state.y2,this._state.x2,1),this._state=void 0}},t.prototype._onShowLinkUnderline=function(e){if(e.fg===c.INVERTED_DEFAULT_COLOR?this._ctx.fillStyle=this._colors.background.css:e.fg&&l.is256Color(e.fg)?this._ctx.fillStyle=this._colors.ansi[e.fg].css:this._ctx.fillStyle=this._colors.foreground.css,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 t=e.y1+1;t=0;a--)(o=e[a])&&(s=(n<3?o(s):n>3?o(t,r,s):o(t,r))||s);return n>3&&s&&Object.defineProperty(t,r,s),s},s=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.Renderer=void 0;var a=r(9596),c=r(4149),l=r(2512),h=r(5098),u=r(844),d=r(4725),f=r(2585),p=r(1420),_=r(8460),g=1,v=function(e){function t(t,r,i,o,n,s,u,d){var f=e.call(this)||this;f._colors=t,f._screenElement=r,f._bufferService=s,f._charSizeService=u,f._optionsService=d,f._id=g++,f._onRequestRedraw=new _.EventEmitter;var p=f._optionsService.options.allowTransparency;return f._renderLayers=[n.createInstance(a.TextRenderLayer,f._screenElement,0,f._colors,p,f._id),n.createInstance(c.SelectionRenderLayer,f._screenElement,1,f._colors,f._id),n.createInstance(h.LinkRenderLayer,f._screenElement,2,f._colors,f._id,i,o),n.createInstance(l.CursorRenderLayer,f._screenElement,3,f._colors,f._id,f._onRequestRedraw)],f.dimensions={scaledCharWidth:0,scaledCharHeight:0,scaledCellWidth:0,scaledCellHeight:0,scaledCharLeft:0,scaledCharTop:0,scaledCanvasWidth:0,scaledCanvasHeight:0,canvasWidth:0,canvasHeight:0,actualCellWidth:0,actualCellHeight:0},f._devicePixelRatio=window.devicePixelRatio,f._updateDimensions(),f.onOptionsChanged(),f}return o(t,e),Object.defineProperty(t.prototype,"onRequestRedraw",{get:function(){return this._onRequestRedraw.event},enumerable:!1,configurable:!0}),t.prototype.dispose=function(){for(var t=0,r=this._renderLayers;t{Object.defineProperty(t,"__esModule",{value:!0}),t.throwIfFalsy=void 0,t.throwIfFalsy=function(e){if(!e)throw new Error("value must not be falsy");return e}},4149:function(e,t,r){var i,o=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),n=this&&this.__decorate||function(e,t,r,i){var o,n=arguments.length,s=n<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(s=(n<3?o(s):n>3?o(t,r,s):o(t,r))||s);return n>3&&s&&Object.defineProperty(t,r,s),s},s=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.SelectionRenderLayer=void 0;var a=r(1546),c=r(2585),l=function(e){function t(t,r,i,o,n,s){var a=e.call(this,t,"selection",r,!0,i,o,n,s)||this;return a._clearState(),a}return o(t,e),t.prototype._clearState=function(){this._state={start:void 0,end:void 0,columnSelectMode:void 0,ydisp:void 0}},t.prototype.resize=function(t){e.prototype.resize.call(this,t),this._clearState()},t.prototype.reset=function(){this._state.start&&this._state.end&&(this._clearState(),this._clearAll())},t.prototype.onSelectionChanged=function(e,t,r){if(this._didStateChange(e,t,r,this._bufferService.buffer.ydisp))if(this._clearAll(),e&&t){var i=e[1]-this._bufferService.buffer.ydisp,o=t[1]-this._bufferService.buffer.ydisp,n=Math.max(i,0),s=Math.min(o,this._bufferService.rows-1);if(n>=this._bufferService.rows||s<0)this._state.ydisp=this._bufferService.buffer.ydisp;else{if(this._ctx.fillStyle=this._colors.selectionTransparent.css,r){var a=e[0],c=t[0]-a,l=s-n+1;this._fillCells(a,n,c,l)}else{a=i===n?e[0]:0;var h=n===o?t[0]:this._bufferService.cols;this._fillCells(a,n,h-a,1);var u=Math.max(s-n-1,0);if(this._fillCells(0,n+1,this._bufferService.cols,u),n!==s){var d=o===s?t[0]:this._bufferService.cols;this._fillCells(0,s,d,1)}}this._state.start=[e[0],e[1]],this._state.end=[t[0],t[1]],this._state.columnSelectMode=r,this._state.ydisp=this._bufferService.buffer.ydisp}}else this._clearState()},t.prototype._didStateChange=function(e,t,r,i){return!this._areCoordinatesEqual(e,this._state.start)||!this._areCoordinatesEqual(t,this._state.end)||r!==this._state.columnSelectMode||i!==this._state.ydisp},t.prototype._areCoordinatesEqual=function(e,t){return!(!e||!t)&&e[0]===t[0]&&e[1]===t[1]},n([s(4,c.IBufferService),s(5,c.IOptionsService)],t)}(a.BaseRenderLayer);t.SelectionRenderLayer=l},9596:function(e,t,r){var i,o=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),n=this&&this.__decorate||function(e,t,r,i){var o,n=arguments.length,s=n<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(s=(n<3?o(s):n>3?o(t,r,s):o(t,r))||s);return n>3&&s&&Object.defineProperty(t,r,s),s},s=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.TextRenderLayer=void 0;var a=r(3700),c=r(1546),l=r(3734),h=r(643),u=r(511),d=r(2585),f=r(4725),p=r(4269),_=function(e){function t(t,r,i,o,n,s,c,l){var h=e.call(this,t,"text",r,o,i,n,s,c)||this;return h._characterJoinerService=l,h._characterWidth=0,h._characterFont="",h._characterOverlapCache={},h._workCell=new u.CellData,h._state=new a.GridCache,h}return o(t,e),t.prototype.resize=function(t){e.prototype.resize.call(this,t);var r=this._getFont(!1,!1);this._characterWidth===t.scaledCharWidth&&this._characterFont===r||(this._characterWidth=t.scaledCharWidth,this._characterFont=r,this._characterOverlapCache={}),this._state.clear(),this._state.resize(this._bufferService.cols,this._bufferService.rows)},t.prototype.reset=function(){this._state.clear(),this._clearAll()},t.prototype._forEachCell=function(e,t,r){for(var i=e;i<=t;i++)for(var o=i+this._bufferService.buffer.ydisp,n=this._bufferService.buffer.lines.get(o),s=this._characterJoinerService.getJoinedCharacters(o),a=0;a0&&a===s[0][0]){l=!0;var d=s.shift();c=new p.JoinedCellData(this._workCell,n.translateToString(!0,d[0],d[1]),d[1]-d[0]),u=d[1]-1}!l&&this._isOverlapping(c)&&uthis._characterWidth;return this._ctx.restore(),this._characterOverlapCache[t]=r,r},n([s(5,d.IBufferService),s(6,d.IOptionsService),s(7,f.ICharacterJoinerService)],t)}(c.BaseRenderLayer);t.TextRenderLayer=_},9616:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.BaseCharAtlas=void 0;var r=function(){function e(){this._didWarmUp=!1}return e.prototype.dispose=function(){},e.prototype.warmUp=function(){this._didWarmUp||(this._doWarmUp(),this._didWarmUp=!0)},e.prototype._doWarmUp=function(){},e.prototype.beginFrame=function(){},e}();t.BaseCharAtlas=r},1420:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.removeTerminalFromCache=t.acquireCharAtlas=void 0;var i=r(2040),o=r(1906),n=[];t.acquireCharAtlas=function(e,t,r,s,a){for(var c=i.generateConfig(s,a,e,r),l=0;l=0){if(i.configEquals(u.config,c))return u.atlas;1===u.ownedBy.length?(u.atlas.dispose(),n.splice(l,1)):u.ownedBy.splice(h,1);break}}for(l=0;l{Object.defineProperty(t,"__esModule",{value:!0}),t.is256Color=t.configEquals=t.generateConfig=void 0;var i=r(643);t.generateConfig=function(e,t,r,i){var o={foreground:i.foreground,background:i.background,cursor:void 0,cursorAccent:void 0,selection:void 0,ansi:i.ansi};return{devicePixelRatio:window.devicePixelRatio,scaledCharWidth:e,scaledCharHeight:t,fontFamily:r.fontFamily,fontSize:r.fontSize,fontWeight:r.fontWeight,fontWeightBold:r.fontWeightBold,allowTransparency:r.allowTransparency,colors:o}},t.configEquals=function(e,t){for(var r=0;r{Object.defineProperty(t,"__esModule",{value:!0}),t.CHAR_ATLAS_CELL_SPACING=t.DIM_OPACITY=t.INVERTED_DEFAULT_COLOR=void 0,t.INVERTED_DEFAULT_COLOR=257,t.DIM_OPACITY=.5,t.CHAR_ATLAS_CELL_SPACING=1},1906:function(e,t,r){var i,o=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});Object.defineProperty(t,"__esModule",{value:!0}),t.NoneCharAtlas=t.DynamicCharAtlas=t.getGlyphCacheKey=void 0;var n=r(8803),s=r(9616),a=r(5680),c=r(7001),l=r(6114),h=r(1752),u=r(4774),d={css:"rgba(0, 0, 0, 0)",rgba:0};function f(e){return e.code<<21|e.bg<<12|e.fg<<3|(e.bold?0:4)+(e.dim?0:2)+(e.italic?0:1)}t.getGlyphCacheKey=f;var p=function(e){function t(t,r){var i=e.call(this)||this;i._config=r,i._drawToCacheCount=0,i._glyphsWaitingOnBitmap=[],i._bitmapCommitTimeout=null,i._bitmap=null,i._cacheCanvas=t.createElement("canvas"),i._cacheCanvas.width=1024,i._cacheCanvas.height=1024,i._cacheCtx=h.throwIfFalsy(i._cacheCanvas.getContext("2d",{alpha:!0}));var o=t.createElement("canvas");o.width=i._config.scaledCharWidth,o.height=i._config.scaledCharHeight,i._tmpCtx=h.throwIfFalsy(o.getContext("2d",{alpha:i._config.allowTransparency})),i._width=Math.floor(1024/i._config.scaledCharWidth),i._height=Math.floor(1024/i._config.scaledCharHeight);var n=i._width*i._height;return i._cacheMap=new c.LRUMap(n),i._cacheMap.prealloc(n),i}return o(t,e),t.prototype.dispose=function(){null!==this._bitmapCommitTimeout&&(window.clearTimeout(this._bitmapCommitTimeout),this._bitmapCommitTimeout=null)},t.prototype.beginFrame=function(){this._drawToCacheCount=0},t.prototype.draw=function(e,t,r,i){if(32===t.code)return!0;if(!this._canCache(t))return!1;var o=f(t),n=this._cacheMap.get(o);if(null!=n)return this._drawFromCache(e,n,r,i),!0;if(this._drawToCacheCount<100){var s;s=this._cacheMap.size>>24,o=t.rgba>>>16&255,n=t.rgba>>>8&255,s=0;s{Object.defineProperty(t,"__esModule",{value:!0}),t.LRUMap=void 0;var r=function(){function e(e){this.capacity=e,this._map={},this._head=null,this._tail=null,this._nodePool=[],this.size=0}return e.prototype._unlinkNode=function(e){var t=e.prev,r=e.next;e===this._head&&(this._head=r),e===this._tail&&(this._tail=t),null!==t&&(t.next=r),null!==r&&(r.prev=t)},e.prototype._appendNode=function(e){var t=this._tail;null!==t&&(t.next=e),e.prev=t,e.next=null,this._tail=e,null===this._head&&(this._head=e)},e.prototype.prealloc=function(e){for(var t=this._nodePool,r=0;r=this.capacity)r=this._head,this._unlinkNode(r),delete this._map[r.key],r.key=e,r.value=t,this._map[e]=r;else{var i=this._nodePool;i.length>0?((r=i.pop()).key=e,r.value=t):r={prev:null,next:null,key:e,value:t},this._map[e]=r,this.size++}this._appendNode(r)},e}();t.LRUMap=r},1296:function(e,t,r){var i,o=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),n=this&&this.__decorate||function(e,t,r,i){var o,n=arguments.length,s=n<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(s=(n<3?o(s):n>3?o(t,r,s):o(t,r))||s);return n>3&&s&&Object.defineProperty(t,r,s),s},s=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.DomRenderer=void 0;var a=r(3787),c=r(8803),l=r(844),h=r(4725),u=r(2585),d=r(8460),f=r(4774),p=r(9631),_="xterm-dom-renderer-owner-",g="xterm-fg-",v="xterm-bg-",b="xterm-focus",y=1,m=function(e){function t(t,r,i,o,n,s,c,l,h,u){var d=e.call(this)||this;return d._colors=t,d._element=r,d._screenElement=i,d._viewportElement=o,d._linkifier=n,d._linkifier2=s,d._charSizeService=l,d._optionsService=h,d._bufferService=u,d._terminalClass=y++,d._rowElements=[],d._rowContainer=document.createElement("div"),d._rowContainer.classList.add("xterm-rows"),d._rowContainer.style.lineHeight="normal",d._rowContainer.setAttribute("aria-hidden","true"),d._refreshRowElements(d._bufferService.cols,d._bufferService.rows),d._selectionContainer=document.createElement("div"),d._selectionContainer.classList.add("xterm-selection"),d._selectionContainer.setAttribute("aria-hidden","true"),d.dimensions={scaledCharWidth:0,scaledCharHeight:0,scaledCellWidth:0,scaledCellHeight:0,scaledCharLeft:0,scaledCharTop:0,scaledCanvasWidth:0,scaledCanvasHeight:0,canvasWidth:0,canvasHeight:0,actualCellWidth:0,actualCellHeight:0},d._updateDimensions(),d._injectCss(),d._rowFactory=c.createInstance(a.DomRendererRowFactory,document,d._colors),d._element.classList.add(_+d._terminalClass),d._screenElement.appendChild(d._rowContainer),d._screenElement.appendChild(d._selectionContainer),d._linkifier.onShowLinkUnderline((function(e){return d._onLinkHover(e)})),d._linkifier.onHideLinkUnderline((function(e){return d._onLinkLeave(e)})),d._linkifier2.onShowLinkUnderline((function(e){return d._onLinkHover(e)})),d._linkifier2.onHideLinkUnderline((function(e){return d._onLinkLeave(e)})),d}return o(t,e),Object.defineProperty(t.prototype,"onRequestRedraw",{get:function(){return(new d.EventEmitter).event},enumerable:!1,configurable:!0}),t.prototype.dispose=function(){this._element.classList.remove(_+this._terminalClass),p.removeElementFromParent(this._rowContainer,this._selectionContainer,this._themeStyleElement,this._dimensionsStyleElement),e.prototype.dispose.call(this)},t.prototype._updateDimensions=function(){this.dimensions.scaledCharWidth=this._charSizeService.width*window.devicePixelRatio,this.dimensions.scaledCharHeight=Math.ceil(this._charSizeService.height*window.devicePixelRatio),this.dimensions.scaledCellWidth=this.dimensions.scaledCharWidth+Math.round(this._optionsService.options.letterSpacing),this.dimensions.scaledCellHeight=Math.floor(this.dimensions.scaledCharHeight*this._optionsService.options.lineHeight),this.dimensions.scaledCharLeft=0,this.dimensions.scaledCharTop=0,this.dimensions.scaledCanvasWidth=this.dimensions.scaledCellWidth*this._bufferService.cols,this.dimensions.scaledCanvasHeight=this.dimensions.scaledCellHeight*this._bufferService.rows,this.dimensions.canvasWidth=Math.round(this.dimensions.scaledCanvasWidth/window.devicePixelRatio),this.dimensions.canvasHeight=Math.round(this.dimensions.scaledCanvasHeight/window.devicePixelRatio),this.dimensions.actualCellWidth=this.dimensions.canvasWidth/this._bufferService.cols,this.dimensions.actualCellHeight=this.dimensions.canvasHeight/this._bufferService.rows;for(var e=0,t=this._rowElements;et;)this._rowContainer.removeChild(this._rowElements.pop())},t.prototype.onResize=function(e,t){this._refreshRowElements(e,t),this._updateDimensions()},t.prototype.onCharSizeChanged=function(){this._updateDimensions()},t.prototype.onBlur=function(){this._rowContainer.classList.remove(b)},t.prototype.onFocus=function(){this._rowContainer.classList.add(b)},t.prototype.onSelectionChanged=function(e,t,r){for(;this._selectionContainer.children.length;)this._selectionContainer.removeChild(this._selectionContainer.children[0]);if(e&&t){var i=e[1]-this._bufferService.buffer.ydisp,o=t[1]-this._bufferService.buffer.ydisp,n=Math.max(i,0),s=Math.min(o,this._bufferService.rows-1);if(!(n>=this._bufferService.rows||s<0)){var a=document.createDocumentFragment();if(r)a.appendChild(this._createSelectionElement(n,e[0],t[0],s-n+1));else{var c=i===n?e[0]:0,l=n===o?t[0]:this._bufferService.cols;a.appendChild(this._createSelectionElement(n,c,l));var h=s-n-1;if(a.appendChild(this._createSelectionElement(n+1,0,this._bufferService.cols,h)),n!==s){var u=o===s?t[0]:this._bufferService.cols;a.appendChild(this._createSelectionElement(s,0,u))}}this._selectionContainer.appendChild(a)}}},t.prototype._createSelectionElement=function(e,t,r,i){void 0===i&&(i=1);var o=document.createElement("div");return o.style.height=i*this.dimensions.actualCellHeight+"px",o.style.top=e*this.dimensions.actualCellHeight+"px",o.style.left=t*this.dimensions.actualCellWidth+"px",o.style.width=this.dimensions.actualCellWidth*(r-t)+"px",o},t.prototype.onCursorMove=function(){},t.prototype.onOptionsChanged=function(){this._updateDimensions(),this._injectCss()},t.prototype.clear=function(){for(var e=0,t=this._rowElements;e=o&&(e=0,r++)}},n([s(6,u.IInstantiationService),s(7,h.ICharSizeService),s(8,u.IOptionsService),s(9,u.IBufferService)],t)}(l.Disposable);t.DomRenderer=m},3787:function(e,t,r){var i=this&&this.__decorate||function(e,t,r,i){var o,n=arguments.length,s=n<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(s=(n<3?o(s):n>3?o(t,r,s):o(t,r))||s);return n>3&&s&&Object.defineProperty(t,r,s),s},o=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.DomRendererRowFactory=t.CURSOR_STYLE_UNDERLINE_CLASS=t.CURSOR_STYLE_BAR_CLASS=t.CURSOR_STYLE_BLOCK_CLASS=t.CURSOR_BLINK_CLASS=t.CURSOR_CLASS=t.UNDERLINE_CLASS=t.ITALIC_CLASS=t.DIM_CLASS=t.BOLD_CLASS=void 0;var n=r(8803),s=r(643),a=r(511),c=r(2585),l=r(4774),h=r(4725),u=r(4269);t.BOLD_CLASS="xterm-bold",t.DIM_CLASS="xterm-dim",t.ITALIC_CLASS="xterm-italic",t.UNDERLINE_CLASS="xterm-underline",t.CURSOR_CLASS="xterm-cursor",t.CURSOR_BLINK_CLASS="xterm-cursor-blink",t.CURSOR_STYLE_BLOCK_CLASS="xterm-cursor-block",t.CURSOR_STYLE_BAR_CLASS="xterm-cursor-bar",t.CURSOR_STYLE_UNDERLINE_CLASS="xterm-cursor-underline";var d=function(){function e(e,t,r,i){this._document=e,this._colors=t,this._characterJoinerService=r,this._optionsService=i,this._workCell=new a.CellData}return e.prototype.setColors=function(e){this._colors=e},e.prototype.createRow=function(e,r,i,o,a,c,h,d){for(var p=this._document.createDocumentFragment(),_=this._characterJoinerService.getJoinedCharacters(r),g=0,v=Math.min(e.length,d)-1;v>=0;v--)if(e.loadCell(v,this._workCell).getCode()!==s.NULL_CELL_CODE||i&&v===a){g=v+1;break}for(v=0;v0&&v===_[0][0]){y=!0;var S=_.shift();C=new u.JoinedCellData(this._workCell,e.translateToString(!0,S[0],S[1]),S[1]-S[0]),m=S[1]-1,b=C.getWidth()}var w=this._document.createElement("span");if(b>1&&(w.style.width=h*b+"px"),y&&(w.style.display="inline",a>=v&&a<=m&&(a=v)),i&&v===a)switch(w.classList.add(t.CURSOR_CLASS),c&&w.classList.add(t.CURSOR_BLINK_CLASS),o){case"bar":w.classList.add(t.CURSOR_STYLE_BAR_CLASS);break;case"underline":w.classList.add(t.CURSOR_STYLE_UNDERLINE_CLASS);break;default:w.classList.add(t.CURSOR_STYLE_BLOCK_CLASS)}C.isBold()&&w.classList.add(t.BOLD_CLASS),C.isItalic()&&w.classList.add(t.ITALIC_CLASS),C.isDim()&&w.classList.add(t.DIM_CLASS),C.isUnderline()&&w.classList.add(t.UNDERLINE_CLASS),C.isInvisible()?w.textContent=s.WHITESPACE_CELL_CHAR:w.textContent=C.getChars()||s.WHITESPACE_CELL_CHAR;var A=C.getFgColor(),T=C.getFgColorMode(),E=C.getBgColor(),R=C.getBgColorMode(),k=!!C.isInverse();if(k){var x=A;A=E,E=x;var P=T;T=R,R=P}switch(T){case 16777216:case 33554432:C.isBold()&&A<8&&this._optionsService.options.drawBoldTextInBrightColors&&(A+=8),this._applyMinimumContrast(w,this._colors.background,this._colors.ansi[A])||w.classList.add("xterm-fg-"+A);break;case 50331648:var L=l.rgba.toColor(A>>16&255,A>>8&255,255&A);this._applyMinimumContrast(w,this._colors.background,L)||this._addStyle(w,"color:#"+f(A.toString(16),"0",6));break;case 0:default:this._applyMinimumContrast(w,this._colors.background,this._colors.foreground)||k&&w.classList.add("xterm-fg-"+n.INVERTED_DEFAULT_COLOR)}switch(R){case 16777216:case 33554432:w.classList.add("xterm-bg-"+E);break;case 50331648:this._addStyle(w,"background-color:#"+f(E.toString(16),"0",6));break;case 0:default:k&&w.classList.add("xterm-bg-"+n.INVERTED_DEFAULT_COLOR)}p.appendChild(w),v=m}}return p},e.prototype._applyMinimumContrast=function(e,t,r){if(1===this._optionsService.options.minimumContrastRatio)return!1;var i=this._colors.contrastCache.getColor(this._workCell.bg,this._workCell.fg);return void 0===i&&(i=l.color.ensureContrastRatio(t,r,this._optionsService.options.minimumContrastRatio),this._colors.contrastCache.setColor(this._workCell.bg,this._workCell.fg,null!=i?i:null)),!!i&&(this._addStyle(e,"color:"+i.css),!0)},e.prototype._addStyle=function(e,t){e.setAttribute("style",""+(e.getAttribute("style")||"")+t+";")},i([o(2,h.ICharacterJoinerService),o(3,c.IOptionsService)],e)}();function f(e,t,r){for(;e.length{Object.defineProperty(t,"__esModule",{value:!0}),t.SelectionModel=void 0;var r=function(){function e(e){this._bufferService=e,this.isSelectAllActive=!1,this.selectionStartLength=0}return e.prototype.clearSelection=function(){this.selectionStart=void 0,this.selectionEnd=void 0,this.isSelectAllActive=!1,this.selectionStartLength=0},Object.defineProperty(e.prototype,"finalSelectionStart",{get:function(){return this.isSelectAllActive?[0,0]:this.selectionEnd&&this.selectionStart&&this.areSelectionValuesReversed()?this.selectionEnd:this.selectionStart},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"finalSelectionEnd",{get:function(){if(this.isSelectAllActive)return[this._bufferService.cols,this._bufferService.buffer.ybase+this._bufferService.rows-1];if(this.selectionStart){if(!this.selectionEnd||this.areSelectionValuesReversed()){var e=this.selectionStart[0]+this.selectionStartLength;return e>this._bufferService.cols?[e%this._bufferService.cols,this.selectionStart[1]+Math.floor(e/this._bufferService.cols)]:[e,this.selectionStart[1]]}return this.selectionStartLength&&this.selectionEnd[1]===this.selectionStart[1]?[Math.max(this.selectionStart[0]+this.selectionStartLength,this.selectionEnd[0]),this.selectionEnd[1]]:this.selectionEnd}},enumerable:!1,configurable:!0}),e.prototype.areSelectionValuesReversed=function(){var e=this.selectionStart,t=this.selectionEnd;return!(!e||!t)&&(e[1]>t[1]||e[1]===t[1]&&e[0]>t[0])},e.prototype.onTrim=function(e){return this.selectionStart&&(this.selectionStart[1]-=e),this.selectionEnd&&(this.selectionEnd[1]-=e),this.selectionEnd&&this.selectionEnd[1]<0?(this.clearSelection(),!0):(this.selectionStart&&this.selectionStart[1]<0&&(this.selectionStart[1]=0),!1)},e}();t.SelectionModel=r},428:function(e,t,r){var i=this&&this.__decorate||function(e,t,r,i){var o,n=arguments.length,s=n<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(s=(n<3?o(s):n>3?o(t,r,s):o(t,r))||s);return n>3&&s&&Object.defineProperty(t,r,s),s},o=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.CharSizeService=void 0;var n=r(2585),s=r(8460),a=function(){function e(e,t,r){this._optionsService=r,this.width=0,this.height=0,this._onCharSizeChange=new s.EventEmitter,this._measureStrategy=new c(e,t,this._optionsService)}return Object.defineProperty(e.prototype,"hasValidSize",{get:function(){return this.width>0&&this.height>0},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onCharSizeChange",{get:function(){return this._onCharSizeChange.event},enumerable:!1,configurable:!0}),e.prototype.measure=function(){var e=this._measureStrategy.measure();e.width===this.width&&e.height===this.height||(this.width=e.width,this.height=e.height,this._onCharSizeChange.fire())},i([o(2,n.IOptionsService)],e)}();t.CharSizeService=a;var c=function(){function e(e,t,r){this._document=e,this._parentElement=t,this._optionsService=r,this._result={width:0,height:0},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 e.prototype.measure=function(){this._measureElement.style.fontFamily=this._optionsService.options.fontFamily,this._measureElement.style.fontSize=this._optionsService.options.fontSize+"px";var e=this._measureElement.getBoundingClientRect();return 0!==e.width&&0!==e.height&&(this._result.width=e.width,this._result.height=Math.ceil(e.height)),this._result},e}()},4269:function(e,t,r){var i,o=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),n=this&&this.__decorate||function(e,t,r,i){var o,n=arguments.length,s=n<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(s=(n<3?o(s):n>3?o(t,r,s):o(t,r))||s);return n>3&&s&&Object.defineProperty(t,r,s),s},s=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.CharacterJoinerService=t.JoinedCellData=void 0;var a=r(3734),c=r(643),l=r(511),h=r(2585),u=function(e){function t(t,r,i){var o=e.call(this)||this;return o.content=0,o.combinedData="",o.fg=t.fg,o.bg=t.bg,o.combinedData=r,o._width=i,o}return o(t,e),t.prototype.isCombined=function(){return 2097152},t.prototype.getWidth=function(){return this._width},t.prototype.getChars=function(){return this.combinedData},t.prototype.getCode=function(){return 2097151},t.prototype.setFromCharData=function(e){throw new Error("not implemented")},t.prototype.getAsCharData=function(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]},t}(a.AttributeData);t.JoinedCellData=u;var d=function(){function e(e){this._bufferService=e,this._characterJoiners=[],this._nextCharacterJoinerId=0,this._workCell=new l.CellData}return e.prototype.register=function(e){var t={id:this._nextCharacterJoinerId++,handler:e};return this._characterJoiners.push(t),t.id},e.prototype.deregister=function(e){for(var t=0;t1)for(var u=this._getJoinedRanges(i,s,n,t,o),d=0;d1)for(u=this._getJoinedRanges(i,s,n,t,o),d=0;d{Object.defineProperty(t,"__esModule",{value:!0}),t.CoreBrowserService=void 0;var r=function(){function e(e){this._textarea=e}return Object.defineProperty(e.prototype,"isFocused",{get:function(){return(this._textarea.getRootNode?this._textarea.getRootNode():document).activeElement===this._textarea&&document.hasFocus()},enumerable:!1,configurable:!0}),e}();t.CoreBrowserService=r},8934:function(e,t,r){var i=this&&this.__decorate||function(e,t,r,i){var o,n=arguments.length,s=n<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(s=(n<3?o(s):n>3?o(t,r,s):o(t,r))||s);return n>3&&s&&Object.defineProperty(t,r,s),s},o=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.MouseService=void 0;var n=r(4725),s=r(9806),a=function(){function e(e,t){this._renderService=e,this._charSizeService=t}return e.prototype.getCoords=function(e,t,r,i,o){return s.getCoords(e,t,r,i,this._charSizeService.hasValidSize,this._renderService.dimensions.actualCellWidth,this._renderService.dimensions.actualCellHeight,o)},e.prototype.getRawByteCoords=function(e,t,r,i){var o=this.getCoords(e,t,r,i);return s.getRawByteCoords(o)},i([o(0,n.IRenderService),o(1,n.ICharSizeService)],e)}();t.MouseService=a},3230:function(e,t,r){var i,o=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),n=this&&this.__decorate||function(e,t,r,i){var o,n=arguments.length,s=n<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(s=(n<3?o(s):n>3?o(t,r,s):o(t,r))||s);return n>3&&s&&Object.defineProperty(t,r,s),s},s=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.RenderService=void 0;var a=r(6193),c=r(8460),l=r(844),h=r(5596),u=r(3656),d=r(2585),f=r(4725),p=function(e){function t(t,r,i,o,n,s){var l=e.call(this)||this;if(l._renderer=t,l._rowCount=r,l._charSizeService=n,l._isPaused=!1,l._needsFullRefresh=!1,l._isNextRenderRedrawOnly=!0,l._needsSelectionRefresh=!1,l._canvasWidth=0,l._canvasHeight=0,l._selectionState={start:void 0,end:void 0,columnSelectMode:!1},l._onDimensionsChange=new c.EventEmitter,l._onRender=new c.EventEmitter,l._onRefreshRequest=new c.EventEmitter,l.register({dispose:function(){return l._renderer.dispose()}}),l._renderDebouncer=new a.RenderDebouncer((function(e,t){return l._renderRows(e,t)})),l.register(l._renderDebouncer),l._screenDprMonitor=new h.ScreenDprMonitor,l._screenDprMonitor.setListener((function(){return l.onDevicePixelRatioChange()})),l.register(l._screenDprMonitor),l.register(s.onResize((function(e){return l._fullRefresh()}))),l.register(o.onOptionChange((function(){return l._renderer.onOptionsChanged()}))),l.register(l._charSizeService.onCharSizeChange((function(){return l.onCharSizeChanged()}))),l._renderer.onRequestRedraw((function(e){return l.refreshRows(e.start,e.end,!0)})),l.register(u.addDisposableDomListener(window,"resize",(function(){return l.onDevicePixelRatioChange()}))),"IntersectionObserver"in window){var d=new IntersectionObserver((function(e){return l._onIntersectionChange(e[e.length-1])}),{threshold:0});d.observe(i),l.register({dispose:function(){return d.disconnect()}})}return l}return o(t,e),Object.defineProperty(t.prototype,"onDimensionsChange",{get:function(){return this._onDimensionsChange.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onRenderedBufferChange",{get:function(){return this._onRender.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onRefreshRequest",{get:function(){return this._onRefreshRequest.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"dimensions",{get:function(){return this._renderer.dimensions},enumerable:!1,configurable:!0}),t.prototype._onIntersectionChange=function(e){this._isPaused=void 0===e.isIntersecting?0===e.intersectionRatio:!e.isIntersecting,this._isPaused||this._charSizeService.hasValidSize||this._charSizeService.measure(),!this._isPaused&&this._needsFullRefresh&&(this.refreshRows(0,this._rowCount-1),this._needsFullRefresh=!1)},t.prototype.refreshRows=function(e,t,r){void 0===r&&(r=!1),this._isPaused?this._needsFullRefresh=!0:(r||(this._isNextRenderRedrawOnly=!1),this._renderDebouncer.refresh(e,t,this._rowCount))},t.prototype._renderRows=function(e,t){this._renderer.renderRows(e,t),this._needsSelectionRefresh&&(this._renderer.onSelectionChanged(this._selectionState.start,this._selectionState.end,this._selectionState.columnSelectMode),this._needsSelectionRefresh=!1),this._isNextRenderRedrawOnly||this._onRender.fire({start:e,end:t}),this._isNextRenderRedrawOnly=!0},t.prototype.resize=function(e,t){this._rowCount=t,this._fireOnCanvasResize()},t.prototype.changeOptions=function(){this._renderer.onOptionsChanged(),this.refreshRows(0,this._rowCount-1),this._fireOnCanvasResize()},t.prototype._fireOnCanvasResize=function(){this._renderer.dimensions.canvasWidth===this._canvasWidth&&this._renderer.dimensions.canvasHeight===this._canvasHeight||this._onDimensionsChange.fire(this._renderer.dimensions)},t.prototype.dispose=function(){e.prototype.dispose.call(this)},t.prototype.setRenderer=function(e){var t=this;this._renderer.dispose(),this._renderer=e,this._renderer.onRequestRedraw((function(e){return t.refreshRows(e.start,e.end,!0)})),this._needsSelectionRefresh=!0,this._fullRefresh()},t.prototype._fullRefresh=function(){this._isPaused?this._needsFullRefresh=!0:this.refreshRows(0,this._rowCount-1)},t.prototype.setColors=function(e){this._renderer.setColors(e),this._fullRefresh()},t.prototype.onDevicePixelRatioChange=function(){this._charSizeService.measure(),this._renderer.onDevicePixelRatioChange(),this.refreshRows(0,this._rowCount-1)},t.prototype.onResize=function(e,t){this._renderer.onResize(e,t),this._fullRefresh()},t.prototype.onCharSizeChanged=function(){this._renderer.onCharSizeChanged()},t.prototype.onBlur=function(){this._renderer.onBlur()},t.prototype.onFocus=function(){this._renderer.onFocus()},t.prototype.onSelectionChanged=function(e,t,r){this._selectionState.start=e,this._selectionState.end=t,this._selectionState.columnSelectMode=r,this._renderer.onSelectionChanged(e,t,r)},t.prototype.onCursorMove=function(){this._renderer.onCursorMove()},t.prototype.clear=function(){this._renderer.clear()},n([s(3,d.IOptionsService),s(4,f.ICharSizeService),s(5,d.IBufferService)],t)}(l.Disposable);t.RenderService=p},9312:function(e,t,r){var i,o=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),n=this&&this.__decorate||function(e,t,r,i){var o,n=arguments.length,s=n<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(s=(n<3?o(s):n>3?o(t,r,s):o(t,r))||s);return n>3&&s&&Object.defineProperty(t,r,s),s},s=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.SelectionService=void 0;var a=r(6114),c=r(456),l=r(511),h=r(8460),u=r(4725),d=r(2585),f=r(9806),p=r(9504),_=r(844),g=r(4841),v=String.fromCharCode(160),b=new RegExp(v,"g"),y=function(e){function t(t,r,i,o,n,s,a,u){var d=e.call(this)||this;return d._element=t,d._screenElement=r,d._linkifier=i,d._bufferService=o,d._coreService=n,d._mouseService=s,d._optionsService=a,d._renderService=u,d._dragScrollAmount=0,d._enabled=!0,d._workCell=new l.CellData,d._mouseDownTimeStamp=0,d._oldHasSelection=!1,d._oldSelectionStart=void 0,d._oldSelectionEnd=void 0,d._onLinuxMouseSelection=d.register(new h.EventEmitter),d._onRedrawRequest=d.register(new h.EventEmitter),d._onSelectionChange=d.register(new h.EventEmitter),d._onRequestScrollLines=d.register(new h.EventEmitter),d._mouseMoveListener=function(e){return d._onMouseMove(e)},d._mouseUpListener=function(e){return d._onMouseUp(e)},d._coreService.onUserInput((function(){d.hasSelection&&d.clearSelection()})),d._trimListener=d._bufferService.buffer.lines.onTrim((function(e){return d._onTrim(e)})),d.register(d._bufferService.buffers.onBufferActivate((function(e){return d._onBufferActivate(e)}))),d.enable(),d._model=new c.SelectionModel(d._bufferService),d._activeSelectionMode=0,d}return o(t,e),Object.defineProperty(t.prototype,"onLinuxMouseSelection",{get:function(){return this._onLinuxMouseSelection.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onRequestRedraw",{get:function(){return this._onRedrawRequest.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onSelectionChange",{get:function(){return this._onSelectionChange.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onRequestScrollLines",{get:function(){return this._onRequestScrollLines.event},enumerable:!1,configurable:!0}),t.prototype.dispose=function(){this._removeMouseDownListeners()},t.prototype.reset=function(){this.clearSelection()},t.prototype.disable=function(){this.clearSelection(),this._enabled=!1},t.prototype.enable=function(){this._enabled=!0},Object.defineProperty(t.prototype,"selectionStart",{get:function(){return this._model.finalSelectionStart},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"selectionEnd",{get:function(){return this._model.finalSelectionEnd},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"hasSelection",{get:function(){var e=this._model.finalSelectionStart,t=this._model.finalSelectionEnd;return!(!e||!t||e[0]===t[0]&&e[1]===t[1])},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"selectionText",{get:function(){var e=this._model.finalSelectionStart,t=this._model.finalSelectionEnd;if(!e||!t)return"";var r=this._bufferService.buffer,i=[];if(3===this._activeSelectionMode){if(e[0]===t[0])return"";for(var o=e[1];o<=t[1];o++){var n=r.translateBufferLineToString(o,!0,e[0],t[0]);i.push(n)}}else{var s=e[1]===t[1]?t[0]:void 0;for(i.push(r.translateBufferLineToString(e[1],!0,e[0],s)),o=e[1]+1;o<=t[1]-1;o++){var c=r.lines.get(o);n=r.translateBufferLineToString(o,!0),c&&c.isWrapped?i[i.length-1]+=n:i.push(n)}e[1]!==t[1]&&(c=r.lines.get(t[1]),n=r.translateBufferLineToString(t[1],!0,0,t[0]),c&&c.isWrapped?i[i.length-1]+=n:i.push(n))}return i.map((function(e){return e.replace(b," ")})).join(a.isWindows?"\r\n":"\n")},enumerable:!1,configurable:!0}),t.prototype.clearSelection=function(){this._model.clearSelection(),this._removeMouseDownListeners(),this.refresh(),this._onSelectionChange.fire()},t.prototype.refresh=function(e){var t=this;this._refreshAnimationFrame||(this._refreshAnimationFrame=window.requestAnimationFrame((function(){return t._refresh()}))),a.isLinux&&e&&this.selectionText.length&&this._onLinuxMouseSelection.fire(this.selectionText)},t.prototype._refresh=function(){this._refreshAnimationFrame=void 0,this._onRedrawRequest.fire({start:this._model.finalSelectionStart,end:this._model.finalSelectionEnd,columnSelectMode:3===this._activeSelectionMode})},t.prototype._isClickInSelection=function(e){var t=this._getMouseBufferCoords(e),r=this._model.finalSelectionStart,i=this._model.finalSelectionEnd;return!!(r&&i&&t)&&this._areCoordsInSelection(t,r,i)},t.prototype._areCoordsInSelection=function(e,t,r){return e[1]>t[1]&&e[1]=t[0]&&e[0]=t[0]},t.prototype._selectWordAtCursor=function(e,t){var r,i,o=null===(i=null===(r=this._linkifier.currentLink)||void 0===r?void 0:r.link)||void 0===i?void 0:i.range;if(o)return this._model.selectionStart=[o.start.x-1,o.start.y-1],this._model.selectionStartLength=g.getRangeLength(o,this._bufferService.cols),this._model.selectionEnd=void 0,!0;var n=this._getMouseBufferCoords(e);return!!n&&(this._selectWordAt(n,t),this._model.selectionEnd=void 0,!0)},t.prototype.selectAll=function(){this._model.isSelectAllActive=!0,this.refresh(),this._onSelectionChange.fire()},t.prototype.selectLines=function(e,t){this._model.clearSelection(),e=Math.max(e,0),t=Math.min(t,this._bufferService.buffer.lines.length-1),this._model.selectionStart=[0,e],this._model.selectionEnd=[this._bufferService.cols,t],this.refresh(),this._onSelectionChange.fire()},t.prototype._onTrim=function(e){this._model.onTrim(e)&&this.refresh()},t.prototype._getMouseBufferCoords=function(e){var t=this._mouseService.getCoords(e,this._screenElement,this._bufferService.cols,this._bufferService.rows,!0);if(t)return t[0]--,t[1]--,t[1]+=this._bufferService.buffer.ydisp,t},t.prototype._getMouseEventScrollAmount=function(e){var t=f.getCoordsRelativeToElement(e,this._screenElement)[1],r=this._renderService.dimensions.canvasHeight;return t>=0&&t<=r?0:(t>r&&(t-=r),t=Math.min(Math.max(t,-50),50),(t/=50)/Math.abs(t)+Math.round(14*t))},t.prototype.shouldForceSelection=function(e){return a.isMac?e.altKey&&this._optionsService.options.macOptionClickForcesSelection:e.shiftKey},t.prototype.onMouseDown=function(e){if(this._mouseDownTimeStamp=e.timeStamp,(2!==e.button||!this.hasSelection)&&0===e.button){if(!this._enabled){if(!this.shouldForceSelection(e))return;e.stopPropagation()}e.preventDefault(),this._dragScrollAmount=0,this._enabled&&e.shiftKey?this._onIncrementalClick(e):1===e.detail?this._onSingleClick(e):2===e.detail?this._onDoubleClick(e):3===e.detail&&this._onTripleClick(e),this._addMouseDownListeners(),this.refresh(!0)}},t.prototype._addMouseDownListeners=function(){var e=this;this._screenElement.ownerDocument&&(this._screenElement.ownerDocument.addEventListener("mousemove",this._mouseMoveListener),this._screenElement.ownerDocument.addEventListener("mouseup",this._mouseUpListener)),this._dragScrollIntervalTimer=window.setInterval((function(){return e._dragScroll()}),50)},t.prototype._removeMouseDownListeners=function(){this._screenElement.ownerDocument&&(this._screenElement.ownerDocument.removeEventListener("mousemove",this._mouseMoveListener),this._screenElement.ownerDocument.removeEventListener("mouseup",this._mouseUpListener)),clearInterval(this._dragScrollIntervalTimer),this._dragScrollIntervalTimer=void 0},t.prototype._onIncrementalClick=function(e){this._model.selectionStart&&(this._model.selectionEnd=this._getMouseBufferCoords(e))},t.prototype._onSingleClick=function(e){if(this._model.selectionStartLength=0,this._model.isSelectAllActive=!1,this._activeSelectionMode=this.shouldColumnSelect(e)?3:0,this._model.selectionStart=this._getMouseBufferCoords(e),this._model.selectionStart){this._model.selectionEnd=void 0;var t=this._bufferService.buffer.lines.get(this._model.selectionStart[1]);t&&t.length!==this._model.selectionStart[0]&&0===t.hasWidth(this._model.selectionStart[0])&&this._model.selectionStart[0]++}},t.prototype._onDoubleClick=function(e){this._selectWordAtCursor(e,!0)&&(this._activeSelectionMode=1)},t.prototype._onTripleClick=function(e){var t=this._getMouseBufferCoords(e);t&&(this._activeSelectionMode=2,this._selectLineAt(t[1]))},t.prototype.shouldColumnSelect=function(e){return e.altKey&&!(a.isMac&&this._optionsService.options.macOptionClickForcesSelection)},t.prototype._onMouseMove=function(e){if(e.stopImmediatePropagation(),this._model.selectionStart){var t=this._model.selectionEnd?[this._model.selectionEnd[0],this._model.selectionEnd[1]]:null;if(this._model.selectionEnd=this._getMouseBufferCoords(e),this._model.selectionEnd){2===this._activeSelectionMode?this._model.selectionEnd[1]0?this._model.selectionEnd[0]=this._bufferService.cols:this._dragScrollAmount<0&&(this._model.selectionEnd[0]=0));var r=this._bufferService.buffer;if(this._model.selectionEnd[1]0?(3!==this._activeSelectionMode&&(this._model.selectionEnd[0]=this._bufferService.cols),this._model.selectionEnd[1]=Math.min(e.ydisp+this._bufferService.rows,e.lines.length-1)):(3!==this._activeSelectionMode&&(this._model.selectionEnd[0]=0),this._model.selectionEnd[1]=e.ydisp),this.refresh()}},t.prototype._onMouseUp=function(e){var t=e.timeStamp-this._mouseDownTimeStamp;if(this._removeMouseDownListeners(),this.selectionText.length<=1&&t<500&&e.altKey&&this._optionsService.getOption("altClickMovesCursor")){if(this._bufferService.buffer.ybase===this._bufferService.buffer.ydisp){var r=this._mouseService.getCoords(e,this._element,this._bufferService.cols,this._bufferService.rows,!1);if(r&&void 0!==r[0]&&void 0!==r[1]){var i=p.moveToCellSequence(r[0]-1,r[1]-1,this._bufferService,this._coreService.decPrivateModes.applicationCursorKeys);this._coreService.triggerDataEvent(i,!0)}}}else this._fireEventIfSelectionChanged()},t.prototype._fireEventIfSelectionChanged=function(){var e=this._model.finalSelectionStart,t=this._model.finalSelectionEnd,r=!(!e||!t||e[0]===t[0]&&e[1]===t[1]);r?e&&t&&(this._oldSelectionStart&&this._oldSelectionEnd&&e[0]===this._oldSelectionStart[0]&&e[1]===this._oldSelectionStart[1]&&t[0]===this._oldSelectionEnd[0]&&t[1]===this._oldSelectionEnd[1]||this._fireOnSelectionChange(e,t,r)):this._oldHasSelection&&this._fireOnSelectionChange(e,t,r)},t.prototype._fireOnSelectionChange=function(e,t,r){this._oldSelectionStart=e,this._oldSelectionEnd=t,this._oldHasSelection=r,this._onSelectionChange.fire()},t.prototype._onBufferActivate=function(e){var t=this;this.clearSelection(),this._trimListener.dispose(),this._trimListener=e.activeBuffer.lines.onTrim((function(e){return t._onTrim(e)}))},t.prototype._convertViewportColToCharacterIndex=function(e,t){for(var r=t[0],i=0;t[0]>=i;i++){var o=e.loadCell(i,this._workCell).getChars().length;0===this._workCell.getWidth()?r--:o>1&&t[0]!==i&&(r+=o-1)}return r},t.prototype.setSelection=function(e,t,r){this._model.clearSelection(),this._removeMouseDownListeners(),this._model.selectionStart=[e,t],this._model.selectionStartLength=r,this.refresh()},t.prototype.rightClickSelect=function(e){this._isClickInSelection(e)||(this._selectWordAtCursor(e,!1)&&this.refresh(!0),this._fireEventIfSelectionChanged())},t.prototype._getWordAt=function(e,t,r,i){if(void 0===r&&(r=!0),void 0===i&&(i=!0),!(e[0]>=this._bufferService.cols)){var o=this._bufferService.buffer,n=o.lines.get(e[1]);if(n){var s=o.translateBufferLineToString(e[1],!1),a=this._convertViewportColToCharacterIndex(n,e),c=a,l=e[0]-a,h=0,u=0,d=0,f=0;if(" "===s.charAt(a)){for(;a>0&&" "===s.charAt(a-1);)a--;for(;c1&&(f+=g-1,c+=g-1);p>0&&a>0&&!this._isCharWordSeparator(n.loadCell(p-1,this._workCell));){n.loadCell(p-1,this._workCell);var v=this._workCell.getChars().length;0===this._workCell.getWidth()?(h++,p--):v>1&&(d+=v-1,a-=v-1),a--,p--}for(;_1&&(f+=b-1,c+=b-1),c++,_++}}c++;var y=a+l-h+d,m=Math.min(this._bufferService.cols,c-a+h+u-d-f);if(t||""!==s.slice(a,c).trim()){if(r&&0===y&&32!==n.getCodePoint(0)){var C=o.lines.get(e[1]-1);if(C&&n.isWrapped&&32!==C.getCodePoint(this._bufferService.cols-1)){var S=this._getWordAt([this._bufferService.cols-1,e[1]-1],!1,!0,!1);if(S){var w=this._bufferService.cols-S.start;y-=w,m+=w}}}if(i&&y+m===this._bufferService.cols&&32!==n.getCodePoint(this._bufferService.cols-1)){var A=o.lines.get(e[1]+1);if(A&&A.isWrapped&&32!==A.getCodePoint(0)){var T=this._getWordAt([0,e[1]+1],!1,!1,!0);T&&(m+=T.length)}}return{start:y,length:m}}}}},t.prototype._selectWordAt=function(e,t){var r=this._getWordAt(e,t);if(r){for(;r.start<0;)r.start+=this._bufferService.cols,e[1]--;this._model.selectionStart=[r.start,e[1]],this._model.selectionStartLength=r.length}},t.prototype._selectToWordAt=function(e){var t=this._getWordAt(e,!0);if(t){for(var r=e[1];t.start<0;)t.start+=this._bufferService.cols,r--;if(!this._model.areSelectionValuesReversed())for(;t.start+t.length>this._bufferService.cols;)t.length-=this._bufferService.cols,r++;this._model.selectionEnd=[this._model.areSelectionValuesReversed()?t.start:t.start+t.length,r]}},t.prototype._isCharWordSeparator=function(e){return 0!==e.getWidth()&&this._optionsService.options.wordSeparator.indexOf(e.getChars())>=0},t.prototype._selectLineAt=function(e){var t=this._bufferService.buffer.getWrappedRangeForLine(e);this._model.selectionStart=[0,t.first],this._model.selectionEnd=[this._bufferService.cols,t.last],this._model.selectionStartLength=0},n([s(3,d.IBufferService),s(4,d.ICoreService),s(5,u.IMouseService),s(6,d.IOptionsService),s(7,u.IRenderService)],t)}(_.Disposable);t.SelectionService=y},4725:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.ICharacterJoinerService=t.ISoundService=t.ISelectionService=t.IRenderService=t.IMouseService=t.ICoreBrowserService=t.ICharSizeService=void 0;var i=r(8343);t.ICharSizeService=i.createDecorator("CharSizeService"),t.ICoreBrowserService=i.createDecorator("CoreBrowserService"),t.IMouseService=i.createDecorator("MouseService"),t.IRenderService=i.createDecorator("RenderService"),t.ISelectionService=i.createDecorator("SelectionService"),t.ISoundService=i.createDecorator("SoundService"),t.ICharacterJoinerService=i.createDecorator("CharacterJoinerService")},357:function(e,t,r){var i=this&&this.__decorate||function(e,t,r,i){var o,n=arguments.length,s=n<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(s=(n<3?o(s):n>3?o(t,r,s):o(t,r))||s);return n>3&&s&&Object.defineProperty(t,r,s),s},o=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.SoundService=void 0;var n=r(2585),s=function(){function e(e){this._optionsService=e}return Object.defineProperty(e,"audioContext",{get:function(){if(!e._audioContext){var t=window.AudioContext||window.webkitAudioContext;if(!t)return console.warn("Web Audio API is not supported by this browser. Consider upgrading to the latest version"),null;e._audioContext=new t}return e._audioContext},enumerable:!1,configurable:!0}),e.prototype.playBellSound=function(){var t=e.audioContext;if(t){var r=t.createBufferSource();t.decodeAudioData(this._base64ToArrayBuffer(this._removeMimeType(this._optionsService.options.bellSound)),(function(e){r.buffer=e,r.connect(t.destination),r.start(0)}))}},e.prototype._base64ToArrayBuffer=function(e){for(var t=window.atob(e),r=t.length,i=new Uint8Array(r),o=0;o{Object.defineProperty(t,"__esModule",{value:!0}),t.CircularList=void 0;var i=r(8460),o=function(){function e(e){this._maxLength=e,this.onDeleteEmitter=new i.EventEmitter,this.onInsertEmitter=new i.EventEmitter,this.onTrimEmitter=new i.EventEmitter,this._array=new Array(this._maxLength),this._startIndex=0,this._length=0}return Object.defineProperty(e.prototype,"onDelete",{get:function(){return this.onDeleteEmitter.event},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onInsert",{get:function(){return this.onInsertEmitter.event},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onTrim",{get:function(){return this.onTrimEmitter.event},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"maxLength",{get:function(){return this._maxLength},set:function(e){if(this._maxLength!==e){for(var t=new Array(e),r=0;rthis._length)for(var t=this._length;t=e;o--)this._array[this._getCyclicIndex(o+r.length)]=this._array[this._getCyclicIndex(o)];for(o=0;othis._maxLength){var n=this._length+r.length-this._maxLength;this._startIndex+=n,this._length=this._maxLength,this.onTrimEmitter.fire(n)}else this._length+=r.length},e.prototype.trimStart=function(e){e>this._length&&(e=this._length),this._startIndex+=e,this._length-=e,this.onTrimEmitter.fire(e)},e.prototype.shiftElements=function(e,t,r){if(!(t<=0)){if(e<0||e>=this._length)throw new Error("start argument out of range");if(e+r<0)throw new Error("Cannot shift elements in list beyond index 0");if(r>0){for(var i=t-1;i>=0;i--)this.set(e+i+r,this.get(e+i));var o=e+t+r-this._length;if(o>0)for(this._length+=o;this._length>this._maxLength;)this._length--,this._startIndex++,this.onTrimEmitter.fire(1)}else for(i=0;i{Object.defineProperty(t,"__esModule",{value:!0}),t.clone=void 0,t.clone=function e(t,r){if(void 0===r&&(r=5),"object"!=typeof t)return t;var i=Array.isArray(t)?[]:{};for(var o in t)i[o]=r<=1?t[o]:t[o]?e(t[o],r-1):t[o];return i}},8969:function(e,t,r){var i,o=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});Object.defineProperty(t,"__esModule",{value:!0}),t.CoreTerminal=void 0;var n=r(844),s=r(2585),a=r(4348),c=r(7866),l=r(744),h=r(7302),u=r(6975),d=r(8460),f=r(1753),p=r(3730),_=r(1480),g=r(7994),v=r(9282),b=r(5435),y=r(5981),m=!1,C=function(e){function t(t){var r=e.call(this)||this;return r._onBinary=new d.EventEmitter,r._onData=new d.EventEmitter,r._onLineFeed=new d.EventEmitter,r._onResize=new d.EventEmitter,r._onScroll=new d.EventEmitter,r._instantiationService=new a.InstantiationService,r.optionsService=new h.OptionsService(t),r._instantiationService.setService(s.IOptionsService,r.optionsService),r._bufferService=r.register(r._instantiationService.createInstance(l.BufferService)),r._instantiationService.setService(s.IBufferService,r._bufferService),r._logService=r._instantiationService.createInstance(c.LogService),r._instantiationService.setService(s.ILogService,r._logService),r._coreService=r.register(r._instantiationService.createInstance(u.CoreService,(function(){return r.scrollToBottom()}))),r._instantiationService.setService(s.ICoreService,r._coreService),r._coreMouseService=r._instantiationService.createInstance(f.CoreMouseService),r._instantiationService.setService(s.ICoreMouseService,r._coreMouseService),r._dirtyRowService=r._instantiationService.createInstance(p.DirtyRowService),r._instantiationService.setService(s.IDirtyRowService,r._dirtyRowService),r.unicodeService=r._instantiationService.createInstance(_.UnicodeService),r._instantiationService.setService(s.IUnicodeService,r.unicodeService),r._charsetService=r._instantiationService.createInstance(g.CharsetService),r._instantiationService.setService(s.ICharsetService,r._charsetService),r._inputHandler=new b.InputHandler(r._bufferService,r._charsetService,r._coreService,r._dirtyRowService,r._logService,r.optionsService,r._coreMouseService,r.unicodeService),r.register(d.forwardEvent(r._inputHandler.onLineFeed,r._onLineFeed)),r.register(r._inputHandler),r.register(d.forwardEvent(r._bufferService.onResize,r._onResize)),r.register(d.forwardEvent(r._coreService.onData,r._onData)),r.register(d.forwardEvent(r._coreService.onBinary,r._onBinary)),r.register(r.optionsService.onOptionChange((function(e){return r._updateOptions(e)}))),r.register(r._bufferService.onScroll((function(e){r._onScroll.fire({position:r._bufferService.buffer.ydisp,source:0}),r._dirtyRowService.markRangeDirty(r._bufferService.buffer.scrollTop,r._bufferService.buffer.scrollBottom)}))),r._writeBuffer=new y.WriteBuffer((function(e,t){return r._inputHandler.parse(e,t)})),r}return o(t,e),Object.defineProperty(t.prototype,"onBinary",{get:function(){return this._onBinary.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onData",{get:function(){return this._onData.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onLineFeed",{get:function(){return this._onLineFeed.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onResize",{get:function(){return this._onResize.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onScroll",{get:function(){var e=this;return this._onScrollApi||(this._onScrollApi=new d.EventEmitter,this.register(this._onScroll.event((function(t){var r;null===(r=e._onScrollApi)||void 0===r||r.fire(t.position)})))),this._onScrollApi.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"cols",{get:function(){return this._bufferService.cols},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"rows",{get:function(){return this._bufferService.rows},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"buffers",{get:function(){return this._bufferService.buffers},enumerable:!1,configurable:!0}),t.prototype.dispose=function(){var t;this._isDisposed||(e.prototype.dispose.call(this),null===(t=this._windowsMode)||void 0===t||t.dispose(),this._windowsMode=void 0)},t.prototype.write=function(e,t){this._writeBuffer.write(e,t)},t.prototype.writeSync=function(e,t){this._logService.logLevel<=s.LogLevelEnum.WARN&&!m&&(this._logService.warn("writeSync is unreliable and will be removed soon."),m=!0),this._writeBuffer.writeSync(e,t)},t.prototype.resize=function(e,t){isNaN(e)||isNaN(t)||(e=Math.max(e,l.MINIMUM_COLS),t=Math.max(t,l.MINIMUM_ROWS),this._bufferService.resize(e,t))},t.prototype.scroll=function(e,t){void 0===t&&(t=!1),this._bufferService.scroll(e,t)},t.prototype.scrollLines=function(e,t,r){this._bufferService.scrollLines(e,t,r)},t.prototype.scrollPages=function(e){this._bufferService.scrollPages(e)},t.prototype.scrollToTop=function(){this._bufferService.scrollToTop()},t.prototype.scrollToBottom=function(){this._bufferService.scrollToBottom()},t.prototype.scrollToLine=function(e){this._bufferService.scrollToLine(e)},t.prototype.registerEscHandler=function(e,t){return this._inputHandler.registerEscHandler(e,t)},t.prototype.registerDcsHandler=function(e,t){return this._inputHandler.registerDcsHandler(e,t)},t.prototype.registerCsiHandler=function(e,t){return this._inputHandler.registerCsiHandler(e,t)},t.prototype.registerOscHandler=function(e,t){return this._inputHandler.registerOscHandler(e,t)},t.prototype._setup=function(){this.optionsService.options.windowsMode&&this._enableWindowsMode()},t.prototype.reset=function(){this._inputHandler.reset(),this._bufferService.reset(),this._charsetService.reset(),this._coreService.reset(),this._coreMouseService.reset()},t.prototype._updateOptions=function(e){var t;switch(e){case"scrollback":this.buffers.resize(this.cols,this.rows);break;case"windowsMode":this.optionsService.options.windowsMode?this._enableWindowsMode():(null===(t=this._windowsMode)||void 0===t||t.dispose(),this._windowsMode=void 0)}},t.prototype._enableWindowsMode=function(){var e=this;if(!this._windowsMode){var t=[];t.push(this.onLineFeed(v.updateWindowsModeWrappedState.bind(null,this._bufferService))),t.push(this.registerCsiHandler({final:"H"},(function(){return v.updateWindowsModeWrappedState(e._bufferService),!1}))),this._windowsMode={dispose:function(){for(var e=0,r=t;e{Object.defineProperty(t,"__esModule",{value:!0}),t.forwardEvent=t.EventEmitter=void 0;var r=function(){function e(){this._listeners=[],this._disposed=!1}return Object.defineProperty(e.prototype,"event",{get:function(){var e=this;return this._event||(this._event=function(t){return e._listeners.push(t),{dispose:function(){if(!e._disposed)for(var r=0;r24)return t.setWinLines||!1;switch(e){case 1:return!!t.restoreWin;case 2:return!!t.minimizeWin;case 3:return!!t.setWinPosition;case 4:return!!t.setWinSizePixels;case 5:return!!t.raiseWin;case 6:return!!t.lowerWin;case 7:return!!t.refreshWin;case 8:return!!t.setWinSizeChars;case 9:return!!t.maximizeWin;case 10:return!!t.fullscreenWin;case 11:return!!t.getWinState;case 13:return!!t.getWinPosition;case 14:return!!t.getWinSizePixels;case 15:return!!t.getScreenSizePixels;case 16:return!!t.getCellSizePixels;case 18:return!!t.getWinSizeChars;case 19:return!!t.getScreenSizeChars;case 20:return!!t.getIconTitle;case 21:return!!t.getWinTitle;case 22:return!!t.pushTitle;case 23:return!!t.popTitle;case 24:return!!t.setWinLines}return!1}!function(e){e[e.GET_WIN_SIZE_PIXELS=0]="GET_WIN_SIZE_PIXELS",e[e.GET_CELL_SIZE_PIXELS=1]="GET_CELL_SIZE_PIXELS"}(n=t.WindowsOptionsReportType||(t.WindowsOptionsReportType={}));var w=function(){function e(e,t,r,i){this._bufferService=e,this._coreService=t,this._logService=r,this._optionsService=i,this._data=new Uint32Array(0)}return e.prototype.hook=function(e){this._data=new Uint32Array(0)},e.prototype.put=function(e,t,r){this._data=h.concat(this._data,e.subarray(t,r))},e.prototype.unhook=function(e){if(!e)return this._data=new Uint32Array(0),!0;var t=u.utf32ToString(this._data);switch(this._data=new Uint32Array(0),t){case'"q':this._coreService.triggerDataEvent(s.C0.ESC+'P1$r0"q'+s.C0.ESC+"\\");break;case'"p':this._coreService.triggerDataEvent(s.C0.ESC+'P1$r61;1"p'+s.C0.ESC+"\\");break;case"r":var r=this._bufferService.buffer.scrollTop+1+";"+(this._bufferService.buffer.scrollBottom+1)+"r";this._coreService.triggerDataEvent(s.C0.ESC+"P1$r"+r+s.C0.ESC+"\\");break;case"m":this._coreService.triggerDataEvent(s.C0.ESC+"P1$r0m"+s.C0.ESC+"\\");break;case" q":var i={block:2,underline:4,bar:6}[this._optionsService.options.cursorStyle];i-=this._optionsService.options.cursorBlink?1:0,this._coreService.triggerDataEvent(s.C0.ESC+"P1$r"+i+" q"+s.C0.ESC+"\\");break;default:this._logService.debug("Unknown DCS $q %s",t),this._coreService.triggerDataEvent(s.C0.ESC+"P0$r"+s.C0.ESC+"\\")}return!0},e}(),A=function(e){function t(t,r,i,o,n,l,h,p,g){void 0===g&&(g=new c.EscapeSequenceParser);var v=e.call(this)||this;v._bufferService=t,v._charsetService=r,v._coreService=i,v._dirtyRowService=o,v._logService=n,v._optionsService=l,v._coreMouseService=h,v._unicodeService=p,v._parser=g,v._parseBuffer=new Uint32Array(4096),v._stringDecoder=new u.StringToUtf32,v._utf8Decoder=new u.Utf8ToUtf32,v._workCell=new _.CellData,v._windowTitle="",v._iconName="",v._windowTitleStack=[],v._iconNameStack=[],v._curAttrData=d.DEFAULT_ATTR_DATA.clone(),v._eraseAttrDataInternal=d.DEFAULT_ATTR_DATA.clone(),v._onRequestBell=new f.EventEmitter,v._onRequestRefreshRows=new f.EventEmitter,v._onRequestReset=new f.EventEmitter,v._onRequestSyncScrollBar=new f.EventEmitter,v._onRequestWindowsOptionsReport=new f.EventEmitter,v._onA11yChar=new f.EventEmitter,v._onA11yTab=new f.EventEmitter,v._onCursorMove=new f.EventEmitter,v._onLineFeed=new f.EventEmitter,v._onScroll=new f.EventEmitter,v._onTitleChange=new f.EventEmitter,v._onAnsiColorChange=new f.EventEmitter,v._parseStack={paused:!1,cursorStartX:0,cursorStartY:0,decodedLength:0,position:0},v.register(v._parser),v._parser.setCsiHandlerFallback((function(e,t){v._logService.debug("Unknown CSI code: ",{identifier:v._parser.identToString(e),params:t.toArray()})})),v._parser.setEscHandlerFallback((function(e){v._logService.debug("Unknown ESC code: ",{identifier:v._parser.identToString(e)})})),v._parser.setExecuteHandlerFallback((function(e){v._logService.debug("Unknown EXECUTE code: ",{code:e})})),v._parser.setOscHandlerFallback((function(e,t,r){v._logService.debug("Unknown OSC code: ",{identifier:e,action:t,data:r})})),v._parser.setDcsHandlerFallback((function(e,t,r){"HOOK"===t&&(r=r.toArray()),v._logService.debug("Unknown DCS code: ",{identifier:v._parser.identToString(e),action:t,payload:r})})),v._parser.setPrintHandler((function(e,t,r){return v.print(e,t,r)})),v._parser.registerCsiHandler({final:"@"},(function(e){return v.insertChars(e)})),v._parser.registerCsiHandler({intermediates:" ",final:"@"},(function(e){return v.scrollLeft(e)})),v._parser.registerCsiHandler({final:"A"},(function(e){return v.cursorUp(e)})),v._parser.registerCsiHandler({intermediates:" ",final:"A"},(function(e){return v.scrollRight(e)})),v._parser.registerCsiHandler({final:"B"},(function(e){return v.cursorDown(e)})),v._parser.registerCsiHandler({final:"C"},(function(e){return v.cursorForward(e)})),v._parser.registerCsiHandler({final:"D"},(function(e){return v.cursorBackward(e)})),v._parser.registerCsiHandler({final:"E"},(function(e){return v.cursorNextLine(e)})),v._parser.registerCsiHandler({final:"F"},(function(e){return v.cursorPrecedingLine(e)})),v._parser.registerCsiHandler({final:"G"},(function(e){return v.cursorCharAbsolute(e)})),v._parser.registerCsiHandler({final:"H"},(function(e){return v.cursorPosition(e)})),v._parser.registerCsiHandler({final:"I"},(function(e){return v.cursorForwardTab(e)})),v._parser.registerCsiHandler({final:"J"},(function(e){return v.eraseInDisplay(e)})),v._parser.registerCsiHandler({prefix:"?",final:"J"},(function(e){return v.eraseInDisplay(e)})),v._parser.registerCsiHandler({final:"K"},(function(e){return v.eraseInLine(e)})),v._parser.registerCsiHandler({prefix:"?",final:"K"},(function(e){return v.eraseInLine(e)})),v._parser.registerCsiHandler({final:"L"},(function(e){return v.insertLines(e)})),v._parser.registerCsiHandler({final:"M"},(function(e){return v.deleteLines(e)})),v._parser.registerCsiHandler({final:"P"},(function(e){return v.deleteChars(e)})),v._parser.registerCsiHandler({final:"S"},(function(e){return v.scrollUp(e)})),v._parser.registerCsiHandler({final:"T"},(function(e){return v.scrollDown(e)})),v._parser.registerCsiHandler({final:"X"},(function(e){return v.eraseChars(e)})),v._parser.registerCsiHandler({final:"Z"},(function(e){return v.cursorBackwardTab(e)})),v._parser.registerCsiHandler({final:"`"},(function(e){return v.charPosAbsolute(e)})),v._parser.registerCsiHandler({final:"a"},(function(e){return v.hPositionRelative(e)})),v._parser.registerCsiHandler({final:"b"},(function(e){return v.repeatPrecedingCharacter(e)})),v._parser.registerCsiHandler({final:"c"},(function(e){return v.sendDeviceAttributesPrimary(e)})),v._parser.registerCsiHandler({prefix:">",final:"c"},(function(e){return v.sendDeviceAttributesSecondary(e)})),v._parser.registerCsiHandler({final:"d"},(function(e){return v.linePosAbsolute(e)})),v._parser.registerCsiHandler({final:"e"},(function(e){return v.vPositionRelative(e)})),v._parser.registerCsiHandler({final:"f"},(function(e){return v.hVPosition(e)})),v._parser.registerCsiHandler({final:"g"},(function(e){return v.tabClear(e)})),v._parser.registerCsiHandler({final:"h"},(function(e){return v.setMode(e)})),v._parser.registerCsiHandler({prefix:"?",final:"h"},(function(e){return v.setModePrivate(e)})),v._parser.registerCsiHandler({final:"l"},(function(e){return v.resetMode(e)})),v._parser.registerCsiHandler({prefix:"?",final:"l"},(function(e){return v.resetModePrivate(e)})),v._parser.registerCsiHandler({final:"m"},(function(e){return v.charAttributes(e)})),v._parser.registerCsiHandler({final:"n"},(function(e){return v.deviceStatus(e)})),v._parser.registerCsiHandler({prefix:"?",final:"n"},(function(e){return v.deviceStatusPrivate(e)})),v._parser.registerCsiHandler({intermediates:"!",final:"p"},(function(e){return v.softReset(e)})),v._parser.registerCsiHandler({intermediates:" ",final:"q"},(function(e){return v.setCursorStyle(e)})),v._parser.registerCsiHandler({final:"r"},(function(e){return v.setScrollRegion(e)})),v._parser.registerCsiHandler({final:"s"},(function(e){return v.saveCursor(e)})),v._parser.registerCsiHandler({final:"t"},(function(e){return v.windowOptions(e)})),v._parser.registerCsiHandler({final:"u"},(function(e){return v.restoreCursor(e)})),v._parser.registerCsiHandler({intermediates:"'",final:"}"},(function(e){return v.insertColumns(e)})),v._parser.registerCsiHandler({intermediates:"'",final:"~"},(function(e){return v.deleteColumns(e)})),v._parser.setExecuteHandler(s.C0.BEL,(function(){return v.bell()})),v._parser.setExecuteHandler(s.C0.LF,(function(){return v.lineFeed()})),v._parser.setExecuteHandler(s.C0.VT,(function(){return v.lineFeed()})),v._parser.setExecuteHandler(s.C0.FF,(function(){return v.lineFeed()})),v._parser.setExecuteHandler(s.C0.CR,(function(){return v.carriageReturn()})),v._parser.setExecuteHandler(s.C0.BS,(function(){return v.backspace()})),v._parser.setExecuteHandler(s.C0.HT,(function(){return v.tab()})),v._parser.setExecuteHandler(s.C0.SO,(function(){return v.shiftOut()})),v._parser.setExecuteHandler(s.C0.SI,(function(){return v.shiftIn()})),v._parser.setExecuteHandler(s.C1.IND,(function(){return v.index()})),v._parser.setExecuteHandler(s.C1.NEL,(function(){return v.nextLine()})),v._parser.setExecuteHandler(s.C1.HTS,(function(){return v.tabSet()})),v._parser.registerOscHandler(0,new b.OscHandler((function(e){return v.setTitle(e),v.setIconName(e),!0}))),v._parser.registerOscHandler(1,new b.OscHandler((function(e){return v.setIconName(e)}))),v._parser.registerOscHandler(2,new b.OscHandler((function(e){return v.setTitle(e)}))),v._parser.registerOscHandler(4,new b.OscHandler((function(e){return v.setAnsiColor(e)}))),v._parser.registerEscHandler({final:"7"},(function(){return v.saveCursor()})),v._parser.registerEscHandler({final:"8"},(function(){return v.restoreCursor()})),v._parser.registerEscHandler({final:"D"},(function(){return v.index()})),v._parser.registerEscHandler({final:"E"},(function(){return v.nextLine()})),v._parser.registerEscHandler({final:"H"},(function(){return v.tabSet()})),v._parser.registerEscHandler({final:"M"},(function(){return v.reverseIndex()})),v._parser.registerEscHandler({final:"="},(function(){return v.keypadApplicationMode()})),v._parser.registerEscHandler({final:">"},(function(){return v.keypadNumericMode()})),v._parser.registerEscHandler({final:"c"},(function(){return v.fullReset()})),v._parser.registerEscHandler({final:"n"},(function(){return v.setgLevel(2)})),v._parser.registerEscHandler({final:"o"},(function(){return v.setgLevel(3)})),v._parser.registerEscHandler({final:"|"},(function(){return v.setgLevel(3)})),v._parser.registerEscHandler({final:"}"},(function(){return v.setgLevel(2)})),v._parser.registerEscHandler({final:"~"},(function(){return v.setgLevel(1)})),v._parser.registerEscHandler({intermediates:"%",final:"@"},(function(){return v.selectDefaultCharset()})),v._parser.registerEscHandler({intermediates:"%",final:"G"},(function(){return v.selectDefaultCharset()}));var y=function(e){m._parser.registerEscHandler({intermediates:"(",final:e},(function(){return v.selectCharset("("+e)})),m._parser.registerEscHandler({intermediates:")",final:e},(function(){return v.selectCharset(")"+e)})),m._parser.registerEscHandler({intermediates:"*",final:e},(function(){return v.selectCharset("*"+e)})),m._parser.registerEscHandler({intermediates:"+",final:e},(function(){return v.selectCharset("+"+e)})),m._parser.registerEscHandler({intermediates:"-",final:e},(function(){return v.selectCharset("-"+e)})),m._parser.registerEscHandler({intermediates:".",final:e},(function(){return v.selectCharset("."+e)})),m._parser.registerEscHandler({intermediates:"/",final:e},(function(){return v.selectCharset("/"+e)}))},m=this;for(var C in a.CHARSETS)y(C);return v._parser.registerEscHandler({intermediates:"#",final:"8"},(function(){return v.screenAlignmentPattern()})),v._parser.setErrorHandler((function(e){return v._logService.error("Parsing error: ",e),e})),v._parser.registerDcsHandler({intermediates:"$",final:"q"},new w(v._bufferService,v._coreService,v._logService,v._optionsService)),v}return o(t,e),Object.defineProperty(t.prototype,"onRequestBell",{get:function(){return this._onRequestBell.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onRequestRefreshRows",{get:function(){return this._onRequestRefreshRows.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onRequestReset",{get:function(){return this._onRequestReset.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onRequestSyncScrollBar",{get:function(){return this._onRequestSyncScrollBar.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onRequestWindowsOptionsReport",{get:function(){return this._onRequestWindowsOptionsReport.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onA11yChar",{get:function(){return this._onA11yChar.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onA11yTab",{get:function(){return this._onA11yTab.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onCursorMove",{get:function(){return this._onCursorMove.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onLineFeed",{get:function(){return this._onLineFeed.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onScroll",{get:function(){return this._onScroll.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onTitleChange",{get:function(){return this._onTitleChange.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onAnsiColorChange",{get:function(){return this._onAnsiColorChange.event},enumerable:!1,configurable:!0}),t.prototype.dispose=function(){e.prototype.dispose.call(this)},t.prototype._preserveStack=function(e,t,r,i){this._parseStack.paused=!0,this._parseStack.cursorStartX=e,this._parseStack.cursorStartY=t,this._parseStack.decodedLength=r,this._parseStack.position=i},t.prototype._logSlowResolvingAsync=function(e){this._logService.logLevel<=v.LogLevelEnum.WARN&&Promise.race([e,new Promise((function(e,t){return setTimeout((function(){return t("#SLOW_TIMEOUT")}),5e3)}))]).catch((function(e){if("#SLOW_TIMEOUT"!==e)throw e;console.warn("async parser handler taking longer than 5000 ms")}))},t.prototype.parse=function(e,t){var r,i=this._bufferService.buffer,o=i.x,n=i.y,s=0,a=this._parseStack.paused;if(a){if(r=this._parser.parse(this._parseBuffer,this._parseStack.decodedLength,t))return this._logSlowResolvingAsync(r),r;o=this._parseStack.cursorStartX,n=this._parseStack.cursorStartY,this._parseStack.paused=!1,e.length>C&&(s=this._parseStack.position+C)}if(this._logService.debug("parsing data",e),this._parseBuffer.lengthC)for(var c=s;c0&&2===f.getWidth(n.x-1)&&f.setCellFromCodePoint(n.x-1,0,1,d.fg,d.bg,d.extended);for(var _=t;_=c)if(l){for(;n.x=this._bufferService.rows&&(n.y=this._bufferService.rows-1),n.lines.get(n.ybase+n.y).isWrapped=!0),f=n.lines.get(n.ybase+n.y)}else if(n.x=c-1,2===o)continue;if(h&&(f.insertCells(n.x,o,n.getNullCell(d),d),2===f.getWidth(c-1)&&f.setCellFromCodePoint(c-1,p.NULL_CELL_CODE,p.NULL_CELL_WIDTH,d.fg,d.bg,d.extended)),f.setCellFromCodePoint(n.x++,i,o,d.fg,d.bg,d.extended),o>0)for(;--o;)f.setCellFromCodePoint(n.x++,0,0,d.fg,d.bg,d.extended)}else f.getWidth(n.x-1)?f.addCodepointToCell(n.x-1,i):f.addCodepointToCell(n.x-2,i)}r-t>0&&(f.loadCell(n.x-1,this._workCell),2===this._workCell.getWidth()||this._workCell.getCode()>65535?this._parser.precedingCodepoint=0:this._workCell.isCombined()?this._parser.precedingCodepoint=this._workCell.getChars().charCodeAt(0):this._parser.precedingCodepoint=this._workCell.content),n.x0&&0===f.getWidth(n.x)&&!f.hasContent(n.x)&&f.setCellFromCodePoint(n.x,0,1,d.fg,d.bg,d.extended),this._dirtyRowService.markDirty(n.y)},t.prototype.registerCsiHandler=function(e,t){var r=this;return"t"!==e.final||e.prefix||e.intermediates?this._parser.registerCsiHandler(e,t):this._parser.registerCsiHandler(e,(function(e){return!S(e.params[0],r._optionsService.options.windowOptions)||t(e)}))},t.prototype.registerDcsHandler=function(e,t){return this._parser.registerDcsHandler(e,new y.DcsHandler(t))},t.prototype.registerEscHandler=function(e,t){return this._parser.registerEscHandler(e,t)},t.prototype.registerOscHandler=function(e,t){return this._parser.registerOscHandler(e,new b.OscHandler(t))},t.prototype.bell=function(){return this._onRequestBell.fire(),!0},t.prototype.lineFeed=function(){var e=this._bufferService.buffer;return this._dirtyRowService.markDirty(e.y),this._optionsService.options.convertEol&&(e.x=0),e.y++,e.y===e.scrollBottom+1?(e.y--,this._bufferService.scroll(this._eraseAttrData())):e.y>=this._bufferService.rows&&(e.y=this._bufferService.rows-1),e.x>=this._bufferService.cols&&e.x--,this._dirtyRowService.markDirty(e.y),this._onLineFeed.fire(),!0},t.prototype.carriageReturn=function(){return this._bufferService.buffer.x=0,!0},t.prototype.backspace=function(){var e,t=this._bufferService.buffer;if(!this._coreService.decPrivateModes.reverseWraparound)return this._restrictCursor(),t.x>0&&t.x--,!0;if(this._restrictCursor(this._bufferService.cols),t.x>0)t.x--;else if(0===t.x&&t.y>t.scrollTop&&t.y<=t.scrollBottom&&(null===(e=t.lines.get(t.ybase+t.y))||void 0===e?void 0:e.isWrapped)){t.lines.get(t.ybase+t.y).isWrapped=!1,t.y--,t.x=this._bufferService.cols-1;var r=t.lines.get(t.ybase+t.y);r.hasWidth(t.x)&&!r.hasContent(t.x)&&t.x--}return this._restrictCursor(),!0},t.prototype.tab=function(){if(this._bufferService.buffer.x>=this._bufferService.cols)return!0;var e=this._bufferService.buffer.x;return this._bufferService.buffer.x=this._bufferService.buffer.nextStop(),this._optionsService.options.screenReaderMode&&this._onA11yTab.fire(this._bufferService.buffer.x-e),!0},t.prototype.shiftOut=function(){return this._charsetService.setgLevel(1),!0},t.prototype.shiftIn=function(){return this._charsetService.setgLevel(0),!0},t.prototype._restrictCursor=function(e){void 0===e&&(e=this._bufferService.cols-1),this._bufferService.buffer.x=Math.min(e,Math.max(0,this._bufferService.buffer.x)),this._bufferService.buffer.y=this._coreService.decPrivateModes.origin?Math.min(this._bufferService.buffer.scrollBottom,Math.max(this._bufferService.buffer.scrollTop,this._bufferService.buffer.y)):Math.min(this._bufferService.rows-1,Math.max(0,this._bufferService.buffer.y)),this._dirtyRowService.markDirty(this._bufferService.buffer.y)},t.prototype._setCursor=function(e,t){this._dirtyRowService.markDirty(this._bufferService.buffer.y),this._coreService.decPrivateModes.origin?(this._bufferService.buffer.x=e,this._bufferService.buffer.y=this._bufferService.buffer.scrollTop+t):(this._bufferService.buffer.x=e,this._bufferService.buffer.y=t),this._restrictCursor(),this._dirtyRowService.markDirty(this._bufferService.buffer.y)},t.prototype._moveCursor=function(e,t){this._restrictCursor(),this._setCursor(this._bufferService.buffer.x+e,this._bufferService.buffer.y+t)},t.prototype.cursorUp=function(e){var t=this._bufferService.buffer.y-this._bufferService.buffer.scrollTop;return t>=0?this._moveCursor(0,-Math.min(t,e.params[0]||1)):this._moveCursor(0,-(e.params[0]||1)),!0},t.prototype.cursorDown=function(e){var t=this._bufferService.buffer.scrollBottom-this._bufferService.buffer.y;return t>=0?this._moveCursor(0,Math.min(t,e.params[0]||1)):this._moveCursor(0,e.params[0]||1),!0},t.prototype.cursorForward=function(e){return this._moveCursor(e.params[0]||1,0),!0},t.prototype.cursorBackward=function(e){return this._moveCursor(-(e.params[0]||1),0),!0},t.prototype.cursorNextLine=function(e){return this.cursorDown(e),this._bufferService.buffer.x=0,!0},t.prototype.cursorPrecedingLine=function(e){return this.cursorUp(e),this._bufferService.buffer.x=0,!0},t.prototype.cursorCharAbsolute=function(e){return this._setCursor((e.params[0]||1)-1,this._bufferService.buffer.y),!0},t.prototype.cursorPosition=function(e){return this._setCursor(e.length>=2?(e.params[1]||1)-1:0,(e.params[0]||1)-1),!0},t.prototype.charPosAbsolute=function(e){return this._setCursor((e.params[0]||1)-1,this._bufferService.buffer.y),!0},t.prototype.hPositionRelative=function(e){return this._moveCursor(e.params[0]||1,0),!0},t.prototype.linePosAbsolute=function(e){return this._setCursor(this._bufferService.buffer.x,(e.params[0]||1)-1),!0},t.prototype.vPositionRelative=function(e){return this._moveCursor(0,e.params[0]||1),!0},t.prototype.hVPosition=function(e){return this.cursorPosition(e),!0},t.prototype.tabClear=function(e){var t=e.params[0];return 0===t?delete this._bufferService.buffer.tabs[this._bufferService.buffer.x]:3===t&&(this._bufferService.buffer.tabs={}),!0},t.prototype.cursorForwardTab=function(e){if(this._bufferService.buffer.x>=this._bufferService.cols)return!0;for(var t=e.params[0]||1;t--;)this._bufferService.buffer.x=this._bufferService.buffer.nextStop();return!0},t.prototype.cursorBackwardTab=function(e){if(this._bufferService.buffer.x>=this._bufferService.cols)return!0;for(var t=e.params[0]||1,r=this._bufferService.buffer;t--;)r.x=r.prevStop();return!0},t.prototype._eraseInBufferLine=function(e,t,r,i){void 0===i&&(i=!1);var o=this._bufferService.buffer.lines.get(this._bufferService.buffer.ybase+e);o.replaceCells(t,r,this._bufferService.buffer.getNullCell(this._eraseAttrData()),this._eraseAttrData()),i&&(o.isWrapped=!1)},t.prototype._resetBufferLine=function(e){var t=this._bufferService.buffer.lines.get(this._bufferService.buffer.ybase+e);t.fill(this._bufferService.buffer.getNullCell(this._eraseAttrData())),t.isWrapped=!1},t.prototype.eraseInDisplay=function(e){var t;switch(this._restrictCursor(),e.params[0]){case 0:for(t=this._bufferService.buffer.y,this._dirtyRowService.markDirty(t),this._eraseInBufferLine(t++,this._bufferService.buffer.x,this._bufferService.cols,0===this._bufferService.buffer.x);t=this._bufferService.cols&&(this._bufferService.buffer.lines.get(t+1).isWrapped=!1);t--;)this._resetBufferLine(t);this._dirtyRowService.markDirty(0);break;case 2:for(t=this._bufferService.rows,this._dirtyRowService.markDirty(t-1);t--;)this._resetBufferLine(t);this._dirtyRowService.markDirty(0);break;case 3:var r=this._bufferService.buffer.lines.length-this._bufferService.rows;r>0&&(this._bufferService.buffer.lines.trimStart(r),this._bufferService.buffer.ybase=Math.max(this._bufferService.buffer.ybase-r,0),this._bufferService.buffer.ydisp=Math.max(this._bufferService.buffer.ydisp-r,0),this._onScroll.fire(0))}return!0},t.prototype.eraseInLine=function(e){switch(this._restrictCursor(),e.params[0]){case 0:this._eraseInBufferLine(this._bufferService.buffer.y,this._bufferService.buffer.x,this._bufferService.cols);break;case 1:this._eraseInBufferLine(this._bufferService.buffer.y,0,this._bufferService.buffer.x+1);break;case 2:this._eraseInBufferLine(this._bufferService.buffer.y,0,this._bufferService.cols)}return this._dirtyRowService.markDirty(this._bufferService.buffer.y),!0},t.prototype.insertLines=function(e){this._restrictCursor();var t=e.params[0]||1,r=this._bufferService.buffer;if(r.y>r.scrollBottom||r.yr.scrollBottom||r.yt.scrollBottom||t.yt.scrollBottom||t.yt.scrollBottom||t.yt.scrollBottom||t.y0||(this._is("xterm")||this._is("rxvt-unicode")||this._is("screen")?this._coreService.triggerDataEvent(s.C0.ESC+"[?1;2c"):this._is("linux")&&this._coreService.triggerDataEvent(s.C0.ESC+"[?6c")),!0},t.prototype.sendDeviceAttributesSecondary=function(e){return e.params[0]>0||(this._is("xterm")?this._coreService.triggerDataEvent(s.C0.ESC+"[>0;276;0c"):this._is("rxvt-unicode")?this._coreService.triggerDataEvent(s.C0.ESC+"[>85;95;0c"):this._is("linux")?this._coreService.triggerDataEvent(e.params[0]+"c"):this._is("screen")&&this._coreService.triggerDataEvent(s.C0.ESC+"[>83;40003;0c")),!0},t.prototype._is=function(e){return 0===(this._optionsService.options.termName+"").indexOf(e)},t.prototype.setMode=function(e){for(var t=0;t=2||2===i[1]&&n+o>=5)break;i[1]&&(o=1)}while(++n+t5)&&(e=1),t.extended.underlineStyle=e,t.fg|=268435456,0===e&&(t.fg&=-268435457),t.updateExtended()},t.prototype.charAttributes=function(e){if(1===e.length&&0===e.params[0])return this._curAttrData.fg=d.DEFAULT_ATTR_DATA.fg,this._curAttrData.bg=d.DEFAULT_ATTR_DATA.bg,!0;for(var t,r=e.length,i=this._curAttrData,o=0;o=30&&t<=37?(i.fg&=-50331904,i.fg|=16777216|t-30):t>=40&&t<=47?(i.bg&=-50331904,i.bg|=16777216|t-40):t>=90&&t<=97?(i.fg&=-50331904,i.fg|=16777224|t-90):t>=100&&t<=107?(i.bg&=-50331904,i.bg|=16777224|t-100):0===t?(i.fg=d.DEFAULT_ATTR_DATA.fg,i.bg=d.DEFAULT_ATTR_DATA.bg):1===t?i.fg|=134217728:3===t?i.bg|=67108864:4===t?(i.fg|=268435456,this._processUnderline(e.hasSubParams(o)?e.getSubParams(o)[0]:1,i)):5===t?i.fg|=536870912:7===t?i.fg|=67108864:8===t?i.fg|=1073741824:2===t?i.bg|=134217728:21===t?this._processUnderline(2,i):22===t?(i.fg&=-134217729,i.bg&=-134217729):23===t?i.bg&=-67108865:24===t?i.fg&=-268435457:25===t?i.fg&=-536870913:27===t?i.fg&=-67108865:28===t?i.fg&=-1073741825:39===t?(i.fg&=-67108864,i.fg|=16777215&d.DEFAULT_ATTR_DATA.fg):49===t?(i.bg&=-67108864,i.bg|=16777215&d.DEFAULT_ATTR_DATA.bg):38===t||48===t||58===t?o+=this._extractColor(e,o,i):59===t?(i.extended=i.extended.clone(),i.extended.underlineColor=-1,i.updateExtended()):100===t?(i.fg&=-67108864,i.fg|=16777215&d.DEFAULT_ATTR_DATA.fg,i.bg&=-67108864,i.bg|=16777215&d.DEFAULT_ATTR_DATA.bg):this._logService.debug("Unknown SGR attribute: %d.",t);return!0},t.prototype.deviceStatus=function(e){switch(e.params[0]){case 5:this._coreService.triggerDataEvent(s.C0.ESC+"[0n");break;case 6:var t=this._bufferService.buffer.y+1,r=this._bufferService.buffer.x+1;this._coreService.triggerDataEvent(s.C0.ESC+"["+t+";"+r+"R")}return!0},t.prototype.deviceStatusPrivate=function(e){switch(e.params[0]){case 6:var t=this._bufferService.buffer.y+1,r=this._bufferService.buffer.x+1;this._coreService.triggerDataEvent(s.C0.ESC+"[?"+t+";"+r+"R")}return!0},t.prototype.softReset=function(e){return this._coreService.isCursorHidden=!1,this._onRequestSyncScrollBar.fire(),this._bufferService.buffer.scrollTop=0,this._bufferService.buffer.scrollBottom=this._bufferService.rows-1,this._curAttrData=d.DEFAULT_ATTR_DATA.clone(),this._coreService.reset(),this._charsetService.reset(),this._bufferService.buffer.savedX=0,this._bufferService.buffer.savedY=this._bufferService.buffer.ybase,this._bufferService.buffer.savedCurAttrData.fg=this._curAttrData.fg,this._bufferService.buffer.savedCurAttrData.bg=this._curAttrData.bg,this._bufferService.buffer.savedCharset=this._charsetService.charset,this._coreService.decPrivateModes.origin=!1,!0},t.prototype.setCursorStyle=function(e){var t=e.params[0]||1;switch(t){case 1:case 2:this._optionsService.options.cursorStyle="block";break;case 3:case 4:this._optionsService.options.cursorStyle="underline";break;case 5:case 6:this._optionsService.options.cursorStyle="bar"}var r=t%2==1;return this._optionsService.options.cursorBlink=r,!0},t.prototype.setScrollRegion=function(e){var t,r=e.params[0]||1;return(e.length<2||(t=e.params[1])>this._bufferService.rows||0===t)&&(t=this._bufferService.rows),t>r&&(this._bufferService.buffer.scrollTop=r-1,this._bufferService.buffer.scrollBottom=t-1,this._setCursor(0,0)),!0},t.prototype.windowOptions=function(e){if(!S(e.params[0],this._optionsService.options.windowOptions))return!0;var t=e.length>1?e.params[1]:0;switch(e.params[0]){case 14:2!==t&&this._onRequestWindowsOptionsReport.fire(n.GET_WIN_SIZE_PIXELS);break;case 16:this._onRequestWindowsOptionsReport.fire(n.GET_CELL_SIZE_PIXELS);break;case 18:this._bufferService&&this._coreService.triggerDataEvent(s.C0.ESC+"[8;"+this._bufferService.rows+";"+this._bufferService.cols+"t");break;case 22:0!==t&&2!==t||(this._windowTitleStack.push(this._windowTitle),this._windowTitleStack.length>10&&this._windowTitleStack.shift()),0!==t&&1!==t||(this._iconNameStack.push(this._iconName),this._iconNameStack.length>10&&this._iconNameStack.shift());break;case 23:0!==t&&2!==t||this._windowTitleStack.length&&this.setTitle(this._windowTitleStack.pop()),0!==t&&1!==t||this._iconNameStack.length&&this.setIconName(this._iconNameStack.pop())}return!0},t.prototype.saveCursor=function(e){return this._bufferService.buffer.savedX=this._bufferService.buffer.x,this._bufferService.buffer.savedY=this._bufferService.buffer.ybase+this._bufferService.buffer.y,this._bufferService.buffer.savedCurAttrData.fg=this._curAttrData.fg,this._bufferService.buffer.savedCurAttrData.bg=this._curAttrData.bg,this._bufferService.buffer.savedCharset=this._charsetService.charset,!0},t.prototype.restoreCursor=function(e){return this._bufferService.buffer.x=this._bufferService.buffer.savedX||0,this._bufferService.buffer.y=Math.max(this._bufferService.buffer.savedY-this._bufferService.buffer.ybase,0),this._curAttrData.fg=this._bufferService.buffer.savedCurAttrData.fg,this._curAttrData.bg=this._bufferService.buffer.savedCurAttrData.bg,this._charsetService.charset=this._savedCharset,this._bufferService.buffer.savedCharset&&(this._charsetService.charset=this._bufferService.buffer.savedCharset),this._restrictCursor(),!0},t.prototype.setTitle=function(e){return this._windowTitle=e,this._onTitleChange.fire(e),!0},t.prototype.setIconName=function(e){return this._iconName=e,!0},t.prototype._parseAnsiColorChange=function(e){for(var t,r={colors:[]},i=/(\d+);rgb:([\da-f]{2})\/([\da-f]{2})\/([\da-f]{2})/gi;null!==(t=i.exec(e));)r.colors.push({colorIndex:parseInt(t[1]),red:parseInt(t[2],16),green:parseInt(t[3],16),blue:parseInt(t[4],16)});return 0===r.colors.length?null:r},t.prototype.setAnsiColor=function(e){var t=this._parseAnsiColorChange(e);return t?this._onAnsiColorChange.fire(t):this._logService.warn("Expected format ;rgb:// but got data: "+e),!0},t.prototype.nextLine=function(){return this._bufferService.buffer.x=0,this.index(),!0},t.prototype.keypadApplicationMode=function(){return this._logService.debug("Serial port requested application keypad."),this._coreService.decPrivateModes.applicationKeypad=!0,this._onRequestSyncScrollBar.fire(),!0},t.prototype.keypadNumericMode=function(){return this._logService.debug("Switching back to normal keypad."),this._coreService.decPrivateModes.applicationKeypad=!1,this._onRequestSyncScrollBar.fire(),!0},t.prototype.selectDefaultCharset=function(){return this._charsetService.setgLevel(0),this._charsetService.setgCharset(0,a.DEFAULT_CHARSET),!0},t.prototype.selectCharset=function(e){return 2!==e.length?(this.selectDefaultCharset(),!0):("/"===e[0]||this._charsetService.setgCharset(m[e[0]],a.CHARSETS[e[1]]||a.DEFAULT_CHARSET),!0)},t.prototype.index=function(){this._restrictCursor();var e=this._bufferService.buffer;return this._bufferService.buffer.y++,e.y===e.scrollBottom+1?(e.y--,this._bufferService.scroll(this._eraseAttrData())):e.y>=this._bufferService.rows&&(e.y=this._bufferService.rows-1),this._restrictCursor(),!0},t.prototype.tabSet=function(){return this._bufferService.buffer.tabs[this._bufferService.buffer.x]=!0,!0},t.prototype.reverseIndex=function(){this._restrictCursor();var e=this._bufferService.buffer;if(e.y===e.scrollTop){var t=e.scrollBottom-e.scrollTop;e.lines.shiftElements(e.ybase+e.y,t,1),e.lines.set(e.ybase+e.y,e.getBlankLine(this._eraseAttrData())),this._dirtyRowService.markRangeDirty(e.scrollTop,e.scrollBottom)}else e.y--,this._restrictCursor();return!0},t.prototype.fullReset=function(){return this._parser.reset(),this._onRequestReset.fire(),!0},t.prototype.reset=function(){this._curAttrData=d.DEFAULT_ATTR_DATA.clone(),this._eraseAttrDataInternal=d.DEFAULT_ATTR_DATA.clone()},t.prototype._eraseAttrData=function(){return this._eraseAttrDataInternal.bg&=-67108864,this._eraseAttrDataInternal.bg|=67108863&this._curAttrData.bg,this._eraseAttrDataInternal},t.prototype.setgLevel=function(e){return this._charsetService.setgLevel(e),!0},t.prototype.screenAlignmentPattern=function(){var e=new _.CellData;e.content=1<<22|"E".charCodeAt(0),e.fg=this._curAttrData.fg,e.bg=this._curAttrData.bg;var t=this._bufferService.buffer;this._setCursor(0,0);for(var r=0;r{Object.defineProperty(t,"__esModule",{value:!0}),t.getDisposeArrayDisposable=t.disposeArray=t.Disposable=void 0;var r=function(){function e(){this._disposables=[],this._isDisposed=!1}return e.prototype.dispose=function(){this._isDisposed=!0;for(var e=0,t=this._disposables;e{Object.defineProperty(t,"__esModule",{value:!0}),t.isLinux=t.isWindows=t.isIphone=t.isIpad=t.isMac=t.isSafari=t.isFirefox=void 0;var r="undefined"==typeof navigator,i=r?"node":navigator.userAgent,o=r?"node":navigator.platform;t.isFirefox=i.includes("Firefox"),t.isSafari=/^((?!chrome|android).)*safari/i.test(i),t.isMac=["Macintosh","MacIntel","MacPPC","Mac68K"].includes(o),t.isIpad="iPad"===o,t.isIphone="iPhone"===o,t.isWindows=["Windows","Win16","Win32","WinCE"].includes(o),t.isLinux=o.indexOf("Linux")>=0},8273:(e,t)=>{function r(e,t,r,i){if(void 0===r&&(r=0),void 0===i&&(i=e.length),r>=e.length)return e;r=(e.length+r)%e.length,i=i>=e.length?e.length:(e.length+i)%e.length;for(var o=r;o{Object.defineProperty(t,"__esModule",{value:!0}),t.updateWindowsModeWrappedState=void 0;var i=r(643);t.updateWindowsModeWrappedState=function(e){var t=e.buffer.lines.get(e.buffer.ybase+e.buffer.y-1),r=null==t?void 0:t.get(e.cols-1),o=e.buffer.lines.get(e.buffer.ybase+e.buffer.y);o&&r&&(o.isWrapped=r[i.CHAR_DATA_CODE_INDEX]!==i.NULL_CELL_CODE&&r[i.CHAR_DATA_CODE_INDEX]!==i.WHITESPACE_CELL_CODE)}},3734:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.ExtendedAttrs=t.AttributeData=void 0;var r=function(){function e(){this.fg=0,this.bg=0,this.extended=new i}return e.toColorRGB=function(e){return[e>>>16&255,e>>>8&255,255&e]},e.fromColorRGB=function(e){return(255&e[0])<<16|(255&e[1])<<8|255&e[2]},e.prototype.clone=function(){var t=new e;return t.fg=this.fg,t.bg=this.bg,t.extended=this.extended.clone(),t},e.prototype.isInverse=function(){return 67108864&this.fg},e.prototype.isBold=function(){return 134217728&this.fg},e.prototype.isUnderline=function(){return 268435456&this.fg},e.prototype.isBlink=function(){return 536870912&this.fg},e.prototype.isInvisible=function(){return 1073741824&this.fg},e.prototype.isItalic=function(){return 67108864&this.bg},e.prototype.isDim=function(){return 134217728&this.bg},e.prototype.getFgColorMode=function(){return 50331648&this.fg},e.prototype.getBgColorMode=function(){return 50331648&this.bg},e.prototype.isFgRGB=function(){return 50331648==(50331648&this.fg)},e.prototype.isBgRGB=function(){return 50331648==(50331648&this.bg)},e.prototype.isFgPalette=function(){return 16777216==(50331648&this.fg)||33554432==(50331648&this.fg)},e.prototype.isBgPalette=function(){return 16777216==(50331648&this.bg)||33554432==(50331648&this.bg)},e.prototype.isFgDefault=function(){return 0==(50331648&this.fg)},e.prototype.isBgDefault=function(){return 0==(50331648&this.bg)},e.prototype.isAttributeDefault=function(){return 0===this.fg&&0===this.bg},e.prototype.getFgColor=function(){switch(50331648&this.fg){case 16777216:case 33554432:return 255&this.fg;case 50331648:return 16777215&this.fg;default:return-1}},e.prototype.getBgColor=function(){switch(50331648&this.bg){case 16777216:case 33554432:return 255&this.bg;case 50331648:return 16777215&this.bg;default:return-1}},e.prototype.hasExtendedAttrs=function(){return 268435456&this.bg},e.prototype.updateExtended=function(){this.extended.isEmpty()?this.bg&=-268435457:this.bg|=268435456},e.prototype.getUnderlineColor=function(){if(268435456&this.bg&&~this.extended.underlineColor)switch(50331648&this.extended.underlineColor){case 16777216:case 33554432:return 255&this.extended.underlineColor;case 50331648:return 16777215&this.extended.underlineColor;default:return this.getFgColor()}return this.getFgColor()},e.prototype.getUnderlineColorMode=function(){return 268435456&this.bg&&~this.extended.underlineColor?50331648&this.extended.underlineColor:this.getFgColorMode()},e.prototype.isUnderlineColorRGB=function(){return 268435456&this.bg&&~this.extended.underlineColor?50331648==(50331648&this.extended.underlineColor):this.isFgRGB()},e.prototype.isUnderlineColorPalette=function(){return 268435456&this.bg&&~this.extended.underlineColor?16777216==(50331648&this.extended.underlineColor)||33554432==(50331648&this.extended.underlineColor):this.isFgPalette()},e.prototype.isUnderlineColorDefault=function(){return 268435456&this.bg&&~this.extended.underlineColor?0==(50331648&this.extended.underlineColor):this.isFgDefault()},e.prototype.getUnderlineStyle=function(){return 268435456&this.fg?268435456&this.bg?this.extended.underlineStyle:1:0},e}();t.AttributeData=r;var i=function(){function e(e,t){void 0===e&&(e=0),void 0===t&&(t=-1),this.underlineStyle=e,this.underlineColor=t}return e.prototype.clone=function(){return new e(this.underlineStyle,this.underlineColor)},e.prototype.isEmpty=function(){return 0===this.underlineStyle},e}();t.ExtendedAttrs=i},9092:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.BufferStringIterator=t.Buffer=t.MAX_BUFFER_SIZE=void 0;var i=r(6349),o=r(8437),n=r(511),s=r(643),a=r(4634),c=r(4863),l=r(7116),h=r(3734);t.MAX_BUFFER_SIZE=4294967295;var u=function(){function e(e,t,r){this._hasScrollback=e,this._optionsService=t,this._bufferService=r,this.ydisp=0,this.ybase=0,this.y=0,this.x=0,this.savedY=0,this.savedX=0,this.savedCurAttrData=o.DEFAULT_ATTR_DATA.clone(),this.savedCharset=l.DEFAULT_CHARSET,this.markers=[],this._nullCell=n.CellData.fromCharData([0,s.NULL_CELL_CHAR,s.NULL_CELL_WIDTH,s.NULL_CELL_CODE]),this._whitespaceCell=n.CellData.fromCharData([0,s.WHITESPACE_CELL_CHAR,s.WHITESPACE_CELL_WIDTH,s.WHITESPACE_CELL_CODE]),this._cols=this._bufferService.cols,this._rows=this._bufferService.rows,this.lines=new i.CircularList(this._getCorrectBufferLength(this._rows)),this.scrollTop=0,this.scrollBottom=this._rows-1,this.setupTabStops()}return e.prototype.getNullCell=function(e){return e?(this._nullCell.fg=e.fg,this._nullCell.bg=e.bg,this._nullCell.extended=e.extended):(this._nullCell.fg=0,this._nullCell.bg=0,this._nullCell.extended=new h.ExtendedAttrs),this._nullCell},e.prototype.getWhitespaceCell=function(e){return e?(this._whitespaceCell.fg=e.fg,this._whitespaceCell.bg=e.bg,this._whitespaceCell.extended=e.extended):(this._whitespaceCell.fg=0,this._whitespaceCell.bg=0,this._whitespaceCell.extended=new h.ExtendedAttrs),this._whitespaceCell},e.prototype.getBlankLine=function(e,t){return new o.BufferLine(this._bufferService.cols,this.getNullCell(e),t)},Object.defineProperty(e.prototype,"hasScrollback",{get:function(){return this._hasScrollback&&this.lines.maxLength>this._rows},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"isCursorInViewport",{get:function(){var e=this.ybase+this.y-this.ydisp;return e>=0&&et.MAX_BUFFER_SIZE?t.MAX_BUFFER_SIZE:r},e.prototype.fillViewportRows=function(e){if(0===this.lines.length){void 0===e&&(e=o.DEFAULT_ATTR_DATA);for(var t=this._rows;t--;)this.lines.push(this.getBlankLine(e))}},e.prototype.clear=function(){this.ydisp=0,this.ybase=0,this.y=0,this.x=0,this.lines=new i.CircularList(this._getCorrectBufferLength(this._rows)),this.scrollTop=0,this.scrollBottom=this._rows-1,this.setupTabStops()},e.prototype.resize=function(e,t){var r=this.getNullCell(o.DEFAULT_ATTR_DATA),i=this._getCorrectBufferLength(t);if(i>this.lines.maxLength&&(this.lines.maxLength=i),this.lines.length>0){if(this._cols0&&this.lines.length<=this.ybase+this.y+s+1?(this.ybase--,s++,this.ydisp>0&&this.ydisp--):this.lines.push(new o.BufferLine(e,r)));else for(a=this._rows;a>t;a--)this.lines.length>t+this.ybase&&(this.lines.length>this.ybase+this.y+1?this.lines.pop():(this.ybase++,this.ydisp++));if(i0&&(this.lines.trimStart(c),this.ybase=Math.max(this.ybase-c,0),this.ydisp=Math.max(this.ydisp-c,0),this.savedY=Math.max(this.savedY-c,0)),this.lines.maxLength=i}this.x=Math.min(this.x,e-1),this.y=Math.min(this.y,t-1),s&&(this.y+=s),this.savedX=Math.min(this.savedX,e-1),this.scrollTop=0}if(this.scrollBottom=t-1,this._isReflowEnabled&&(this._reflow(e,t),this._cols>e))for(n=0;nthis._cols?this._reflowLarger(e,t):this._reflowSmaller(e,t))},e.prototype._reflowLarger=function(e,t){var r=a.reflowLargerGetLinesToRemove(this.lines,this._cols,e,this.ybase+this.y,this.getNullCell(o.DEFAULT_ATTR_DATA));if(r.length>0){var i=a.reflowLargerCreateNewLayout(this.lines,r);a.reflowLargerApplyNewLayout(this.lines,i.layout),this._reflowLargerAdjustViewport(e,t,i.countRemoved)}},e.prototype._reflowLargerAdjustViewport=function(e,t,r){for(var i=this.getNullCell(o.DEFAULT_ATTR_DATA),n=r;n-- >0;)0===this.ybase?(this.y>0&&this.y--,this.lines.length=0;s--){var c=this.lines.get(s);if(!(!c||!c.isWrapped&&c.getTrimmedLength()<=e)){for(var l=[c];c.isWrapped&&s>0;)c=this.lines.get(--s),l.unshift(c);var h=this.ybase+this.y;if(!(h>=s&&h0&&(i.push({start:s+l.length+n,newLines:_}),n+=_.length),l.push.apply(l,_);var b=f.length-1,y=f[b];0===y&&(y=f[--b]);for(var m=l.length-p-1,C=d;m>=0;){var S=Math.min(C,y);if(l[b].copyCellsFrom(l[m],C-S,y-S,S,!0),0==(y-=S)&&(y=f[--b]),0==(C-=S)){m--;var w=Math.max(m,0);C=a.getWrappedLineTrimmedLength(l,w,this._cols)}}for(g=0;g0;)0===this.ybase?this.y0){var T=[],E=[];for(g=0;g=0;g--)if(P&&P.start>k+L){for(var M=P.newLines.length-1;M>=0;M--)this.lines.set(g--,P.newLines[M]);g++,T.push({index:k+1,amount:P.newLines.length}),L+=P.newLines.length,P=i[++x]}else this.lines.set(g,E[k--]);var D=0;for(g=T.length-1;g>=0;g--)T[g].index+=D,this.lines.onInsertEmitter.fire(T[g]),D+=T[g].amount;var O=Math.max(0,R+n-this.lines.maxLength);O>0&&this.lines.onTrimEmitter.fire(O)}},e.prototype.stringIndexToBufferIndex=function(e,t,r){for(void 0===r&&(r=!1);t;){var i=this.lines.get(e);if(!i)return[-1,-1];for(var o=r?i.getTrimmedLength():i.length,n=0;n0&&this.lines.get(t).isWrapped;)t--;for(;r+10;);return e>=this._cols?this._cols-1:e<0?0:e},e.prototype.nextStop=function(e){for(null==e&&(e=this.x);!this.tabs[++e]&&e=this._cols?this._cols-1:e<0?0:e},e.prototype.addMarker=function(e){var t=this,r=new c.Marker(e);return this.markers.push(r),r.register(this.lines.onTrim((function(e){r.line-=e,r.line<0&&r.dispose()}))),r.register(this.lines.onInsert((function(e){r.line>=e.index&&(r.line+=e.amount)}))),r.register(this.lines.onDelete((function(e){r.line>=e.index&&r.linee.index&&(r.line-=e.amount)}))),r.register(r.onDispose((function(){return t._removeMarker(r)}))),r},e.prototype._removeMarker=function(e){this.markers.splice(this.markers.indexOf(e),1)},e.prototype.iterator=function(e,t,r,i,o){return new d(this,e,t,r,i,o)},e}();t.Buffer=u;var d=function(){function e(e,t,r,i,o,n){void 0===r&&(r=0),void 0===i&&(i=e.lines.length),void 0===o&&(o=0),void 0===n&&(n=0),this._buffer=e,this._trimRight=t,this._startIndex=r,this._endIndex=i,this._startOverscan=o,this._endOverscan=n,this._startIndex<0&&(this._startIndex=0),this._endIndex>this._buffer.lines.length&&(this._endIndex=this._buffer.lines.length),this._current=this._startIndex}return e.prototype.hasNext=function(){return this._currentthis._endIndex+this._endOverscan&&(e.last=this._endIndex+this._endOverscan),e.first=Math.max(e.first,0),e.last=Math.min(e.last,this._buffer.lines.length);for(var t="",r=e.first;r<=e.last;++r)t+=this._buffer.translateBufferLineToString(r,this._trimRight);return this._current=e.last+1,{range:e,content:t}},e}();t.BufferStringIterator=d},8437:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.BufferLine=t.DEFAULT_ATTR_DATA=void 0;var i=r(482),o=r(643),n=r(511),s=r(3734);t.DEFAULT_ATTR_DATA=Object.freeze(new s.AttributeData);var a=function(){function e(e,t,r){void 0===r&&(r=!1),this.isWrapped=r,this._combined={},this._extendedAttrs={},this._data=new Uint32Array(3*e);for(var i=t||n.CellData.fromCharData([0,o.NULL_CELL_CHAR,o.NULL_CELL_WIDTH,o.NULL_CELL_CODE]),s=0;s>22,2097152&t?this._combined[e].charCodeAt(this._combined[e].length-1):r]},e.prototype.set=function(e,t){this._data[3*e+1]=t[o.CHAR_DATA_ATTR_INDEX],t[o.CHAR_DATA_CHAR_INDEX].length>1?(this._combined[e]=t[1],this._data[3*e+0]=2097152|e|t[o.CHAR_DATA_WIDTH_INDEX]<<22):this._data[3*e+0]=t[o.CHAR_DATA_CHAR_INDEX].charCodeAt(0)|t[o.CHAR_DATA_WIDTH_INDEX]<<22},e.prototype.getWidth=function(e){return this._data[3*e+0]>>22},e.prototype.hasWidth=function(e){return 12582912&this._data[3*e+0]},e.prototype.getFg=function(e){return this._data[3*e+1]},e.prototype.getBg=function(e){return this._data[3*e+2]},e.prototype.hasContent=function(e){return 4194303&this._data[3*e+0]},e.prototype.getCodePoint=function(e){var t=this._data[3*e+0];return 2097152&t?this._combined[e].charCodeAt(this._combined[e].length-1):2097151&t},e.prototype.isCombined=function(e){return 2097152&this._data[3*e+0]},e.prototype.getString=function(e){var t=this._data[3*e+0];return 2097152&t?this._combined[e]:2097151&t?i.stringFromCodePoint(2097151&t):""},e.prototype.loadCell=function(e,t){var r=3*e;return t.content=this._data[r+0],t.fg=this._data[r+1],t.bg=this._data[r+2],2097152&t.content&&(t.combinedData=this._combined[e]),268435456&t.bg&&(t.extended=this._extendedAttrs[e]),t},e.prototype.setCell=function(e,t){2097152&t.content&&(this._combined[e]=t.combinedData),268435456&t.bg&&(this._extendedAttrs[e]=t.extended),this._data[3*e+0]=t.content,this._data[3*e+1]=t.fg,this._data[3*e+2]=t.bg},e.prototype.setCellFromCodePoint=function(e,t,r,i,o,n){268435456&o&&(this._extendedAttrs[e]=n),this._data[3*e+0]=t|r<<22,this._data[3*e+1]=i,this._data[3*e+2]=o},e.prototype.addCodepointToCell=function(e,t){var r=this._data[3*e+0];2097152&r?this._combined[e]+=i.stringFromCodePoint(t):(2097151&r?(this._combined[e]=i.stringFromCodePoint(2097151&r)+i.stringFromCodePoint(t),r&=-2097152,r|=2097152):r=t|1<<22,this._data[3*e+0]=r)},e.prototype.insertCells=function(e,t,r,i){if((e%=this.length)&&2===this.getWidth(e-1)&&this.setCellFromCodePoint(e-1,0,1,(null==i?void 0:i.fg)||0,(null==i?void 0:i.bg)||0,(null==i?void 0:i.extended)||new s.ExtendedAttrs),t=0;--a)this.setCell(e+t+a,this.loadCell(e+a,o));for(a=0;athis.length){var r=new Uint32Array(3*e);this.length&&(3*e=e&&delete this._combined[n]}}else this._data=new Uint32Array(0),this._combined={};this.length=e}},e.prototype.fill=function(e){this._combined={},this._extendedAttrs={};for(var t=0;t=0;--e)if(4194303&this._data[3*e+0])return e+(this._data[3*e+0]>>22);return 0},e.prototype.copyCellsFrom=function(e,t,r,i,o){var n=e._data;if(o)for(var s=i-1;s>=0;s--)for(var a=0;a<3;a++)this._data[3*(r+s)+a]=n[3*(t+s)+a];else for(s=0;s=t&&(this._combined[l-t+r]=e._combined[l])}},e.prototype.translateToString=function(e,t,r){void 0===e&&(e=!1),void 0===t&&(t=0),void 0===r&&(r=this.length),e&&(r=Math.min(r,this.getTrimmedLength()));for(var n="";t>22||1}return n},e}();t.BufferLine=a},4841:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.getRangeLength=void 0,t.getRangeLength=function(e,t){if(e.start.y===e.end.y)return e.end.x-e.start.x+1;if(e.start.y>e.end.y)throw new Error("Buffer range end ("+e.end.x+", "+e.end.y+") cannot be before start ("+e.start.x+", "+e.start.y+")");return t*(e.end.y-e.start.y-1)+t-e.start.x+e.end.x}},4634:(e,t)=>{function r(e,t,r){if(t===e.length-1)return e[t].getTrimmedLength();var i=!e[t].hasContent(r-1)&&1===e[t].getWidth(r-1),o=2===e[t+1].getWidth(0);return i&&o?r-1:r}Object.defineProperty(t,"__esModule",{value:!0}),t.getWrappedLineTrimmedLength=t.reflowSmallerGetNewLineLengths=t.reflowLargerApplyNewLayout=t.reflowLargerCreateNewLayout=t.reflowLargerGetLinesToRemove=void 0,t.reflowLargerGetLinesToRemove=function(e,t,i,o,n){for(var s=[],a=0;a=a&&o0&&(m>u||0===h[m].getTrimmedLength());m--)y++;y>0&&(s.push(a+h.length-y),s.push(y)),a+=h.length-1}}}return s},t.reflowLargerCreateNewLayout=function(e,t){for(var r=[],i=0,o=t[i],n=0,s=0;sl&&(s-=l,a++);var h=2===e[a].getWidth(s-1);h&&s--;var u=h?i-1:i;o.push(u),c+=u}return o},t.getWrappedLineTrimmedLength=r},5295:function(e,t,r){var i,o=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});Object.defineProperty(t,"__esModule",{value:!0}),t.BufferSet=void 0;var n=r(9092),s=r(8460),a=function(e){function t(t,r){var i=e.call(this)||this;return i._optionsService=t,i._bufferService=r,i._onBufferActivate=i.register(new s.EventEmitter),i.reset(),i}return o(t,e),Object.defineProperty(t.prototype,"onBufferActivate",{get:function(){return this._onBufferActivate.event},enumerable:!1,configurable:!0}),t.prototype.reset=function(){this._normal=new n.Buffer(!0,this._optionsService,this._bufferService),this._normal.fillViewportRows(),this._alt=new n.Buffer(!1,this._optionsService,this._bufferService),this._activeBuffer=this._normal,this.setupTabStops()},Object.defineProperty(t.prototype,"alt",{get:function(){return this._alt},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"active",{get:function(){return this._activeBuffer},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"normal",{get:function(){return this._normal},enumerable:!1,configurable:!0}),t.prototype.activateNormalBuffer=function(){this._activeBuffer!==this._normal&&(this._normal.x=this._alt.x,this._normal.y=this._alt.y,this._alt.clear(),this._activeBuffer=this._normal,this._onBufferActivate.fire({activeBuffer:this._normal,inactiveBuffer:this._alt}))},t.prototype.activateAltBuffer=function(e){this._activeBuffer!==this._alt&&(this._alt.fillViewportRows(e),this._alt.x=this._normal.x,this._alt.y=this._normal.y,this._activeBuffer=this._alt,this._onBufferActivate.fire({activeBuffer:this._alt,inactiveBuffer:this._normal}))},t.prototype.resize=function(e,t){this._normal.resize(e,t),this._alt.resize(e,t)},t.prototype.setupTabStops=function(e){this._normal.setupTabStops(e),this._alt.setupTabStops(e)},t}(r(844).Disposable);t.BufferSet=a},511:function(e,t,r){var i,o=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});Object.defineProperty(t,"__esModule",{value:!0}),t.CellData=void 0;var n=r(482),s=r(643),a=r(3734),c=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.content=0,t.fg=0,t.bg=0,t.extended=new a.ExtendedAttrs,t.combinedData="",t}return o(t,e),t.fromCharData=function(e){var r=new t;return r.setFromCharData(e),r},t.prototype.isCombined=function(){return 2097152&this.content},t.prototype.getWidth=function(){return this.content>>22},t.prototype.getChars=function(){return 2097152&this.content?this.combinedData:2097151&this.content?n.stringFromCodePoint(2097151&this.content):""},t.prototype.getCode=function(){return this.isCombined()?this.combinedData.charCodeAt(this.combinedData.length-1):2097151&this.content},t.prototype.setFromCharData=function(e){this.fg=e[s.CHAR_DATA_ATTR_INDEX],this.bg=0;var t=!1;if(e[s.CHAR_DATA_CHAR_INDEX].length>2)t=!0;else if(2===e[s.CHAR_DATA_CHAR_INDEX].length){var r=e[s.CHAR_DATA_CHAR_INDEX].charCodeAt(0);if(55296<=r&&r<=56319){var i=e[s.CHAR_DATA_CHAR_INDEX].charCodeAt(1);56320<=i&&i<=57343?this.content=1024*(r-55296)+i-56320+65536|e[s.CHAR_DATA_WIDTH_INDEX]<<22:t=!0}else t=!0}else this.content=e[s.CHAR_DATA_CHAR_INDEX].charCodeAt(0)|e[s.CHAR_DATA_WIDTH_INDEX]<<22;t&&(this.combinedData=e[s.CHAR_DATA_CHAR_INDEX],this.content=2097152|e[s.CHAR_DATA_WIDTH_INDEX]<<22)},t.prototype.getAsCharData=function(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]},t}(a.AttributeData);t.CellData=c},643:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.WHITESPACE_CELL_CODE=t.WHITESPACE_CELL_WIDTH=t.WHITESPACE_CELL_CHAR=t.NULL_CELL_CODE=t.NULL_CELL_WIDTH=t.NULL_CELL_CHAR=t.CHAR_DATA_CODE_INDEX=t.CHAR_DATA_WIDTH_INDEX=t.CHAR_DATA_CHAR_INDEX=t.CHAR_DATA_ATTR_INDEX=t.DEFAULT_ATTR=t.DEFAULT_COLOR=void 0,t.DEFAULT_COLOR=256,t.DEFAULT_ATTR=256|t.DEFAULT_COLOR<<9,t.CHAR_DATA_ATTR_INDEX=0,t.CHAR_DATA_CHAR_INDEX=1,t.CHAR_DATA_WIDTH_INDEX=2,t.CHAR_DATA_CODE_INDEX=3,t.NULL_CELL_CHAR="",t.NULL_CELL_WIDTH=1,t.NULL_CELL_CODE=0,t.WHITESPACE_CELL_CHAR=" ",t.WHITESPACE_CELL_WIDTH=1,t.WHITESPACE_CELL_CODE=32},4863:function(e,t,r){var i,o=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});Object.defineProperty(t,"__esModule",{value:!0}),t.Marker=void 0;var n=r(8460),s=function(e){function t(r){var i=e.call(this)||this;return i.line=r,i._id=t._nextId++,i.isDisposed=!1,i._onDispose=new n.EventEmitter,i}return o(t,e),Object.defineProperty(t.prototype,"id",{get:function(){return this._id},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onDispose",{get:function(){return this._onDispose.event},enumerable:!1,configurable:!0}),t.prototype.dispose=function(){this.isDisposed||(this.isDisposed=!0,this.line=-1,this._onDispose.fire(),e.prototype.dispose.call(this))},t._nextId=1,t}(r(844).Disposable);t.Marker=s},7116:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.DEFAULT_CHARSET=t.CHARSETS=void 0,t.CHARSETS={},t.DEFAULT_CHARSET=t.CHARSETS.B,t.CHARSETS[0]={"`":"◆",a:"▒",b:"␉",c:"␌",d:"␍",e:"␊",f:"°",g:"±",h:"␤",i:"␋",j:"┘",k:"┐",l:"┌",m:"└",n:"┼",o:"⎺",p:"⎻",q:"─",r:"⎼",s:"⎽",t:"├",u:"┤",v:"┴",w:"┬",x:"│",y:"≤",z:"≥","{":"π","|":"≠","}":"£","~":"·"},t.CHARSETS.A={"#":"£"},t.CHARSETS.B=void 0,t.CHARSETS[4]={"#":"£","@":"¾","[":"ij","\\":"½","]":"|","{":"¨","|":"f","}":"¼","~":"´"},t.CHARSETS.C=t.CHARSETS[5]={"[":"Ä","\\":"Ö","]":"Å","^":"Ü","`":"é","{":"ä","|":"ö","}":"å","~":"ü"},t.CHARSETS.R={"#":"£","@":"à","[":"°","\\":"ç","]":"§","{":"é","|":"ù","}":"è","~":"¨"},t.CHARSETS.Q={"@":"à","[":"â","\\":"ç","]":"ê","^":"î","`":"ô","{":"é","|":"ù","}":"è","~":"û"},t.CHARSETS.K={"@":"§","[":"Ä","\\":"Ö","]":"Ü","{":"ä","|":"ö","}":"ü","~":"ß"},t.CHARSETS.Y={"#":"£","@":"§","[":"°","\\":"ç","]":"é","`":"ù","{":"à","|":"ò","}":"è","~":"ì"},t.CHARSETS.E=t.CHARSETS[6]={"@":"Ä","[":"Æ","\\":"Ø","]":"Å","^":"Ü","`":"ä","{":"æ","|":"ø","}":"å","~":"ü"},t.CHARSETS.Z={"#":"£","@":"§","[":"¡","\\":"Ñ","]":"¿","{":"°","|":"ñ","}":"ç"},t.CHARSETS.H=t.CHARSETS[7]={"@":"É","[":"Ä","\\":"Ö","]":"Å","^":"Ü","`":"é","{":"ä","|":"ö","}":"å","~":"ü"},t.CHARSETS["="]={"#":"ù","@":"à","[":"é","\\":"ç","]":"ê","^":"î",_:"è","`":"ô","{":"ä","|":"ö","}":"ü","~":"û"}},2584:(e,t)=>{var r,i;Object.defineProperty(t,"__esModule",{value:!0}),t.C1=t.C0=void 0,(i=t.C0||(t.C0={})).NUL="\0",i.SOH="",i.STX="",i.ETX="",i.EOT="",i.ENQ="",i.ACK="",i.BEL="",i.BS="\b",i.HT="\t",i.LF="\n",i.VT="\v",i.FF="\f",i.CR="\r",i.SO="",i.SI="",i.DLE="",i.DC1="",i.DC2="",i.DC3="",i.DC4="",i.NAK="",i.SYN="",i.ETB="",i.CAN="",i.EM="",i.SUB="",i.ESC="",i.FS="",i.GS="",i.RS="",i.US="",i.SP=" ",i.DEL="",(r=t.C1||(t.C1={})).PAD="€",r.HOP="",r.BPH="‚",r.NBH="ƒ",r.IND="„",r.NEL="…",r.SSA="†",r.ESA="‡",r.HTS="ˆ",r.HTJ="‰",r.VTS="Š",r.PLD="‹",r.PLU="Œ",r.RI="",r.SS2="Ž",r.SS3="",r.DCS="",r.PU1="‘",r.PU2="’",r.STS="“",r.CCH="”",r.MW="•",r.SPA="–",r.EPA="—",r.SOS="˜",r.SGCI="™",r.SCI="š",r.CSI="›",r.ST="œ",r.OSC="",r.PM="ž",r.APC="Ÿ"},7399:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.evaluateKeyboardEvent=void 0;var i=r(2584),o={48:["0",")"],49:["1","!"],50:["2","@"],51:["3","#"],52:["4","$"],53:["5","%"],54:["6","^"],55:["7","&"],56:["8","*"],57:["9","("],186:[";",":"],187:["=","+"],188:[",","<"],189:["-","_"],190:[".",">"],191:["/","?"],192:["`","~"],219:["[","{"],220:["\\","|"],221:["]","}"],222:["'",'"']};t.evaluateKeyboardEvent=function(e,t,r,n){var s={type:0,cancel:!1,key:void 0},a=(e.shiftKey?1:0)|(e.altKey?2:0)|(e.ctrlKey?4:0)|(e.metaKey?8:0);switch(e.keyCode){case 0:"UIKeyInputUpArrow"===e.key?s.key=t?i.C0.ESC+"OA":i.C0.ESC+"[A":"UIKeyInputLeftArrow"===e.key?s.key=t?i.C0.ESC+"OD":i.C0.ESC+"[D":"UIKeyInputRightArrow"===e.key?s.key=t?i.C0.ESC+"OC":i.C0.ESC+"[C":"UIKeyInputDownArrow"===e.key&&(s.key=t?i.C0.ESC+"OB":i.C0.ESC+"[B");break;case 8:if(e.shiftKey){s.key=i.C0.BS;break}if(e.altKey){s.key=i.C0.ESC+i.C0.DEL;break}s.key=i.C0.DEL;break;case 9:if(e.shiftKey){s.key=i.C0.ESC+"[Z";break}s.key=i.C0.HT,s.cancel=!0;break;case 13:s.key=e.altKey?i.C0.ESC+i.C0.CR:i.C0.CR,s.cancel=!0;break;case 27:s.key=i.C0.ESC,e.altKey&&(s.key=i.C0.ESC+i.C0.ESC),s.cancel=!0;break;case 37:if(e.metaKey)break;a?(s.key=i.C0.ESC+"[1;"+(a+1)+"D",s.key===i.C0.ESC+"[1;3D"&&(s.key=i.C0.ESC+(r?"b":"[1;5D"))):s.key=t?i.C0.ESC+"OD":i.C0.ESC+"[D";break;case 39:if(e.metaKey)break;a?(s.key=i.C0.ESC+"[1;"+(a+1)+"C",s.key===i.C0.ESC+"[1;3C"&&(s.key=i.C0.ESC+(r?"f":"[1;5C"))):s.key=t?i.C0.ESC+"OC":i.C0.ESC+"[C";break;case 38:if(e.metaKey)break;a?(s.key=i.C0.ESC+"[1;"+(a+1)+"A",r||s.key!==i.C0.ESC+"[1;3A"||(s.key=i.C0.ESC+"[1;5A")):s.key=t?i.C0.ESC+"OA":i.C0.ESC+"[A";break;case 40:if(e.metaKey)break;a?(s.key=i.C0.ESC+"[1;"+(a+1)+"B",r||s.key!==i.C0.ESC+"[1;3B"||(s.key=i.C0.ESC+"[1;5B")):s.key=t?i.C0.ESC+"OB":i.C0.ESC+"[B";break;case 45:e.shiftKey||e.ctrlKey||(s.key=i.C0.ESC+"[2~");break;case 46:s.key=a?i.C0.ESC+"[3;"+(a+1)+"~":i.C0.ESC+"[3~";break;case 36:s.key=a?i.C0.ESC+"[1;"+(a+1)+"H":t?i.C0.ESC+"OH":i.C0.ESC+"[H";break;case 35:s.key=a?i.C0.ESC+"[1;"+(a+1)+"F":t?i.C0.ESC+"OF":i.C0.ESC+"[F";break;case 33:e.shiftKey?s.type=2:s.key=i.C0.ESC+"[5~";break;case 34:e.shiftKey?s.type=3:s.key=i.C0.ESC+"[6~";break;case 112:s.key=a?i.C0.ESC+"[1;"+(a+1)+"P":i.C0.ESC+"OP";break;case 113:s.key=a?i.C0.ESC+"[1;"+(a+1)+"Q":i.C0.ESC+"OQ";break;case 114:s.key=a?i.C0.ESC+"[1;"+(a+1)+"R":i.C0.ESC+"OR";break;case 115:s.key=a?i.C0.ESC+"[1;"+(a+1)+"S":i.C0.ESC+"OS";break;case 116:s.key=a?i.C0.ESC+"[15;"+(a+1)+"~":i.C0.ESC+"[15~";break;case 117:s.key=a?i.C0.ESC+"[17;"+(a+1)+"~":i.C0.ESC+"[17~";break;case 118:s.key=a?i.C0.ESC+"[18;"+(a+1)+"~":i.C0.ESC+"[18~";break;case 119:s.key=a?i.C0.ESC+"[19;"+(a+1)+"~":i.C0.ESC+"[19~";break;case 120:s.key=a?i.C0.ESC+"[20;"+(a+1)+"~":i.C0.ESC+"[20~";break;case 121:s.key=a?i.C0.ESC+"[21;"+(a+1)+"~":i.C0.ESC+"[21~";break;case 122:s.key=a?i.C0.ESC+"[23;"+(a+1)+"~":i.C0.ESC+"[23~";break;case 123:s.key=a?i.C0.ESC+"[24;"+(a+1)+"~":i.C0.ESC+"[24~";break;default:if(!e.ctrlKey||e.shiftKey||e.altKey||e.metaKey)if(r&&!n||!e.altKey||e.metaKey)!r||e.altKey||e.ctrlKey||e.shiftKey||!e.metaKey?e.key&&!e.ctrlKey&&!e.altKey&&!e.metaKey&&e.keyCode>=48&&1===e.key.length?s.key=e.key:e.key&&e.ctrlKey&&"_"===e.key&&(s.key=i.C0.US):65===e.keyCode&&(s.type=1);else{var c=o[e.keyCode],l=c&&c[e.shiftKey?1:0];if(l)s.key=i.C0.ESC+l;else if(e.keyCode>=65&&e.keyCode<=90){var h=e.ctrlKey?e.keyCode-64:e.keyCode+32;s.key=i.C0.ESC+String.fromCharCode(h)}}else e.keyCode>=65&&e.keyCode<=90?s.key=String.fromCharCode(e.keyCode-64):32===e.keyCode?s.key=i.C0.NUL:e.keyCode>=51&&e.keyCode<=55?s.key=String.fromCharCode(e.keyCode-51+27):56===e.keyCode?s.key=i.C0.DEL:219===e.keyCode?s.key=i.C0.ESC:220===e.keyCode?s.key=i.C0.FS:221===e.keyCode&&(s.key=i.C0.GS)}return s}},482:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.Utf8ToUtf32=t.StringToUtf32=t.utf32ToString=t.stringFromCodePoint=void 0,t.stringFromCodePoint=function(e){return e>65535?(e-=65536,String.fromCharCode(55296+(e>>10))+String.fromCharCode(e%1024+56320)):String.fromCharCode(e)},t.utf32ToString=function(e,t,r){void 0===t&&(t=0),void 0===r&&(r=e.length);for(var i="",o=t;o65535?(n-=65536,i+=String.fromCharCode(55296+(n>>10))+String.fromCharCode(n%1024+56320)):i+=String.fromCharCode(n)}return i};var r=function(){function e(){this._interim=0}return e.prototype.clear=function(){this._interim=0},e.prototype.decode=function(e,t){var r=e.length;if(!r)return 0;var i=0,o=0;this._interim&&(56320<=(a=e.charCodeAt(o++))&&a<=57343?t[i++]=1024*(this._interim-55296)+a-56320+65536:(t[i++]=this._interim,t[i++]=a),this._interim=0);for(var n=o;n=r)return this._interim=s,i;var a;56320<=(a=e.charCodeAt(n))&&a<=57343?t[i++]=1024*(s-55296)+a-56320+65536:(t[i++]=s,t[i++]=a)}else 65279!==s&&(t[i++]=s)}return i},e}();t.StringToUtf32=r;var i=function(){function e(){this.interim=new Uint8Array(3)}return e.prototype.clear=function(){this.interim.fill(0)},e.prototype.decode=function(e,t){var r=e.length;if(!r)return 0;var i,o,n,s,a=0,c=0,l=0;if(this.interim[0]){var h=!1,u=this.interim[0];u&=192==(224&u)?31:224==(240&u)?15:7;for(var d=0,f=void 0;(f=63&this.interim[++d])&&d<4;)u<<=6,u|=f;for(var p=192==(224&this.interim[0])?2:224==(240&this.interim[0])?3:4,_=p-d;l<_;){if(l>=r)return 0;if(128!=(192&(f=e[l++]))){l--,h=!0;break}this.interim[d++]=f,u<<=6,u|=63&f}h||(2===p?u<128?l--:t[a++]=u:3===p?u<2048||u>=55296&&u<=57343||65279===u||(t[a++]=u):u<65536||u>1114111||(t[a++]=u)),this.interim.fill(0)}for(var g=r-4,v=l;v=r)return this.interim[0]=i,a;if(128!=(192&(o=e[v++]))){v--;continue}if((c=(31&i)<<6|63&o)<128){v--;continue}t[a++]=c}else if(224==(240&i)){if(v>=r)return this.interim[0]=i,a;if(128!=(192&(o=e[v++]))){v--;continue}if(v>=r)return this.interim[0]=i,this.interim[1]=o,a;if(128!=(192&(n=e[v++]))){v--;continue}if((c=(15&i)<<12|(63&o)<<6|63&n)<2048||c>=55296&&c<=57343||65279===c)continue;t[a++]=c}else if(240==(248&i)){if(v>=r)return this.interim[0]=i,a;if(128!=(192&(o=e[v++]))){v--;continue}if(v>=r)return this.interim[0]=i,this.interim[1]=o,a;if(128!=(192&(n=e[v++]))){v--;continue}if(v>=r)return this.interim[0]=i,this.interim[1]=o,this.interim[2]=n,a;if(128!=(192&(s=e[v++]))){v--;continue}if((c=(7&i)<<18|(63&o)<<12|(63&n)<<6|63&s)<65536||c>1114111)continue;t[a++]=c}}return a},e}();t.Utf8ToUtf32=i},225:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.UnicodeV6=void 0;var i,o=r(8273),n=[[768,879],[1155,1158],[1160,1161],[1425,1469],[1471,1471],[1473,1474],[1476,1477],[1479,1479],[1536,1539],[1552,1557],[1611,1630],[1648,1648],[1750,1764],[1767,1768],[1770,1773],[1807,1807],[1809,1809],[1840,1866],[1958,1968],[2027,2035],[2305,2306],[2364,2364],[2369,2376],[2381,2381],[2385,2388],[2402,2403],[2433,2433],[2492,2492],[2497,2500],[2509,2509],[2530,2531],[2561,2562],[2620,2620],[2625,2626],[2631,2632],[2635,2637],[2672,2673],[2689,2690],[2748,2748],[2753,2757],[2759,2760],[2765,2765],[2786,2787],[2817,2817],[2876,2876],[2879,2879],[2881,2883],[2893,2893],[2902,2902],[2946,2946],[3008,3008],[3021,3021],[3134,3136],[3142,3144],[3146,3149],[3157,3158],[3260,3260],[3263,3263],[3270,3270],[3276,3277],[3298,3299],[3393,3395],[3405,3405],[3530,3530],[3538,3540],[3542,3542],[3633,3633],[3636,3642],[3655,3662],[3761,3761],[3764,3769],[3771,3772],[3784,3789],[3864,3865],[3893,3893],[3895,3895],[3897,3897],[3953,3966],[3968,3972],[3974,3975],[3984,3991],[3993,4028],[4038,4038],[4141,4144],[4146,4146],[4150,4151],[4153,4153],[4184,4185],[4448,4607],[4959,4959],[5906,5908],[5938,5940],[5970,5971],[6002,6003],[6068,6069],[6071,6077],[6086,6086],[6089,6099],[6109,6109],[6155,6157],[6313,6313],[6432,6434],[6439,6440],[6450,6450],[6457,6459],[6679,6680],[6912,6915],[6964,6964],[6966,6970],[6972,6972],[6978,6978],[7019,7027],[7616,7626],[7678,7679],[8203,8207],[8234,8238],[8288,8291],[8298,8303],[8400,8431],[12330,12335],[12441,12442],[43014,43014],[43019,43019],[43045,43046],[64286,64286],[65024,65039],[65056,65059],[65279,65279],[65529,65531]],s=[[68097,68099],[68101,68102],[68108,68111],[68152,68154],[68159,68159],[119143,119145],[119155,119170],[119173,119179],[119210,119213],[119362,119364],[917505,917505],[917536,917631],[917760,917999]],a=function(){function e(){if(this.version="6",!i){i=new Uint8Array(65536),o.fill(i,1),i[0]=0,o.fill(i,0,1,32),o.fill(i,0,127,160),o.fill(i,2,4352,4448),i[9001]=2,i[9002]=2,o.fill(i,2,11904,42192),i[12351]=1,o.fill(i,2,44032,55204),o.fill(i,2,63744,64256),o.fill(i,2,65040,65050),o.fill(i,2,65072,65136),o.fill(i,2,65280,65377),o.fill(i,2,65504,65511);for(var e=0;et[o][1])return!1;for(;o>=i;)if(e>t[r=i+o>>1][1])i=r+1;else{if(!(e=131072&&e<=196605||e>=196608&&e<=262141?2:1},e}();t.UnicodeV6=a},5981:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.WriteBuffer=void 0;var r="undefined"==typeof queueMicrotask?function(e){Promise.resolve().then(e)}:queueMicrotask,i=function(){function e(e){this._action=e,this._writeBuffer=[],this._callbacks=[],this._pendingData=0,this._bufferOffset=0,this._isSyncWriting=!1,this._syncCalls=0}return e.prototype.writeSync=function(e,t){if(void 0!==t&&this._syncCalls>t)this._syncCalls=0;else if(this._pendingData+=e.length,this._writeBuffer.push(e),this._callbacks.push(void 0),this._syncCalls++,!this._isSyncWriting){var r;for(this._isSyncWriting=!0;r=this._writeBuffer.shift();){this._action(r);var i=this._callbacks.shift();i&&i()}this._pendingData=0,this._bufferOffset=2147483647,this._isSyncWriting=!1,this._syncCalls=0}},e.prototype.write=function(e,t){var r=this;if(this._pendingData>5e7)throw new Error("write data discarded, use flow control to avoid losing data");this._writeBuffer.length||(this._bufferOffset=0,setTimeout((function(){return r._innerWrite()}))),this._pendingData+=e.length,this._writeBuffer.push(e),this._callbacks.push(t)},e.prototype._innerWrite=function(e,t){var i=this;void 0===e&&(e=0),void 0===t&&(t=!0);for(var o=e||Date.now();this._writeBuffer.length>this._bufferOffset;){var n=this._writeBuffer[this._bufferOffset],s=this._action(n,t);if(s)return void s.catch((function(e){return r((function(){throw e})),Promise.resolve(!1)})).then((function(e){return Date.now()-o>=12?setTimeout((function(){return i._innerWrite(0,e)})):i._innerWrite(o,e)}));var a=this._callbacks[this._bufferOffset];if(a&&a(),this._bufferOffset++,this._pendingData-=n.length,Date.now()-o>=12)break}this._writeBuffer.length>this._bufferOffset?(this._bufferOffset>50&&(this._writeBuffer=this._writeBuffer.slice(this._bufferOffset),this._callbacks=this._callbacks.slice(this._bufferOffset),this._bufferOffset=0),setTimeout((function(){return i._innerWrite()}))):(this._writeBuffer.length=0,this._callbacks.length=0,this._pendingData=0,this._bufferOffset=0)},e}();t.WriteBuffer=i},5770:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.PAYLOAD_LIMIT=void 0,t.PAYLOAD_LIMIT=1e7},6351:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.DcsHandler=t.DcsParser=void 0;var i=r(482),o=r(8742),n=r(5770),s=[],a=function(){function e(){this._handlers=Object.create(null),this._active=s,this._ident=0,this._handlerFb=function(){},this._stack={paused:!1,loopPosition:0,fallThrough:!1}}return e.prototype.dispose=function(){this._handlers=Object.create(null),this._handlerFb=function(){},this._active=s},e.prototype.registerHandler=function(e,t){void 0===this._handlers[e]&&(this._handlers[e]=[]);var r=this._handlers[e];return r.push(t),{dispose:function(){var e=r.indexOf(t);-1!==e&&r.splice(e,1)}}},e.prototype.clearHandler=function(e){this._handlers[e]&&delete this._handlers[e]},e.prototype.setHandlerFallback=function(e){this._handlerFb=e},e.prototype.reset=function(){if(this._active.length)for(var e=this._stack.paused?this._stack.loopPosition-1:this._active.length-1;e>=0;--e)this._active[e].unhook(!1);this._stack.paused=!1,this._active=s,this._ident=0},e.prototype.hook=function(e,t){if(this.reset(),this._ident=e,this._active=this._handlers[e]||s,this._active.length)for(var r=this._active.length-1;r>=0;r--)this._active[r].hook(t);else this._handlerFb(this._ident,"HOOK",t)},e.prototype.put=function(e,t,r){if(this._active.length)for(var o=this._active.length-1;o>=0;o--)this._active[o].put(e,t,r);else this._handlerFb(this._ident,"PUT",i.utf32ToString(e,t,r))},e.prototype.unhook=function(e,t){if(void 0===t&&(t=!0),this._active.length){var r=!1,i=this._active.length-1,o=!1;if(this._stack.paused&&(i=this._stack.loopPosition-1,r=t,o=this._stack.fallThrough,this._stack.paused=!1),!o&&!1===r){for(;i>=0&&!0!==(r=this._active[i].unhook(e));i--)if(r instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=i,this._stack.fallThrough=!1,r;i--}for(;i>=0;i--)if((r=this._active[i].unhook(!1))instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=i,this._stack.fallThrough=!0,r}else this._handlerFb(this._ident,"UNHOOK",e);this._active=s,this._ident=0},e}();t.DcsParser=a;var c=new o.Params;c.addParam(0);var l=function(){function e(e){this._handler=e,this._data="",this._params=c,this._hitLimit=!1}return e.prototype.hook=function(e){this._params=e.length>1||e.params[0]?e.clone():c,this._data="",this._hitLimit=!1},e.prototype.put=function(e,t,r){this._hitLimit||(this._data+=i.utf32ToString(e,t,r),this._data.length>n.PAYLOAD_LIMIT&&(this._data="",this._hitLimit=!0))},e.prototype.unhook=function(e){var t=this,r=!1;if(this._hitLimit)r=!1;else if(e&&(r=this._handler(this._data,this._params))instanceof Promise)return r.then((function(e){return t._params=c,t._data="",t._hitLimit=!1,e}));return this._params=c,this._data="",this._hitLimit=!1,r},e}();t.DcsHandler=l},2015:function(e,t,r){var i,o=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});Object.defineProperty(t,"__esModule",{value:!0}),t.EscapeSequenceParser=t.VT500_TRANSITION_TABLE=t.TransitionTable=void 0;var n=r(844),s=r(8273),a=r(8742),c=r(6242),l=r(6351),h=function(){function e(e){this.table=new Uint8Array(e)}return e.prototype.setDefault=function(e,t){s.fill(this.table,e<<4|t)},e.prototype.add=function(e,t,r,i){this.table[t<<8|e]=r<<4|i},e.prototype.addMany=function(e,t,r,i){for(var o=0;o1)throw new Error("only one byte as prefix supported");if((r=e.prefix.charCodeAt(0))&&60>r||r>63)throw new Error("prefix must be in range 0x3c .. 0x3f")}if(e.intermediates){if(e.intermediates.length>2)throw new Error("only two bytes as intermediates are supported");for(var i=0;io||o>47)throw new Error("intermediate must be in range 0x20 .. 0x2f");r<<=8,r|=o}}if(1!==e.final.length)throw new Error("final must be a single byte");var n=e.final.charCodeAt(0);if(t[0]>n||n>t[1])throw new Error("final must be in range "+t[0]+" .. "+t[1]);return(r<<=8)|n},r.prototype.identToString=function(e){for(var t=[];e;)t.push(String.fromCharCode(255&e)),e>>=8;return t.reverse().join("")},r.prototype.dispose=function(){this._csiHandlers=Object.create(null),this._executeHandlers=Object.create(null),this._escHandlers=Object.create(null),this._oscParser.dispose(),this._dcsParser.dispose()},r.prototype.setPrintHandler=function(e){this._printHandler=e},r.prototype.clearPrintHandler=function(){this._printHandler=this._printHandlerFb},r.prototype.registerEscHandler=function(e,t){var r=this._identifier(e,[48,126]);void 0===this._escHandlers[r]&&(this._escHandlers[r]=[]);var i=this._escHandlers[r];return i.push(t),{dispose:function(){var e=i.indexOf(t);-1!==e&&i.splice(e,1)}}},r.prototype.clearEscHandler=function(e){this._escHandlers[this._identifier(e,[48,126])]&&delete this._escHandlers[this._identifier(e,[48,126])]},r.prototype.setEscHandlerFallback=function(e){this._escHandlerFb=e},r.prototype.setExecuteHandler=function(e,t){this._executeHandlers[e.charCodeAt(0)]=t},r.prototype.clearExecuteHandler=function(e){this._executeHandlers[e.charCodeAt(0)]&&delete this._executeHandlers[e.charCodeAt(0)]},r.prototype.setExecuteHandlerFallback=function(e){this._executeHandlerFb=e},r.prototype.registerCsiHandler=function(e,t){var r=this._identifier(e);void 0===this._csiHandlers[r]&&(this._csiHandlers[r]=[]);var i=this._csiHandlers[r];return i.push(t),{dispose:function(){var e=i.indexOf(t);-1!==e&&i.splice(e,1)}}},r.prototype.clearCsiHandler=function(e){this._csiHandlers[this._identifier(e)]&&delete this._csiHandlers[this._identifier(e)]},r.prototype.setCsiHandlerFallback=function(e){this._csiHandlerFb=e},r.prototype.registerDcsHandler=function(e,t){return this._dcsParser.registerHandler(this._identifier(e),t)},r.prototype.clearDcsHandler=function(e){this._dcsParser.clearHandler(this._identifier(e))},r.prototype.setDcsHandlerFallback=function(e){this._dcsParser.setHandlerFallback(e)},r.prototype.registerOscHandler=function(e,t){return this._oscParser.registerHandler(e,t)},r.prototype.clearOscHandler=function(e){this._oscParser.clearHandler(e)},r.prototype.setOscHandlerFallback=function(e){this._oscParser.setHandlerFallback(e)},r.prototype.setErrorHandler=function(e){this._errorHandler=e},r.prototype.clearErrorHandler=function(){this._errorHandler=this._errorHandlerFb},r.prototype.reset=function(){this.currentState=this.initialState,this._oscParser.reset(),this._dcsParser.reset(),this._params.reset(),this._params.addParam(0),this._collect=0,this.precedingCodepoint=0,0!==this._parseStack.state&&(this._parseStack.state=2,this._parseStack.handlers=[])},r.prototype._preserveStack=function(e,t,r,i,o){this._parseStack.state=e,this._parseStack.handlers=t,this._parseStack.handlerPos=r,this._parseStack.transition=i,this._parseStack.chunkPos=o},r.prototype.parse=function(e,t,r){var i,o=0,n=0,s=0;if(this._parseStack.state)if(2===this._parseStack.state)this._parseStack.state=0,s=this._parseStack.chunkPos+1;else{if(void 0===r||1===this._parseStack.state)throw this._parseStack.state=1,new Error("improper continuation due to previous async handler, giving up parsing");var a=this._parseStack.handlers,c=this._parseStack.handlerPos-1;switch(this._parseStack.state){case 3:if(!1===r&&c>-1)for(;c>=0&&!0!==(i=a[c](this._params));c--)if(i instanceof Promise)return this._parseStack.handlerPos=c,i;this._parseStack.handlers=[];break;case 4:if(!1===r&&c>-1)for(;c>=0&&!0!==(i=a[c]());c--)if(i instanceof Promise)return this._parseStack.handlerPos=c,i;this._parseStack.handlers=[];break;case 6:if(o=e[this._parseStack.chunkPos],i=this._dcsParser.unhook(24!==o&&26!==o,r))return i;27===o&&(this._parseStack.transition|=1),this._params.reset(),this._params.addParam(0),this._collect=0;break;case 5:if(o=e[this._parseStack.chunkPos],i=this._oscParser.end(24!==o&&26!==o,r))return i;27===o&&(this._parseStack.transition|=1),this._params.reset(),this._params.addParam(0),this._collect=0}this._parseStack.state=0,s=this._parseStack.chunkPos+1,this.precedingCodepoint=0,this.currentState=15&this._parseStack.transition}for(var l=s;l>4){case 2:for(var h=l+1;;++h){if(h>=t||(o=e[h])<32||o>126&&o=t||(o=e[h])<32||o>126&&o=t||(o=e[h])<32||o>126&&o=t||(o=e[h])<32||o>126&&o=0&&!0!==(i=a[d](this._params));d--)if(i instanceof Promise)return this._preserveStack(3,a,d,n,l),i;d<0&&this._csiHandlerFb(this._collect<<8|o,this._params),this.precedingCodepoint=0;break;case 8:do{switch(o){case 59:this._params.addParam(0);break;case 58:this._params.addSubParam(-1);break;default:this._params.addDigit(o-48)}}while(++l47&&o<60);l--;break;case 9:this._collect<<=8,this._collect|=o;break;case 10:for(var f=this._escHandlers[this._collect<<8|o],p=f?f.length-1:-1;p>=0&&!0!==(i=f[p]());p--)if(i instanceof Promise)return this._preserveStack(4,f,p,n,l),i;p<0&&this._escHandlerFb(this._collect<<8|o),this.precedingCodepoint=0;break;case 11:this._params.reset(),this._params.addParam(0),this._collect=0;break;case 12:this._dcsParser.hook(this._collect<<8|o,this._params);break;case 13:for(var _=l+1;;++_)if(_>=t||24===(o=e[_])||26===o||27===o||o>127&&o=t||(o=e[g])<32||o>127&&o{Object.defineProperty(t,"__esModule",{value:!0}),t.OscHandler=t.OscParser=void 0;var i=r(5770),o=r(482),n=[],s=function(){function e(){this._state=0,this._active=n,this._id=-1,this._handlers=Object.create(null),this._handlerFb=function(){},this._stack={paused:!1,loopPosition:0,fallThrough:!1}}return e.prototype.registerHandler=function(e,t){void 0===this._handlers[e]&&(this._handlers[e]=[]);var r=this._handlers[e];return r.push(t),{dispose:function(){var e=r.indexOf(t);-1!==e&&r.splice(e,1)}}},e.prototype.clearHandler=function(e){this._handlers[e]&&delete this._handlers[e]},e.prototype.setHandlerFallback=function(e){this._handlerFb=e},e.prototype.dispose=function(){this._handlers=Object.create(null),this._handlerFb=function(){},this._active=n},e.prototype.reset=function(){if(2===this._state)for(var e=this._stack.paused?this._stack.loopPosition-1:this._active.length-1;e>=0;--e)this._active[e].end(!1);this._stack.paused=!1,this._active=n,this._id=-1,this._state=0},e.prototype._start=function(){if(this._active=this._handlers[this._id]||n,this._active.length)for(var e=this._active.length-1;e>=0;e--)this._active[e].start();else this._handlerFb(this._id,"START")},e.prototype._put=function(e,t,r){if(this._active.length)for(var i=this._active.length-1;i>=0;i--)this._active[i].put(e,t,r);else this._handlerFb(this._id,"PUT",o.utf32ToString(e,t,r))},e.prototype.start=function(){this.reset(),this._state=1},e.prototype.put=function(e,t,r){if(3!==this._state){if(1===this._state)for(;t0&&this._put(e,t,r)}},e.prototype.end=function(e,t){if(void 0===t&&(t=!0),0!==this._state){if(3!==this._state)if(1===this._state&&this._start(),this._active.length){var r=!1,i=this._active.length-1,o=!1;if(this._stack.paused&&(i=this._stack.loopPosition-1,r=t,o=this._stack.fallThrough,this._stack.paused=!1),!o&&!1===r){for(;i>=0&&!0!==(r=this._active[i].end(e));i--)if(r instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=i,this._stack.fallThrough=!1,r;i--}for(;i>=0;i--)if((r=this._active[i].end(!1))instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=i,this._stack.fallThrough=!0,r}else this._handlerFb(this._id,"END",e);this._active=n,this._id=-1,this._state=0}},e}();t.OscParser=s;var a=function(){function e(e){this._handler=e,this._data="",this._hitLimit=!1}return e.prototype.start=function(){this._data="",this._hitLimit=!1},e.prototype.put=function(e,t,r){this._hitLimit||(this._data+=o.utf32ToString(e,t,r),this._data.length>i.PAYLOAD_LIMIT&&(this._data="",this._hitLimit=!0))},e.prototype.end=function(e){var t=this,r=!1;if(this._hitLimit)r=!1;else if(e&&(r=this._handler(this._data))instanceof Promise)return r.then((function(e){return t._data="",t._hitLimit=!1,e}));return this._data="",this._hitLimit=!1,r},e}();t.OscHandler=a},8742:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.Params=void 0;var r=2147483647,i=function(){function e(e,t){if(void 0===e&&(e=32),void 0===t&&(t=32),this.maxLength=e,this.maxSubParamsLength=t,t>256)throw new Error("maxSubParamsLength must not be greater than 256");this.params=new Int32Array(e),this.length=0,this._subParams=new Int32Array(t),this._subParamsLength=0,this._subParamsIdx=new Uint16Array(e),this._rejectDigits=!1,this._rejectSubDigits=!1,this._digitIsSub=!1}return e.fromArray=function(t){var r=new e;if(!t.length)return r;for(var i=t[0]instanceof Array?1:0;i>8,i=255&this._subParamsIdx[t];i-r>0&&e.push(Array.prototype.slice.call(this._subParams,r,i))}return e},e.prototype.reset=function(){this.length=0,this._subParamsLength=0,this._rejectDigits=!1,this._rejectSubDigits=!1,this._digitIsSub=!1},e.prototype.addParam=function(e){if(this._digitIsSub=!1,this.length>=this.maxLength)this._rejectDigits=!0;else{if(e<-1)throw new Error("values lesser than -1 are not allowed");this._subParamsIdx[this.length]=this._subParamsLength<<8|this._subParamsLength,this.params[this.length++]=e>r?r:e}},e.prototype.addSubParam=function(e){if(this._digitIsSub=!0,this.length)if(this._rejectDigits||this._subParamsLength>=this.maxSubParamsLength)this._rejectSubDigits=!0;else{if(e<-1)throw new Error("values lesser than -1 are not allowed");this._subParams[this._subParamsLength++]=e>r?r:e,this._subParamsIdx[this.length-1]++}},e.prototype.hasSubParams=function(e){return(255&this._subParamsIdx[e])-(this._subParamsIdx[e]>>8)>0},e.prototype.getSubParams=function(e){var t=this._subParamsIdx[e]>>8,r=255&this._subParamsIdx[e];return r-t>0?this._subParams.subarray(t,r):null},e.prototype.getSubParamsAll=function(){for(var e={},t=0;t>8,i=255&this._subParamsIdx[t];i-r>0&&(e[t]=this._subParams.slice(r,i))}return e},e.prototype.addDigit=function(e){var t;if(!(this._rejectDigits||!(t=this._digitIsSub?this._subParamsLength:this.length)||this._digitIsSub&&this._rejectSubDigits)){var i=this._digitIsSub?this._subParams:this.params,o=i[t-1];i[t-1]=~o?Math.min(10*o+e,r):e}},e}();t.Params=i},744:function(e,t,r){var i,o=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),n=this&&this.__decorate||function(e,t,r,i){var o,n=arguments.length,s=n<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(s=(n<3?o(s):n>3?o(t,r,s):o(t,r))||s);return n>3&&s&&Object.defineProperty(t,r,s),s},s=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.BufferService=t.MINIMUM_ROWS=t.MINIMUM_COLS=void 0;var a=r(2585),c=r(5295),l=r(8460),h=r(844);t.MINIMUM_COLS=2,t.MINIMUM_ROWS=1;var u=function(e){function r(r){var i=e.call(this)||this;return i._optionsService=r,i.isUserScrolling=!1,i._onResize=new l.EventEmitter,i._onScroll=new l.EventEmitter,i.cols=Math.max(r.options.cols,t.MINIMUM_COLS),i.rows=Math.max(r.options.rows,t.MINIMUM_ROWS),i.buffers=new c.BufferSet(r,i),i}return o(r,e),Object.defineProperty(r.prototype,"onResize",{get:function(){return this._onResize.event},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"onScroll",{get:function(){return this._onScroll.event},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"buffer",{get:function(){return this.buffers.active},enumerable:!1,configurable:!0}),r.prototype.dispose=function(){e.prototype.dispose.call(this),this.buffers.dispose()},r.prototype.resize=function(e,t){this.cols=e,this.rows=t,this.buffers.resize(e,t),this.buffers.setupTabStops(this.cols),this._onResize.fire({cols:e,rows:t})},r.prototype.reset=function(){this.buffers.reset(),this.isUserScrolling=!1},r.prototype.scroll=function(e,t){void 0===t&&(t=!1);var r,i=this.buffer;(r=this._cachedBlankLine)&&r.length===this.cols&&r.getFg(0)===e.fg&&r.getBg(0)===e.bg||(r=i.getBlankLine(e,t),this._cachedBlankLine=r),r.isWrapped=t;var o=i.ybase+i.scrollTop,n=i.ybase+i.scrollBottom;if(0===i.scrollTop){var s=i.lines.isFull;n===i.lines.length-1?s?i.lines.recycle().copyFrom(r):i.lines.push(r.clone()):i.lines.splice(n+1,0,r.clone()),s?this.isUserScrolling&&(i.ydisp=Math.max(i.ydisp-1,0)):(i.ybase++,this.isUserScrolling||i.ydisp++)}else{var a=n-o+1;i.lines.shiftElements(o+1,a-1,-1),i.lines.set(n,r.clone())}this.isUserScrolling||(i.ydisp=i.ybase),this._onScroll.fire(i.ydisp)},r.prototype.scrollLines=function(e,t,r){var i=this.buffer;if(e<0){if(0===i.ydisp)return;this.isUserScrolling=!0}else e+i.ydisp>=i.ybase&&(this.isUserScrolling=!1);var o=i.ydisp;i.ydisp=Math.max(Math.min(i.ydisp+e,i.ybase),0),o!==i.ydisp&&(t||this._onScroll.fire(i.ydisp))},r.prototype.scrollPages=function(e){this.scrollLines(e*(this.rows-1))},r.prototype.scrollToTop=function(){this.scrollLines(-this.buffer.ydisp)},r.prototype.scrollToBottom=function(){this.scrollLines(this.buffer.ybase-this.buffer.ydisp)},r.prototype.scrollToLine=function(e){var t=e-this.buffer.ydisp;0!==t&&this.scrollLines(t)},n([s(0,a.IOptionsService)],r)}(h.Disposable);t.BufferService=u},7994:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.CharsetService=void 0;var r=function(){function e(){this.glevel=0,this._charsets=[]}return e.prototype.reset=function(){this.charset=void 0,this._charsets=[],this.glevel=0},e.prototype.setgLevel=function(e){this.glevel=e,this.charset=this._charsets[e]},e.prototype.setgCharset=function(e,t){this._charsets[e]=t,this.glevel===e&&(this.charset=t)},e}();t.CharsetService=r},1753:function(e,t,r){var i=this&&this.__decorate||function(e,t,r,i){var o,n=arguments.length,s=n<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(s=(n<3?o(s):n>3?o(t,r,s):o(t,r))||s);return n>3&&s&&Object.defineProperty(t,r,s),s},o=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.CoreMouseService=void 0;var n=r(2585),s=r(8460),a={NONE:{events:0,restrict:function(){return!1}},X10:{events:1,restrict:function(e){return 4!==e.button&&1===e.action&&(e.ctrl=!1,e.alt=!1,e.shift=!1,!0)}},VT200:{events:19,restrict:function(e){return 32!==e.action}},DRAG:{events:23,restrict:function(e){return 32!==e.action||3!==e.button}},ANY:{events:31,restrict:function(e){return!0}}};function c(e,t){var r=(e.ctrl?16:0)|(e.shift?4:0)|(e.alt?8:0);return 4===e.button?(r|=64,r|=e.action):(r|=3&e.button,4&e.button&&(r|=64),8&e.button&&(r|=128),32===e.action?r|=32:0!==e.action||t||(r|=3)),r}var l=String.fromCharCode,h={DEFAULT:function(e){var t=[c(e,!1)+32,e.col+32,e.row+32];return t[0]>255||t[1]>255||t[2]>255?"":""+l(t[0])+l(t[1])+l(t[2])},SGR:function(e){var t=0===e.action&&4!==e.button?"m":"M";return"[<"+c(e,!0)+";"+e.col+";"+e.row+t}},u=function(){function e(e,t){this._bufferService=e,this._coreService=t,this._protocols={},this._encodings={},this._activeProtocol="",this._activeEncoding="",this._onProtocolChange=new s.EventEmitter,this._lastEvent=null;for(var r=0,i=Object.keys(a);r=this._bufferService.cols||e.row<0||e.row>=this._bufferService.rows)return!1;if(4===e.button&&32===e.action)return!1;if(3===e.button&&32!==e.action)return!1;if(4!==e.button&&(2===e.action||3===e.action))return!1;if(e.col++,e.row++,32===e.action&&this._lastEvent&&this._compareEvents(this._lastEvent,e))return!1;if(!this._protocols[this._activeProtocol].restrict(e))return!1;var t=this._encodings[this._activeEncoding](e);return t&&("DEFAULT"===this._activeEncoding?this._coreService.triggerBinaryEvent(t):this._coreService.triggerDataEvent(t,!0)),this._lastEvent=e,!0},e.prototype.explainEvents=function(e){return{down:!!(1&e),up:!!(2&e),drag:!!(4&e),move:!!(8&e),wheel:!!(16&e)}},e.prototype._compareEvents=function(e,t){return e.col===t.col&&e.row===t.row&&e.button===t.button&&e.action===t.action&&e.ctrl===t.ctrl&&e.alt===t.alt&&e.shift===t.shift},i([o(0,n.IBufferService),o(1,n.ICoreService)],e)}();t.CoreMouseService=u},6975:function(e,t,r){var i,o=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),n=this&&this.__decorate||function(e,t,r,i){var o,n=arguments.length,s=n<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(s=(n<3?o(s):n>3?o(t,r,s):o(t,r))||s);return n>3&&s&&Object.defineProperty(t,r,s),s},s=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.CoreService=void 0;var a=r(2585),c=r(8460),l=r(1439),h=r(844),u=Object.freeze({insertMode:!1}),d=Object.freeze({applicationCursorKeys:!1,applicationKeypad:!1,bracketedPasteMode:!1,origin:!1,reverseWraparound:!1,sendFocus:!1,wraparound:!0}),f=function(e){function t(t,r,i,o){var n=e.call(this)||this;return n._bufferService=r,n._logService=i,n._optionsService=o,n.isCursorInitialized=!1,n.isCursorHidden=!1,n._onData=n.register(new c.EventEmitter),n._onUserInput=n.register(new c.EventEmitter),n._onBinary=n.register(new c.EventEmitter),n._scrollToBottom=t,n.register({dispose:function(){return n._scrollToBottom=void 0}}),n.modes=l.clone(u),n.decPrivateModes=l.clone(d),n}return o(t,e),Object.defineProperty(t.prototype,"onData",{get:function(){return this._onData.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onUserInput",{get:function(){return this._onUserInput.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onBinary",{get:function(){return this._onBinary.event},enumerable:!1,configurable:!0}),t.prototype.reset=function(){this.modes=l.clone(u),this.decPrivateModes=l.clone(d)},t.prototype.triggerDataEvent=function(e,t){if(void 0===t&&(t=!1),!this._optionsService.options.disableStdin){var r=this._bufferService.buffer;r.ybase!==r.ydisp&&this._scrollToBottom(),t&&this._onUserInput.fire(),this._logService.debug('sending data "'+e+'"',(function(){return e.split("").map((function(e){return e.charCodeAt(0)}))})),this._onData.fire(e)}},t.prototype.triggerBinaryEvent=function(e){this._optionsService.options.disableStdin||(this._logService.debug('sending binary "'+e+'"',(function(){return e.split("").map((function(e){return e.charCodeAt(0)}))})),this._onBinary.fire(e))},n([s(1,a.IBufferService),s(2,a.ILogService),s(3,a.IOptionsService)],t)}(h.Disposable);t.CoreService=f},3730:function(e,t,r){var i=this&&this.__decorate||function(e,t,r,i){var o,n=arguments.length,s=n<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(s=(n<3?o(s):n>3?o(t,r,s):o(t,r))||s);return n>3&&s&&Object.defineProperty(t,r,s),s},o=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.DirtyRowService=void 0;var n=r(2585),s=function(){function e(e){this._bufferService=e,this.clearRange()}return Object.defineProperty(e.prototype,"start",{get:function(){return this._start},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"end",{get:function(){return this._end},enumerable:!1,configurable:!0}),e.prototype.clearRange=function(){this._start=this._bufferService.buffer.y,this._end=this._bufferService.buffer.y},e.prototype.markDirty=function(e){ethis._end&&(this._end=e)},e.prototype.markRangeDirty=function(e,t){if(e>t){var r=e;e=t,t=r}ethis._end&&(this._end=t)},e.prototype.markAllDirty=function(){this.markRangeDirty(0,this._bufferService.rows-1)},i([o(0,n.IBufferService)],e)}();t.DirtyRowService=s},4348:function(e,t,r){var i=this&&this.__spreadArrays||function(){for(var e=0,t=0,r=arguments.length;t0?o[0].index:t.length;if(t.length!==u)throw new Error("[createInstance] First service dependency of "+e.name+" at position "+(u+1)+" conflicts with "+t.length+" static arguments");return new(e.bind.apply(e,i([void 0],i(t,s))))},e}();t.InstantiationService=a},7866:function(e,t,r){var i=this&&this.__decorate||function(e,t,r,i){var o,n=arguments.length,s=n<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(s=(n<3?o(s):n>3?o(t,r,s):o(t,r))||s);return n>3&&s&&Object.defineProperty(t,r,s),s},o=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}},n=this&&this.__spreadArrays||function(){for(var e=0,t=0,r=arguments.length;t{Object.defineProperty(t,"__esModule",{value:!0}),t.OptionsService=t.DEFAULT_OPTIONS=t.DEFAULT_BELL_SOUND=void 0;var i=r(8460),o=r(6114),n=r(1439);t.DEFAULT_BELL_SOUND="data:audio/mp3;base64,SUQzBAAAAAAAI1RTU0UAAAAPAAADTGF2ZjU4LjMyLjEwNAAAAAAAAAAAAAAA//tQxAADB8AhSmxhIIEVCSiJrDCQBTcu3UrAIwUdkRgQbFAZC1CQEwTJ9mjRvBA4UOLD8nKVOWfh+UlK3z/177OXrfOdKl7pyn3Xf//WreyTRUoAWgBgkOAGbZHBgG1OF6zM82DWbZaUmMBptgQhGjsyYqc9ae9XFz280948NMBWInljyzsNRFLPWdnZGWrddDsjK1unuSrVN9jJsK8KuQtQCtMBjCEtImISdNKJOopIpBFpNSMbIHCSRpRR5iakjTiyzLhchUUBwCgyKiweBv/7UsQbg8isVNoMPMjAAAA0gAAABEVFGmgqK////9bP/6XCykxBTUUzLjEwMKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq",t.DEFAULT_OPTIONS=Object.freeze({cols:80,rows:24,cursorBlink:!1,cursorStyle:"block",cursorWidth:1,bellSound:t.DEFAULT_BELL_SOUND,bellStyle:"none",drawBoldTextInBrightColors:!0,fastScrollModifier:"alt",fastScrollSensitivity:5,fontFamily:"courier-new, courier, monospace",fontSize:15,fontWeight:"normal",fontWeightBold:"bold",lineHeight:1,linkTooltipHoverDuration:500,letterSpacing:0,logLevel:"info",scrollback:1e3,scrollSensitivity:1,screenReaderMode:!1,macOptionIsMeta:!1,macOptionClickForcesSelection:!1,minimumContrastRatio:1,disableStdin:!1,allowProposedApi:!0,allowTransparency:!1,tabStopWidth:8,theme:{},rightClickSelectsWord:o.isMac,rendererType:"canvas",windowOptions:{},windowsMode:!1,wordSeparator:" ()[]{}',\"`",altClickMovesCursor:!0,convertEol:!1,termName:"xterm",cancelEvents:!1});var s=["normal","bold","100","200","300","400","500","600","700","800","900"],a=["cols","rows"],c=function(){function e(e){this._onOptionChange=new i.EventEmitter,this.options=n.clone(t.DEFAULT_OPTIONS);for(var r=0,o=Object.keys(e);r{function r(e,t,r){t.di$target===t?t.di$dependencies.push({id:e,index:r}):(t.di$dependencies=[{id:e,index:r}],t.di$target=t)}Object.defineProperty(t,"__esModule",{value:!0}),t.createDecorator=t.getServiceDependencies=t.serviceRegistry=void 0,t.serviceRegistry=new Map,t.getServiceDependencies=function(e){return e.di$dependencies||[]},t.createDecorator=function(e){if(t.serviceRegistry.has(e))return t.serviceRegistry.get(e);var i=function(e,t,o){if(3!==arguments.length)throw new Error("@IServiceName-decorator can only be used to decorate a parameter");r(i,e,o)};return i.toString=function(){return e},t.serviceRegistry.set(e,i),i}},2585:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.IUnicodeService=t.LogLevelEnum=t.IOptionsService=t.ILogService=t.IInstantiationService=t.IDirtyRowService=t.ICharsetService=t.ICoreService=t.ICoreMouseService=t.IBufferService=void 0;var i,o=r(8343);t.IBufferService=o.createDecorator("BufferService"),t.ICoreMouseService=o.createDecorator("CoreMouseService"),t.ICoreService=o.createDecorator("CoreService"),t.ICharsetService=o.createDecorator("CharsetService"),t.IDirtyRowService=o.createDecorator("DirtyRowService"),t.IInstantiationService=o.createDecorator("InstantiationService"),t.ILogService=o.createDecorator("LogService"),t.IOptionsService=o.createDecorator("OptionsService"),(i=t.LogLevelEnum||(t.LogLevelEnum={}))[i.DEBUG=0]="DEBUG",i[i.INFO=1]="INFO",i[i.WARN=2]="WARN",i[i.ERROR=3]="ERROR",i[i.OFF=4]="OFF",t.IUnicodeService=o.createDecorator("UnicodeService")},1480:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.UnicodeService=void 0;var i=r(8460),o=r(225),n=function(){function e(){this._providers=Object.create(null),this._active="",this._onChange=new i.EventEmitter;var e=new o.UnicodeV6;this.register(e),this._active=e.version,this._activeProvider=e}return Object.defineProperty(e.prototype,"onChange",{get:function(){return this._onChange.event},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"versions",{get:function(){return Object.keys(this._providers)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"activeVersion",{get:function(){return this._active},set:function(e){if(!this._providers[e])throw new Error('unknown Unicode version "'+e+'"');this._active=e,this._activeProvider=this._providers[e],this._onChange.fire(e)},enumerable:!1,configurable:!0}),e.prototype.register=function(e){this._providers[e.version]=e},e.prototype.wcwidth=function(e){return this._activeProvider.wcwidth(e)},e.prototype.getStringCellWidth=function(e){for(var t=0,r=e.length,i=0;i=r)return t+this.wcwidth(o);var n=e.charCodeAt(i);56320<=n&&n<=57343?o=1024*(o-55296)+n-56320+65536:t+=this.wcwidth(n)}t+=this.wcwidth(o)}return t},e}();t.UnicodeService=n}},t={};return function r(i){if(t[i])return t[i].exports;var o=t[i]={exports:{}};return e[i].call(o.exports,o,o.exports,r),o.exports}(4389)})()},114:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Hterm=void 0;var i=r(276),o=function(){function e(e){this.elem=e,i.hterm.defaultStorage=new i.lib.Storage.Memory,this.term=new i.hterm.Terminal,this.term.getPrefs().set("send-encoding","raw"),this.term.decorate(this.elem),this.io=this.term.io.push(),this.term.installKeyboard()}return e.prototype.info=function(){return{columns:this.columns,rows:this.rows}},e.prototype.output=function(e){null!=this.term.io&&this.term.io.writeUTF8(e)},e.prototype.showMessage=function(e,t){this.message=e,t>0?this.term.io.showOverlay(e,t):this.term.io.showOverlay(e,null)},e.prototype.removeMessage=function(){this.term.io.showOverlay(this.message,0)},e.prototype.setWindowTitle=function(e){this.term.setWindowTitle(e)},e.prototype.setPreferences=function(e){var t=this;Object.keys(e).forEach((function(r){"EnableWebGL"!=r&&t.term.getPrefs().set(r,e[r])}))},e.prototype.onInput=function(e){this.io.onVTKeystroke=function(t){e(t)},this.io.sendString=function(t){e(t)}},e.prototype.onResize=function(e){var t=this;this.io.onTerminalResize=function(r,i){t.columns=r,t.rows=i,e(r,i)}},e.prototype.deactivate=function(){this.io.onVTKeystroke=function(){},this.io.sendString=function(){},this.io.onTerminalResize=function(){},this.term.uninstallKeyboard()},e.prototype.reset=function(){this.removeMessage(),this.term.installKeyboard()},e.prototype.close=function(){this.term.uninstallKeyboard()},e}();t.Hterm=o},69:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Connection=t.ConnectionFactory=void 0;var r=function(){function e(e,t){this.url=e,this.protocols=t}return e.prototype.create=function(){return new i(this.url,this.protocols)},e}();t.ConnectionFactory=r;var i=function(){function e(e,t){this.bare=new WebSocket(e,t)}return e.prototype.open=function(){},e.prototype.close=function(){this.bare.close()},e.prototype.send=function(e){this.bare.send(e)},e.prototype.isOpen=function(){return this.bare.readyState==WebSocket.CONNECTING||this.bare.readyState==WebSocket.OPEN},e.prototype.onOpen=function(e){this.bare.onopen=function(t){e()}},e.prototype.onReceive=function(e){this.bare.onmessage=function(t){e(t.data)}},e.prototype.onClose=function(e){this.bare.onclose=function(t){e()}},e}();t.Connection=i},818:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WebTTY=t.msgSetBufferSize=t.msgSetReconnect=t.msgSetPreferences=t.msgSetWindowTitle=t.msgPong=t.msgOutput=t.msgUnknownOutput=t.msgResizeTerminal=t.msgPing=t.msgInput=t.msgInputUnknown=t.protocols=void 0,t.protocols=["webtty"],t.msgInputUnknown="0",t.msgInput="1",t.msgPing="2",t.msgResizeTerminal="3",t.msgUnknownOutput="0",t.msgOutput="1",t.msgPong="2",t.msgSetWindowTitle="3",t.msgSetPreferences="4",t.msgSetReconnect="5",t.msgSetBufferSize="6";var r=function(){function e(e,t,r,i){this.term=e,this.connectionFactory=t,this.args=r,this.authToken=i,this.reconnect=-1,this.bufSize=1024}return e.prototype.open=function(){var e,r,i=this,o=this.connectionFactory.create(),n=function(){o.onOpen((function(){var r=i.term.info();o.send(JSON.stringify({Arguments:i.args,AuthToken:i.authToken}));var n=function(e,r){o.send(t.msgResizeTerminal+JSON.stringify({columns:e,rows:r}))};i.term.onResize(n),n(r.columns,r.rows),i.term.onInput((function(e){for(var r=i.bufSize-1,n=0;n0&&(r=setTimeout((function(){o=i.connectionFactory.create(),i.term.reset(),n()}),1e3*i.reconnect))})),o.open()};return n(),function(){clearTimeout(r),o.close()}},e}();t.WebTTY=r},949:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Xterm=void 0;var i=r(841),o=r(881),n=r(962),s=r(445),a=r(276),c=function(){function e(e){var t=this;this.elem=e,this.term=new i.Terminal,this.fitAddOn=new o.FitAddon,this.term.loadAddon(new n.WebLinksAddon),this.term.loadAddon(this.fitAddOn),this.message=e.ownerDocument.createElement("div"),this.message.className="xterm-overlay",this.messageTimeout=2e3,this.resizeListener=function(){t.fitAddOn.fit(),t.term.scrollToBottom(),t.showMessage(String(t.term.cols)+"x"+String(t.term.rows),t.messageTimeout)},this.term.open(e),this.term.focus(),this.resizeListener(),window.addEventListener("resize",(function(){t.resizeListener()})),this.decoder=new a.lib.UTF8Decoder}return e.prototype.info=function(){return{columns:this.term.cols,rows:this.term.rows}},e.prototype.output=function(e){this.term.write(this.decoder.decode(e))},e.prototype.showMessage=function(e,t){var r=this;this.message.textContent=e,this.elem.appendChild(this.message),this.messageTimer&&clearTimeout(this.messageTimer),t>0&&(this.messageTimer=setTimeout((function(){r.elem.removeChild(r.message)}),t))},e.prototype.removeMessage=function(){this.message.parentNode==this.elem&&this.elem.removeChild(this.message)},e.prototype.setWindowTitle=function(e){document.title=e},e.prototype.setPreferences=function(e){var t=this;Object.keys(e).forEach((function(r){"EnableWebGL"==r&&r?t.term.loadAddon(new s.WebglAddon):"font-size"==r?t.term.setOption("fontSize",e[r]):"font-family"==r&&t.term.setOption("fontFamily",e[r])}))},e.prototype.onInput=function(e){this.onDataHandler=this.term.onData((function(t){e(t)}))},e.prototype.onResize=function(e){var t=this;this.onResizeHandler=this.term.onResize((function(){e(t.term.cols,t.term.rows)}))},e.prototype.deactivate=function(){this.onDataHandler.dispose(),this.onResizeHandler.dispose(),this.term.blur()},e.prototype.reset=function(){this.removeMessage(),this.term.clear()},e.prototype.close=function(){window.removeEventListener("resize",this.resizeListener),this.term.dispose()},e}();t.Xterm=c}},t={};function r(i){var o=t[i];if(void 0!==o)return o.exports;var n=t[i]={exports:{}};return e[i](n,n.exports,r),n.exports}(()=>{"use strict";var e=r(114),t=r(949),i=r(818),o=r(69),n=document.getElementById("terminal");if(null!==n){var s;s="hterm"==gotty_term?new e.Hterm(n):new t.Xterm(n);var a=("https:"==window.location.protocol?"wss://":"ws://")+window.location.host+window.location.pathname+"ws",c=window.location.search,l=new o.ConnectionFactory(a,i.protocols),h=new i.WebTTY(s,l,c,gotty_auth_token).open();window.addEventListener("unload",(function(){h(),s.close()}))}})()})(); +(()=>{var e={881:e=>{self,e.exports=(()=>{"use strict";var e={775:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.FitAddon=void 0;var r=function(){function e(){}return e.prototype.activate=function(e){this._terminal=e},e.prototype.dispose=function(){},e.prototype.fit=function(){var e=this.proposeDimensions();if(e&&this._terminal){var t=this._terminal._core;this._terminal.rows===e.rows&&this._terminal.cols===e.cols||(t._renderService.clear(),this._terminal.resize(e.cols,e.rows))}},e.prototype.proposeDimensions=function(){if(this._terminal&&this._terminal.element&&this._terminal.element.parentElement){var e=this._terminal._core;if(0!==e._renderService.dimensions.actualCellWidth&&0!==e._renderService.dimensions.actualCellHeight){var t=window.getComputedStyle(this._terminal.element.parentElement),r=parseInt(t.getPropertyValue("height")),i=Math.max(0,parseInt(t.getPropertyValue("width"))),n=window.getComputedStyle(this._terminal.element),o=r-(parseInt(n.getPropertyValue("padding-top"))+parseInt(n.getPropertyValue("padding-bottom"))),s=i-(parseInt(n.getPropertyValue("padding-right"))+parseInt(n.getPropertyValue("padding-left")))-e.viewport.scrollBarWidth;return{cols:Math.max(2,Math.floor(s/e._renderService.dimensions.actualCellWidth)),rows:Math.max(1,Math.floor(o/e._renderService.dimensions.actualCellHeight))}}}},e}();t.FitAddon=r}},t={};return function r(i){if(t[i])return t[i].exports;var n=t[i]={exports:{}};return e[i](n,n.exports,r),n.exports}(775)})()},962:e=>{window,e.exports=function(e){var t={};function r(i){if(t[i])return t[i].exports;var n=t[i]={i,l:!1,exports:{}};return e[i].call(n.exports,n,n.exports,r),n.l=!0,n.exports}return r.m=e,r.c=t,r.d=function(e,t,i){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:i})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var i=Object.create(null);if(r.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var n in e)r.d(i,n,function(t){return e[t]}.bind(null,n));return i},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=0)}([function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WebLinksAddon=void 0;var i=r(1),n=new RegExp("(?:^|[^\\da-z\\.-]+)((https?:\\/\\/)((([\\da-z\\.-]+)\\.([a-z\\.]{2,6}))|((\\d{1,3}\\.){3}\\d{1,3})|(localhost))(:\\d{1,5})?((\\/[\\/\\w\\.\\-%~:+@]*)*([^:\"'\\s]))?(\\?[0-9\\w\\[\\]\\(\\)\\/\\?\\!#@$%&'*+,:;~\\=\\.\\-]*)?(#[0-9\\w\\[\\]\\(\\)\\/\\?\\!#@$%&'*+,:;~\\=\\.\\-]*)?)($|[^\\/\\w\\.\\-%]+)");function o(e,t){var r=window.open();r?(r.opener=null,r.location.href=t):console.warn("Opening link blocked as opener could not be cleared")}var s=function(){function e(e,t,r){void 0===e&&(e=o),void 0===t&&(t={}),void 0===r&&(r=!1),this._handler=e,this._options=t,this._useLinkProvider=r,this._options.matchIndex=1}return e.prototype.activate=function(e){this._terminal=e,this._useLinkProvider&&"registerLinkProvider"in this._terminal?this._linkProvider=this._terminal.registerLinkProvider(new i.WebLinkProvider(this._terminal,n,this._handler)):this._linkMatcherId=this._terminal.registerLinkMatcher(n,this._handler,this._options)},e.prototype.dispose=function(){var e;void 0!==this._linkMatcherId&&void 0!==this._terminal&&this._terminal.deregisterLinkMatcher(this._linkMatcherId),null===(e=this._linkProvider)||void 0===e||e.dispose()},e}();t.WebLinksAddon=s},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LinkComputer=t.WebLinkProvider=void 0;var i=function(){function e(e,t,r){this._terminal=e,this._regex=t,this._handler=r}return e.prototype.provideLinks=function(e,t){t(n.computeLink(e,this._regex,this._terminal,this._handler))},e}();t.WebLinkProvider=i;var n=function(){function e(){}return e.computeLink=function(t,r,i,n){for(var o,s=new RegExp(r.source,(r.flags||"")+"g"),a=e._translateBufferLineToStringWithWrap(t-1,!1,i),c=a[0],l=a[1],h=-1,u=[];null!==(o=s.exec(c));){var f=o[1];if(!f){console.log("match found without corresponding matchIndex");break}if(h=c.indexOf(f,h+1),s.lastIndex=h+f.length,h<0)break;for(var _=h+f.length,d=l+1;_>i.cols;)_-=i.cols,d++;var p={start:{x:h+1,y:l+1},end:{x:_,y:d}};u.push({range:p,text:f,activate:n})}return u},e._translateBufferLineToStringWithWrap=function(e,t,r){var i,n,o="";do{if(!(a=r.buffer.active.getLine(e)))break;a.isWrapped&&e--,n=a.isWrapped}while(n);var s=e;do{var a,c=r.buffer.active.getLine(e+1);if(i=!!c&&c.isWrapped,!(a=r.buffer.active.getLine(e)))break;o+=a.translateToString(!i&&t).substring(0,r.cols),e++}while(i);return[o,s]},e}();t.LinkComputer=n}])},445:e=>{self,e.exports=(()=>{"use strict";var e={965:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.GlyphRenderer=void 0;var i=r(381),n=r(310),o=r(455),s=r(259),a=r(855),c=r(147),l=10,h=l*Float32Array.BYTES_PER_ELEMENT,u=function(){function e(e,t,r,n){this._terminal=e,this._colors=t,this._gl=r,this._dimensions=n,this._activeBuffer=0,this._vertices={count:0,attributes:new Float32Array(0),attributesBuffers:[new Float32Array(0),new Float32Array(0)],selectionAttributes:new Float32Array(0)};var o=this._gl,s=i.throwIfFalsy(i.createProgram(o,"#version 300 es\nlayout (location = 0) in vec2 a_unitquad;\nlayout (location = 1) in vec2 a_cellpos;\nlayout (location = 2) in vec2 a_offset;\nlayout (location = 3) in vec2 a_size;\nlayout (location = 4) in vec2 a_texcoord;\nlayout (location = 5) in vec2 a_texsize;\n\nuniform mat4 u_projection;\nuniform vec2 u_resolution;\n\nout vec2 v_texcoord;\n\nvoid main() {\n vec2 zeroToOne = (a_offset / u_resolution) + a_cellpos + (a_unitquad * a_size);\n gl_Position = u_projection * vec4(zeroToOne, 0.0, 1.0);\n v_texcoord = a_texcoord + a_unitquad * a_texsize;\n}","#version 300 es\nprecision lowp float;\n\nin vec2 v_texcoord;\n\nuniform sampler2D u_texture;\n\nout vec4 outColor;\n\nvoid main() {\n outColor = texture(u_texture, v_texcoord);\n}"));this._program=s,this._projectionLocation=i.throwIfFalsy(o.getUniformLocation(this._program,"u_projection")),this._resolutionLocation=i.throwIfFalsy(o.getUniformLocation(this._program,"u_resolution")),this._textureLocation=i.throwIfFalsy(o.getUniformLocation(this._program,"u_texture")),this._vertexArrayObject=o.createVertexArray(),o.bindVertexArray(this._vertexArrayObject);var a=new Float32Array([0,0,1,0,0,1,1,1]),c=o.createBuffer();o.bindBuffer(o.ARRAY_BUFFER,c),o.bufferData(o.ARRAY_BUFFER,a,o.STATIC_DRAW),o.enableVertexAttribArray(0),o.vertexAttribPointer(0,2,this._gl.FLOAT,!1,0,0);var l=new Uint8Array([0,1,3,0,2,3]),u=o.createBuffer();o.bindBuffer(o.ELEMENT_ARRAY_BUFFER,u),o.bufferData(o.ELEMENT_ARRAY_BUFFER,l,o.STATIC_DRAW),this._attributesBuffer=i.throwIfFalsy(o.createBuffer()),o.bindBuffer(o.ARRAY_BUFFER,this._attributesBuffer),o.enableVertexAttribArray(2),o.vertexAttribPointer(2,2,o.FLOAT,!1,h,0),o.vertexAttribDivisor(2,1),o.enableVertexAttribArray(3),o.vertexAttribPointer(3,2,o.FLOAT,!1,h,2*Float32Array.BYTES_PER_ELEMENT),o.vertexAttribDivisor(3,1),o.enableVertexAttribArray(4),o.vertexAttribPointer(4,2,o.FLOAT,!1,h,4*Float32Array.BYTES_PER_ELEMENT),o.vertexAttribDivisor(4,1),o.enableVertexAttribArray(5),o.vertexAttribPointer(5,2,o.FLOAT,!1,h,6*Float32Array.BYTES_PER_ELEMENT),o.vertexAttribDivisor(5,1),o.enableVertexAttribArray(1),o.vertexAttribPointer(1,2,o.FLOAT,!1,h,8*Float32Array.BYTES_PER_ELEMENT),o.vertexAttribDivisor(1,1),this._atlasTexture=i.throwIfFalsy(o.createTexture()),o.bindTexture(o.TEXTURE_2D,this._atlasTexture),o.texImage2D(o.TEXTURE_2D,0,o.RGBA,1,1,0,o.RGBA,o.UNSIGNED_BYTE,new Uint8Array([0,0,255,255])),o.texParameteri(o.TEXTURE_2D,o.TEXTURE_WRAP_S,o.CLAMP_TO_EDGE),o.texParameteri(o.TEXTURE_2D,o.TEXTURE_WRAP_T,o.CLAMP_TO_EDGE),o.enable(o.BLEND),o.blendFunc(o.SRC_ALPHA,o.ONE_MINUS_SRC_ALPHA),this.onResize()}return e.prototype.beginFrame=function(){return!this._atlas||this._atlas.beginFrame()},e.prototype.updateCell=function(e,t,r,i,n,o){this._updateCell(this._vertices.attributes,e,t,r,i,n,o)},e.prototype._updateCell=function(e,t,r,i,n,s,c){var h,u=(r*this._terminal.cols+t)*l;i!==a.NULL_CELL_CODE&&i!==a.WHITESPACE_CELL_CODE&&void 0!==i?this._atlas&&((h=c&&c.length>1?this._atlas.getRasterizedGlyphCombinedChar(c,n,s):this._atlas.getRasterizedGlyph(i,n,s))?(e[u]=-h.offset.x+this._dimensions.scaledCharLeft,e[u+1]=-h.offset.y+this._dimensions.scaledCharTop,e[u+2]=h.size.x/this._dimensions.scaledCanvasWidth,e[u+3]=h.size.y/this._dimensions.scaledCanvasHeight,e[u+4]=h.texturePositionClipSpace.x,e[u+5]=h.texturePositionClipSpace.y,e[u+6]=h.sizeClipSpace.x,e[u+7]=h.sizeClipSpace.y):o.fill(e,0,u,u+l-1-2)):o.fill(e,0,u,u+l-1-2)},e.prototype.updateSelection=function(e){var t=this._terminal;this._vertices.selectionAttributes=s.slice(this._vertices.attributes,0);var r=this._colors.selectionOpaque.rgba>>>8|50331648;if(e.selection.columnSelectMode)for(var i=e.selection.startCol,n=e.selection.endCol-i,o=e.selection.viewportCappedEndRow-e.selection.viewportCappedStartRow+1,a=e.selection.viewportCappedStartRow;a>8&16711680|p>>8&65280|p>>8&255;case 50331648:var v=c.AttributeData.toColorRGB(d.getBgColor());_|=v[0]<<16|v[1]<<8|v[2]<<0;case 0:default:var g=this._colors.background.rgba;_|=g>>8&16711680|g>>8&65280|g>>8&255}_|=50331648}if(f&n.COMBINED_CHAR_BIT_MASK){s||(s=a.buffer.active.getLine(l));var y=s.getCell(h).getChars();this._updateCell(this._vertices.selectionAttributes,h,r,i.cells[u],o,_,y)}else this._updateCell(this._vertices.selectionAttributes,h,r,i.cells[u],o,_)}},e.prototype._getColorFromAnsiIndex=function(e){if(e>=this._colors.ansi.length)throw new Error("No color found for idx "+e);return this._colors.ansi[e]},e.prototype.onResize=function(){var e=this._terminal,t=this._gl;t.viewport(0,0,t.canvas.width,t.canvas.height);var r=e.cols*e.rows*l;if(this._vertices.count!==r){this._vertices.count=r,this._vertices.attributes=new Float32Array(r);for(var i=0;i{Object.defineProperty(t,"__esModule",{value:!0}),t.RectangleRenderer=void 0;var i=r(381),n=r(455),o=r(310),s=8*Float32Array.BYTES_PER_ELEMENT,a=function(){function e(e,t,r,n){this._terminal=e,this._colors=t,this._gl=r,this._dimensions=n,this._vertices={count:0,attributes:new Float32Array(160),selection:new Float32Array(24)};var o=this._gl;this._program=i.throwIfFalsy(i.createProgram(o,"#version 300 es\nlayout (location = 0) in vec2 a_position;\nlayout (location = 1) in vec2 a_size;\nlayout (location = 2) in vec4 a_color;\nlayout (location = 3) in vec2 a_unitquad;\n\nuniform mat4 u_projection;\nuniform vec2 u_resolution;\n\nout vec4 v_color;\n\nvoid main() {\n vec2 zeroToOne = (a_position + (a_unitquad * a_size)) / u_resolution;\n gl_Position = u_projection * vec4(zeroToOne, 0.0, 1.0);\n v_color = a_color;\n}","#version 300 es\nprecision lowp float;\n\nin vec4 v_color;\n\nout vec4 outColor;\n\nvoid main() {\n outColor = v_color;\n}")),this._resolutionLocation=i.throwIfFalsy(o.getUniformLocation(this._program,"u_resolution")),this._projectionLocation=i.throwIfFalsy(o.getUniformLocation(this._program,"u_projection")),this._vertexArrayObject=o.createVertexArray(),o.bindVertexArray(this._vertexArrayObject);var a=new Float32Array([0,0,1,0,0,1,1,1]),c=o.createBuffer();o.bindBuffer(o.ARRAY_BUFFER,c),o.bufferData(o.ARRAY_BUFFER,a,o.STATIC_DRAW),o.enableVertexAttribArray(3),o.vertexAttribPointer(3,2,this._gl.FLOAT,!1,0,0);var l=new Uint8Array([0,1,3,0,2,3]),h=o.createBuffer();o.bindBuffer(o.ELEMENT_ARRAY_BUFFER,h),o.bufferData(o.ELEMENT_ARRAY_BUFFER,l,o.STATIC_DRAW),this._attributesBuffer=i.throwIfFalsy(o.createBuffer()),o.bindBuffer(o.ARRAY_BUFFER,this._attributesBuffer),o.enableVertexAttribArray(0),o.vertexAttribPointer(0,2,o.FLOAT,!1,s,0),o.vertexAttribDivisor(0,1),o.enableVertexAttribArray(1),o.vertexAttribPointer(1,2,o.FLOAT,!1,s,2*Float32Array.BYTES_PER_ELEMENT),o.vertexAttribDivisor(1,1),o.enableVertexAttribArray(2),o.vertexAttribPointer(2,4,o.FLOAT,!1,s,4*Float32Array.BYTES_PER_ELEMENT),o.vertexAttribDivisor(2,1),this._updateCachedColors()}return e.prototype.render=function(){var e=this._gl;e.useProgram(this._program),e.bindVertexArray(this._vertexArrayObject),e.uniformMatrix4fv(this._projectionLocation,!1,i.PROJECTION_MATRIX),e.uniform2f(this._resolutionLocation,e.canvas.width,e.canvas.height),e.bindBuffer(e.ARRAY_BUFFER,this._attributesBuffer),e.bufferData(e.ARRAY_BUFFER,this._vertices.attributes,e.DYNAMIC_DRAW),e.drawElementsInstanced(this._gl.TRIANGLES,6,e.UNSIGNED_BYTE,0,this._vertices.count),e.bindBuffer(e.ARRAY_BUFFER,this._attributesBuffer),e.bufferData(e.ARRAY_BUFFER,this._vertices.selection,e.DYNAMIC_DRAW),e.drawElementsInstanced(this._gl.TRIANGLES,6,e.UNSIGNED_BYTE,0,3)},e.prototype.onResize=function(){this._updateViewportRectangle()},e.prototype.setColors=function(){this._updateCachedColors(),this._updateViewportRectangle()},e.prototype._updateCachedColors=function(){this._bgFloat=this._colorToFloat32Array(this._colors.background),this._selectionFloat=this._colorToFloat32Array(this._colors.selectionOpaque)},e.prototype._updateViewportRectangle=function(){this._addRectangleFloat(this._vertices.attributes,0,0,0,this._terminal.cols*this._dimensions.scaledCellWidth,this._terminal.rows*this._dimensions.scaledCellHeight,this._bgFloat)},e.prototype.updateSelection=function(e){var t=this._terminal;if(e.hasSelection)if(e.columnSelectMode){var r=e.startCol,i=e.endCol-r,o=e.viewportCappedEndRow-e.viewportCappedStartRow+1;this._addRectangleFloat(this._vertices.selection,0,r*this._dimensions.scaledCellWidth,e.viewportCappedStartRow*this._dimensions.scaledCellHeight,i*this._dimensions.scaledCellWidth,o*this._dimensions.scaledCellHeight,this._selectionFloat),n.fill(this._vertices.selection,0,8)}else{r=e.viewportStartRow===e.viewportCappedStartRow?e.startCol:0;var s=e.viewportCappedStartRow===e.viewportEndRow?e.endCol:t.cols;this._addRectangleFloat(this._vertices.selection,0,r*this._dimensions.scaledCellWidth,e.viewportCappedStartRow*this._dimensions.scaledCellHeight,(s-r)*this._dimensions.scaledCellWidth,this._dimensions.scaledCellHeight,this._selectionFloat);var a=Math.max(e.viewportCappedEndRow-e.viewportCappedStartRow-1,0);if(this._addRectangleFloat(this._vertices.selection,8,0,(e.viewportCappedStartRow+1)*this._dimensions.scaledCellHeight,t.cols*this._dimensions.scaledCellWidth,a*this._dimensions.scaledCellHeight,this._selectionFloat),e.viewportCappedStartRow!==e.viewportCappedEndRow){var c=e.viewportEndRow===e.viewportCappedEndRow?e.endCol:t.cols;this._addRectangleFloat(this._vertices.selection,16,0,e.viewportCappedEndRow*this._dimensions.scaledCellHeight,c*this._dimensions.scaledCellWidth,this._dimensions.scaledCellHeight,this._selectionFloat)}else n.fill(this._vertices.selection,0,16)}else n.fill(this._vertices.selection,0,0)},e.prototype.updateBackgrounds=function(e){for(var t=this._terminal,r=this._vertices,i=1,n=0;n>24&255)/255,f=(c>>16&255)/255,_=(c>>8&255)/255;this._addRectangle(e.attributes,t,l,h,(s-o)*this._dimensions.scaledCellWidth,this._dimensions.scaledCellHeight,u,f,_,1)},e.prototype._addRectangle=function(e,t,r,i,n,o,s,a,c,l){e[t]=r,e[t+1]=i,e[t+2]=n,e[t+3]=o,e[t+4]=s,e[t+5]=a,e[t+6]=c,e[t+7]=l},e.prototype._addRectangleFloat=function(e,t,r,i,n,o,s){e[t]=r,e[t+1]=i,e[t+2]=n,e[t+3]=o,e[t+4]=s[0],e[t+5]=s[1],e[t+6]=s[2],e[t+7]=s[3]},e.prototype._colorToFloat32Array=function(e){return new Float32Array([(e.rgba>>24&255)/255,(e.rgba>>16&255)/255,(e.rgba>>8&255)/255,(255&e.rgba)/255])},e}();t.RectangleRenderer=a},310:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.RenderModel=t.COMBINED_CHAR_BIT_MASK=t.RENDER_MODEL_FG_OFFSET=t.RENDER_MODEL_BG_OFFSET=t.RENDER_MODEL_INDICIES_PER_CELL=void 0;var i=r(455);t.RENDER_MODEL_INDICIES_PER_CELL=3,t.RENDER_MODEL_BG_OFFSET=1,t.RENDER_MODEL_FG_OFFSET=2,t.COMBINED_CHAR_BIT_MASK=2147483648;var n=function(){function e(){this.cells=new Uint32Array(0),this.lineLengths=new Uint32Array(0),this.selection={hasSelection:!1,columnSelectMode:!1,viewportStartRow:0,viewportEndRow:0,viewportCappedStartRow:0,viewportCappedEndRow:0,startCol:0,endCol:0}}return e.prototype.resize=function(e,r){var i=e*r*t.RENDER_MODEL_INDICIES_PER_CELL;i!==this.cells.length&&(this.cells=new Uint32Array(i),this.lineLengths=new Uint32Array(r))},e.prototype.clear=function(){i.fill(this.cells,0,0),i.fill(this.lineLengths,0,0)},e.prototype.clearSelection=function(){this.selection.hasSelection=!1,this.selection.viewportStartRow=0,this.selection.viewportEndRow=0,this.selection.viewportCappedStartRow=0,this.selection.viewportCappedEndRow=0,this.selection.startCol=0,this.selection.endCol=0},e}();t.RenderModel=n},259:(e,t)=>{function r(e,t,r){void 0===t&&(t=0),void 0===r&&(r=e.length),t<0&&(t=(e.length+t)%e.length),r=r>=e.length?e.length:(e.length+r)%e.length,t=Math.min(t,r);for(var i=new e.constructor(r-t),n=0;n{Object.defineProperty(t,"__esModule",{value:!0}),t.WebglAddon=void 0;var i=r(666),n=function(){function e(e){this._preserveDrawingBuffer=e}return e.prototype.activate=function(e){if(!e.element)throw new Error("Cannot activate WebglAddon before Terminal.open");this._terminal=e;var t=e._core._renderService,r=e._core._colorManager.colors;this._renderer=new i.WebglRenderer(e,r,this._preserveDrawingBuffer),t.setRenderer(this._renderer)},e.prototype.dispose=function(){if(!this._terminal)throw new Error("Cannot dispose WebglAddon because it is activated");var e=this._terminal._core._renderService;e.setRenderer(this._terminal._core._createRenderer()),e.onResize(this._terminal.cols,this._terminal.rows),this._renderer=void 0},Object.defineProperty(e.prototype,"textureAtlas",{get:function(){var e;return null===(e=this._renderer)||void 0===e?void 0:e.textureAtlas},enumerable:!1,configurable:!0}),e.prototype.clearTextureAtlas=function(){var e;null===(e=this._renderer)||void 0===e||e.clearCharAtlas()},e}();t.WebglAddon=n},666:function(e,t,r){var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});Object.defineProperty(t,"__esModule",{value:!0}),t.WebglRenderer=void 0;var o=r(965),s=r(733),a=r(461),c=r(713),l=r(344),h=r(310),u=r(859),f=r(855),_=r(345),d=r(782),p=function(e){function t(t,r,i){var n=e.call(this)||this;n._terminal=t,n._colors=r,n._model=new h.RenderModel,n._workCell=new d.CellData,n._onRequestRedraw=new _.EventEmitter,n._core=n._terminal._core,n._renderLayers=[new s.LinkRenderLayer(n._core.screenElement,2,n._colors,n._core),new a.CursorRenderLayer(n._core.screenElement,3,n._colors,n._onRequestRedraw)],n.dimensions={scaledCharWidth:0,scaledCharHeight:0,scaledCellWidth:0,scaledCellHeight:0,scaledCharLeft:0,scaledCharTop:0,scaledCanvasWidth:0,scaledCanvasHeight:0,canvasWidth:0,canvasHeight:0,actualCellWidth:0,actualCellHeight:0},n._devicePixelRatio=window.devicePixelRatio,n._updateDimensions(),n._canvas=document.createElement("canvas");var c={antialias:!1,depth:!1,preserveDrawingBuffer:i};if(n._gl=n._canvas.getContext("webgl2",c),!n._gl)throw new Error("WebGL2 not supported "+n._gl);return n._core.screenElement.appendChild(n._canvas),n._rectangleRenderer=new l.RectangleRenderer(n._terminal,n._colors,n._gl,n.dimensions),n._glyphRenderer=new o.GlyphRenderer(n._terminal,n._colors,n._gl,n.dimensions),n.onCharSizeChanged(),n._isAttached=document.body.contains(n._core.screenElement),n}return n(t,e),Object.defineProperty(t.prototype,"onRequestRedraw",{get:function(){return this._onRequestRedraw.event},enumerable:!1,configurable:!0}),t.prototype.dispose=function(){this._renderLayers.forEach((function(e){return e.dispose()})),this._core.screenElement.removeChild(this._canvas),e.prototype.dispose.call(this)},Object.defineProperty(t.prototype,"textureAtlas",{get:function(){var e;return null===(e=this._charAtlas)||void 0===e?void 0:e.cacheCanvas},enumerable:!1,configurable:!0}),t.prototype.setColors=function(e){var t=this;this._colors=e,this._renderLayers.forEach((function(e){e.setColors(t._terminal,t._colors),e.reset(t._terminal)})),this._rectangleRenderer.setColors(),this._glyphRenderer.setColors(),this._refreshCharAtlas(),this._model.clear()},t.prototype.onDevicePixelRatioChange=function(){this._devicePixelRatio!==window.devicePixelRatio&&(this._devicePixelRatio=window.devicePixelRatio,this.onResize(this._terminal.cols,this._terminal.rows))},t.prototype.onResize=function(e,t){var r=this;this._updateDimensions(),this._model.resize(this._terminal.cols,this._terminal.rows),this._renderLayers.forEach((function(e){return e.resize(r._terminal,r.dimensions)})),this._canvas.width=this.dimensions.scaledCanvasWidth,this._canvas.height=this.dimensions.scaledCanvasHeight,this._canvas.style.width=this.dimensions.canvasWidth+"px",this._canvas.style.height=this.dimensions.canvasHeight+"px",this._core.screenElement.style.width=this.dimensions.canvasWidth+"px",this._core.screenElement.style.height=this.dimensions.canvasHeight+"px",this._rectangleRenderer.onResize(),this._model.selection.hasSelection&&this._rectangleRenderer.updateSelection(this._model.selection),this._glyphRenderer.setDimensions(this.dimensions),this._glyphRenderer.onResize(),this._refreshCharAtlas(),this._model.clear()},t.prototype.onCharSizeChanged=function(){this.onResize(this._terminal.cols,this._terminal.rows)},t.prototype.onBlur=function(){var e=this;this._renderLayers.forEach((function(t){return t.onBlur(e._terminal)}))},t.prototype.onFocus=function(){var e=this;this._renderLayers.forEach((function(t){return t.onFocus(e._terminal)}))},t.prototype.onSelectionChanged=function(e,t,r){var i=this;this._renderLayers.forEach((function(n){return n.onSelectionChanged(i._terminal,e,t,r)})),this._updateSelectionModel(e,t,r),this._onRequestRedraw.fire({start:0,end:this._terminal.rows-1})},t.prototype.onCursorMove=function(){var e=this;this._renderLayers.forEach((function(t){return t.onCursorMove(e._terminal)}))},t.prototype.onOptionsChanged=function(){var e=this;this._renderLayers.forEach((function(t){return t.onOptionsChanged(e._terminal)})),this._updateDimensions(),this._refreshCharAtlas()},t.prototype._refreshCharAtlas=function(){if(this.dimensions.scaledCharWidth<=0&&this.dimensions.scaledCharHeight<=0)this._isAttached=!1;else{var e=c.acquireCharAtlas(this._terminal,this._colors,this.dimensions.scaledCharWidth,this.dimensions.scaledCharHeight);if(!("getRasterizedGlyph"in e))throw new Error("The webgl renderer only works with the webgl char atlas");this._charAtlas=e,this._charAtlas.warmUp(),this._glyphRenderer.setAtlas(this._charAtlas)}},t.prototype.clearCharAtlas=function(){var e;null===(e=this._charAtlas)||void 0===e||e.clearTexture(),this._model.clear(),this._updateModel(0,this._terminal.rows-1),this._onRequestRedraw.fire({start:0,end:this._terminal.rows-1})},t.prototype.clear=function(){var e=this;this._renderLayers.forEach((function(t){return t.reset(e._terminal)}))},t.prototype.registerCharacterJoiner=function(e){return-1},t.prototype.deregisterCharacterJoiner=function(e){return!1},t.prototype.renderRows=function(e,t){var r=this;if(!this._isAttached){if(!(document.body.contains(this._core.screenElement)&&this._core._charSizeService.width&&this._core._charSizeService.height))return;this._updateDimensions(),this._refreshCharAtlas(),this._isAttached=!0}this._renderLayers.forEach((function(i){return i.onGridChanged(r._terminal,e,t)})),this._glyphRenderer.beginFrame()&&(this._model.clear(),this._updateSelectionModel(void 0,void 0)),this._updateModel(e,t),this._rectangleRenderer.render(),this._glyphRenderer.render(this._model,this._model.selection.hasSelection)},t.prototype._updateModel=function(e,t){for(var r=this._core,i=e;i<=t;i++){var n=i+r.buffer.ydisp,o=r.buffer.lines.get(n);this._model.lineLengths[i]=0;for(var s=0;s1&&(c|=h.COMBINED_CHAR_BIT_MASK),this._model.cells[l]=c,this._model.cells[l+h.RENDER_MODEL_BG_OFFSET]=this._workCell.bg,this._model.cells[l+h.RENDER_MODEL_FG_OFFSET]=this._workCell.fg,this._glyphRenderer.updateCell(s,i,c,this._workCell.bg,this._workCell.fg,a))}}this._rectangleRenderer.updateBackgrounds(this._model),this._model.selection.hasSelection&&this._glyphRenderer.updateSelection(this._model)},t.prototype._updateSelectionModel=function(e,t,r){void 0===r&&(r=!1);var i=this._terminal;if(!e||!t||e[0]===t[0]&&e[1]===t[1])return this._model.clearSelection(),void this._rectangleRenderer.updateSelection(this._model.selection);var n=e[1]-i.buffer.active.viewportY,o=t[1]-i.buffer.active.viewportY,s=Math.max(n,0),a=Math.min(o,i.rows-1);if(s>=i.rows||a<0)return this._model.clearSelection(),void this._rectangleRenderer.updateSelection(this._model.selection);this._model.selection.hasSelection=!0,this._model.selection.columnSelectMode=r,this._model.selection.viewportStartRow=n,this._model.selection.viewportEndRow=o,this._model.selection.viewportCappedStartRow=s,this._model.selection.viewportCappedEndRow=a,this._model.selection.startCol=e[0],this._model.selection.endCol=t[0],this._rectangleRenderer.updateSelection(this._model.selection)},t.prototype._updateDimensions=function(){this._core._charSizeService.width&&this._core._charSizeService.height&&(this.dimensions.scaledCharWidth=Math.floor(this._core._charSizeService.width*this._devicePixelRatio),this.dimensions.scaledCharHeight=Math.ceil(this._core._charSizeService.height*this._devicePixelRatio),this.dimensions.scaledCellHeight=Math.floor(this.dimensions.scaledCharHeight*this._terminal.getOption("lineHeight")),this.dimensions.scaledCharTop=1===this._terminal.getOption("lineHeight")?0:Math.round((this.dimensions.scaledCellHeight-this.dimensions.scaledCharHeight)/2),this.dimensions.scaledCellWidth=this.dimensions.scaledCharWidth+Math.round(this._terminal.getOption("letterSpacing")),this.dimensions.scaledCharLeft=Math.floor(this._terminal.getOption("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/this._devicePixelRatio),this.dimensions.canvasWidth=Math.round(this.dimensions.scaledCanvasWidth/this._devicePixelRatio),this.dimensions.actualCellHeight=this.dimensions.scaledCellHeight/this._devicePixelRatio,this.dimensions.actualCellWidth=this.dimensions.scaledCellWidth/this._devicePixelRatio)},t}(u.Disposable);t.WebglRenderer=p},381:(e,t)=>{function r(e,t,r){var n=i(e.createShader(t));if(e.shaderSource(n,r),e.compileShader(n),e.getShaderParameter(n,e.COMPILE_STATUS))return n;console.error(e.getShaderInfoLog(n)),e.deleteShader(n)}function i(e){if(!e)throw new Error("value must not be falsy");return e}Object.defineProperty(t,"__esModule",{value:!0}),t.throwIfFalsy=t.expandFloat32Array=t.createShader=t.createProgram=t.PROJECTION_MATRIX=void 0,t.PROJECTION_MATRIX=new Float32Array([2,0,0,0,0,-2,0,0,0,0,1,0,-1,1,0,1]),t.createProgram=function(e,t,n){var o=i(e.createProgram());if(e.attachShader(o,i(r(e,e.VERTEX_SHADER,t))),e.attachShader(o,i(r(e,e.FRAGMENT_SHADER,n))),e.linkProgram(o),e.getProgramParameter(o,e.LINK_STATUS))return o;console.error(e.getProgramInfoLog(o)),e.deleteProgram(o)},t.createShader=r,t.expandFloat32Array=function(e,t){for(var r=Math.min(2*e.length,t),i=new Float32Array(r),n=0;n{Object.defineProperty(t,"__esModule",{value:!0}),t.removeTerminalFromCache=t.acquireCharAtlas=void 0;var i=r(433),n=r(167),o=[];t.acquireCharAtlas=function(e,t,r,s){for(var a=i.generateConfig(r,s,e,t),c=0;c=0){if(i.configEquals(h.config,a))return h.atlas;1===h.ownedBy.length?(h.atlas.dispose(),o.splice(c,1)):h.ownedBy.splice(l,1);break}}for(c=0;c{Object.defineProperty(t,"__esModule",{value:!0}),t.is256Color=t.configEquals=t.generateConfig=void 0;var r={css:"",rgba:0};t.generateConfig=function(e,t,i,n){var o={foreground:n.foreground,background:n.background,cursor:r,cursorAccent:r,selectionTransparent:r,selectionOpaque:r,ansi:n.ansi.slice(),contrastCache:n.contrastCache};return{devicePixelRatio:window.devicePixelRatio,scaledCharWidth:e,scaledCharHeight:t,fontFamily:i.getOption("fontFamily"),fontSize:i.getOption("fontSize"),fontWeight:i.getOption("fontWeight"),fontWeightBold:i.getOption("fontWeightBold"),allowTransparency:i.getOption("allowTransparency"),drawBoldTextInBrightColors:i.getOption("drawBoldTextInBrightColors"),minimumContrastRatio:i.getOption("minimumContrastRatio"),colors:o}},t.configEquals=function(e,t){for(var r=0;r{Object.defineProperty(t,"__esModule",{value:!0}),t.WebglCharAtlas=void 0;var i=r(499),n=r(855),o=r(381),s=r(147),a=r(742),c=1024,l=1024,h=Math.floor(819.2),u={css:"rgba(0, 0, 0, 0)",rgba:0},f={offset:{x:0,y:0},texturePosition:{x:0,y:0},texturePositionClipSpace:{x:0,y:0},size:{x:0,y:0},sizeClipSpace:{x:0,y:0}},_=function(){function e(e,t){this._config=t,this._didWarmUp=!1,this._cacheMap={},this._cacheMapCombined={},this._currentRowY=0,this._currentRowX=0,this._currentRowHeight=0,this.hasCanvasChanged=!1,this._workBoundingBox={top:0,left:0,bottom:0,right:0},this._workAttributeData=new s.AttributeData,this.cacheCanvas=e.createElement("canvas"),this.cacheCanvas.width=c,this.cacheCanvas.height=l,this._cacheCtx=o.throwIfFalsy(this.cacheCanvas.getContext("2d",{alpha:!0})),this._tmpCanvas=e.createElement("canvas"),this._tmpCanvas.width=2*this._config.scaledCharWidth+4,this._tmpCanvas.height=this._config.scaledCharHeight+4,this._tmpCtx=o.throwIfFalsy(this._tmpCanvas.getContext("2d",{alpha:this._config.allowTransparency}))}return e.prototype.dispose=function(){this.cacheCanvas.parentElement&&this.cacheCanvas.parentElement.removeChild(this.cacheCanvas)},e.prototype.warmUp=function(){this._didWarmUp||(this._doWarmUp(),this._didWarmUp=!0)},e.prototype._doWarmUp=function(){for(var e,t,r=33;r<126;r++){var i=this._drawToCache(r,n.DEFAULT_COLOR,n.DEFAULT_COLOR);this._cacheMap[r]=((e={})[n.DEFAULT_COLOR]=((t={})[n.DEFAULT_COLOR]=i,t),e)}},e.prototype.beginFrame=function(){return this._currentRowY>h&&(this.clearTexture(),this.warmUp(),!0)},e.prototype.clearTexture=function(){0===this._currentRowX&&0===this._currentRowY||(this._cacheCtx.clearRect(0,0,c,l),this._cacheMap={},this._cacheMapCombined={},this._currentRowHeight=0,this._currentRowX=0,this._currentRowY=0,this._didWarmUp=!1)},e.prototype.getRasterizedGlyphCombinedChar=function(e,t,r){var i,n=this._cacheMapCombined[e];n||(n={},this._cacheMapCombined[e]=n);var o=n[t];return o&&(i=o[r]),i||(i=this._drawToCache(e,t,r),n[t]||(n[t]={}),n[t][r]=i),i},e.prototype.getRasterizedGlyph=function(e,t,r){var i,n=this._cacheMap[e];n||(n={},this._cacheMap[e]=n);var o=n[t];return o&&(i=o[r]),i||(i=this._drawToCache(e,t,r),n[t]||(n[t]={}),n[t][r]=i),i},e.prototype._getColorFromAnsiIndex=function(e){if(e>=this._config.colors.ansi.length)throw new Error("No color found for idx "+e);return this._config.colors.ansi[e]},e.prototype._getBackgroundColor=function(e,t,r){if(this._config.allowTransparency)return u;switch(e){case 16777216:case 33554432:return this._getColorFromAnsiIndex(t);case 50331648:var i=s.AttributeData.toColorRGB(t);return{rgba:t<<8,css:"#"+d(i[0])+d(i[1])+d(i[2])};case 0:default:return r?this._config.colors.foreground:this._config.colors.background}},e.prototype._getForegroundCss=function(e,t,r,i,n,o,c,l){var h=this._getMinimumContrastCss(e,t,r,i,n,o,c,l);if(h)return h;switch(n){case 16777216:case 33554432:return this._config.drawBoldTextInBrightColors&&l&&o<8&&(o+=8),this._getColorFromAnsiIndex(o).css;case 50331648:var u=s.AttributeData.toColorRGB(o);return a.channels.toCss(u[0],u[1],u[2]);case 0:default:if(c){var f=this._config.colors.background.css;return 9===f.length?f.substr(0,7):f}return this._config.colors.foreground.css}},e.prototype._resolveBackgroundRgba=function(e,t,r){switch(e){case 16777216:case 33554432:return this._getColorFromAnsiIndex(t).rgba;case 50331648:return t<<8;case 0:default:return r?this._config.colors.foreground.rgba:this._config.colors.background.rgba}},e.prototype._resolveForegroundRgba=function(e,t,r,i){switch(e){case 16777216:case 33554432:return this._config.drawBoldTextInBrightColors&&i&&t<8&&(t+=8),this._getColorFromAnsiIndex(t).rgba;case 50331648:return t<<8;case 0:default:return r?this._config.colors.background.rgba:this._config.colors.foreground.rgba}},e.prototype._getMinimumContrastCss=function(e,t,r,i,n,o,s,c){if(1!==this._config.minimumContrastRatio){var l=this._config.colors.contrastCache.getCss(e,i);if(void 0!==l)return l||void 0;var h=this._resolveBackgroundRgba(t,r,s),u=this._resolveForegroundRgba(n,o,s,c),f=a.rgba.ensureContrastRatio(h,u,this._config.minimumContrastRatio);if(f){var _=a.channels.toCss(f>>24&255,f>>16&255,f>>8&255);return this._config.colors.contrastCache.setCss(e,i,_),_}this._config.colors.contrastCache.setCss(e,i,null)}},e.prototype._drawToCache=function(e,t,r){var n="number"==typeof e?String.fromCharCode(e):e;if(this.hasCanvasChanged=!0,this._tmpCtx.save(),this._workAttributeData.fg=r,this._workAttributeData.bg=t,this._workAttributeData.isInvisible())return f;var o=!!this._workAttributeData.isBold(),s=!!this._workAttributeData.isInverse(),a=!!this._workAttributeData.isDim(),h=!!this._workAttributeData.isItalic(),u=this._workAttributeData.getFgColor(),_=this._workAttributeData.getFgColorMode(),d=this._workAttributeData.getBgColor(),p=this._workAttributeData.getBgColorMode();if(s){var v=u;u=d,d=v;var g=_;_=p,p=g}var y=this._getBackgroundColor(p,d,s);this._tmpCtx.globalCompositeOperation="copy",this._tmpCtx.fillStyle=y.css,this._tmpCtx.fillRect(0,0,this._tmpCanvas.width,this._tmpCanvas.height),this._tmpCtx.globalCompositeOperation="source-over";var m=o?this._config.fontWeightBold:this._config.fontWeight,b=h?"italic":"";this._tmpCtx.font=b+" "+m+" "+this._config.fontSize*this._config.devicePixelRatio+"px "+this._config.fontFamily,this._tmpCtx.textBaseline="middle",this._tmpCtx.fillStyle=this._getForegroundCss(t,p,d,r,_,u,s,o),a&&(this._tmpCtx.globalAlpha=i.DIM_OPACITY),this._tmpCtx.fillText(n,2,2+this._config.scaledCharHeight/2),this._tmpCtx.restore();var C=this._tmpCtx.getImageData(0,0,this._tmpCanvas.width,this._tmpCanvas.height);if(function(e,t){for(var r=!0,i=t.rgba>>>24,n=t.rgba>>>16&255,o=t.rgba>>>8&255,s=0;sc&&(this._currentRowX=0,this._currentRowY+=this._currentRowHeight,this._currentRowHeight=0),S.texturePosition.x=this._currentRowX,S.texturePosition.y=this._currentRowY,S.texturePositionClipSpace.x=this._currentRowX/c,S.texturePositionClipSpace.y=this._currentRowY/l,this._currentRowHeight=Math.max(this._currentRowHeight,S.size.y),this._currentRowX+=S.size.x,this._cacheCtx.putImageData(w,S.texturePosition.x,S.texturePosition.y),S},e.prototype._findGlyphBoundingBox=function(e,t){t.top=0;for(var r=!1,i=0;i=0;n--){for(i=0;i=0;i--){for(n=0;n{Object.defineProperty(t,"__esModule",{value:!0}),t.BaseRenderLayer=void 0;var i=r(713),n=r(381),o=function(){function e(e,t,r,i,n){this._container=e,this._alpha=i,this._colors=n,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-"+t+"-layer"),this._canvas.style.zIndex=r.toString(),this._initCanvas(),this._container.appendChild(this._canvas)}return e.prototype.dispose=function(){this._container.removeChild(this._canvas),this._charAtlas&&this._charAtlas.dispose()},e.prototype._initCanvas=function(){this._ctx=n.throwIfFalsy(this._canvas.getContext("2d",{alpha:this._alpha})),this._alpha||this._clearAll()},e.prototype.onOptionsChanged=function(e){},e.prototype.onBlur=function(e){},e.prototype.onFocus=function(e){},e.prototype.onCursorMove=function(e){},e.prototype.onGridChanged=function(e,t,r){},e.prototype.onSelectionChanged=function(e,t,r,i){void 0===i&&(i=!1)},e.prototype.setColors=function(e,t){this._refreshCharAtlas(e,t)},e.prototype._setTransparency=function(e,t){if(t!==this._alpha){var r=this._canvas;this._alpha=t,this._canvas=this._canvas.cloneNode(),this._initCanvas(),this._container.replaceChild(this._canvas,r),this._refreshCharAtlas(e,this._colors),this.onGridChanged(e,0,e.rows-1)}},e.prototype._refreshCharAtlas=function(e,t){this._scaledCharWidth<=0&&this._scaledCharHeight<=0||(this._charAtlas=i.acquireCharAtlas(e,t,this._scaledCharWidth,this._scaledCharHeight),this._charAtlas.warmUp())},e.prototype.resize=function(e,t){this._scaledCellWidth=t.scaledCellWidth,this._scaledCellHeight=t.scaledCellHeight,this._scaledCharWidth=t.scaledCharWidth,this._scaledCharHeight=t.scaledCharHeight,this._scaledCharLeft=t.scaledCharLeft,this._scaledCharTop=t.scaledCharTop,this._canvas.width=t.scaledCanvasWidth,this._canvas.height=t.scaledCanvasHeight,this._canvas.style.width=t.canvasWidth+"px",this._canvas.style.height=t.canvasHeight+"px",this._alpha||this._clearAll(),this._refreshCharAtlas(e,this._colors)},e.prototype._fillCells=function(e,t,r,i){this._ctx.fillRect(e*this._scaledCellWidth,t*this._scaledCellHeight,r*this._scaledCellWidth,i*this._scaledCellHeight)},e.prototype._fillBottomLineAtCells=function(e,t,r){void 0===r&&(r=1),this._ctx.fillRect(e*this._scaledCellWidth,(t+1)*this._scaledCellHeight-window.devicePixelRatio-1,r*this._scaledCellWidth,window.devicePixelRatio)},e.prototype._fillLeftLineAtCell=function(e,t,r){this._ctx.fillRect(e*this._scaledCellWidth,t*this._scaledCellHeight,window.devicePixelRatio*r,this._scaledCellHeight)},e.prototype._strokeRectAtCell=function(e,t,r,i){this._ctx.lineWidth=window.devicePixelRatio,this._ctx.strokeRect(e*this._scaledCellWidth+window.devicePixelRatio/2,t*this._scaledCellHeight+window.devicePixelRatio/2,r*this._scaledCellWidth-window.devicePixelRatio,i*this._scaledCellHeight-window.devicePixelRatio)},e.prototype._clearAll=function(){this._alpha?this._ctx.clearRect(0,0,this._canvas.width,this._canvas.height):(this._ctx.fillStyle=this._colors.background.css,this._ctx.fillRect(0,0,this._canvas.width,this._canvas.height))},e.prototype._clearCells=function(e,t,r,i){this._alpha?this._ctx.clearRect(e*this._scaledCellWidth,t*this._scaledCellHeight,r*this._scaledCellWidth,i*this._scaledCellHeight):(this._ctx.fillStyle=this._colors.background.css,this._ctx.fillRect(e*this._scaledCellWidth,t*this._scaledCellHeight,r*this._scaledCellWidth,i*this._scaledCellHeight))},e.prototype._fillCharTrueColor=function(e,t,r,i){this._ctx.font=this._getFont(e,!1,!1),this._ctx.textBaseline="middle",this._clipRow(e,i),this._ctx.fillText(t.getChars(),r*this._scaledCellWidth+this._scaledCharLeft,i*this._scaledCellHeight+this._scaledCharTop+this._scaledCharHeight/2)},e.prototype._clipRow=function(e,t){this._ctx.beginPath(),this._ctx.rect(0,t*this._scaledCellHeight,e.cols*this._scaledCellWidth,this._scaledCellHeight),this._ctx.clip()},e.prototype._getFont=function(e,t,r){return(r?"italic":"")+" "+(t?e.getOption("fontWeightBold"):e.getOption("fontWeight"))+" "+e.getOption("fontSize")*window.devicePixelRatio+"px "+e.getOption("fontFamily")},e}();t.BaseRenderLayer=o},461:function(e,t,r){var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});Object.defineProperty(t,"__esModule",{value:!0}),t.CursorRenderLayer=void 0;var o=r(592),s=r(782),a=600,c=function(e){function t(t,r,i,n){var o=e.call(this,t,"cursor",r,!0,i)||this;return o._onRequestRefreshRowsEvent=n,o._cell=new s.CellData,o._state={x:0,y:0,isFocused:!1,style:"",width:0},o._cursorRenderers={bar:o._renderBarCursor.bind(o),block:o._renderBlockCursor.bind(o),underline:o._renderUnderlineCursor.bind(o)},o}return n(t,e),t.prototype.resize=function(t,r){e.prototype.resize.call(this,t,r),this._state={x:0,y:0,isFocused:!1,style:"",width:0}},t.prototype.reset=function(e){this._clearCursor(),this._cursorBlinkStateManager&&(this._cursorBlinkStateManager.dispose(),this.onOptionsChanged(e))},t.prototype.onBlur=function(e){this._cursorBlinkStateManager&&this._cursorBlinkStateManager.pause(),this._onRequestRefreshRowsEvent.fire({start:e.buffer.active.cursorY,end:e.buffer.active.cursorY})},t.prototype.onFocus=function(e){this._cursorBlinkStateManager?this._cursorBlinkStateManager.resume(e):this._onRequestRefreshRowsEvent.fire({start:e.buffer.active.cursorY,end:e.buffer.active.cursorY})},t.prototype.onOptionsChanged=function(e){var t,r=this;e.getOption("cursorBlink")?this._cursorBlinkStateManager||(this._cursorBlinkStateManager=new l(e,(function(){r._render(e,!0)}))):(null===(t=this._cursorBlinkStateManager)||void 0===t||t.dispose(),this._cursorBlinkStateManager=void 0),this._onRequestRefreshRowsEvent.fire({start:e.buffer.active.cursorY,end:e.buffer.active.cursorY})},t.prototype.onCursorMove=function(e){this._cursorBlinkStateManager&&this._cursorBlinkStateManager.restartBlinkAnimation(e)},t.prototype.onGridChanged=function(e,t,r){!this._cursorBlinkStateManager||this._cursorBlinkStateManager.isPaused?this._render(e,!1):this._cursorBlinkStateManager.restartBlinkAnimation(e)},t.prototype._render=function(e,t){if(e._core._coreService.isCursorInitialized&&!e._core._coreService.isCursorHidden){var r=e.buffer.active.baseY+e.buffer.active.cursorY,i=r-e.buffer.active.viewportY,n=Math.min(e.buffer.active.cursorX,e.cols-1);if(i<0||i>=e.rows)this._clearCursor();else if(e._core.buffer.lines.get(r).loadCell(n,this._cell),void 0!==this._cell.content){if(!h(e)){this._clearCursor(),this._ctx.save(),this._ctx.fillStyle=this._colors.cursor.css;var o=e.getOption("cursorStyle");return o&&"block"!==o?this._cursorRenderers[o](e,n,i,this._cell):this._renderBlurCursor(e,n,i,this._cell),this._ctx.restore(),this._state.x=n,this._state.y=i,this._state.isFocused=!1,this._state.style=o,void(this._state.width=this._cell.getWidth())}if(!this._cursorBlinkStateManager||this._cursorBlinkStateManager.isCursorVisible){if(this._state){if(this._state.x===n&&this._state.y===i&&this._state.isFocused===h(e)&&this._state.style===e.getOption("cursorStyle")&&this._state.width===this._cell.getWidth())return;this._clearCursor()}this._ctx.save(),this._cursorRenderers[e.getOption("cursorStyle")||"block"](e,n,i,this._cell),this._ctx.restore(),this._state.x=n,this._state.y=i,this._state.isFocused=!1,this._state.style=e.getOption("cursorStyle"),this._state.width=this._cell.getWidth()}else this._clearCursor()}}else this._clearCursor()},t.prototype._clearCursor=function(){this._state&&(this._clearCells(this._state.x,this._state.y,this._state.width,1),this._state={x:0,y:0,isFocused:!1,style:"",width:0})},t.prototype._renderBarCursor=function(e,t,r,i){this._ctx.save(),this._ctx.fillStyle=this._colors.cursor.css,this._fillLeftLineAtCell(t,r,e.getOption("cursorWidth")),this._ctx.restore()},t.prototype._renderBlockCursor=function(e,t,r,i){this._ctx.save(),this._ctx.fillStyle=this._colors.cursor.css,this._fillCells(t,r,i.getWidth(),1),this._ctx.fillStyle=this._colors.cursorAccent.css,this._fillCharTrueColor(e,i,t,r),this._ctx.restore()},t.prototype._renderUnderlineCursor=function(e,t,r,i){this._ctx.save(),this._ctx.fillStyle=this._colors.cursor.css,this._fillBottomLineAtCells(t,r),this._ctx.restore()},t.prototype._renderBlurCursor=function(e,t,r,i){this._ctx.save(),this._ctx.strokeStyle=this._colors.cursor.css,this._strokeRectAtCell(t,r,i.getWidth(),1),this._ctx.restore()},t}(o.BaseRenderLayer);t.CursorRenderLayer=c;var l=function(){function e(e,t){this._renderCallback=t,this.isCursorVisible=!0,h(e)&&this._restartInterval()}return Object.defineProperty(e.prototype,"isPaused",{get:function(){return!(this._blinkStartTimeout||this._blinkInterval)},enumerable:!1,configurable:!0}),e.prototype.dispose=function(){this._blinkInterval&&(window.clearInterval(this._blinkInterval),this._blinkInterval=void 0),this._blinkStartTimeout&&(window.clearTimeout(this._blinkStartTimeout),this._blinkStartTimeout=void 0),this._animationFrame&&(window.cancelAnimationFrame(this._animationFrame),this._animationFrame=void 0)},e.prototype.restartBlinkAnimation=function(e){var t=this;this.isPaused||(this._animationTimeRestarted=Date.now(),this.isCursorVisible=!0,this._animationFrame||(this._animationFrame=window.requestAnimationFrame((function(){t._renderCallback(),t._animationFrame=void 0}))))},e.prototype._restartInterval=function(e){var t=this;void 0===e&&(e=a),this._blinkInterval&&window.clearInterval(this._blinkInterval),this._blinkStartTimeout=window.setTimeout((function(){if(t._animationTimeRestarted){var e=a-(Date.now()-t._animationTimeRestarted);if(t._animationTimeRestarted=void 0,e>0)return void t._restartInterval(e)}t.isCursorVisible=!1,t._animationFrame=window.requestAnimationFrame((function(){t._renderCallback(),t._animationFrame=void 0})),t._blinkInterval=window.setInterval((function(){if(t._animationTimeRestarted){var e=a-(Date.now()-t._animationTimeRestarted);return t._animationTimeRestarted=void 0,void t._restartInterval(e)}t.isCursorVisible=!t.isCursorVisible,t._animationFrame=window.requestAnimationFrame((function(){t._renderCallback(),t._animationFrame=void 0}))}),a)}),e)},e.prototype.pause=function(){this.isCursorVisible=!0,this._blinkInterval&&(window.clearInterval(this._blinkInterval),this._blinkInterval=void 0),this._blinkStartTimeout&&(window.clearTimeout(this._blinkStartTimeout),this._blinkStartTimeout=void 0),this._animationFrame&&(window.cancelAnimationFrame(this._animationFrame),this._animationFrame=void 0)},e.prototype.resume=function(e){this.pause(),this._animationTimeRestarted=void 0,this._restartInterval(),this.restartBlinkAnimation(e)},e}();function h(e){return document.activeElement===e.textarea&&document.hasFocus()}},733:function(e,t,r){var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});Object.defineProperty(t,"__esModule",{value:!0}),t.LinkRenderLayer=void 0;var o=r(592),s=r(499),a=r(433),c=function(e){function t(t,r,i,n){var o=e.call(this,t,"link",r,!0,i)||this;return n.linkifier.onShowLinkUnderline((function(e){return o._onShowLinkUnderline(e)})),n.linkifier.onHideLinkUnderline((function(e){return o._onHideLinkUnderline(e)})),n.linkifier2.onShowLinkUnderline((function(e){return o._onShowLinkUnderline(e)})),n.linkifier2.onHideLinkUnderline((function(e){return o._onHideLinkUnderline(e)})),o}return n(t,e),t.prototype.resize=function(t,r){e.prototype.resize.call(this,t,r),this._state=void 0},t.prototype.reset=function(e){this._clearCurrentLink()},t.prototype._clearCurrentLink=function(){if(this._state){this._clearCells(this._state.x1,this._state.y1,this._state.cols-this._state.x1,1);var e=this._state.y2-this._state.y1-1;e>0&&this._clearCells(0,this._state.y1+1,this._state.cols,e),this._clearCells(0,this._state.y2,this._state.x2,1),this._state=void 0}},t.prototype._onShowLinkUnderline=function(e){if(e.fg===s.INVERTED_DEFAULT_COLOR?this._ctx.fillStyle=this._colors.background.css:void 0!==e.fg&&a.is256Color(e.fg)?this._ctx.fillStyle=this._colors.ansi[e.fg].css:this._ctx.fillStyle=this._colors.foreground.css,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 t=e.y1+1;t{var r,i,n,o;function s(e){var t=e.toString(16);return t.length<2?"0"+t:t}function a(e,t){return e>>0}}(r=t.channels||(t.channels={})),(i=t.color||(t.color={})).blend=function(e,t){var i=(255&t.rgba)/255;if(1===i)return{css:t.css,rgba:t.rgba};var n=t.rgba>>24&255,o=t.rgba>>16&255,s=t.rgba>>8&255,a=e.rgba>>24&255,c=e.rgba>>16&255,l=e.rgba>>8&255,h=a+Math.round((n-a)*i),u=c+Math.round((o-c)*i),f=l+Math.round((s-l)*i);return{css:r.toCss(h,u,f),rgba:r.toRgba(h,u,f)}},i.isOpaque=function(e){return 255==(255&e.rgba)},i.ensureContrastRatio=function(e,t,r){var i=o.ensureContrastRatio(e.rgba,t.rgba,r);if(i)return o.toColor(i>>24&255,i>>16&255,i>>8&255)},i.opaque=function(e){var t=(255|e.rgba)>>>0,i=o.toChannels(t),n=i[0],s=i[1],a=i[2];return{css:r.toCss(n,s,a),rgba:t}},i.opacity=function(e,t){var i=Math.round(255*t),n=o.toChannels(e.rgba),s=n[0],a=n[1],c=n[2];return{css:r.toCss(s,a,c,i),rgba:r.toRgba(s,a,c,i)}},(t.css||(t.css={})).toColor=function(e){switch(e.length){case 7:return{css:e,rgba:(parseInt(e.slice(1),16)<<8|255)>>>0};case 9:return{css:e,rgba:parseInt(e.slice(1),16)>>>0}}throw new Error("css.toColor: Unsupported css format")},function(e){function t(e,t,r){var i=e/255,n=t/255,o=r/255;return.2126*(i<=.03928?i/12.92:Math.pow((i+.055)/1.055,2.4))+.7152*(n<=.03928?n/12.92:Math.pow((n+.055)/1.055,2.4))+.0722*(o<=.03928?o/12.92:Math.pow((o+.055)/1.055,2.4))}e.relativeLuminance=function(e){return t(e>>16&255,e>>8&255,255&e)},e.relativeLuminance2=t}(n=t.rgb||(t.rgb={})),function(e){function t(e,t,r){for(var i=e>>24&255,o=e>>16&255,s=e>>8&255,c=t>>24&255,l=t>>16&255,h=t>>8&255,u=a(n.relativeLuminance2(c,h,l),n.relativeLuminance2(i,o,s));u0||l>0||h>0);)c-=Math.max(0,Math.ceil(.1*c)),l-=Math.max(0,Math.ceil(.1*l)),h-=Math.max(0,Math.ceil(.1*h)),u=a(n.relativeLuminance2(c,h,l),n.relativeLuminance2(i,o,s));return(c<<24|l<<16|h<<8|255)>>>0}function i(e,t,r){for(var i=e>>24&255,o=e>>16&255,s=e>>8&255,c=t>>24&255,l=t>>16&255,h=t>>8&255,u=a(n.relativeLuminance2(c,h,l),n.relativeLuminance2(i,o,s));u>>0}e.ensureContrastRatio=function(e,r,o){var s=n.relativeLuminance(e>>8),c=n.relativeLuminance(r>>8);if(a(s,c)>24&255,e>>16&255,e>>8&255,255&e]},e.toColor=function(e,t,i){return{css:r.toCss(e,t,i),rgba:r.toRgba(e,t,i)}}}(o=t.rgba||(t.rgba={})),t.toPaddedHex=s,t.contrastRatio=a},499:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.CHAR_ATLAS_CELL_SPACING=t.DIM_OPACITY=t.INVERTED_DEFAULT_COLOR=void 0,t.INVERTED_DEFAULT_COLOR=257,t.DIM_OPACITY=.5,t.CHAR_ATLAS_CELL_SPACING=1},345:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.forwardEvent=t.EventEmitter=void 0;var r=function(){function e(){this._listeners=[],this._disposed=!1}return Object.defineProperty(e.prototype,"event",{get:function(){var e=this;return this._event||(this._event=function(t){return e._listeners.push(t),{dispose:function(){if(!e._disposed)for(var r=0;r{Object.defineProperty(t,"__esModule",{value:!0}),t.getDisposeArrayDisposable=t.disposeArray=t.Disposable=void 0;var r=function(){function e(){this._disposables=[],this._isDisposed=!1}return e.prototype.dispose=function(){this._isDisposed=!0;for(var e=0,t=this._disposables;e{function r(e,t,r,i){if(void 0===r&&(r=0),void 0===i&&(i=e.length),r>=e.length)return e;r=(e.length+r)%e.length,i=i>=e.length?e.length:(e.length+i)%e.length;for(var n=r;n{Object.defineProperty(t,"__esModule",{value:!0}),t.ExtendedAttrs=t.AttributeData=void 0;var r=function(){function e(){this.fg=0,this.bg=0,this.extended=new i}return e.toColorRGB=function(e){return[e>>>16&255,e>>>8&255,255&e]},e.fromColorRGB=function(e){return(255&e[0])<<16|(255&e[1])<<8|255&e[2]},e.prototype.clone=function(){var t=new e;return t.fg=this.fg,t.bg=this.bg,t.extended=this.extended.clone(),t},e.prototype.isInverse=function(){return 67108864&this.fg},e.prototype.isBold=function(){return 134217728&this.fg},e.prototype.isUnderline=function(){return 268435456&this.fg},e.prototype.isBlink=function(){return 536870912&this.fg},e.prototype.isInvisible=function(){return 1073741824&this.fg},e.prototype.isItalic=function(){return 67108864&this.bg},e.prototype.isDim=function(){return 134217728&this.bg},e.prototype.getFgColorMode=function(){return 50331648&this.fg},e.prototype.getBgColorMode=function(){return 50331648&this.bg},e.prototype.isFgRGB=function(){return 50331648==(50331648&this.fg)},e.prototype.isBgRGB=function(){return 50331648==(50331648&this.bg)},e.prototype.isFgPalette=function(){return 16777216==(50331648&this.fg)||33554432==(50331648&this.fg)},e.prototype.isBgPalette=function(){return 16777216==(50331648&this.bg)||33554432==(50331648&this.bg)},e.prototype.isFgDefault=function(){return 0==(50331648&this.fg)},e.prototype.isBgDefault=function(){return 0==(50331648&this.bg)},e.prototype.isAttributeDefault=function(){return 0===this.fg&&0===this.bg},e.prototype.getFgColor=function(){switch(50331648&this.fg){case 16777216:case 33554432:return 255&this.fg;case 50331648:return 16777215&this.fg;default:return-1}},e.prototype.getBgColor=function(){switch(50331648&this.bg){case 16777216:case 33554432:return 255&this.bg;case 50331648:return 16777215&this.bg;default:return-1}},e.prototype.hasExtendedAttrs=function(){return 268435456&this.bg},e.prototype.updateExtended=function(){this.extended.isEmpty()?this.bg&=-268435457:this.bg|=268435456},e.prototype.getUnderlineColor=function(){if(268435456&this.bg&&~this.extended.underlineColor)switch(50331648&this.extended.underlineColor){case 16777216:case 33554432:return 255&this.extended.underlineColor;case 50331648:return 16777215&this.extended.underlineColor;default:return this.getFgColor()}return this.getFgColor()},e.prototype.getUnderlineColorMode=function(){return 268435456&this.bg&&~this.extended.underlineColor?50331648&this.extended.underlineColor:this.getFgColorMode()},e.prototype.isUnderlineColorRGB=function(){return 268435456&this.bg&&~this.extended.underlineColor?50331648==(50331648&this.extended.underlineColor):this.isFgRGB()},e.prototype.isUnderlineColorPalette=function(){return 268435456&this.bg&&~this.extended.underlineColor?16777216==(50331648&this.extended.underlineColor)||33554432==(50331648&this.extended.underlineColor):this.isFgPalette()},e.prototype.isUnderlineColorDefault=function(){return 268435456&this.bg&&~this.extended.underlineColor?0==(50331648&this.extended.underlineColor):this.isFgDefault()},e.prototype.getUnderlineStyle=function(){return 268435456&this.fg?268435456&this.bg?this.extended.underlineStyle:1:0},e}();t.AttributeData=r;var i=function(){function e(e,t){void 0===e&&(e=0),void 0===t&&(t=-1),this.underlineStyle=e,this.underlineColor=t}return e.prototype.clone=function(){return new e(this.underlineStyle,this.underlineColor)},e.prototype.isEmpty=function(){return 0===this.underlineStyle},e}();t.ExtendedAttrs=i},782:function(e,t,r){var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});Object.defineProperty(t,"__esModule",{value:!0}),t.CellData=void 0;var o=r(133),s=r(855),a=r(147),c=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.content=0,t.fg=0,t.bg=0,t.extended=new a.ExtendedAttrs,t.combinedData="",t}return n(t,e),t.fromCharData=function(e){var r=new t;return r.setFromCharData(e),r},t.prototype.isCombined=function(){return 2097152&this.content},t.prototype.getWidth=function(){return this.content>>22},t.prototype.getChars=function(){return 2097152&this.content?this.combinedData:2097151&this.content?o.stringFromCodePoint(2097151&this.content):""},t.prototype.getCode=function(){return this.isCombined()?this.combinedData.charCodeAt(this.combinedData.length-1):2097151&this.content},t.prototype.setFromCharData=function(e){this.fg=e[s.CHAR_DATA_ATTR_INDEX],this.bg=0;var t=!1;if(e[s.CHAR_DATA_CHAR_INDEX].length>2)t=!0;else if(2===e[s.CHAR_DATA_CHAR_INDEX].length){var r=e[s.CHAR_DATA_CHAR_INDEX].charCodeAt(0);if(55296<=r&&r<=56319){var i=e[s.CHAR_DATA_CHAR_INDEX].charCodeAt(1);56320<=i&&i<=57343?this.content=1024*(r-55296)+i-56320+65536|e[s.CHAR_DATA_WIDTH_INDEX]<<22:t=!0}else t=!0}else this.content=e[s.CHAR_DATA_CHAR_INDEX].charCodeAt(0)|e[s.CHAR_DATA_WIDTH_INDEX]<<22;t&&(this.combinedData=e[s.CHAR_DATA_CHAR_INDEX],this.content=2097152|e[s.CHAR_DATA_WIDTH_INDEX]<<22)},t.prototype.getAsCharData=function(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]},t}(a.AttributeData);t.CellData=c},855:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.WHITESPACE_CELL_CODE=t.WHITESPACE_CELL_WIDTH=t.WHITESPACE_CELL_CHAR=t.NULL_CELL_CODE=t.NULL_CELL_WIDTH=t.NULL_CELL_CHAR=t.CHAR_DATA_CODE_INDEX=t.CHAR_DATA_WIDTH_INDEX=t.CHAR_DATA_CHAR_INDEX=t.CHAR_DATA_ATTR_INDEX=t.DEFAULT_ATTR=t.DEFAULT_COLOR=void 0,t.DEFAULT_COLOR=256,t.DEFAULT_ATTR=256|t.DEFAULT_COLOR<<9,t.CHAR_DATA_ATTR_INDEX=0,t.CHAR_DATA_CHAR_INDEX=1,t.CHAR_DATA_WIDTH_INDEX=2,t.CHAR_DATA_CODE_INDEX=3,t.NULL_CELL_CHAR="",t.NULL_CELL_WIDTH=1,t.NULL_CELL_CODE=0,t.WHITESPACE_CELL_CHAR=" ",t.WHITESPACE_CELL_WIDTH=1,t.WHITESPACE_CELL_CODE=32},133:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.Utf8ToUtf32=t.StringToUtf32=t.utf32ToString=t.stringFromCodePoint=void 0,t.stringFromCodePoint=function(e){return e>65535?(e-=65536,String.fromCharCode(55296+(e>>10))+String.fromCharCode(e%1024+56320)):String.fromCharCode(e)},t.utf32ToString=function(e,t,r){void 0===t&&(t=0),void 0===r&&(r=e.length);for(var i="",n=t;n65535?(o-=65536,i+=String.fromCharCode(55296+(o>>10))+String.fromCharCode(o%1024+56320)):i+=String.fromCharCode(o)}return i};var r=function(){function e(){this._interim=0}return e.prototype.clear=function(){this._interim=0},e.prototype.decode=function(e,t){var r=e.length;if(!r)return 0;var i=0,n=0;this._interim&&(56320<=(a=e.charCodeAt(n++))&&a<=57343?t[i++]=1024*(this._interim-55296)+a-56320+65536:(t[i++]=this._interim,t[i++]=a),this._interim=0);for(var o=n;o=r)return this._interim=s,i;var a;56320<=(a=e.charCodeAt(o))&&a<=57343?t[i++]=1024*(s-55296)+a-56320+65536:(t[i++]=s,t[i++]=a)}else 65279!==s&&(t[i++]=s)}return i},e}();t.StringToUtf32=r;var i=function(){function e(){this.interim=new Uint8Array(3)}return e.prototype.clear=function(){this.interim.fill(0)},e.prototype.decode=function(e,t){var r=e.length;if(!r)return 0;var i,n,o,s,a=0,c=0,l=0;if(this.interim[0]){var h=!1,u=this.interim[0];u&=192==(224&u)?31:224==(240&u)?15:7;for(var f=0,_=void 0;(_=63&this.interim[++f])&&f<4;)u<<=6,u|=_;for(var d=192==(224&this.interim[0])?2:224==(240&this.interim[0])?3:4,p=d-f;l=r)return 0;if(128!=(192&(_=e[l++]))){l--,h=!0;break}this.interim[f++]=_,u<<=6,u|=63&_}h||(2===d?u<128?l--:t[a++]=u:3===d?u<2048||u>=55296&&u<=57343||65279===u||(t[a++]=u):u<65536||u>1114111||(t[a++]=u)),this.interim.fill(0)}for(var v=r-4,g=l;g=r)return this.interim[0]=i,a;if(128!=(192&(n=e[g++]))){g--;continue}if((c=(31&i)<<6|63&n)<128){g--;continue}t[a++]=c}else if(224==(240&i)){if(g>=r)return this.interim[0]=i,a;if(128!=(192&(n=e[g++]))){g--;continue}if(g>=r)return this.interim[0]=i,this.interim[1]=n,a;if(128!=(192&(o=e[g++]))){g--;continue}if((c=(15&i)<<12|(63&n)<<6|63&o)<2048||c>=55296&&c<=57343||65279===c)continue;t[a++]=c}else if(240==(248&i)){if(g>=r)return this.interim[0]=i,a;if(128!=(192&(n=e[g++]))){g--;continue}if(g>=r)return this.interim[0]=i,this.interim[1]=n,a;if(128!=(192&(o=e[g++]))){g--;continue}if(g>=r)return this.interim[0]=i,this.interim[1]=n,this.interim[2]=o,a;if(128!=(192&(s=e[g++]))){g--;continue}if((c=(7&i)<<18|(63&n)<<12|(63&o)<<6|63&s)<65536||c>1114111)continue;t[a++]=c}}return a},e}();t.Utf8ToUtf32=i}},t={};return function r(i){if(t[i])return t[i].exports;var n=t[i]={exports:{}};return e[i].call(n.exports,n,n.exports,r),n.exports}(795)})()},841:e=>{self,e.exports=(()=>{"use strict";var e={4567:function(e,t,r){var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});Object.defineProperty(t,"__esModule",{value:!0}),t.AccessibilityManager=void 0;var o=r(9042),s=r(6114),a=r(6193),c=r(3656),l=r(844),h=r(5596),u=r(9631),f=function(e){function t(t,r){var i=e.call(this)||this;i._terminal=t,i._renderService=r,i._liveRegionLineCount=0,i._charsToConsume=[],i._charsToAnnounce="",i._accessibilityTreeRoot=document.createElement("div"),i._accessibilityTreeRoot.classList.add("xterm-accessibility"),i._rowContainer=document.createElement("div"),i._rowContainer.setAttribute("role","list"),i._rowContainer.classList.add("xterm-accessibility-tree"),i._rowElements=[];for(var n=0;ne;)this._rowContainer.removeChild(this._rowElements.pop());this._rowElements[this._rowElements.length-1].addEventListener("focus",this._bottomBoundaryFocusListener),this._refreshRowsDimensions()},t.prototype._createAccessibilityTreeNode=function(){var e=document.createElement("div");return e.setAttribute("role","listitem"),e.tabIndex=-1,this._refreshRowDimensions(e),e},t.prototype._onTab=function(e){for(var t=0;t0?this._charsToConsume.shift()!==e&&(this._charsToAnnounce+=e):this._charsToAnnounce+=e,"\n"===e&&(this._liveRegionLineCount++,21===this._liveRegionLineCount&&(this._liveRegion.textContent+=o.tooMuchOutput)),s.isMac&&this._liveRegion.textContent&&this._liveRegion.textContent.length>0&&!this._liveRegion.parentNode&&setTimeout((function(){t._accessibilityTreeRoot.appendChild(t._liveRegion)}),0))},t.prototype._clearLiveRegion=function(){this._liveRegion.textContent="",this._liveRegionLineCount=0,s.isMac&&u.removeElementFromParent(this._liveRegion)},t.prototype._onKey=function(e){this._clearLiveRegion(),this._charsToConsume.push(e)},t.prototype._refreshRows=function(e,t){this._renderRowsDebouncer.refresh(e,t,this._terminal.rows)},t.prototype._renderRows=function(e,t){for(var r=this._terminal.buffer,i=r.lines.length.toString(),n=e;n<=t;n++){var o=r.translateBufferLineToString(r.ydisp+n,!0),s=(r.ydisp+n+1).toString(),a=this._rowElements[n];a&&(0===o.length?a.innerText=" ":a.textContent=o,a.setAttribute("aria-posinset",s),a.setAttribute("aria-setsize",i))}this._announceCharacters()},t.prototype._refreshRowsDimensions=function(){if(this._renderService.dimensions.actualCellHeight){this._rowElements.length!==this._terminal.rows&&this._onResize(this._terminal.rows);for(var e=0;e{function r(e){return e.replace(/\r?\n/g,"\r")}function i(e,t){return t?"[200~"+e+"[201~":e}function n(e,t,n){e=i(e=r(e),n.decPrivateModes.bracketedPasteMode),n.triggerDataEvent(e,!0),t.value=""}function o(e,t,r){var i=r.getBoundingClientRect(),n=e.clientX-i.left-10,o=e.clientY-i.top-10;t.style.width="20px",t.style.height="20px",t.style.left=n+"px",t.style.top=o+"px",t.style.zIndex="1000",t.focus()}Object.defineProperty(t,"__esModule",{value:!0}),t.rightClickHandler=t.moveTextAreaUnderMouseCursor=t.paste=t.handlePasteEvent=t.copyHandler=t.bracketTextForPaste=t.prepareTextForTerminal=void 0,t.prepareTextForTerminal=r,t.bracketTextForPaste=i,t.copyHandler=function(e,t){e.clipboardData&&e.clipboardData.setData("text/plain",t.selectionText),e.preventDefault()},t.handlePasteEvent=function(e,t,r){e.stopPropagation(),e.clipboardData&&n(e.clipboardData.getData("text/plain"),t,r)},t.paste=n,t.moveTextAreaUnderMouseCursor=o,t.rightClickHandler=function(e,t,r,i,n){o(e,t,r),n&&i.rightClickSelect(e),t.value=i.selectionText,t.select()}},4774:(e,t)=>{var r,i,n,o;function s(e){var t=e.toString(16);return t.length<2?"0"+t:t}function a(e,t){return e>>0}}(r=t.channels||(t.channels={})),(i=t.color||(t.color={})).blend=function(e,t){var i=(255&t.rgba)/255;if(1===i)return{css:t.css,rgba:t.rgba};var n=t.rgba>>24&255,o=t.rgba>>16&255,s=t.rgba>>8&255,a=e.rgba>>24&255,c=e.rgba>>16&255,l=e.rgba>>8&255,h=a+Math.round((n-a)*i),u=c+Math.round((o-c)*i),f=l+Math.round((s-l)*i);return{css:r.toCss(h,u,f),rgba:r.toRgba(h,u,f)}},i.isOpaque=function(e){return 255==(255&e.rgba)},i.ensureContrastRatio=function(e,t,r){var i=o.ensureContrastRatio(e.rgba,t.rgba,r);if(i)return o.toColor(i>>24&255,i>>16&255,i>>8&255)},i.opaque=function(e){var t=(255|e.rgba)>>>0,i=o.toChannels(t),n=i[0],s=i[1],a=i[2];return{css:r.toCss(n,s,a),rgba:t}},i.opacity=function(e,t){var i=Math.round(255*t),n=o.toChannels(e.rgba),s=n[0],a=n[1],c=n[2];return{css:r.toCss(s,a,c,i),rgba:r.toRgba(s,a,c,i)}},(t.css||(t.css={})).toColor=function(e){switch(e.length){case 7:return{css:e,rgba:(parseInt(e.slice(1),16)<<8|255)>>>0};case 9:return{css:e,rgba:parseInt(e.slice(1),16)>>>0}}throw new Error("css.toColor: Unsupported css format")},function(e){function t(e,t,r){var i=e/255,n=t/255,o=r/255;return.2126*(i<=.03928?i/12.92:Math.pow((i+.055)/1.055,2.4))+.7152*(n<=.03928?n/12.92:Math.pow((n+.055)/1.055,2.4))+.0722*(o<=.03928?o/12.92:Math.pow((o+.055)/1.055,2.4))}e.relativeLuminance=function(e){return t(e>>16&255,e>>8&255,255&e)},e.relativeLuminance2=t}(n=t.rgb||(t.rgb={})),function(e){function t(e,t,r){for(var i=e>>24&255,o=e>>16&255,s=e>>8&255,c=t>>24&255,l=t>>16&255,h=t>>8&255,u=a(n.relativeLuminance2(c,h,l),n.relativeLuminance2(i,o,s));u0||l>0||h>0);)c-=Math.max(0,Math.ceil(.1*c)),l-=Math.max(0,Math.ceil(.1*l)),h-=Math.max(0,Math.ceil(.1*h)),u=a(n.relativeLuminance2(c,h,l),n.relativeLuminance2(i,o,s));return(c<<24|l<<16|h<<8|255)>>>0}function i(e,t,r){for(var i=e>>24&255,o=e>>16&255,s=e>>8&255,c=t>>24&255,l=t>>16&255,h=t>>8&255,u=a(n.relativeLuminance2(c,h,l),n.relativeLuminance2(i,o,s));u>>0}e.ensureContrastRatio=function(e,r,o){var s=n.relativeLuminance(e>>8),c=n.relativeLuminance(r>>8);if(a(s,c)>24&255,e>>16&255,e>>8&255,255&e]},e.toColor=function(e,t,i){return{css:r.toCss(e,t,i),rgba:r.toRgba(e,t,i)}}}(o=t.rgba||(t.rgba={})),t.toPaddedHex=s,t.contrastRatio=a},7239:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.ColorContrastCache=void 0;var r=function(){function e(){this._color={},this._rgba={}}return e.prototype.clear=function(){this._color={},this._rgba={}},e.prototype.setCss=function(e,t,r){this._rgba[e]||(this._rgba[e]={}),this._rgba[e][t]=r},e.prototype.getCss=function(e,t){return this._rgba[e]?this._rgba[e][t]:void 0},e.prototype.setColor=function(e,t,r){this._color[e]||(this._color[e]={}),this._color[e][t]=r},e.prototype.getColor=function(e,t){return this._color[e]?this._color[e][t]:void 0},e}();t.ColorContrastCache=r},5680:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.ColorManager=t.DEFAULT_ANSI_COLORS=void 0;var i=r(4774),n=r(7239),o=i.css.toColor("#ffffff"),s=i.css.toColor("#000000"),a=i.css.toColor("#ffffff"),c=i.css.toColor("#000000"),l={css:"rgba(255, 255, 255, 0.3)",rgba:4294967117};t.DEFAULT_ANSI_COLORS=Object.freeze(function(){for(var e=[i.css.toColor("#2e3436"),i.css.toColor("#cc0000"),i.css.toColor("#4e9a06"),i.css.toColor("#c4a000"),i.css.toColor("#3465a4"),i.css.toColor("#75507b"),i.css.toColor("#06989a"),i.css.toColor("#d3d7cf"),i.css.toColor("#555753"),i.css.toColor("#ef2929"),i.css.toColor("#8ae234"),i.css.toColor("#fce94f"),i.css.toColor("#729fcf"),i.css.toColor("#ad7fa8"),i.css.toColor("#34e2e2"),i.css.toColor("#eeeeec")],t=[0,95,135,175,215,255],r=0;r<216;r++){var n=t[r/36%6|0],o=t[r/6%6|0],s=t[r%6];e.push({css:i.channels.toCss(n,o,s),rgba:i.channels.toRgba(n,o,s)})}for(r=0;r<24;r++){var a=8+10*r;e.push({css:i.channels.toCss(a,a,a),rgba:i.channels.toRgba(a,a,a)})}return e}());var h=function(){function e(e,r){this.allowTransparency=r;var h=e.createElement("canvas");h.width=1,h.height=1;var u=h.getContext("2d");if(!u)throw new Error("Could not get rendering context");this._ctx=u,this._ctx.globalCompositeOperation="copy",this._litmusColor=this._ctx.createLinearGradient(0,0,1,1),this._contrastCache=new n.ColorContrastCache,this.colors={foreground:o,background:s,cursor:a,cursorAccent:c,selectionTransparent:l,selectionOpaque:i.color.blend(s,l),ansi:t.DEFAULT_ANSI_COLORS.slice(),contrastCache:this._contrastCache}}return e.prototype.onOptionsChange=function(e){"minimumContrastRatio"===e&&this._contrastCache.clear()},e.prototype.setTheme=function(e){void 0===e&&(e={}),this.colors.foreground=this._parseColor(e.foreground,o),this.colors.background=this._parseColor(e.background,s),this.colors.cursor=this._parseColor(e.cursor,a,!0),this.colors.cursorAccent=this._parseColor(e.cursorAccent,c,!0),this.colors.selectionTransparent=this._parseColor(e.selection,l,!0),this.colors.selectionOpaque=i.color.blend(this.colors.background,this.colors.selectionTransparent),i.color.isOpaque(this.colors.selectionTransparent)&&(this.colors.selectionTransparent=i.color.opacity(this.colors.selectionTransparent,.3)),this.colors.ansi[0]=this._parseColor(e.black,t.DEFAULT_ANSI_COLORS[0]),this.colors.ansi[1]=this._parseColor(e.red,t.DEFAULT_ANSI_COLORS[1]),this.colors.ansi[2]=this._parseColor(e.green,t.DEFAULT_ANSI_COLORS[2]),this.colors.ansi[3]=this._parseColor(e.yellow,t.DEFAULT_ANSI_COLORS[3]),this.colors.ansi[4]=this._parseColor(e.blue,t.DEFAULT_ANSI_COLORS[4]),this.colors.ansi[5]=this._parseColor(e.magenta,t.DEFAULT_ANSI_COLORS[5]),this.colors.ansi[6]=this._parseColor(e.cyan,t.DEFAULT_ANSI_COLORS[6]),this.colors.ansi[7]=this._parseColor(e.white,t.DEFAULT_ANSI_COLORS[7]),this.colors.ansi[8]=this._parseColor(e.brightBlack,t.DEFAULT_ANSI_COLORS[8]),this.colors.ansi[9]=this._parseColor(e.brightRed,t.DEFAULT_ANSI_COLORS[9]),this.colors.ansi[10]=this._parseColor(e.brightGreen,t.DEFAULT_ANSI_COLORS[10]),this.colors.ansi[11]=this._parseColor(e.brightYellow,t.DEFAULT_ANSI_COLORS[11]),this.colors.ansi[12]=this._parseColor(e.brightBlue,t.DEFAULT_ANSI_COLORS[12]),this.colors.ansi[13]=this._parseColor(e.brightMagenta,t.DEFAULT_ANSI_COLORS[13]),this.colors.ansi[14]=this._parseColor(e.brightCyan,t.DEFAULT_ANSI_COLORS[14]),this.colors.ansi[15]=this._parseColor(e.brightWhite,t.DEFAULT_ANSI_COLORS[15]),this._contrastCache.clear()},e.prototype._parseColor=function(e,t,r){if(void 0===r&&(r=this.allowTransparency),void 0===e)return t;if(this._ctx.fillStyle=this._litmusColor,this._ctx.fillStyle=e,"string"!=typeof this._ctx.fillStyle)return console.warn("Color: "+e+" is invalid using fallback "+t.css),t;this._ctx.fillRect(0,0,1,1);var n=this._ctx.getImageData(0,0,1,1).data;if(255!==n[3]){if(!r)return console.warn("Color: "+e+" is using transparency, but allowTransparency is false. Using fallback "+t.css+"."),t;var o=this._ctx.fillStyle.substring(5,this._ctx.fillStyle.length-1).split(",").map((function(e){return Number(e)})),s=o[0],a=o[1],c=o[2],l=o[3],h=Math.round(255*l);return{rgba:i.channels.toRgba(s,a,c,h),css:e}}return{css:this._ctx.fillStyle,rgba:i.channels.toRgba(n[0],n[1],n[2],n[3])}},e}();t.ColorManager=h},9631:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.removeElementFromParent=void 0,t.removeElementFromParent=function(){for(var e,t=[],r=0;r{Object.defineProperty(t,"__esModule",{value:!0}),t.addDisposableDomListener=void 0,t.addDisposableDomListener=function(e,t,r,i){e.addEventListener(t,r,i);var n=!1;return{dispose:function(){n||(n=!0,e.removeEventListener(t,r,i))}}}},3551:function(e,t,r){var i=this&&this.__decorate||function(e,t,r,i){var n,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},n=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.MouseZone=t.Linkifier=void 0;var o=r(8460),s=r(2585),a=function(){function e(e,t,r){this._bufferService=e,this._logService=t,this._unicodeService=r,this._linkMatchers=[],this._nextLinkMatcherId=0,this._onShowLinkUnderline=new o.EventEmitter,this._onHideLinkUnderline=new o.EventEmitter,this._onLinkTooltip=new o.EventEmitter,this._rowsToLinkify={start:void 0,end:void 0}}return Object.defineProperty(e.prototype,"onShowLinkUnderline",{get:function(){return this._onShowLinkUnderline.event},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onHideLinkUnderline",{get:function(){return this._onHideLinkUnderline.event},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onLinkTooltip",{get:function(){return this._onLinkTooltip.event},enumerable:!1,configurable:!0}),e.prototype.attachToDom=function(e,t){this._element=e,this._mouseZoneManager=t},e.prototype.linkifyRows=function(t,r){var i=this;this._mouseZoneManager&&(void 0===this._rowsToLinkify.start||void 0===this._rowsToLinkify.end?(this._rowsToLinkify.start=t,this._rowsToLinkify.end=r):(this._rowsToLinkify.start=Math.min(this._rowsToLinkify.start,t),this._rowsToLinkify.end=Math.max(this._rowsToLinkify.end,r)),this._mouseZoneManager.clearAll(t,r),this._rowsTimeoutId&&clearTimeout(this._rowsTimeoutId),this._rowsTimeoutId=setTimeout((function(){return i._linkifyRows()}),e._timeBeforeLatency))},e.prototype._linkifyRows=function(){this._rowsTimeoutId=void 0;var e=this._bufferService.buffer;if(void 0!==this._rowsToLinkify.start&&void 0!==this._rowsToLinkify.end){var t=e.ydisp+this._rowsToLinkify.start;if(!(t>=e.lines.length)){for(var r=e.ydisp+Math.min(this._rowsToLinkify.end,this._bufferService.rows)+1,i=Math.ceil(2e3/this._bufferService.cols),n=this._bufferService.buffer.iterator(!1,t,r,i,i);n.hasNext();)for(var o=n.next(),s=0;s=0;t--)if(e.priority<=this._linkMatchers[t].priority)return void this._linkMatchers.splice(t+1,0,e);this._linkMatchers.splice(0,0,e)}else this._linkMatchers.push(e)},e.prototype.deregisterLinkMatcher=function(e){for(var t=0;t>9&511:void 0;r.validationCallback?r.validationCallback(a,(function(e){n._rowsTimeoutId||e&&n._addLink(l[1],l[0]-n._bufferService.buffer.ydisp,a,r,f)})):c._addLink(l[1],l[0]-c._bufferService.buffer.ydisp,a,r,f)},c=this;null!==(i=o.exec(t))&&"break"!==a(););},e.prototype._addLink=function(e,t,r,i,n){var o=this;if(this._mouseZoneManager&&this._element){var s=this._unicodeService.getStringCellWidth(r),a=e%this._bufferService.cols,l=t+Math.floor(e/this._bufferService.cols),h=(a+s)%this._bufferService.cols,u=l+Math.floor((a+s)/this._bufferService.cols);0===h&&(h=this._bufferService.cols,u--),this._mouseZoneManager.add(new c(a+1,l+1,h+1,u+1,(function(e){if(i.handler)return i.handler(e,r);var t=window.open();t?(t.opener=null,t.location.href=r):console.warn("Opening link blocked as opener could not be cleared")}),(function(){o._onShowLinkUnderline.fire(o._createLinkHoverEvent(a,l,h,u,n)),o._element.classList.add("xterm-cursor-pointer")}),(function(e){o._onLinkTooltip.fire(o._createLinkHoverEvent(a,l,h,u,n)),i.hoverTooltipCallback&&i.hoverTooltipCallback(e,r,{start:{x:a,y:l},end:{x:h,y:u}})}),(function(){o._onHideLinkUnderline.fire(o._createLinkHoverEvent(a,l,h,u,n)),o._element.classList.remove("xterm-cursor-pointer"),i.hoverLeaveCallback&&i.hoverLeaveCallback()}),(function(e){return!i.willLinkActivate||i.willLinkActivate(e,r)})))}},e.prototype._createLinkHoverEvent=function(e,t,r,i,n){return{x1:e,y1:t,x2:r,y2:i,cols:this._bufferService.cols,fg:n}},e._timeBeforeLatency=200,e=i([n(0,s.IBufferService),n(1,s.ILogService),n(2,s.IUnicodeService)],e)}();t.Linkifier=a;var c=function(e,t,r,i,n,o,s,a,c){this.x1=e,this.y1=t,this.x2=r,this.y2=i,this.clickCallback=n,this.hoverCallback=o,this.tooltipCallback=s,this.leaveCallback=a,this.willLinkActivate=c};t.MouseZone=c},6465:function(e,t,r){var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),o=this&&this.__decorate||function(e,t,r,i){var n,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},s=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.Linkifier2=void 0;var a=r(2585),c=r(8460),l=r(844),h=r(3656),u=function(e){function t(t){var r=e.call(this)||this;return r._bufferService=t,r._linkProviders=[],r._linkCacheDisposables=[],r._isMouseOut=!0,r._activeLine=-1,r._onShowLinkUnderline=r.register(new c.EventEmitter),r._onHideLinkUnderline=r.register(new c.EventEmitter),r.register(l.getDisposeArrayDisposable(r._linkCacheDisposables)),r}return n(t,e),Object.defineProperty(t.prototype,"currentLink",{get:function(){return this._currentLink},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onShowLinkUnderline",{get:function(){return this._onShowLinkUnderline.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onHideLinkUnderline",{get:function(){return this._onHideLinkUnderline.event},enumerable:!1,configurable:!0}),t.prototype.registerLinkProvider=function(e){var t=this;return this._linkProviders.push(e),{dispose:function(){var r=t._linkProviders.indexOf(e);-1!==r&&t._linkProviders.splice(r,1)}}},t.prototype.attachToDom=function(e,t,r){var i=this;this._element=e,this._mouseService=t,this._renderService=r,this.register(h.addDisposableDomListener(this._element,"mouseleave",(function(){i._isMouseOut=!0,i._clearCurrentLink()}))),this.register(h.addDisposableDomListener(this._element,"mousemove",this._onMouseMove.bind(this))),this.register(h.addDisposableDomListener(this._element,"click",this._onClick.bind(this)))},t.prototype._onMouseMove=function(e){if(this._lastMouseEvent=e,this._element&&this._mouseService){var t=this._positionFromMouseEvent(e,this._element,this._mouseService);if(t){this._isMouseOut=!1;for(var r=e.composedPath(),i=0;ie?this._bufferService.cols:s.link.range.end.x,l=a;l<=c;l++){if(r.has(l)){n.splice(o--,1);break}r.add(l)}}},t.prototype._checkLinkProviderResult=function(e,t,r){var i,n=this;if(!this._activeProviderReplies)return r;for(var o=this._activeProviderReplies.get(e),s=!1,a=0;a=e&&this._currentLink.link.range.end.y<=t)&&(this._linkLeave(this._element,this._currentLink.link,this._lastMouseEvent),this._currentLink=void 0,l.disposeArray(this._linkCacheDisposables))},t.prototype._handleNewLink=function(e){var t=this;if(this._element&&this._lastMouseEvent&&this._mouseService){var r=this._positionFromMouseEvent(this._lastMouseEvent,this._element,this._mouseService);r&&this._linkAtPosition(e.link,r)&&(this._currentLink=e,this._currentLink.state={decorations:{underline:void 0===e.link.decorations||e.link.decorations.underline,pointerCursor:void 0===e.link.decorations||e.link.decorations.pointerCursor},isHovered:!0},this._linkHover(this._element,e.link,this._lastMouseEvent),e.link.decorations={},Object.defineProperties(e.link.decorations,{pointerCursor:{get:function(){var e,r;return null===(r=null===(e=t._currentLink)||void 0===e?void 0:e.state)||void 0===r?void 0:r.decorations.pointerCursor},set:function(e){var r,i;(null===(r=t._currentLink)||void 0===r?void 0:r.state)&&t._currentLink.state.decorations.pointerCursor!==e&&(t._currentLink.state.decorations.pointerCursor=e,t._currentLink.state.isHovered&&(null===(i=t._element)||void 0===i||i.classList.toggle("xterm-cursor-pointer",e)))}},underline:{get:function(){var e,r;return null===(r=null===(e=t._currentLink)||void 0===e?void 0:e.state)||void 0===r?void 0:r.decorations.underline},set:function(r){var i,n,o;(null===(i=t._currentLink)||void 0===i?void 0:i.state)&&(null===(o=null===(n=t._currentLink)||void 0===n?void 0:n.state)||void 0===o?void 0:o.decorations.underline)!==r&&(t._currentLink.state.decorations.underline=r,t._currentLink.state.isHovered&&t._fireUnderlineEvent(e.link,r))}}}),this._renderService&&this._linkCacheDisposables.push(this._renderService.onRenderedBufferChange((function(e){var r=0===e.start?0:e.start+1+t._bufferService.buffer.ydisp;t._clearCurrentLink(r,e.end+1+t._bufferService.buffer.ydisp)}))))}},t.prototype._linkHover=function(e,t,r){var i;(null===(i=this._currentLink)||void 0===i?void 0:i.state)&&(this._currentLink.state.isHovered=!0,this._currentLink.state.decorations.underline&&this._fireUnderlineEvent(t,!0),this._currentLink.state.decorations.pointerCursor&&e.classList.add("xterm-cursor-pointer")),t.hover&&t.hover(r,t.text)},t.prototype._fireUnderlineEvent=function(e,t){var r=e.range,i=this._bufferService.buffer.ydisp,n=this._createLinkUnderlineEvent(r.start.x-1,r.start.y-i-1,r.end.x,r.end.y-i-1,void 0);(t?this._onShowLinkUnderline:this._onHideLinkUnderline).fire(n)},t.prototype._linkLeave=function(e,t,r){var i;(null===(i=this._currentLink)||void 0===i?void 0:i.state)&&(this._currentLink.state.isHovered=!1,this._currentLink.state.decorations.underline&&this._fireUnderlineEvent(t,!1),this._currentLink.state.decorations.pointerCursor&&e.classList.remove("xterm-cursor-pointer")),t.leave&&t.leave(r,t.text)},t.prototype._linkAtPosition=function(e,t){var r=e.range.start.y===e.range.end.y,i=e.range.start.yt.y;return(r&&e.range.start.x<=t.x&&e.range.end.x>=t.x||i&&e.range.end.x>=t.x||n&&e.range.start.x<=t.x||i&&n)&&e.range.start.y<=t.y&&e.range.end.y>=t.y},t.prototype._positionFromMouseEvent=function(e,t,r){var i=r.getCoords(e,t,this._bufferService.cols,this._bufferService.rows);if(i)return{x:i[0],y:i[1]+this._bufferService.buffer.ydisp}},t.prototype._createLinkUnderlineEvent=function(e,t,r,i,n){return{x1:e,y1:t,x2:r,y2:i,cols:this._bufferService.cols,fg:n}},o([s(0,a.IBufferService)],t)}(l.Disposable);t.Linkifier2=u},9042:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.tooMuchOutput=t.promptLabel=void 0,t.promptLabel="Terminal input",t.tooMuchOutput="Too much output to announce, navigate to rows manually to read"},6954:function(e,t,r){var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),o=this&&this.__decorate||function(e,t,r,i){var n,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},s=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.MouseZoneManager=void 0;var a=r(844),c=r(3656),l=r(4725),h=r(2585),u=function(e){function t(t,r,i,n,o,s){var a=e.call(this)||this;return a._element=t,a._screenElement=r,a._bufferService=i,a._mouseService=n,a._selectionService=o,a._optionsService=s,a._zones=[],a._areZonesActive=!1,a._lastHoverCoords=[void 0,void 0],a._initialSelectionLength=0,a.register(c.addDisposableDomListener(a._element,"mousedown",(function(e){return a._onMouseDown(e)}))),a._mouseMoveListener=function(e){return a._onMouseMove(e)},a._mouseLeaveListener=function(e){return a._onMouseLeave(e)},a._clickListener=function(e){return a._onClick(e)},a}return n(t,e),t.prototype.dispose=function(){e.prototype.dispose.call(this),this._deactivate()},t.prototype.add=function(e){this._zones.push(e),1===this._zones.length&&this._activate()},t.prototype.clearAll=function(e,t){if(0!==this._zones.length){e&&t||(e=0,t=this._bufferService.rows-1);for(var r=0;re&&i.y1<=t+1||i.y2>e&&i.y2<=t+1||i.y1t+1)&&(this._currentZone&&this._currentZone===i&&(this._currentZone.leaveCallback(),this._currentZone=void 0),this._zones.splice(r--,1))}0===this._zones.length&&this._deactivate()}},t.prototype._activate=function(){this._areZonesActive||(this._areZonesActive=!0,this._element.addEventListener("mousemove",this._mouseMoveListener),this._element.addEventListener("mouseleave",this._mouseLeaveListener),this._element.addEventListener("click",this._clickListener))},t.prototype._deactivate=function(){this._areZonesActive&&(this._areZonesActive=!1,this._element.removeEventListener("mousemove",this._mouseMoveListener),this._element.removeEventListener("mouseleave",this._mouseLeaveListener),this._element.removeEventListener("click",this._clickListener))},t.prototype._onMouseMove=function(e){this._lastHoverCoords[0]===e.pageX&&this._lastHoverCoords[1]===e.pageY||(this._onHover(e),this._lastHoverCoords=[e.pageX,e.pageY])},t.prototype._onHover=function(e){var t=this,r=this._findZoneEventAt(e);r!==this._currentZone&&(this._currentZone&&(this._currentZone.leaveCallback(),this._currentZone=void 0,this._tooltipTimeout&&clearTimeout(this._tooltipTimeout)),r&&(this._currentZone=r,r.hoverCallback&&r.hoverCallback(e),this._tooltipTimeout=window.setTimeout((function(){return t._onTooltip(e)}),this._optionsService.options.linkTooltipHoverDuration)))},t.prototype._onTooltip=function(e){this._tooltipTimeout=void 0;var t=this._findZoneEventAt(e);null==t||t.tooltipCallback(e)},t.prototype._onMouseDown=function(e){if(this._initialSelectionLength=this._getSelectionLength(),this._areZonesActive){var t=this._findZoneEventAt(e);(null==t?void 0:t.willLinkActivate(e))&&(e.preventDefault(),e.stopImmediatePropagation())}},t.prototype._onMouseLeave=function(e){this._currentZone&&(this._currentZone.leaveCallback(),this._currentZone=void 0,this._tooltipTimeout&&clearTimeout(this._tooltipTimeout))},t.prototype._onClick=function(e){var t=this._findZoneEventAt(e),r=this._getSelectionLength();t&&r===this._initialSelectionLength&&(t.clickCallback(e),e.preventDefault(),e.stopImmediatePropagation())},t.prototype._getSelectionLength=function(){var e=this._selectionService.selectionText;return e?e.length:0},t.prototype._findZoneEventAt=function(e){var t=this._mouseService.getCoords(e,this._screenElement,this._bufferService.cols,this._bufferService.rows);if(t)for(var r=t[0],i=t[1],n=0;n=o.x1&&r=o.x1||i===o.y2&&ro.y1&&i{Object.defineProperty(t,"__esModule",{value:!0}),t.RenderDebouncer=void 0;var r=function(){function e(e){this._renderCallback=e}return e.prototype.dispose=function(){this._animationFrame&&(window.cancelAnimationFrame(this._animationFrame),this._animationFrame=void 0)},e.prototype.refresh=function(e,t,r){var i=this;this._rowCount=r,e=void 0!==e?e:0,t=void 0!==t?t:this._rowCount-1,this._rowStart=void 0!==this._rowStart?Math.min(this._rowStart,e):e,this._rowEnd=void 0!==this._rowEnd?Math.max(this._rowEnd,t):t,this._animationFrame||(this._animationFrame=window.requestAnimationFrame((function(){return i._innerRefresh()})))},e.prototype._innerRefresh=function(){if(void 0!==this._rowStart&&void 0!==this._rowEnd&&void 0!==this._rowCount){var e=Math.max(this._rowStart,0),t=Math.min(this._rowEnd,this._rowCount-1);this._rowStart=void 0,this._rowEnd=void 0,this._animationFrame=void 0,this._renderCallback(e,t)}},e}();t.RenderDebouncer=r},5596:function(e,t,r){var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});Object.defineProperty(t,"__esModule",{value:!0}),t.ScreenDprMonitor=void 0;var o=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t._currentDevicePixelRatio=window.devicePixelRatio,t}return n(t,e),t.prototype.setListener=function(e){var t=this;this._listener&&this.clearListener(),this._listener=e,this._outerListener=function(){t._listener&&(t._listener(window.devicePixelRatio,t._currentDevicePixelRatio),t._updateDpr())},this._updateDpr()},t.prototype.dispose=function(){e.prototype.dispose.call(this),this.clearListener()},t.prototype._updateDpr=function(){var e;this._outerListener&&(null===(e=this._resolutionMediaMatchList)||void 0===e||e.removeListener(this._outerListener),this._currentDevicePixelRatio=window.devicePixelRatio,this._resolutionMediaMatchList=window.matchMedia("screen and (resolution: "+window.devicePixelRatio+"dppx)"),this._resolutionMediaMatchList.addListener(this._outerListener))},t.prototype.clearListener=function(){this._resolutionMediaMatchList&&this._listener&&this._outerListener&&(this._resolutionMediaMatchList.removeListener(this._outerListener),this._resolutionMediaMatchList=void 0,this._listener=void 0,this._outerListener=void 0)},t}(r(844).Disposable);t.ScreenDprMonitor=o},3236:function(e,t,r){var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});Object.defineProperty(t,"__esModule",{value:!0}),t.Terminal=void 0;var o=r(2950),s=r(1680),a=r(3614),c=r(2584),l=r(5435),h=r(3525),u=r(3551),f=r(9312),_=r(6114),d=r(3656),p=r(9042),v=r(357),g=r(6954),y=r(4567),m=r(1296),b=r(7399),C=r(8460),S=r(8437),w=r(5680),E=r(3230),A=r(4725),R=r(428),L=r(8934),x=r(6465),k=r(5114),T=r(8969),D=r(4774),O=r(4269),P="undefined"!=typeof window?window.document:null,M=function(e){function t(t){void 0===t&&(t={});var r=e.call(this,t)||this;return r.browser=_,r._keyDownHandled=!1,r._onCursorMove=new C.EventEmitter,r._onKey=new C.EventEmitter,r._onRender=new C.EventEmitter,r._onSelectionChange=new C.EventEmitter,r._onTitleChange=new C.EventEmitter,r._onBell=new C.EventEmitter,r._onFocus=new C.EventEmitter,r._onBlur=new C.EventEmitter,r._onA11yCharEmitter=new C.EventEmitter,r._onA11yTabEmitter=new C.EventEmitter,r._setup(),r.linkifier=r._instantiationService.createInstance(u.Linkifier),r.linkifier2=r.register(r._instantiationService.createInstance(x.Linkifier2)),r.register(r._inputHandler.onRequestBell((function(){return r.bell()}))),r.register(r._inputHandler.onRequestRefreshRows((function(e,t){return r.refresh(e,t)}))),r.register(r._inputHandler.onRequestReset((function(){return r.reset()}))),r.register(r._inputHandler.onRequestWindowsOptionsReport((function(e){return r._reportWindowsOptions(e)}))),r.register(r._inputHandler.onAnsiColorChange((function(e){return r._changeAnsiColor(e)}))),r.register(C.forwardEvent(r._inputHandler.onCursorMove,r._onCursorMove)),r.register(C.forwardEvent(r._inputHandler.onTitleChange,r._onTitleChange)),r.register(C.forwardEvent(r._inputHandler.onA11yChar,r._onA11yCharEmitter)),r.register(C.forwardEvent(r._inputHandler.onA11yTab,r._onA11yTabEmitter)),r.register(r._bufferService.onResize((function(e){return r._afterResize(e.cols,e.rows)}))),r}return n(t,e),Object.defineProperty(t.prototype,"options",{get:function(){return this.optionsService.options},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onCursorMove",{get:function(){return this._onCursorMove.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onKey",{get:function(){return this._onKey.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onRender",{get:function(){return this._onRender.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onSelectionChange",{get:function(){return this._onSelectionChange.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onTitleChange",{get:function(){return this._onTitleChange.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onBell",{get:function(){return this._onBell.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onFocus",{get:function(){return this._onFocus.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onBlur",{get:function(){return this._onBlur.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onA11yChar",{get:function(){return this._onA11yCharEmitter.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onA11yTab",{get:function(){return this._onA11yTabEmitter.event},enumerable:!1,configurable:!0}),t.prototype._changeAnsiColor=function(e){var t,r;if(this._colorManager){for(var i=0,n=e.colors;i4)&&t._coreMouseService.triggerMouseEvent({col:n.x-33,row:n.y-33,button:r,action:i,ctrl:e.ctrlKey,alt:e.altKey,shift:e.shiftKey})}var n={mouseup:null,wheel:null,mousedrag:null,mousemove:null},o=function(t){return i(t),t.buttons||(e._document.removeEventListener("mouseup",n.mouseup),n.mousedrag&&e._document.removeEventListener("mousemove",n.mousedrag)),e.cancel(t)},s=function(t){return i(t),t.preventDefault(),e.cancel(t)},a=function(e){e.buttons&&i(e)},l=function(e){e.buttons||i(e)};this.register(this._coreMouseService.onProtocolChange((function(t){t?("debug"===e.optionsService.options.logLevel&&e._logService.debug("Binding to mouse events:",e._coreMouseService.explainEvents(t)),e.element.classList.add("enable-mouse-events"),e._selectionService.disable()):(e._logService.debug("Unbinding from mouse events."),e.element.classList.remove("enable-mouse-events"),e._selectionService.enable()),8&t?n.mousemove||(r.addEventListener("mousemove",l),n.mousemove=l):(r.removeEventListener("mousemove",n.mousemove),n.mousemove=null),16&t?n.wheel||(r.addEventListener("wheel",s,{passive:!1}),n.wheel=s):(r.removeEventListener("wheel",n.wheel),n.wheel=null),2&t?n.mouseup||(n.mouseup=o):(e._document.removeEventListener("mouseup",n.mouseup),n.mouseup=null),4&t?n.mousedrag||(n.mousedrag=a):(e._document.removeEventListener("mousemove",n.mousedrag),n.mousedrag=null)}))),this._coreMouseService.activeProtocol=this._coreMouseService.activeProtocol,this.register(d.addDisposableDomListener(r,"mousedown",(function(t){if(t.preventDefault(),e.focus(),e._coreMouseService.areMouseEventsActive&&!e._selectionService.shouldForceSelection(t))return i(t),n.mouseup&&e._document.addEventListener("mouseup",n.mouseup),n.mousedrag&&e._document.addEventListener("mousemove",n.mousedrag),e.cancel(t)}))),this.register(d.addDisposableDomListener(r,"wheel",(function(t){if(n.wheel);else if(!e.buffer.hasScrollback){var r=e.viewport.getLinesScrolled(t);if(0===r)return;for(var i=c.C0.ESC+(e._coreService.decPrivateModes.applicationCursorKeys?"O":"[")+(t.deltaY<0?"A":"B"),o="",s=0;s47)},t.prototype._keyUp=function(e){this._customKeyEventHandler&&!1===this._customKeyEventHandler(e)||(function(e){return 16===e.keyCode||17===e.keyCode||18===e.keyCode}(e)||this.focus(),this.updateCursorStyle(e))},t.prototype._keyPress=function(e){var t;if(this._keyDownHandled)return!1;if(this._customKeyEventHandler&&!1===this._customKeyEventHandler(e))return!1;if(this.cancel(e),e.charCode)t=e.charCode;else if(null===e.which||void 0===e.which)t=e.keyCode;else{if(0===e.which||0===e.charCode)return!1;t=e.which}return!(!t||(e.altKey||e.ctrlKey||e.metaKey)&&!this._isThirdLevelShift(this.browser,e)||(t=String.fromCharCode(t),this._onKey.fire({key:t,domEvent:e}),this._showCursor(),this._coreService.triggerDataEvent(t,!0),0))},t.prototype.bell=function(){var e;this._soundBell()&&(null===(e=this._soundService)||void 0===e||e.playBellSound()),this._onBell.fire()},t.prototype.resize=function(t,r){t!==this.cols||r!==this.rows?e.prototype.resize.call(this,t,r):this._charSizeService&&!this._charSizeService.hasValidSize&&this._charSizeService.measure()},t.prototype._afterResize=function(e,t){var r,i;null===(r=this._charSizeService)||void 0===r||r.measure(),null===(i=this.viewport)||void 0===i||i.syncScrollArea(!0)},t.prototype.clear=function(){if(0!==this.buffer.ybase||0!==this.buffer.y){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 e=1;e=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},s=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.Viewport=void 0;var a=r(844),c=r(3656),l=r(4725),h=r(2585),u=function(e){function t(t,r,i,n,o,s,a){var l=e.call(this)||this;return l._scrollLines=t,l._viewportElement=r,l._scrollArea=i,l._bufferService=n,l._optionsService=o,l._charSizeService=s,l._renderService=a,l.scrollBarWidth=0,l._currentRowHeight=0,l._lastRecordedBufferLength=0,l._lastRecordedViewportHeight=0,l._lastRecordedBufferHeight=0,l._lastTouchY=0,l._lastScrollTop=0,l._wheelPartialScroll=0,l._refreshAnimationFrame=null,l._ignoreNextScrollEvent=!1,l.scrollBarWidth=l._viewportElement.offsetWidth-l._scrollArea.offsetWidth||15,l.register(c.addDisposableDomListener(l._viewportElement,"scroll",l._onScroll.bind(l))),setTimeout((function(){return l.syncScrollArea()}),0),l}return n(t,e),t.prototype.onThemeChange=function(e){this._viewportElement.style.backgroundColor=e.background.css},t.prototype._refresh=function(e){var t=this;if(e)return this._innerRefresh(),void(null!==this._refreshAnimationFrame&&cancelAnimationFrame(this._refreshAnimationFrame));null===this._refreshAnimationFrame&&(this._refreshAnimationFrame=requestAnimationFrame((function(){return t._innerRefresh()})))},t.prototype._innerRefresh=function(){if(this._charSizeService.height>0){this._currentRowHeight=this._renderService.dimensions.scaledCellHeight/window.devicePixelRatio,this._lastRecordedViewportHeight=this._viewportElement.offsetHeight;var e=Math.round(this._currentRowHeight*this._lastRecordedBufferLength)+(this._lastRecordedViewportHeight-this._renderService.dimensions.canvasHeight);this._lastRecordedBufferHeight!==e&&(this._lastRecordedBufferHeight=e,this._scrollArea.style.height=this._lastRecordedBufferHeight+"px")}var t=this._bufferService.buffer.ydisp*this._currentRowHeight;this._viewportElement.scrollTop!==t&&(this._ignoreNextScrollEvent=!0,this._viewportElement.scrollTop=t),this._refreshAnimationFrame=null},t.prototype.syncScrollArea=function(e){if(void 0===e&&(e=!1),this._lastRecordedBufferLength!==this._bufferService.buffer.lines.length)return this._lastRecordedBufferLength=this._bufferService.buffer.lines.length,void this._refresh(e);if(this._lastRecordedViewportHeight===this._renderService.dimensions.canvasHeight){var t=this._bufferService.buffer.ydisp*this._currentRowHeight;this._lastScrollTop===t&&this._lastScrollTop===this._viewportElement.scrollTop&&this._renderService.dimensions.scaledCellHeight/window.devicePixelRatio===this._currentRowHeight||this._refresh(e)}else this._refresh(e)},t.prototype._onScroll=function(e){if(this._lastScrollTop=this._viewportElement.scrollTop,this._viewportElement.offsetParent){if(this._ignoreNextScrollEvent)return this._ignoreNextScrollEvent=!1,void this._scrollLines(0);var t=Math.round(this._lastScrollTop/this._currentRowHeight)-this._bufferService.buffer.ydisp;this._scrollLines(t)}},t.prototype._bubbleScroll=function(e,t){var r=this._viewportElement.scrollTop+this._lastRecordedViewportHeight;return!(t<0&&0!==this._viewportElement.scrollTop||t>0&&r0?1:-1),this._wheelPartialScroll%=1):e.deltaMode===WheelEvent.DOM_DELTA_PAGE&&(t*=this._bufferService.rows),t},t.prototype._applyScrollModifier=function(e,t){var r=this._optionsService.options.fastScrollModifier;return"alt"===r&&t.altKey||"ctrl"===r&&t.ctrlKey||"shift"===r&&t.shiftKey?e*this._optionsService.options.fastScrollSensitivity*this._optionsService.options.scrollSensitivity:e*this._optionsService.options.scrollSensitivity},t.prototype.onTouchStart=function(e){this._lastTouchY=e.touches[0].pageY},t.prototype.onTouchMove=function(e){var t=this._lastTouchY-e.touches[0].pageY;return this._lastTouchY=e.touches[0].pageY,0!==t&&(this._viewportElement.scrollTop+=t,this._bubbleScroll(e,t))},o([s(3,h.IBufferService),s(4,h.IOptionsService),s(5,l.ICharSizeService),s(6,l.IRenderService)],t)}(a.Disposable);t.Viewport=u},2950:function(e,t,r){var i=this&&this.__decorate||function(e,t,r,i){var n,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},n=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.CompositionHelper=void 0;var o=r(4725),s=r(2585),a=function(){function e(e,t,r,i,n,o){this._textarea=e,this._compositionView=t,this._bufferService=r,this._optionsService=i,this._coreService=n,this._renderService=o,this._isComposing=!1,this._isSendingComposition=!1,this._compositionPosition={start:0,end:0},this._dataAlreadySent=""}return Object.defineProperty(e.prototype,"isComposing",{get:function(){return this._isComposing},enumerable:!1,configurable:!0}),e.prototype.compositionstart=function(){this._isComposing=!0,this._compositionPosition.start=this._textarea.value.length,this._compositionView.textContent="",this._dataAlreadySent="",this._compositionView.classList.add("active")},e.prototype.compositionupdate=function(e){var t=this;this._compositionView.textContent=e.data,this.updateCompositionElements(),setTimeout((function(){t._compositionPosition.end=t._textarea.value.length}),0)},e.prototype.compositionend=function(){this._finalizeComposition(!0)},e.prototype.keydown=function(e){if(this._isComposing||this._isSendingComposition){if(229===e.keyCode)return!1;if(16===e.keyCode||17===e.keyCode||18===e.keyCode)return!1;this._finalizeComposition(!1)}return 229!==e.keyCode||(this._handleAnyTextareaChanges(),!1)},e.prototype._finalizeComposition=function(e){var t=this;if(this._compositionView.classList.remove("active"),this._isComposing=!1,e){var r={start:this._compositionPosition.start,end:this._compositionPosition.end};this._isSendingComposition=!0,setTimeout((function(){var e;t._isSendingComposition&&(t._isSendingComposition=!1,r.start+=t._dataAlreadySent.length,(e=t._isComposing?t._textarea.value.substring(r.start,r.end):t._textarea.value.substring(r.start)).length>0&&t._coreService.triggerDataEvent(e,!0))}),0)}else{this._isSendingComposition=!1;var i=this._textarea.value.substring(this._compositionPosition.start,this._compositionPosition.end);this._coreService.triggerDataEvent(i,!0)}},e.prototype._handleAnyTextareaChanges=function(){var e=this,t=this._textarea.value;setTimeout((function(){if(!e._isComposing){var r=e._textarea.value.replace(t,"");r.length>0&&(e._dataAlreadySent=r,e._coreService.triggerDataEvent(r,!0))}}),0)},e.prototype.updateCompositionElements=function(e){var t=this;if(this._isComposing){if(this._bufferService.buffer.isCursorInViewport){var r=Math.min(this._bufferService.buffer.x,this._bufferService.cols-1),i=this._renderService.dimensions.actualCellHeight,n=this._bufferService.buffer.y*this._renderService.dimensions.actualCellHeight,o=r*this._renderService.dimensions.actualCellWidth;this._compositionView.style.left=o+"px",this._compositionView.style.top=n+"px",this._compositionView.style.height=i+"px",this._compositionView.style.lineHeight=i+"px",this._compositionView.style.fontFamily=this._optionsService.options.fontFamily,this._compositionView.style.fontSize=this._optionsService.options.fontSize+"px";var s=this._compositionView.getBoundingClientRect();this._textarea.style.left=o+"px",this._textarea.style.top=n+"px",this._textarea.style.width=Math.max(s.width,1)+"px",this._textarea.style.height=Math.max(s.height,1)+"px",this._textarea.style.lineHeight=s.height+"px"}e||setTimeout((function(){return t.updateCompositionElements(!0)}),0)}},i([n(2,s.IBufferService),n(3,s.IOptionsService),n(4,s.ICoreService),n(5,o.IRenderService)],e)}();t.CompositionHelper=a},9806:(e,t)=>{function r(e,t){var r=t.getBoundingClientRect();return[e.clientX-r.left,e.clientY-r.top]}Object.defineProperty(t,"__esModule",{value:!0}),t.getRawByteCoords=t.getCoords=t.getCoordsRelativeToElement=void 0,t.getCoordsRelativeToElement=r,t.getCoords=function(e,t,i,n,o,s,a,c){if(o){var l=r(e,t);if(l)return l[0]=Math.ceil((l[0]+(c?s/2:0))/s),l[1]=Math.ceil(l[1]/a),l[0]=Math.min(Math.max(l[0],1),i+(c?1:0)),l[1]=Math.min(Math.max(l[1],1),n),l}},t.getRawByteCoords=function(e){if(e)return{x:e[0]+32,y:e[1]+32}}},9504:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.moveToCellSequence=void 0;var i=r(2584);function n(e,t,r,i){var n=e-o(r,e),a=t-o(r,t);return l(Math.abs(n-a)-function(e,t,r){for(var i=0,n=e-o(r,e),a=t-o(r,t),c=0;c=0&&tt?"A":"B"}function a(e,t,r,i,n,o){for(var s=e,a=t,c="";s!==r||a!==i;)s+=n?1:-1,n&&s>o.cols-1?(c+=o.buffer.translateBufferLineToString(a,!1,e,s),s=0,e=0,a++):!n&&s<0&&(c+=o.buffer.translateBufferLineToString(a,!1,0,e+1),e=s=o.cols-1,a--);return c+o.buffer.translateBufferLineToString(a,!1,e,s)}function c(e,t){var r=t?"O":"[";return i.C0.ESC+r+e}function l(e,t){e=Math.floor(e);for(var r="",i=0;i0?i-o(s,i):t;var f=i,_=function(e,t,r,i,s,a){var c;return c=n(r,i,s,a).length>0?i-o(s,i):t,e=r&&ce?"D":"C",l(Math.abs(h-e),c(s,i));s=u>t?"D":"C";var f=Math.abs(u-t);return l(function(e,t){return t.cols-e}(u>t?e:h,r)+(f-1)*r.cols+1+((u>t?h:e)-1),c(s,i))}},244:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.AddonManager=void 0;var r=function(){function e(){this._addons=[]}return e.prototype.dispose=function(){for(var e=this._addons.length-1;e>=0;e--)this._addons[e].instance.dispose()},e.prototype.loadAddon=function(e,t){var r=this,i={instance:t,dispose:t.dispose,isDisposed:!1};this._addons.push(i),t.dispose=function(){return r._wrappedAddonDispose(i)},t.activate(e)},e.prototype._wrappedAddonDispose=function(e){if(!e.isDisposed){for(var t=-1,r=0;r{Object.defineProperty(t,"__esModule",{value:!0}),t.Terminal=void 0;var i=r(511),n=r(3236),o=r(9042),s=r(8460),a=r(244),c=function(){function e(e){this._core=new n.Terminal(e),this._addonManager=new a.AddonManager}return e.prototype._checkProposedApi=function(){if(!this._core.optionsService.options.allowProposedApi)throw new Error("You must set the allowProposedApi option to true to use proposed API")},Object.defineProperty(e.prototype,"onCursorMove",{get:function(){return this._core.onCursorMove},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onLineFeed",{get:function(){return this._core.onLineFeed},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onSelectionChange",{get:function(){return this._core.onSelectionChange},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onData",{get:function(){return this._core.onData},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onBinary",{get:function(){return this._core.onBinary},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onTitleChange",{get:function(){return this._core.onTitleChange},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onBell",{get:function(){return this._core.onBell},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onScroll",{get:function(){return this._core.onScroll},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onKey",{get:function(){return this._core.onKey},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onRender",{get:function(){return this._core.onRender},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onResize",{get:function(){return this._core.onResize},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"element",{get:function(){return this._core.element},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"parser",{get:function(){return this._checkProposedApi(),this._parser||(this._parser=new f(this._core)),this._parser},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"unicode",{get:function(){return this._checkProposedApi(),new _(this._core)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"textarea",{get:function(){return this._core.textarea},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"rows",{get:function(){return this._core.rows},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"cols",{get:function(){return this._core.cols},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"buffer",{get:function(){return this._checkProposedApi(),this._buffer||(this._buffer=new h(this._core)),this._buffer},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"markers",{get:function(){return this._checkProposedApi(),this._core.markers},enumerable:!1,configurable:!0}),e.prototype.blur=function(){this._core.blur()},e.prototype.focus=function(){this._core.focus()},e.prototype.resize=function(e,t){this._verifyIntegers(e,t),this._core.resize(e,t)},e.prototype.open=function(e){this._core.open(e)},e.prototype.attachCustomKeyEventHandler=function(e){this._core.attachCustomKeyEventHandler(e)},e.prototype.registerLinkMatcher=function(e,t,r){return this._checkProposedApi(),this._core.registerLinkMatcher(e,t,r)},e.prototype.deregisterLinkMatcher=function(e){this._checkProposedApi(),this._core.deregisterLinkMatcher(e)},e.prototype.registerLinkProvider=function(e){return this._checkProposedApi(),this._core.registerLinkProvider(e)},e.prototype.registerCharacterJoiner=function(e){return this._checkProposedApi(),this._core.registerCharacterJoiner(e)},e.prototype.deregisterCharacterJoiner=function(e){this._checkProposedApi(),this._core.deregisterCharacterJoiner(e)},e.prototype.registerMarker=function(e){return this._checkProposedApi(),this._verifyIntegers(e),this._core.addMarker(e)},e.prototype.addMarker=function(e){return this.registerMarker(e)},e.prototype.hasSelection=function(){return this._core.hasSelection()},e.prototype.select=function(e,t,r){this._verifyIntegers(e,t,r),this._core.select(e,t,r)},e.prototype.getSelection=function(){return this._core.getSelection()},e.prototype.getSelectionPosition=function(){return this._core.getSelectionPosition()},e.prototype.clearSelection=function(){this._core.clearSelection()},e.prototype.selectAll=function(){this._core.selectAll()},e.prototype.selectLines=function(e,t){this._verifyIntegers(e,t),this._core.selectLines(e,t)},e.prototype.dispose=function(){this._addonManager.dispose(),this._core.dispose()},e.prototype.scrollLines=function(e){this._verifyIntegers(e),this._core.scrollLines(e)},e.prototype.scrollPages=function(e){this._verifyIntegers(e),this._core.scrollPages(e)},e.prototype.scrollToTop=function(){this._core.scrollToTop()},e.prototype.scrollToBottom=function(){this._core.scrollToBottom()},e.prototype.scrollToLine=function(e){this._verifyIntegers(e),this._core.scrollToLine(e)},e.prototype.clear=function(){this._core.clear()},e.prototype.write=function(e,t){this._core.write(e,t)},e.prototype.writeUtf8=function(e,t){this._core.write(e,t)},e.prototype.writeln=function(e,t){this._core.write(e),this._core.write("\r\n",t)},e.prototype.paste=function(e){this._core.paste(e)},e.prototype.getOption=function(e){return this._core.optionsService.getOption(e)},e.prototype.setOption=function(e,t){this._core.optionsService.setOption(e,t)},e.prototype.refresh=function(e,t){this._verifyIntegers(e,t),this._core.refresh(e,t)},e.prototype.reset=function(){this._core.reset()},e.prototype.loadAddon=function(e){return this._addonManager.loadAddon(this,e)},Object.defineProperty(e,"strings",{get:function(){return o},enumerable:!1,configurable:!0}),e.prototype._verifyIntegers=function(){for(var e=[],t=0;t=this._line.length))return t?(this._line.loadCell(e,t),t):this._line.loadCell(e,new i.CellData)},e.prototype.translateToString=function(e,t,r){return this._line.translateToString(e,t,r)},e}(),f=function(){function e(e){this._core=e}return e.prototype.registerCsiHandler=function(e,t){return this._core.registerCsiHandler(e,(function(e){return t(e.toArray())}))},e.prototype.addCsiHandler=function(e,t){return this.registerCsiHandler(e,t)},e.prototype.registerDcsHandler=function(e,t){return this._core.registerDcsHandler(e,(function(e,r){return t(e,r.toArray())}))},e.prototype.addDcsHandler=function(e,t){return this.registerDcsHandler(e,t)},e.prototype.registerEscHandler=function(e,t){return this._core.registerEscHandler(e,t)},e.prototype.addEscHandler=function(e,t){return this.registerEscHandler(e,t)},e.prototype.registerOscHandler=function(e,t){return this._core.registerOscHandler(e,t)},e.prototype.addOscHandler=function(e,t){return this.registerOscHandler(e,t)},e}(),_=function(){function e(e){this._core=e}return e.prototype.register=function(e){this._core.unicodeService.register(e)},Object.defineProperty(e.prototype,"versions",{get:function(){return this._core.unicodeService.versions},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"activeVersion",{get:function(){return this._core.unicodeService.activeVersion},set:function(e){this._core.unicodeService.activeVersion=e},enumerable:!1,configurable:!0}),e}()},1546:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.BaseRenderLayer=void 0;var i=r(643),n=r(8803),o=r(1420),s=r(3734),a=r(1752),c=r(4774),l=r(9631),h=function(){function e(e,t,r,i,n,o,s,a){this._container=e,this._alpha=i,this._colors=n,this._rendererId=o,this._bufferService=s,this._optionsService=a,this._scaledCharWidth=0,this._scaledCharHeight=0,this._scaledCellWidth=0,this._scaledCellHeight=0,this._scaledCharLeft=0,this._scaledCharTop=0,this._currentGlyphIdentifier={chars:"",code:0,bg:0,fg:0,bold:!1,dim:!1,italic:!1},this._canvas=document.createElement("canvas"),this._canvas.classList.add("xterm-"+t+"-layer"),this._canvas.style.zIndex=r.toString(),this._initCanvas(),this._container.appendChild(this._canvas)}return e.prototype.dispose=function(){var e;l.removeElementFromParent(this._canvas),null===(e=this._charAtlas)||void 0===e||e.dispose()},e.prototype._initCanvas=function(){this._ctx=a.throwIfFalsy(this._canvas.getContext("2d",{alpha:this._alpha})),this._alpha||this._clearAll()},e.prototype.onOptionsChanged=function(){},e.prototype.onBlur=function(){},e.prototype.onFocus=function(){},e.prototype.onCursorMove=function(){},e.prototype.onGridChanged=function(e,t){},e.prototype.onSelectionChanged=function(e,t,r){void 0===r&&(r=!1)},e.prototype.setColors=function(e){this._refreshCharAtlas(e)},e.prototype._setTransparency=function(e){if(e!==this._alpha){var t=this._canvas;this._alpha=e,this._canvas=this._canvas.cloneNode(),this._initCanvas(),this._container.replaceChild(this._canvas,t),this._refreshCharAtlas(this._colors),this.onGridChanged(0,this._bufferService.rows-1)}},e.prototype._refreshCharAtlas=function(e){this._scaledCharWidth<=0&&this._scaledCharHeight<=0||(this._charAtlas=o.acquireCharAtlas(this._optionsService.options,this._rendererId,e,this._scaledCharWidth,this._scaledCharHeight),this._charAtlas.warmUp())},e.prototype.resize=function(e){this._scaledCellWidth=e.scaledCellWidth,this._scaledCellHeight=e.scaledCellHeight,this._scaledCharWidth=e.scaledCharWidth,this._scaledCharHeight=e.scaledCharHeight,this._scaledCharLeft=e.scaledCharLeft,this._scaledCharTop=e.scaledCharTop,this._canvas.width=e.scaledCanvasWidth,this._canvas.height=e.scaledCanvasHeight,this._canvas.style.width=e.canvasWidth+"px",this._canvas.style.height=e.canvasHeight+"px",this._alpha||this._clearAll(),this._refreshCharAtlas(this._colors)},e.prototype._fillCells=function(e,t,r,i){this._ctx.fillRect(e*this._scaledCellWidth,t*this._scaledCellHeight,r*this._scaledCellWidth,i*this._scaledCellHeight)},e.prototype._fillBottomLineAtCells=function(e,t,r){void 0===r&&(r=1),this._ctx.fillRect(e*this._scaledCellWidth,(t+1)*this._scaledCellHeight-window.devicePixelRatio-1,r*this._scaledCellWidth,window.devicePixelRatio)},e.prototype._fillLeftLineAtCell=function(e,t,r){this._ctx.fillRect(e*this._scaledCellWidth,t*this._scaledCellHeight,window.devicePixelRatio*r,this._scaledCellHeight)},e.prototype._strokeRectAtCell=function(e,t,r,i){this._ctx.lineWidth=window.devicePixelRatio,this._ctx.strokeRect(e*this._scaledCellWidth+window.devicePixelRatio/2,t*this._scaledCellHeight+window.devicePixelRatio/2,r*this._scaledCellWidth-window.devicePixelRatio,i*this._scaledCellHeight-window.devicePixelRatio)},e.prototype._clearAll=function(){this._alpha?this._ctx.clearRect(0,0,this._canvas.width,this._canvas.height):(this._ctx.fillStyle=this._colors.background.css,this._ctx.fillRect(0,0,this._canvas.width,this._canvas.height))},e.prototype._clearCells=function(e,t,r,i){this._alpha?this._ctx.clearRect(e*this._scaledCellWidth,t*this._scaledCellHeight,r*this._scaledCellWidth,i*this._scaledCellHeight):(this._ctx.fillStyle=this._colors.background.css,this._ctx.fillRect(e*this._scaledCellWidth,t*this._scaledCellHeight,r*this._scaledCellWidth,i*this._scaledCellHeight))},e.prototype._fillCharTrueColor=function(e,t,r){this._ctx.font=this._getFont(!1,!1),this._ctx.textBaseline="ideographic",this._clipRow(r),this._ctx.fillText(e.getChars(),t*this._scaledCellWidth+this._scaledCharLeft,r*this._scaledCellHeight+this._scaledCharTop+this._scaledCharHeight)},e.prototype._drawChars=function(e,t,r){var o,s,a=this._getContrastColor(e);a||e.isFgRGB()||e.isBgRGB()?this._drawUncachedChars(e,t,r,a):(e.isInverse()?(o=e.isBgDefault()?n.INVERTED_DEFAULT_COLOR:e.getBgColor(),s=e.isFgDefault()?n.INVERTED_DEFAULT_COLOR:e.getFgColor()):(s=e.isBgDefault()?i.DEFAULT_COLOR:e.getBgColor(),o=e.isFgDefault()?i.DEFAULT_COLOR:e.getFgColor()),o+=this._optionsService.options.drawBoldTextInBrightColors&&e.isBold()&&o<8?8:0,this._currentGlyphIdentifier.chars=e.getChars()||i.WHITESPACE_CELL_CHAR,this._currentGlyphIdentifier.code=e.getCode()||i.WHITESPACE_CELL_CODE,this._currentGlyphIdentifier.bg=s,this._currentGlyphIdentifier.fg=o,this._currentGlyphIdentifier.bold=!!e.isBold(),this._currentGlyphIdentifier.dim=!!e.isDim(),this._currentGlyphIdentifier.italic=!!e.isItalic(),this._charAtlas&&this._charAtlas.draw(this._ctx,this._currentGlyphIdentifier,t*this._scaledCellWidth+this._scaledCharLeft,r*this._scaledCellHeight+this._scaledCharTop)||this._drawUncachedChars(e,t,r))},e.prototype._drawUncachedChars=function(e,t,r,i){if(this._ctx.save(),this._ctx.font=this._getFont(!!e.isBold(),!!e.isItalic()),this._ctx.textBaseline="ideographic",e.isInverse())if(i)this._ctx.fillStyle=i.css;else if(e.isBgDefault())this._ctx.fillStyle=c.color.opaque(this._colors.background).css;else if(e.isBgRGB())this._ctx.fillStyle="rgb("+s.AttributeData.toColorRGB(e.getBgColor()).join(",")+")";else{var o=e.getBgColor();this._optionsService.options.drawBoldTextInBrightColors&&e.isBold()&&o<8&&(o+=8),this._ctx.fillStyle=this._colors.ansi[o].css}else if(i)this._ctx.fillStyle=i.css;else if(e.isFgDefault())this._ctx.fillStyle=this._colors.foreground.css;else if(e.isFgRGB())this._ctx.fillStyle="rgb("+s.AttributeData.toColorRGB(e.getFgColor()).join(",")+")";else{var a=e.getFgColor();this._optionsService.options.drawBoldTextInBrightColors&&e.isBold()&&a<8&&(a+=8),this._ctx.fillStyle=this._colors.ansi[a].css}this._clipRow(r),e.isDim()&&(this._ctx.globalAlpha=n.DIM_OPACITY),this._ctx.fillText(e.getChars(),t*this._scaledCellWidth+this._scaledCharLeft,r*this._scaledCellHeight+this._scaledCharTop+this._scaledCharHeight),this._ctx.restore()},e.prototype._clipRow=function(e){this._ctx.beginPath(),this._ctx.rect(0,e*this._scaledCellHeight,this._bufferService.cols*this._scaledCellWidth,this._scaledCellHeight),this._ctx.clip()},e.prototype._getFont=function(e,t){return(t?"italic":"")+" "+(e?this._optionsService.options.fontWeightBold:this._optionsService.options.fontWeight)+" "+this._optionsService.options.fontSize*window.devicePixelRatio+"px "+this._optionsService.options.fontFamily},e.prototype._getContrastColor=function(e){if(1!==this._optionsService.options.minimumContrastRatio){var t=this._colors.contrastCache.getColor(e.bg,e.fg);if(void 0!==t)return t||void 0;var r=e.getFgColor(),i=e.getFgColorMode(),n=e.getBgColor(),o=e.getBgColorMode(),s=!!e.isInverse(),a=!!e.isInverse();if(s){var l=r;r=n,n=l;var h=i;i=o,o=h}var u=this._resolveBackgroundRgba(o,n,s),f=this._resolveForegroundRgba(i,r,s,a),_=c.rgba.ensureContrastRatio(u,f,this._optionsService.options.minimumContrastRatio);if(_){var d={css:c.channels.toCss(_>>24&255,_>>16&255,_>>8&255),rgba:_};return this._colors.contrastCache.setColor(e.bg,e.fg,d),d}this._colors.contrastCache.setColor(e.bg,e.fg,null)}},e.prototype._resolveBackgroundRgba=function(e,t,r){switch(e){case 16777216:case 33554432:return this._colors.ansi[t].rgba;case 50331648:return t<<8;case 0:default:return r?this._colors.foreground.rgba:this._colors.background.rgba}},e.prototype._resolveForegroundRgba=function(e,t,r,i){switch(e){case 16777216:case 33554432:return this._optionsService.options.drawBoldTextInBrightColors&&i&&t<8&&(t+=8),this._colors.ansi[t].rgba;case 50331648:return t<<8;case 0:default:return r?this._colors.background.rgba:this._colors.foreground.rgba}},e}();t.BaseRenderLayer=h},2512:function(e,t,r){var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),o=this&&this.__decorate||function(e,t,r,i){var n,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},s=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.CursorRenderLayer=void 0;var a=r(1546),c=r(511),l=r(2585),h=r(4725),u=600,f=function(e){function t(t,r,i,n,o,s,a,l,h){var u=e.call(this,t,"cursor",r,!0,i,n,s,a)||this;return u._onRequestRedraw=o,u._coreService=l,u._coreBrowserService=h,u._cell=new c.CellData,u._state={x:0,y:0,isFocused:!1,style:"",width:0},u._cursorRenderers={bar:u._renderBarCursor.bind(u),block:u._renderBlockCursor.bind(u),underline:u._renderUnderlineCursor.bind(u)},u}return n(t,e),t.prototype.resize=function(t){e.prototype.resize.call(this,t),this._state={x:0,y:0,isFocused:!1,style:"",width:0}},t.prototype.reset=function(){this._clearCursor(),this._cursorBlinkStateManager&&(this._cursorBlinkStateManager.dispose(),this._cursorBlinkStateManager=void 0,this.onOptionsChanged())},t.prototype.onBlur=function(){this._cursorBlinkStateManager&&this._cursorBlinkStateManager.pause(),this._onRequestRedraw.fire({start:this._bufferService.buffer.y,end:this._bufferService.buffer.y})},t.prototype.onFocus=function(){this._cursorBlinkStateManager?this._cursorBlinkStateManager.resume():this._onRequestRedraw.fire({start:this._bufferService.buffer.y,end:this._bufferService.buffer.y})},t.prototype.onOptionsChanged=function(){var e,t=this;this._optionsService.options.cursorBlink?this._cursorBlinkStateManager||(this._cursorBlinkStateManager=new _(this._coreBrowserService.isFocused,(function(){t._render(!0)}))):(null===(e=this._cursorBlinkStateManager)||void 0===e||e.dispose(),this._cursorBlinkStateManager=void 0),this._onRequestRedraw.fire({start:this._bufferService.buffer.y,end:this._bufferService.buffer.y})},t.prototype.onCursorMove=function(){this._cursorBlinkStateManager&&this._cursorBlinkStateManager.restartBlinkAnimation()},t.prototype.onGridChanged=function(e,t){!this._cursorBlinkStateManager||this._cursorBlinkStateManager.isPaused?this._render(!1):this._cursorBlinkStateManager.restartBlinkAnimation()},t.prototype._render=function(e){if(this._coreService.isCursorInitialized&&!this._coreService.isCursorHidden){var t=this._bufferService.buffer.ybase+this._bufferService.buffer.y,r=t-this._bufferService.buffer.ydisp;if(r<0||r>=this._bufferService.rows)this._clearCursor();else{var i=Math.min(this._bufferService.buffer.x,this._bufferService.cols-1);if(this._bufferService.buffer.lines.get(t).loadCell(i,this._cell),void 0!==this._cell.content){if(!this._coreBrowserService.isFocused){this._clearCursor(),this._ctx.save(),this._ctx.fillStyle=this._colors.cursor.css;var n=this._optionsService.options.cursorStyle;return n&&"block"!==n?this._cursorRenderers[n](i,r,this._cell):this._renderBlurCursor(i,r,this._cell),this._ctx.restore(),this._state.x=i,this._state.y=r,this._state.isFocused=!1,this._state.style=n,void(this._state.width=this._cell.getWidth())}if(!this._cursorBlinkStateManager||this._cursorBlinkStateManager.isCursorVisible){if(this._state){if(this._state.x===i&&this._state.y===r&&this._state.isFocused===this._coreBrowserService.isFocused&&this._state.style===this._optionsService.options.cursorStyle&&this._state.width===this._cell.getWidth())return;this._clearCursor()}this._ctx.save(),this._cursorRenderers[this._optionsService.options.cursorStyle||"block"](i,r,this._cell),this._ctx.restore(),this._state.x=i,this._state.y=r,this._state.isFocused=!1,this._state.style=this._optionsService.options.cursorStyle,this._state.width=this._cell.getWidth()}else this._clearCursor()}}}else this._clearCursor()},t.prototype._clearCursor=function(){this._state&&(this._clearCells(this._state.x,this._state.y,this._state.width,1),this._state={x:0,y:0,isFocused:!1,style:"",width:0})},t.prototype._renderBarCursor=function(e,t,r){this._ctx.save(),this._ctx.fillStyle=this._colors.cursor.css,this._fillLeftLineAtCell(e,t,this._optionsService.options.cursorWidth),this._ctx.restore()},t.prototype._renderBlockCursor=function(e,t,r){this._ctx.save(),this._ctx.fillStyle=this._colors.cursor.css,this._fillCells(e,t,r.getWidth(),1),this._ctx.fillStyle=this._colors.cursorAccent.css,this._fillCharTrueColor(r,e,t),this._ctx.restore()},t.prototype._renderUnderlineCursor=function(e,t,r){this._ctx.save(),this._ctx.fillStyle=this._colors.cursor.css,this._fillBottomLineAtCells(e,t),this._ctx.restore()},t.prototype._renderBlurCursor=function(e,t,r){this._ctx.save(),this._ctx.strokeStyle=this._colors.cursor.css,this._strokeRectAtCell(e,t,r.getWidth(),1),this._ctx.restore()},o([s(5,l.IBufferService),s(6,l.IOptionsService),s(7,l.ICoreService),s(8,h.ICoreBrowserService)],t)}(a.BaseRenderLayer);t.CursorRenderLayer=f;var _=function(){function e(e,t){this._renderCallback=t,this.isCursorVisible=!0,e&&this._restartInterval()}return Object.defineProperty(e.prototype,"isPaused",{get:function(){return!(this._blinkStartTimeout||this._blinkInterval)},enumerable:!1,configurable:!0}),e.prototype.dispose=function(){this._blinkInterval&&(window.clearInterval(this._blinkInterval),this._blinkInterval=void 0),this._blinkStartTimeout&&(window.clearTimeout(this._blinkStartTimeout),this._blinkStartTimeout=void 0),this._animationFrame&&(window.cancelAnimationFrame(this._animationFrame),this._animationFrame=void 0)},e.prototype.restartBlinkAnimation=function(){var e=this;this.isPaused||(this._animationTimeRestarted=Date.now(),this.isCursorVisible=!0,this._animationFrame||(this._animationFrame=window.requestAnimationFrame((function(){e._renderCallback(),e._animationFrame=void 0}))))},e.prototype._restartInterval=function(e){var t=this;void 0===e&&(e=u),this._blinkInterval&&window.clearInterval(this._blinkInterval),this._blinkStartTimeout=window.setTimeout((function(){if(t._animationTimeRestarted){var e=u-(Date.now()-t._animationTimeRestarted);if(t._animationTimeRestarted=void 0,e>0)return void t._restartInterval(e)}t.isCursorVisible=!1,t._animationFrame=window.requestAnimationFrame((function(){t._renderCallback(),t._animationFrame=void 0})),t._blinkInterval=window.setInterval((function(){if(t._animationTimeRestarted){var e=u-(Date.now()-t._animationTimeRestarted);return t._animationTimeRestarted=void 0,void t._restartInterval(e)}t.isCursorVisible=!t.isCursorVisible,t._animationFrame=window.requestAnimationFrame((function(){t._renderCallback(),t._animationFrame=void 0}))}),u)}),e)},e.prototype.pause=function(){this.isCursorVisible=!0,this._blinkInterval&&(window.clearInterval(this._blinkInterval),this._blinkInterval=void 0),this._blinkStartTimeout&&(window.clearTimeout(this._blinkStartTimeout),this._blinkStartTimeout=void 0),this._animationFrame&&(window.cancelAnimationFrame(this._animationFrame),this._animationFrame=void 0)},e.prototype.resume=function(){this.pause(),this._animationTimeRestarted=void 0,this._restartInterval(),this.restartBlinkAnimation()},e}()},3700:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.GridCache=void 0;var r=function(){function e(){this.cache=[]}return e.prototype.resize=function(e,t){for(var r=0;r=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},s=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.LinkRenderLayer=void 0;var a=r(1546),c=r(8803),l=r(2040),h=r(2585),u=function(e){function t(t,r,i,n,o,s,a,c){var l=e.call(this,t,"link",r,!0,i,n,a,c)||this;return o.onShowLinkUnderline((function(e){return l._onShowLinkUnderline(e)})),o.onHideLinkUnderline((function(e){return l._onHideLinkUnderline(e)})),s.onShowLinkUnderline((function(e){return l._onShowLinkUnderline(e)})),s.onHideLinkUnderline((function(e){return l._onHideLinkUnderline(e)})),l}return n(t,e),t.prototype.resize=function(t){e.prototype.resize.call(this,t),this._state=void 0},t.prototype.reset=function(){this._clearCurrentLink()},t.prototype._clearCurrentLink=function(){if(this._state){this._clearCells(this._state.x1,this._state.y1,this._state.cols-this._state.x1,1);var e=this._state.y2-this._state.y1-1;e>0&&this._clearCells(0,this._state.y1+1,this._state.cols,e),this._clearCells(0,this._state.y2,this._state.x2,1),this._state=void 0}},t.prototype._onShowLinkUnderline=function(e){if(e.fg===c.INVERTED_DEFAULT_COLOR?this._ctx.fillStyle=this._colors.background.css:e.fg&&l.is256Color(e.fg)?this._ctx.fillStyle=this._colors.ansi[e.fg].css:this._ctx.fillStyle=this._colors.foreground.css,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 t=e.y1+1;t=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},s=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.Renderer=void 0;var a=r(9596),c=r(4149),l=r(2512),h=r(5098),u=r(844),f=r(4725),_=r(2585),d=r(1420),p=r(8460),v=1,g=function(e){function t(t,r,i,n,o,s,u,f){var _=e.call(this)||this;_._colors=t,_._screenElement=r,_._bufferService=s,_._charSizeService=u,_._optionsService=f,_._id=v++,_._onRequestRedraw=new p.EventEmitter;var d=_._optionsService.options.allowTransparency;return _._renderLayers=[o.createInstance(a.TextRenderLayer,_._screenElement,0,_._colors,d,_._id),o.createInstance(c.SelectionRenderLayer,_._screenElement,1,_._colors,_._id),o.createInstance(h.LinkRenderLayer,_._screenElement,2,_._colors,_._id,i,n),o.createInstance(l.CursorRenderLayer,_._screenElement,3,_._colors,_._id,_._onRequestRedraw)],_.dimensions={scaledCharWidth:0,scaledCharHeight:0,scaledCellWidth:0,scaledCellHeight:0,scaledCharLeft:0,scaledCharTop:0,scaledCanvasWidth:0,scaledCanvasHeight:0,canvasWidth:0,canvasHeight:0,actualCellWidth:0,actualCellHeight:0},_._devicePixelRatio=window.devicePixelRatio,_._updateDimensions(),_.onOptionsChanged(),_}return n(t,e),Object.defineProperty(t.prototype,"onRequestRedraw",{get:function(){return this._onRequestRedraw.event},enumerable:!1,configurable:!0}),t.prototype.dispose=function(){for(var t=0,r=this._renderLayers;t{Object.defineProperty(t,"__esModule",{value:!0}),t.throwIfFalsy=void 0,t.throwIfFalsy=function(e){if(!e)throw new Error("value must not be falsy");return e}},4149:function(e,t,r){var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),o=this&&this.__decorate||function(e,t,r,i){var n,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},s=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.SelectionRenderLayer=void 0;var a=r(1546),c=r(2585),l=function(e){function t(t,r,i,n,o,s){var a=e.call(this,t,"selection",r,!0,i,n,o,s)||this;return a._clearState(),a}return n(t,e),t.prototype._clearState=function(){this._state={start:void 0,end:void 0,columnSelectMode:void 0,ydisp:void 0}},t.prototype.resize=function(t){e.prototype.resize.call(this,t),this._clearState()},t.prototype.reset=function(){this._state.start&&this._state.end&&(this._clearState(),this._clearAll())},t.prototype.onSelectionChanged=function(e,t,r){if(this._didStateChange(e,t,r,this._bufferService.buffer.ydisp))if(this._clearAll(),e&&t){var i=e[1]-this._bufferService.buffer.ydisp,n=t[1]-this._bufferService.buffer.ydisp,o=Math.max(i,0),s=Math.min(n,this._bufferService.rows-1);if(o>=this._bufferService.rows||s<0)this._state.ydisp=this._bufferService.buffer.ydisp;else{if(this._ctx.fillStyle=this._colors.selectionTransparent.css,r){var a=e[0],c=t[0]-a,l=s-o+1;this._fillCells(a,o,c,l)}else{a=i===o?e[0]:0;var h=o===n?t[0]:this._bufferService.cols;this._fillCells(a,o,h-a,1);var u=Math.max(s-o-1,0);if(this._fillCells(0,o+1,this._bufferService.cols,u),o!==s){var f=n===s?t[0]:this._bufferService.cols;this._fillCells(0,s,f,1)}}this._state.start=[e[0],e[1]],this._state.end=[t[0],t[1]],this._state.columnSelectMode=r,this._state.ydisp=this._bufferService.buffer.ydisp}}else this._clearState()},t.prototype._didStateChange=function(e,t,r,i){return!this._areCoordinatesEqual(e,this._state.start)||!this._areCoordinatesEqual(t,this._state.end)||r!==this._state.columnSelectMode||i!==this._state.ydisp},t.prototype._areCoordinatesEqual=function(e,t){return!(!e||!t)&&e[0]===t[0]&&e[1]===t[1]},o([s(4,c.IBufferService),s(5,c.IOptionsService)],t)}(a.BaseRenderLayer);t.SelectionRenderLayer=l},9596:function(e,t,r){var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),o=this&&this.__decorate||function(e,t,r,i){var n,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},s=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.TextRenderLayer=void 0;var a=r(3700),c=r(1546),l=r(3734),h=r(643),u=r(511),f=r(2585),_=r(4725),d=r(4269),p=function(e){function t(t,r,i,n,o,s,c,l){var h=e.call(this,t,"text",r,n,i,o,s,c)||this;return h._characterJoinerService=l,h._characterWidth=0,h._characterFont="",h._characterOverlapCache={},h._workCell=new u.CellData,h._state=new a.GridCache,h}return n(t,e),t.prototype.resize=function(t){e.prototype.resize.call(this,t);var r=this._getFont(!1,!1);this._characterWidth===t.scaledCharWidth&&this._characterFont===r||(this._characterWidth=t.scaledCharWidth,this._characterFont=r,this._characterOverlapCache={}),this._state.clear(),this._state.resize(this._bufferService.cols,this._bufferService.rows)},t.prototype.reset=function(){this._state.clear(),this._clearAll()},t.prototype._forEachCell=function(e,t,r){for(var i=e;i<=t;i++)for(var n=i+this._bufferService.buffer.ydisp,o=this._bufferService.buffer.lines.get(n),s=this._characterJoinerService.getJoinedCharacters(n),a=0;a0&&a===s[0][0]){l=!0;var f=s.shift();c=new d.JoinedCellData(this._workCell,o.translateToString(!0,f[0],f[1]),f[1]-f[0]),u=f[1]-1}!l&&this._isOverlapping(c)&&uthis._characterWidth;return this._ctx.restore(),this._characterOverlapCache[t]=r,r},o([s(5,f.IBufferService),s(6,f.IOptionsService),s(7,_.ICharacterJoinerService)],t)}(c.BaseRenderLayer);t.TextRenderLayer=p},9616:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.BaseCharAtlas=void 0;var r=function(){function e(){this._didWarmUp=!1}return e.prototype.dispose=function(){},e.prototype.warmUp=function(){this._didWarmUp||(this._doWarmUp(),this._didWarmUp=!0)},e.prototype._doWarmUp=function(){},e.prototype.beginFrame=function(){},e}();t.BaseCharAtlas=r},1420:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.removeTerminalFromCache=t.acquireCharAtlas=void 0;var i=r(2040),n=r(1906),o=[];t.acquireCharAtlas=function(e,t,r,s,a){for(var c=i.generateConfig(s,a,e,r),l=0;l=0){if(i.configEquals(u.config,c))return u.atlas;1===u.ownedBy.length?(u.atlas.dispose(),o.splice(l,1)):u.ownedBy.splice(h,1);break}}for(l=0;l{Object.defineProperty(t,"__esModule",{value:!0}),t.is256Color=t.configEquals=t.generateConfig=void 0;var i=r(643);t.generateConfig=function(e,t,r,i){var n={foreground:i.foreground,background:i.background,cursor:void 0,cursorAccent:void 0,selection:void 0,ansi:i.ansi};return{devicePixelRatio:window.devicePixelRatio,scaledCharWidth:e,scaledCharHeight:t,fontFamily:r.fontFamily,fontSize:r.fontSize,fontWeight:r.fontWeight,fontWeightBold:r.fontWeightBold,allowTransparency:r.allowTransparency,colors:n}},t.configEquals=function(e,t){for(var r=0;r{Object.defineProperty(t,"__esModule",{value:!0}),t.CHAR_ATLAS_CELL_SPACING=t.DIM_OPACITY=t.INVERTED_DEFAULT_COLOR=void 0,t.INVERTED_DEFAULT_COLOR=257,t.DIM_OPACITY=.5,t.CHAR_ATLAS_CELL_SPACING=1},1906:function(e,t,r){var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});Object.defineProperty(t,"__esModule",{value:!0}),t.NoneCharAtlas=t.DynamicCharAtlas=t.getGlyphCacheKey=void 0;var o=r(8803),s=r(9616),a=r(5680),c=r(7001),l=r(6114),h=r(1752),u=r(4774),f={css:"rgba(0, 0, 0, 0)",rgba:0};function _(e){return e.code<<21|e.bg<<12|e.fg<<3|(e.bold?0:4)+(e.dim?0:2)+(e.italic?0:1)}t.getGlyphCacheKey=_;var d=function(e){function t(t,r){var i=e.call(this)||this;i._config=r,i._drawToCacheCount=0,i._glyphsWaitingOnBitmap=[],i._bitmapCommitTimeout=null,i._bitmap=null,i._cacheCanvas=t.createElement("canvas"),i._cacheCanvas.width=1024,i._cacheCanvas.height=1024,i._cacheCtx=h.throwIfFalsy(i._cacheCanvas.getContext("2d",{alpha:!0}));var n=t.createElement("canvas");n.width=i._config.scaledCharWidth,n.height=i._config.scaledCharHeight,i._tmpCtx=h.throwIfFalsy(n.getContext("2d",{alpha:i._config.allowTransparency})),i._width=Math.floor(1024/i._config.scaledCharWidth),i._height=Math.floor(1024/i._config.scaledCharHeight);var o=i._width*i._height;return i._cacheMap=new c.LRUMap(o),i._cacheMap.prealloc(o),i}return n(t,e),t.prototype.dispose=function(){null!==this._bitmapCommitTimeout&&(window.clearTimeout(this._bitmapCommitTimeout),this._bitmapCommitTimeout=null)},t.prototype.beginFrame=function(){this._drawToCacheCount=0},t.prototype.draw=function(e,t,r,i){if(32===t.code)return!0;if(!this._canCache(t))return!1;var n=_(t),o=this._cacheMap.get(n);if(null!=o)return this._drawFromCache(e,o,r,i),!0;if(this._drawToCacheCount<100){var s;s=this._cacheMap.size>>24,n=t.rgba>>>16&255,o=t.rgba>>>8&255,s=0;s{Object.defineProperty(t,"__esModule",{value:!0}),t.LRUMap=void 0;var r=function(){function e(e){this.capacity=e,this._map={},this._head=null,this._tail=null,this._nodePool=[],this.size=0}return e.prototype._unlinkNode=function(e){var t=e.prev,r=e.next;e===this._head&&(this._head=r),e===this._tail&&(this._tail=t),null!==t&&(t.next=r),null!==r&&(r.prev=t)},e.prototype._appendNode=function(e){var t=this._tail;null!==t&&(t.next=e),e.prev=t,e.next=null,this._tail=e,null===this._head&&(this._head=e)},e.prototype.prealloc=function(e){for(var t=this._nodePool,r=0;r=this.capacity)r=this._head,this._unlinkNode(r),delete this._map[r.key],r.key=e,r.value=t,this._map[e]=r;else{var i=this._nodePool;i.length>0?((r=i.pop()).key=e,r.value=t):r={prev:null,next:null,key:e,value:t},this._map[e]=r,this.size++}this._appendNode(r)},e}();t.LRUMap=r},1296:function(e,t,r){var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),o=this&&this.__decorate||function(e,t,r,i){var n,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},s=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.DomRenderer=void 0;var a=r(3787),c=r(8803),l=r(844),h=r(4725),u=r(2585),f=r(8460),_=r(4774),d=r(9631),p="xterm-dom-renderer-owner-",v="xterm-fg-",g="xterm-bg-",y="xterm-focus",m=1,b=function(e){function t(t,r,i,n,o,s,c,l,h,u){var f=e.call(this)||this;return f._colors=t,f._element=r,f._screenElement=i,f._viewportElement=n,f._linkifier=o,f._linkifier2=s,f._charSizeService=l,f._optionsService=h,f._bufferService=u,f._terminalClass=m++,f._rowElements=[],f._rowContainer=document.createElement("div"),f._rowContainer.classList.add("xterm-rows"),f._rowContainer.style.lineHeight="normal",f._rowContainer.setAttribute("aria-hidden","true"),f._refreshRowElements(f._bufferService.cols,f._bufferService.rows),f._selectionContainer=document.createElement("div"),f._selectionContainer.classList.add("xterm-selection"),f._selectionContainer.setAttribute("aria-hidden","true"),f.dimensions={scaledCharWidth:0,scaledCharHeight:0,scaledCellWidth:0,scaledCellHeight:0,scaledCharLeft:0,scaledCharTop:0,scaledCanvasWidth:0,scaledCanvasHeight:0,canvasWidth:0,canvasHeight:0,actualCellWidth:0,actualCellHeight:0},f._updateDimensions(),f._injectCss(),f._rowFactory=c.createInstance(a.DomRendererRowFactory,document,f._colors),f._element.classList.add(p+f._terminalClass),f._screenElement.appendChild(f._rowContainer),f._screenElement.appendChild(f._selectionContainer),f._linkifier.onShowLinkUnderline((function(e){return f._onLinkHover(e)})),f._linkifier.onHideLinkUnderline((function(e){return f._onLinkLeave(e)})),f._linkifier2.onShowLinkUnderline((function(e){return f._onLinkHover(e)})),f._linkifier2.onHideLinkUnderline((function(e){return f._onLinkLeave(e)})),f}return n(t,e),Object.defineProperty(t.prototype,"onRequestRedraw",{get:function(){return(new f.EventEmitter).event},enumerable:!1,configurable:!0}),t.prototype.dispose=function(){this._element.classList.remove(p+this._terminalClass),d.removeElementFromParent(this._rowContainer,this._selectionContainer,this._themeStyleElement,this._dimensionsStyleElement),e.prototype.dispose.call(this)},t.prototype._updateDimensions=function(){this.dimensions.scaledCharWidth=this._charSizeService.width*window.devicePixelRatio,this.dimensions.scaledCharHeight=Math.ceil(this._charSizeService.height*window.devicePixelRatio),this.dimensions.scaledCellWidth=this.dimensions.scaledCharWidth+Math.round(this._optionsService.options.letterSpacing),this.dimensions.scaledCellHeight=Math.floor(this.dimensions.scaledCharHeight*this._optionsService.options.lineHeight),this.dimensions.scaledCharLeft=0,this.dimensions.scaledCharTop=0,this.dimensions.scaledCanvasWidth=this.dimensions.scaledCellWidth*this._bufferService.cols,this.dimensions.scaledCanvasHeight=this.dimensions.scaledCellHeight*this._bufferService.rows,this.dimensions.canvasWidth=Math.round(this.dimensions.scaledCanvasWidth/window.devicePixelRatio),this.dimensions.canvasHeight=Math.round(this.dimensions.scaledCanvasHeight/window.devicePixelRatio),this.dimensions.actualCellWidth=this.dimensions.canvasWidth/this._bufferService.cols,this.dimensions.actualCellHeight=this.dimensions.canvasHeight/this._bufferService.rows;for(var e=0,t=this._rowElements;et;)this._rowContainer.removeChild(this._rowElements.pop())},t.prototype.onResize=function(e,t){this._refreshRowElements(e,t),this._updateDimensions()},t.prototype.onCharSizeChanged=function(){this._updateDimensions()},t.prototype.onBlur=function(){this._rowContainer.classList.remove(y)},t.prototype.onFocus=function(){this._rowContainer.classList.add(y)},t.prototype.onSelectionChanged=function(e,t,r){for(;this._selectionContainer.children.length;)this._selectionContainer.removeChild(this._selectionContainer.children[0]);if(e&&t){var i=e[1]-this._bufferService.buffer.ydisp,n=t[1]-this._bufferService.buffer.ydisp,o=Math.max(i,0),s=Math.min(n,this._bufferService.rows-1);if(!(o>=this._bufferService.rows||s<0)){var a=document.createDocumentFragment();if(r)a.appendChild(this._createSelectionElement(o,e[0],t[0],s-o+1));else{var c=i===o?e[0]:0,l=o===n?t[0]:this._bufferService.cols;a.appendChild(this._createSelectionElement(o,c,l));var h=s-o-1;if(a.appendChild(this._createSelectionElement(o+1,0,this._bufferService.cols,h)),o!==s){var u=n===s?t[0]:this._bufferService.cols;a.appendChild(this._createSelectionElement(s,0,u))}}this._selectionContainer.appendChild(a)}}},t.prototype._createSelectionElement=function(e,t,r,i){void 0===i&&(i=1);var n=document.createElement("div");return n.style.height=i*this.dimensions.actualCellHeight+"px",n.style.top=e*this.dimensions.actualCellHeight+"px",n.style.left=t*this.dimensions.actualCellWidth+"px",n.style.width=this.dimensions.actualCellWidth*(r-t)+"px",n},t.prototype.onCursorMove=function(){},t.prototype.onOptionsChanged=function(){this._updateDimensions(),this._injectCss()},t.prototype.clear=function(){for(var e=0,t=this._rowElements;e=n&&(e=0,r++)}},o([s(6,u.IInstantiationService),s(7,h.ICharSizeService),s(8,u.IOptionsService),s(9,u.IBufferService)],t)}(l.Disposable);t.DomRenderer=b},3787:function(e,t,r){var i=this&&this.__decorate||function(e,t,r,i){var n,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},n=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.DomRendererRowFactory=t.CURSOR_STYLE_UNDERLINE_CLASS=t.CURSOR_STYLE_BAR_CLASS=t.CURSOR_STYLE_BLOCK_CLASS=t.CURSOR_BLINK_CLASS=t.CURSOR_CLASS=t.UNDERLINE_CLASS=t.ITALIC_CLASS=t.DIM_CLASS=t.BOLD_CLASS=void 0;var o=r(8803),s=r(643),a=r(511),c=r(2585),l=r(4774),h=r(4725),u=r(4269);t.BOLD_CLASS="xterm-bold",t.DIM_CLASS="xterm-dim",t.ITALIC_CLASS="xterm-italic",t.UNDERLINE_CLASS="xterm-underline",t.CURSOR_CLASS="xterm-cursor",t.CURSOR_BLINK_CLASS="xterm-cursor-blink",t.CURSOR_STYLE_BLOCK_CLASS="xterm-cursor-block",t.CURSOR_STYLE_BAR_CLASS="xterm-cursor-bar",t.CURSOR_STYLE_UNDERLINE_CLASS="xterm-cursor-underline";var f=function(){function e(e,t,r,i){this._document=e,this._colors=t,this._characterJoinerService=r,this._optionsService=i,this._workCell=new a.CellData}return e.prototype.setColors=function(e){this._colors=e},e.prototype.createRow=function(e,r,i,n,a,c,h,f){for(var d=this._document.createDocumentFragment(),p=this._characterJoinerService.getJoinedCharacters(r),v=0,g=Math.min(e.length,f)-1;g>=0;g--)if(e.loadCell(g,this._workCell).getCode()!==s.NULL_CELL_CODE||i&&g===a){v=g+1;break}for(g=0;g0&&g===p[0][0]){m=!0;var S=p.shift();C=new u.JoinedCellData(this._workCell,e.translateToString(!0,S[0],S[1]),S[1]-S[0]),b=S[1]-1,y=C.getWidth()}var w=this._document.createElement("span");if(y>1&&(w.style.width=h*y+"px"),m&&(w.style.display="inline",a>=g&&a<=b&&(a=g)),i&&g===a)switch(w.classList.add(t.CURSOR_CLASS),c&&w.classList.add(t.CURSOR_BLINK_CLASS),n){case"bar":w.classList.add(t.CURSOR_STYLE_BAR_CLASS);break;case"underline":w.classList.add(t.CURSOR_STYLE_UNDERLINE_CLASS);break;default:w.classList.add(t.CURSOR_STYLE_BLOCK_CLASS)}C.isBold()&&w.classList.add(t.BOLD_CLASS),C.isItalic()&&w.classList.add(t.ITALIC_CLASS),C.isDim()&&w.classList.add(t.DIM_CLASS),C.isUnderline()&&w.classList.add(t.UNDERLINE_CLASS),C.isInvisible()?w.textContent=s.WHITESPACE_CELL_CHAR:w.textContent=C.getChars()||s.WHITESPACE_CELL_CHAR;var E=C.getFgColor(),A=C.getFgColorMode(),R=C.getBgColor(),L=C.getBgColorMode(),x=!!C.isInverse();if(x){var k=E;E=R,R=k;var T=A;A=L,L=T}switch(A){case 16777216:case 33554432:C.isBold()&&E<8&&this._optionsService.options.drawBoldTextInBrightColors&&(E+=8),this._applyMinimumContrast(w,this._colors.background,this._colors.ansi[E])||w.classList.add("xterm-fg-"+E);break;case 50331648:var D=l.rgba.toColor(E>>16&255,E>>8&255,255&E);this._applyMinimumContrast(w,this._colors.background,D)||this._addStyle(w,"color:#"+_(E.toString(16),"0",6));break;case 0:default:this._applyMinimumContrast(w,this._colors.background,this._colors.foreground)||x&&w.classList.add("xterm-fg-"+o.INVERTED_DEFAULT_COLOR)}switch(L){case 16777216:case 33554432:w.classList.add("xterm-bg-"+R);break;case 50331648:this._addStyle(w,"background-color:#"+_(R.toString(16),"0",6));break;case 0:default:x&&w.classList.add("xterm-bg-"+o.INVERTED_DEFAULT_COLOR)}d.appendChild(w),g=b}}return d},e.prototype._applyMinimumContrast=function(e,t,r){if(1===this._optionsService.options.minimumContrastRatio)return!1;var i=this._colors.contrastCache.getColor(this._workCell.bg,this._workCell.fg);return void 0===i&&(i=l.color.ensureContrastRatio(t,r,this._optionsService.options.minimumContrastRatio),this._colors.contrastCache.setColor(this._workCell.bg,this._workCell.fg,null!=i?i:null)),!!i&&(this._addStyle(e,"color:"+i.css),!0)},e.prototype._addStyle=function(e,t){e.setAttribute("style",""+(e.getAttribute("style")||"")+t+";")},i([n(2,h.ICharacterJoinerService),n(3,c.IOptionsService)],e)}();function _(e,t,r){for(;e.length{Object.defineProperty(t,"__esModule",{value:!0}),t.SelectionModel=void 0;var r=function(){function e(e){this._bufferService=e,this.isSelectAllActive=!1,this.selectionStartLength=0}return e.prototype.clearSelection=function(){this.selectionStart=void 0,this.selectionEnd=void 0,this.isSelectAllActive=!1,this.selectionStartLength=0},Object.defineProperty(e.prototype,"finalSelectionStart",{get:function(){return this.isSelectAllActive?[0,0]:this.selectionEnd&&this.selectionStart&&this.areSelectionValuesReversed()?this.selectionEnd:this.selectionStart},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"finalSelectionEnd",{get:function(){if(this.isSelectAllActive)return[this._bufferService.cols,this._bufferService.buffer.ybase+this._bufferService.rows-1];if(this.selectionStart){if(!this.selectionEnd||this.areSelectionValuesReversed()){var e=this.selectionStart[0]+this.selectionStartLength;return e>this._bufferService.cols?[e%this._bufferService.cols,this.selectionStart[1]+Math.floor(e/this._bufferService.cols)]:[e,this.selectionStart[1]]}return this.selectionStartLength&&this.selectionEnd[1]===this.selectionStart[1]?[Math.max(this.selectionStart[0]+this.selectionStartLength,this.selectionEnd[0]),this.selectionEnd[1]]:this.selectionEnd}},enumerable:!1,configurable:!0}),e.prototype.areSelectionValuesReversed=function(){var e=this.selectionStart,t=this.selectionEnd;return!(!e||!t)&&(e[1]>t[1]||e[1]===t[1]&&e[0]>t[0])},e.prototype.onTrim=function(e){return this.selectionStart&&(this.selectionStart[1]-=e),this.selectionEnd&&(this.selectionEnd[1]-=e),this.selectionEnd&&this.selectionEnd[1]<0?(this.clearSelection(),!0):(this.selectionStart&&this.selectionStart[1]<0&&(this.selectionStart[1]=0),!1)},e}();t.SelectionModel=r},428:function(e,t,r){var i=this&&this.__decorate||function(e,t,r,i){var n,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},n=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.CharSizeService=void 0;var o=r(2585),s=r(8460),a=function(){function e(e,t,r){this._optionsService=r,this.width=0,this.height=0,this._onCharSizeChange=new s.EventEmitter,this._measureStrategy=new c(e,t,this._optionsService)}return Object.defineProperty(e.prototype,"hasValidSize",{get:function(){return this.width>0&&this.height>0},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onCharSizeChange",{get:function(){return this._onCharSizeChange.event},enumerable:!1,configurable:!0}),e.prototype.measure=function(){var e=this._measureStrategy.measure();e.width===this.width&&e.height===this.height||(this.width=e.width,this.height=e.height,this._onCharSizeChange.fire())},i([n(2,o.IOptionsService)],e)}();t.CharSizeService=a;var c=function(){function e(e,t,r){this._document=e,this._parentElement=t,this._optionsService=r,this._result={width:0,height:0},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 e.prototype.measure=function(){this._measureElement.style.fontFamily=this._optionsService.options.fontFamily,this._measureElement.style.fontSize=this._optionsService.options.fontSize+"px";var e=this._measureElement.getBoundingClientRect();return 0!==e.width&&0!==e.height&&(this._result.width=e.width,this._result.height=Math.ceil(e.height)),this._result},e}()},4269:function(e,t,r){var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),o=this&&this.__decorate||function(e,t,r,i){var n,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},s=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.CharacterJoinerService=t.JoinedCellData=void 0;var a=r(3734),c=r(643),l=r(511),h=r(2585),u=function(e){function t(t,r,i){var n=e.call(this)||this;return n.content=0,n.combinedData="",n.fg=t.fg,n.bg=t.bg,n.combinedData=r,n._width=i,n}return n(t,e),t.prototype.isCombined=function(){return 2097152},t.prototype.getWidth=function(){return this._width},t.prototype.getChars=function(){return this.combinedData},t.prototype.getCode=function(){return 2097151},t.prototype.setFromCharData=function(e){throw new Error("not implemented")},t.prototype.getAsCharData=function(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]},t}(a.AttributeData);t.JoinedCellData=u;var f=function(){function e(e){this._bufferService=e,this._characterJoiners=[],this._nextCharacterJoinerId=0,this._workCell=new l.CellData}return e.prototype.register=function(e){var t={id:this._nextCharacterJoinerId++,handler:e};return this._characterJoiners.push(t),t.id},e.prototype.deregister=function(e){for(var t=0;t1)for(var u=this._getJoinedRanges(i,s,o,t,n),f=0;f1)for(u=this._getJoinedRanges(i,s,o,t,n),f=0;f{Object.defineProperty(t,"__esModule",{value:!0}),t.CoreBrowserService=void 0;var r=function(){function e(e){this._textarea=e}return Object.defineProperty(e.prototype,"isFocused",{get:function(){return(this._textarea.getRootNode?this._textarea.getRootNode():document).activeElement===this._textarea&&document.hasFocus()},enumerable:!1,configurable:!0}),e}();t.CoreBrowserService=r},8934:function(e,t,r){var i=this&&this.__decorate||function(e,t,r,i){var n,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},n=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.MouseService=void 0;var o=r(4725),s=r(9806),a=function(){function e(e,t){this._renderService=e,this._charSizeService=t}return e.prototype.getCoords=function(e,t,r,i,n){return s.getCoords(e,t,r,i,this._charSizeService.hasValidSize,this._renderService.dimensions.actualCellWidth,this._renderService.dimensions.actualCellHeight,n)},e.prototype.getRawByteCoords=function(e,t,r,i){var n=this.getCoords(e,t,r,i);return s.getRawByteCoords(n)},i([n(0,o.IRenderService),n(1,o.ICharSizeService)],e)}();t.MouseService=a},3230:function(e,t,r){var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),o=this&&this.__decorate||function(e,t,r,i){var n,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},s=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.RenderService=void 0;var a=r(6193),c=r(8460),l=r(844),h=r(5596),u=r(3656),f=r(2585),_=r(4725),d=function(e){function t(t,r,i,n,o,s){var l=e.call(this)||this;if(l._renderer=t,l._rowCount=r,l._charSizeService=o,l._isPaused=!1,l._needsFullRefresh=!1,l._isNextRenderRedrawOnly=!0,l._needsSelectionRefresh=!1,l._canvasWidth=0,l._canvasHeight=0,l._selectionState={start:void 0,end:void 0,columnSelectMode:!1},l._onDimensionsChange=new c.EventEmitter,l._onRender=new c.EventEmitter,l._onRefreshRequest=new c.EventEmitter,l.register({dispose:function(){return l._renderer.dispose()}}),l._renderDebouncer=new a.RenderDebouncer((function(e,t){return l._renderRows(e,t)})),l.register(l._renderDebouncer),l._screenDprMonitor=new h.ScreenDprMonitor,l._screenDprMonitor.setListener((function(){return l.onDevicePixelRatioChange()})),l.register(l._screenDprMonitor),l.register(s.onResize((function(e){return l._fullRefresh()}))),l.register(n.onOptionChange((function(){return l._renderer.onOptionsChanged()}))),l.register(l._charSizeService.onCharSizeChange((function(){return l.onCharSizeChanged()}))),l._renderer.onRequestRedraw((function(e){return l.refreshRows(e.start,e.end,!0)})),l.register(u.addDisposableDomListener(window,"resize",(function(){return l.onDevicePixelRatioChange()}))),"IntersectionObserver"in window){var f=new IntersectionObserver((function(e){return l._onIntersectionChange(e[e.length-1])}),{threshold:0});f.observe(i),l.register({dispose:function(){return f.disconnect()}})}return l}return n(t,e),Object.defineProperty(t.prototype,"onDimensionsChange",{get:function(){return this._onDimensionsChange.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onRenderedBufferChange",{get:function(){return this._onRender.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onRefreshRequest",{get:function(){return this._onRefreshRequest.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"dimensions",{get:function(){return this._renderer.dimensions},enumerable:!1,configurable:!0}),t.prototype._onIntersectionChange=function(e){this._isPaused=void 0===e.isIntersecting?0===e.intersectionRatio:!e.isIntersecting,this._isPaused||this._charSizeService.hasValidSize||this._charSizeService.measure(),!this._isPaused&&this._needsFullRefresh&&(this.refreshRows(0,this._rowCount-1),this._needsFullRefresh=!1)},t.prototype.refreshRows=function(e,t,r){void 0===r&&(r=!1),this._isPaused?this._needsFullRefresh=!0:(r||(this._isNextRenderRedrawOnly=!1),this._renderDebouncer.refresh(e,t,this._rowCount))},t.prototype._renderRows=function(e,t){this._renderer.renderRows(e,t),this._needsSelectionRefresh&&(this._renderer.onSelectionChanged(this._selectionState.start,this._selectionState.end,this._selectionState.columnSelectMode),this._needsSelectionRefresh=!1),this._isNextRenderRedrawOnly||this._onRender.fire({start:e,end:t}),this._isNextRenderRedrawOnly=!0},t.prototype.resize=function(e,t){this._rowCount=t,this._fireOnCanvasResize()},t.prototype.changeOptions=function(){this._renderer.onOptionsChanged(),this.refreshRows(0,this._rowCount-1),this._fireOnCanvasResize()},t.prototype._fireOnCanvasResize=function(){this._renderer.dimensions.canvasWidth===this._canvasWidth&&this._renderer.dimensions.canvasHeight===this._canvasHeight||this._onDimensionsChange.fire(this._renderer.dimensions)},t.prototype.dispose=function(){e.prototype.dispose.call(this)},t.prototype.setRenderer=function(e){var t=this;this._renderer.dispose(),this._renderer=e,this._renderer.onRequestRedraw((function(e){return t.refreshRows(e.start,e.end,!0)})),this._needsSelectionRefresh=!0,this._fullRefresh()},t.prototype._fullRefresh=function(){this._isPaused?this._needsFullRefresh=!0:this.refreshRows(0,this._rowCount-1)},t.prototype.setColors=function(e){this._renderer.setColors(e),this._fullRefresh()},t.prototype.onDevicePixelRatioChange=function(){this._charSizeService.measure(),this._renderer.onDevicePixelRatioChange(),this.refreshRows(0,this._rowCount-1)},t.prototype.onResize=function(e,t){this._renderer.onResize(e,t),this._fullRefresh()},t.prototype.onCharSizeChanged=function(){this._renderer.onCharSizeChanged()},t.prototype.onBlur=function(){this._renderer.onBlur()},t.prototype.onFocus=function(){this._renderer.onFocus()},t.prototype.onSelectionChanged=function(e,t,r){this._selectionState.start=e,this._selectionState.end=t,this._selectionState.columnSelectMode=r,this._renderer.onSelectionChanged(e,t,r)},t.prototype.onCursorMove=function(){this._renderer.onCursorMove()},t.prototype.clear=function(){this._renderer.clear()},o([s(3,f.IOptionsService),s(4,_.ICharSizeService),s(5,f.IBufferService)],t)}(l.Disposable);t.RenderService=d},9312:function(e,t,r){var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),o=this&&this.__decorate||function(e,t,r,i){var n,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},s=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.SelectionService=void 0;var a=r(6114),c=r(456),l=r(511),h=r(8460),u=r(4725),f=r(2585),_=r(9806),d=r(9504),p=r(844),v=r(4841),g=String.fromCharCode(160),y=new RegExp(g,"g"),m=function(e){function t(t,r,i,n,o,s,a,u){var f=e.call(this)||this;return f._element=t,f._screenElement=r,f._linkifier=i,f._bufferService=n,f._coreService=o,f._mouseService=s,f._optionsService=a,f._renderService=u,f._dragScrollAmount=0,f._enabled=!0,f._workCell=new l.CellData,f._mouseDownTimeStamp=0,f._oldHasSelection=!1,f._oldSelectionStart=void 0,f._oldSelectionEnd=void 0,f._onLinuxMouseSelection=f.register(new h.EventEmitter),f._onRedrawRequest=f.register(new h.EventEmitter),f._onSelectionChange=f.register(new h.EventEmitter),f._onRequestScrollLines=f.register(new h.EventEmitter),f._mouseMoveListener=function(e){return f._onMouseMove(e)},f._mouseUpListener=function(e){return f._onMouseUp(e)},f._coreService.onUserInput((function(){f.hasSelection&&f.clearSelection()})),f._trimListener=f._bufferService.buffer.lines.onTrim((function(e){return f._onTrim(e)})),f.register(f._bufferService.buffers.onBufferActivate((function(e){return f._onBufferActivate(e)}))),f.enable(),f._model=new c.SelectionModel(f._bufferService),f._activeSelectionMode=0,f}return n(t,e),Object.defineProperty(t.prototype,"onLinuxMouseSelection",{get:function(){return this._onLinuxMouseSelection.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onRequestRedraw",{get:function(){return this._onRedrawRequest.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onSelectionChange",{get:function(){return this._onSelectionChange.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onRequestScrollLines",{get:function(){return this._onRequestScrollLines.event},enumerable:!1,configurable:!0}),t.prototype.dispose=function(){this._removeMouseDownListeners()},t.prototype.reset=function(){this.clearSelection()},t.prototype.disable=function(){this.clearSelection(),this._enabled=!1},t.prototype.enable=function(){this._enabled=!0},Object.defineProperty(t.prototype,"selectionStart",{get:function(){return this._model.finalSelectionStart},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"selectionEnd",{get:function(){return this._model.finalSelectionEnd},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"hasSelection",{get:function(){var e=this._model.finalSelectionStart,t=this._model.finalSelectionEnd;return!(!e||!t||e[0]===t[0]&&e[1]===t[1])},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"selectionText",{get:function(){var e=this._model.finalSelectionStart,t=this._model.finalSelectionEnd;if(!e||!t)return"";var r=this._bufferService.buffer,i=[];if(3===this._activeSelectionMode){if(e[0]===t[0])return"";for(var n=e[1];n<=t[1];n++){var o=r.translateBufferLineToString(n,!0,e[0],t[0]);i.push(o)}}else{var s=e[1]===t[1]?t[0]:void 0;for(i.push(r.translateBufferLineToString(e[1],!0,e[0],s)),n=e[1]+1;n<=t[1]-1;n++){var c=r.lines.get(n);o=r.translateBufferLineToString(n,!0),c&&c.isWrapped?i[i.length-1]+=o:i.push(o)}e[1]!==t[1]&&(c=r.lines.get(t[1]),o=r.translateBufferLineToString(t[1],!0,0,t[0]),c&&c.isWrapped?i[i.length-1]+=o:i.push(o))}return i.map((function(e){return e.replace(y," ")})).join(a.isWindows?"\r\n":"\n")},enumerable:!1,configurable:!0}),t.prototype.clearSelection=function(){this._model.clearSelection(),this._removeMouseDownListeners(),this.refresh(),this._onSelectionChange.fire()},t.prototype.refresh=function(e){var t=this;this._refreshAnimationFrame||(this._refreshAnimationFrame=window.requestAnimationFrame((function(){return t._refresh()}))),a.isLinux&&e&&this.selectionText.length&&this._onLinuxMouseSelection.fire(this.selectionText)},t.prototype._refresh=function(){this._refreshAnimationFrame=void 0,this._onRedrawRequest.fire({start:this._model.finalSelectionStart,end:this._model.finalSelectionEnd,columnSelectMode:3===this._activeSelectionMode})},t.prototype._isClickInSelection=function(e){var t=this._getMouseBufferCoords(e),r=this._model.finalSelectionStart,i=this._model.finalSelectionEnd;return!!(r&&i&&t)&&this._areCoordsInSelection(t,r,i)},t.prototype._areCoordsInSelection=function(e,t,r){return e[1]>t[1]&&e[1]=t[0]&&e[0]=t[0]},t.prototype._selectWordAtCursor=function(e,t){var r,i,n=null===(i=null===(r=this._linkifier.currentLink)||void 0===r?void 0:r.link)||void 0===i?void 0:i.range;if(n)return this._model.selectionStart=[n.start.x-1,n.start.y-1],this._model.selectionStartLength=v.getRangeLength(n,this._bufferService.cols),this._model.selectionEnd=void 0,!0;var o=this._getMouseBufferCoords(e);return!!o&&(this._selectWordAt(o,t),this._model.selectionEnd=void 0,!0)},t.prototype.selectAll=function(){this._model.isSelectAllActive=!0,this.refresh(),this._onSelectionChange.fire()},t.prototype.selectLines=function(e,t){this._model.clearSelection(),e=Math.max(e,0),t=Math.min(t,this._bufferService.buffer.lines.length-1),this._model.selectionStart=[0,e],this._model.selectionEnd=[this._bufferService.cols,t],this.refresh(),this._onSelectionChange.fire()},t.prototype._onTrim=function(e){this._model.onTrim(e)&&this.refresh()},t.prototype._getMouseBufferCoords=function(e){var t=this._mouseService.getCoords(e,this._screenElement,this._bufferService.cols,this._bufferService.rows,!0);if(t)return t[0]--,t[1]--,t[1]+=this._bufferService.buffer.ydisp,t},t.prototype._getMouseEventScrollAmount=function(e){var t=_.getCoordsRelativeToElement(e,this._screenElement)[1],r=this._renderService.dimensions.canvasHeight;return t>=0&&t<=r?0:(t>r&&(t-=r),t=Math.min(Math.max(t,-50),50),(t/=50)/Math.abs(t)+Math.round(14*t))},t.prototype.shouldForceSelection=function(e){return a.isMac?e.altKey&&this._optionsService.options.macOptionClickForcesSelection:e.shiftKey},t.prototype.onMouseDown=function(e){if(this._mouseDownTimeStamp=e.timeStamp,(2!==e.button||!this.hasSelection)&&0===e.button){if(!this._enabled){if(!this.shouldForceSelection(e))return;e.stopPropagation()}e.preventDefault(),this._dragScrollAmount=0,this._enabled&&e.shiftKey?this._onIncrementalClick(e):1===e.detail?this._onSingleClick(e):2===e.detail?this._onDoubleClick(e):3===e.detail&&this._onTripleClick(e),this._addMouseDownListeners(),this.refresh(!0)}},t.prototype._addMouseDownListeners=function(){var e=this;this._screenElement.ownerDocument&&(this._screenElement.ownerDocument.addEventListener("mousemove",this._mouseMoveListener),this._screenElement.ownerDocument.addEventListener("mouseup",this._mouseUpListener)),this._dragScrollIntervalTimer=window.setInterval((function(){return e._dragScroll()}),50)},t.prototype._removeMouseDownListeners=function(){this._screenElement.ownerDocument&&(this._screenElement.ownerDocument.removeEventListener("mousemove",this._mouseMoveListener),this._screenElement.ownerDocument.removeEventListener("mouseup",this._mouseUpListener)),clearInterval(this._dragScrollIntervalTimer),this._dragScrollIntervalTimer=void 0},t.prototype._onIncrementalClick=function(e){this._model.selectionStart&&(this._model.selectionEnd=this._getMouseBufferCoords(e))},t.prototype._onSingleClick=function(e){if(this._model.selectionStartLength=0,this._model.isSelectAllActive=!1,this._activeSelectionMode=this.shouldColumnSelect(e)?3:0,this._model.selectionStart=this._getMouseBufferCoords(e),this._model.selectionStart){this._model.selectionEnd=void 0;var t=this._bufferService.buffer.lines.get(this._model.selectionStart[1]);t&&t.length!==this._model.selectionStart[0]&&0===t.hasWidth(this._model.selectionStart[0])&&this._model.selectionStart[0]++}},t.prototype._onDoubleClick=function(e){this._selectWordAtCursor(e,!0)&&(this._activeSelectionMode=1)},t.prototype._onTripleClick=function(e){var t=this._getMouseBufferCoords(e);t&&(this._activeSelectionMode=2,this._selectLineAt(t[1]))},t.prototype.shouldColumnSelect=function(e){return e.altKey&&!(a.isMac&&this._optionsService.options.macOptionClickForcesSelection)},t.prototype._onMouseMove=function(e){if(e.stopImmediatePropagation(),this._model.selectionStart){var t=this._model.selectionEnd?[this._model.selectionEnd[0],this._model.selectionEnd[1]]:null;if(this._model.selectionEnd=this._getMouseBufferCoords(e),this._model.selectionEnd){2===this._activeSelectionMode?this._model.selectionEnd[1]0?this._model.selectionEnd[0]=this._bufferService.cols:this._dragScrollAmount<0&&(this._model.selectionEnd[0]=0));var r=this._bufferService.buffer;if(this._model.selectionEnd[1]0?(3!==this._activeSelectionMode&&(this._model.selectionEnd[0]=this._bufferService.cols),this._model.selectionEnd[1]=Math.min(e.ydisp+this._bufferService.rows,e.lines.length-1)):(3!==this._activeSelectionMode&&(this._model.selectionEnd[0]=0),this._model.selectionEnd[1]=e.ydisp),this.refresh()}},t.prototype._onMouseUp=function(e){var t=e.timeStamp-this._mouseDownTimeStamp;if(this._removeMouseDownListeners(),this.selectionText.length<=1&&t<500&&e.altKey&&this._optionsService.getOption("altClickMovesCursor")){if(this._bufferService.buffer.ybase===this._bufferService.buffer.ydisp){var r=this._mouseService.getCoords(e,this._element,this._bufferService.cols,this._bufferService.rows,!1);if(r&&void 0!==r[0]&&void 0!==r[1]){var i=d.moveToCellSequence(r[0]-1,r[1]-1,this._bufferService,this._coreService.decPrivateModes.applicationCursorKeys);this._coreService.triggerDataEvent(i,!0)}}}else this._fireEventIfSelectionChanged()},t.prototype._fireEventIfSelectionChanged=function(){var e=this._model.finalSelectionStart,t=this._model.finalSelectionEnd,r=!(!e||!t||e[0]===t[0]&&e[1]===t[1]);r?e&&t&&(this._oldSelectionStart&&this._oldSelectionEnd&&e[0]===this._oldSelectionStart[0]&&e[1]===this._oldSelectionStart[1]&&t[0]===this._oldSelectionEnd[0]&&t[1]===this._oldSelectionEnd[1]||this._fireOnSelectionChange(e,t,r)):this._oldHasSelection&&this._fireOnSelectionChange(e,t,r)},t.prototype._fireOnSelectionChange=function(e,t,r){this._oldSelectionStart=e,this._oldSelectionEnd=t,this._oldHasSelection=r,this._onSelectionChange.fire()},t.prototype._onBufferActivate=function(e){var t=this;this.clearSelection(),this._trimListener.dispose(),this._trimListener=e.activeBuffer.lines.onTrim((function(e){return t._onTrim(e)}))},t.prototype._convertViewportColToCharacterIndex=function(e,t){for(var r=t[0],i=0;t[0]>=i;i++){var n=e.loadCell(i,this._workCell).getChars().length;0===this._workCell.getWidth()?r--:n>1&&t[0]!==i&&(r+=n-1)}return r},t.prototype.setSelection=function(e,t,r){this._model.clearSelection(),this._removeMouseDownListeners(),this._model.selectionStart=[e,t],this._model.selectionStartLength=r,this.refresh()},t.prototype.rightClickSelect=function(e){this._isClickInSelection(e)||(this._selectWordAtCursor(e,!1)&&this.refresh(!0),this._fireEventIfSelectionChanged())},t.prototype._getWordAt=function(e,t,r,i){if(void 0===r&&(r=!0),void 0===i&&(i=!0),!(e[0]>=this._bufferService.cols)){var n=this._bufferService.buffer,o=n.lines.get(e[1]);if(o){var s=n.translateBufferLineToString(e[1],!1),a=this._convertViewportColToCharacterIndex(o,e),c=a,l=e[0]-a,h=0,u=0,f=0,_=0;if(" "===s.charAt(a)){for(;a>0&&" "===s.charAt(a-1);)a--;for(;c1&&(_+=v-1,c+=v-1);d>0&&a>0&&!this._isCharWordSeparator(o.loadCell(d-1,this._workCell));){o.loadCell(d-1,this._workCell);var g=this._workCell.getChars().length;0===this._workCell.getWidth()?(h++,d--):g>1&&(f+=g-1,a-=g-1),a--,d--}for(;p1&&(_+=y-1,c+=y-1),c++,p++}}c++;var m=a+l-h+f,b=Math.min(this._bufferService.cols,c-a+h+u-f-_);if(t||""!==s.slice(a,c).trim()){if(r&&0===m&&32!==o.getCodePoint(0)){var C=n.lines.get(e[1]-1);if(C&&o.isWrapped&&32!==C.getCodePoint(this._bufferService.cols-1)){var S=this._getWordAt([this._bufferService.cols-1,e[1]-1],!1,!0,!1);if(S){var w=this._bufferService.cols-S.start;m-=w,b+=w}}}if(i&&m+b===this._bufferService.cols&&32!==o.getCodePoint(this._bufferService.cols-1)){var E=n.lines.get(e[1]+1);if(E&&E.isWrapped&&32!==E.getCodePoint(0)){var A=this._getWordAt([0,e[1]+1],!1,!1,!0);A&&(b+=A.length)}}return{start:m,length:b}}}}},t.prototype._selectWordAt=function(e,t){var r=this._getWordAt(e,t);if(r){for(;r.start<0;)r.start+=this._bufferService.cols,e[1]--;this._model.selectionStart=[r.start,e[1]],this._model.selectionStartLength=r.length}},t.prototype._selectToWordAt=function(e){var t=this._getWordAt(e,!0);if(t){for(var r=e[1];t.start<0;)t.start+=this._bufferService.cols,r--;if(!this._model.areSelectionValuesReversed())for(;t.start+t.length>this._bufferService.cols;)t.length-=this._bufferService.cols,r++;this._model.selectionEnd=[this._model.areSelectionValuesReversed()?t.start:t.start+t.length,r]}},t.prototype._isCharWordSeparator=function(e){return 0!==e.getWidth()&&this._optionsService.options.wordSeparator.indexOf(e.getChars())>=0},t.prototype._selectLineAt=function(e){var t=this._bufferService.buffer.getWrappedRangeForLine(e);this._model.selectionStart=[0,t.first],this._model.selectionEnd=[this._bufferService.cols,t.last],this._model.selectionStartLength=0},o([s(3,f.IBufferService),s(4,f.ICoreService),s(5,u.IMouseService),s(6,f.IOptionsService),s(7,u.IRenderService)],t)}(p.Disposable);t.SelectionService=m},4725:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.ICharacterJoinerService=t.ISoundService=t.ISelectionService=t.IRenderService=t.IMouseService=t.ICoreBrowserService=t.ICharSizeService=void 0;var i=r(8343);t.ICharSizeService=i.createDecorator("CharSizeService"),t.ICoreBrowserService=i.createDecorator("CoreBrowserService"),t.IMouseService=i.createDecorator("MouseService"),t.IRenderService=i.createDecorator("RenderService"),t.ISelectionService=i.createDecorator("SelectionService"),t.ISoundService=i.createDecorator("SoundService"),t.ICharacterJoinerService=i.createDecorator("CharacterJoinerService")},357:function(e,t,r){var i=this&&this.__decorate||function(e,t,r,i){var n,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},n=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.SoundService=void 0;var o=r(2585),s=function(){function e(e){this._optionsService=e}return Object.defineProperty(e,"audioContext",{get:function(){if(!e._audioContext){var t=window.AudioContext||window.webkitAudioContext;if(!t)return console.warn("Web Audio API is not supported by this browser. Consider upgrading to the latest version"),null;e._audioContext=new t}return e._audioContext},enumerable:!1,configurable:!0}),e.prototype.playBellSound=function(){var t=e.audioContext;if(t){var r=t.createBufferSource();t.decodeAudioData(this._base64ToArrayBuffer(this._removeMimeType(this._optionsService.options.bellSound)),(function(e){r.buffer=e,r.connect(t.destination),r.start(0)}))}},e.prototype._base64ToArrayBuffer=function(e){for(var t=window.atob(e),r=t.length,i=new Uint8Array(r),n=0;n{Object.defineProperty(t,"__esModule",{value:!0}),t.CircularList=void 0;var i=r(8460),n=function(){function e(e){this._maxLength=e,this.onDeleteEmitter=new i.EventEmitter,this.onInsertEmitter=new i.EventEmitter,this.onTrimEmitter=new i.EventEmitter,this._array=new Array(this._maxLength),this._startIndex=0,this._length=0}return Object.defineProperty(e.prototype,"onDelete",{get:function(){return this.onDeleteEmitter.event},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onInsert",{get:function(){return this.onInsertEmitter.event},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onTrim",{get:function(){return this.onTrimEmitter.event},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"maxLength",{get:function(){return this._maxLength},set:function(e){if(this._maxLength!==e){for(var t=new Array(e),r=0;rthis._length)for(var t=this._length;t=e;n--)this._array[this._getCyclicIndex(n+r.length)]=this._array[this._getCyclicIndex(n)];for(n=0;nthis._maxLength){var o=this._length+r.length-this._maxLength;this._startIndex+=o,this._length=this._maxLength,this.onTrimEmitter.fire(o)}else this._length+=r.length},e.prototype.trimStart=function(e){e>this._length&&(e=this._length),this._startIndex+=e,this._length-=e,this.onTrimEmitter.fire(e)},e.prototype.shiftElements=function(e,t,r){if(!(t<=0)){if(e<0||e>=this._length)throw new Error("start argument out of range");if(e+r<0)throw new Error("Cannot shift elements in list beyond index 0");if(r>0){for(var i=t-1;i>=0;i--)this.set(e+i+r,this.get(e+i));var n=e+t+r-this._length;if(n>0)for(this._length+=n;this._length>this._maxLength;)this._length--,this._startIndex++,this.onTrimEmitter.fire(1)}else for(i=0;i{Object.defineProperty(t,"__esModule",{value:!0}),t.clone=void 0,t.clone=function e(t,r){if(void 0===r&&(r=5),"object"!=typeof t)return t;var i=Array.isArray(t)?[]:{};for(var n in t)i[n]=r<=1?t[n]:t[n]?e(t[n],r-1):t[n];return i}},8969:function(e,t,r){var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});Object.defineProperty(t,"__esModule",{value:!0}),t.CoreTerminal=void 0;var o=r(844),s=r(2585),a=r(4348),c=r(7866),l=r(744),h=r(7302),u=r(6975),f=r(8460),_=r(1753),d=r(3730),p=r(1480),v=r(7994),g=r(9282),y=r(5435),m=r(5981),b=!1,C=function(e){function t(t){var r=e.call(this)||this;return r._onBinary=new f.EventEmitter,r._onData=new f.EventEmitter,r._onLineFeed=new f.EventEmitter,r._onResize=new f.EventEmitter,r._onScroll=new f.EventEmitter,r._instantiationService=new a.InstantiationService,r.optionsService=new h.OptionsService(t),r._instantiationService.setService(s.IOptionsService,r.optionsService),r._bufferService=r.register(r._instantiationService.createInstance(l.BufferService)),r._instantiationService.setService(s.IBufferService,r._bufferService),r._logService=r._instantiationService.createInstance(c.LogService),r._instantiationService.setService(s.ILogService,r._logService),r._coreService=r.register(r._instantiationService.createInstance(u.CoreService,(function(){return r.scrollToBottom()}))),r._instantiationService.setService(s.ICoreService,r._coreService),r._coreMouseService=r._instantiationService.createInstance(_.CoreMouseService),r._instantiationService.setService(s.ICoreMouseService,r._coreMouseService),r._dirtyRowService=r._instantiationService.createInstance(d.DirtyRowService),r._instantiationService.setService(s.IDirtyRowService,r._dirtyRowService),r.unicodeService=r._instantiationService.createInstance(p.UnicodeService),r._instantiationService.setService(s.IUnicodeService,r.unicodeService),r._charsetService=r._instantiationService.createInstance(v.CharsetService),r._instantiationService.setService(s.ICharsetService,r._charsetService),r._inputHandler=new y.InputHandler(r._bufferService,r._charsetService,r._coreService,r._dirtyRowService,r._logService,r.optionsService,r._coreMouseService,r.unicodeService),r.register(f.forwardEvent(r._inputHandler.onLineFeed,r._onLineFeed)),r.register(r._inputHandler),r.register(f.forwardEvent(r._bufferService.onResize,r._onResize)),r.register(f.forwardEvent(r._coreService.onData,r._onData)),r.register(f.forwardEvent(r._coreService.onBinary,r._onBinary)),r.register(r.optionsService.onOptionChange((function(e){return r._updateOptions(e)}))),r.register(r._bufferService.onScroll((function(e){r._onScroll.fire({position:r._bufferService.buffer.ydisp,source:0}),r._dirtyRowService.markRangeDirty(r._bufferService.buffer.scrollTop,r._bufferService.buffer.scrollBottom)}))),r._writeBuffer=new m.WriteBuffer((function(e,t){return r._inputHandler.parse(e,t)})),r}return n(t,e),Object.defineProperty(t.prototype,"onBinary",{get:function(){return this._onBinary.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onData",{get:function(){return this._onData.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onLineFeed",{get:function(){return this._onLineFeed.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onResize",{get:function(){return this._onResize.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onScroll",{get:function(){var e=this;return this._onScrollApi||(this._onScrollApi=new f.EventEmitter,this.register(this._onScroll.event((function(t){var r;null===(r=e._onScrollApi)||void 0===r||r.fire(t.position)})))),this._onScrollApi.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"cols",{get:function(){return this._bufferService.cols},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"rows",{get:function(){return this._bufferService.rows},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"buffers",{get:function(){return this._bufferService.buffers},enumerable:!1,configurable:!0}),t.prototype.dispose=function(){var t;this._isDisposed||(e.prototype.dispose.call(this),null===(t=this._windowsMode)||void 0===t||t.dispose(),this._windowsMode=void 0)},t.prototype.write=function(e,t){this._writeBuffer.write(e,t)},t.prototype.writeSync=function(e,t){this._logService.logLevel<=s.LogLevelEnum.WARN&&!b&&(this._logService.warn("writeSync is unreliable and will be removed soon."),b=!0),this._writeBuffer.writeSync(e,t)},t.prototype.resize=function(e,t){isNaN(e)||isNaN(t)||(e=Math.max(e,l.MINIMUM_COLS),t=Math.max(t,l.MINIMUM_ROWS),this._bufferService.resize(e,t))},t.prototype.scroll=function(e,t){void 0===t&&(t=!1),this._bufferService.scroll(e,t)},t.prototype.scrollLines=function(e,t,r){this._bufferService.scrollLines(e,t,r)},t.prototype.scrollPages=function(e){this._bufferService.scrollPages(e)},t.prototype.scrollToTop=function(){this._bufferService.scrollToTop()},t.prototype.scrollToBottom=function(){this._bufferService.scrollToBottom()},t.prototype.scrollToLine=function(e){this._bufferService.scrollToLine(e)},t.prototype.registerEscHandler=function(e,t){return this._inputHandler.registerEscHandler(e,t)},t.prototype.registerDcsHandler=function(e,t){return this._inputHandler.registerDcsHandler(e,t)},t.prototype.registerCsiHandler=function(e,t){return this._inputHandler.registerCsiHandler(e,t)},t.prototype.registerOscHandler=function(e,t){return this._inputHandler.registerOscHandler(e,t)},t.prototype._setup=function(){this.optionsService.options.windowsMode&&this._enableWindowsMode()},t.prototype.reset=function(){this._inputHandler.reset(),this._bufferService.reset(),this._charsetService.reset(),this._coreService.reset(),this._coreMouseService.reset()},t.prototype._updateOptions=function(e){var t;switch(e){case"scrollback":this.buffers.resize(this.cols,this.rows);break;case"windowsMode":this.optionsService.options.windowsMode?this._enableWindowsMode():(null===(t=this._windowsMode)||void 0===t||t.dispose(),this._windowsMode=void 0)}},t.prototype._enableWindowsMode=function(){var e=this;if(!this._windowsMode){var t=[];t.push(this.onLineFeed(g.updateWindowsModeWrappedState.bind(null,this._bufferService))),t.push(this.registerCsiHandler({final:"H"},(function(){return g.updateWindowsModeWrappedState(e._bufferService),!1}))),this._windowsMode={dispose:function(){for(var e=0,r=t;e{Object.defineProperty(t,"__esModule",{value:!0}),t.forwardEvent=t.EventEmitter=void 0;var r=function(){function e(){this._listeners=[],this._disposed=!1}return Object.defineProperty(e.prototype,"event",{get:function(){var e=this;return this._event||(this._event=function(t){return e._listeners.push(t),{dispose:function(){if(!e._disposed)for(var r=0;r24)return t.setWinLines||!1;switch(e){case 1:return!!t.restoreWin;case 2:return!!t.minimizeWin;case 3:return!!t.setWinPosition;case 4:return!!t.setWinSizePixels;case 5:return!!t.raiseWin;case 6:return!!t.lowerWin;case 7:return!!t.refreshWin;case 8:return!!t.setWinSizeChars;case 9:return!!t.maximizeWin;case 10:return!!t.fullscreenWin;case 11:return!!t.getWinState;case 13:return!!t.getWinPosition;case 14:return!!t.getWinSizePixels;case 15:return!!t.getScreenSizePixels;case 16:return!!t.getCellSizePixels;case 18:return!!t.getWinSizeChars;case 19:return!!t.getScreenSizeChars;case 20:return!!t.getIconTitle;case 21:return!!t.getWinTitle;case 22:return!!t.pushTitle;case 23:return!!t.popTitle;case 24:return!!t.setWinLines}return!1}!function(e){e[e.GET_WIN_SIZE_PIXELS=0]="GET_WIN_SIZE_PIXELS",e[e.GET_CELL_SIZE_PIXELS=1]="GET_CELL_SIZE_PIXELS"}(o=t.WindowsOptionsReportType||(t.WindowsOptionsReportType={}));var w=function(){function e(e,t,r,i){this._bufferService=e,this._coreService=t,this._logService=r,this._optionsService=i,this._data=new Uint32Array(0)}return e.prototype.hook=function(e){this._data=new Uint32Array(0)},e.prototype.put=function(e,t,r){this._data=h.concat(this._data,e.subarray(t,r))},e.prototype.unhook=function(e){if(!e)return this._data=new Uint32Array(0),!0;var t=u.utf32ToString(this._data);switch(this._data=new Uint32Array(0),t){case'"q':this._coreService.triggerDataEvent(s.C0.ESC+'P1$r0"q'+s.C0.ESC+"\\");break;case'"p':this._coreService.triggerDataEvent(s.C0.ESC+'P1$r61;1"p'+s.C0.ESC+"\\");break;case"r":var r=this._bufferService.buffer.scrollTop+1+";"+(this._bufferService.buffer.scrollBottom+1)+"r";this._coreService.triggerDataEvent(s.C0.ESC+"P1$r"+r+s.C0.ESC+"\\");break;case"m":this._coreService.triggerDataEvent(s.C0.ESC+"P1$r0m"+s.C0.ESC+"\\");break;case" q":var i={block:2,underline:4,bar:6}[this._optionsService.options.cursorStyle];i-=this._optionsService.options.cursorBlink?1:0,this._coreService.triggerDataEvent(s.C0.ESC+"P1$r"+i+" q"+s.C0.ESC+"\\");break;default:this._logService.debug("Unknown DCS $q %s",t),this._coreService.triggerDataEvent(s.C0.ESC+"P0$r"+s.C0.ESC+"\\")}return!0},e}(),E=function(e){function t(t,r,i,n,o,l,h,d,v){void 0===v&&(v=new c.EscapeSequenceParser);var g=e.call(this)||this;g._bufferService=t,g._charsetService=r,g._coreService=i,g._dirtyRowService=n,g._logService=o,g._optionsService=l,g._coreMouseService=h,g._unicodeService=d,g._parser=v,g._parseBuffer=new Uint32Array(4096),g._stringDecoder=new u.StringToUtf32,g._utf8Decoder=new u.Utf8ToUtf32,g._workCell=new p.CellData,g._windowTitle="",g._iconName="",g._windowTitleStack=[],g._iconNameStack=[],g._curAttrData=f.DEFAULT_ATTR_DATA.clone(),g._eraseAttrDataInternal=f.DEFAULT_ATTR_DATA.clone(),g._onRequestBell=new _.EventEmitter,g._onRequestRefreshRows=new _.EventEmitter,g._onRequestReset=new _.EventEmitter,g._onRequestSyncScrollBar=new _.EventEmitter,g._onRequestWindowsOptionsReport=new _.EventEmitter,g._onA11yChar=new _.EventEmitter,g._onA11yTab=new _.EventEmitter,g._onCursorMove=new _.EventEmitter,g._onLineFeed=new _.EventEmitter,g._onScroll=new _.EventEmitter,g._onTitleChange=new _.EventEmitter,g._onAnsiColorChange=new _.EventEmitter,g._parseStack={paused:!1,cursorStartX:0,cursorStartY:0,decodedLength:0,position:0},g.register(g._parser),g._parser.setCsiHandlerFallback((function(e,t){g._logService.debug("Unknown CSI code: ",{identifier:g._parser.identToString(e),params:t.toArray()})})),g._parser.setEscHandlerFallback((function(e){g._logService.debug("Unknown ESC code: ",{identifier:g._parser.identToString(e)})})),g._parser.setExecuteHandlerFallback((function(e){g._logService.debug("Unknown EXECUTE code: ",{code:e})})),g._parser.setOscHandlerFallback((function(e,t,r){g._logService.debug("Unknown OSC code: ",{identifier:e,action:t,data:r})})),g._parser.setDcsHandlerFallback((function(e,t,r){"HOOK"===t&&(r=r.toArray()),g._logService.debug("Unknown DCS code: ",{identifier:g._parser.identToString(e),action:t,payload:r})})),g._parser.setPrintHandler((function(e,t,r){return g.print(e,t,r)})),g._parser.registerCsiHandler({final:"@"},(function(e){return g.insertChars(e)})),g._parser.registerCsiHandler({intermediates:" ",final:"@"},(function(e){return g.scrollLeft(e)})),g._parser.registerCsiHandler({final:"A"},(function(e){return g.cursorUp(e)})),g._parser.registerCsiHandler({intermediates:" ",final:"A"},(function(e){return g.scrollRight(e)})),g._parser.registerCsiHandler({final:"B"},(function(e){return g.cursorDown(e)})),g._parser.registerCsiHandler({final:"C"},(function(e){return g.cursorForward(e)})),g._parser.registerCsiHandler({final:"D"},(function(e){return g.cursorBackward(e)})),g._parser.registerCsiHandler({final:"E"},(function(e){return g.cursorNextLine(e)})),g._parser.registerCsiHandler({final:"F"},(function(e){return g.cursorPrecedingLine(e)})),g._parser.registerCsiHandler({final:"G"},(function(e){return g.cursorCharAbsolute(e)})),g._parser.registerCsiHandler({final:"H"},(function(e){return g.cursorPosition(e)})),g._parser.registerCsiHandler({final:"I"},(function(e){return g.cursorForwardTab(e)})),g._parser.registerCsiHandler({final:"J"},(function(e){return g.eraseInDisplay(e)})),g._parser.registerCsiHandler({prefix:"?",final:"J"},(function(e){return g.eraseInDisplay(e)})),g._parser.registerCsiHandler({final:"K"},(function(e){return g.eraseInLine(e)})),g._parser.registerCsiHandler({prefix:"?",final:"K"},(function(e){return g.eraseInLine(e)})),g._parser.registerCsiHandler({final:"L"},(function(e){return g.insertLines(e)})),g._parser.registerCsiHandler({final:"M"},(function(e){return g.deleteLines(e)})),g._parser.registerCsiHandler({final:"P"},(function(e){return g.deleteChars(e)})),g._parser.registerCsiHandler({final:"S"},(function(e){return g.scrollUp(e)})),g._parser.registerCsiHandler({final:"T"},(function(e){return g.scrollDown(e)})),g._parser.registerCsiHandler({final:"X"},(function(e){return g.eraseChars(e)})),g._parser.registerCsiHandler({final:"Z"},(function(e){return g.cursorBackwardTab(e)})),g._parser.registerCsiHandler({final:"`"},(function(e){return g.charPosAbsolute(e)})),g._parser.registerCsiHandler({final:"a"},(function(e){return g.hPositionRelative(e)})),g._parser.registerCsiHandler({final:"b"},(function(e){return g.repeatPrecedingCharacter(e)})),g._parser.registerCsiHandler({final:"c"},(function(e){return g.sendDeviceAttributesPrimary(e)})),g._parser.registerCsiHandler({prefix:">",final:"c"},(function(e){return g.sendDeviceAttributesSecondary(e)})),g._parser.registerCsiHandler({final:"d"},(function(e){return g.linePosAbsolute(e)})),g._parser.registerCsiHandler({final:"e"},(function(e){return g.vPositionRelative(e)})),g._parser.registerCsiHandler({final:"f"},(function(e){return g.hVPosition(e)})),g._parser.registerCsiHandler({final:"g"},(function(e){return g.tabClear(e)})),g._parser.registerCsiHandler({final:"h"},(function(e){return g.setMode(e)})),g._parser.registerCsiHandler({prefix:"?",final:"h"},(function(e){return g.setModePrivate(e)})),g._parser.registerCsiHandler({final:"l"},(function(e){return g.resetMode(e)})),g._parser.registerCsiHandler({prefix:"?",final:"l"},(function(e){return g.resetModePrivate(e)})),g._parser.registerCsiHandler({final:"m"},(function(e){return g.charAttributes(e)})),g._parser.registerCsiHandler({final:"n"},(function(e){return g.deviceStatus(e)})),g._parser.registerCsiHandler({prefix:"?",final:"n"},(function(e){return g.deviceStatusPrivate(e)})),g._parser.registerCsiHandler({intermediates:"!",final:"p"},(function(e){return g.softReset(e)})),g._parser.registerCsiHandler({intermediates:" ",final:"q"},(function(e){return g.setCursorStyle(e)})),g._parser.registerCsiHandler({final:"r"},(function(e){return g.setScrollRegion(e)})),g._parser.registerCsiHandler({final:"s"},(function(e){return g.saveCursor(e)})),g._parser.registerCsiHandler({final:"t"},(function(e){return g.windowOptions(e)})),g._parser.registerCsiHandler({final:"u"},(function(e){return g.restoreCursor(e)})),g._parser.registerCsiHandler({intermediates:"'",final:"}"},(function(e){return g.insertColumns(e)})),g._parser.registerCsiHandler({intermediates:"'",final:"~"},(function(e){return g.deleteColumns(e)})),g._parser.setExecuteHandler(s.C0.BEL,(function(){return g.bell()})),g._parser.setExecuteHandler(s.C0.LF,(function(){return g.lineFeed()})),g._parser.setExecuteHandler(s.C0.VT,(function(){return g.lineFeed()})),g._parser.setExecuteHandler(s.C0.FF,(function(){return g.lineFeed()})),g._parser.setExecuteHandler(s.C0.CR,(function(){return g.carriageReturn()})),g._parser.setExecuteHandler(s.C0.BS,(function(){return g.backspace()})),g._parser.setExecuteHandler(s.C0.HT,(function(){return g.tab()})),g._parser.setExecuteHandler(s.C0.SO,(function(){return g.shiftOut()})),g._parser.setExecuteHandler(s.C0.SI,(function(){return g.shiftIn()})),g._parser.setExecuteHandler(s.C1.IND,(function(){return g.index()})),g._parser.setExecuteHandler(s.C1.NEL,(function(){return g.nextLine()})),g._parser.setExecuteHandler(s.C1.HTS,(function(){return g.tabSet()})),g._parser.registerOscHandler(0,new y.OscHandler((function(e){return g.setTitle(e),g.setIconName(e),!0}))),g._parser.registerOscHandler(1,new y.OscHandler((function(e){return g.setIconName(e)}))),g._parser.registerOscHandler(2,new y.OscHandler((function(e){return g.setTitle(e)}))),g._parser.registerOscHandler(4,new y.OscHandler((function(e){return g.setAnsiColor(e)}))),g._parser.registerEscHandler({final:"7"},(function(){return g.saveCursor()})),g._parser.registerEscHandler({final:"8"},(function(){return g.restoreCursor()})),g._parser.registerEscHandler({final:"D"},(function(){return g.index()})),g._parser.registerEscHandler({final:"E"},(function(){return g.nextLine()})),g._parser.registerEscHandler({final:"H"},(function(){return g.tabSet()})),g._parser.registerEscHandler({final:"M"},(function(){return g.reverseIndex()})),g._parser.registerEscHandler({final:"="},(function(){return g.keypadApplicationMode()})),g._parser.registerEscHandler({final:">"},(function(){return g.keypadNumericMode()})),g._parser.registerEscHandler({final:"c"},(function(){return g.fullReset()})),g._parser.registerEscHandler({final:"n"},(function(){return g.setgLevel(2)})),g._parser.registerEscHandler({final:"o"},(function(){return g.setgLevel(3)})),g._parser.registerEscHandler({final:"|"},(function(){return g.setgLevel(3)})),g._parser.registerEscHandler({final:"}"},(function(){return g.setgLevel(2)})),g._parser.registerEscHandler({final:"~"},(function(){return g.setgLevel(1)})),g._parser.registerEscHandler({intermediates:"%",final:"@"},(function(){return g.selectDefaultCharset()})),g._parser.registerEscHandler({intermediates:"%",final:"G"},(function(){return g.selectDefaultCharset()}));var m=function(e){b._parser.registerEscHandler({intermediates:"(",final:e},(function(){return g.selectCharset("("+e)})),b._parser.registerEscHandler({intermediates:")",final:e},(function(){return g.selectCharset(")"+e)})),b._parser.registerEscHandler({intermediates:"*",final:e},(function(){return g.selectCharset("*"+e)})),b._parser.registerEscHandler({intermediates:"+",final:e},(function(){return g.selectCharset("+"+e)})),b._parser.registerEscHandler({intermediates:"-",final:e},(function(){return g.selectCharset("-"+e)})),b._parser.registerEscHandler({intermediates:".",final:e},(function(){return g.selectCharset("."+e)})),b._parser.registerEscHandler({intermediates:"/",final:e},(function(){return g.selectCharset("/"+e)}))},b=this;for(var C in a.CHARSETS)m(C);return g._parser.registerEscHandler({intermediates:"#",final:"8"},(function(){return g.screenAlignmentPattern()})),g._parser.setErrorHandler((function(e){return g._logService.error("Parsing error: ",e),e})),g._parser.registerDcsHandler({intermediates:"$",final:"q"},new w(g._bufferService,g._coreService,g._logService,g._optionsService)),g}return n(t,e),Object.defineProperty(t.prototype,"onRequestBell",{get:function(){return this._onRequestBell.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onRequestRefreshRows",{get:function(){return this._onRequestRefreshRows.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onRequestReset",{get:function(){return this._onRequestReset.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onRequestSyncScrollBar",{get:function(){return this._onRequestSyncScrollBar.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onRequestWindowsOptionsReport",{get:function(){return this._onRequestWindowsOptionsReport.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onA11yChar",{get:function(){return this._onA11yChar.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onA11yTab",{get:function(){return this._onA11yTab.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onCursorMove",{get:function(){return this._onCursorMove.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onLineFeed",{get:function(){return this._onLineFeed.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onScroll",{get:function(){return this._onScroll.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onTitleChange",{get:function(){return this._onTitleChange.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onAnsiColorChange",{get:function(){return this._onAnsiColorChange.event},enumerable:!1,configurable:!0}),t.prototype.dispose=function(){e.prototype.dispose.call(this)},t.prototype._preserveStack=function(e,t,r,i){this._parseStack.paused=!0,this._parseStack.cursorStartX=e,this._parseStack.cursorStartY=t,this._parseStack.decodedLength=r,this._parseStack.position=i},t.prototype._logSlowResolvingAsync=function(e){this._logService.logLevel<=g.LogLevelEnum.WARN&&Promise.race([e,new Promise((function(e,t){return setTimeout((function(){return t("#SLOW_TIMEOUT")}),5e3)}))]).catch((function(e){if("#SLOW_TIMEOUT"!==e)throw e;console.warn("async parser handler taking longer than 5000 ms")}))},t.prototype.parse=function(e,t){var r,i=this._bufferService.buffer,n=i.x,o=i.y,s=0,a=this._parseStack.paused;if(a){if(r=this._parser.parse(this._parseBuffer,this._parseStack.decodedLength,t))return this._logSlowResolvingAsync(r),r;n=this._parseStack.cursorStartX,o=this._parseStack.cursorStartY,this._parseStack.paused=!1,e.length>C&&(s=this._parseStack.position+C)}if(this._logService.debug("parsing data",e),this._parseBuffer.lengthC)for(var c=s;c0&&2===_.getWidth(o.x-1)&&_.setCellFromCodePoint(o.x-1,0,1,f.fg,f.bg,f.extended);for(var p=t;p=c)if(l){for(;o.x=this._bufferService.rows&&(o.y=this._bufferService.rows-1),o.lines.get(o.ybase+o.y).isWrapped=!0),_=o.lines.get(o.ybase+o.y)}else if(o.x=c-1,2===n)continue;if(h&&(_.insertCells(o.x,n,o.getNullCell(f),f),2===_.getWidth(c-1)&&_.setCellFromCodePoint(c-1,d.NULL_CELL_CODE,d.NULL_CELL_WIDTH,f.fg,f.bg,f.extended)),_.setCellFromCodePoint(o.x++,i,n,f.fg,f.bg,f.extended),n>0)for(;--n;)_.setCellFromCodePoint(o.x++,0,0,f.fg,f.bg,f.extended)}else _.getWidth(o.x-1)?_.addCodepointToCell(o.x-1,i):_.addCodepointToCell(o.x-2,i)}r-t>0&&(_.loadCell(o.x-1,this._workCell),2===this._workCell.getWidth()||this._workCell.getCode()>65535?this._parser.precedingCodepoint=0:this._workCell.isCombined()?this._parser.precedingCodepoint=this._workCell.getChars().charCodeAt(0):this._parser.precedingCodepoint=this._workCell.content),o.x0&&0===_.getWidth(o.x)&&!_.hasContent(o.x)&&_.setCellFromCodePoint(o.x,0,1,f.fg,f.bg,f.extended),this._dirtyRowService.markDirty(o.y)},t.prototype.registerCsiHandler=function(e,t){var r=this;return"t"!==e.final||e.prefix||e.intermediates?this._parser.registerCsiHandler(e,t):this._parser.registerCsiHandler(e,(function(e){return!S(e.params[0],r._optionsService.options.windowOptions)||t(e)}))},t.prototype.registerDcsHandler=function(e,t){return this._parser.registerDcsHandler(e,new m.DcsHandler(t))},t.prototype.registerEscHandler=function(e,t){return this._parser.registerEscHandler(e,t)},t.prototype.registerOscHandler=function(e,t){return this._parser.registerOscHandler(e,new y.OscHandler(t))},t.prototype.bell=function(){return this._onRequestBell.fire(),!0},t.prototype.lineFeed=function(){var e=this._bufferService.buffer;return this._dirtyRowService.markDirty(e.y),this._optionsService.options.convertEol&&(e.x=0),e.y++,e.y===e.scrollBottom+1?(e.y--,this._bufferService.scroll(this._eraseAttrData())):e.y>=this._bufferService.rows&&(e.y=this._bufferService.rows-1),e.x>=this._bufferService.cols&&e.x--,this._dirtyRowService.markDirty(e.y),this._onLineFeed.fire(),!0},t.prototype.carriageReturn=function(){return this._bufferService.buffer.x=0,!0},t.prototype.backspace=function(){var e,t=this._bufferService.buffer;if(!this._coreService.decPrivateModes.reverseWraparound)return this._restrictCursor(),t.x>0&&t.x--,!0;if(this._restrictCursor(this._bufferService.cols),t.x>0)t.x--;else if(0===t.x&&t.y>t.scrollTop&&t.y<=t.scrollBottom&&(null===(e=t.lines.get(t.ybase+t.y))||void 0===e?void 0:e.isWrapped)){t.lines.get(t.ybase+t.y).isWrapped=!1,t.y--,t.x=this._bufferService.cols-1;var r=t.lines.get(t.ybase+t.y);r.hasWidth(t.x)&&!r.hasContent(t.x)&&t.x--}return this._restrictCursor(),!0},t.prototype.tab=function(){if(this._bufferService.buffer.x>=this._bufferService.cols)return!0;var e=this._bufferService.buffer.x;return this._bufferService.buffer.x=this._bufferService.buffer.nextStop(),this._optionsService.options.screenReaderMode&&this._onA11yTab.fire(this._bufferService.buffer.x-e),!0},t.prototype.shiftOut=function(){return this._charsetService.setgLevel(1),!0},t.prototype.shiftIn=function(){return this._charsetService.setgLevel(0),!0},t.prototype._restrictCursor=function(e){void 0===e&&(e=this._bufferService.cols-1),this._bufferService.buffer.x=Math.min(e,Math.max(0,this._bufferService.buffer.x)),this._bufferService.buffer.y=this._coreService.decPrivateModes.origin?Math.min(this._bufferService.buffer.scrollBottom,Math.max(this._bufferService.buffer.scrollTop,this._bufferService.buffer.y)):Math.min(this._bufferService.rows-1,Math.max(0,this._bufferService.buffer.y)),this._dirtyRowService.markDirty(this._bufferService.buffer.y)},t.prototype._setCursor=function(e,t){this._dirtyRowService.markDirty(this._bufferService.buffer.y),this._coreService.decPrivateModes.origin?(this._bufferService.buffer.x=e,this._bufferService.buffer.y=this._bufferService.buffer.scrollTop+t):(this._bufferService.buffer.x=e,this._bufferService.buffer.y=t),this._restrictCursor(),this._dirtyRowService.markDirty(this._bufferService.buffer.y)},t.prototype._moveCursor=function(e,t){this._restrictCursor(),this._setCursor(this._bufferService.buffer.x+e,this._bufferService.buffer.y+t)},t.prototype.cursorUp=function(e){var t=this._bufferService.buffer.y-this._bufferService.buffer.scrollTop;return t>=0?this._moveCursor(0,-Math.min(t,e.params[0]||1)):this._moveCursor(0,-(e.params[0]||1)),!0},t.prototype.cursorDown=function(e){var t=this._bufferService.buffer.scrollBottom-this._bufferService.buffer.y;return t>=0?this._moveCursor(0,Math.min(t,e.params[0]||1)):this._moveCursor(0,e.params[0]||1),!0},t.prototype.cursorForward=function(e){return this._moveCursor(e.params[0]||1,0),!0},t.prototype.cursorBackward=function(e){return this._moveCursor(-(e.params[0]||1),0),!0},t.prototype.cursorNextLine=function(e){return this.cursorDown(e),this._bufferService.buffer.x=0,!0},t.prototype.cursorPrecedingLine=function(e){return this.cursorUp(e),this._bufferService.buffer.x=0,!0},t.prototype.cursorCharAbsolute=function(e){return this._setCursor((e.params[0]||1)-1,this._bufferService.buffer.y),!0},t.prototype.cursorPosition=function(e){return this._setCursor(e.length>=2?(e.params[1]||1)-1:0,(e.params[0]||1)-1),!0},t.prototype.charPosAbsolute=function(e){return this._setCursor((e.params[0]||1)-1,this._bufferService.buffer.y),!0},t.prototype.hPositionRelative=function(e){return this._moveCursor(e.params[0]||1,0),!0},t.prototype.linePosAbsolute=function(e){return this._setCursor(this._bufferService.buffer.x,(e.params[0]||1)-1),!0},t.prototype.vPositionRelative=function(e){return this._moveCursor(0,e.params[0]||1),!0},t.prototype.hVPosition=function(e){return this.cursorPosition(e),!0},t.prototype.tabClear=function(e){var t=e.params[0];return 0===t?delete this._bufferService.buffer.tabs[this._bufferService.buffer.x]:3===t&&(this._bufferService.buffer.tabs={}),!0},t.prototype.cursorForwardTab=function(e){if(this._bufferService.buffer.x>=this._bufferService.cols)return!0;for(var t=e.params[0]||1;t--;)this._bufferService.buffer.x=this._bufferService.buffer.nextStop();return!0},t.prototype.cursorBackwardTab=function(e){if(this._bufferService.buffer.x>=this._bufferService.cols)return!0;for(var t=e.params[0]||1,r=this._bufferService.buffer;t--;)r.x=r.prevStop();return!0},t.prototype._eraseInBufferLine=function(e,t,r,i){void 0===i&&(i=!1);var n=this._bufferService.buffer.lines.get(this._bufferService.buffer.ybase+e);n.replaceCells(t,r,this._bufferService.buffer.getNullCell(this._eraseAttrData()),this._eraseAttrData()),i&&(n.isWrapped=!1)},t.prototype._resetBufferLine=function(e){var t=this._bufferService.buffer.lines.get(this._bufferService.buffer.ybase+e);t.fill(this._bufferService.buffer.getNullCell(this._eraseAttrData())),t.isWrapped=!1},t.prototype.eraseInDisplay=function(e){var t;switch(this._restrictCursor(),e.params[0]){case 0:for(t=this._bufferService.buffer.y,this._dirtyRowService.markDirty(t),this._eraseInBufferLine(t++,this._bufferService.buffer.x,this._bufferService.cols,0===this._bufferService.buffer.x);t=this._bufferService.cols&&(this._bufferService.buffer.lines.get(t+1).isWrapped=!1);t--;)this._resetBufferLine(t);this._dirtyRowService.markDirty(0);break;case 2:for(t=this._bufferService.rows,this._dirtyRowService.markDirty(t-1);t--;)this._resetBufferLine(t);this._dirtyRowService.markDirty(0);break;case 3:var r=this._bufferService.buffer.lines.length-this._bufferService.rows;r>0&&(this._bufferService.buffer.lines.trimStart(r),this._bufferService.buffer.ybase=Math.max(this._bufferService.buffer.ybase-r,0),this._bufferService.buffer.ydisp=Math.max(this._bufferService.buffer.ydisp-r,0),this._onScroll.fire(0))}return!0},t.prototype.eraseInLine=function(e){switch(this._restrictCursor(),e.params[0]){case 0:this._eraseInBufferLine(this._bufferService.buffer.y,this._bufferService.buffer.x,this._bufferService.cols);break;case 1:this._eraseInBufferLine(this._bufferService.buffer.y,0,this._bufferService.buffer.x+1);break;case 2:this._eraseInBufferLine(this._bufferService.buffer.y,0,this._bufferService.cols)}return this._dirtyRowService.markDirty(this._bufferService.buffer.y),!0},t.prototype.insertLines=function(e){this._restrictCursor();var t=e.params[0]||1,r=this._bufferService.buffer;if(r.y>r.scrollBottom||r.yr.scrollBottom||r.yt.scrollBottom||t.yt.scrollBottom||t.yt.scrollBottom||t.yt.scrollBottom||t.y0||(this._is("xterm")||this._is("rxvt-unicode")||this._is("screen")?this._coreService.triggerDataEvent(s.C0.ESC+"[?1;2c"):this._is("linux")&&this._coreService.triggerDataEvent(s.C0.ESC+"[?6c")),!0},t.prototype.sendDeviceAttributesSecondary=function(e){return e.params[0]>0||(this._is("xterm")?this._coreService.triggerDataEvent(s.C0.ESC+"[>0;276;0c"):this._is("rxvt-unicode")?this._coreService.triggerDataEvent(s.C0.ESC+"[>85;95;0c"):this._is("linux")?this._coreService.triggerDataEvent(e.params[0]+"c"):this._is("screen")&&this._coreService.triggerDataEvent(s.C0.ESC+"[>83;40003;0c")),!0},t.prototype._is=function(e){return 0===(this._optionsService.options.termName+"").indexOf(e)},t.prototype.setMode=function(e){for(var t=0;t=2||2===i[1]&&o+n>=5)break;i[1]&&(n=1)}while(++o+t5)&&(e=1),t.extended.underlineStyle=e,t.fg|=268435456,0===e&&(t.fg&=-268435457),t.updateExtended()},t.prototype.charAttributes=function(e){if(1===e.length&&0===e.params[0])return this._curAttrData.fg=f.DEFAULT_ATTR_DATA.fg,this._curAttrData.bg=f.DEFAULT_ATTR_DATA.bg,!0;for(var t,r=e.length,i=this._curAttrData,n=0;n=30&&t<=37?(i.fg&=-50331904,i.fg|=16777216|t-30):t>=40&&t<=47?(i.bg&=-50331904,i.bg|=16777216|t-40):t>=90&&t<=97?(i.fg&=-50331904,i.fg|=16777224|t-90):t>=100&&t<=107?(i.bg&=-50331904,i.bg|=16777224|t-100):0===t?(i.fg=f.DEFAULT_ATTR_DATA.fg,i.bg=f.DEFAULT_ATTR_DATA.bg):1===t?i.fg|=134217728:3===t?i.bg|=67108864:4===t?(i.fg|=268435456,this._processUnderline(e.hasSubParams(n)?e.getSubParams(n)[0]:1,i)):5===t?i.fg|=536870912:7===t?i.fg|=67108864:8===t?i.fg|=1073741824:2===t?i.bg|=134217728:21===t?this._processUnderline(2,i):22===t?(i.fg&=-134217729,i.bg&=-134217729):23===t?i.bg&=-67108865:24===t?i.fg&=-268435457:25===t?i.fg&=-536870913:27===t?i.fg&=-67108865:28===t?i.fg&=-1073741825:39===t?(i.fg&=-67108864,i.fg|=16777215&f.DEFAULT_ATTR_DATA.fg):49===t?(i.bg&=-67108864,i.bg|=16777215&f.DEFAULT_ATTR_DATA.bg):38===t||48===t||58===t?n+=this._extractColor(e,n,i):59===t?(i.extended=i.extended.clone(),i.extended.underlineColor=-1,i.updateExtended()):100===t?(i.fg&=-67108864,i.fg|=16777215&f.DEFAULT_ATTR_DATA.fg,i.bg&=-67108864,i.bg|=16777215&f.DEFAULT_ATTR_DATA.bg):this._logService.debug("Unknown SGR attribute: %d.",t);return!0},t.prototype.deviceStatus=function(e){switch(e.params[0]){case 5:this._coreService.triggerDataEvent(s.C0.ESC+"[0n");break;case 6:var t=this._bufferService.buffer.y+1,r=this._bufferService.buffer.x+1;this._coreService.triggerDataEvent(s.C0.ESC+"["+t+";"+r+"R")}return!0},t.prototype.deviceStatusPrivate=function(e){switch(e.params[0]){case 6:var t=this._bufferService.buffer.y+1,r=this._bufferService.buffer.x+1;this._coreService.triggerDataEvent(s.C0.ESC+"[?"+t+";"+r+"R")}return!0},t.prototype.softReset=function(e){return this._coreService.isCursorHidden=!1,this._onRequestSyncScrollBar.fire(),this._bufferService.buffer.scrollTop=0,this._bufferService.buffer.scrollBottom=this._bufferService.rows-1,this._curAttrData=f.DEFAULT_ATTR_DATA.clone(),this._coreService.reset(),this._charsetService.reset(),this._bufferService.buffer.savedX=0,this._bufferService.buffer.savedY=this._bufferService.buffer.ybase,this._bufferService.buffer.savedCurAttrData.fg=this._curAttrData.fg,this._bufferService.buffer.savedCurAttrData.bg=this._curAttrData.bg,this._bufferService.buffer.savedCharset=this._charsetService.charset,this._coreService.decPrivateModes.origin=!1,!0},t.prototype.setCursorStyle=function(e){var t=e.params[0]||1;switch(t){case 1:case 2:this._optionsService.options.cursorStyle="block";break;case 3:case 4:this._optionsService.options.cursorStyle="underline";break;case 5:case 6:this._optionsService.options.cursorStyle="bar"}var r=t%2==1;return this._optionsService.options.cursorBlink=r,!0},t.prototype.setScrollRegion=function(e){var t,r=e.params[0]||1;return(e.length<2||(t=e.params[1])>this._bufferService.rows||0===t)&&(t=this._bufferService.rows),t>r&&(this._bufferService.buffer.scrollTop=r-1,this._bufferService.buffer.scrollBottom=t-1,this._setCursor(0,0)),!0},t.prototype.windowOptions=function(e){if(!S(e.params[0],this._optionsService.options.windowOptions))return!0;var t=e.length>1?e.params[1]:0;switch(e.params[0]){case 14:2!==t&&this._onRequestWindowsOptionsReport.fire(o.GET_WIN_SIZE_PIXELS);break;case 16:this._onRequestWindowsOptionsReport.fire(o.GET_CELL_SIZE_PIXELS);break;case 18:this._bufferService&&this._coreService.triggerDataEvent(s.C0.ESC+"[8;"+this._bufferService.rows+";"+this._bufferService.cols+"t");break;case 22:0!==t&&2!==t||(this._windowTitleStack.push(this._windowTitle),this._windowTitleStack.length>10&&this._windowTitleStack.shift()),0!==t&&1!==t||(this._iconNameStack.push(this._iconName),this._iconNameStack.length>10&&this._iconNameStack.shift());break;case 23:0!==t&&2!==t||this._windowTitleStack.length&&this.setTitle(this._windowTitleStack.pop()),0!==t&&1!==t||this._iconNameStack.length&&this.setIconName(this._iconNameStack.pop())}return!0},t.prototype.saveCursor=function(e){return this._bufferService.buffer.savedX=this._bufferService.buffer.x,this._bufferService.buffer.savedY=this._bufferService.buffer.ybase+this._bufferService.buffer.y,this._bufferService.buffer.savedCurAttrData.fg=this._curAttrData.fg,this._bufferService.buffer.savedCurAttrData.bg=this._curAttrData.bg,this._bufferService.buffer.savedCharset=this._charsetService.charset,!0},t.prototype.restoreCursor=function(e){return this._bufferService.buffer.x=this._bufferService.buffer.savedX||0,this._bufferService.buffer.y=Math.max(this._bufferService.buffer.savedY-this._bufferService.buffer.ybase,0),this._curAttrData.fg=this._bufferService.buffer.savedCurAttrData.fg,this._curAttrData.bg=this._bufferService.buffer.savedCurAttrData.bg,this._charsetService.charset=this._savedCharset,this._bufferService.buffer.savedCharset&&(this._charsetService.charset=this._bufferService.buffer.savedCharset),this._restrictCursor(),!0},t.prototype.setTitle=function(e){return this._windowTitle=e,this._onTitleChange.fire(e),!0},t.prototype.setIconName=function(e){return this._iconName=e,!0},t.prototype._parseAnsiColorChange=function(e){for(var t,r={colors:[]},i=/(\d+);rgb:([\da-f]{2})\/([\da-f]{2})\/([\da-f]{2})/gi;null!==(t=i.exec(e));)r.colors.push({colorIndex:parseInt(t[1]),red:parseInt(t[2],16),green:parseInt(t[3],16),blue:parseInt(t[4],16)});return 0===r.colors.length?null:r},t.prototype.setAnsiColor=function(e){var t=this._parseAnsiColorChange(e);return t?this._onAnsiColorChange.fire(t):this._logService.warn("Expected format ;rgb:// but got data: "+e),!0},t.prototype.nextLine=function(){return this._bufferService.buffer.x=0,this.index(),!0},t.prototype.keypadApplicationMode=function(){return this._logService.debug("Serial port requested application keypad."),this._coreService.decPrivateModes.applicationKeypad=!0,this._onRequestSyncScrollBar.fire(),!0},t.prototype.keypadNumericMode=function(){return this._logService.debug("Switching back to normal keypad."),this._coreService.decPrivateModes.applicationKeypad=!1,this._onRequestSyncScrollBar.fire(),!0},t.prototype.selectDefaultCharset=function(){return this._charsetService.setgLevel(0),this._charsetService.setgCharset(0,a.DEFAULT_CHARSET),!0},t.prototype.selectCharset=function(e){return 2!==e.length?(this.selectDefaultCharset(),!0):("/"===e[0]||this._charsetService.setgCharset(b[e[0]],a.CHARSETS[e[1]]||a.DEFAULT_CHARSET),!0)},t.prototype.index=function(){this._restrictCursor();var e=this._bufferService.buffer;return this._bufferService.buffer.y++,e.y===e.scrollBottom+1?(e.y--,this._bufferService.scroll(this._eraseAttrData())):e.y>=this._bufferService.rows&&(e.y=this._bufferService.rows-1),this._restrictCursor(),!0},t.prototype.tabSet=function(){return this._bufferService.buffer.tabs[this._bufferService.buffer.x]=!0,!0},t.prototype.reverseIndex=function(){this._restrictCursor();var e=this._bufferService.buffer;if(e.y===e.scrollTop){var t=e.scrollBottom-e.scrollTop;e.lines.shiftElements(e.ybase+e.y,t,1),e.lines.set(e.ybase+e.y,e.getBlankLine(this._eraseAttrData())),this._dirtyRowService.markRangeDirty(e.scrollTop,e.scrollBottom)}else e.y--,this._restrictCursor();return!0},t.prototype.fullReset=function(){return this._parser.reset(),this._onRequestReset.fire(),!0},t.prototype.reset=function(){this._curAttrData=f.DEFAULT_ATTR_DATA.clone(),this._eraseAttrDataInternal=f.DEFAULT_ATTR_DATA.clone()},t.prototype._eraseAttrData=function(){return this._eraseAttrDataInternal.bg&=-67108864,this._eraseAttrDataInternal.bg|=67108863&this._curAttrData.bg,this._eraseAttrDataInternal},t.prototype.setgLevel=function(e){return this._charsetService.setgLevel(e),!0},t.prototype.screenAlignmentPattern=function(){var e=new p.CellData;e.content=1<<22|"E".charCodeAt(0),e.fg=this._curAttrData.fg,e.bg=this._curAttrData.bg;var t=this._bufferService.buffer;this._setCursor(0,0);for(var r=0;r{Object.defineProperty(t,"__esModule",{value:!0}),t.getDisposeArrayDisposable=t.disposeArray=t.Disposable=void 0;var r=function(){function e(){this._disposables=[],this._isDisposed=!1}return e.prototype.dispose=function(){this._isDisposed=!0;for(var e=0,t=this._disposables;e{Object.defineProperty(t,"__esModule",{value:!0}),t.isLinux=t.isWindows=t.isIphone=t.isIpad=t.isMac=t.isSafari=t.isFirefox=void 0;var r="undefined"==typeof navigator,i=r?"node":navigator.userAgent,n=r?"node":navigator.platform;t.isFirefox=i.includes("Firefox"),t.isSafari=/^((?!chrome|android).)*safari/i.test(i),t.isMac=["Macintosh","MacIntel","MacPPC","Mac68K"].includes(n),t.isIpad="iPad"===n,t.isIphone="iPhone"===n,t.isWindows=["Windows","Win16","Win32","WinCE"].includes(n),t.isLinux=n.indexOf("Linux")>=0},8273:(e,t)=>{function r(e,t,r,i){if(void 0===r&&(r=0),void 0===i&&(i=e.length),r>=e.length)return e;r=(e.length+r)%e.length,i=i>=e.length?e.length:(e.length+i)%e.length;for(var n=r;n{Object.defineProperty(t,"__esModule",{value:!0}),t.updateWindowsModeWrappedState=void 0;var i=r(643);t.updateWindowsModeWrappedState=function(e){var t=e.buffer.lines.get(e.buffer.ybase+e.buffer.y-1),r=null==t?void 0:t.get(e.cols-1),n=e.buffer.lines.get(e.buffer.ybase+e.buffer.y);n&&r&&(n.isWrapped=r[i.CHAR_DATA_CODE_INDEX]!==i.NULL_CELL_CODE&&r[i.CHAR_DATA_CODE_INDEX]!==i.WHITESPACE_CELL_CODE)}},3734:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.ExtendedAttrs=t.AttributeData=void 0;var r=function(){function e(){this.fg=0,this.bg=0,this.extended=new i}return e.toColorRGB=function(e){return[e>>>16&255,e>>>8&255,255&e]},e.fromColorRGB=function(e){return(255&e[0])<<16|(255&e[1])<<8|255&e[2]},e.prototype.clone=function(){var t=new e;return t.fg=this.fg,t.bg=this.bg,t.extended=this.extended.clone(),t},e.prototype.isInverse=function(){return 67108864&this.fg},e.prototype.isBold=function(){return 134217728&this.fg},e.prototype.isUnderline=function(){return 268435456&this.fg},e.prototype.isBlink=function(){return 536870912&this.fg},e.prototype.isInvisible=function(){return 1073741824&this.fg},e.prototype.isItalic=function(){return 67108864&this.bg},e.prototype.isDim=function(){return 134217728&this.bg},e.prototype.getFgColorMode=function(){return 50331648&this.fg},e.prototype.getBgColorMode=function(){return 50331648&this.bg},e.prototype.isFgRGB=function(){return 50331648==(50331648&this.fg)},e.prototype.isBgRGB=function(){return 50331648==(50331648&this.bg)},e.prototype.isFgPalette=function(){return 16777216==(50331648&this.fg)||33554432==(50331648&this.fg)},e.prototype.isBgPalette=function(){return 16777216==(50331648&this.bg)||33554432==(50331648&this.bg)},e.prototype.isFgDefault=function(){return 0==(50331648&this.fg)},e.prototype.isBgDefault=function(){return 0==(50331648&this.bg)},e.prototype.isAttributeDefault=function(){return 0===this.fg&&0===this.bg},e.prototype.getFgColor=function(){switch(50331648&this.fg){case 16777216:case 33554432:return 255&this.fg;case 50331648:return 16777215&this.fg;default:return-1}},e.prototype.getBgColor=function(){switch(50331648&this.bg){case 16777216:case 33554432:return 255&this.bg;case 50331648:return 16777215&this.bg;default:return-1}},e.prototype.hasExtendedAttrs=function(){return 268435456&this.bg},e.prototype.updateExtended=function(){this.extended.isEmpty()?this.bg&=-268435457:this.bg|=268435456},e.prototype.getUnderlineColor=function(){if(268435456&this.bg&&~this.extended.underlineColor)switch(50331648&this.extended.underlineColor){case 16777216:case 33554432:return 255&this.extended.underlineColor;case 50331648:return 16777215&this.extended.underlineColor;default:return this.getFgColor()}return this.getFgColor()},e.prototype.getUnderlineColorMode=function(){return 268435456&this.bg&&~this.extended.underlineColor?50331648&this.extended.underlineColor:this.getFgColorMode()},e.prototype.isUnderlineColorRGB=function(){return 268435456&this.bg&&~this.extended.underlineColor?50331648==(50331648&this.extended.underlineColor):this.isFgRGB()},e.prototype.isUnderlineColorPalette=function(){return 268435456&this.bg&&~this.extended.underlineColor?16777216==(50331648&this.extended.underlineColor)||33554432==(50331648&this.extended.underlineColor):this.isFgPalette()},e.prototype.isUnderlineColorDefault=function(){return 268435456&this.bg&&~this.extended.underlineColor?0==(50331648&this.extended.underlineColor):this.isFgDefault()},e.prototype.getUnderlineStyle=function(){return 268435456&this.fg?268435456&this.bg?this.extended.underlineStyle:1:0},e}();t.AttributeData=r;var i=function(){function e(e,t){void 0===e&&(e=0),void 0===t&&(t=-1),this.underlineStyle=e,this.underlineColor=t}return e.prototype.clone=function(){return new e(this.underlineStyle,this.underlineColor)},e.prototype.isEmpty=function(){return 0===this.underlineStyle},e}();t.ExtendedAttrs=i},9092:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.BufferStringIterator=t.Buffer=t.MAX_BUFFER_SIZE=void 0;var i=r(6349),n=r(8437),o=r(511),s=r(643),a=r(4634),c=r(4863),l=r(7116),h=r(3734);t.MAX_BUFFER_SIZE=4294967295;var u=function(){function e(e,t,r){this._hasScrollback=e,this._optionsService=t,this._bufferService=r,this.ydisp=0,this.ybase=0,this.y=0,this.x=0,this.savedY=0,this.savedX=0,this.savedCurAttrData=n.DEFAULT_ATTR_DATA.clone(),this.savedCharset=l.DEFAULT_CHARSET,this.markers=[],this._nullCell=o.CellData.fromCharData([0,s.NULL_CELL_CHAR,s.NULL_CELL_WIDTH,s.NULL_CELL_CODE]),this._whitespaceCell=o.CellData.fromCharData([0,s.WHITESPACE_CELL_CHAR,s.WHITESPACE_CELL_WIDTH,s.WHITESPACE_CELL_CODE]),this._cols=this._bufferService.cols,this._rows=this._bufferService.rows,this.lines=new i.CircularList(this._getCorrectBufferLength(this._rows)),this.scrollTop=0,this.scrollBottom=this._rows-1,this.setupTabStops()}return e.prototype.getNullCell=function(e){return e?(this._nullCell.fg=e.fg,this._nullCell.bg=e.bg,this._nullCell.extended=e.extended):(this._nullCell.fg=0,this._nullCell.bg=0,this._nullCell.extended=new h.ExtendedAttrs),this._nullCell},e.prototype.getWhitespaceCell=function(e){return e?(this._whitespaceCell.fg=e.fg,this._whitespaceCell.bg=e.bg,this._whitespaceCell.extended=e.extended):(this._whitespaceCell.fg=0,this._whitespaceCell.bg=0,this._whitespaceCell.extended=new h.ExtendedAttrs),this._whitespaceCell},e.prototype.getBlankLine=function(e,t){return new n.BufferLine(this._bufferService.cols,this.getNullCell(e),t)},Object.defineProperty(e.prototype,"hasScrollback",{get:function(){return this._hasScrollback&&this.lines.maxLength>this._rows},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"isCursorInViewport",{get:function(){var e=this.ybase+this.y-this.ydisp;return e>=0&&et.MAX_BUFFER_SIZE?t.MAX_BUFFER_SIZE:r},e.prototype.fillViewportRows=function(e){if(0===this.lines.length){void 0===e&&(e=n.DEFAULT_ATTR_DATA);for(var t=this._rows;t--;)this.lines.push(this.getBlankLine(e))}},e.prototype.clear=function(){this.ydisp=0,this.ybase=0,this.y=0,this.x=0,this.lines=new i.CircularList(this._getCorrectBufferLength(this._rows)),this.scrollTop=0,this.scrollBottom=this._rows-1,this.setupTabStops()},e.prototype.resize=function(e,t){var r=this.getNullCell(n.DEFAULT_ATTR_DATA),i=this._getCorrectBufferLength(t);if(i>this.lines.maxLength&&(this.lines.maxLength=i),this.lines.length>0){if(this._cols0&&this.lines.length<=this.ybase+this.y+s+1?(this.ybase--,s++,this.ydisp>0&&this.ydisp--):this.lines.push(new n.BufferLine(e,r)));else for(a=this._rows;a>t;a--)this.lines.length>t+this.ybase&&(this.lines.length>this.ybase+this.y+1?this.lines.pop():(this.ybase++,this.ydisp++));if(i0&&(this.lines.trimStart(c),this.ybase=Math.max(this.ybase-c,0),this.ydisp=Math.max(this.ydisp-c,0),this.savedY=Math.max(this.savedY-c,0)),this.lines.maxLength=i}this.x=Math.min(this.x,e-1),this.y=Math.min(this.y,t-1),s&&(this.y+=s),this.savedX=Math.min(this.savedX,e-1),this.scrollTop=0}if(this.scrollBottom=t-1,this._isReflowEnabled&&(this._reflow(e,t),this._cols>e))for(o=0;othis._cols?this._reflowLarger(e,t):this._reflowSmaller(e,t))},e.prototype._reflowLarger=function(e,t){var r=a.reflowLargerGetLinesToRemove(this.lines,this._cols,e,this.ybase+this.y,this.getNullCell(n.DEFAULT_ATTR_DATA));if(r.length>0){var i=a.reflowLargerCreateNewLayout(this.lines,r);a.reflowLargerApplyNewLayout(this.lines,i.layout),this._reflowLargerAdjustViewport(e,t,i.countRemoved)}},e.prototype._reflowLargerAdjustViewport=function(e,t,r){for(var i=this.getNullCell(n.DEFAULT_ATTR_DATA),o=r;o-- >0;)0===this.ybase?(this.y>0&&this.y--,this.lines.length=0;s--){var c=this.lines.get(s);if(!(!c||!c.isWrapped&&c.getTrimmedLength()<=e)){for(var l=[c];c.isWrapped&&s>0;)c=this.lines.get(--s),l.unshift(c);var h=this.ybase+this.y;if(!(h>=s&&h0&&(i.push({start:s+l.length+o,newLines:p}),o+=p.length),l.push.apply(l,p);var y=_.length-1,m=_[y];0===m&&(m=_[--y]);for(var b=l.length-d-1,C=f;b>=0;){var S=Math.min(C,m);if(l[y].copyCellsFrom(l[b],C-S,m-S,S,!0),0==(m-=S)&&(m=_[--y]),0==(C-=S)){b--;var w=Math.max(b,0);C=a.getWrappedLineTrimmedLength(l,w,this._cols)}}for(v=0;v0;)0===this.ybase?this.y0){var A=[],R=[];for(v=0;v=0;v--)if(T&&T.start>x+D){for(var O=T.newLines.length-1;O>=0;O--)this.lines.set(v--,T.newLines[O]);v++,A.push({index:x+1,amount:T.newLines.length}),D+=T.newLines.length,T=i[++k]}else this.lines.set(v,R[x--]);var P=0;for(v=A.length-1;v>=0;v--)A[v].index+=P,this.lines.onInsertEmitter.fire(A[v]),P+=A[v].amount;var M=Math.max(0,L+o-this.lines.maxLength);M>0&&this.lines.onTrimEmitter.fire(M)}},e.prototype.stringIndexToBufferIndex=function(e,t,r){for(void 0===r&&(r=!1);t;){var i=this.lines.get(e);if(!i)return[-1,-1];for(var n=r?i.getTrimmedLength():i.length,o=0;o0&&this.lines.get(t).isWrapped;)t--;for(;r+10;);return e>=this._cols?this._cols-1:e<0?0:e},e.prototype.nextStop=function(e){for(null==e&&(e=this.x);!this.tabs[++e]&&e=this._cols?this._cols-1:e<0?0:e},e.prototype.addMarker=function(e){var t=this,r=new c.Marker(e);return this.markers.push(r),r.register(this.lines.onTrim((function(e){r.line-=e,r.line<0&&r.dispose()}))),r.register(this.lines.onInsert((function(e){r.line>=e.index&&(r.line+=e.amount)}))),r.register(this.lines.onDelete((function(e){r.line>=e.index&&r.linee.index&&(r.line-=e.amount)}))),r.register(r.onDispose((function(){return t._removeMarker(r)}))),r},e.prototype._removeMarker=function(e){this.markers.splice(this.markers.indexOf(e),1)},e.prototype.iterator=function(e,t,r,i,n){return new f(this,e,t,r,i,n)},e}();t.Buffer=u;var f=function(){function e(e,t,r,i,n,o){void 0===r&&(r=0),void 0===i&&(i=e.lines.length),void 0===n&&(n=0),void 0===o&&(o=0),this._buffer=e,this._trimRight=t,this._startIndex=r,this._endIndex=i,this._startOverscan=n,this._endOverscan=o,this._startIndex<0&&(this._startIndex=0),this._endIndex>this._buffer.lines.length&&(this._endIndex=this._buffer.lines.length),this._current=this._startIndex}return e.prototype.hasNext=function(){return this._currentthis._endIndex+this._endOverscan&&(e.last=this._endIndex+this._endOverscan),e.first=Math.max(e.first,0),e.last=Math.min(e.last,this._buffer.lines.length);for(var t="",r=e.first;r<=e.last;++r)t+=this._buffer.translateBufferLineToString(r,this._trimRight);return this._current=e.last+1,{range:e,content:t}},e}();t.BufferStringIterator=f},8437:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.BufferLine=t.DEFAULT_ATTR_DATA=void 0;var i=r(482),n=r(643),o=r(511),s=r(3734);t.DEFAULT_ATTR_DATA=Object.freeze(new s.AttributeData);var a=function(){function e(e,t,r){void 0===r&&(r=!1),this.isWrapped=r,this._combined={},this._extendedAttrs={},this._data=new Uint32Array(3*e);for(var i=t||o.CellData.fromCharData([0,n.NULL_CELL_CHAR,n.NULL_CELL_WIDTH,n.NULL_CELL_CODE]),s=0;s>22,2097152&t?this._combined[e].charCodeAt(this._combined[e].length-1):r]},e.prototype.set=function(e,t){this._data[3*e+1]=t[n.CHAR_DATA_ATTR_INDEX],t[n.CHAR_DATA_CHAR_INDEX].length>1?(this._combined[e]=t[1],this._data[3*e+0]=2097152|e|t[n.CHAR_DATA_WIDTH_INDEX]<<22):this._data[3*e+0]=t[n.CHAR_DATA_CHAR_INDEX].charCodeAt(0)|t[n.CHAR_DATA_WIDTH_INDEX]<<22},e.prototype.getWidth=function(e){return this._data[3*e+0]>>22},e.prototype.hasWidth=function(e){return 12582912&this._data[3*e+0]},e.prototype.getFg=function(e){return this._data[3*e+1]},e.prototype.getBg=function(e){return this._data[3*e+2]},e.prototype.hasContent=function(e){return 4194303&this._data[3*e+0]},e.prototype.getCodePoint=function(e){var t=this._data[3*e+0];return 2097152&t?this._combined[e].charCodeAt(this._combined[e].length-1):2097151&t},e.prototype.isCombined=function(e){return 2097152&this._data[3*e+0]},e.prototype.getString=function(e){var t=this._data[3*e+0];return 2097152&t?this._combined[e]:2097151&t?i.stringFromCodePoint(2097151&t):""},e.prototype.loadCell=function(e,t){var r=3*e;return t.content=this._data[r+0],t.fg=this._data[r+1],t.bg=this._data[r+2],2097152&t.content&&(t.combinedData=this._combined[e]),268435456&t.bg&&(t.extended=this._extendedAttrs[e]),t},e.prototype.setCell=function(e,t){2097152&t.content&&(this._combined[e]=t.combinedData),268435456&t.bg&&(this._extendedAttrs[e]=t.extended),this._data[3*e+0]=t.content,this._data[3*e+1]=t.fg,this._data[3*e+2]=t.bg},e.prototype.setCellFromCodePoint=function(e,t,r,i,n,o){268435456&n&&(this._extendedAttrs[e]=o),this._data[3*e+0]=t|r<<22,this._data[3*e+1]=i,this._data[3*e+2]=n},e.prototype.addCodepointToCell=function(e,t){var r=this._data[3*e+0];2097152&r?this._combined[e]+=i.stringFromCodePoint(t):(2097151&r?(this._combined[e]=i.stringFromCodePoint(2097151&r)+i.stringFromCodePoint(t),r&=-2097152,r|=2097152):r=t|1<<22,this._data[3*e+0]=r)},e.prototype.insertCells=function(e,t,r,i){if((e%=this.length)&&2===this.getWidth(e-1)&&this.setCellFromCodePoint(e-1,0,1,(null==i?void 0:i.fg)||0,(null==i?void 0:i.bg)||0,(null==i?void 0:i.extended)||new s.ExtendedAttrs),t=0;--a)this.setCell(e+t+a,this.loadCell(e+a,n));for(a=0;athis.length){var r=new Uint32Array(3*e);this.length&&(3*e=e&&delete this._combined[o]}}else this._data=new Uint32Array(0),this._combined={};this.length=e}},e.prototype.fill=function(e){this._combined={},this._extendedAttrs={};for(var t=0;t=0;--e)if(4194303&this._data[3*e+0])return e+(this._data[3*e+0]>>22);return 0},e.prototype.copyCellsFrom=function(e,t,r,i,n){var o=e._data;if(n)for(var s=i-1;s>=0;s--)for(var a=0;a<3;a++)this._data[3*(r+s)+a]=o[3*(t+s)+a];else for(s=0;s=t&&(this._combined[l-t+r]=e._combined[l])}},e.prototype.translateToString=function(e,t,r){void 0===e&&(e=!1),void 0===t&&(t=0),void 0===r&&(r=this.length),e&&(r=Math.min(r,this.getTrimmedLength()));for(var o="";t>22||1}return o},e}();t.BufferLine=a},4841:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.getRangeLength=void 0,t.getRangeLength=function(e,t){if(e.start.y===e.end.y)return e.end.x-e.start.x+1;if(e.start.y>e.end.y)throw new Error("Buffer range end ("+e.end.x+", "+e.end.y+") cannot be before start ("+e.start.x+", "+e.start.y+")");return t*(e.end.y-e.start.y-1)+t-e.start.x+e.end.x}},4634:(e,t)=>{function r(e,t,r){if(t===e.length-1)return e[t].getTrimmedLength();var i=!e[t].hasContent(r-1)&&1===e[t].getWidth(r-1),n=2===e[t+1].getWidth(0);return i&&n?r-1:r}Object.defineProperty(t,"__esModule",{value:!0}),t.getWrappedLineTrimmedLength=t.reflowSmallerGetNewLineLengths=t.reflowLargerApplyNewLayout=t.reflowLargerCreateNewLayout=t.reflowLargerGetLinesToRemove=void 0,t.reflowLargerGetLinesToRemove=function(e,t,i,n,o){for(var s=[],a=0;a=a&&n0&&(b>u||0===h[b].getTrimmedLength());b--)m++;m>0&&(s.push(a+h.length-m),s.push(m)),a+=h.length-1}}}return s},t.reflowLargerCreateNewLayout=function(e,t){for(var r=[],i=0,n=t[i],o=0,s=0;sl&&(s-=l,a++);var h=2===e[a].getWidth(s-1);h&&s--;var u=h?i-1:i;n.push(u),c+=u}return n},t.getWrappedLineTrimmedLength=r},5295:function(e,t,r){var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});Object.defineProperty(t,"__esModule",{value:!0}),t.BufferSet=void 0;var o=r(9092),s=r(8460),a=function(e){function t(t,r){var i=e.call(this)||this;return i._optionsService=t,i._bufferService=r,i._onBufferActivate=i.register(new s.EventEmitter),i.reset(),i}return n(t,e),Object.defineProperty(t.prototype,"onBufferActivate",{get:function(){return this._onBufferActivate.event},enumerable:!1,configurable:!0}),t.prototype.reset=function(){this._normal=new o.Buffer(!0,this._optionsService,this._bufferService),this._normal.fillViewportRows(),this._alt=new o.Buffer(!1,this._optionsService,this._bufferService),this._activeBuffer=this._normal,this.setupTabStops()},Object.defineProperty(t.prototype,"alt",{get:function(){return this._alt},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"active",{get:function(){return this._activeBuffer},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"normal",{get:function(){return this._normal},enumerable:!1,configurable:!0}),t.prototype.activateNormalBuffer=function(){this._activeBuffer!==this._normal&&(this._normal.x=this._alt.x,this._normal.y=this._alt.y,this._alt.clear(),this._activeBuffer=this._normal,this._onBufferActivate.fire({activeBuffer:this._normal,inactiveBuffer:this._alt}))},t.prototype.activateAltBuffer=function(e){this._activeBuffer!==this._alt&&(this._alt.fillViewportRows(e),this._alt.x=this._normal.x,this._alt.y=this._normal.y,this._activeBuffer=this._alt,this._onBufferActivate.fire({activeBuffer:this._alt,inactiveBuffer:this._normal}))},t.prototype.resize=function(e,t){this._normal.resize(e,t),this._alt.resize(e,t)},t.prototype.setupTabStops=function(e){this._normal.setupTabStops(e),this._alt.setupTabStops(e)},t}(r(844).Disposable);t.BufferSet=a},511:function(e,t,r){var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});Object.defineProperty(t,"__esModule",{value:!0}),t.CellData=void 0;var o=r(482),s=r(643),a=r(3734),c=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.content=0,t.fg=0,t.bg=0,t.extended=new a.ExtendedAttrs,t.combinedData="",t}return n(t,e),t.fromCharData=function(e){var r=new t;return r.setFromCharData(e),r},t.prototype.isCombined=function(){return 2097152&this.content},t.prototype.getWidth=function(){return this.content>>22},t.prototype.getChars=function(){return 2097152&this.content?this.combinedData:2097151&this.content?o.stringFromCodePoint(2097151&this.content):""},t.prototype.getCode=function(){return this.isCombined()?this.combinedData.charCodeAt(this.combinedData.length-1):2097151&this.content},t.prototype.setFromCharData=function(e){this.fg=e[s.CHAR_DATA_ATTR_INDEX],this.bg=0;var t=!1;if(e[s.CHAR_DATA_CHAR_INDEX].length>2)t=!0;else if(2===e[s.CHAR_DATA_CHAR_INDEX].length){var r=e[s.CHAR_DATA_CHAR_INDEX].charCodeAt(0);if(55296<=r&&r<=56319){var i=e[s.CHAR_DATA_CHAR_INDEX].charCodeAt(1);56320<=i&&i<=57343?this.content=1024*(r-55296)+i-56320+65536|e[s.CHAR_DATA_WIDTH_INDEX]<<22:t=!0}else t=!0}else this.content=e[s.CHAR_DATA_CHAR_INDEX].charCodeAt(0)|e[s.CHAR_DATA_WIDTH_INDEX]<<22;t&&(this.combinedData=e[s.CHAR_DATA_CHAR_INDEX],this.content=2097152|e[s.CHAR_DATA_WIDTH_INDEX]<<22)},t.prototype.getAsCharData=function(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]},t}(a.AttributeData);t.CellData=c},643:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.WHITESPACE_CELL_CODE=t.WHITESPACE_CELL_WIDTH=t.WHITESPACE_CELL_CHAR=t.NULL_CELL_CODE=t.NULL_CELL_WIDTH=t.NULL_CELL_CHAR=t.CHAR_DATA_CODE_INDEX=t.CHAR_DATA_WIDTH_INDEX=t.CHAR_DATA_CHAR_INDEX=t.CHAR_DATA_ATTR_INDEX=t.DEFAULT_ATTR=t.DEFAULT_COLOR=void 0,t.DEFAULT_COLOR=256,t.DEFAULT_ATTR=256|t.DEFAULT_COLOR<<9,t.CHAR_DATA_ATTR_INDEX=0,t.CHAR_DATA_CHAR_INDEX=1,t.CHAR_DATA_WIDTH_INDEX=2,t.CHAR_DATA_CODE_INDEX=3,t.NULL_CELL_CHAR="",t.NULL_CELL_WIDTH=1,t.NULL_CELL_CODE=0,t.WHITESPACE_CELL_CHAR=" ",t.WHITESPACE_CELL_WIDTH=1,t.WHITESPACE_CELL_CODE=32},4863:function(e,t,r){var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});Object.defineProperty(t,"__esModule",{value:!0}),t.Marker=void 0;var o=r(8460),s=function(e){function t(r){var i=e.call(this)||this;return i.line=r,i._id=t._nextId++,i.isDisposed=!1,i._onDispose=new o.EventEmitter,i}return n(t,e),Object.defineProperty(t.prototype,"id",{get:function(){return this._id},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onDispose",{get:function(){return this._onDispose.event},enumerable:!1,configurable:!0}),t.prototype.dispose=function(){this.isDisposed||(this.isDisposed=!0,this.line=-1,this._onDispose.fire(),e.prototype.dispose.call(this))},t._nextId=1,t}(r(844).Disposable);t.Marker=s},7116:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.DEFAULT_CHARSET=t.CHARSETS=void 0,t.CHARSETS={},t.DEFAULT_CHARSET=t.CHARSETS.B,t.CHARSETS[0]={"`":"◆",a:"▒",b:"␉",c:"␌",d:"␍",e:"␊",f:"°",g:"±",h:"␤",i:"␋",j:"┘",k:"┐",l:"┌",m:"└",n:"┼",o:"⎺",p:"⎻",q:"─",r:"⎼",s:"⎽",t:"├",u:"┤",v:"┴",w:"┬",x:"│",y:"≤",z:"≥","{":"π","|":"≠","}":"£","~":"·"},t.CHARSETS.A={"#":"£"},t.CHARSETS.B=void 0,t.CHARSETS[4]={"#":"£","@":"¾","[":"ij","\\":"½","]":"|","{":"¨","|":"f","}":"¼","~":"´"},t.CHARSETS.C=t.CHARSETS[5]={"[":"Ä","\\":"Ö","]":"Å","^":"Ü","`":"é","{":"ä","|":"ö","}":"å","~":"ü"},t.CHARSETS.R={"#":"£","@":"à","[":"°","\\":"ç","]":"§","{":"é","|":"ù","}":"è","~":"¨"},t.CHARSETS.Q={"@":"à","[":"â","\\":"ç","]":"ê","^":"î","`":"ô","{":"é","|":"ù","}":"è","~":"û"},t.CHARSETS.K={"@":"§","[":"Ä","\\":"Ö","]":"Ü","{":"ä","|":"ö","}":"ü","~":"ß"},t.CHARSETS.Y={"#":"£","@":"§","[":"°","\\":"ç","]":"é","`":"ù","{":"à","|":"ò","}":"è","~":"ì"},t.CHARSETS.E=t.CHARSETS[6]={"@":"Ä","[":"Æ","\\":"Ø","]":"Å","^":"Ü","`":"ä","{":"æ","|":"ø","}":"å","~":"ü"},t.CHARSETS.Z={"#":"£","@":"§","[":"¡","\\":"Ñ","]":"¿","{":"°","|":"ñ","}":"ç"},t.CHARSETS.H=t.CHARSETS[7]={"@":"É","[":"Ä","\\":"Ö","]":"Å","^":"Ü","`":"é","{":"ä","|":"ö","}":"å","~":"ü"},t.CHARSETS["="]={"#":"ù","@":"à","[":"é","\\":"ç","]":"ê","^":"î",_:"è","`":"ô","{":"ä","|":"ö","}":"ü","~":"û"}},2584:(e,t)=>{var r,i;Object.defineProperty(t,"__esModule",{value:!0}),t.C1=t.C0=void 0,(i=t.C0||(t.C0={})).NUL="\0",i.SOH="",i.STX="",i.ETX="",i.EOT="",i.ENQ="",i.ACK="",i.BEL="",i.BS="\b",i.HT="\t",i.LF="\n",i.VT="\v",i.FF="\f",i.CR="\r",i.SO="",i.SI="",i.DLE="",i.DC1="",i.DC2="",i.DC3="",i.DC4="",i.NAK="",i.SYN="",i.ETB="",i.CAN="",i.EM="",i.SUB="",i.ESC="",i.FS="",i.GS="",i.RS="",i.US="",i.SP=" ",i.DEL="",(r=t.C1||(t.C1={})).PAD="€",r.HOP="",r.BPH="‚",r.NBH="ƒ",r.IND="„",r.NEL="…",r.SSA="†",r.ESA="‡",r.HTS="ˆ",r.HTJ="‰",r.VTS="Š",r.PLD="‹",r.PLU="Œ",r.RI="",r.SS2="Ž",r.SS3="",r.DCS="",r.PU1="‘",r.PU2="’",r.STS="“",r.CCH="”",r.MW="•",r.SPA="–",r.EPA="—",r.SOS="˜",r.SGCI="™",r.SCI="š",r.CSI="›",r.ST="œ",r.OSC="",r.PM="ž",r.APC="Ÿ"},7399:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.evaluateKeyboardEvent=void 0;var i=r(2584),n={48:["0",")"],49:["1","!"],50:["2","@"],51:["3","#"],52:["4","$"],53:["5","%"],54:["6","^"],55:["7","&"],56:["8","*"],57:["9","("],186:[";",":"],187:["=","+"],188:[",","<"],189:["-","_"],190:[".",">"],191:["/","?"],192:["`","~"],219:["[","{"],220:["\\","|"],221:["]","}"],222:["'",'"']};t.evaluateKeyboardEvent=function(e,t,r,o){var s={type:0,cancel:!1,key:void 0},a=(e.shiftKey?1:0)|(e.altKey?2:0)|(e.ctrlKey?4:0)|(e.metaKey?8:0);switch(e.keyCode){case 0:"UIKeyInputUpArrow"===e.key?s.key=t?i.C0.ESC+"OA":i.C0.ESC+"[A":"UIKeyInputLeftArrow"===e.key?s.key=t?i.C0.ESC+"OD":i.C0.ESC+"[D":"UIKeyInputRightArrow"===e.key?s.key=t?i.C0.ESC+"OC":i.C0.ESC+"[C":"UIKeyInputDownArrow"===e.key&&(s.key=t?i.C0.ESC+"OB":i.C0.ESC+"[B");break;case 8:if(e.shiftKey){s.key=i.C0.BS;break}if(e.altKey){s.key=i.C0.ESC+i.C0.DEL;break}s.key=i.C0.DEL;break;case 9:if(e.shiftKey){s.key=i.C0.ESC+"[Z";break}s.key=i.C0.HT,s.cancel=!0;break;case 13:s.key=e.altKey?i.C0.ESC+i.C0.CR:i.C0.CR,s.cancel=!0;break;case 27:s.key=i.C0.ESC,e.altKey&&(s.key=i.C0.ESC+i.C0.ESC),s.cancel=!0;break;case 37:if(e.metaKey)break;a?(s.key=i.C0.ESC+"[1;"+(a+1)+"D",s.key===i.C0.ESC+"[1;3D"&&(s.key=i.C0.ESC+(r?"b":"[1;5D"))):s.key=t?i.C0.ESC+"OD":i.C0.ESC+"[D";break;case 39:if(e.metaKey)break;a?(s.key=i.C0.ESC+"[1;"+(a+1)+"C",s.key===i.C0.ESC+"[1;3C"&&(s.key=i.C0.ESC+(r?"f":"[1;5C"))):s.key=t?i.C0.ESC+"OC":i.C0.ESC+"[C";break;case 38:if(e.metaKey)break;a?(s.key=i.C0.ESC+"[1;"+(a+1)+"A",r||s.key!==i.C0.ESC+"[1;3A"||(s.key=i.C0.ESC+"[1;5A")):s.key=t?i.C0.ESC+"OA":i.C0.ESC+"[A";break;case 40:if(e.metaKey)break;a?(s.key=i.C0.ESC+"[1;"+(a+1)+"B",r||s.key!==i.C0.ESC+"[1;3B"||(s.key=i.C0.ESC+"[1;5B")):s.key=t?i.C0.ESC+"OB":i.C0.ESC+"[B";break;case 45:e.shiftKey||e.ctrlKey||(s.key=i.C0.ESC+"[2~");break;case 46:s.key=a?i.C0.ESC+"[3;"+(a+1)+"~":i.C0.ESC+"[3~";break;case 36:s.key=a?i.C0.ESC+"[1;"+(a+1)+"H":t?i.C0.ESC+"OH":i.C0.ESC+"[H";break;case 35:s.key=a?i.C0.ESC+"[1;"+(a+1)+"F":t?i.C0.ESC+"OF":i.C0.ESC+"[F";break;case 33:e.shiftKey?s.type=2:s.key=i.C0.ESC+"[5~";break;case 34:e.shiftKey?s.type=3:s.key=i.C0.ESC+"[6~";break;case 112:s.key=a?i.C0.ESC+"[1;"+(a+1)+"P":i.C0.ESC+"OP";break;case 113:s.key=a?i.C0.ESC+"[1;"+(a+1)+"Q":i.C0.ESC+"OQ";break;case 114:s.key=a?i.C0.ESC+"[1;"+(a+1)+"R":i.C0.ESC+"OR";break;case 115:s.key=a?i.C0.ESC+"[1;"+(a+1)+"S":i.C0.ESC+"OS";break;case 116:s.key=a?i.C0.ESC+"[15;"+(a+1)+"~":i.C0.ESC+"[15~";break;case 117:s.key=a?i.C0.ESC+"[17;"+(a+1)+"~":i.C0.ESC+"[17~";break;case 118:s.key=a?i.C0.ESC+"[18;"+(a+1)+"~":i.C0.ESC+"[18~";break;case 119:s.key=a?i.C0.ESC+"[19;"+(a+1)+"~":i.C0.ESC+"[19~";break;case 120:s.key=a?i.C0.ESC+"[20;"+(a+1)+"~":i.C0.ESC+"[20~";break;case 121:s.key=a?i.C0.ESC+"[21;"+(a+1)+"~":i.C0.ESC+"[21~";break;case 122:s.key=a?i.C0.ESC+"[23;"+(a+1)+"~":i.C0.ESC+"[23~";break;case 123:s.key=a?i.C0.ESC+"[24;"+(a+1)+"~":i.C0.ESC+"[24~";break;default:if(!e.ctrlKey||e.shiftKey||e.altKey||e.metaKey)if(r&&!o||!e.altKey||e.metaKey)!r||e.altKey||e.ctrlKey||e.shiftKey||!e.metaKey?e.key&&!e.ctrlKey&&!e.altKey&&!e.metaKey&&e.keyCode>=48&&1===e.key.length?s.key=e.key:e.key&&e.ctrlKey&&"_"===e.key&&(s.key=i.C0.US):65===e.keyCode&&(s.type=1);else{var c=n[e.keyCode],l=c&&c[e.shiftKey?1:0];if(l)s.key=i.C0.ESC+l;else if(e.keyCode>=65&&e.keyCode<=90){var h=e.ctrlKey?e.keyCode-64:e.keyCode+32;s.key=i.C0.ESC+String.fromCharCode(h)}}else e.keyCode>=65&&e.keyCode<=90?s.key=String.fromCharCode(e.keyCode-64):32===e.keyCode?s.key=i.C0.NUL:e.keyCode>=51&&e.keyCode<=55?s.key=String.fromCharCode(e.keyCode-51+27):56===e.keyCode?s.key=i.C0.DEL:219===e.keyCode?s.key=i.C0.ESC:220===e.keyCode?s.key=i.C0.FS:221===e.keyCode&&(s.key=i.C0.GS)}return s}},482:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.Utf8ToUtf32=t.StringToUtf32=t.utf32ToString=t.stringFromCodePoint=void 0,t.stringFromCodePoint=function(e){return e>65535?(e-=65536,String.fromCharCode(55296+(e>>10))+String.fromCharCode(e%1024+56320)):String.fromCharCode(e)},t.utf32ToString=function(e,t,r){void 0===t&&(t=0),void 0===r&&(r=e.length);for(var i="",n=t;n65535?(o-=65536,i+=String.fromCharCode(55296+(o>>10))+String.fromCharCode(o%1024+56320)):i+=String.fromCharCode(o)}return i};var r=function(){function e(){this._interim=0}return e.prototype.clear=function(){this._interim=0},e.prototype.decode=function(e,t){var r=e.length;if(!r)return 0;var i=0,n=0;this._interim&&(56320<=(a=e.charCodeAt(n++))&&a<=57343?t[i++]=1024*(this._interim-55296)+a-56320+65536:(t[i++]=this._interim,t[i++]=a),this._interim=0);for(var o=n;o=r)return this._interim=s,i;var a;56320<=(a=e.charCodeAt(o))&&a<=57343?t[i++]=1024*(s-55296)+a-56320+65536:(t[i++]=s,t[i++]=a)}else 65279!==s&&(t[i++]=s)}return i},e}();t.StringToUtf32=r;var i=function(){function e(){this.interim=new Uint8Array(3)}return e.prototype.clear=function(){this.interim.fill(0)},e.prototype.decode=function(e,t){var r=e.length;if(!r)return 0;var i,n,o,s,a=0,c=0,l=0;if(this.interim[0]){var h=!1,u=this.interim[0];u&=192==(224&u)?31:224==(240&u)?15:7;for(var f=0,_=void 0;(_=63&this.interim[++f])&&f<4;)u<<=6,u|=_;for(var d=192==(224&this.interim[0])?2:224==(240&this.interim[0])?3:4,p=d-f;l=r)return 0;if(128!=(192&(_=e[l++]))){l--,h=!0;break}this.interim[f++]=_,u<<=6,u|=63&_}h||(2===d?u<128?l--:t[a++]=u:3===d?u<2048||u>=55296&&u<=57343||65279===u||(t[a++]=u):u<65536||u>1114111||(t[a++]=u)),this.interim.fill(0)}for(var v=r-4,g=l;g=r)return this.interim[0]=i,a;if(128!=(192&(n=e[g++]))){g--;continue}if((c=(31&i)<<6|63&n)<128){g--;continue}t[a++]=c}else if(224==(240&i)){if(g>=r)return this.interim[0]=i,a;if(128!=(192&(n=e[g++]))){g--;continue}if(g>=r)return this.interim[0]=i,this.interim[1]=n,a;if(128!=(192&(o=e[g++]))){g--;continue}if((c=(15&i)<<12|(63&n)<<6|63&o)<2048||c>=55296&&c<=57343||65279===c)continue;t[a++]=c}else if(240==(248&i)){if(g>=r)return this.interim[0]=i,a;if(128!=(192&(n=e[g++]))){g--;continue}if(g>=r)return this.interim[0]=i,this.interim[1]=n,a;if(128!=(192&(o=e[g++]))){g--;continue}if(g>=r)return this.interim[0]=i,this.interim[1]=n,this.interim[2]=o,a;if(128!=(192&(s=e[g++]))){g--;continue}if((c=(7&i)<<18|(63&n)<<12|(63&o)<<6|63&s)<65536||c>1114111)continue;t[a++]=c}}return a},e}();t.Utf8ToUtf32=i},225:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.UnicodeV6=void 0;var i,n=r(8273),o=[[768,879],[1155,1158],[1160,1161],[1425,1469],[1471,1471],[1473,1474],[1476,1477],[1479,1479],[1536,1539],[1552,1557],[1611,1630],[1648,1648],[1750,1764],[1767,1768],[1770,1773],[1807,1807],[1809,1809],[1840,1866],[1958,1968],[2027,2035],[2305,2306],[2364,2364],[2369,2376],[2381,2381],[2385,2388],[2402,2403],[2433,2433],[2492,2492],[2497,2500],[2509,2509],[2530,2531],[2561,2562],[2620,2620],[2625,2626],[2631,2632],[2635,2637],[2672,2673],[2689,2690],[2748,2748],[2753,2757],[2759,2760],[2765,2765],[2786,2787],[2817,2817],[2876,2876],[2879,2879],[2881,2883],[2893,2893],[2902,2902],[2946,2946],[3008,3008],[3021,3021],[3134,3136],[3142,3144],[3146,3149],[3157,3158],[3260,3260],[3263,3263],[3270,3270],[3276,3277],[3298,3299],[3393,3395],[3405,3405],[3530,3530],[3538,3540],[3542,3542],[3633,3633],[3636,3642],[3655,3662],[3761,3761],[3764,3769],[3771,3772],[3784,3789],[3864,3865],[3893,3893],[3895,3895],[3897,3897],[3953,3966],[3968,3972],[3974,3975],[3984,3991],[3993,4028],[4038,4038],[4141,4144],[4146,4146],[4150,4151],[4153,4153],[4184,4185],[4448,4607],[4959,4959],[5906,5908],[5938,5940],[5970,5971],[6002,6003],[6068,6069],[6071,6077],[6086,6086],[6089,6099],[6109,6109],[6155,6157],[6313,6313],[6432,6434],[6439,6440],[6450,6450],[6457,6459],[6679,6680],[6912,6915],[6964,6964],[6966,6970],[6972,6972],[6978,6978],[7019,7027],[7616,7626],[7678,7679],[8203,8207],[8234,8238],[8288,8291],[8298,8303],[8400,8431],[12330,12335],[12441,12442],[43014,43014],[43019,43019],[43045,43046],[64286,64286],[65024,65039],[65056,65059],[65279,65279],[65529,65531]],s=[[68097,68099],[68101,68102],[68108,68111],[68152,68154],[68159,68159],[119143,119145],[119155,119170],[119173,119179],[119210,119213],[119362,119364],[917505,917505],[917536,917631],[917760,917999]],a=function(){function e(){if(this.version="6",!i){i=new Uint8Array(65536),n.fill(i,1),i[0]=0,n.fill(i,0,1,32),n.fill(i,0,127,160),n.fill(i,2,4352,4448),i[9001]=2,i[9002]=2,n.fill(i,2,11904,42192),i[12351]=1,n.fill(i,2,44032,55204),n.fill(i,2,63744,64256),n.fill(i,2,65040,65050),n.fill(i,2,65072,65136),n.fill(i,2,65280,65377),n.fill(i,2,65504,65511);for(var e=0;et[n][1])return!1;for(;n>=i;)if(e>t[r=i+n>>1][1])i=r+1;else{if(!(e=131072&&e<=196605||e>=196608&&e<=262141?2:1},e}();t.UnicodeV6=a},5981:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.WriteBuffer=void 0;var r="undefined"==typeof queueMicrotask?function(e){Promise.resolve().then(e)}:queueMicrotask,i=function(){function e(e){this._action=e,this._writeBuffer=[],this._callbacks=[],this._pendingData=0,this._bufferOffset=0,this._isSyncWriting=!1,this._syncCalls=0}return e.prototype.writeSync=function(e,t){if(void 0!==t&&this._syncCalls>t)this._syncCalls=0;else if(this._pendingData+=e.length,this._writeBuffer.push(e),this._callbacks.push(void 0),this._syncCalls++,!this._isSyncWriting){var r;for(this._isSyncWriting=!0;r=this._writeBuffer.shift();){this._action(r);var i=this._callbacks.shift();i&&i()}this._pendingData=0,this._bufferOffset=2147483647,this._isSyncWriting=!1,this._syncCalls=0}},e.prototype.write=function(e,t){var r=this;if(this._pendingData>5e7)throw new Error("write data discarded, use flow control to avoid losing data");this._writeBuffer.length||(this._bufferOffset=0,setTimeout((function(){return r._innerWrite()}))),this._pendingData+=e.length,this._writeBuffer.push(e),this._callbacks.push(t)},e.prototype._innerWrite=function(e,t){var i=this;void 0===e&&(e=0),void 0===t&&(t=!0);for(var n=e||Date.now();this._writeBuffer.length>this._bufferOffset;){var o=this._writeBuffer[this._bufferOffset],s=this._action(o,t);if(s)return void s.catch((function(e){return r((function(){throw e})),Promise.resolve(!1)})).then((function(e){return Date.now()-n>=12?setTimeout((function(){return i._innerWrite(0,e)})):i._innerWrite(n,e)}));var a=this._callbacks[this._bufferOffset];if(a&&a(),this._bufferOffset++,this._pendingData-=o.length,Date.now()-n>=12)break}this._writeBuffer.length>this._bufferOffset?(this._bufferOffset>50&&(this._writeBuffer=this._writeBuffer.slice(this._bufferOffset),this._callbacks=this._callbacks.slice(this._bufferOffset),this._bufferOffset=0),setTimeout((function(){return i._innerWrite()}))):(this._writeBuffer.length=0,this._callbacks.length=0,this._pendingData=0,this._bufferOffset=0)},e}();t.WriteBuffer=i},5770:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.PAYLOAD_LIMIT=void 0,t.PAYLOAD_LIMIT=1e7},6351:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.DcsHandler=t.DcsParser=void 0;var i=r(482),n=r(8742),o=r(5770),s=[],a=function(){function e(){this._handlers=Object.create(null),this._active=s,this._ident=0,this._handlerFb=function(){},this._stack={paused:!1,loopPosition:0,fallThrough:!1}}return e.prototype.dispose=function(){this._handlers=Object.create(null),this._handlerFb=function(){},this._active=s},e.prototype.registerHandler=function(e,t){void 0===this._handlers[e]&&(this._handlers[e]=[]);var r=this._handlers[e];return r.push(t),{dispose:function(){var e=r.indexOf(t);-1!==e&&r.splice(e,1)}}},e.prototype.clearHandler=function(e){this._handlers[e]&&delete this._handlers[e]},e.prototype.setHandlerFallback=function(e){this._handlerFb=e},e.prototype.reset=function(){if(this._active.length)for(var e=this._stack.paused?this._stack.loopPosition-1:this._active.length-1;e>=0;--e)this._active[e].unhook(!1);this._stack.paused=!1,this._active=s,this._ident=0},e.prototype.hook=function(e,t){if(this.reset(),this._ident=e,this._active=this._handlers[e]||s,this._active.length)for(var r=this._active.length-1;r>=0;r--)this._active[r].hook(t);else this._handlerFb(this._ident,"HOOK",t)},e.prototype.put=function(e,t,r){if(this._active.length)for(var n=this._active.length-1;n>=0;n--)this._active[n].put(e,t,r);else this._handlerFb(this._ident,"PUT",i.utf32ToString(e,t,r))},e.prototype.unhook=function(e,t){if(void 0===t&&(t=!0),this._active.length){var r=!1,i=this._active.length-1,n=!1;if(this._stack.paused&&(i=this._stack.loopPosition-1,r=t,n=this._stack.fallThrough,this._stack.paused=!1),!n&&!1===r){for(;i>=0&&!0!==(r=this._active[i].unhook(e));i--)if(r instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=i,this._stack.fallThrough=!1,r;i--}for(;i>=0;i--)if((r=this._active[i].unhook(!1))instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=i,this._stack.fallThrough=!0,r}else this._handlerFb(this._ident,"UNHOOK",e);this._active=s,this._ident=0},e}();t.DcsParser=a;var c=new n.Params;c.addParam(0);var l=function(){function e(e){this._handler=e,this._data="",this._params=c,this._hitLimit=!1}return e.prototype.hook=function(e){this._params=e.length>1||e.params[0]?e.clone():c,this._data="",this._hitLimit=!1},e.prototype.put=function(e,t,r){this._hitLimit||(this._data+=i.utf32ToString(e,t,r),this._data.length>o.PAYLOAD_LIMIT&&(this._data="",this._hitLimit=!0))},e.prototype.unhook=function(e){var t=this,r=!1;if(this._hitLimit)r=!1;else if(e&&(r=this._handler(this._data,this._params))instanceof Promise)return r.then((function(e){return t._params=c,t._data="",t._hitLimit=!1,e}));return this._params=c,this._data="",this._hitLimit=!1,r},e}();t.DcsHandler=l},2015:function(e,t,r){var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});Object.defineProperty(t,"__esModule",{value:!0}),t.EscapeSequenceParser=t.VT500_TRANSITION_TABLE=t.TransitionTable=void 0;var o=r(844),s=r(8273),a=r(8742),c=r(6242),l=r(6351),h=function(){function e(e){this.table=new Uint8Array(e)}return e.prototype.setDefault=function(e,t){s.fill(this.table,e<<4|t)},e.prototype.add=function(e,t,r,i){this.table[t<<8|e]=r<<4|i},e.prototype.addMany=function(e,t,r,i){for(var n=0;n1)throw new Error("only one byte as prefix supported");if((r=e.prefix.charCodeAt(0))&&60>r||r>63)throw new Error("prefix must be in range 0x3c .. 0x3f")}if(e.intermediates){if(e.intermediates.length>2)throw new Error("only two bytes as intermediates are supported");for(var i=0;in||n>47)throw new Error("intermediate must be in range 0x20 .. 0x2f");r<<=8,r|=n}}if(1!==e.final.length)throw new Error("final must be a single byte");var o=e.final.charCodeAt(0);if(t[0]>o||o>t[1])throw new Error("final must be in range "+t[0]+" .. "+t[1]);return(r<<=8)|o},r.prototype.identToString=function(e){for(var t=[];e;)t.push(String.fromCharCode(255&e)),e>>=8;return t.reverse().join("")},r.prototype.dispose=function(){this._csiHandlers=Object.create(null),this._executeHandlers=Object.create(null),this._escHandlers=Object.create(null),this._oscParser.dispose(),this._dcsParser.dispose()},r.prototype.setPrintHandler=function(e){this._printHandler=e},r.prototype.clearPrintHandler=function(){this._printHandler=this._printHandlerFb},r.prototype.registerEscHandler=function(e,t){var r=this._identifier(e,[48,126]);void 0===this._escHandlers[r]&&(this._escHandlers[r]=[]);var i=this._escHandlers[r];return i.push(t),{dispose:function(){var e=i.indexOf(t);-1!==e&&i.splice(e,1)}}},r.prototype.clearEscHandler=function(e){this._escHandlers[this._identifier(e,[48,126])]&&delete this._escHandlers[this._identifier(e,[48,126])]},r.prototype.setEscHandlerFallback=function(e){this._escHandlerFb=e},r.prototype.setExecuteHandler=function(e,t){this._executeHandlers[e.charCodeAt(0)]=t},r.prototype.clearExecuteHandler=function(e){this._executeHandlers[e.charCodeAt(0)]&&delete this._executeHandlers[e.charCodeAt(0)]},r.prototype.setExecuteHandlerFallback=function(e){this._executeHandlerFb=e},r.prototype.registerCsiHandler=function(e,t){var r=this._identifier(e);void 0===this._csiHandlers[r]&&(this._csiHandlers[r]=[]);var i=this._csiHandlers[r];return i.push(t),{dispose:function(){var e=i.indexOf(t);-1!==e&&i.splice(e,1)}}},r.prototype.clearCsiHandler=function(e){this._csiHandlers[this._identifier(e)]&&delete this._csiHandlers[this._identifier(e)]},r.prototype.setCsiHandlerFallback=function(e){this._csiHandlerFb=e},r.prototype.registerDcsHandler=function(e,t){return this._dcsParser.registerHandler(this._identifier(e),t)},r.prototype.clearDcsHandler=function(e){this._dcsParser.clearHandler(this._identifier(e))},r.prototype.setDcsHandlerFallback=function(e){this._dcsParser.setHandlerFallback(e)},r.prototype.registerOscHandler=function(e,t){return this._oscParser.registerHandler(e,t)},r.prototype.clearOscHandler=function(e){this._oscParser.clearHandler(e)},r.prototype.setOscHandlerFallback=function(e){this._oscParser.setHandlerFallback(e)},r.prototype.setErrorHandler=function(e){this._errorHandler=e},r.prototype.clearErrorHandler=function(){this._errorHandler=this._errorHandlerFb},r.prototype.reset=function(){this.currentState=this.initialState,this._oscParser.reset(),this._dcsParser.reset(),this._params.reset(),this._params.addParam(0),this._collect=0,this.precedingCodepoint=0,0!==this._parseStack.state&&(this._parseStack.state=2,this._parseStack.handlers=[])},r.prototype._preserveStack=function(e,t,r,i,n){this._parseStack.state=e,this._parseStack.handlers=t,this._parseStack.handlerPos=r,this._parseStack.transition=i,this._parseStack.chunkPos=n},r.prototype.parse=function(e,t,r){var i,n=0,o=0,s=0;if(this._parseStack.state)if(2===this._parseStack.state)this._parseStack.state=0,s=this._parseStack.chunkPos+1;else{if(void 0===r||1===this._parseStack.state)throw this._parseStack.state=1,new Error("improper continuation due to previous async handler, giving up parsing");var a=this._parseStack.handlers,c=this._parseStack.handlerPos-1;switch(this._parseStack.state){case 3:if(!1===r&&c>-1)for(;c>=0&&!0!==(i=a[c](this._params));c--)if(i instanceof Promise)return this._parseStack.handlerPos=c,i;this._parseStack.handlers=[];break;case 4:if(!1===r&&c>-1)for(;c>=0&&!0!==(i=a[c]());c--)if(i instanceof Promise)return this._parseStack.handlerPos=c,i;this._parseStack.handlers=[];break;case 6:if(n=e[this._parseStack.chunkPos],i=this._dcsParser.unhook(24!==n&&26!==n,r))return i;27===n&&(this._parseStack.transition|=1),this._params.reset(),this._params.addParam(0),this._collect=0;break;case 5:if(n=e[this._parseStack.chunkPos],i=this._oscParser.end(24!==n&&26!==n,r))return i;27===n&&(this._parseStack.transition|=1),this._params.reset(),this._params.addParam(0),this._collect=0}this._parseStack.state=0,s=this._parseStack.chunkPos+1,this.precedingCodepoint=0,this.currentState=15&this._parseStack.transition}for(var l=s;l>4){case 2:for(var h=l+1;;++h){if(h>=t||(n=e[h])<32||n>126&&n=t||(n=e[h])<32||n>126&&n=t||(n=e[h])<32||n>126&&n=t||(n=e[h])<32||n>126&&n=0&&!0!==(i=a[f](this._params));f--)if(i instanceof Promise)return this._preserveStack(3,a,f,o,l),i;f<0&&this._csiHandlerFb(this._collect<<8|n,this._params),this.precedingCodepoint=0;break;case 8:do{switch(n){case 59:this._params.addParam(0);break;case 58:this._params.addSubParam(-1);break;default:this._params.addDigit(n-48)}}while(++l47&&n<60);l--;break;case 9:this._collect<<=8,this._collect|=n;break;case 10:for(var _=this._escHandlers[this._collect<<8|n],d=_?_.length-1:-1;d>=0&&!0!==(i=_[d]());d--)if(i instanceof Promise)return this._preserveStack(4,_,d,o,l),i;d<0&&this._escHandlerFb(this._collect<<8|n),this.precedingCodepoint=0;break;case 11:this._params.reset(),this._params.addParam(0),this._collect=0;break;case 12:this._dcsParser.hook(this._collect<<8|n,this._params);break;case 13:for(var p=l+1;;++p)if(p>=t||24===(n=e[p])||26===n||27===n||n>127&&n=t||(n=e[v])<32||n>127&&n{Object.defineProperty(t,"__esModule",{value:!0}),t.OscHandler=t.OscParser=void 0;var i=r(5770),n=r(482),o=[],s=function(){function e(){this._state=0,this._active=o,this._id=-1,this._handlers=Object.create(null),this._handlerFb=function(){},this._stack={paused:!1,loopPosition:0,fallThrough:!1}}return e.prototype.registerHandler=function(e,t){void 0===this._handlers[e]&&(this._handlers[e]=[]);var r=this._handlers[e];return r.push(t),{dispose:function(){var e=r.indexOf(t);-1!==e&&r.splice(e,1)}}},e.prototype.clearHandler=function(e){this._handlers[e]&&delete this._handlers[e]},e.prototype.setHandlerFallback=function(e){this._handlerFb=e},e.prototype.dispose=function(){this._handlers=Object.create(null),this._handlerFb=function(){},this._active=o},e.prototype.reset=function(){if(2===this._state)for(var e=this._stack.paused?this._stack.loopPosition-1:this._active.length-1;e>=0;--e)this._active[e].end(!1);this._stack.paused=!1,this._active=o,this._id=-1,this._state=0},e.prototype._start=function(){if(this._active=this._handlers[this._id]||o,this._active.length)for(var e=this._active.length-1;e>=0;e--)this._active[e].start();else this._handlerFb(this._id,"START")},e.prototype._put=function(e,t,r){if(this._active.length)for(var i=this._active.length-1;i>=0;i--)this._active[i].put(e,t,r);else this._handlerFb(this._id,"PUT",n.utf32ToString(e,t,r))},e.prototype.start=function(){this.reset(),this._state=1},e.prototype.put=function(e,t,r){if(3!==this._state){if(1===this._state)for(;t0&&this._put(e,t,r)}},e.prototype.end=function(e,t){if(void 0===t&&(t=!0),0!==this._state){if(3!==this._state)if(1===this._state&&this._start(),this._active.length){var r=!1,i=this._active.length-1,n=!1;if(this._stack.paused&&(i=this._stack.loopPosition-1,r=t,n=this._stack.fallThrough,this._stack.paused=!1),!n&&!1===r){for(;i>=0&&!0!==(r=this._active[i].end(e));i--)if(r instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=i,this._stack.fallThrough=!1,r;i--}for(;i>=0;i--)if((r=this._active[i].end(!1))instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=i,this._stack.fallThrough=!0,r}else this._handlerFb(this._id,"END",e);this._active=o,this._id=-1,this._state=0}},e}();t.OscParser=s;var a=function(){function e(e){this._handler=e,this._data="",this._hitLimit=!1}return e.prototype.start=function(){this._data="",this._hitLimit=!1},e.prototype.put=function(e,t,r){this._hitLimit||(this._data+=n.utf32ToString(e,t,r),this._data.length>i.PAYLOAD_LIMIT&&(this._data="",this._hitLimit=!0))},e.prototype.end=function(e){var t=this,r=!1;if(this._hitLimit)r=!1;else if(e&&(r=this._handler(this._data))instanceof Promise)return r.then((function(e){return t._data="",t._hitLimit=!1,e}));return this._data="",this._hitLimit=!1,r},e}();t.OscHandler=a},8742:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.Params=void 0;var r=2147483647,i=function(){function e(e,t){if(void 0===e&&(e=32),void 0===t&&(t=32),this.maxLength=e,this.maxSubParamsLength=t,t>256)throw new Error("maxSubParamsLength must not be greater than 256");this.params=new Int32Array(e),this.length=0,this._subParams=new Int32Array(t),this._subParamsLength=0,this._subParamsIdx=new Uint16Array(e),this._rejectDigits=!1,this._rejectSubDigits=!1,this._digitIsSub=!1}return e.fromArray=function(t){var r=new e;if(!t.length)return r;for(var i=t[0]instanceof Array?1:0;i>8,i=255&this._subParamsIdx[t];i-r>0&&e.push(Array.prototype.slice.call(this._subParams,r,i))}return e},e.prototype.reset=function(){this.length=0,this._subParamsLength=0,this._rejectDigits=!1,this._rejectSubDigits=!1,this._digitIsSub=!1},e.prototype.addParam=function(e){if(this._digitIsSub=!1,this.length>=this.maxLength)this._rejectDigits=!0;else{if(e<-1)throw new Error("values lesser than -1 are not allowed");this._subParamsIdx[this.length]=this._subParamsLength<<8|this._subParamsLength,this.params[this.length++]=e>r?r:e}},e.prototype.addSubParam=function(e){if(this._digitIsSub=!0,this.length)if(this._rejectDigits||this._subParamsLength>=this.maxSubParamsLength)this._rejectSubDigits=!0;else{if(e<-1)throw new Error("values lesser than -1 are not allowed");this._subParams[this._subParamsLength++]=e>r?r:e,this._subParamsIdx[this.length-1]++}},e.prototype.hasSubParams=function(e){return(255&this._subParamsIdx[e])-(this._subParamsIdx[e]>>8)>0},e.prototype.getSubParams=function(e){var t=this._subParamsIdx[e]>>8,r=255&this._subParamsIdx[e];return r-t>0?this._subParams.subarray(t,r):null},e.prototype.getSubParamsAll=function(){for(var e={},t=0;t>8,i=255&this._subParamsIdx[t];i-r>0&&(e[t]=this._subParams.slice(r,i))}return e},e.prototype.addDigit=function(e){var t;if(!(this._rejectDigits||!(t=this._digitIsSub?this._subParamsLength:this.length)||this._digitIsSub&&this._rejectSubDigits)){var i=this._digitIsSub?this._subParams:this.params,n=i[t-1];i[t-1]=~n?Math.min(10*n+e,r):e}},e}();t.Params=i},744:function(e,t,r){var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),o=this&&this.__decorate||function(e,t,r,i){var n,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},s=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.BufferService=t.MINIMUM_ROWS=t.MINIMUM_COLS=void 0;var a=r(2585),c=r(5295),l=r(8460),h=r(844);t.MINIMUM_COLS=2,t.MINIMUM_ROWS=1;var u=function(e){function r(r){var i=e.call(this)||this;return i._optionsService=r,i.isUserScrolling=!1,i._onResize=new l.EventEmitter,i._onScroll=new l.EventEmitter,i.cols=Math.max(r.options.cols,t.MINIMUM_COLS),i.rows=Math.max(r.options.rows,t.MINIMUM_ROWS),i.buffers=new c.BufferSet(r,i),i}return n(r,e),Object.defineProperty(r.prototype,"onResize",{get:function(){return this._onResize.event},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"onScroll",{get:function(){return this._onScroll.event},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"buffer",{get:function(){return this.buffers.active},enumerable:!1,configurable:!0}),r.prototype.dispose=function(){e.prototype.dispose.call(this),this.buffers.dispose()},r.prototype.resize=function(e,t){this.cols=e,this.rows=t,this.buffers.resize(e,t),this.buffers.setupTabStops(this.cols),this._onResize.fire({cols:e,rows:t})},r.prototype.reset=function(){this.buffers.reset(),this.isUserScrolling=!1},r.prototype.scroll=function(e,t){void 0===t&&(t=!1);var r,i=this.buffer;(r=this._cachedBlankLine)&&r.length===this.cols&&r.getFg(0)===e.fg&&r.getBg(0)===e.bg||(r=i.getBlankLine(e,t),this._cachedBlankLine=r),r.isWrapped=t;var n=i.ybase+i.scrollTop,o=i.ybase+i.scrollBottom;if(0===i.scrollTop){var s=i.lines.isFull;o===i.lines.length-1?s?i.lines.recycle().copyFrom(r):i.lines.push(r.clone()):i.lines.splice(o+1,0,r.clone()),s?this.isUserScrolling&&(i.ydisp=Math.max(i.ydisp-1,0)):(i.ybase++,this.isUserScrolling||i.ydisp++)}else{var a=o-n+1;i.lines.shiftElements(n+1,a-1,-1),i.lines.set(o,r.clone())}this.isUserScrolling||(i.ydisp=i.ybase),this._onScroll.fire(i.ydisp)},r.prototype.scrollLines=function(e,t,r){var i=this.buffer;if(e<0){if(0===i.ydisp)return;this.isUserScrolling=!0}else e+i.ydisp>=i.ybase&&(this.isUserScrolling=!1);var n=i.ydisp;i.ydisp=Math.max(Math.min(i.ydisp+e,i.ybase),0),n!==i.ydisp&&(t||this._onScroll.fire(i.ydisp))},r.prototype.scrollPages=function(e){this.scrollLines(e*(this.rows-1))},r.prototype.scrollToTop=function(){this.scrollLines(-this.buffer.ydisp)},r.prototype.scrollToBottom=function(){this.scrollLines(this.buffer.ybase-this.buffer.ydisp)},r.prototype.scrollToLine=function(e){var t=e-this.buffer.ydisp;0!==t&&this.scrollLines(t)},o([s(0,a.IOptionsService)],r)}(h.Disposable);t.BufferService=u},7994:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.CharsetService=void 0;var r=function(){function e(){this.glevel=0,this._charsets=[]}return e.prototype.reset=function(){this.charset=void 0,this._charsets=[],this.glevel=0},e.prototype.setgLevel=function(e){this.glevel=e,this.charset=this._charsets[e]},e.prototype.setgCharset=function(e,t){this._charsets[e]=t,this.glevel===e&&(this.charset=t)},e}();t.CharsetService=r},1753:function(e,t,r){var i=this&&this.__decorate||function(e,t,r,i){var n,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},n=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.CoreMouseService=void 0;var o=r(2585),s=r(8460),a={NONE:{events:0,restrict:function(){return!1}},X10:{events:1,restrict:function(e){return 4!==e.button&&1===e.action&&(e.ctrl=!1,e.alt=!1,e.shift=!1,!0)}},VT200:{events:19,restrict:function(e){return 32!==e.action}},DRAG:{events:23,restrict:function(e){return 32!==e.action||3!==e.button}},ANY:{events:31,restrict:function(e){return!0}}};function c(e,t){var r=(e.ctrl?16:0)|(e.shift?4:0)|(e.alt?8:0);return 4===e.button?(r|=64,r|=e.action):(r|=3&e.button,4&e.button&&(r|=64),8&e.button&&(r|=128),32===e.action?r|=32:0!==e.action||t||(r|=3)),r}var l=String.fromCharCode,h={DEFAULT:function(e){var t=[c(e,!1)+32,e.col+32,e.row+32];return t[0]>255||t[1]>255||t[2]>255?"":""+l(t[0])+l(t[1])+l(t[2])},SGR:function(e){var t=0===e.action&&4!==e.button?"m":"M";return"[<"+c(e,!0)+";"+e.col+";"+e.row+t}},u=function(){function e(e,t){this._bufferService=e,this._coreService=t,this._protocols={},this._encodings={},this._activeProtocol="",this._activeEncoding="",this._onProtocolChange=new s.EventEmitter,this._lastEvent=null;for(var r=0,i=Object.keys(a);r=this._bufferService.cols||e.row<0||e.row>=this._bufferService.rows)return!1;if(4===e.button&&32===e.action)return!1;if(3===e.button&&32!==e.action)return!1;if(4!==e.button&&(2===e.action||3===e.action))return!1;if(e.col++,e.row++,32===e.action&&this._lastEvent&&this._compareEvents(this._lastEvent,e))return!1;if(!this._protocols[this._activeProtocol].restrict(e))return!1;var t=this._encodings[this._activeEncoding](e);return t&&("DEFAULT"===this._activeEncoding?this._coreService.triggerBinaryEvent(t):this._coreService.triggerDataEvent(t,!0)),this._lastEvent=e,!0},e.prototype.explainEvents=function(e){return{down:!!(1&e),up:!!(2&e),drag:!!(4&e),move:!!(8&e),wheel:!!(16&e)}},e.prototype._compareEvents=function(e,t){return e.col===t.col&&e.row===t.row&&e.button===t.button&&e.action===t.action&&e.ctrl===t.ctrl&&e.alt===t.alt&&e.shift===t.shift},i([n(0,o.IBufferService),n(1,o.ICoreService)],e)}();t.CoreMouseService=u},6975:function(e,t,r){var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),o=this&&this.__decorate||function(e,t,r,i){var n,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},s=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.CoreService=void 0;var a=r(2585),c=r(8460),l=r(1439),h=r(844),u=Object.freeze({insertMode:!1}),f=Object.freeze({applicationCursorKeys:!1,applicationKeypad:!1,bracketedPasteMode:!1,origin:!1,reverseWraparound:!1,sendFocus:!1,wraparound:!0}),_=function(e){function t(t,r,i,n){var o=e.call(this)||this;return o._bufferService=r,o._logService=i,o._optionsService=n,o.isCursorInitialized=!1,o.isCursorHidden=!1,o._onData=o.register(new c.EventEmitter),o._onUserInput=o.register(new c.EventEmitter),o._onBinary=o.register(new c.EventEmitter),o._scrollToBottom=t,o.register({dispose:function(){return o._scrollToBottom=void 0}}),o.modes=l.clone(u),o.decPrivateModes=l.clone(f),o}return n(t,e),Object.defineProperty(t.prototype,"onData",{get:function(){return this._onData.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onUserInput",{get:function(){return this._onUserInput.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onBinary",{get:function(){return this._onBinary.event},enumerable:!1,configurable:!0}),t.prototype.reset=function(){this.modes=l.clone(u),this.decPrivateModes=l.clone(f)},t.prototype.triggerDataEvent=function(e,t){if(void 0===t&&(t=!1),!this._optionsService.options.disableStdin){var r=this._bufferService.buffer;r.ybase!==r.ydisp&&this._scrollToBottom(),t&&this._onUserInput.fire(),this._logService.debug('sending data "'+e+'"',(function(){return e.split("").map((function(e){return e.charCodeAt(0)}))})),this._onData.fire(e)}},t.prototype.triggerBinaryEvent=function(e){this._optionsService.options.disableStdin||(this._logService.debug('sending binary "'+e+'"',(function(){return e.split("").map((function(e){return e.charCodeAt(0)}))})),this._onBinary.fire(e))},o([s(1,a.IBufferService),s(2,a.ILogService),s(3,a.IOptionsService)],t)}(h.Disposable);t.CoreService=_},3730:function(e,t,r){var i=this&&this.__decorate||function(e,t,r,i){var n,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},n=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.DirtyRowService=void 0;var o=r(2585),s=function(){function e(e){this._bufferService=e,this.clearRange()}return Object.defineProperty(e.prototype,"start",{get:function(){return this._start},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"end",{get:function(){return this._end},enumerable:!1,configurable:!0}),e.prototype.clearRange=function(){this._start=this._bufferService.buffer.y,this._end=this._bufferService.buffer.y},e.prototype.markDirty=function(e){ethis._end&&(this._end=e)},e.prototype.markRangeDirty=function(e,t){if(e>t){var r=e;e=t,t=r}ethis._end&&(this._end=t)},e.prototype.markAllDirty=function(){this.markRangeDirty(0,this._bufferService.rows-1)},i([n(0,o.IBufferService)],e)}();t.DirtyRowService=s},4348:function(e,t,r){var i=this&&this.__spreadArrays||function(){for(var e=0,t=0,r=arguments.length;t0?n[0].index:t.length;if(t.length!==u)throw new Error("[createInstance] First service dependency of "+e.name+" at position "+(u+1)+" conflicts with "+t.length+" static arguments");return new(e.bind.apply(e,i([void 0],i(t,s))))},e}();t.InstantiationService=a},7866:function(e,t,r){var i=this&&this.__decorate||function(e,t,r,i){var n,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},n=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}},o=this&&this.__spreadArrays||function(){for(var e=0,t=0,r=arguments.length;t{Object.defineProperty(t,"__esModule",{value:!0}),t.OptionsService=t.DEFAULT_OPTIONS=t.DEFAULT_BELL_SOUND=void 0;var i=r(8460),n=r(6114),o=r(1439);t.DEFAULT_BELL_SOUND="data:audio/mp3;base64,SUQzBAAAAAAAI1RTU0UAAAAPAAADTGF2ZjU4LjMyLjEwNAAAAAAAAAAAAAAA//tQxAADB8AhSmxhIIEVCSiJrDCQBTcu3UrAIwUdkRgQbFAZC1CQEwTJ9mjRvBA4UOLD8nKVOWfh+UlK3z/177OXrfOdKl7pyn3Xf//WreyTRUoAWgBgkOAGbZHBgG1OF6zM82DWbZaUmMBptgQhGjsyYqc9ae9XFz280948NMBWInljyzsNRFLPWdnZGWrddDsjK1unuSrVN9jJsK8KuQtQCtMBjCEtImISdNKJOopIpBFpNSMbIHCSRpRR5iakjTiyzLhchUUBwCgyKiweBv/7UsQbg8isVNoMPMjAAAA0gAAABEVFGmgqK////9bP/6XCykxBTUUzLjEwMKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq",t.DEFAULT_OPTIONS=Object.freeze({cols:80,rows:24,cursorBlink:!1,cursorStyle:"block",cursorWidth:1,bellSound:t.DEFAULT_BELL_SOUND,bellStyle:"none",drawBoldTextInBrightColors:!0,fastScrollModifier:"alt",fastScrollSensitivity:5,fontFamily:"courier-new, courier, monospace",fontSize:15,fontWeight:"normal",fontWeightBold:"bold",lineHeight:1,linkTooltipHoverDuration:500,letterSpacing:0,logLevel:"info",scrollback:1e3,scrollSensitivity:1,screenReaderMode:!1,macOptionIsMeta:!1,macOptionClickForcesSelection:!1,minimumContrastRatio:1,disableStdin:!1,allowProposedApi:!0,allowTransparency:!1,tabStopWidth:8,theme:{},rightClickSelectsWord:n.isMac,rendererType:"canvas",windowOptions:{},windowsMode:!1,wordSeparator:" ()[]{}',\"`",altClickMovesCursor:!0,convertEol:!1,termName:"xterm",cancelEvents:!1});var s=["normal","bold","100","200","300","400","500","600","700","800","900"],a=["cols","rows"],c=function(){function e(e){this._onOptionChange=new i.EventEmitter,this.options=o.clone(t.DEFAULT_OPTIONS);for(var r=0,n=Object.keys(e);r{function r(e,t,r){t.di$target===t?t.di$dependencies.push({id:e,index:r}):(t.di$dependencies=[{id:e,index:r}],t.di$target=t)}Object.defineProperty(t,"__esModule",{value:!0}),t.createDecorator=t.getServiceDependencies=t.serviceRegistry=void 0,t.serviceRegistry=new Map,t.getServiceDependencies=function(e){return e.di$dependencies||[]},t.createDecorator=function(e){if(t.serviceRegistry.has(e))return t.serviceRegistry.get(e);var i=function(e,t,n){if(3!==arguments.length)throw new Error("@IServiceName-decorator can only be used to decorate a parameter");r(i,e,n)};return i.toString=function(){return e},t.serviceRegistry.set(e,i),i}},2585:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.IUnicodeService=t.LogLevelEnum=t.IOptionsService=t.ILogService=t.IInstantiationService=t.IDirtyRowService=t.ICharsetService=t.ICoreService=t.ICoreMouseService=t.IBufferService=void 0;var i,n=r(8343);t.IBufferService=n.createDecorator("BufferService"),t.ICoreMouseService=n.createDecorator("CoreMouseService"),t.ICoreService=n.createDecorator("CoreService"),t.ICharsetService=n.createDecorator("CharsetService"),t.IDirtyRowService=n.createDecorator("DirtyRowService"),t.IInstantiationService=n.createDecorator("InstantiationService"),t.ILogService=n.createDecorator("LogService"),t.IOptionsService=n.createDecorator("OptionsService"),(i=t.LogLevelEnum||(t.LogLevelEnum={}))[i.DEBUG=0]="DEBUG",i[i.INFO=1]="INFO",i[i.WARN=2]="WARN",i[i.ERROR=3]="ERROR",i[i.OFF=4]="OFF",t.IUnicodeService=n.createDecorator("UnicodeService")},1480:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.UnicodeService=void 0;var i=r(8460),n=r(225),o=function(){function e(){this._providers=Object.create(null),this._active="",this._onChange=new i.EventEmitter;var e=new n.UnicodeV6;this.register(e),this._active=e.version,this._activeProvider=e}return Object.defineProperty(e.prototype,"onChange",{get:function(){return this._onChange.event},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"versions",{get:function(){return Object.keys(this._providers)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"activeVersion",{get:function(){return this._active},set:function(e){if(!this._providers[e])throw new Error('unknown Unicode version "'+e+'"');this._active=e,this._activeProvider=this._providers[e],this._onChange.fire(e)},enumerable:!1,configurable:!0}),e.prototype.register=function(e){this._providers[e.version]=e},e.prototype.wcwidth=function(e){return this._activeProvider.wcwidth(e)},e.prototype.getStringCellWidth=function(e){for(var t=0,r=e.length,i=0;i=r)return t+this.wcwidth(n);var o=e.charCodeAt(i);56320<=o&&o<=57343?n=1024*(n-55296)+o-56320+65536:t+=this.wcwidth(o)}t+=this.wcwidth(n)}return t},e}();t.UnicodeService=o}},t={};return function r(i){if(t[i])return t[i].exports;var n=t[i]={exports:{}};return e[i].call(n.exports,n,n.exports,r),n.exports}(4389)})()},69:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Connection=t.ConnectionFactory=void 0;var r=function(){function e(e,t){this.url=e,this.protocols=t}return e.prototype.create=function(){return new i(this.url,this.protocols)},e}();t.ConnectionFactory=r;var i=function(){function e(e,t){this.bare=new WebSocket(e,t)}return e.prototype.open=function(){},e.prototype.close=function(){this.bare.close()},e.prototype.send=function(e){this.bare.send(e)},e.prototype.isOpen=function(){return this.bare.readyState==WebSocket.CONNECTING||this.bare.readyState==WebSocket.OPEN},e.prototype.onOpen=function(e){this.bare.onopen=function(t){e()}},e.prototype.onReceive=function(e){this.bare.onmessage=function(t){e(t.data)}},e.prototype.onClose=function(e){this.bare.onclose=function(t){e()}},e}();t.Connection=i},818:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WebTTY=t.msgSetBufferSize=t.msgSetReconnect=t.msgSetPreferences=t.msgSetWindowTitle=t.msgPong=t.msgOutput=t.msgUnknownOutput=t.msgResizeTerminal=t.msgPing=t.msgInput=t.msgInputUnknown=t.protocols=void 0,t.protocols=["webtty"],t.msgInputUnknown="0",t.msgInput="1",t.msgPing="2",t.msgResizeTerminal="3",t.msgUnknownOutput="0",t.msgOutput="1",t.msgPong="2",t.msgSetWindowTitle="3",t.msgSetPreferences="4",t.msgSetReconnect="5",t.msgSetBufferSize="6";var r=function(){function e(e,t,r,i){this.term=e,this.connectionFactory=t,this.args=r,this.authToken=i,this.reconnect=-1,this.bufSize=1024}return e.prototype.open=function(){var e,r,i=this,n=this.connectionFactory.create(),o=function(){n.onOpen((function(){var r=i.term.info();n.send(JSON.stringify({Arguments:i.args,AuthToken:i.authToken}));var o=function(e,r){n.send(t.msgResizeTerminal+JSON.stringify({columns:e,rows:r}))};i.term.onResize(o),o(r.columns,r.rows),i.term.onInput((function(e){for(var r=i.bufSize-1,o=0;o0&&(r=setTimeout((function(){n=i.connectionFactory.create(),i.term.reset(),o()}),1e3*i.reconnect))})),n.open()};return o(),function(){clearTimeout(r),n.close()}},e}();t.WebTTY=r},949:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Xterm=void 0;var i=r(841),n=r(881),o=r(962),s=r(445),a=function(){function e(e){var t=this;this.elem=e,this.term=new i.Terminal,this.fitAddOn=new n.FitAddon,this.term.loadAddon(new o.WebLinksAddon),this.term.loadAddon(this.fitAddOn),this.message=e.ownerDocument.createElement("div"),this.message.className="xterm-overlay",this.messageTimeout=2e3,this.resizeListener=function(){t.fitAddOn.fit(),t.term.scrollToBottom(),t.showMessage(String(t.term.cols)+"x"+String(t.term.rows),t.messageTimeout)},this.term.open(e),this.term.focus(),this.resizeListener(),window.addEventListener("resize",(function(){t.resizeListener()}))}return e.prototype.info=function(){return{columns:this.term.cols,rows:this.term.rows}},e.prototype.output=function(e){this.term.write(Uint8Array.from(e,(function(e){return e.charCodeAt(0)})))},e.prototype.showMessage=function(e,t){var r=this;this.message.textContent=e,this.elem.appendChild(this.message),this.messageTimer&&clearTimeout(this.messageTimer),t>0&&(this.messageTimer=setTimeout((function(){r.elem.removeChild(r.message)}),t))},e.prototype.removeMessage=function(){this.message.parentNode==this.elem&&this.elem.removeChild(this.message)},e.prototype.setWindowTitle=function(e){document.title=e},e.prototype.setPreferences=function(e){var t=this;Object.keys(e).forEach((function(r){"EnableWebGL"==r&&r?t.term.loadAddon(new s.WebglAddon):"font-size"==r?t.term.setOption("fontSize",e[r]):"font-family"==r&&t.term.setOption("fontFamily",e[r])}))},e.prototype.onInput=function(e){this.onDataHandler=this.term.onData((function(t){e(t)}))},e.prototype.onResize=function(e){var t=this;this.onResizeHandler=this.term.onResize((function(){e(t.term.cols,t.term.rows)}))},e.prototype.deactivate=function(){this.onDataHandler.dispose(),this.onResizeHandler.dispose(),this.term.blur()},e.prototype.reset=function(){this.removeMessage(),this.term.clear()},e.prototype.close=function(){window.removeEventListener("resize",this.resizeListener),this.term.dispose()},e}();t.Xterm=a}},t={};function r(i){var n=t[i];if(void 0!==n)return n.exports;var o=t[i]={exports:{}};return e[i](o,o.exports,r),o.exports}(()=>{"use strict";var e=r(949),t=r(818),i=r(69),n=document.getElementById("terminal");if(null!==n){var o;o=new e.Xterm(n);var s=("https:"==window.location.protocol?"wss://":"ws://")+window.location.host+window.location.pathname+"ws",a=window.location.search,c=new i.ConnectionFactory(s,t.protocols),l=new t.WebTTY(o,c,a,gotty_auth_token).open();window.addEventListener("unload",(function(){l(),o.close()}))}})()})(); //# sourceMappingURL=gotty.js.map \ No newline at end of file diff --git a/bindata/static/js/gotty.js.LICENSE.txt b/bindata/static/js/gotty.js.LICENSE.txt index 3289046..8bebf87 100644 --- a/bindata/static/js/gotty.js.LICENSE.txt +++ b/bindata/static/js/gotty.js.LICENSE.txt @@ -1,37 +1,3 @@ -/*! - * libapps (https://npmjs.com/package/libapps) - * @license BSD-3-Clause - * @version 1.70.0 - * ==libapps/LICENSE== - * // Copyright (c) 2006-2009 The Chromium OS Authors. All rights reserved. - * // - * // Redistribution and use in source and binary forms, with or without - * // modification, are permitted provided that the following conditions are - * // met: - * // - * // * Redistributions of source code must retain the above copyright - * // notice, this list of conditions and the following disclaimer. - * // * Redistributions in binary form must reproduce the above - * // copyright notice, this list of conditions and the following disclaimer - * // in the documentation and/or other materials provided with the - * // distribution. - * // * Neither the name of Google Inc. nor the names of its - * // contributors may be used to endorse or promote products derived from - * // this software without specific prior written permission. - * // - * // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - /*! * xterm (https://npmjs.com/package/xterm) * @license MIT diff --git a/bindata/static/js/gotty.js.map b/bindata/static/js/gotty.js.map index af209b1..e847afa 100644 --- a/bindata/static/js/gotty.js.map +++ b/bindata/static/js/gotty.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack://gotty/./node_modules/libapps/hterm/dist/js/hterm_module.js","webpack://gotty/./node_modules/xterm-addon-fit/lib/xterm-addon-fit.js","webpack://gotty/./node_modules/xterm-addon-web-links/lib/xterm-addon-web-links.js","webpack://gotty/./node_modules/xterm-addon-webgl/lib/xterm-addon-webgl.js","webpack://gotty/./node_modules/xterm/lib/xterm.js","webpack://gotty/./src/hterm.ts","webpack://gotty/./src/websocket.ts","webpack://gotty/./src/webtty.ts","webpack://gotty/./src/xterm.ts","webpack://gotty/webpack/bootstrap","webpack://gotty/./src/main.ts"],"names":["lib","Error","var_args","source","ex","stackArray","stack","split","length","replace","i","arguments","path","Array","rtdep","apply","ary","this","runtimeDependencies_","push","passed","sourceList","names","obj","window","self","console","warn","name","callback","initCallbacks_","onInit","opt_logFunction","initNext","rec","shift","f","alarm","ensureRuntimeDependencies_","setTimeout","String","prototype","padStart","targetLength","padString","undefined","repeat","slice","padEnd","colors","re_","hex16","hex24","rgb","RegExp","rgba","rgbx","x11rgb","rgbToX11","value","scale","v","Math","min","toString","zpad","match","x11HexToCSS","startsWith","substr","indexOf","size","r","g","b","arrayToRGBA","map","parseInt","x11ToCSS","splice","round","nameToRGB","hexToRGB","arg","convert","hex","h","rgbToHex","crackRGB","normalizeCSS","def","test","alpha","setAlpha","mix","base","tint","percent","ary1","ary2","diff","color","error","colorNames","toLowerCase","stockColorPalette","colorPalette","createEnum","replaceVars","str","vars","fn","varname","rv","functions","encodeURI","encodeURIComponent","escapeHTML","m","getAcceptLanguages","chromeSupported","chrome","i18n","navigator","language","parseQuery","queryString","pairs","pair","decodeURIComponent","getURL","runtime","clamp","max","number","getWhitespace","whitespace","opt_ms","timeout","wrapperGenerator","ms","getStack","log","clearTimeout","opt_ignoreFrames","ignoreFrames","stackObject","smartFloorDivide","numerator","denominator","val","ceiling","ceil","floor","randomInt","random","MessageManager","languages","languages_","el","unshift","messages","addMessages","defs","key","placeholders","message","content","findAndLoadMessages","pattern","onComplete","concat","loaded","failed","onLanguageComplete","state","tryNextLanguage","loadMessages","replaceReferences","bind","url","onSuccess","opt_onError","xhr","XMLHttpRequest","onloadend","status","JSON","parse","responseText","open","send","msg","args","index","get","msgname","opt_args","opt_default","getMessage","processI18nAttributes","dom","nodes","querySelectorAll","processI18nAttribute","node","getAttribute","tagName","id","attr","toUpperCase","textContent","setAttribute","PreferenceManager","storage","opt_prefix","storageObserver_","onStorageChange_","isActive_","activate","trace","prefix","endsWith","prefRecords_","globalObservers_","childFactories_","childLists_","DEFAULT_VALUE","Record","defaultValue","currentValue","observers","addObserver","observer","removeObserver","stringify","deactivate","readStorage","opt_callback","pendingChildren","onChildComplete","keys","Object","getItems","items","prefixLength","needSync","syncChildList","definePreference","opt_onChange","record","changeDefault","definePreferences","defaults","defineChildren","listName","childFactory","onChildListChange_","addObservers","global","notifyAll","notifyChange_","createChild","opt_hint","opt_id","ids","childManager","resetAll","set","removeChild","getChild","childList","diffChildLists","a","added","removed","common","onChildStorage","currentIds","oldIds","managerIndex","reset","removeItem","changed","removeItems","forEach","newValue","changeDefaults","oldValue","setItem","exportAsJson","childIds","json","importFromJson","childPrefManager","lastIndexOf","resource","resources_","add","type","data","opt_defaultValue","getData","getDataUrl","Storage","Chrome","storage_","observers_","onChanged","addListener","onChanged_","changes","areaname","clear","getItem","setItems","remove","Local","localStorage","addEventListener","onStorage_","e","storageArea","prevValue","curValue","o","Memory","TestManager","opt_log","Log","createTestRun","opt_cx","TestRun","onTestRunComplete","testRun","testPreamble","result","cx","testPostamble","opt_console","save","prefix_","prefixStack_","console_","level","msgPrefix","oLog","join","group","oGroup","label","oGroupEnd","groupEnd","Suite","suiteName","ctor","testManager","testManager_","setup","addTest","disableTest","getTest","getTestList","testList_","testMap_","create","constructor","subclasses","testName","testFunction","Test","fullName","setDefaults","k","preamble","postamble","suiteClass","testFunction_","run","suite","Result","TestComplete","println","completeTest_","FAILED","failures","passes","startDate","duration","currentResult","maxFailures","panic","testQueue_","ALL_TESTS","selectTest","selectSuite","opt_pattern","selectCount","testList","j","selectPattern","onUncaughtException_","file","line","expectedErrorMessage_","when","PENDING","onTestRunComplete_","opt_skipTimeout","Date","info","msToSeconds_","summarize","onerror","onResultComplete","ctx","PASSED","currentSuite","runNextTest_","onResultReComplete","lateStatus","toFixed","timeout_","expectErrorMessage","onTimeout_","requestTime","opt_throw","arrayEQ_","actual","expected","assertEQ","opt_name","format","fail","getCallerLocation_","assert","frameIndex","opt_message","pass","UTF8Decoder","bytesLeft","codePoint","lowerBound","decode","ret","c","charCodeAt","charAt","fromCharCode","decodeUTF8","utf8","encodeUTF8","d","wc","nulWidth","controlWidth","regardCjkAmbiguous","cjkAmbiguousWidth","combining","ambiguous","isSpace","ucs","mid","isCjkAmbiguous","charWidth","charWidthRegardAmbiguous","charWidthDisregardAmbiguous","strWidth","width","codePointAt","start","opt_width","startIndex","endIndex","substring","end","hterm","registerInit","onWindow","windowType","defaultStorage","sync","isPackagedApp","getManifest","manifest","app","background","tabs","getCurrent","tab","windows","windowId","getClientSize","getBoundingClientRect","getClientWidth","getClientHeight","height","copySelectionToClipboard","document","execCommand","firefoxException","pasteFromClipboard","notify","params","curr","fallback","options","body","icon","title","desktopNotificationTitle","n","Notification","onclick","focus","close","Size","resize","clone","setTo","that","equals","RowCol","row","column","opt_overflow","overflow","move","Frame","terminal","opt_options","terminal_","div_","iframe_","container_","messageChannel_","onMessage_","sendTerminalInfo_","style","display","port1","onmessage","onMessage","onLoad","onLoad_","MessageChannel","contentWindow","postMessage","argv","messagePort","port2","acceptLanguages","foregroundColor","getForegroundColor","backgroundColor","getBackgroundColor","cursorColor","getCursorColor","fontSize","getFontSize","fontFamily","getFontFamily","baseURL","onCloseClicked_","parentNode","onClose","show","opt","divSize","document_","container","createElement","cssText","iframe","onload","appendChild","Keyboard","keyboardElement_","handlers_","onFocusOut_","onKeyDown_","onKeyPress_","onKeyUp_","onTextInput_","keyMap","KeyMap","bindings","Bindings","altGrMode","shiftInsertPaste","homeKeysScroll","pageKeysScroll","ctrlPlusMinusZeroZoom","ctrlCCopy","ctrlVPaste","applicationKeypad","applicationCursor","backspaceSendsBackspace","characterEncoding","metaSendsEscape","passMetaV","altSendsWhat","altIsMeta","altBackspaceIsMetaBackspace","altKeyPressed","mediaKeysAreFKeys","previousAltSendsWhat_","KeyActions","CANCEL","DEFAULT","PASS","STRIP","encode","vt","installKeyboard","element","handler","removeEventListener","uninstallKeyboard","onVTKeystroke","lowerKey","which","ctrlKey","metaKey","altKey","charCode","ch","keyCode","shiftKey","preventDefault","stopPropagation","preventChromeAppNonCtrlShiftDefault_","location","keyDef","keyDefs","action","resolvedActionType","control","alt","meta","isPrintable","keyCap","keyboard","getAction","maskShiftKey","keyDown","ctrl","binding","getBinding","call","normal","mod","code","bindings_","addBinding_","keyPattern","list","matchKeyPattern","sort","KeyPattern","sortCompare","addBinding","sequence","p","Parser","parseKeySequence","isComplete","parseKeyAction","addBindings","matchKeyDown","addKeyDef","addKeyDefs","resolve","ac","bs","sh","ctl","med","SS3","CSI","onKeyInsert_","onKeyHome_","altey","scrollHome","onKeyEnd_","scrollEnd","onKeyPageUp_","scrollPageUp","onKeyDel_","onKeyPageDown_","scrollPageDown","onKeyArrowUp_","scrollLineUp","onKeyArrowDown_","scrollLineDown","onClear_","wipeContents","onCtrlNum_","passCtrlNumber","onAltNum_","passAltNumber","onMetaNum_","passMetaNumber","onCtrlC_","selection","getDocument","getSelection","isCollapsed","clearSelectionAfterCopy","collapseToEnd","onCtrlN_","href","innerWidth","innerHeight","onCtrlV_","paste","onMetaN_","outerWidth","outerHeight","onMetaC_","onMetaV_","onPlusMinusZero_","getZoomFactor","cap","setFontSize","spec","wildcardCount","modifiers","match_","exactMatch","modValue","Options","opt_copy","wraparound","reverseWraparound","originMode","autoCarriageReturn","cursorVisible","cursorBlink","insertMode","reverseVideo","bracketedPaste","pos","opt_pos","identifiers","modifierKeys","skipSpace","token","parseToken","ucValue","hasOwnProperty","keyCodes","advance","actions","peekString","peekIdentifier","peekInteger","parseIdentifier","parseString","parseInteger","parsePattern","quote","re","lastIndex","exec","parseEscape","'","count","opt_expect","SHIFT","CTRL","CONTROL","ALT","META","ESCAPE","ESC","F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12","ONE","TWO","THREE","FOUR","FIVE","SIX","SEVEN","EIGHT","NINE","ZERO","BACKSPACE","BKSP","BS","TAB","Q","W","E","R","T","Y","U","I","O","P","CAPS_LOCK","CAPSLOCK","CAPS","A","S","D","F","G","H","J","K","L","ENTER","ENT","RETURN","RET","Z","X","C","V","B","N","M","SPACE","SP","PRINT_SCREEN","PRTSC","SCROLL_LOCK","SCRLK","BREAK","BRK","INSERT","INS","HOME","PAGE_UP","PGUP","DELETE","DEL","END","PAGE_DOWN","PGDOWN","PGDN","UP","DOWN","RIGHT","LEFT","NUMLOCK","KP0","KP1","KP2","KP3","KP4","KP5","KP6","KP7","KP8","KP9","KP_PLUS","KP_ADD","KP_MINUS","KP_SUBTRACT","KP_STAR","KP_MULTIPLY","KP_DIVIDE","KP_DECIMAL","KP_PERIOD","NAVIGATE_BACK","NAVIGATE_FORWARD","RELOAD","FULL_SCREEN","WINDOW_OVERVIEW","BRIGHTNESS_UP","BRIGHTNESS_DOWN","scrollToTop","scrollToBottom","clearScrollback","profileId","defaultPreferences","categories","Appearance","CopyPaste","Sounds","Scrolling","Encoding","Miscellaneous","categoryDefinitions","text","PubSub","addBehavior","pubsub","subscribe","subject","unsubscribe","publish","opt_lastCallback","notifyList","Screen","opt_columnCount","rowsArray","columnCount_","textAttributes","TextAttributes","cursorPosition","cursorRowNode_","cursorNode_","cursorOffset_","wordBreakMatchLeft","wordBreakMatchRight","wordBreakMatchMiddle","getSize","getHeight","getWidth","setColumnCount","setCursorPosition","shiftRow","shiftRows","unshiftRow","unshiftRows","rows","popRow","popRows","pushRow","pushRows","insertRow","insertRows","removeRow","removeRows","invalidateCursorPosition","clearCursorRow","innerHTML","removeAttribute","isDefault","inverse","syncColors","createContainer","commitLineOverflow","rowNode","firstChild","ownerDocument","createTextNode","currentColumn","offset","nodeWidth","nextSibling","syncSelectionCaret","collapse","firefoxIgnoredException","splitNode_","afterNode","cloneNode","nodeSubstr","insertBefore","maybeClipCurrentRow","insertString","cursorNode","cursorNodeText","reverseOffset","ws","underline","strikethrough","wcNode","asciiNode","tileData","nodeType","tileNode","textDecoration","wsNode","matchesContainer","previousSibling","newNode","overwriteString","maxLength","deleteChars","currentCursorColumn","startLength","endLength","spaceNode","nextNode","emptyNode","getLineStartRow_","hasAttribute","getLineText_","rowText","getXRowAncestor_","nodeName","getPositionWithOverflow_","ancestorRow","position","getPositionWithinRow_","childNodes","currentNode","getNodeAndOffsetWithOverflow_","getNodeAndOffsetWithinRow_","nodeTextWidth","setRange_","range","startNodeAndOffset","endNodeAndOffset","setStart","setEnd","expandSelection","getRangeAt","startContainer","startPosition","startOffset","endPosition","endContainer","endOffset","leftMatch","rightMatch","insideMatch","lineUpToRange","leftRegularExpression","expandedStart","search","lineFromRange","rightRegularExpression","found","expandedEnd","addRange","ScrollPort","rowProvider","rowProvider_","characterSize","ruler_","Selection","currentRowNodeCache_","previousRowNodeCache_","lastScreenWidth_","lastScreenHeight_","selectionEnabled_","lastRowCount_","scrollWheelMultiplier_","lastTouch_","isScrolledEnd","currentScrollbarWidthPx","timeouts_","DEBUG_","scrollPort","scrollPort_","startRow","endRow","isMultiline","findFirstChild","parent","childAry","anchorFirst","anchorRow","startNode","anchorNode","anchorOffset","focusRow","endNode","focusNode","focusOffset","focusFirst","rowIndex","firstNode","decorate","div","src","onResize_","doc","contentDocument","paddingTop","paddingBottom","head","userCssLink_","userCssText_","screen_","onScroll_","onScrollWheel_","onTouch_","onCopy_","onPaste_","onBodyKeyDown_","rowNodes_","topSelectBag_","bottomSelectBag_","topFold_","bottomFold_","scrollArea_","xmlns","svg_","createElementNS","pasteTarget_","contentEditable","handlePasteTargetTextInput_","setFontFamily","opt_smoothing","webkitFontSmoothing","syncCharacterSize","setUserCssUrl","setUserCssText","setForegroundColor","setBackgroundColor","setBackgroundImage","image","backgroundImage","setBackgroundSize","backgroundSize","setBackgroundPosition","backgroundPosition","setCtrlVPaste","getScreenSize","getScreenWidth","getScreenHeight","getScreenNode","resetCache","setRowProvider","scheduleRedraw","invalidate","parentElement","topRowIndex","getTopRowIndex","bottomRowIndex","getBottomRowIndex","drawVisibleRows_","scheduleInvalidate","px","measureCharacterSize","opt_weight","rulerSpan_","rulerBaseline_","fontWeight","rulerSize","baseline","offsetTop","zoomFactor","currentScale","clientWidth","syncScrollHeight","syncRowNodesDimensions_","scrollRowToBottom","getRowCount","screenSize","visibleRowCount","visibleRowsHeight","visibleRowTopMargin","visibleRowBottomMargin","marginBottom","topFoldOffset","left","offsetLeft","top","redraw","redraw_","resetSelectBags_","drawTopFold_","drawBottomFold_","lastChild","removeUntilNode","targetNode","deadNode","selectionStartRow","selectionEndRow","bottomFold","targetDrawCount","drawCount","fetchRowNode_","cacheRowNode_","getRowNode","selectAll","firstRow","lastRow","lastRowIndex","extend","getScrollMax_","scrollRowToTop","scrollTop","scrollMax","onScrollWheel","defaultPrevented","delta","scrollWheelDelta","deltaMode","WheelEvent","DOM_DELTA_PIXEL","deltaY","DOM_DELTA_LINE","DOM_DELTA_PAGE","onTouch","touch","scrubTouch","t","identifier","y","clientY","x","clientX","changedTouches","onCopy","endBackfillIndex","startBackfillIndex","getRowsText","setScrollbarVisible","overflowY","setScrollWheelMoveMultipler","multiplier","Terminal","opt_profileId","profileId_","primaryScreen_","alternateScreen_","scrollbackRows_","tabStops_","defaultTabStops","vtScrollTop_","vtScrollBottom_","cursorShape_","cursorShape","BLOCK","cursorColor_","cursorBlinkCycle_","myOnCursorBlink_","onCursorBlink_","backgroundColor_","foregroundColor_","scrollOnOutput_","scrollOnKeystroke_","scrollWheelArrowKeys_","defeatMouseReports_","bellAudio_","bellNotificationList_","desktopNotificationBell_","savedOptions_","options_","VT","io","IO","enableMouseDragScroll","copyOnSelect","mouseRightClickPaste","mousePasteButton","useDefaultWindowCopy","realizeSize_","setDefaultTabStops","setProfile","onTerminalReady","BEAM","UNDERLINE","tabWidth","prefs_","permission","characterMaps","setOverrides","setCursorBlink","setCursorColor","isNaN","resetColorPalette","enable8BitControl","syncBoldSafeState","enableBoldAsBright","syncBlinkState","enableClipboardWrite","enableDec12","syncFontFamily","maxStringSequence","syncMousePasteButton","userAgent","setEncoding","getPrefs","setBracketedPaste","borderColor","setSelectionEnabled","runCommandClass","commandClass","argString","environment","command","onExit","pop","isPrimaryScreen","setCssVar","documentElement","setProperty","button","enableBold","normalSize","boldSize","isBoldSafe","syncMouseStyle","mouseReport","MOUSE_REPORT_DISABLED","saveCursor","getTextAttributes","setTextAttributes","setWindowTitle","restoreCursor","cursor","clearCursorOverflow","setCursorShape","shape","restyleCursor_","getCursorShape","setWidth","columnCount","scheduleSyncCursorPosition_","setHeight","rowCount","realizeWidth_","realizeHeight_","onTerminalResize_","deltaColumns","deltaRows","getRowText","scrollbackCount","appendRows_","setVTScrollRegion","screen","bottom","renumberRows_","clearHome","syncCursorPosition_","clearAllTabStops","softReset","setCursorVisible","forwardTabStop","setCursorColumn","backwardTabStop","setTabStop","clearTabStopAtCursor","opt_start","w","interpret","oncontextmenu","onMouse","onMouse_","screenNode","onFocusChange_","className","scrollBlockerNode_","event","setReverseVideo","screenIndex","cursorRow","extraRows","scheduleScrollDown_","setAbsoluteCursorPosition","moveRows_","fromIndex","toIndex","opt_screen","print","newLine","didOverflow","tokens","splitWidecharString","scrollBottom","getVTScrollTop","getVTScrollBottom","cursorAtEndOfScreen","vtScrollUp","lineFeed","formFeed","reverseLineFeed","currentRow","insertLines","setAbsoluteCursorRow","eraseToLeft","eraseToRight","opt_count","maxCount","DEFAULT_COLOR","eraseLine","eraseAbove","eraseBelow","fill","col","moveCount","deleteLines","moveStart","insertSpace","deleted","vtScrollDown","setRelativeCursorPosition","getCursorColumn","getCursorRow","scheduleRedraw_","scrollDown","cursorUp","cursorDown","minHeight","maxHeight","cursorLeft","newRow","newColumn","cursorRight","ringBell","bellSquelchTimeout_","play","bellSequelchTimeout_","hasFocus","closeBellNotifications_","setOriginMode","setInsertMode","setAutoCarriageReturn","setWraparound","setReverseWraparound","setAlternateMode","opacity","cursorRowIndex","borderBottomStyle","borderLeftStyle","syncCursor","showZoomWarning_","zoomWarningNode_","zoomWarningMessage","showOverlay","opt_timeout","overlayNode_","overlaySize","overlayTimeout_","copyStringToClipboard","notifyCopyMessage","copySource","selectAllChildren","getSelectionText","string","openUrl","browser","openTab","openSelectedUrl_","processedByTerminalHandler_","reportMouseEvents","terminalRow","terminalColumn","engaged","warning","lines","abs","sendString","focused","isNewSize","previousIO_","createFrame","setTerminalProfile","profileName","keyboardCaptured_","onTerminalResize","writeUTF8","writelnUTF8","writeUTF16","writelnUTF16","foregroundSource","SRC_DEFAULT","backgroundSource","foreground","defaultForeground","defaultBackground","bold","faint","italic","blink","invisible","SRC_RGB","setDocument","opt_textContent","span","classes","fontStyle","blinkNode","colorToMakeFaint","containersMatch","obj1","obj2","containerIsDefault","style1","style2","nodeSubstring","increment","onTerminalMouse_","parseState_","ParseState","parseUnknown_","leadingModifier_","trailingModifier_","allowColumnWidthChanges_","oscTimeLimit_","utf8Decoder_","warnUnimplemented","CharacterMaps","G0","G1","G2","G3","getMap","GL","GR","codingSystemUtf8_","codingSystemLocked_","cc1Pattern_","updateEncodingState_","savedState_","CursorState","MOUSE_REPORT_CLICK","MOUSE_REPORT_DRAG","defaultFunction","opt_buf","buf","func","resetParseFunction","resetBuf","resetArguments","opt_arg_zero","iarg","argnum","peekRemainingBuf","peekChar","consumeChar","vt_","restore","response","buttons","encoding","cc1","CC1","filter","parseState","nextControl","dispatch","parseCSI_","parseUntilStringTerminator_","abortReason","nextTerminator","ignore","setANSIMode","setDECMode","scrollOnOutput","scrollOnKeystroke","OSC","VT52","parseESC","parseOSC","pairCount","responseArray","pairNumber","colorIndex","colorValue","colorX11","atob","get256","getTrueColor","attrs","trueColor","CharacterMap","description","glmap","glmapBase_","sync_","opt_glmap","glmap_","glre_","assign","glchars","maps_","DefaultMaps","mapsBase_","addMap","maps","module","exports","775","defineProperty","FitAddon","_terminal","dispose","fit","proposeDimensions","_core","cols","_renderService","dimensions","actualCellWidth","actualCellHeight","getComputedStyle","getPropertyValue","viewport","scrollBarWidth","l","enumerable","Symbol","toStringTag","__esModule","default","s","WebLinksAddon","opener","_handler","_options","_useLinkProvider","matchIndex","_linkProvider","registerLinkProvider","WebLinkProvider","_linkMatcherId","registerLinkMatcher","deregisterLinkMatcher","LinkComputer","_regex","provideLinks","computeLink","flags","_translateBufferLineToStringWithWrap","u","buffer","active","getLine","isWrapped","translateToString","965","GlyphRenderer","Float32Array","BYTES_PER_ELEMENT","_","_colors","_gl","_dimensions","_activeBuffer","_vertices","attributes","attributesBuffers","selectionAttributes","throwIfFalsy","createProgram","_program","_projectionLocation","getUniformLocation","_resolutionLocation","_textureLocation","_vertexArrayObject","createVertexArray","bindVertexArray","createBuffer","bindBuffer","ARRAY_BUFFER","bufferData","STATIC_DRAW","enableVertexAttribArray","vertexAttribPointer","FLOAT","Uint8Array","ELEMENT_ARRAY_BUFFER","_attributesBuffer","vertexAttribDivisor","_atlasTexture","createTexture","bindTexture","TEXTURE_2D","texImage2D","RGBA","UNSIGNED_BYTE","texParameteri","TEXTURE_WRAP_S","CLAMP_TO_EDGE","TEXTURE_WRAP_T","enable","BLEND","blendFunc","SRC_ALPHA","ONE_MINUS_SRC_ALPHA","onResize","beginFrame","_atlas","updateCell","_updateCell","NULL_CELL_CODE","WHITESPACE_CELL_CODE","getRasterizedGlyphCombinedChar","getRasterizedGlyph","scaledCharLeft","scaledCharTop","scaledCanvasWidth","scaledCanvasHeight","texturePositionClipSpace","sizeClipSpace","updateSelection","selectionOpaque","columnSelectMode","startCol","endCol","viewportCappedEndRow","viewportCappedStartRow","_updateSelectionRange","viewportStartRow","viewportEndRow","viewportY","RENDER_MODEL_INDICIES_PER_CELL","cells","RENDER_MODEL_FG_OFFSET","AttributeData","fg","bg","RENDER_MODEL_BG_OFFSET","getBgColorMode","_getColorFromAnsiIndex","getBgColor","toColorRGB","COMBINED_CHAR_BIT_MASK","getCell","getChars","ansi","canvas","setColors","render","useProgram","lineLengths","subarray","STREAM_DRAW","hasCanvasChanged","uniform1i","activeTexture","TEXTURE0","cacheCanvas","generateMipmap","uniformMatrix4fv","PROJECTION_MATRIX","uniform2f","drawElementsInstanced","TRIANGLES","setAtlas","setDimensions","344","RectangleRenderer","_updateCachedColors","DYNAMIC_DRAW","_updateViewportRectangle","_bgFloat","_colorToFloat32Array","_selectionFloat","_addRectangleFloat","scaledCellWidth","scaledCellHeight","hasSelection","updateBackgrounds","_updateRectangle","expandFloat32Array","_addRectangle","310","RenderModel","Uint32Array","clearSelection","259","sliceFallback","795","WebglAddon","_preserveDrawingBuffer","_colorManager","_renderer","WebglRenderer","setRenderer","_createRenderer","textureAtlas","configurable","clearTextureAtlas","clearCharAtlas","666","__extends","setPrototypeOf","__proto__","_model","_workCell","CellData","_onRequestRedraw","EventEmitter","_renderLayers","LinkRenderLayer","screenElement","CursorRenderLayer","scaledCharWidth","scaledCharHeight","canvasWidth","canvasHeight","_devicePixelRatio","devicePixelRatio","_updateDimensions","_canvas","antialias","depth","preserveDrawingBuffer","getContext","_rectangleRenderer","_glyphRenderer","onCharSizeChanged","_isAttached","contains","_charAtlas","_refreshCharAtlas","onDevicePixelRatioChange","onBlur","onFocus","onSelectionChanged","_updateSelectionModel","fire","onCursorMove","onOptionsChanged","acquireCharAtlas","warmUp","clearTexture","_updateModel","registerCharacterJoiner","deregisterCharacterJoiner","renderRows","_charSizeService","onGridChanged","ydisp","loadCell","getCode","getOption","Disposable","381","createShader","shaderSource","compileShader","getShaderParameter","COMPILE_STATUS","getShaderInfoLog","deleteShader","attachShader","VERTEX_SHADER","FRAGMENT_SHADER","linkProgram","getProgramParameter","LINK_STATUS","getProgramInfoLog","deleteProgram","713","removeTerminalFromCache","generateConfig","ownedBy","configEquals","config","atlas","WebglCharAtlas","433","is256Color","css","cursorAccent","selectionTransparent","contrastCache","fontWeightBold","allowTransparency","drawBoldTextInBrightColors","minimumContrastRatio","167","texturePosition","_config","_didWarmUp","_cacheMap","_cacheMapCombined","_currentRowY","_currentRowX","_currentRowHeight","_workBoundingBox","right","_workAttributeData","_cacheCtx","_tmpCanvas","_tmpCtx","_doWarmUp","_drawToCache","clearRect","_getBackgroundColor","_getForegroundCss","_getMinimumContrastCss","channels","toCss","_resolveBackgroundRgba","_resolveForegroundRgba","getCss","ensureContrastRatio","setCss","isInvisible","isBold","isInverse","isDim","isItalic","getFgColor","getFgColorMode","globalCompositeOperation","fillStyle","fillRect","font","textBaseline","globalAlpha","DIM_OPACITY","fillText","getImageData","_findGlyphBoundingBox","_clipImageData","putImageData","Uint8ClampedArray","ImageData","592","BaseRenderLayer","_container","_alpha","_scaledCharWidth","_scaledCharHeight","_scaledCellWidth","_scaledCellHeight","_scaledCharLeft","_scaledCharTop","classList","zIndex","_initCanvas","_ctx","_clearAll","_setTransparency","replaceChild","_fillCells","_fillBottomLineAtCells","_fillLeftLineAtCell","_strokeRectAtCell","lineWidth","strokeRect","_clearCells","_fillCharTrueColor","_getFont","_clipRow","beginPath","rect","clip","461","_onRequestRefreshRowsEvent","_cell","_state","isFocused","_cursorRenderers","bar","_renderBarCursor","block","_renderBlockCursor","_renderUnderlineCursor","_clearCursor","_cursorBlinkStateManager","pause","cursorY","resume","_render","restartBlinkAnimation","isPaused","_coreService","isCursorInitialized","isCursorHidden","baseY","cursorX","_renderBlurCursor","isCursorVisible","strokeStyle","_renderCallback","_restartInterval","_blinkStartTimeout","_blinkInterval","clearInterval","_animationFrame","cancelAnimationFrame","_animationTimeRestarted","now","requestAnimationFrame","setInterval","activeElement","textarea","733","linkifier","onShowLinkUnderline","_onShowLinkUnderline","onHideLinkUnderline","_onHideLinkUnderline","linkifier2","_clearCurrentLink","x1","y1","y2","x2","INVERTED_DEFAULT_COLOR","742","contrastRatio","toPaddedHex","toRgba","blend","isOpaque","toColor","opaque","toChannels","pow","relativeLuminance","relativeLuminance2","reduceLuminance","increaseLuminance","499","CHAR_ATLAS_CELL_SPACING","345","forwardEvent","_listeners","_disposed","_event","859","getDisposeArrayDisposable","disposeArray","_disposables","_isDisposed","register","unregister","455","fillFallback","147","ExtendedAttrs","extended","fromColorRGB","isUnderline","isBlink","isFgRGB","isBgRGB","isFgPalette","isBgPalette","isFgDefault","isBgDefault","isAttributeDefault","hasExtendedAttrs","updateExtended","isEmpty","getUnderlineColor","underlineColor","getUnderlineColorMode","isUnderlineColorRGB","isUnderlineColorPalette","isUnderlineColorDefault","getUnderlineStyle","underlineStyle","782","combinedData","fromCharData","setFromCharData","isCombined","stringFromCodePoint","CHAR_DATA_ATTR_INDEX","CHAR_DATA_CHAR_INDEX","CHAR_DATA_WIDTH_INDEX","getAsCharData","855","WHITESPACE_CELL_WIDTH","WHITESPACE_CELL_CHAR","NULL_CELL_WIDTH","NULL_CELL_CHAR","CHAR_DATA_CODE_INDEX","DEFAULT_ATTR","133","Utf8ToUtf32","StringToUtf32","utf32ToString","_interim","interim","4567","AccessibilityManager","_liveRegionLineCount","_charsToConsume","_charsToAnnounce","_accessibilityTreeRoot","_rowContainer","_rowElements","_createAccessibilityTreeNode","_topBoundaryFocusListener","_onBoundaryFocus","_bottomBoundaryFocusListener","_refreshRowsDimensions","_renderRowsDebouncer","RenderDebouncer","_renderRows","_refreshRows","_liveRegion","insertAdjacentElement","_onResize","onRender","onScroll","onA11yChar","_onChar","onLineFeed","onA11yTab","_onTab","onKey","_onKey","_clearLiveRegion","onDimensionsChange","_screenDprMonitor","ScreenDprMonitor","setListener","addDisposableDomListener","removeElementFromParent","target","relatedTarget","scrollLines","stopImmediatePropagation","children","tabIndex","_refreshRowDimensions","tooMuchOutput","isMac","refresh","translateBufferLineToString","innerText","_announceCharacters","3614","decPrivateModes","bracketedPasteMode","triggerDataEvent","rightClickHandler","moveTextAreaUnderMouseCursor","handlePasteEvent","copyHandler","bracketTextForPaste","prepareTextForTerminal","clipboardData","setData","selectionText","rightClickSelect","select","4774","7239","ColorContrastCache","_color","_rgba","setColor","getColor","5680","ColorManager","DEFAULT_ANSI_COLORS","freeze","_litmusColor","createLinearGradient","_contrastCache","onOptionsChange","setTheme","_parseColor","black","red","green","yellow","blue","magenta","cyan","white","brightBlack","brightRed","brightGreen","brightYellow","brightBlue","brightMagenta","brightCyan","brightWhite","Number","9631","3656","3551","__decorate","getOwnPropertyDescriptor","Reflect","__param","MouseZone","Linkifier","_bufferService","_logService","_unicodeService","_linkMatchers","_nextLinkMatcherId","_onLinkTooltip","_rowsToLinkify","attachToDom","_element","_mouseZoneManager","linkifyRows","clearAll","_rowsTimeoutId","_linkifyRows","_timeBeforeLatency","iterator","hasNext","next","_doLinkifyRow","first","debug","regex","validationCallback","hoverTooltipCallback","tooltipCallback","hoverLeaveCallback","leaveCallback","willLinkActivate","priority","_addLinkMatcherToList","stringIndexToBufferIndex","getFg","_addLink","getStringCellWidth","_createLinkHoverEvent","IBufferService","ILogService","IUnicodeService","clickCallback","hoverCallback","6465","Linkifier2","_linkProviders","_linkCacheDisposables","_isMouseOut","_activeLine","_currentLink","_mouseService","_onMouseMove","_onClick","_lastMouseEvent","_positionFromMouseEvent","composedPath","_lastBufferCell","_onHover","_askForLink","_linkAtPosition","link","_activeProviderReplies","Map","_checkLinkProviderResult","_removeIntersectingLinks","Set","has","find","_handleNewLink","_linkLeave","decorations","pointerCursor","isHovered","_linkHover","defineProperties","toggle","_fireUnderlineEvent","onRenderedBufferChange","hover","_createLinkUnderlineEvent","leave","getCoords","9042","promptLabel","6954","MouseZoneManager","_screenElement","_selectionService","_optionsService","_zones","_areZonesActive","_lastHoverCoords","_initialSelectionLength","_onMouseDown","_mouseMoveListener","_mouseLeaveListener","_onMouseLeave","_clickListener","_deactivate","_activate","_currentZone","pageX","pageY","_findZoneEventAt","_tooltipTimeout","_onTooltip","linkTooltipHoverDuration","_getSelectionLength","IMouseService","ISelectionService","IOptionsService","6193","_rowCount","_rowStart","_rowEnd","_innerRefresh","5596","_currentDevicePixelRatio","_listener","clearListener","_outerListener","_updateDpr","_resolutionMediaMatchList","removeListener","matchMedia","3236","_keyDownHandled","_onCursorMove","_onRender","_onSelectionChange","_onTitleChange","_onBell","_onFocus","_onBlur","_onA11yCharEmitter","_onA11yTabEmitter","_setup","_instantiationService","createInstance","_inputHandler","onRequestBell","bell","onRequestRefreshRows","onRequestReset","onRequestWindowsOptionsReport","_reportWindowsOptions","onAnsiColorChange","_changeAnsiColor","onTitleChange","_afterResize","optionsService","onThemeChange","_customKeyEventHandler","write","buffers","preventScroll","_updateOptions","measure","syncScrollArea","screenReaderMode","_accessibilityManager","setupTabStops","_setTheme","theme","_onTextAreaFocus","sendFocus","C0","updateCursorStyle","_showCursor","blur","_onTextAreaBlur","_syncTextArea","isCursorInViewport","_compositionHelper","isComposing","ybase","lineHeight","_initGlobal","_bindKeys","isFirefox","rightClickSelectsWord","isLinux","_keyUp","_keyDown","_keyPress","compositionstart","compositionupdate","compositionend","updateCompositionElements","_queueLinkification","isConnected","_document","dir","createDocumentFragment","_viewportElement","_viewportScrollArea","_helperContainer","CoreBrowserService","setService","ICoreBrowserService","CharSizeService","ICharSizeService","_theme","onOptionChange","_characterJoinerService","CharacterJoinerService","ICharacterJoinerService","RenderService","IRenderService","_compositionView","CompositionHelper","_soundService","SoundService","ISoundService","MouseService","Viewport","onRequestSyncScrollBar","SelectionService","onRequestScrollLines","amount","suppressScrollEvent","onSelectionChange","onRequestRedraw","onLinuxMouseSelection","_onScroll","onMouseDown","_coreMouseService","areMouseEventsActive","disable","bindMouse","rendererType","Renderer","DomRenderer","getRawByteCoords","overrideType","triggerMouseEvent","mouseup","wheel","mousedrag","mousemove","cancel","onProtocolChange","logLevel","explainEvents","passive","activeProtocol","shouldForceSelection","hasScrollback","getLinesScrolled","applicationCursorKeys","onWheel","onTouchStart","onTouchMove","refreshRows","shouldColumnSelect","attachCustomKeyEventHandler","deregister","markers","addMarker","setSelection","getSelectionPosition","startColumn","selectionStart","endColumn","selectionEnd","selectLines","keydown","evaluateKeyboardEvent","macOptionIsMeta","_isThirdLevelShift","ETX","CR","domEvent","isWindows","_soundBell","playBellSound","hasValidSize","getBlankLine","DEFAULT_ATTR_DATA","WindowsOptionsReportType","GET_WIN_SIZE_PIXELS","GET_CELL_SIZE_PIXELS","cancelEvents","_visualBell","bellStyle","CoreTerminal","1680","_scrollLines","_scrollArea","_lastRecordedBufferLength","_lastRecordedViewportHeight","_lastRecordedBufferHeight","_lastTouchY","_lastScrollTop","_wheelPartialScroll","_refreshAnimationFrame","_ignoreNextScrollEvent","offsetWidth","_refresh","offsetHeight","offsetParent","_bubbleScroll","cancelable","_getPixelsScrolled","_applyScrollModifier","fastScrollModifier","fastScrollSensitivity","scrollSensitivity","touches","2950","_textarea","_isComposing","_isSendingComposition","_compositionPosition","_dataAlreadySent","_finalizeComposition","_handleAnyTextareaChanges","ICoreService","9806","getCoordsRelativeToElement","9504","moveToCellSequence","244","AddonManager","_addons","instance","loadAddon","isDisposed","_wrappedAddonDispose","4389","_addonManager","_checkProposedApi","allowProposedApi","onData","onBinary","onBell","_parser","_buffer","_verifyIntegers","registerMarker","scrollPages","scrollToLine","writeUtf8","writeln","setOption","init","getNullCell","_onBufferChange","_normal","_alternate","onBufferActivate","alternate","_line","registerCsiHandler","toArray","addCsiHandler","registerDcsHandler","addDcsHandler","registerEscHandler","addEscHandler","registerOscHandler","addOscHandler","unicodeService","versions","activeVersion","1546","_rendererId","_currentGlyphIdentifier","chars","dim","_drawChars","_getContrastColor","_drawUncachedChars","draw","2512","_coreBrowserService","cursorStyle","cursorWidth","3700","GridCache","cache","5098","3525","_id","TextRenderLayer","SelectionRenderLayer","_runOperation","letterSpacing","IInstantiationService","1752","4149","_clearState","_didStateChange","_areCoordinatesEqual","9596","_characterWidth","_characterFont","_characterOverlapCache","_forEachCell","getJoinedCharacters","JoinedCellData","_isOverlapping","getCodePoint","_drawBackground","_drawForeground","measureText","9616","BaseCharAtlas","1420","DynamicCharAtlas","2040","8803","1906","NoneCharAtlas","getGlyphCacheKey","_drawToCacheCount","_glyphsWaitingOnBitmap","_bitmapCommitTimeout","_bitmap","_cacheCanvas","_width","_height","LRUMap","prealloc","_canCache","_drawFromCache","capacity","peek","_toCoordinateX","_toCoordinateY","drawImage","inBitmap","_getForegroundColor","_addGlyphToBitmap","isSafari","_generateBitmap","createImageBitmap","then","7001","_map","_head","_tail","_nodePool","_unlinkNode","prev","_appendNode","peekValue","1296","_linkifier","_linkifier2","_terminalClass","_refreshRowElements","_selectionContainer","_injectCss","_rowFactory","DomRendererRowFactory","_onLinkHover","_onLinkLeave","_themeStyleElement","_dimensionsStyleElement","_terminalSelector","BOLD_CLASS","ITALIC_CLASS","CURSOR_CLASS","CURSOR_STYLE_BLOCK_CLASS","CURSOR_BLINK_CLASS","CURSOR_STYLE_BAR_CLASS","CURSOR_STYLE_UNDERLINE_CLASS","_createSelectionElement","createRow","_setCellUnderline","3787","UNDERLINE_CLASS","DIM_CLASS","_applyMinimumContrast","_addStyle","456","SelectionModel","isSelectAllActive","selectionStartLength","areSelectionValuesReversed","onTrim","428","_onCharSizeChange","_measureStrategy","_parentElement","_result","_measureElement","4269","_characterJoiners","_nextCharacterJoinerId","getBg","getTrimmedLength","_getJoinedRanges","_mergeRanges","_stringRangesToCellRanges","getString","5114","getRootNode","8934","3230","_isPaused","_needsFullRefresh","_isNextRenderRedrawOnly","_needsSelectionRefresh","_canvasWidth","_canvasHeight","_selectionState","_onDimensionsChange","_onRefreshRequest","_renderDebouncer","_fullRefresh","onCharSizeChange","IntersectionObserver","_onIntersectionChange","threshold","observe","disconnect","isIntersecting","intersectionRatio","_fireOnCanvasResize","changeOptions","9312","_dragScrollAmount","_enabled","_mouseDownTimeStamp","_oldHasSelection","_oldSelectionStart","_oldSelectionEnd","_onLinuxMouseSelection","_onRedrawRequest","_onRequestScrollLines","_mouseUpListener","_onMouseUp","onUserInput","_trimListener","_onTrim","_onBufferActivate","_activeSelectionMode","_removeMouseDownListeners","finalSelectionStart","finalSelectionEnd","_isClickInSelection","_getMouseBufferCoords","_areCoordsInSelection","_selectWordAtCursor","currentLink","getRangeLength","_selectWordAt","_getMouseEventScrollAmount","macOptionClickForcesSelection","timeStamp","_onIncrementalClick","detail","_onSingleClick","_onDoubleClick","_onTripleClick","_addMouseDownListeners","_dragScrollIntervalTimer","_dragScroll","hasWidth","_selectLineAt","_selectToWordAt","_fireEventIfSelectionChanged","_fireOnSelectionChange","activeBuffer","_convertViewportColToCharacterIndex","_getWordAt","_isCharWordSeparator","trim","wordSeparator","getWrappedRangeForLine","last","4725","createDecorator","357","_audioContext","AudioContext","webkitAudioContext","audioContext","createBufferSource","decodeAudioData","_base64ToArrayBuffer","_removeMimeType","bellSound","connect","destination","6349","CircularList","_maxLength","onDeleteEmitter","onInsertEmitter","onTrimEmitter","_array","_startIndex","_length","_getCyclicIndex","recycle","trimStart","shiftElements","1439","isArray","8969","_onBinary","_onData","_onLineFeed","InstantiationService","OptionsService","BufferService","LogService","CoreService","CoreMouseService","ICoreMouseService","_dirtyRowService","DirtyRowService","IDirtyRowService","UnicodeService","_charsetService","CharsetService","ICharsetService","InputHandler","markRangeDirty","_writeBuffer","WriteBuffer","_onScrollApi","_windowsMode","writeSync","LogLevelEnum","WARN","MINIMUM_COLS","MINIMUM_ROWS","scroll","windowsMode","_enableWindowsMode","updateWindowsModeWrappedState","final","8460","5435","setWinLines","restoreWin","minimizeWin","setWinPosition","setWinSizePixels","raiseWin","lowerWin","refreshWin","setWinSizeChars","maximizeWin","fullscreenWin","getWinState","getWinPosition","getWinSizePixels","getScreenSizePixels","getCellSizePixels","getWinSizeChars","getScreenSizeChars","getIconTitle","getWinTitle","pushTitle","popTitle","_data","hook","put","unhook","EscapeSequenceParser","_parseBuffer","_stringDecoder","_utf8Decoder","_windowTitle","_iconName","_windowTitleStack","_iconNameStack","_curAttrData","_eraseAttrDataInternal","_onRequestBell","_onRequestRefreshRows","_onRequestReset","_onRequestSyncScrollBar","_onRequestWindowsOptionsReport","_onA11yChar","_onA11yTab","_onAnsiColorChange","_parseStack","paused","cursorStartX","cursorStartY","decodedLength","setCsiHandlerFallback","identToString","setEscHandlerFallback","setExecuteHandlerFallback","setOscHandlerFallback","setDcsHandlerFallback","payload","setPrintHandler","insertChars","intermediates","scrollLeft","scrollRight","cursorForward","cursorBackward","cursorNextLine","cursorPrecedingLine","cursorCharAbsolute","cursorForwardTab","eraseInDisplay","eraseInLine","scrollUp","eraseChars","cursorBackwardTab","charPosAbsolute","hPositionRelative","repeatPrecedingCharacter","sendDeviceAttributesPrimary","sendDeviceAttributesSecondary","linePosAbsolute","vPositionRelative","hVPosition","tabClear","setMode","setModePrivate","resetMode","resetModePrivate","charAttributes","deviceStatus","deviceStatusPrivate","setCursorStyle","setScrollRegion","windowOptions","insertColumns","deleteColumns","setExecuteHandler","BEL","LF","FF","carriageReturn","backspace","HT","SO","shiftOut","SI","shiftIn","C1","IND","NEL","nextLine","HTS","tabSet","OscHandler","setTitle","setIconName","setAnsiColor","reverseIndex","keypadApplicationMode","keypadNumericMode","fullReset","setgLevel","selectDefaultCharset","selectCharset","CHARSETS","screenAlignmentPattern","setErrorHandler","_preserveStack","_logSlowResolvingAsync","Promise","race","catch","clearRange","charset","modes","markDirty","setCellFromCodePoint","wcwidth","_eraseAttrData","insertCells","addCodepointToCell","precedingCodepoint","hasContent","DcsHandler","convertEol","_restrictCursor","nextStop","origin","_setCursor","_moveCursor","prevStop","_eraseInBufferLine","replaceCells","_resetBufferLine","deleteCells","_is","termName","setgCharset","DEFAULT_CHARSET","activeEncoding","activateAltBuffer","activateNormalBuffer","_updateAttrColor","_extractColor","hasSubParams","getSubParams","_processUnderline","savedX","savedY","savedCurAttrData","savedCharset","_savedCharset","_parseAnsiColorChange","markAllDirty","844","6114","isIphone","isIpad","platform","includes","8273","9282","3734","9092","BufferStringIterator","Buffer","MAX_BUFFER_SIZE","_hasScrollback","_nullCell","_whitespaceCell","_cols","_rows","_getCorrectBufferLength","getWhitespaceCell","BufferLine","scrollback","fillViewportRows","_isReflowEnabled","_reflow","_reflowLarger","_reflowSmaller","reflowLargerGetLinesToRemove","reflowLargerCreateNewLayout","reflowLargerApplyNewLayout","layout","_reflowLargerAdjustViewport","countRemoved","reflowSmallerGetNewLineLengths","newLines","copyCellsFrom","getWrappedLineTrimmedLength","setCell","tabStopWidth","Marker","onInsert","onDelete","onDispose","_removeMarker","_trimRight","_endIndex","_startOverscan","_endOverscan","_current","8437","_combined","_extendedAttrs","copyFrom","4841","4634","reduce","5295","BufferSet","_alt","inactiveBuffer","511","643","4863","_nextId","_onDispose","7116","q","z","2584","NUL","SOH","STX","EOT","ENQ","ACK","DLE","DC1","DC2","DC3","DC4","NAK","SYN","ETB","CAN","EM","SUB","FS","GS","RS","US","PAD","HOP","BPH","NBH","SSA","ESA","HTJ","VTS","PLD","PLU","RI","SS2","DCS","PU1","PU2","STS","CCH","MW","SPA","EPA","SOS","SGCI","SCI","ST","PM","APC","7399","48","49","50","51","52","53","54","55","56","57","186","187","188","189","190","191","192","219","220","221","222","482","225","UnicodeV6","version","5981","queueMicrotask","_action","_callbacks","_pendingData","_bufferOffset","_isSyncWriting","_syncCalls","_innerWrite","5770","PAYLOAD_LIMIT","6351","DcsParser","_handlers","_active","_ident","_handlerFb","_stack","loopPosition","fallThrough","registerHandler","clearHandler","setHandlerFallback","Params","addParam","_params","_hitLimit","2015","VT500_TRANSITION_TABLE","TransitionTable","table","setDefault","addMany","_transitions","handlers","handlerPos","transition","chunkPos","initialState","currentState","_collect","_printHandlerFb","_executeHandlerFb","_csiHandlerFb","_escHandlerFb","_errorHandlerFb","_printHandler","_executeHandlers","_csiHandlers","_escHandlers","_oscParser","OscParser","_dcsParser","_errorHandler","_identifier","reverse","clearPrintHandler","clearEscHandler","clearExecuteHandler","clearCsiHandler","clearDcsHandler","clearOscHandler","clearErrorHandler","collect","abort","addSubParam","addDigit","6242","_start","_put","8742","maxSubParamsLength","Int32Array","_subParams","_subParamsLength","_subParamsIdx","Uint16Array","_rejectDigits","_rejectSubDigits","_digitIsSub","fromArray","getSubParamsAll","744","isUserScrolling","_cachedBlankLine","isFull","7994","glevel","_charsets","1753","NONE","events","restrict","X10","VT200","DRAG","ANY","SGR","_protocols","_encodings","_activeProtocol","_activeEncoding","_onProtocolChange","_lastEvent","addProtocol","addEncoding","_compareEvents","triggerBinaryEvent","down","up","drag","6975","_onUserInput","_scrollToBottom","disableStdin","3730","_end","4348","__spreadArrays","ServiceCollection","_entries","_services","getService","getServiceDependencies","7866","DEBUG","INFO","ERROR","off","OFF","_updateLogLevel","_evalLazyOptionalParams","_log","7302","DEFAULT_OPTIONS","DEFAULT_BELL_SOUND","altClickMovesCursor","_onOptionChange","_sanitizeAndValidateOption","8343","di$target","di$dependencies","serviceRegistry","2585","1480","_providers","_onChange","_activeProvider","elem","bare","term","columns","output","showMessage","removeMessage","setPreferences","onInput","Hterm","protocols","Connection","ConnectionFactory","WebSocket","isOpen","readyState","CONNECTING","OPEN","onOpen","onopen","onReceive","onclose","msgInputUnknown","msgInput","msgPing","msgResizeTerminal","msgUnknownOutput","msgOutput","msgPong","msgSetWindowTitle","msgSetPreferences","msgSetReconnect","msgSetBufferSize","connectionFactory","authToken","reconnect","bufSize","pingTimer","reconnectTimeout","connection","termInfo","Arguments","AuthToken","resizeHandler","colmuns","input","effectiveBufferSize","inputChunk","preferences","autoReconnect","WebTTY","fitAddOn","messageTimeout","resizeListener","decoder","messageTimer","onDataHandler","onResizeHandler","Xterm","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","getElementById","gotty_term","protocol","host","pathname","factory","gotty_auth_token"],"mappings":"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,CAAE,IAAQ,KAClD,CAAE,IAAQ,KAAU,CAAE,IAAQ,KAAU,CAAE,IAAQ,KAClD,CAAE,IAAQ,KAAU,CAAE,IAAQ,KAAU,CAAE,IAAQ,KAClD,CAAE,IAAQ,KAAU,CAAE,IAAQ,KAAU,CAAE,IAAQ,KAClD,CAAE,IAAQ,KAAU,CAAE,IAAQ,KAAU,CAAE,IAAQ,KAClD,CAAE,IAAQ,KAAU,CAAE,IAAQ,KAAU,CAAE,IAAQ,KAClD,CAAE,IAAQ,KAAU,CAAE,IAAQ,KAAU,CAAE,IAAQ,KAClD,CAAE,IAAQ,KAAU,CAAE,IAAQ,KAAU,CAAE,IAAQ,KAClD,CAAE,IAAQ,KAAU,CAAE,IAAQ,KAAU,CAAE,IAAQ,KAClD,CAAE,IAAQ,KAAU,CAAE,IAAQ,KAAU,CAAE,IAAQ,KAClD,CAAE,IAAQ,KAAU,CAAE,IAAQ,KAAU,CAAE,IAAQ,KAClD,CAAE,IAAQ,KAAU,CAAE,IAAQ,KAAU,CAAE,IAAQ,KAClD,CAAE,IAAQ,KAAU,CAAE,IAAQ,KAAU,CAAE,IAAQ,KAClD,CAAE,IAAQ,KAAU,CAAE,IAAQ,KAAU,CAAE,IAAQ,KAClD,CAAE,IAAQ,KAAU,CAAE,IAAQ,KAAU,CAAE,IAAQ,KAClD,CAAE,IAAQ,KAAU,CAAE,IAAQ,KAAU,CAAE,IAAQ,KAClD,CAAE,IAAQ,KAAU,CAAE,IAAQ,KAAU,CAAE,IAAQ,KAClD,CAAE,IAAQ,KAAU,CAAE,IAAQ,KAAU,CAAE,IAAQ,KAClD,CAAE,IAAQ,KAAU,CAAE,IAAQ,KAAU,CAAE,IAAQ,KAClD,CAAE,KAAQ,MAAU,CAAE,KAAQ,MAAU,CAAE,KAAQ,MAClD,CAAE,KAAQ,MAAU,CAAE,KAAQ,MAAU,CAAE,KAAQ,MAClD,CAAE,KAAQ,MAAU,CAAE,KAAQ,MAAU,CAAE,KAAQ,MAClD,CAAE,KAAQ,MAAU,CAAE,KAAQ,MAAU,CAAE,KAAQ,MAClD,CAAE,KAAQ,MAAU,CAAE,KAAQ,MAAU,CAAE,KAAQ,MAClD,CAAE,KAAQ,MAAU,CAAE,KAAQ,MAAU,CAAE,KAAQ,MAClD,CAAE,KAAQ,MAAU,CAAE,KAAQ,MAAU,CAAE,KAAQ,MAClD,CAAE,KAAQ,MAAU,CAAE,KAAQ,MAAU,CAA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KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,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","file":"gotty.js","sourcesContent":["/*!\n * libapps (https://npmjs.com/package/libapps)\n * @license BSD-3-Clause\n * @version 1.70.0\n * ==libapps/LICENSE==\n * // Copyright (c) 2006-2009 The Chromium OS Authors. All rights reserved.\n * //\n * // Redistribution and use in source and binary forms, with or without\n * // modification, are permitted provided that the following conditions are\n * // met:\n * //\n * // * Redistributions of source code must retain the above copyright\n * // notice, this list of conditions and the following disclaimer.\n * // * Redistributions in binary form must reproduce the above\n * // copyright notice, this list of conditions and the following disclaimer\n * // in the documentation and/or other materials provided with the\n * // distribution.\n * // * Neither the name of Google Inc. nor the names of its\n * // contributors may be used to endorse or promote products derived from\n * // this software without specific prior written permission.\n * //\n * // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n * // \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n * // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n * // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n * // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n * // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n * // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n * // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n * // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n * // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n * // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n */\n// This file was generated by libdot/bin/concat.sh.\n// It has been marked read-only for your safety. Rather\n// than edit it directly, please modify one of these source\n// files...\n//\n// libdot/js/lib.js\n// libdot/js/lib_polyfill.js\n// libdot/js/lib_colors.js\n// libdot/js/lib_f.js\n// libdot/js/lib_message_manager.js\n// libdot/js/lib_preference_manager.js\n// libdot/js/lib_resource.js\n// libdot/js/lib_storage.js\n// libdot/js/lib_storage_chrome.js\n// libdot/js/lib_storage_local.js\n// libdot/js/lib_storage_memory.js\n// libdot/js/lib_test_manager.js\n// libdot/js/lib_utf8.js\n// libdot/third_party/wcwidth/lib_wc.js\n// hterm/js/hterm.js\n// hterm/js/hterm_frame.js\n// hterm/js/hterm_keyboard.js\n// hterm/js/hterm_keyboard_bindings.js\n// hterm/js/hterm_keyboard_keymap.js\n// hterm/js/hterm_keyboard_keypattern.js\n// hterm/js/hterm_options.js\n// hterm/js/hterm_parser.js\n// hterm/js/hterm_parser_identifiers.js\n// hterm/js/hterm_preference_manager.js\n// hterm/js/hterm_pubsub.js\n// hterm/js/hterm_screen.js\n// hterm/js/hterm_scrollport.js\n// hterm/js/hterm_terminal.js\n// hterm/js/hterm_terminal_io.js\n// hterm/js/hterm_text_attributes.js\n// hterm/js/hterm_vt.js\n// hterm/js/hterm_vt_character_map.js\n// hterm/js/hterm_export.js\n//\n\n// SOURCE FILE: libdot/js/lib.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\nif (typeof lib != 'undefined')\n throw new Error('Global \"lib\" object already exists.');\n\nvar lib = {};\n\n/**\n * Map of \"dependency\" to [\"source\", ...].\n *\n * Each dependency is a object name, like \"lib.fs\", \"source\" is the url that\n * depends on the object.\n */\nlib.runtimeDependencies_ = {};\n\n/**\n * List of functions that need to be invoked during library initialization.\n *\n * Each element in the initCallbacks_ array is itself a two-element array.\n * Element 0 is a short string describing the owner of the init routine, useful\n * for debugging. Element 1 is the callback function.\n */\nlib.initCallbacks_ = [];\n\n/**\n * Records a runtime dependency.\n *\n * This can be useful when you want to express a run-time dependency at\n * compile time. It is not intended to be a full-fledged library system or\n * dependency tracker. It's just there to make it possible to debug the\n * deps without running all the code.\n *\n * Object names are specified as strings. For example...\n *\n * lib.rtdep('lib.colors', 'lib.PreferenceManager');\n *\n * Object names need not be rooted by 'lib'. You may use this to declare a\n * dependency on any object.\n *\n * The client program may call lib.ensureRuntimeDependencies() at startup in\n * order to ensure that all runtime dependencies have been met.\n *\n * @param {string} var_args One or more objects specified as strings.\n */\nlib.rtdep = function(var_args) {\n var source;\n\n try {\n throw new Error();\n } catch (ex) {\n var stackArray = ex.stack.split('\\n');\n // In Safari, the resulting stackArray will only have 2 elements and the\n // individual strings are formatted differently.\n if (stackArray.length >= 3) {\n source = stackArray[2].replace(/^\\s*at\\s+/, '');\n } else {\n source = stackArray[1].replace(/^\\s*global code@/, '');\n }\n }\n\n for (var i = 0; i < arguments.length; i++) {\n var path = arguments[i];\n if (path instanceof Array) {\n lib.rtdep.apply(lib, path);\n } else {\n var ary = this.runtimeDependencies_[path];\n if (!ary)\n ary = this.runtimeDependencies_[path] = [];\n ary.push(source);\n }\n }\n};\n\n/**\n * Ensures that all runtime dependencies are met, or an exception is thrown.\n *\n * Every unmet runtime dependency will be logged to the JS console. If at\n * least one dependency is unmet this will raise an exception.\n */\nlib.ensureRuntimeDependencies_ = function() {\n var passed = true;\n\n for (var path in lib.runtimeDependencies_) {\n var sourceList = lib.runtimeDependencies_[path];\n var names = path.split('.');\n\n // In a document context 'window' is the global object. In a worker it's\n // called 'self'.\n var obj = (window || self);\n for (var i = 0; i < names.length; i++) {\n if (!(names[i] in obj)) {\n console.warn('Missing \"' + path + '\" is needed by', sourceList);\n passed = false;\n break;\n }\n\n obj = obj[names[i]];\n }\n }\n\n if (!passed)\n throw new Error('Failed runtime dependency check');\n};\n\n/**\n * Register an initialization function.\n *\n * The initialization functions are invoked in registration order when\n * lib.init() is invoked. Each function will receive a single parameter, which\n * is a function to be invoked when it completes its part of the initialization.\n *\n * @param {string} name A short descriptive name of the init routine useful for\n * debugging.\n * @param {function(function)} callback The initialization function to register.\n * @return {function} The callback parameter.\n */\nlib.registerInit = function(name, callback) {\n lib.initCallbacks_.push([name, callback]);\n return callback;\n};\n\n/**\n * Initialize the library.\n *\n * This will ensure that all registered runtime dependencies are met, and\n * invoke any registered initialization functions.\n *\n * Initialization is asynchronous. The library is not ready for use until\n * the onInit function is invoked.\n *\n * @param {function()} onInit The function to invoke when initialization is\n * complete.\n * @param {function(*)} opt_logFunction An optional function to send\n * initialization related log messages to.\n */\nlib.init = function(onInit, opt_logFunction) {\n var ary = lib.initCallbacks_;\n\n var initNext = function() {\n if (ary.length) {\n var rec = ary.shift();\n if (opt_logFunction)\n opt_logFunction('init: ' + rec[0]);\n rec[1](lib.f.alarm(initNext));\n } else {\n onInit();\n }\n };\n\n if (typeof onInit != 'function')\n throw new Error('Missing or invalid argument: onInit');\n\n lib.ensureRuntimeDependencies_();\n\n setTimeout(initNext, 0);\n};\n// SOURCE FILE: libdot/js/lib_polyfill.js\n// Copyright 2017 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * @fileoverview Polyfills for ES2016+ features we want to use.\n */\n\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/padStart\nif (!String.prototype.padStart) {\n String.prototype.padStart = function(targetLength, padString) {\n // If the string is already long enough, nothing to do!\n targetLength -= this.length;\n if (targetLength <= 0)\n return String(this);\n\n if (padString === undefined)\n padString = ' ';\n\n // In case the pad is multiple chars long.\n if (targetLength > padString.length)\n padString = padString.repeat((targetLength / padString.length) + 1);\n\n return padString.slice(0, targetLength) + String(this);\n };\n}\n\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/padEnd\nif (!String.prototype.padEnd) {\n String.prototype.padEnd = function(targetLength, padString) {\n // If the string is already long enough, nothing to do!\n targetLength -= this.length;\n if (targetLength <= 0)\n return String(this);\n\n if (padString === undefined)\n padString = ' ';\n\n // In case the pad is multiple chars long.\n if (targetLength > padString.length)\n padString = padString.repeat((targetLength / padString.length) + 1);\n\n return String(this) + padString.slice(0, targetLength);\n };\n}\n// SOURCE FILE: libdot/js/lib_colors.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * Namespace for color utilities.\n */\nlib.colors = {};\n\n/**\n * First, some canned regular expressions we're going to use in this file.\n *\n *\n * BRACE YOURSELF\n *\n * ,~~~~.\n * |>_< ~~\n * 3`---'-/.\n * 3:::::\\v\\\n * =o=:::::\\,\\\n * | :::::\\,,\\\n *\n * THE REGULAR EXPRESSIONS\n * ARE COMING.\n *\n * There's no way to break long RE literals in JavaScript. Fix that why don't\n * you? Oh, and also there's no way to write a string that doesn't interpret\n * escapes.\n *\n * Instead, we stoop to this .replace() trick.\n */\nlib.colors.re_ = {\n // CSS hex color, #RGB.\n hex16: /#([a-f0-9])([a-f0-9])([a-f0-9])/i,\n\n // CSS hex color, #RRGGBB.\n hex24: /#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})/i,\n\n // CSS rgb color, rgb(rrr,ggg,bbb).\n rgb: new RegExp(\n ('^/s*rgb/s*/(/s*(/d{1,3})/s*,/s*(/d{1,3})/s*,' +\n '/s*(/d{1,3})/s*/)/s*$'\n ).replace(/\\//g, '\\\\'), 'i'),\n\n // CSS rgb color, rgb(rrr,ggg,bbb,aaa).\n rgba: new RegExp(\n ('^/s*rgba/s*' +\n '/(/s*(/d{1,3})/s*,/s*(/d{1,3})/s*,/s*(/d{1,3})/s*' +\n '(?:,/s*(/d+(?:/./d+)?)/s*)/)/s*$'\n ).replace(/\\//g, '\\\\'), 'i'),\n\n // Either RGB or RGBA.\n rgbx: new RegExp(\n ('^/s*rgba?/s*' +\n '/(/s*(/d{1,3})/s*,/s*(/d{1,3})/s*,/s*(/d{1,3})/s*' +\n '(?:,/s*(/d+(?:/./d+)?)/s*)?/)/s*$'\n ).replace(/\\//g, '\\\\'), 'i'),\n\n // An X11 \"rgb:dddd/dddd/dddd\" value.\n x11rgb: /^\\s*rgb:([a-f0-9]{1,4})\\/([a-f0-9]{1,4})\\/([a-f0-9]{1,4})\\s*$/i,\n\n // English color name.\n name: /[a-z][a-z0-9\\s]+/,\n};\n\n/**\n * Convert a CSS rgb(ddd,ddd,ddd) color value into an X11 color value.\n *\n * Other CSS color values are ignored to ensure sanitary data handling.\n *\n * Each 'ddd' component is a one byte value specified in decimal.\n *\n * @param {string} value The CSS color value to convert.\n * @return {string} The X11 color value or null if the value could not be\n * converted.\n */\nlib.colors.rgbToX11 = function(value) {\n function scale(v) {\n v = (Math.min(v, 255) * 257).toString(16);\n return lib.f.zpad(v, 4);\n }\n\n var ary = value.match(lib.colors.re_.rgbx);\n if (!ary)\n return null;\n\n return 'rgb:' + scale(ary[1]) + '/' + scale(ary[2]) + '/' + scale(ary[3]);\n};\n\n/**\n * Convert a legacy X11 colover value into an CSS rgb(...) color value.\n *\n * They take the form:\n * 12 bit: #RGB -> #R000G000B000\n * 24 bit: #RRGGBB -> #RR00GG00BB00\n * 36 bit: #RRRGGGBBB -> #RRR0GGG0BBB0\n * 48 bit: #RRRRGGGGBBBB\n * These are the most significant bits.\n *\n * Truncate values back down to 24 bit since that's all CSS supports.\n */\nlib.colors.x11HexToCSS = function(v) {\n if (!v.startsWith('#'))\n return null;\n // Strip the leading # off.\n v = v.substr(1);\n\n // Reject unknown sizes.\n if ([3, 6, 9, 12].indexOf(v.length) == -1)\n return null;\n\n // Reject non-hex values.\n if (v.match(/[^a-f0-9]/i))\n return null;\n\n // Split the colors out.\n var size = v.length / 3;\n var r = v.substr(0, size);\n var g = v.substr(size, size);\n var b = v.substr(size + size, size);\n\n // Normalize to 16 bits.\n function norm16(v) {\n v = parseInt(v, 16);\n return size == 2 ? v : // 16 bit\n size == 1 ? v << 4 : // 8 bit\n v >> (4 * (size - 2)); // 24 or 32 bit\n }\n return lib.colors.arrayToRGBA([r, g, b].map(norm16));\n};\n\n/**\n * Convert an X11 color value into an CSS rgb(...) color value.\n *\n * The X11 value may be an X11 color name, or an RGB value of the form\n * rgb:hhhh/hhhh/hhhh. If a component value is less than 4 digits it is\n * padded out to 4, then scaled down to fit in a single byte.\n *\n * @param {string} value The X11 color value to convert.\n * @return {string} The CSS color value or null if the value could not be\n * converted.\n */\nlib.colors.x11ToCSS = function(v) {\n function scale(v) {\n // Pad out values with less than four digits. This padding (probably)\n // matches xterm. It's difficult to say for sure since xterm seems to\n // arrive at a padded value and then perform some combination of\n // gamma correction, color space transformation, and quantization.\n\n if (v.length == 1) {\n // Single digits pad out to four by repeating the character. \"f\" becomes\n // \"ffff\". Scaling down a hex value of this pattern by 257 is the same\n // as cutting off one byte. We skip the middle step and just double\n // the character.\n return parseInt(v + v, 16);\n }\n\n if (v.length == 2) {\n // Similar deal here. X11 pads two digit values by repeating the\n // byte (or scale up by 257). Since we're going to scale it back\n // down anyway, we can just return the original value.\n return parseInt(v, 16);\n }\n\n if (v.length == 3) {\n // Three digit values seem to be padded by repeating the final digit.\n // e.g. 10f becomes 10ff.\n v = v + v.substr(2);\n }\n\n // Scale down the 2 byte value.\n return Math.round(parseInt(v, 16) / 257);\n }\n\n var ary = v.match(lib.colors.re_.x11rgb);\n if (!ary) {\n // Handle the legacy format.\n if (v.startsWith('#'))\n return lib.colors.x11HexToCSS(v);\n else\n return lib.colors.nameToRGB(v);\n }\n\n ary.splice(0, 1);\n return lib.colors.arrayToRGBA(ary.map(scale));\n};\n\n/**\n * Converts one or more CSS '#RRGGBB' color values into their rgb(...)\n * form.\n *\n * Arrays are converted in place. If a value cannot be converted, it is\n * replaced with null.\n *\n * @param {string|Array.} A single RGB value or array of RGB values to\n * convert.\n * @return {string|Array.} The converted value or values.\n */\nlib.colors.hexToRGB = function(arg) {\n var hex16 = lib.colors.re_.hex16;\n var hex24 = lib.colors.re_.hex24;\n\n function convert(hex) {\n if (hex.length == 4) {\n hex = hex.replace(hex16, function(h, r, g, b) {\n return \"#\" + r + r + g + g + b + b;\n });\n }\n var ary = hex.match(hex24);\n if (!ary)\n return null;\n\n return 'rgb(' + parseInt(ary[1], 16) + ', ' +\n parseInt(ary[2], 16) + ', ' +\n parseInt(ary[3], 16) + ')';\n }\n\n if (arg instanceof Array) {\n for (var i = 0; i < arg.length; i++) {\n arg[i] = convert(arg[i]);\n }\n } else {\n arg = convert(arg);\n }\n\n return arg;\n};\n\n/**\n * Converts one or more CSS rgb(...) forms into their '#RRGGBB' color values.\n *\n * If given an rgba(...) form, the alpha field is thrown away.\n *\n * Arrays are converted in place. If a value cannot be converted, it is\n * replaced with null.\n *\n * @param {string|Array.} A single rgb(...) value or array of rgb(...)\n * values to convert.\n * @return {string|Array.} The converted value or values.\n */\nlib.colors.rgbToHex = function(arg) {\n function convert(rgb) {\n var ary = lib.colors.crackRGB(rgb);\n if (!ary)\n return null;\n return '#' + lib.f.zpad(((parseInt(ary[0]) << 16) |\n (parseInt(ary[1]) << 8) |\n (parseInt(ary[2]) << 0)).toString(16), 6);\n }\n\n if (arg instanceof Array) {\n for (var i = 0; i < arg.length; i++) {\n arg[i] = convert(arg[i]);\n }\n } else {\n arg = convert(arg);\n }\n\n return arg;\n};\n\n/**\n * Take any valid css color definition and turn it into an rgb or rgba value.\n *\n * Returns null if the value could not be normalized.\n */\nlib.colors.normalizeCSS = function(def) {\n if (def.startsWith('#'))\n return lib.colors.hexToRGB(def);\n\n if (lib.colors.re_.rgbx.test(def))\n return def;\n\n return lib.colors.nameToRGB(def);\n};\n\n/**\n * Convert a 3 or 4 element array into an rgba(...) string.\n */\nlib.colors.arrayToRGBA = function(ary) {\n var alpha = (ary.length > 3) ? ary[3] : 1;\n return 'rgba(' + ary[0] + ', ' + ary[1] + ', ' + ary[2] + ', ' + alpha + ')';\n};\n\n/**\n * Overwrite the alpha channel of an rgb/rgba color.\n */\nlib.colors.setAlpha = function(rgb, alpha) {\n var ary = lib.colors.crackRGB(rgb);\n ary[3] = alpha;\n return lib.colors.arrayToRGBA(ary);\n};\n\n/**\n * Mix a percentage of a tint color into a base color.\n */\nlib.colors.mix = function(base, tint, percent) {\n var ary1 = lib.colors.crackRGB(base);\n var ary2 = lib.colors.crackRGB(tint);\n\n for (var i = 0; i < 4; ++i) {\n var diff = ary2[i] - ary1[i];\n ary1[i] = Math.round(parseInt(ary1[i]) + diff * percent);\n }\n\n return lib.colors.arrayToRGBA(ary1);\n};\n\n/**\n * Split an rgb/rgba color into an array of its components.\n *\n * On success, a 4 element array will be returned. For rgb values, the alpha\n * will be set to 1.\n */\nlib.colors.crackRGB = function(color) {\n if (color.startsWith('rgba')) {\n var ary = color.match(lib.colors.re_.rgba);\n if (ary) {\n ary.shift();\n return ary;\n }\n } else {\n var ary = color.match(lib.colors.re_.rgb);\n if (ary) {\n ary.shift();\n ary.push(1);\n return ary;\n }\n }\n\n console.error('Couldn\\'t crack: ' + color);\n return null;\n};\n\n/**\n * Convert an X11 color name into a CSS rgb(...) value.\n *\n * Names are stripped of spaces and converted to lowercase. If the name is\n * unknown, null is returned.\n *\n * This list of color name to RGB mapping is derived from the stock X11\n * rgb.txt file.\n *\n * @param {string} name The color name to convert.\n * @return {string} The corresponding CSS rgb(...) value.\n */\nlib.colors.nameToRGB = function(name) {\n if (name in lib.colors.colorNames)\n return lib.colors.colorNames[name];\n\n name = name.toLowerCase();\n if (name in lib.colors.colorNames)\n return lib.colors.colorNames[name];\n\n name = name.replace(/\\s+/g, '');\n if (name in lib.colors.colorNames)\n return lib.colors.colorNames[name];\n\n return null;\n};\n\n/**\n * The stock color palette.\n */\nlib.colors.stockColorPalette = lib.colors.hexToRGB\n ([// The \"ANSI 16\"...\n '#000000', '#CC0000', '#4E9A06', '#C4A000',\n '#3465A4', '#75507B', '#06989A', '#D3D7CF',\n '#555753', '#EF2929', '#00BA13', '#FCE94F',\n '#729FCF', '#F200CB', '#00B5BD', '#EEEEEC',\n\n // The 6x6 color cubes...\n '#000000', '#00005F', '#000087', '#0000AF', '#0000D7', '#0000FF',\n '#005F00', '#005F5F', '#005F87', '#005FAF', '#005FD7', '#005FFF',\n '#008700', '#00875F', '#008787', '#0087AF', '#0087D7', '#0087FF',\n '#00AF00', '#00AF5F', '#00AF87', '#00AFAF', '#00AFD7', '#00AFFF',\n '#00D700', '#00D75F', '#00D787', '#00D7AF', '#00D7D7', '#00D7FF',\n '#00FF00', '#00FF5F', '#00FF87', '#00FFAF', '#00FFD7', '#00FFFF',\n\n '#5F0000', '#5F005F', '#5F0087', '#5F00AF', '#5F00D7', '#5F00FF',\n '#5F5F00', '#5F5F5F', '#5F5F87', '#5F5FAF', '#5F5FD7', '#5F5FFF',\n '#5F8700', '#5F875F', '#5F8787', '#5F87AF', '#5F87D7', '#5F87FF',\n '#5FAF00', '#5FAF5F', '#5FAF87', '#5FAFAF', '#5FAFD7', '#5FAFFF',\n '#5FD700', '#5FD75F', '#5FD787', '#5FD7AF', '#5FD7D7', '#5FD7FF',\n '#5FFF00', '#5FFF5F', '#5FFF87', '#5FFFAF', '#5FFFD7', '#5FFFFF',\n\n '#870000', '#87005F', '#870087', '#8700AF', '#8700D7', '#8700FF',\n '#875F00', '#875F5F', '#875F87', '#875FAF', '#875FD7', '#875FFF',\n '#878700', '#87875F', '#878787', '#8787AF', '#8787D7', '#8787FF',\n '#87AF00', '#87AF5F', '#87AF87', '#87AFAF', '#87AFD7', '#87AFFF',\n '#87D700', '#87D75F', '#87D787', '#87D7AF', '#87D7D7', '#87D7FF',\n '#87FF00', '#87FF5F', '#87FF87', '#87FFAF', '#87FFD7', '#87FFFF',\n\n '#AF0000', '#AF005F', '#AF0087', '#AF00AF', '#AF00D7', '#AF00FF',\n '#AF5F00', '#AF5F5F', '#AF5F87', '#AF5FAF', '#AF5FD7', '#AF5FFF',\n '#AF8700', '#AF875F', '#AF8787', '#AF87AF', '#AF87D7', '#AF87FF',\n '#AFAF00', '#AFAF5F', '#AFAF87', '#AFAFAF', '#AFAFD7', '#AFAFFF',\n '#AFD700', '#AFD75F', '#AFD787', '#AFD7AF', '#AFD7D7', '#AFD7FF',\n '#AFFF00', '#AFFF5F', '#AFFF87', '#AFFFAF', '#AFFFD7', '#AFFFFF',\n\n '#D70000', '#D7005F', '#D70087', '#D700AF', '#D700D7', '#D700FF',\n '#D75F00', '#D75F5F', '#D75F87', '#D75FAF', '#D75FD7', '#D75FFF',\n '#D78700', '#D7875F', '#D78787', '#D787AF', '#D787D7', '#D787FF',\n '#D7AF00', '#D7AF5F', '#D7AF87', '#D7AFAF', '#D7AFD7', '#D7AFFF',\n '#D7D700', '#D7D75F', '#D7D787', '#D7D7AF', '#D7D7D7', '#D7D7FF',\n '#D7FF00', '#D7FF5F', '#D7FF87', '#D7FFAF', '#D7FFD7', '#D7FFFF',\n\n '#FF0000', '#FF005F', '#FF0087', '#FF00AF', '#FF00D7', '#FF00FF',\n '#FF5F00', '#FF5F5F', '#FF5F87', '#FF5FAF', '#FF5FD7', '#FF5FFF',\n '#FF8700', '#FF875F', '#FF8787', '#FF87AF', '#FF87D7', '#FF87FF',\n '#FFAF00', '#FFAF5F', '#FFAF87', '#FFAFAF', '#FFAFD7', '#FFAFFF',\n '#FFD700', '#FFD75F', '#FFD787', '#FFD7AF', '#FFD7D7', '#FFD7FF',\n '#FFFF00', '#FFFF5F', '#FFFF87', '#FFFFAF', '#FFFFD7', '#FFFFFF',\n\n // The greyscale ramp...\n '#080808', '#121212', '#1C1C1C', '#262626', '#303030', '#3A3A3A',\n '#444444', '#4E4E4E', '#585858', '#626262', '#6C6C6C', '#767676',\n '#808080', '#8A8A8A', '#949494', '#9E9E9E', '#A8A8A8', '#B2B2B2',\n '#BCBCBC', '#C6C6C6', '#D0D0D0', '#DADADA', '#E4E4E4', '#EEEEEE'\n ]);\n\n/**\n * The current color palette, possibly with user changes.\n */\nlib.colors.colorPalette = lib.colors.stockColorPalette;\n\n/**\n * Named colors according to the stock X11 rgb.txt file.\n */\nlib.colors.colorNames = {\n \"aliceblue\": \"rgb(240, 248, 255)\",\n \"antiquewhite\": \"rgb(250, 235, 215)\",\n \"antiquewhite1\": \"rgb(255, 239, 219)\",\n \"antiquewhite2\": \"rgb(238, 223, 204)\",\n \"antiquewhite3\": \"rgb(205, 192, 176)\",\n \"antiquewhite4\": \"rgb(139, 131, 120)\",\n \"aquamarine\": \"rgb(127, 255, 212)\",\n \"aquamarine1\": \"rgb(127, 255, 212)\",\n \"aquamarine2\": \"rgb(118, 238, 198)\",\n \"aquamarine3\": \"rgb(102, 205, 170)\",\n \"aquamarine4\": \"rgb(69, 139, 116)\",\n \"azure\": \"rgb(240, 255, 255)\",\n \"azure1\": \"rgb(240, 255, 255)\",\n \"azure2\": \"rgb(224, 238, 238)\",\n \"azure3\": \"rgb(193, 205, 205)\",\n \"azure4\": \"rgb(131, 139, 139)\",\n \"beige\": \"rgb(245, 245, 220)\",\n \"bisque\": \"rgb(255, 228, 196)\",\n \"bisque1\": \"rgb(255, 228, 196)\",\n \"bisque2\": \"rgb(238, 213, 183)\",\n \"bisque3\": \"rgb(205, 183, 158)\",\n \"bisque4\": \"rgb(139, 125, 107)\",\n \"black\": \"rgb(0, 0, 0)\",\n \"blanchedalmond\": \"rgb(255, 235, 205)\",\n \"blue\": \"rgb(0, 0, 255)\",\n \"blue1\": \"rgb(0, 0, 255)\",\n \"blue2\": \"rgb(0, 0, 238)\",\n \"blue3\": \"rgb(0, 0, 205)\",\n \"blue4\": \"rgb(0, 0, 139)\",\n \"blueviolet\": \"rgb(138, 43, 226)\",\n \"brown\": \"rgb(165, 42, 42)\",\n \"brown1\": \"rgb(255, 64, 64)\",\n \"brown2\": \"rgb(238, 59, 59)\",\n \"brown3\": \"rgb(205, 51, 51)\",\n \"brown4\": \"rgb(139, 35, 35)\",\n \"burlywood\": \"rgb(222, 184, 135)\",\n \"burlywood1\": \"rgb(255, 211, 155)\",\n \"burlywood2\": \"rgb(238, 197, 145)\",\n \"burlywood3\": \"rgb(205, 170, 125)\",\n \"burlywood4\": \"rgb(139, 115, 85)\",\n \"cadetblue\": \"rgb(95, 158, 160)\",\n \"cadetblue1\": \"rgb(152, 245, 255)\",\n \"cadetblue2\": \"rgb(142, 229, 238)\",\n \"cadetblue3\": \"rgb(122, 197, 205)\",\n \"cadetblue4\": \"rgb(83, 134, 139)\",\n \"chartreuse\": \"rgb(127, 255, 0)\",\n \"chartreuse1\": \"rgb(127, 255, 0)\",\n \"chartreuse2\": \"rgb(118, 238, 0)\",\n \"chartreuse3\": \"rgb(102, 205, 0)\",\n \"chartreuse4\": \"rgb(69, 139, 0)\",\n \"chocolate\": \"rgb(210, 105, 30)\",\n \"chocolate1\": \"rgb(255, 127, 36)\",\n \"chocolate2\": \"rgb(238, 118, 33)\",\n \"chocolate3\": \"rgb(205, 102, 29)\",\n \"chocolate4\": \"rgb(139, 69, 19)\",\n \"coral\": \"rgb(255, 127, 80)\",\n \"coral1\": \"rgb(255, 114, 86)\",\n \"coral2\": \"rgb(238, 106, 80)\",\n \"coral3\": \"rgb(205, 91, 69)\",\n \"coral4\": \"rgb(139, 62, 47)\",\n \"cornflowerblue\": \"rgb(100, 149, 237)\",\n \"cornsilk\": \"rgb(255, 248, 220)\",\n \"cornsilk1\": \"rgb(255, 248, 220)\",\n \"cornsilk2\": \"rgb(238, 232, 205)\",\n \"cornsilk3\": \"rgb(205, 200, 177)\",\n \"cornsilk4\": \"rgb(139, 136, 120)\",\n \"cyan\": \"rgb(0, 255, 255)\",\n \"cyan1\": \"rgb(0, 255, 255)\",\n \"cyan2\": \"rgb(0, 238, 238)\",\n \"cyan3\": \"rgb(0, 205, 205)\",\n \"cyan4\": \"rgb(0, 139, 139)\",\n \"darkblue\": \"rgb(0, 0, 139)\",\n \"darkcyan\": \"rgb(0, 139, 139)\",\n \"darkgoldenrod\": \"rgb(184, 134, 11)\",\n \"darkgoldenrod1\": \"rgb(255, 185, 15)\",\n \"darkgoldenrod2\": \"rgb(238, 173, 14)\",\n \"darkgoldenrod3\": \"rgb(205, 149, 12)\",\n \"darkgoldenrod4\": \"rgb(139, 101, 8)\",\n \"darkgray\": \"rgb(169, 169, 169)\",\n \"darkgreen\": \"rgb(0, 100, 0)\",\n \"darkgrey\": \"rgb(169, 169, 169)\",\n \"darkkhaki\": \"rgb(189, 183, 107)\",\n \"darkmagenta\": \"rgb(139, 0, 139)\",\n \"darkolivegreen\": \"rgb(85, 107, 47)\",\n \"darkolivegreen1\": \"rgb(202, 255, 112)\",\n \"darkolivegreen2\": \"rgb(188, 238, 104)\",\n \"darkolivegreen3\": \"rgb(162, 205, 90)\",\n \"darkolivegreen4\": \"rgb(110, 139, 61)\",\n \"darkorange\": \"rgb(255, 140, 0)\",\n \"darkorange1\": \"rgb(255, 127, 0)\",\n \"darkorange2\": \"rgb(238, 118, 0)\",\n \"darkorange3\": \"rgb(205, 102, 0)\",\n \"darkorange4\": \"rgb(139, 69, 0)\",\n \"darkorchid\": \"rgb(153, 50, 204)\",\n \"darkorchid1\": \"rgb(191, 62, 255)\",\n \"darkorchid2\": \"rgb(178, 58, 238)\",\n \"darkorchid3\": \"rgb(154, 50, 205)\",\n \"darkorchid4\": \"rgb(104, 34, 139)\",\n \"darkred\": \"rgb(139, 0, 0)\",\n \"darksalmon\": \"rgb(233, 150, 122)\",\n \"darkseagreen\": \"rgb(143, 188, 143)\",\n \"darkseagreen1\": \"rgb(193, 255, 193)\",\n \"darkseagreen2\": \"rgb(180, 238, 180)\",\n \"darkseagreen3\": \"rgb(155, 205, 155)\",\n \"darkseagreen4\": \"rgb(105, 139, 105)\",\n \"darkslateblue\": \"rgb(72, 61, 139)\",\n \"darkslategray\": \"rgb(47, 79, 79)\",\n \"darkslategray1\": \"rgb(151, 255, 255)\",\n \"darkslategray2\": \"rgb(141, 238, 238)\",\n \"darkslategray3\": \"rgb(121, 205, 205)\",\n \"darkslategray4\": \"rgb(82, 139, 139)\",\n \"darkslategrey\": \"rgb(47, 79, 79)\",\n \"darkturquoise\": \"rgb(0, 206, 209)\",\n \"darkviolet\": \"rgb(148, 0, 211)\",\n \"debianred\": \"rgb(215, 7, 81)\",\n \"deeppink\": \"rgb(255, 20, 147)\",\n \"deeppink1\": \"rgb(255, 20, 147)\",\n \"deeppink2\": \"rgb(238, 18, 137)\",\n \"deeppink3\": \"rgb(205, 16, 118)\",\n \"deeppink4\": \"rgb(139, 10, 80)\",\n \"deepskyblue\": \"rgb(0, 191, 255)\",\n \"deepskyblue1\": \"rgb(0, 191, 255)\",\n \"deepskyblue2\": \"rgb(0, 178, 238)\",\n \"deepskyblue3\": \"rgb(0, 154, 205)\",\n \"deepskyblue4\": \"rgb(0, 104, 139)\",\n \"dimgray\": \"rgb(105, 105, 105)\",\n \"dimgrey\": \"rgb(105, 105, 105)\",\n \"dodgerblue\": \"rgb(30, 144, 255)\",\n \"dodgerblue1\": \"rgb(30, 144, 255)\",\n \"dodgerblue2\": \"rgb(28, 134, 238)\",\n \"dodgerblue3\": \"rgb(24, 116, 205)\",\n \"dodgerblue4\": \"rgb(16, 78, 139)\",\n \"firebrick\": \"rgb(178, 34, 34)\",\n \"firebrick1\": \"rgb(255, 48, 48)\",\n \"firebrick2\": \"rgb(238, 44, 44)\",\n \"firebrick3\": \"rgb(205, 38, 38)\",\n \"firebrick4\": \"rgb(139, 26, 26)\",\n \"floralwhite\": \"rgb(255, 250, 240)\",\n \"forestgreen\": \"rgb(34, 139, 34)\",\n \"gainsboro\": \"rgb(220, 220, 220)\",\n \"ghostwhite\": \"rgb(248, 248, 255)\",\n \"gold\": \"rgb(255, 215, 0)\",\n \"gold1\": \"rgb(255, 215, 0)\",\n \"gold2\": \"rgb(238, 201, 0)\",\n \"gold3\": \"rgb(205, 173, 0)\",\n \"gold4\": \"rgb(139, 117, 0)\",\n \"goldenrod\": \"rgb(218, 165, 32)\",\n \"goldenrod1\": \"rgb(255, 193, 37)\",\n \"goldenrod2\": \"rgb(238, 180, 34)\",\n \"goldenrod3\": \"rgb(205, 155, 29)\",\n \"goldenrod4\": \"rgb(139, 105, 20)\",\n \"gray\": \"rgb(190, 190, 190)\",\n \"gray0\": \"rgb(0, 0, 0)\",\n \"gray1\": \"rgb(3, 3, 3)\",\n \"gray10\": \"rgb(26, 26, 26)\",\n \"gray100\": \"rgb(255, 255, 255)\",\n \"gray11\": \"rgb(28, 28, 28)\",\n \"gray12\": \"rgb(31, 31, 31)\",\n \"gray13\": \"rgb(33, 33, 33)\",\n \"gray14\": \"rgb(36, 36, 36)\",\n \"gray15\": \"rgb(38, 38, 38)\",\n \"gray16\": \"rgb(41, 41, 41)\",\n \"gray17\": \"rgb(43, 43, 43)\",\n \"gray18\": \"rgb(46, 46, 46)\",\n \"gray19\": \"rgb(48, 48, 48)\",\n \"gray2\": \"rgb(5, 5, 5)\",\n \"gray20\": \"rgb(51, 51, 51)\",\n \"gray21\": \"rgb(54, 54, 54)\",\n \"gray22\": \"rgb(56, 56, 56)\",\n \"gray23\": \"rgb(59, 59, 59)\",\n \"gray24\": \"rgb(61, 61, 61)\",\n \"gray25\": \"rgb(64, 64, 64)\",\n \"gray26\": \"rgb(66, 66, 66)\",\n \"gray27\": \"rgb(69, 69, 69)\",\n \"gray28\": \"rgb(71, 71, 71)\",\n \"gray29\": \"rgb(74, 74, 74)\",\n \"gray3\": \"rgb(8, 8, 8)\",\n \"gray30\": \"rgb(77, 77, 77)\",\n \"gray31\": \"rgb(79, 79, 79)\",\n \"gray32\": \"rgb(82, 82, 82)\",\n \"gray33\": \"rgb(84, 84, 84)\",\n \"gray34\": \"rgb(87, 87, 87)\",\n \"gray35\": \"rgb(89, 89, 89)\",\n \"gray36\": \"rgb(92, 92, 92)\",\n \"gray37\": \"rgb(94, 94, 94)\",\n \"gray38\": \"rgb(97, 97, 97)\",\n \"gray39\": \"rgb(99, 99, 99)\",\n \"gray4\": \"rgb(10, 10, 10)\",\n \"gray40\": \"rgb(102, 102, 102)\",\n \"gray41\": \"rgb(105, 105, 105)\",\n \"gray42\": \"rgb(107, 107, 107)\",\n \"gray43\": \"rgb(110, 110, 110)\",\n \"gray44\": \"rgb(112, 112, 112)\",\n \"gray45\": \"rgb(115, 115, 115)\",\n \"gray46\": \"rgb(117, 117, 117)\",\n \"gray47\": \"rgb(120, 120, 120)\",\n \"gray48\": \"rgb(122, 122, 122)\",\n \"gray49\": \"rgb(125, 125, 125)\",\n \"gray5\": \"rgb(13, 13, 13)\",\n \"gray50\": \"rgb(127, 127, 127)\",\n \"gray51\": \"rgb(130, 130, 130)\",\n \"gray52\": \"rgb(133, 133, 133)\",\n \"gray53\": \"rgb(135, 135, 135)\",\n \"gray54\": \"rgb(138, 138, 138)\",\n \"gray55\": \"rgb(140, 140, 140)\",\n \"gray56\": \"rgb(143, 143, 143)\",\n \"gray57\": \"rgb(145, 145, 145)\",\n \"gray58\": \"rgb(148, 148, 148)\",\n \"gray59\": \"rgb(150, 150, 150)\",\n \"gray6\": \"rgb(15, 15, 15)\",\n \"gray60\": \"rgb(153, 153, 153)\",\n \"gray61\": \"rgb(156, 156, 156)\",\n \"gray62\": \"rgb(158, 158, 158)\",\n \"gray63\": \"rgb(161, 161, 161)\",\n \"gray64\": \"rgb(163, 163, 163)\",\n \"gray65\": \"rgb(166, 166, 166)\",\n \"gray66\": \"rgb(168, 168, 168)\",\n \"gray67\": \"rgb(171, 171, 171)\",\n \"gray68\": \"rgb(173, 173, 173)\",\n \"gray69\": \"rgb(176, 176, 176)\",\n \"gray7\": \"rgb(18, 18, 18)\",\n \"gray70\": \"rgb(179, 179, 179)\",\n \"gray71\": \"rgb(181, 181, 181)\",\n \"gray72\": \"rgb(184, 184, 184)\",\n \"gray73\": \"rgb(186, 186, 186)\",\n \"gray74\": \"rgb(189, 189, 189)\",\n \"gray75\": \"rgb(191, 191, 191)\",\n \"gray76\": \"rgb(194, 194, 194)\",\n \"gray77\": \"rgb(196, 196, 196)\",\n \"gray78\": \"rgb(199, 199, 199)\",\n \"gray79\": \"rgb(201, 201, 201)\",\n \"gray8\": \"rgb(20, 20, 20)\",\n \"gray80\": \"rgb(204, 204, 204)\",\n \"gray81\": \"rgb(207, 207, 207)\",\n \"gray82\": \"rgb(209, 209, 209)\",\n \"gray83\": \"rgb(212, 212, 212)\",\n \"gray84\": \"rgb(214, 214, 214)\",\n \"gray85\": \"rgb(217, 217, 217)\",\n \"gray86\": \"rgb(219, 219, 219)\",\n \"gray87\": \"rgb(222, 222, 222)\",\n \"gray88\": \"rgb(224, 224, 224)\",\n \"gray89\": \"rgb(227, 227, 227)\",\n \"gray9\": \"rgb(23, 23, 23)\",\n \"gray90\": \"rgb(229, 229, 229)\",\n \"gray91\": \"rgb(232, 232, 232)\",\n \"gray92\": \"rgb(235, 235, 235)\",\n \"gray93\": \"rgb(237, 237, 237)\",\n \"gray94\": \"rgb(240, 240, 240)\",\n \"gray95\": \"rgb(242, 242, 242)\",\n \"gray96\": \"rgb(245, 245, 245)\",\n \"gray97\": \"rgb(247, 247, 247)\",\n \"gray98\": \"rgb(250, 250, 250)\",\n \"gray99\": \"rgb(252, 252, 252)\",\n \"green\": \"rgb(0, 255, 0)\",\n \"green1\": \"rgb(0, 255, 0)\",\n \"green2\": \"rgb(0, 238, 0)\",\n \"green3\": \"rgb(0, 205, 0)\",\n \"green4\": \"rgb(0, 139, 0)\",\n \"greenyellow\": \"rgb(173, 255, 47)\",\n \"grey\": \"rgb(190, 190, 190)\",\n \"grey0\": \"rgb(0, 0, 0)\",\n \"grey1\": \"rgb(3, 3, 3)\",\n \"grey10\": \"rgb(26, 26, 26)\",\n \"grey100\": \"rgb(255, 255, 255)\",\n \"grey11\": \"rgb(28, 28, 28)\",\n \"grey12\": \"rgb(31, 31, 31)\",\n \"grey13\": \"rgb(33, 33, 33)\",\n \"grey14\": \"rgb(36, 36, 36)\",\n \"grey15\": \"rgb(38, 38, 38)\",\n \"grey16\": \"rgb(41, 41, 41)\",\n \"grey17\": \"rgb(43, 43, 43)\",\n \"grey18\": \"rgb(46, 46, 46)\",\n \"grey19\": \"rgb(48, 48, 48)\",\n \"grey2\": \"rgb(5, 5, 5)\",\n \"grey20\": \"rgb(51, 51, 51)\",\n \"grey21\": \"rgb(54, 54, 54)\",\n \"grey22\": \"rgb(56, 56, 56)\",\n \"grey23\": \"rgb(59, 59, 59)\",\n \"grey24\": \"rgb(61, 61, 61)\",\n \"grey25\": \"rgb(64, 64, 64)\",\n \"grey26\": \"rgb(66, 66, 66)\",\n \"grey27\": \"rgb(69, 69, 69)\",\n \"grey28\": \"rgb(71, 71, 71)\",\n \"grey29\": \"rgb(74, 74, 74)\",\n \"grey3\": \"rgb(8, 8, 8)\",\n \"grey30\": \"rgb(77, 77, 77)\",\n \"grey31\": \"rgb(79, 79, 79)\",\n \"grey32\": \"rgb(82, 82, 82)\",\n \"grey33\": \"rgb(84, 84, 84)\",\n \"grey34\": \"rgb(87, 87, 87)\",\n \"grey35\": \"rgb(89, 89, 89)\",\n \"grey36\": \"rgb(92, 92, 92)\",\n \"grey37\": \"rgb(94, 94, 94)\",\n \"grey38\": \"rgb(97, 97, 97)\",\n \"grey39\": \"rgb(99, 99, 99)\",\n \"grey4\": \"rgb(10, 10, 10)\",\n \"grey40\": \"rgb(102, 102, 102)\",\n \"grey41\": \"rgb(105, 105, 105)\",\n \"grey42\": \"rgb(107, 107, 107)\",\n \"grey43\": \"rgb(110, 110, 110)\",\n \"grey44\": \"rgb(112, 112, 112)\",\n \"grey45\": \"rgb(115, 115, 115)\",\n \"grey46\": \"rgb(117, 117, 117)\",\n \"grey47\": \"rgb(120, 120, 120)\",\n \"grey48\": \"rgb(122, 122, 122)\",\n \"grey49\": \"rgb(125, 125, 125)\",\n \"grey5\": \"rgb(13, 13, 13)\",\n \"grey50\": \"rgb(127, 127, 127)\",\n \"grey51\": \"rgb(130, 130, 130)\",\n \"grey52\": \"rgb(133, 133, 133)\",\n \"grey53\": \"rgb(135, 135, 135)\",\n \"grey54\": \"rgb(138, 138, 138)\",\n \"grey55\": \"rgb(140, 140, 140)\",\n \"grey56\": \"rgb(143, 143, 143)\",\n \"grey57\": \"rgb(145, 145, 145)\",\n \"grey58\": \"rgb(148, 148, 148)\",\n \"grey59\": \"rgb(150, 150, 150)\",\n \"grey6\": \"rgb(15, 15, 15)\",\n \"grey60\": \"rgb(153, 153, 153)\",\n \"grey61\": \"rgb(156, 156, 156)\",\n \"grey62\": \"rgb(158, 158, 158)\",\n \"grey63\": \"rgb(161, 161, 161)\",\n \"grey64\": \"rgb(163, 163, 163)\",\n \"grey65\": \"rgb(166, 166, 166)\",\n \"grey66\": \"rgb(168, 168, 168)\",\n \"grey67\": \"rgb(171, 171, 171)\",\n \"grey68\": \"rgb(173, 173, 173)\",\n \"grey69\": \"rgb(176, 176, 176)\",\n \"grey7\": \"rgb(18, 18, 18)\",\n \"grey70\": \"rgb(179, 179, 179)\",\n \"grey71\": \"rgb(181, 181, 181)\",\n \"grey72\": \"rgb(184, 184, 184)\",\n \"grey73\": \"rgb(186, 186, 186)\",\n \"grey74\": \"rgb(189, 189, 189)\",\n \"grey75\": \"rgb(191, 191, 191)\",\n \"grey76\": \"rgb(194, 194, 194)\",\n \"grey77\": \"rgb(196, 196, 196)\",\n \"grey78\": \"rgb(199, 199, 199)\",\n \"grey79\": \"rgb(201, 201, 201)\",\n \"grey8\": \"rgb(20, 20, 20)\",\n \"grey80\": \"rgb(204, 204, 204)\",\n \"grey81\": \"rgb(207, 207, 207)\",\n \"grey82\": \"rgb(209, 209, 209)\",\n \"grey83\": \"rgb(212, 212, 212)\",\n \"grey84\": \"rgb(214, 214, 214)\",\n \"grey85\": \"rgb(217, 217, 217)\",\n \"grey86\": \"rgb(219, 219, 219)\",\n \"grey87\": \"rgb(222, 222, 222)\",\n \"grey88\": \"rgb(224, 224, 224)\",\n \"grey89\": \"rgb(227, 227, 227)\",\n \"grey9\": \"rgb(23, 23, 23)\",\n \"grey90\": \"rgb(229, 229, 229)\",\n \"grey91\": \"rgb(232, 232, 232)\",\n \"grey92\": \"rgb(235, 235, 235)\",\n \"grey93\": \"rgb(237, 237, 237)\",\n \"grey94\": \"rgb(240, 240, 240)\",\n \"grey95\": \"rgb(242, 242, 242)\",\n \"grey96\": \"rgb(245, 245, 245)\",\n \"grey97\": \"rgb(247, 247, 247)\",\n \"grey98\": \"rgb(250, 250, 250)\",\n \"grey99\": \"rgb(252, 252, 252)\",\n \"honeydew\": \"rgb(240, 255, 240)\",\n \"honeydew1\": \"rgb(240, 255, 240)\",\n \"honeydew2\": \"rgb(224, 238, 224)\",\n \"honeydew3\": \"rgb(193, 205, 193)\",\n \"honeydew4\": \"rgb(131, 139, 131)\",\n \"hotpink\": \"rgb(255, 105, 180)\",\n \"hotpink1\": \"rgb(255, 110, 180)\",\n \"hotpink2\": \"rgb(238, 106, 167)\",\n \"hotpink3\": \"rgb(205, 96, 144)\",\n \"hotpink4\": \"rgb(139, 58, 98)\",\n \"indianred\": \"rgb(205, 92, 92)\",\n \"indianred1\": \"rgb(255, 106, 106)\",\n \"indianred2\": \"rgb(238, 99, 99)\",\n \"indianred3\": \"rgb(205, 85, 85)\",\n \"indianred4\": \"rgb(139, 58, 58)\",\n \"ivory\": \"rgb(255, 255, 240)\",\n \"ivory1\": \"rgb(255, 255, 240)\",\n \"ivory2\": \"rgb(238, 238, 224)\",\n \"ivory3\": \"rgb(205, 205, 193)\",\n \"ivory4\": \"rgb(139, 139, 131)\",\n \"khaki\": \"rgb(240, 230, 140)\",\n \"khaki1\": \"rgb(255, 246, 143)\",\n \"khaki2\": \"rgb(238, 230, 133)\",\n \"khaki3\": \"rgb(205, 198, 115)\",\n \"khaki4\": \"rgb(139, 134, 78)\",\n \"lavender\": \"rgb(230, 230, 250)\",\n \"lavenderblush\": \"rgb(255, 240, 245)\",\n \"lavenderblush1\": \"rgb(255, 240, 245)\",\n \"lavenderblush2\": \"rgb(238, 224, 229)\",\n \"lavenderblush3\": \"rgb(205, 193, 197)\",\n \"lavenderblush4\": \"rgb(139, 131, 134)\",\n \"lawngreen\": \"rgb(124, 252, 0)\",\n \"lemonchiffon\": \"rgb(255, 250, 205)\",\n \"lemonchiffon1\": \"rgb(255, 250, 205)\",\n \"lemonchiffon2\": \"rgb(238, 233, 191)\",\n \"lemonchiffon3\": \"rgb(205, 201, 165)\",\n \"lemonchiffon4\": \"rgb(139, 137, 112)\",\n \"lightblue\": \"rgb(173, 216, 230)\",\n \"lightblue1\": \"rgb(191, 239, 255)\",\n \"lightblue2\": \"rgb(178, 223, 238)\",\n \"lightblue3\": \"rgb(154, 192, 205)\",\n \"lightblue4\": \"rgb(104, 131, 139)\",\n \"lightcoral\": \"rgb(240, 128, 128)\",\n \"lightcyan\": \"rgb(224, 255, 255)\",\n \"lightcyan1\": \"rgb(224, 255, 255)\",\n \"lightcyan2\": \"rgb(209, 238, 238)\",\n \"lightcyan3\": \"rgb(180, 205, 205)\",\n \"lightcyan4\": \"rgb(122, 139, 139)\",\n \"lightgoldenrod\": \"rgb(238, 221, 130)\",\n \"lightgoldenrod1\": \"rgb(255, 236, 139)\",\n \"lightgoldenrod2\": \"rgb(238, 220, 130)\",\n \"lightgoldenrod3\": \"rgb(205, 190, 112)\",\n \"lightgoldenrod4\": \"rgb(139, 129, 76)\",\n \"lightgoldenrodyellow\": \"rgb(250, 250, 210)\",\n \"lightgray\": \"rgb(211, 211, 211)\",\n \"lightgreen\": \"rgb(144, 238, 144)\",\n \"lightgrey\": \"rgb(211, 211, 211)\",\n \"lightpink\": \"rgb(255, 182, 193)\",\n \"lightpink1\": \"rgb(255, 174, 185)\",\n \"lightpink2\": \"rgb(238, 162, 173)\",\n \"lightpink3\": \"rgb(205, 140, 149)\",\n \"lightpink4\": \"rgb(139, 95, 101)\",\n \"lightsalmon\": \"rgb(255, 160, 122)\",\n \"lightsalmon1\": \"rgb(255, 160, 122)\",\n \"lightsalmon2\": \"rgb(238, 149, 114)\",\n \"lightsalmon3\": \"rgb(205, 129, 98)\",\n \"lightsalmon4\": \"rgb(139, 87, 66)\",\n \"lightseagreen\": \"rgb(32, 178, 170)\",\n \"lightskyblue\": \"rgb(135, 206, 250)\",\n \"lightskyblue1\": \"rgb(176, 226, 255)\",\n \"lightskyblue2\": \"rgb(164, 211, 238)\",\n \"lightskyblue3\": \"rgb(141, 182, 205)\",\n \"lightskyblue4\": \"rgb(96, 123, 139)\",\n \"lightslateblue\": \"rgb(132, 112, 255)\",\n \"lightslategray\": \"rgb(119, 136, 153)\",\n \"lightslategrey\": \"rgb(119, 136, 153)\",\n \"lightsteelblue\": \"rgb(176, 196, 222)\",\n \"lightsteelblue1\": \"rgb(202, 225, 255)\",\n \"lightsteelblue2\": \"rgb(188, 210, 238)\",\n \"lightsteelblue3\": \"rgb(162, 181, 205)\",\n \"lightsteelblue4\": \"rgb(110, 123, 139)\",\n \"lightyellow\": \"rgb(255, 255, 224)\",\n \"lightyellow1\": \"rgb(255, 255, 224)\",\n \"lightyellow2\": \"rgb(238, 238, 209)\",\n \"lightyellow3\": \"rgb(205, 205, 180)\",\n \"lightyellow4\": \"rgb(139, 139, 122)\",\n \"limegreen\": \"rgb(50, 205, 50)\",\n \"linen\": \"rgb(250, 240, 230)\",\n \"magenta\": \"rgb(255, 0, 255)\",\n \"magenta1\": \"rgb(255, 0, 255)\",\n \"magenta2\": \"rgb(238, 0, 238)\",\n \"magenta3\": \"rgb(205, 0, 205)\",\n \"magenta4\": \"rgb(139, 0, 139)\",\n \"maroon\": \"rgb(176, 48, 96)\",\n \"maroon1\": \"rgb(255, 52, 179)\",\n \"maroon2\": \"rgb(238, 48, 167)\",\n \"maroon3\": \"rgb(205, 41, 144)\",\n \"maroon4\": \"rgb(139, 28, 98)\",\n \"mediumaquamarine\": \"rgb(102, 205, 170)\",\n \"mediumblue\": \"rgb(0, 0, 205)\",\n \"mediumorchid\": \"rgb(186, 85, 211)\",\n \"mediumorchid1\": \"rgb(224, 102, 255)\",\n \"mediumorchid2\": \"rgb(209, 95, 238)\",\n \"mediumorchid3\": \"rgb(180, 82, 205)\",\n \"mediumorchid4\": \"rgb(122, 55, 139)\",\n \"mediumpurple\": \"rgb(147, 112, 219)\",\n \"mediumpurple1\": \"rgb(171, 130, 255)\",\n \"mediumpurple2\": \"rgb(159, 121, 238)\",\n \"mediumpurple3\": \"rgb(137, 104, 205)\",\n \"mediumpurple4\": \"rgb(93, 71, 139)\",\n \"mediumseagreen\": \"rgb(60, 179, 113)\",\n \"mediumslateblue\": \"rgb(123, 104, 238)\",\n \"mediumspringgreen\": \"rgb(0, 250, 154)\",\n \"mediumturquoise\": \"rgb(72, 209, 204)\",\n \"mediumvioletred\": \"rgb(199, 21, 133)\",\n \"midnightblue\": \"rgb(25, 25, 112)\",\n \"mintcream\": \"rgb(245, 255, 250)\",\n \"mistyrose\": \"rgb(255, 228, 225)\",\n \"mistyrose1\": \"rgb(255, 228, 225)\",\n \"mistyrose2\": \"rgb(238, 213, 210)\",\n \"mistyrose3\": \"rgb(205, 183, 181)\",\n \"mistyrose4\": \"rgb(139, 125, 123)\",\n \"moccasin\": \"rgb(255, 228, 181)\",\n \"navajowhite\": \"rgb(255, 222, 173)\",\n \"navajowhite1\": \"rgb(255, 222, 173)\",\n \"navajowhite2\": \"rgb(238, 207, 161)\",\n \"navajowhite3\": \"rgb(205, 179, 139)\",\n \"navajowhite4\": \"rgb(139, 121, 94)\",\n \"navy\": \"rgb(0, 0, 128)\",\n \"navyblue\": \"rgb(0, 0, 128)\",\n \"oldlace\": \"rgb(253, 245, 230)\",\n \"olivedrab\": \"rgb(107, 142, 35)\",\n \"olivedrab1\": \"rgb(192, 255, 62)\",\n \"olivedrab2\": \"rgb(179, 238, 58)\",\n \"olivedrab3\": \"rgb(154, 205, 50)\",\n \"olivedrab4\": \"rgb(105, 139, 34)\",\n \"orange\": \"rgb(255, 165, 0)\",\n \"orange1\": \"rgb(255, 165, 0)\",\n \"orange2\": \"rgb(238, 154, 0)\",\n \"orange3\": \"rgb(205, 133, 0)\",\n \"orange4\": \"rgb(139, 90, 0)\",\n \"orangered\": \"rgb(255, 69, 0)\",\n \"orangered1\": \"rgb(255, 69, 0)\",\n \"orangered2\": \"rgb(238, 64, 0)\",\n \"orangered3\": \"rgb(205, 55, 0)\",\n \"orangered4\": \"rgb(139, 37, 0)\",\n \"orchid\": \"rgb(218, 112, 214)\",\n \"orchid1\": \"rgb(255, 131, 250)\",\n \"orchid2\": \"rgb(238, 122, 233)\",\n \"orchid3\": \"rgb(205, 105, 201)\",\n \"orchid4\": \"rgb(139, 71, 137)\",\n \"palegoldenrod\": \"rgb(238, 232, 170)\",\n \"palegreen\": \"rgb(152, 251, 152)\",\n \"palegreen1\": \"rgb(154, 255, 154)\",\n \"palegreen2\": \"rgb(144, 238, 144)\",\n \"palegreen3\": \"rgb(124, 205, 124)\",\n \"palegreen4\": \"rgb(84, 139, 84)\",\n \"paleturquoise\": \"rgb(175, 238, 238)\",\n \"paleturquoise1\": \"rgb(187, 255, 255)\",\n \"paleturquoise2\": \"rgb(174, 238, 238)\",\n \"paleturquoise3\": \"rgb(150, 205, 205)\",\n \"paleturquoise4\": \"rgb(102, 139, 139)\",\n \"palevioletred\": \"rgb(219, 112, 147)\",\n \"palevioletred1\": \"rgb(255, 130, 171)\",\n \"palevioletred2\": \"rgb(238, 121, 159)\",\n \"palevioletred3\": \"rgb(205, 104, 137)\",\n \"palevioletred4\": \"rgb(139, 71, 93)\",\n \"papayawhip\": \"rgb(255, 239, 213)\",\n \"peachpuff\": \"rgb(255, 218, 185)\",\n \"peachpuff1\": \"rgb(255, 218, 185)\",\n \"peachpuff2\": \"rgb(238, 203, 173)\",\n \"peachpuff3\": \"rgb(205, 175, 149)\",\n \"peachpuff4\": \"rgb(139, 119, 101)\",\n \"peru\": \"rgb(205, 133, 63)\",\n \"pink\": \"rgb(255, 192, 203)\",\n \"pink1\": \"rgb(255, 181, 197)\",\n \"pink2\": \"rgb(238, 169, 184)\",\n \"pink3\": \"rgb(205, 145, 158)\",\n \"pink4\": \"rgb(139, 99, 108)\",\n \"plum\": \"rgb(221, 160, 221)\",\n \"plum1\": \"rgb(255, 187, 255)\",\n \"plum2\": \"rgb(238, 174, 238)\",\n \"plum3\": \"rgb(205, 150, 205)\",\n \"plum4\": \"rgb(139, 102, 139)\",\n \"powderblue\": \"rgb(176, 224, 230)\",\n \"purple\": \"rgb(160, 32, 240)\",\n \"purple1\": \"rgb(155, 48, 255)\",\n \"purple2\": \"rgb(145, 44, 238)\",\n \"purple3\": \"rgb(125, 38, 205)\",\n \"purple4\": \"rgb(85, 26, 139)\",\n \"red\": \"rgb(255, 0, 0)\",\n \"red1\": \"rgb(255, 0, 0)\",\n \"red2\": \"rgb(238, 0, 0)\",\n \"red3\": \"rgb(205, 0, 0)\",\n \"red4\": \"rgb(139, 0, 0)\",\n \"rosybrown\": \"rgb(188, 143, 143)\",\n \"rosybrown1\": \"rgb(255, 193, 193)\",\n \"rosybrown2\": \"rgb(238, 180, 180)\",\n \"rosybrown3\": \"rgb(205, 155, 155)\",\n \"rosybrown4\": \"rgb(139, 105, 105)\",\n \"royalblue\": \"rgb(65, 105, 225)\",\n \"royalblue1\": \"rgb(72, 118, 255)\",\n \"royalblue2\": \"rgb(67, 110, 238)\",\n \"royalblue3\": \"rgb(58, 95, 205)\",\n \"royalblue4\": \"rgb(39, 64, 139)\",\n \"saddlebrown\": \"rgb(139, 69, 19)\",\n \"salmon\": \"rgb(250, 128, 114)\",\n \"salmon1\": \"rgb(255, 140, 105)\",\n \"salmon2\": \"rgb(238, 130, 98)\",\n \"salmon3\": \"rgb(205, 112, 84)\",\n \"salmon4\": \"rgb(139, 76, 57)\",\n \"sandybrown\": \"rgb(244, 164, 96)\",\n \"seagreen\": \"rgb(46, 139, 87)\",\n \"seagreen1\": \"rgb(84, 255, 159)\",\n \"seagreen2\": \"rgb(78, 238, 148)\",\n \"seagreen3\": \"rgb(67, 205, 128)\",\n \"seagreen4\": \"rgb(46, 139, 87)\",\n \"seashell\": \"rgb(255, 245, 238)\",\n \"seashell1\": \"rgb(255, 245, 238)\",\n \"seashell2\": \"rgb(238, 229, 222)\",\n \"seashell3\": \"rgb(205, 197, 191)\",\n \"seashell4\": \"rgb(139, 134, 130)\",\n \"sienna\": \"rgb(160, 82, 45)\",\n \"sienna1\": \"rgb(255, 130, 71)\",\n \"sienna2\": \"rgb(238, 121, 66)\",\n \"sienna3\": \"rgb(205, 104, 57)\",\n \"sienna4\": \"rgb(139, 71, 38)\",\n \"skyblue\": \"rgb(135, 206, 235)\",\n \"skyblue1\": \"rgb(135, 206, 255)\",\n \"skyblue2\": \"rgb(126, 192, 238)\",\n \"skyblue3\": \"rgb(108, 166, 205)\",\n \"skyblue4\": \"rgb(74, 112, 139)\",\n \"slateblue\": \"rgb(106, 90, 205)\",\n \"slateblue1\": \"rgb(131, 111, 255)\",\n \"slateblue2\": \"rgb(122, 103, 238)\",\n \"slateblue3\": \"rgb(105, 89, 205)\",\n \"slateblue4\": \"rgb(71, 60, 139)\",\n \"slategray\": \"rgb(112, 128, 144)\",\n \"slategray1\": \"rgb(198, 226, 255)\",\n \"slategray2\": \"rgb(185, 211, 238)\",\n \"slategray3\": \"rgb(159, 182, 205)\",\n \"slategray4\": \"rgb(108, 123, 139)\",\n \"slategrey\": \"rgb(112, 128, 144)\",\n \"snow\": \"rgb(255, 250, 250)\",\n \"snow1\": \"rgb(255, 250, 250)\",\n \"snow2\": \"rgb(238, 233, 233)\",\n \"snow3\": \"rgb(205, 201, 201)\",\n \"snow4\": \"rgb(139, 137, 137)\",\n \"springgreen\": \"rgb(0, 255, 127)\",\n \"springgreen1\": \"rgb(0, 255, 127)\",\n \"springgreen2\": \"rgb(0, 238, 118)\",\n \"springgreen3\": \"rgb(0, 205, 102)\",\n \"springgreen4\": \"rgb(0, 139, 69)\",\n \"steelblue\": \"rgb(70, 130, 180)\",\n \"steelblue1\": \"rgb(99, 184, 255)\",\n \"steelblue2\": \"rgb(92, 172, 238)\",\n \"steelblue3\": \"rgb(79, 148, 205)\",\n \"steelblue4\": \"rgb(54, 100, 139)\",\n \"tan\": \"rgb(210, 180, 140)\",\n \"tan1\": \"rgb(255, 165, 79)\",\n \"tan2\": \"rgb(238, 154, 73)\",\n \"tan3\": \"rgb(205, 133, 63)\",\n \"tan4\": \"rgb(139, 90, 43)\",\n \"thistle\": \"rgb(216, 191, 216)\",\n \"thistle1\": \"rgb(255, 225, 255)\",\n \"thistle2\": \"rgb(238, 210, 238)\",\n \"thistle3\": \"rgb(205, 181, 205)\",\n \"thistle4\": \"rgb(139, 123, 139)\",\n \"tomato\": \"rgb(255, 99, 71)\",\n \"tomato1\": \"rgb(255, 99, 71)\",\n \"tomato2\": \"rgb(238, 92, 66)\",\n \"tomato3\": \"rgb(205, 79, 57)\",\n \"tomato4\": \"rgb(139, 54, 38)\",\n \"turquoise\": \"rgb(64, 224, 208)\",\n \"turquoise1\": \"rgb(0, 245, 255)\",\n \"turquoise2\": \"rgb(0, 229, 238)\",\n \"turquoise3\": \"rgb(0, 197, 205)\",\n \"turquoise4\": \"rgb(0, 134, 139)\",\n \"violet\": \"rgb(238, 130, 238)\",\n \"violetred\": \"rgb(208, 32, 144)\",\n \"violetred1\": \"rgb(255, 62, 150)\",\n \"violetred2\": \"rgb(238, 58, 140)\",\n \"violetred3\": \"rgb(205, 50, 120)\",\n \"violetred4\": \"rgb(139, 34, 82)\",\n \"wheat\": \"rgb(245, 222, 179)\",\n \"wheat1\": \"rgb(255, 231, 186)\",\n \"wheat2\": \"rgb(238, 216, 174)\",\n \"wheat3\": \"rgb(205, 186, 150)\",\n \"wheat4\": \"rgb(139, 126, 102)\",\n \"white\": \"rgb(255, 255, 255)\",\n \"whitesmoke\": \"rgb(245, 245, 245)\",\n \"yellow\": \"rgb(255, 255, 0)\",\n \"yellow1\": \"rgb(255, 255, 0)\",\n \"yellow2\": \"rgb(238, 238, 0)\",\n \"yellow3\": \"rgb(205, 205, 0)\",\n \"yellow4\": \"rgb(139, 139, 0)\",\n \"yellowgreen\": \"rgb(154, 205, 50)\"\n};\n// SOURCE FILE: libdot/js/lib_f.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * Grab bag of utility functions.\n */\nlib.f = {};\n\n/**\n * Create a unique enum value.\n *\n * @suppress {lintChecks}\n * @param {string} name A human friendly name for debugging.\n * @return {Object} A unique enum that won't compare equal to anything else.\n */\nlib.f.createEnum = function(name) {\n // We use a String object as nothing else should be using them -- we want to\n // use string primitives normally. But debuggers will include our name.\n return new String(name);\n};\n\n/**\n * Replace variable references in a string.\n *\n * Variables are of the form %FUNCTION(VARNAME). FUNCTION is an optional\n * escape function to apply to the value.\n *\n * For example\n * lib.f.replaceVars(\"%(greeting), %encodeURIComponent(name)\",\n * { greeting: \"Hello\",\n * name: \"Google+\" });\n *\n * Will result in \"Hello, Google%2B\".\n */\nlib.f.replaceVars = function(str, vars) {\n return str.replace(/%([a-z]*)\\(([^\\)]+)\\)/gi, function(match, fn, varname) {\n if (typeof vars[varname] == 'undefined')\n throw 'Unknown variable: ' + varname;\n\n var rv = vars[varname];\n\n if (fn in lib.f.replaceVars.functions) {\n rv = lib.f.replaceVars.functions[fn](rv);\n } else if (fn) {\n throw 'Unknown escape function: ' + fn;\n }\n\n return rv;\n });\n};\n\n/**\n * Functions that can be used with replaceVars.\n *\n * Clients can add to this list to extend lib.f.replaceVars().\n */\nlib.f.replaceVars.functions = {\n encodeURI: encodeURI,\n encodeURIComponent: encodeURIComponent,\n escapeHTML: function(str) {\n var map = {\n '<': '<',\n '>': '>',\n '&': '&',\n '\"': '"',\n \"'\": '''\n };\n\n return str.replace(/[<>&\\\"\\']/g, function(m) { return map[m] });\n }\n};\n\n/**\n * Get the list of accepted UI languages.\n *\n * @param {function(Array)} callback Function to invoke with the results. The\n * parameter is a list of locale names.\n */\nlib.f.getAcceptLanguages = function(callback) {\n if (lib.f.getAcceptLanguages.chromeSupported()) {\n chrome.i18n.getAcceptLanguages(callback);\n } else {\n setTimeout(function() {\n callback([navigator.language.replace(/-/g, '_')]);\n }, 0);\n }\n};\n\nlib.f.getAcceptLanguages.chromeSupported = function() {\n return window.chrome && chrome.i18n;\n};\n\n/**\n * Parse a query string into a hash.\n *\n * This takes a url query string in the form 'name1=value&name2=value' and\n * converts it into an object of the form { name1: 'value', name2: 'value' }.\n * If a given name appears multiple times in the query string, only the\n * last value will appear in the result.\n *\n * Names and values are passed through decodeURIComponent before being added\n * to the result object.\n *\n * @param {string} queryString The string to parse. If it starts with a\n * leading '?', the '?' will be ignored.\n */\nlib.f.parseQuery = function(queryString) {\n if (queryString.startsWith('?'))\n queryString = queryString.substr(1);\n\n var rv = {};\n\n var pairs = queryString.split('&');\n for (var i = 0; i < pairs.length; i++) {\n var pair = pairs[i].split('=');\n rv[decodeURIComponent(pair[0])] = decodeURIComponent(pair[1]);\n }\n\n return rv;\n};\n\nlib.f.getURL = function(path) {\n if (lib.f.getURL.chromeSupported())\n return chrome.runtime.getURL(path);\n\n return path;\n};\n\nlib.f.getURL.chromeSupported = function() {\n return window.chrome && chrome.runtime && chrome.runtime.getURL;\n};\n\n/**\n * Clamp a given integer to a specified range.\n *\n * @param {integer} v The value to be clamped.\n * @param {integer} min The minimum acceptable value.\n * @param {integer} max The maximum acceptable value.\n */\nlib.f.clamp = function(v, min, max) {\n if (v < min)\n return min;\n if (v > max)\n return max;\n return v;\n};\n\n/**\n * Left pad a number to a given length with leading zeros.\n *\n * @param {string|integer} number The number to pad.\n * @param {integer} length The desired length.\n * @return {string} The padded number as a string.\n */\nlib.f.zpad = function(number, length) {\n return String(number).padStart(length, '0');\n};\n\n/**\n * Return a string containing a given number of space characters.\n *\n * This method maintains a static cache of the largest amount of whitespace\n * ever requested. It shouldn't be used to generate an insanely huge amount of\n * whitespace.\n *\n * @param {integer} length The desired amount of whitespace.\n * @param {string} A string of spaces of the requested length.\n */\nlib.f.getWhitespace = function(length) {\n if (length <= 0)\n return '';\n\n var f = this.getWhitespace;\n if (!f.whitespace)\n f.whitespace = ' ';\n\n while (length > f.whitespace.length) {\n f.whitespace += f.whitespace;\n }\n\n return f.whitespace.substr(0, length);\n};\n\n /**\n * Ensure that a function is called within a certain time limit.\n *\n * Simple usage looks like this...\n *\n * lib.registerInit(lib.f.alarm(onInit));\n *\n * This will log a warning to the console if onInit() is not invoked within\n * 5 seconds.\n *\n * If you're performing some operation that may take longer than 5 seconds you\n * can pass a duration in milliseconds as the optional second parameter.\n *\n * If you pass a string identifier instead of a callback function, you'll get a\n * wrapper generator rather than a single wrapper. Each call to the\n * generator will return a wrapped version of the callback wired to\n * a shared timeout. This is for cases where you want to ensure that at least\n * one of a set of callbacks is invoked before a timeout expires.\n *\n * var alarm = lib.f.alarm('fetch object');\n * lib.foo.fetchObject(alarm(onSuccess), alarm(onFailure));\n *\n * @param {function(*)} callback The function to wrap in an alarm.\n * @param {int} opt_ms Optional number of milliseconds to wait before raising\n * an alarm. Default is 5000 (5 seconds).\n * @return {function} If callback is a function then the return value will be\n * the wrapped callback. If callback is a string then the return value will\n * be a function that generates new wrapped callbacks.\n */\nlib.f.alarm = function(callback, opt_ms) {\n var ms = opt_ms || 5 * 1000;\n var stack = lib.f.getStack(1);\n\n return (function() {\n // This outer function is called immediately. It's here to capture a new\n // scope for the timeout variable.\n\n // The 'timeout' variable is shared by this timeout function, and the\n // callback wrapper.\n var timeout = setTimeout(function() {\n var name = (typeof callback == 'string') ? name : callback.name;\n name = name ? (': ' + name) : '';\n console.warn('lib.f.alarm: timeout expired: ' + (ms / 1000) + 's' + name);\n console.log(stack);\n timeout = null;\n }, ms);\n\n var wrapperGenerator = function(callback) {\n return function() {\n if (timeout) {\n clearTimeout(timeout);\n timeout = null;\n }\n\n return callback.apply(null, arguments);\n }\n };\n\n if (typeof callback == 'string')\n return wrapperGenerator;\n\n return wrapperGenerator(callback);\n })();\n};\n\n/**\n * Return the current call stack after skipping a given number of frames.\n *\n * This method is intended to be used for debugging only. It returns an\n * Object instead of an Array, because the console stringifies arrays by\n * default and that's not what we want.\n *\n * A typical call might look like...\n *\n * console.log('Something wicked this way came', lib.f.getStack());\n * // Notice the comma ^\n *\n * This would print the message to the js console, followed by an object\n * which can be clicked to reveal the stack.\n *\n * @param {number} opt_ignoreFrames The optional number of stack frames to\n * ignore. The actual 'getStack' call is always ignored.\n */\nlib.f.getStack = function(opt_ignoreFrames) {\n var ignoreFrames = opt_ignoreFrames ? opt_ignoreFrames + 2 : 2;\n\n var stackArray;\n\n try {\n throw new Error();\n } catch (ex) {\n stackArray = ex.stack.split('\\n');\n }\n\n var stackObject = {};\n for (var i = ignoreFrames; i < stackArray.length; i++) {\n stackObject[i - ignoreFrames] = stackArray[i].replace(/^\\s*at\\s+/, '');\n }\n\n return stackObject;\n};\n\n/**\n * Divides the two numbers and floors the results, unless the remainder is less\n * than an incredibly small value, in which case it returns the ceiling.\n * This is useful when the number are truncated approximations of longer\n * values, and so doing division with these numbers yields a result incredibly\n * close to a whole number.\n *\n * @param {number} numerator\n * @param {number} denominator\n * @return {number}\n */\nlib.f.smartFloorDivide = function(numerator, denominator) {\n var val = numerator / denominator;\n var ceiling = Math.ceil(val);\n if (ceiling - val < .0001) {\n return ceiling;\n } else {\n return Math.floor(val);\n }\n};\n\n/**\n * Get a random integer in a range (inclusive).\n *\n * @param {number} min The lowest integer in the range.\n * @param {number} max The highest integer in the range.\n * @return {number} A random number between min & max.\n */\nlib.f.randomInt = function(min, max) {\n return Math.floor(Math.random() * (max - min + 1)) + min;\n};\n// SOURCE FILE: libdot/js/lib_message_manager.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * MessageManager class handles internationalized strings.\n *\n * Note: chrome.i18n isn't sufficient because...\n * 1. There's a bug in chrome that makes it unavailable in iframes:\n * https://crbug.com/130200\n * 2. The client code may not be packaged in a Chrome extension.\n * 3. The client code may be part of a library packaged in a third-party\n * Chrome extension.\n *\n * @param {Array} languages List of languages to load, in the order they\n * should be loaded. Newer messages replace older ones. 'en' is\n * automatically added as the first language if it is not already present.\n */\nlib.MessageManager = function(languages) {\n this.languages_ = languages.map(\n function(el) { return el.replace(/-/g, '_') });\n\n if (this.languages_.indexOf('en') == -1)\n this.languages_.unshift('en');\n\n this.messages = {};\n};\n\n/**\n * Add message definitions to the message manager.\n *\n * This takes an object of the same format of a Chrome messages.json file. See\n * .\n */\nlib.MessageManager.prototype.addMessages = function(defs) {\n for (var key in defs) {\n var def = defs[key];\n\n if (!def.placeholders) {\n this.messages[key] = def.message;\n } else {\n // Replace \"$NAME$\" placeholders with \"$1\", etc.\n this.messages[key] = def.message.replace(\n /\\$([a-z][^\\s\\$]+)\\$/ig,\n function(m, name) {\n return defs[key].placeholders[name.toLowerCase()].content;\n });\n }\n }\n};\n\n/**\n * Load the first available language message bundle.\n *\n * @param {string} pattern A url pattern containing a \"$1\" where the locale\n * name should go.\n * @param {function(Array,Array)} onComplete Function to be called when loading\n * is complete. The two arrays are the list of successful and failed\n * locale names. If the first parameter is length 0, no locales were\n * loaded.\n */\nlib.MessageManager.prototype.findAndLoadMessages = function(\n pattern, onComplete) {\n var languages = this.languages_.concat();\n var loaded = [];\n var failed = [];\n\n function onLanguageComplete(state) {\n if (state) {\n loaded = languages.shift();\n } else {\n failed = languages.shift();\n }\n\n if (languages.length) {\n tryNextLanguage();\n } else {\n onComplete(loaded, failed);\n }\n }\n\n var tryNextLanguage = function() {\n this.loadMessages(this.replaceReferences(pattern, languages),\n onLanguageComplete.bind(this, true),\n onLanguageComplete.bind(this, false));\n }.bind(this);\n\n tryNextLanguage();\n};\n\n/**\n * Load messages from a messages.json file.\n */\nlib.MessageManager.prototype.loadMessages = function(\n url, onSuccess, opt_onError) {\n var xhr = new XMLHttpRequest();\n\n xhr.onloadend = function() {\n if (xhr.status != 200) {\n if (opt_onError)\n opt_onError(xhr.status);\n\n return;\n }\n\n this.addMessages(JSON.parse(xhr.responseText));\n onSuccess();\n }.bind(this);\n\n xhr.open('GET', url);\n xhr.send();\n};\n\n/**\n * Replace $1...$n references with the elements of the args array.\n *\n * @param {string} msg String containing the message and argument references.\n * @param {Array} args Array containing the argument values.\n */\nlib.MessageManager.replaceReferences = function(msg, args) {\n return msg.replace(/\\$(\\d+)/g, function (m, index) {\n return args[index - 1];\n });\n};\n\n/**\n * Per-instance copy of replaceReferences.\n */\nlib.MessageManager.prototype.replaceReferences =\n lib.MessageManager.replaceReferences;\n\n/**\n * Get a message by name, optionally replacing arguments too.\n *\n * @param {string} msgname String containing the name of the message to get.\n * @param {Array} opt_args Optional array containing the argument values.\n * @param {string} opt_default Optional value to return if the msgname is not\n * found. Returns the message name by default.\n */\nlib.MessageManager.prototype.get = function(msgname, opt_args, opt_default) {\n var message;\n\n if (msgname in this.messages) {\n message = this.messages[msgname];\n\n } else {\n if (window.chrome.i18n)\n message = chrome.i18n.getMessage(msgname);\n\n if (!message) {\n console.warn('Unknown message: ' + msgname);\n return (typeof opt_default == 'undefined') ? msgname : opt_default;\n }\n }\n\n if (!opt_args)\n return message;\n\n if (!(opt_args instanceof Array))\n opt_args = [opt_args];\n\n return this.replaceReferences(message, opt_args);\n};\n\n/**\n * Process all of the \"i18n\" html attributes found in a given dom fragment.\n *\n * The real work happens in processI18nAttribute.\n */\nlib.MessageManager.prototype.processI18nAttributes = function(dom) {\n var nodes = dom.querySelectorAll('[i18n]');\n\n for (var i = 0; i < nodes.length; i++)\n this.processI18nAttribute(nodes[i]);\n};\n\n/**\n * Process the \"i18n\" attribute in the specified node.\n *\n * The i18n attribute should contain a JSON object. The keys are taken to\n * be attribute names, and the values are message names.\n *\n * If the JSON object has a \"_\" (underscore) key, its value is used as the\n * textContent of the element.\n *\n * Message names can refer to other attributes on the same element with by\n * prefixing with a dollar sign. For example...\n *\n * \n *\n * The aria-label message name will be computed as \"SEND_BUTTON_ARIA_LABEL\".\n * Notice that the \"id\" attribute was appended to the target attribute, and\n * the result converted to UPPER_AND_UNDER style.\n */\nlib.MessageManager.prototype.processI18nAttribute = function(node) {\n // Convert the \"lower-and-dashes\" attribute names into\n // \"UPPER_AND_UNDER\" style.\n function thunk(str) { return str.replace(/-/g, '_').toUpperCase() }\n\n var i18n = node.getAttribute('i18n');\n if (!i18n)\n return;\n\n try {\n i18n = JSON.parse(i18n);\n } catch (ex) {\n console.error('Can\\'t parse ' + node.tagName + '#' + node.id + ': ' + i18n);\n throw ex;\n }\n\n // Load all the messages specified in the i18n attributes.\n for (var key in i18n) {\n // The node attribute we'll be setting.\n var attr = key;\n\n var msgname = i18n[key];\n // For \"=foo\", re-use the referenced message name.\n if (msgname.startsWith('=')) {\n key = msgname.substr(1);\n msgname = i18n[key];\n }\n\n // For \"$foo\", calculate the message name.\n if (msgname.startsWith('$'))\n msgname = thunk(node.getAttribute(msgname.substr(1)) + '_' + key);\n\n // Finally load the message.\n var msg = this.get(msgname);\n if (attr == '_')\n node.textContent = msg;\n else\n node.setAttribute(attr, msg);\n }\n};\n// SOURCE FILE: libdot/js/lib_preference_manager.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * Constructor for lib.PreferenceManager objects.\n *\n * These objects deal with persisting changes to stable storage and notifying\n * consumers when preferences change.\n *\n * It is intended that the backing store could be something other than HTML5\n * storage, but there aren't any use cases at the moment. In the future there\n * may be a chrome api to store sync-able name/value pairs, and we'd want\n * that.\n *\n * @param {lib.Storage.*} storage The storage object to use as a backing\n * store.\n * @param {string} opt_prefix The optional prefix to be used for all preference\n * names. The '/' character should be used to separate levels of hierarchy,\n * if you're going to have that kind of thing. If provided, the prefix\n * should start with a '/'. If not provided, it defaults to '/'.\n */\nlib.PreferenceManager = function(storage, opt_prefix) {\n this.storage = storage;\n this.storageObserver_ = this.onStorageChange_.bind(this);\n\n this.isActive_ = false;\n this.activate();\n\n this.trace = false;\n\n var prefix = opt_prefix || '/';\n if (!prefix.endsWith('/'))\n prefix += '/';\n\n this.prefix = prefix;\n\n this.prefRecords_ = {};\n this.globalObservers_ = [];\n\n this.childFactories_ = {};\n\n // Map of list-name to {map of child pref managers}\n // As in...\n //\n // this.childLists_ = {\n // 'profile-ids': {\n // 'one': PreferenceManager,\n // 'two': PreferenceManager,\n // ...\n // },\n //\n // 'frob-ids': {\n // ...\n // }\n // }\n this.childLists_ = {};\n};\n\n/**\n * Used internally to indicate that the current value of the preference should\n * be taken from the default value defined with the preference.\n *\n * Equality tests against this value MUST use '===' or '!==' to be accurate.\n */\nlib.PreferenceManager.prototype.DEFAULT_VALUE = lib.f.createEnum('DEFAULT');\n\n/**\n * An individual preference.\n *\n * These objects are managed by the PreferenceManager, you shouldn't need to\n * handle them directly.\n */\nlib.PreferenceManager.Record = function(name, defaultValue) {\n this.name = name;\n this.defaultValue = defaultValue;\n this.currentValue = this.DEFAULT_VALUE;\n this.observers = [];\n};\n\n/**\n * A local copy of the DEFAULT_VALUE constant to make it less verbose.\n */\nlib.PreferenceManager.Record.prototype.DEFAULT_VALUE =\n lib.PreferenceManager.prototype.DEFAULT_VALUE;\n\n/**\n * Register a callback to be invoked when this preference changes.\n *\n * @param {function(value, string, lib.PreferenceManager} observer The function\n * to invoke. It will receive the new value, the name of the preference,\n * and a reference to the PreferenceManager as parameters.\n */\nlib.PreferenceManager.Record.prototype.addObserver = function(observer) {\n this.observers.push(observer);\n};\n\n/**\n * Unregister an observer callback.\n *\n * @param {function} observer A previously registered callback.\n */\nlib.PreferenceManager.Record.prototype.removeObserver = function(observer) {\n var i = this.observers.indexOf(observer);\n if (i >= 0)\n this.observers.splice(i, 1);\n};\n\n/**\n * Fetch the value of this preference.\n */\nlib.PreferenceManager.Record.prototype.get = function() {\n if (this.currentValue === this.DEFAULT_VALUE) {\n if (/^(string|number)$/.test(typeof this.defaultValue))\n return this.defaultValue;\n\n if (typeof this.defaultValue == 'object') {\n // We want to return a COPY of the default value so that users can\n // modify the array or object without changing the default value.\n return JSON.parse(JSON.stringify(this.defaultValue));\n }\n\n return this.defaultValue;\n }\n\n return this.currentValue;\n};\n\n/**\n * Stop this preference manager from tracking storage changes.\n *\n * Call this if you're going to swap out one preference manager for another so\n * that you don't get notified about irrelevant changes.\n */\nlib.PreferenceManager.prototype.deactivate = function() {\n if (!this.isActive_)\n throw new Error('Not activated');\n\n this.isActive_ = false;\n this.storage.removeObserver(this.storageObserver_);\n};\n\n/**\n * Start tracking storage changes.\n *\n * If you previously deactivated this preference manager, you can reactivate it\n * with this method. You don't need to call this at initialization time, as\n * it's automatically called as part of the constructor.\n */\nlib.PreferenceManager.prototype.activate = function() {\n if (this.isActive_)\n throw new Error('Already activated');\n\n this.isActive_ = true;\n this.storage.addObserver(this.storageObserver_);\n};\n\n/**\n * Read the backing storage for these preferences.\n *\n * You should do this once at initialization time to prime the local cache\n * of preference values. The preference manager will monitor the backing\n * storage for changes, so you should not need to call this more than once.\n *\n * This function recursively reads storage for all child preference managers as\n * well.\n *\n * This function is asynchronous, if you need to read preference values, you\n * *must* wait for the callback.\n *\n * @param {function()} opt_callback Optional function to invoke when the read\n * has completed.\n */\nlib.PreferenceManager.prototype.readStorage = function(opt_callback) {\n var pendingChildren = 0;\n\n function onChildComplete() {\n if (--pendingChildren == 0 && opt_callback)\n opt_callback();\n }\n\n var keys = Object.keys(this.prefRecords_).map(\n function(el) { return this.prefix + el }.bind(this));\n\n if (this.trace)\n console.log('Preferences read: ' + this.prefix);\n\n this.storage.getItems(keys, function(items) {\n var prefixLength = this.prefix.length;\n\n for (var key in items) {\n var value = items[key];\n var name = key.substr(prefixLength);\n var needSync = (name in this.childLists_ &&\n (JSON.stringify(value) !=\n JSON.stringify(this.prefRecords_[name].currentValue)));\n\n this.prefRecords_[name].currentValue = value;\n\n if (needSync) {\n pendingChildren++;\n this.syncChildList(name, onChildComplete);\n }\n }\n\n if (pendingChildren == 0 && opt_callback)\n setTimeout(opt_callback);\n }.bind(this));\n};\n\n/**\n * Define a preference.\n *\n * This registers a name, default value, and onChange handler for a preference.\n *\n * @param {string} name The name of the preference. This will be prefixed by\n * the prefix of this PreferenceManager before written to local storage.\n * @param {string|number|boolean|Object|Array|null} value The default value of\n * this preference. Anything that can be represented in JSON is a valid\n * default value.\n * @param {function(value, string, lib.PreferenceManager} opt_observer A\n * function to invoke when the preference changes. It will receive the new\n * value, the name of the preference, and a reference to the\n * PreferenceManager as parameters.\n */\nlib.PreferenceManager.prototype.definePreference = function(\n name, value, opt_onChange) {\n\n var record = this.prefRecords_[name];\n if (record) {\n this.changeDefault(name, value);\n } else {\n record = this.prefRecords_[name] =\n new lib.PreferenceManager.Record(name, value);\n }\n\n if (opt_onChange)\n record.addObserver(opt_onChange);\n};\n\n/**\n * Define multiple preferences with a single function call.\n *\n * @param {Array} defaults An array of 3-element arrays. Each three element\n * array should contain the [key, value, onChange] parameters for a\n * preference.\n */\nlib.PreferenceManager.prototype.definePreferences = function(defaults) {\n for (var i = 0; i < defaults.length; i++) {\n this.definePreference(defaults[i][0], defaults[i][1], defaults[i][2]);\n }\n};\n\n/**\n * Define an ordered list of child preferences.\n *\n * Child preferences are different from just storing an array of JSON objects\n * in that each child is an instance of a preference manager. This means you\n * can observe changes to individual child preferences, and get some validation\n * that you're not reading or writing to an undefined child preference value.\n *\n * @param {string} listName A name for the list of children. This must be\n * unique in this preference manager. The listName will become a\n * preference on this PreferenceManager used to store the ordered list of\n * child ids. It is also used in get/add/remove operations to identify the\n * list of children to operate on.\n * @param {function} childFactory A function that will be used to generate\n * instances of these children. The factory function will receive the\n * parent lib.PreferenceManager object and a unique id for the new child\n * preferences.\n */\nlib.PreferenceManager.prototype.defineChildren = function(\n listName, childFactory) {\n\n // Define a preference to hold the ordered list of child ids.\n this.definePreference(listName, [],\n this.onChildListChange_.bind(this, listName));\n this.childFactories_[listName] = childFactory;\n this.childLists_[listName] = {};\n};\n\n/**\n * Register to observe preference changes.\n *\n * @param {Function} global A callback that will happen for every preference.\n * Pass null if you don't need one.\n * @param {Object} map A map of preference specific callbacks. Pass null if\n * you don't need any.\n */\nlib.PreferenceManager.prototype.addObservers = function(global, map) {\n if (global && typeof global != 'function')\n throw new Error('Invalid param: globals');\n\n if (global)\n this.globalObservers_.push(global);\n\n if (!map)\n return;\n\n for (var name in map) {\n if (!(name in this.prefRecords_))\n throw new Error('Unknown preference: ' + name);\n\n this.prefRecords_[name].addObserver(map[name]);\n }\n};\n\n/**\n * Dispatch the change observers for all known preferences.\n *\n * It may be useful to call this after readStorage completes, in order to\n * get application state in sync with user preferences.\n *\n * This can be used if you've changed a preference manager out from under\n * a live object, for example when switching to a different prefix.\n */\nlib.PreferenceManager.prototype.notifyAll = function() {\n for (var name in this.prefRecords_) {\n this.notifyChange_(name);\n }\n};\n\n/**\n * Notify the change observers for a given preference.\n *\n * @param {string} name The name of the preference that changed.\n */\nlib.PreferenceManager.prototype.notifyChange_ = function(name) {\n var record = this.prefRecords_[name];\n if (!record)\n throw new Error('Unknown preference: ' + name);\n\n var currentValue = record.get();\n\n for (var i = 0; i < this.globalObservers_.length; i++)\n this.globalObservers_[i](name, currentValue);\n\n for (var i = 0; i < record.observers.length; i++) {\n record.observers[i](currentValue, name, this);\n }\n};\n\n/**\n * Create a new child PreferenceManager for the given child list.\n *\n * The optional hint parameter is an opaque prefix added to the auto-generated\n * unique id for this child. Your child factory can parse out the prefix\n * and use it.\n *\n * @param {string} listName The child list to create the new instance from.\n * @param {string} opt_hint Optional hint to include in the child id.\n * @param {string} opt_id Optional id to override the generated id.\n */\nlib.PreferenceManager.prototype.createChild = function(listName, opt_hint,\n opt_id) {\n var ids = this.get(listName);\n var id;\n\n if (opt_id) {\n id = opt_id;\n if (ids.indexOf(id) != -1)\n throw new Error('Duplicate child: ' + listName + ': ' + id);\n\n } else {\n // Pick a random, unique 4-digit hex identifier for the new profile.\n while (!id || ids.indexOf(id) != -1) {\n id = lib.f.randomInt(1, 0xffff).toString(16);\n id = lib.f.zpad(id, 4);\n if (opt_hint)\n id = opt_hint + ':' + id;\n }\n }\n\n var childManager = this.childFactories_[listName](this, id);\n childManager.trace = this.trace;\n childManager.resetAll();\n\n this.childLists_[listName][id] = childManager;\n\n ids.push(id);\n this.set(listName, ids);\n\n return childManager;\n};\n\n/**\n * Remove a child preferences instance.\n *\n * Removes a child preference manager and clears any preferences stored in it.\n *\n * @param {string} listName The name of the child list containing the child to\n * remove.\n * @param {string} id The child ID.\n */\nlib.PreferenceManager.prototype.removeChild = function(listName, id) {\n var prefs = this.getChild(listName, id);\n prefs.resetAll();\n\n var ids = this.get(listName);\n var i = ids.indexOf(id);\n if (i != -1) {\n ids.splice(i, 1);\n this.set(listName, ids);\n }\n\n delete this.childLists_[listName][id];\n};\n\n/**\n * Return a child PreferenceManager instance for a given id.\n *\n * If the child list or child id is not known this will return the specified\n * default value or throw an exception if no default value is provided.\n *\n * @param {string} listName The child list to look in.\n * @param {string} id The child ID.\n * @param {*} opt_default The optional default value to return if the child\n * is not found.\n */\nlib.PreferenceManager.prototype.getChild = function(listName, id, opt_default) {\n if (!(listName in this.childLists_))\n throw new Error('Unknown child list: ' + listName);\n\n var childList = this.childLists_[listName];\n if (!(id in childList)) {\n if (typeof opt_default == 'undefined')\n throw new Error('Unknown \"' + listName + '\" child: ' + id);\n\n return opt_default;\n }\n\n return childList[id];\n};\n\n/**\n * Calculate the difference between two lists of child ids.\n *\n * Given two arrays of child ids, this function will return an object\n * with \"added\", \"removed\", and \"common\" properties. Each property is\n * a map of child-id to `true`. For example, given...\n *\n * a = ['child-x', 'child-y']\n * b = ['child-y']\n *\n * diffChildLists(a, b) =>\n * { added: { 'child-x': true }, removed: {}, common: { 'child-y': true } }\n *\n * The added/removed properties assume that `a` is the current list.\n *\n * @param {Array[string]} a The most recent list of child ids.\n * @param {Array[string]} b An older list of child ids.\n * @return {Object} An object with added/removed/common properties.\n */\nlib.PreferenceManager.diffChildLists = function(a, b) {\n var rv = {\n added: {},\n removed: {},\n common: {},\n };\n\n for (var i = 0; i < a.length; i++) {\n if (b.indexOf(a[i]) != -1) {\n rv.common[a[i]] = true;\n } else {\n rv.added[a[i]] = true;\n }\n }\n\n for (var i = 0; i < b.length; i++) {\n if ((b[i] in rv.added) || (b[i] in rv.common))\n continue;\n\n rv.removed[b[i]] = true;\n }\n\n return rv;\n};\n\n/**\n * Synchronize a list of child PreferenceManagers instances with the current\n * list stored in prefs.\n *\n * This will instantiate any missing managers and read current preference values\n * from storage. Any active managers that no longer appear in preferences will\n * be deleted.\n *\n * @param {string} listName The child list to synchronize.\n * @param {function()} opt_callback Optional function to invoke when the sync\n * is complete.\n */\nlib.PreferenceManager.prototype.syncChildList = function(\n listName, opt_callback) {\n\n var pendingChildren = 0;\n function onChildStorage() {\n if (--pendingChildren == 0 && opt_callback)\n opt_callback();\n }\n\n // The list of child ids that we *should* have a manager for.\n var currentIds = this.get(listName);\n\n // The known managers at the start of the sync. Any manager still in this\n // list at the end should be discarded.\n var oldIds = Object.keys(this.childLists_[listName]);\n\n var rv = lib.PreferenceManager.diffChildLists(currentIds, oldIds);\n\n for (var i = 0; i < currentIds.length; i++) {\n var id = currentIds[i];\n\n var managerIndex = oldIds.indexOf(id);\n if (managerIndex >= 0)\n oldIds.splice(managerIndex, 1);\n\n if (!this.childLists_[listName][id]) {\n var childManager = this.childFactories_[listName](this, id);\n if (!childManager) {\n console.warn('Unable to restore child: ' + listName + ': ' + id);\n continue;\n }\n\n childManager.trace = this.trace;\n this.childLists_[listName][id] = childManager;\n pendingChildren++;\n childManager.readStorage(onChildStorage);\n }\n }\n\n for (var i = 0; i < oldIds.length; i++) {\n delete this.childLists_[listName][oldIds[i]];\n }\n\n if (!pendingChildren && opt_callback)\n setTimeout(opt_callback);\n};\n\n/**\n * Reset a preference to its default state.\n *\n * This will dispatch the onChange handler if the preference value actually\n * changes.\n *\n * @param {string} name The preference to reset.\n */\nlib.PreferenceManager.prototype.reset = function(name) {\n var record = this.prefRecords_[name];\n if (!record)\n throw new Error('Unknown preference: ' + name);\n\n this.storage.removeItem(this.prefix + name);\n\n if (record.currentValue !== this.DEFAULT_VALUE) {\n record.currentValue = this.DEFAULT_VALUE;\n this.notifyChange_(name);\n }\n};\n\n/**\n * Reset all preferences back to their default state.\n */\nlib.PreferenceManager.prototype.resetAll = function() {\n var changed = [];\n\n for (var listName in this.childLists_) {\n var childList = this.childLists_[listName];\n for (var id in childList) {\n childList[id].resetAll();\n }\n }\n\n for (var name in this.prefRecords_) {\n if (this.prefRecords_[name].currentValue !== this.DEFAULT_VALUE) {\n this.prefRecords_[name].currentValue = this.DEFAULT_VALUE;\n changed.push(name);\n }\n }\n\n var keys = Object.keys(this.prefRecords_).map(function(el) {\n return this.prefix + el;\n }.bind(this));\n\n this.storage.removeItems(keys);\n\n changed.forEach(this.notifyChange_.bind(this));\n};\n\n/**\n * Return true if two values should be considered not-equal.\n *\n * If both values are the same scalar type and compare equal this function\n * returns false (no difference), otherwise return true.\n *\n * This is used in places where we want to check if a preference has changed.\n * Rather than take the time to compare complex values we just consider them\n * to always be different.\n *\n * @param {*} a A value to compare.\n * @param {*} b A value to compare.\n */\nlib.PreferenceManager.prototype.diff = function(a, b) {\n // If the types are different, or the type is not a simple primitive one.\n if ((typeof a) !== (typeof b) ||\n !(/^(undefined|boolean|number|string)$/.test(typeof a))) {\n return true;\n }\n\n return a !== b;\n};\n\n/**\n * Change the default value of a preference.\n *\n * This is useful when subclassing preference managers.\n *\n * The function does not alter the current value of the preference, unless\n * it has the old default value. When that happens, the change observers\n * will be notified.\n *\n * @param {string} name The name of the parameter to change.\n * @param {*} newValue The new default value for the preference.\n */\nlib.PreferenceManager.prototype.changeDefault = function(name, newValue) {\n var record = this.prefRecords_[name];\n if (!record)\n throw new Error('Unknown preference: ' + name);\n\n if (!this.diff(record.defaultValue, newValue)) {\n // Default value hasn't changed.\n return;\n }\n\n if (record.currentValue !== this.DEFAULT_VALUE) {\n // This pref has a specific value, just change the default and we're done.\n record.defaultValue = newValue;\n return;\n }\n\n record.defaultValue = newValue;\n\n this.notifyChange_(name);\n};\n\n/**\n * Change the default value of multiple preferences.\n *\n * @param {Object} map A map of name -> value pairs specifying the new default\n * values.\n */\nlib.PreferenceManager.prototype.changeDefaults = function(map) {\n for (var key in map) {\n this.changeDefault(key, map[key]);\n }\n};\n\n/**\n * Set a preference to a specific value.\n *\n * This will dispatch the onChange handler if the preference value actually\n * changes.\n *\n * @param {string} key The preference to set.\n * @param {*} value The value to set. Anything that can be represented in\n * JSON is a valid value.\n */\nlib.PreferenceManager.prototype.set = function(name, newValue) {\n var record = this.prefRecords_[name];\n if (!record)\n throw new Error('Unknown preference: ' + name);\n\n var oldValue = record.get();\n\n if (!this.diff(oldValue, newValue))\n return;\n\n if (this.diff(record.defaultValue, newValue)) {\n record.currentValue = newValue;\n this.storage.setItem(this.prefix + name, newValue);\n } else {\n record.currentValue = this.DEFAULT_VALUE;\n this.storage.removeItem(this.prefix + name);\n }\n\n // We need to manually send out the notification on this instance. If we\n // The storage event won't fire a notification because we've already changed\n // the currentValue, so it won't see a difference. If we delayed changing\n // currentValue until the storage event, a pref read immediately after a write\n // would return the previous value.\n //\n // The notification is in a timeout so clients don't accidentally depend on\n // a synchronous notification.\n setTimeout(this.notifyChange_.bind(this, name), 0);\n};\n\n/**\n * Get the value of a preference.\n *\n * @param {string} key The preference to get.\n */\nlib.PreferenceManager.prototype.get = function(name) {\n var record = this.prefRecords_[name];\n if (!record)\n throw new Error('Unknown preference: ' + name);\n\n return record.get();\n};\n\n/**\n * Return all non-default preferences as a JSON object.\n *\n * This includes any nested preference managers as well.\n */\nlib.PreferenceManager.prototype.exportAsJson = function() {\n var rv = {};\n\n for (var name in this.prefRecords_) {\n if (name in this.childLists_) {\n rv[name] = [];\n var childIds = this.get(name);\n for (var i = 0; i < childIds.length; i++) {\n var id = childIds[i];\n rv[name].push({id: id, json: this.getChild(name, id).exportAsJson()});\n }\n\n } else {\n var record = this.prefRecords_[name];\n if (record.currentValue != this.DEFAULT_VALUE)\n rv[name] = record.currentValue;\n }\n }\n\n return rv;\n};\n\n/**\n * Import a JSON blob of preferences previously generated with exportAsJson.\n *\n * This will create nested preference managers as well.\n */\nlib.PreferenceManager.prototype.importFromJson = function(json) {\n for (var name in json) {\n if (name in this.childLists_) {\n var childList = json[name];\n for (var i = 0; i < childList.length; i++) {\n var id = childList[i].id;\n\n var childPrefManager = this.childLists_[name][id];\n if (!childPrefManager)\n childPrefManager = this.createChild(name, null, id);\n\n childPrefManager.importFromJson(childList[i].json);\n }\n\n } else {\n this.set(name, json[name]);\n }\n }\n};\n\n/**\n * Called when one of the child list preferences changes.\n */\nlib.PreferenceManager.prototype.onChildListChange_ = function(listName) {\n this.syncChildList(listName);\n};\n\n/**\n * Called when a key in the storage changes.\n */\nlib.PreferenceManager.prototype.onStorageChange_ = function(map) {\n for (var key in map) {\n if (this.prefix) {\n if (key.lastIndexOf(this.prefix, 0) != 0)\n continue;\n }\n\n var name = key.substr(this.prefix.length);\n\n if (!(name in this.prefRecords_)) {\n // Sometimes we'll get notified about prefs that are no longer defined.\n continue;\n }\n\n var record = this.prefRecords_[name];\n\n var newValue = map[key].newValue;\n var currentValue = record.currentValue;\n if (currentValue === record.DEFAULT_VALUE)\n currentValue = (void 0);\n\n if (this.diff(currentValue, newValue)) {\n if (typeof newValue == 'undefined' || newValue === null) {\n record.currentValue = record.DEFAULT_VALUE;\n } else {\n record.currentValue = newValue;\n }\n\n this.notifyChange_(name);\n }\n }\n};\n// SOURCE FILE: libdot/js/lib_resource.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * Storage for canned resources.\n *\n * These are usually non-JavaScript things that are collected during a build\n * step and converted into a series of 'lib.resource.add(...)' calls. See\n * the \"@resource\" directive from libdot/bin/concat.sh for the canonical use\n * case.\n *\n * This is global storage, so you should prefix your resource names to avoid\n * collisions.\n */\nlib.resource = {\n resources_: {}\n};\n\n/**\n * Add a resource.\n *\n * @param {string} name A name for the resource. You should prefix this to\n * avoid collisions with resources from a shared library.\n * @param {string} type A mime type for the resource, or \"raw\" if not\n * applicable.\n * @param {*} data The value of the resource.\n */\nlib.resource.add = function(name, type, data) {\n lib.resource.resources_[name] = {\n type: type,\n name: name,\n data: data\n };\n};\n\n/**\n * Retrieve a resource record.\n *\n * The resource data is stored on the \"data\" property of the returned object.\n *\n * @param {string} name The name of the resource to get.\n * @param {*} opt_defaultValue The optional value to return if the resource is\n * not defined.\n * @return {object} An object with \"type\", \"name\", and \"data\" properties.\n */\nlib.resource.get = function(name, opt_defaultValue) {\n if (!(name in lib.resource.resources_)) {\n if (typeof opt_defaultValue == 'undefined')\n throw 'Unknown resource: ' + name;\n\n return opt_defaultValue;\n }\n\n return lib.resource.resources_[name];\n};\n\n/**\n * Retrieve resource data.\n *\n * @param {string} name The name of the resource to get.\n * @param {*} opt_defaultValue The optional value to return if the resource is\n * not defined.\n * @return {*} The resource data.\n */\nlib.resource.getData = function(name, opt_defaultValue) {\n if (!(name in lib.resource.resources_)) {\n if (typeof opt_defaultValue == 'undefined')\n throw 'Unknown resource: ' + name;\n\n return opt_defaultValue;\n }\n\n return lib.resource.resources_[name].data;\n};\n\n/**\n * Retrieve resource as a data: url.\n *\n * @param {string} name The name of the resource to get.\n * @param {*} opt_defaultValue The optional value to return if the resource is\n * not defined.\n * @return {*} A data: url encoded version of the resource.\n */\nlib.resource.getDataUrl = function(name, opt_defaultValue) {\n var resource = lib.resource.get(name, opt_defaultValue);\n return 'data:' + resource.type + ',' + resource.data;\n};\n// SOURCE FILE: libdot/js/lib_storage.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * Namespace for implementations of persistent, possibly cloud-backed\n * storage.\n */\nlib.Storage = new Object();\n// SOURCE FILE: libdot/js/lib_storage_chrome.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * chrome.storage based class with an async interface that is interchangeable\n * with other lib.Storage.* implementations.\n */\nlib.Storage.Chrome = function(storage) {\n this.storage_ = storage;\n this.observers_ = [];\n\n chrome.storage.onChanged.addListener(this.onChanged_.bind(this));\n};\n\n/**\n * Called by the storage implementation when the storage is modified.\n */\nlib.Storage.Chrome.prototype.onChanged_ = function(changes, areaname) {\n if (chrome.storage[areaname] != this.storage_)\n return;\n\n for (var i = 0; i < this.observers_.length; i++) {\n this.observers_[i](changes);\n }\n};\n\n/**\n * Register a function to observe storage changes.\n *\n * @param {function(map)} callback The function to invoke when the storage\n * changes.\n */\nlib.Storage.Chrome.prototype.addObserver = function(callback) {\n this.observers_.push(callback);\n};\n\n/**\n * Unregister a change observer.\n *\n * @param {function} observer A previously registered callback.\n */\nlib.Storage.Chrome.prototype.removeObserver = function(callback) {\n var i = this.observers_.indexOf(callback);\n if (i != -1)\n this.observers_.splice(i, 1);\n};\n\n/**\n * Delete everything in this storage.\n *\n * @param {function(map)} callback The function to invoke when the delete\n * has completed.\n */\nlib.Storage.Chrome.prototype.clear = function(opt_callback) {\n this.storage_.clear();\n\n if (opt_callback)\n setTimeout(opt_callback, 0);\n};\n\n/**\n * Return the current value of a storage item.\n *\n * @param {string} key The key to look up.\n * @param {function(value) callback The function to invoke when the value has\n * been retrieved.\n */\nlib.Storage.Chrome.prototype.getItem = function(key, callback) {\n this.storage_.get(key, callback);\n};\n/**\n * Fetch the values of multiple storage items.\n *\n * @param {Array} keys The keys to look up.\n * @param {function(map) callback The function to invoke when the values have\n * been retrieved.\n */\n\nlib.Storage.Chrome.prototype.getItems = function(keys, callback) {\n this.storage_.get(keys, callback);\n};\n\n/**\n * Set a value in storage.\n *\n * @param {string} key The key for the value to be stored.\n * @param {*} value The value to be stored. Anything that can be serialized\n * with JSON is acceptable.\n * @param {function()} opt_callback Optional function to invoke when the\n * set is complete. You don't have to wait for the set to complete in order\n * to read the value, since the local cache is updated synchronously.\n */\nlib.Storage.Chrome.prototype.setItem = function(key, value, opt_callback) {\n var obj = {};\n obj[key] = value;\n this.storage_.set(obj, opt_callback);\n};\n\n/**\n * Set multiple values in storage.\n *\n * @param {Object} map A map of key/values to set in storage.\n * @param {function()} opt_callback Optional function to invoke when the\n * set is complete. You don't have to wait for the set to complete in order\n * to read the value, since the local cache is updated synchronously.\n */\nlib.Storage.Chrome.prototype.setItems = function(obj, opt_callback) {\n this.storage_.set(obj, opt_callback);\n};\n\n/**\n * Remove an item from storage.\n *\n * @param {string} key The key to be removed.\n * @param {function()} opt_callback Optional function to invoke when the\n * remove is complete. You don't have to wait for the set to complete in\n * order to read the value, since the local cache is updated synchronously.\n */\nlib.Storage.Chrome.prototype.removeItem = function(key, opt_callback) {\n this.storage_.remove(key, opt_callback);\n};\n\n/**\n * Remove multiple items from storage.\n *\n * @param {Array} keys The keys to be removed.\n * @param {function()} opt_callback Optional function to invoke when the\n * remove is complete. You don't have to wait for the set to complete in\n * order to read the value, since the local cache is updated synchronously.\n */\nlib.Storage.Chrome.prototype.removeItems = function(keys, opt_callback) {\n this.storage_.remove(keys, opt_callback);\n};\n// SOURCE FILE: libdot/js/lib_storage_local.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * window.localStorage based class with an async interface that is\n * interchangeable with other lib.Storage.* implementations.\n */\nlib.Storage.Local = function() {\n this.observers_ = [];\n this.storage_ = window.localStorage;\n window.addEventListener('storage', this.onStorage_.bind(this));\n};\n\n/**\n * Called by the storage implementation when the storage is modified.\n */\nlib.Storage.Local.prototype.onStorage_ = function(e) {\n if (e.storageArea != this.storage_)\n return;\n\n // JS throws an exception if JSON.parse is given an empty string. So here we\n // only parse if the value is truthy. This mean the empty string, undefined\n // and null will not be parsed.\n var prevValue = e.oldValue ? JSON.parse(e.oldValue) : e.oldValue;\n var curValue = e.newValue ? JSON.parse(e.newValue) : e.newValue;\n var o = {};\n o[e.key] = {\n oldValue: prevValue,\n newValue: curValue\n };\n\n for (var i = 0; i < this.observers_.length; i++) {\n this.observers_[i](o);\n }\n};\n\n/**\n * Register a function to observe storage changes.\n *\n * @param {function(map)} callback The function to invoke when the storage\n * changes.\n */\nlib.Storage.Local.prototype.addObserver = function(callback) {\n this.observers_.push(callback);\n};\n\n/**\n * Unregister a change observer.\n *\n * @param {function} observer A previously registered callback.\n */\nlib.Storage.Local.prototype.removeObserver = function(callback) {\n var i = this.observers_.indexOf(callback);\n if (i != -1)\n this.observers_.splice(i, 1);\n};\n\n/**\n * Delete everything in this storage.\n *\n * @param {function(map)} callback The function to invoke when the delete\n * has completed.\n */\nlib.Storage.Local.prototype.clear = function(opt_callback) {\n this.storage_.clear();\n\n if (opt_callback)\n setTimeout(opt_callback, 0);\n};\n\n/**\n * Return the current value of a storage item.\n *\n * @param {string} key The key to look up.\n * @param {function(value) callback The function to invoke when the value has\n * been retrieved.\n */\nlib.Storage.Local.prototype.getItem = function(key, callback) {\n var value = this.storage_.getItem(key);\n\n if (typeof value == 'string') {\n try {\n value = JSON.parse(value);\n } catch (e) {\n // If we can't parse the value, just return it unparsed.\n }\n }\n\n setTimeout(callback.bind(null, value), 0);\n};\n\n/**\n * Fetch the values of multiple storage items.\n *\n * @param {Array} keys The keys to look up.\n * @param {function(map) callback The function to invoke when the values have\n * been retrieved.\n */\nlib.Storage.Local.prototype.getItems = function(keys, callback) {\n var rv = {};\n\n for (var i = keys.length - 1; i >= 0; i--) {\n var key = keys[i];\n var value = this.storage_.getItem(key);\n if (typeof value == 'string') {\n try {\n rv[key] = JSON.parse(value);\n } catch (e) {\n // If we can't parse the value, just return it unparsed.\n rv[key] = value;\n }\n } else {\n keys.splice(i, 1);\n }\n }\n\n setTimeout(callback.bind(null, rv), 0);\n};\n\n/**\n * Set a value in storage.\n *\n * @param {string} key The key for the value to be stored.\n * @param {*} value The value to be stored. Anything that can be serialized\n * with JSON is acceptable.\n * @param {function()} opt_callback Optional function to invoke when the\n * set is complete. You don't have to wait for the set to complete in order\n * to read the value, since the local cache is updated synchronously.\n */\nlib.Storage.Local.prototype.setItem = function(key, value, opt_callback) {\n this.storage_.setItem(key, JSON.stringify(value));\n\n if (opt_callback)\n setTimeout(opt_callback, 0);\n};\n\n/**\n * Set multiple values in storage.\n *\n * @param {Object} map A map of key/values to set in storage.\n * @param {function()} opt_callback Optional function to invoke when the\n * set is complete. You don't have to wait for the set to complete in order\n * to read the value, since the local cache is updated synchronously.\n */\nlib.Storage.Local.prototype.setItems = function(obj, opt_callback) {\n for (var key in obj) {\n this.storage_.setItem(key, JSON.stringify(obj[key]));\n }\n\n if (opt_callback)\n setTimeout(opt_callback, 0);\n};\n\n/**\n * Remove an item from storage.\n *\n * @param {string} key The key to be removed.\n * @param {function()} opt_callback Optional function to invoke when the\n * remove is complete. You don't have to wait for the set to complete in\n * order to read the value, since the local cache is updated synchronously.\n */\nlib.Storage.Local.prototype.removeItem = function(key, opt_callback) {\n this.storage_.removeItem(key);\n\n if (opt_callback)\n setTimeout(opt_callback, 0);\n};\n\n/**\n * Remove multiple items from storage.\n *\n * @param {Array} keys The keys to be removed.\n * @param {function()} opt_callback Optional function to invoke when the\n * remove is complete. You don't have to wait for the set to complete in\n * order to read the value, since the local cache is updated synchronously.\n */\nlib.Storage.Local.prototype.removeItems = function(ary, opt_callback) {\n for (var i = 0; i < ary.length; i++) {\n this.storage_.removeItem(ary[i]);\n }\n\n if (opt_callback)\n setTimeout(opt_callback, 0);\n};\n// SOURCE FILE: libdot/js/lib_storage_memory.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * In-memory storage class with an async interface that is interchangeable with\n * other lib.Storage.* implementations.\n */\nlib.Storage.Memory = function() {\n this.observers_ = [];\n this.storage_ = {};\n};\n\n/**\n * Register a function to observe storage changes.\n *\n * @param {function(map)} callback The function to invoke when the storage\n * changes.\n */\nlib.Storage.Memory.prototype.addObserver = function(callback) {\n this.observers_.push(callback);\n};\n\n/**\n * Unregister a change observer.\n *\n * @param {function} observer A previously registered callback.\n */\nlib.Storage.Memory.prototype.removeObserver = function(callback) {\n var i = this.observers_.indexOf(callback);\n if (i != -1)\n this.observers_.splice(i, 1);\n};\n\n/**\n * Delete everything in this storage.\n *\n * @param {function(map)} callback The function to invoke when the delete\n * has completed.\n */\nlib.Storage.Memory.prototype.clear = function(opt_callback) {\n var e = {};\n for (var key in this.storage_) {\n e[key] = {oldValue: this.storage_[key], newValue: (void 0)};\n }\n\n this.storage_ = {};\n\n setTimeout(function() {\n for (var i = 0; i < this.observers_.length; i++) {\n this.observers_[i](e);\n }\n }.bind(this), 0);\n\n if (opt_callback)\n setTimeout(opt_callback, 0);\n};\n\n/**\n * Return the current value of a storage item.\n *\n * @param {string} key The key to look up.\n * @param {function(value) callback The function to invoke when the value has\n * been retrieved.\n */\nlib.Storage.Memory.prototype.getItem = function(key, callback) {\n var value = this.storage_[key];\n\n if (typeof value == 'string') {\n try {\n value = JSON.parse(value);\n } catch (e) {\n // If we can't parse the value, just return it unparsed.\n }\n }\n\n setTimeout(callback.bind(null, value), 0);\n};\n\n/**\n * Fetch the values of multiple storage items.\n *\n * @param {Array} keys The keys to look up.\n * @param {function(map) callback The function to invoke when the values have\n * been retrieved.\n */\nlib.Storage.Memory.prototype.getItems = function(keys, callback) {\n var rv = {};\n\n for (var i = keys.length - 1; i >= 0; i--) {\n var key = keys[i];\n var value = this.storage_[key];\n if (typeof value == 'string') {\n try {\n rv[key] = JSON.parse(value);\n } catch (e) {\n // If we can't parse the value, just return it unparsed.\n rv[key] = value;\n }\n } else {\n keys.splice(i, 1);\n }\n }\n\n setTimeout(callback.bind(null, rv), 0);\n};\n\n/**\n * Set a value in storage.\n *\n * @param {string} key The key for the value to be stored.\n * @param {*} value The value to be stored. Anything that can be serialized\n * with JSON is acceptable.\n * @param {function()} opt_callback Optional function to invoke when the\n * set is complete. You don't have to wait for the set to complete in order\n * to read the value, since the local cache is updated synchronously.\n */\nlib.Storage.Memory.prototype.setItem = function(key, value, opt_callback) {\n var oldValue = this.storage_[key];\n this.storage_[key] = JSON.stringify(value);\n\n var e = {};\n e[key] = {oldValue: oldValue, newValue: value};\n\n setTimeout(function() {\n for (var i = 0; i < this.observers_.length; i++) {\n this.observers_[i](e);\n }\n }.bind(this), 0);\n\n if (opt_callback)\n setTimeout(opt_callback, 0);\n};\n\n/**\n * Set multiple values in storage.\n *\n * @param {Object} map A map of key/values to set in storage.\n * @param {function()} opt_callback Optional function to invoke when the\n * set is complete. You don't have to wait for the set to complete in order\n * to read the value, since the local cache is updated synchronously.\n */\nlib.Storage.Memory.prototype.setItems = function(obj, opt_callback) {\n var e = {};\n\n for (var key in obj) {\n e[key] = {oldValue: this.storage_[key], newValue: obj[key]};\n this.storage_[key] = JSON.stringify(obj[key]);\n }\n\n setTimeout(function() {\n for (var i = 0; i < this.observers_.length; i++) {\n this.observers_[i](e);\n }\n }.bind(this));\n\n if (opt_callback)\n setTimeout(opt_callback, 0);\n};\n\n/**\n * Remove an item from storage.\n *\n * @param {string} key The key to be removed.\n * @param {function()} opt_callback Optional function to invoke when the\n * remove is complete. You don't have to wait for the set to complete in\n * order to read the value, since the local cache is updated synchronously.\n */\nlib.Storage.Memory.prototype.removeItem = function(key, opt_callback) {\n delete this.storage_[key];\n\n if (opt_callback)\n setTimeout(opt_callback, 0);\n};\n\n/**\n * Remove multiple items from storage.\n *\n * @param {Array} keys The keys to be removed.\n * @param {function()} opt_callback Optional function to invoke when the\n * remove is complete. You don't have to wait for the set to complete in\n * order to read the value, since the local cache is updated synchronously.\n */\nlib.Storage.Memory.prototype.removeItems = function(ary, opt_callback) {\n for (var i = 0; i < ary.length; i++) {\n delete this.storage_[ary[i]];\n }\n\n if (opt_callback)\n setTimeout(opt_callback, 0);\n};\n// SOURCE FILE: libdot/js/lib_test_manager.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * @fileoverview JavaScript unit testing framework for synchronous and\n * asynchronous tests.\n *\n * This file contains the lib.TestManager and related classes. At the moment\n * it's all collected in a single file since it's reasonably small\n * (=~1k lines), and it's a lot easier to include one file into your test\n * harness than it is to include seven.\n *\n * The following classes are defined...\n *\n * lib.TestManager - The root class and entrypoint for creating test runs.\n * lib.TestManager.Log - Logging service.\n * lib.TestManager.Suite - A collection of tests.\n * lib.TestManager.Test - A single test.\n * lib.TestManager.TestRun - Manages the execution of a set of tests.\n * lib.TestManager.Result - A single test result.\n */\n\n/**\n * Root object in the unit test hierarchy, and keeper of the log object.\n *\n * @param {lib.TestManager.Log} opt_log Optional lib.TestManager.Log object.\n * Logs to the JavaScript console if omitted.\n */\nlib.TestManager = function(opt_log) {\n this.log = opt_log || new lib.TestManager.Log();\n}\n\n/**\n * Create a new test run object for this test manager.\n *\n * @param {Object} opt_cx An object to be passed to test suite setup(),\n * preamble(), and test cases during this test run. This object is opaque\n * to lib.TestManager.* code. It's entirely up to the test suite what it's\n * used for.\n */\nlib.TestManager.prototype.createTestRun = function(opt_cx) {\n return new lib.TestManager.TestRun(this, opt_cx);\n};\n\n/**\n * Called when a test run associated with this test manager completes.\n *\n * Clients may override this to call an appropriate function.\n */\nlib.TestManager.prototype.onTestRunComplete = function(testRun) {};\n\n/**\n * Called before a test associated with this test manager is run.\n *\n * @param {lib.TestManager.Result} result The result object for the upcoming\n * test.\n * @param {Object} cx The context object for a test run.\n */\nlib.TestManager.prototype.testPreamble = function(result, cx) {};\n\n/**\n * Called after a test associated with this test manager finishes.\n *\n * @param {lib.TestManager.Result} result The result object for the finished\n * test.\n * @param {Object} cx The context object for a test run.\n */\nlib.TestManager.prototype.testPostamble = function(result, cx) {};\n\n/**\n * Destination for test case output.\n *\n * Thw API will be the same as the console object. e.g. We support info(),\n * warn(), error(), etc... just like console.info(), etc...\n *\n * @param {Object} opt_console The console object to route all logging through.\n * Should provide saome API as the standard console API.\n */\nlib.TestManager.Log = function(opt_console=console) {\n this.save = false;\n this.data = '';\n this.prefix_ = '';\n this.prefixStack_ = 0;\n\n // Capture all the console entry points in case code at runtime calls these\n // directly. We want to be able to still see things.\n // We also expose the direct API to our callers (e.g. we provide warn()).\n this.console_ = opt_console;\n ['log', 'debug', 'info', 'warn', 'error'].forEach((level) => {\n let msgPrefix = '';\n switch (level) {\n case 'debug':\n case 'warn':\n case 'error':\n msgPrefix = level.toUpperCase() + ': ';\n break;\n }\n\n const oLog = this.console_[level];\n this[level] = this.console_[level] = (...args) => {\n if (this.save)\n this.data += this.prefix_ + msgPrefix + args.join(' ') + '\\n';\n oLog.apply(this.console_, args);\n };\n });\n\n // Wrap/bind the group functions.\n ['group', 'groupCollapsed'].forEach((group) => {\n const oGroup = this.console_[group];\n this[group] = this.console_[group] = (label='') => {\n oGroup(label);\n if (this.save)\n this.data += this.prefix_ + label + '\\n';\n this.prefix_ = ' '.repeat(++this.prefixStack_);\n };\n });\n\n const oGroupEnd = this.console_.groupEnd;\n this.groupEnd = this.console_.groupEnd = () => {\n oGroupEnd();\n this.prefix_ = ' '.repeat(--this.prefixStack_);\n };\n};\n\n/**\n * Returns a new constructor function that will inherit from\n * lib.TestManager.Suite.\n *\n * Use this function to create a new test suite subclass. It will return a\n * properly initialized constructor function for the subclass. You can then\n * override the setup() and preamble() methods if necessary and add test cases\n * to the subclass.\n *\n * var MyTests = new lib.TestManager.Suite('MyTests');\n *\n * MyTests.prototype.setup = function(cx) {\n * // Sets this.size to cx.size if it exists, or the default value of 10\n * // if not.\n * this.setDefault(cx, {size: 10});\n * };\n *\n * MyTests.prototype.preamble = function(result, cx) {\n * // Some tests (even successful ones) may side-effect this list, so\n * // recreate it before every test.\n * this.list = [];\n * for (var i = 0; i < this.size; i++) {\n * this.list[i] = i;\n * }\n * };\n *\n * // Basic synchronous test case.\n * MyTests.addTest('pop-length', function(result, cx) {\n * this.list.pop();\n *\n * // If this assertion fails, the testcase will stop here.\n * result.assertEQ(this.list.length, this.size - 1);\n *\n * // A test must indicate it has passed by calling this method.\n * result.pass();\n * });\n *\n * // Sample asynchronous test case.\n * MyTests.addTest('async-pop-length', function(result, cx) {\n * var self = this;\n *\n * var callback = function() {\n * result.assertEQ(self.list.length, self.size - 1);\n * result.pass();\n * };\n *\n * // Wait 100ms to check the array length for the sake of this example.\n * setTimeout(callback, 100);\n *\n * this.list.pop();\n *\n * // Indicate that this test needs another 200ms to complete.\n * // If the test does not report pass/fail by then, it is considered to\n * // have timed out.\n * result.requestTime(200);\n * });\n *\n * ...\n *\n * @param {string} suiteName The name of the test suite.\n */\nlib.TestManager.Suite = function(suiteName) {\n function ctor(testManager, cx) {\n this.testManager_ = testManager;\n this.suiteName = suiteName;\n\n this.setup(cx);\n }\n\n ctor.suiteName = suiteName;\n ctor.addTest = lib.TestManager.Suite.addTest;\n ctor.disableTest = lib.TestManager.Suite.disableTest;\n ctor.getTest = lib.TestManager.Suite.getTest;\n ctor.getTestList = lib.TestManager.Suite.getTestList;\n ctor.testList_ = [];\n ctor.testMap_ = {};\n ctor.prototype = Object.create(lib.TestManager.Suite.prototype);\n ctor.constructor = lib.TestManager.Suite;\n\n lib.TestManager.Suite.subclasses.push(ctor);\n\n return ctor;\n};\n\n/**\n * List of lib.TestManager.Suite subclasses, in the order they were defined.\n */\nlib.TestManager.Suite.subclasses = [];\n\n/**\n * Add a test to a lib.TestManager.Suite.\n *\n * This method is copied to new subclasses when they are created.\n */\nlib.TestManager.Suite.addTest = function(testName, testFunction) {\n if (testName in this.testMap_)\n throw 'Duplicate test name: ' + testName;\n\n var test = new lib.TestManager.Test(this, testName, testFunction);\n this.testMap_[testName] = test;\n this.testList_.push(test);\n};\n\n/**\n * Defines a disabled test.\n */\nlib.TestManager.Suite.disableTest = function(testName, testFunction) {\n if (testName in this.testMap_)\n throw 'Duplicate test name: ' + testName;\n\n var test = new lib.TestManager.Test(this, testName, testFunction);\n console.log('Disabled test: ' + test.fullName);\n};\n\n/**\n * Get a lib.TestManager.Test instance by name.\n *\n * This method is copied to new subclasses when they are created.\n *\n * @param {string} testName The name of the desired test.\n * @return {lib.TestManager.Test} The requested test, or undefined if it was not\n * found.\n */\nlib.TestManager.Suite.getTest = function(testName) {\n return this.testMap_[testName];\n};\n\n/**\n * Get an array of lib.TestManager.Tests associated with this Suite.\n *\n * This method is copied to new subclasses when they are created.\n */\nlib.TestManager.Suite.getTestList = function() {\n return this.testList_;\n};\n\n/**\n * Set properties on a test suite instance, pulling the property value from\n * the context if it exists and from the defaults dictionary if not.\n *\n * This is intended to be used in your test suite's setup() method to\n * define parameters for the test suite which may be overridden through the\n * context object. For example...\n *\n * MySuite.prototype.setup = function(cx) {\n * this.setDefaults(cx, {size: 10});\n * };\n *\n * If the context object has a 'size' property then this.size will be set to\n * the value of cx.size, otherwise this.size will get a default value of 10.\n *\n * @param {Object} cx The context object for a test run.\n * @param {Object} defaults An object containing name/value pairs to set on\n * this test suite instance. The value listed here will be used if the\n * name is not defined on the context object.\n */\nlib.TestManager.Suite.prototype.setDefaults = function(cx, defaults) {\n for (var k in defaults) {\n this[k] = (k in cx) ? cx[k] : defaults[k];\n }\n};\n\n/**\n * Subclassable method called to set up the test suite.\n *\n * The default implementation of this method is a no-op. If your test suite\n * requires some kind of suite-wide setup, this is the place to do it.\n *\n * It's fine to store state on the test suite instance, that state will be\n * accessible to all tests in the suite. If any test case fails, the entire\n * test suite object will be discarded and a new one will be created for\n * the remaining tests.\n *\n * Any side effects outside of this test suite instance must be idempotent.\n * For example, if you're adding DOM nodes to a document, make sure to first\n * test that they're not already there. If they are, remove them rather than\n * reuse them. You should not count on their state, since they were probably\n * left behind by a failed testcase.\n *\n * Any exception here will abort the remainder of the test run.\n *\n * @param {Object} cx The context object for a test run.\n */\nlib.TestManager.Suite.prototype.setup = function(cx) {};\n\n/**\n * Subclassable method called to do pre-test set up.\n *\n * The default implementation of this method is a no-op. If your test suite\n * requires some kind of pre-test setup, this is the place to do it.\n *\n * This can be used to avoid a bunch of boilerplate setup/teardown code in\n * this suite's testcases.\n *\n * Any exception here will abort the remainder of the test run.\n *\n * @param {lib.TestManager.Result} result The result object for the upcoming\n * test.\n * @param {Object} cx The context object for a test run.\n */\nlib.TestManager.Suite.prototype.preamble = function(result, cx) {};\n\n/**\n * Subclassable method called to do post-test tear-down.\n *\n * The default implementation of this method is a no-op. If your test suite\n * requires some kind of pre-test setup, this is the place to do it.\n *\n * This can be used to avoid a bunch of boilerplate setup/teardown code in\n * this suite's testcases.\n *\n * Any exception here will abort the remainder of the test run.\n *\n * @param {lib.TestManager.Result} result The result object for the finished\n * test.\n * @param {Object} cx The context object for a test run.\n */\nlib.TestManager.Suite.prototype.postamble = function(result, cx) {};\n\n/**\n * Object representing a single test in a test suite.\n *\n * These are created as part of the lib.TestManager.Suite.addTest() method.\n * You should never have to construct one by hand.\n *\n * @param {lib.TestManager.Suite} suiteClass The test suite class containing\n * this test.\n * @param {string} testName The local name of this test case, not including the\n * test suite name.\n * @param {function(lib.TestManager.Result, Object)} testFunction The function\n * to invoke for this test case. This is passed a Result instance and the\n * context object associated with the test run.\n *\n */\nlib.TestManager.Test = function(suiteClass, testName, testFunction) {\n /**\n * The test suite class containing this function.\n */\n this.suiteClass = suiteClass;\n\n /**\n * The local name of this test, not including the test suite name.\n */\n this.testName = testName;\n\n /**\n * The global name of this test, including the test suite name.\n */\n this.fullName = suiteClass.suiteName + '[' + testName + ']';\n\n // The function to call for this test.\n this.testFunction_ = testFunction;\n};\n\n/**\n * Execute this test.\n *\n * This is called by a lib.TestManager.Result instance, as part of a\n * lib.TestManager.TestRun. You should not call it by hand.\n *\n * @param {lib.TestManager.Result} result The result object for the test.\n */\nlib.TestManager.Test.prototype.run = function(result) {\n try {\n // Tests are applied to the parent lib.TestManager.Suite subclass.\n this.testFunction_.apply(result.suite,\n [result, result.testRun.cx]);\n } catch (ex) {\n if (ex instanceof lib.TestManager.Result.TestComplete)\n return;\n\n result.println('Test raised an exception: ' + ex);\n\n if (ex.stack) {\n if (ex.stack instanceof Array) {\n result.println(ex.stack.join('\\n'));\n } else {\n result.println(ex.stack);\n }\n }\n\n result.completeTest_(result.FAILED, false);\n }\n};\n\n/**\n * Used to choose a set of tests and run them.\n *\n * It's slightly more convenient to construct one of these from\n * lib.TestManager.prototype.createTestRun().\n *\n * @param {lib.TestManager} testManager The testManager associated with this\n * TestRun.\n * @param {Object} cx A context to be passed into the tests. This can be used\n * to set parameters for the test suite or individual test cases.\n */\nlib.TestManager.TestRun = function(testManager, cx) {\n /**\n * The associated lib.TestManager instance.\n */\n this.testManager = testManager;\n\n /**\n * Shortcut to the lib.TestManager's log.\n */\n this.log = testManager.log;\n\n /**\n * The test run context. It's entirely up to the test suite and test cases\n * how this is used. It is opaque to lib.TestManager.* classes.\n */\n this.cx = cx || {};\n\n /**\n * The list of test cases that encountered failures.\n */\n this.failures = [];\n\n /**\n * The list of test cases that passed.\n */\n this.passes = [];\n\n /**\n * The time the test run started, or null if it hasn't been started yet.\n */\n this.startDate = null;\n\n /**\n * The time in milliseconds that the test run took to complete, or null if\n * it hasn't completed yet.\n */\n this.duration = null;\n\n /**\n * The most recent result object, or null if the test run hasn't started\n * yet. In order to detect late failures, this is not cleared when the test\n * completes.\n */\n this.currentResult = null;\n\n /**\n * Number of maximum failures. The test run will stop when this number is\n * reached. If 0 or omitted, the entire set of selected tests is run, even\n * if some fail.\n */\n this.maxFailures = 0;\n\n /**\n * True if this test run ended early because of an unexpected condition.\n */\n this.panic = false;\n\n // List of pending test cases.\n this.testQueue_ = [];\n\n};\n\n/**\n * This value can be passed to select() to indicate that all tests should\n * be selected.\n */\nlib.TestManager.TestRun.prototype.ALL_TESTS = lib.f.createEnum('');\n\n/**\n * Add a single test to the test run.\n */\nlib.TestManager.TestRun.prototype.selectTest = function(test) {\n this.testQueue_.push(test);\n};\n\nlib.TestManager.TestRun.prototype.selectSuite = function(\n suiteClass, opt_pattern) {\n var pattern = opt_pattern || this.ALL_TESTS;\n var selectCount = 0;\n var testList = suiteClass.getTestList();\n\n for (var j = 0; j < testList.length; j++) {\n var test = testList[j];\n // Note that we're using \"!==\" rather than \"!=\" so that we're matching\n // the ALL_TESTS String object, rather than the contents of the string.\n if (pattern !== this.ALL_TESTS) {\n if (pattern instanceof RegExp) {\n if (!pattern.test(test.testName))\n continue;\n } else if (test.testName != pattern) {\n continue;\n }\n }\n\n this.selectTest(test);\n selectCount++;\n }\n\n return selectCount;\n};\n\n/**\n * Selects one or more tests to gather results for.\n *\n * Selecting the same test more than once is allowed.\n *\n * @param {string|RegExp} pattern Pattern used to select tests.\n * If TestRun.prototype.ALL_TESTS, all tests are selected.\n * If a string, only the test that exactly matches is selected.\n * If a RegExp, only tests matching the RegExp are added.\n *\n * @return {int} The number of additional tests that have been selected into\n * this TestRun.\n */\nlib.TestManager.TestRun.prototype.selectPattern = function(pattern) {\n var selectCount = 0;\n\n for (var i = 0; i < lib.TestManager.Suite.subclasses.length; i++) {\n selectCount += this.selectSuite(lib.TestManager.Suite.subclasses[i],\n pattern);\n }\n\n if (!selectCount) {\n this.log.warn('No tests matched selection criteria: ' + pattern);\n }\n\n return selectCount;\n};\n\n/**\n * Hooked up to window.onerror during a test run in order to catch exceptions\n * that would otherwise go uncaught.\n */\nlib.TestManager.TestRun.prototype.onUncaughtException_ = function(\n message, file, line) {\n\n if (message.indexOf('Uncaught lib.TestManager.Result.TestComplete') == 0 ||\n message.indexOf('status: passed') != -1) {\n // This is a result.pass() or result.fail() call from a callback. We're\n // already going to deal with it as part of the completeTest_() call\n // that raised it. We can safely squelch this error message.\n return true;\n }\n\n if (!this.currentResult)\n return;\n\n if (message == 'Uncaught ' + this.currentResult.expectedErrorMessage_) {\n // Test cases may need to raise an unhandled exception as part of the test.\n return;\n }\n\n var when = 'during';\n\n if (this.currentResult.status != this.currentResult.PENDING)\n when = 'after';\n\n this.log.error('Uncaught exception ' + when + ' test case: ' +\n this.currentResult.test.fullName);\n this.log.error(message + ', ' + file + ':' + line);\n\n this.currentResult.completeTest_(this.currentResult.FAILED, false);\n\n return false;\n};\n\n/**\n * Called to when this test run has completed.\n *\n * This method typically re-runs itself asynchronously, in order to let the\n * DOM stabilize and short-term timeouts to complete before declaring the\n * test run complete.\n *\n * @param {boolean} opt_skipTimeout If true, the timeout is skipped and the\n * test run is completed immediately. This should only be used from within\n * this function.\n */\nlib.TestManager.TestRun.prototype.onTestRunComplete_ = function(\n opt_skipTimeout) {\n if (!opt_skipTimeout) {\n // The final test may have left a lingering setTimeout(..., 0), or maybe\n // poked at the DOM in a way that will trigger a event to fire at the end\n // of this stack, so we give things a chance to settle down before our\n // final cleanup...\n setTimeout(this.onTestRunComplete_.bind(this), 0, true);\n return;\n }\n\n this.duration = (new Date()) - this.startDate;\n\n this.log.groupEnd();\n this.log.info(this.passes.length + ' passed, ' +\n this.failures.length + ' failed, ' +\n this.msToSeconds_(this.duration));\n\n this.summarize();\n\n window.onerror = null;\n\n this.testManager.onTestRunComplete(this);\n};\n\n/**\n * Called by the lib.TestManager.Result object when a test completes.\n *\n * @param {lib.TestManager.Result} result The result object which has just\n * completed.\n */\nlib.TestManager.TestRun.prototype.onResultComplete = function(result) {\n try {\n this.testManager.testPostamble(result, this.cx);\n result.suite.postamble(result, this.ctx);\n } catch (ex) {\n this.log.error('Unexpected exception in postamble: ' +\n (ex.stack ? ex.stack : ex));\n this.panic = true;\n }\n\n if (result.status != result.PASSED)\n this.log.error(result.status);\n else if (result.duration > 500)\n this.log.warn('Slow test took ' + this.msToSeconds_(result.duration));\n this.log.groupEnd();\n\n if (result.status == result.FAILED) {\n this.failures.push(result);\n this.currentSuite = null;\n } else if (result.status == result.PASSED) {\n this.passes.push(result);\n } else {\n this.log.error('Unknown result status: ' + result.test.fullName + ': ' +\n result.status);\n return this.panic = true;\n }\n\n this.runNextTest_();\n};\n\n/**\n * Called by the lib.TestManager.Result object when a test which has already\n * completed reports another completion.\n *\n * This is usually indicative of a buggy testcase. It is probably reporting a\n * result on exit and then again from an asynchronous callback.\n *\n * It may also be the case that the last act of the testcase causes a DOM change\n * which triggers some event to run after the test returns. If the event\n * handler reports a failure or raises an uncaught exception, the test will\n * fail even though it has already completed.\n *\n * In any case, re-completing a test ALWAYS moves it into the failure pile.\n *\n * @param {lib.TestManager.Result} result The result object which has just\n * completed.\n * @param {string} lateStatus The status that the test attempted to record this\n * time around.\n */\nlib.TestManager.TestRun.prototype.onResultReComplete = function(\n result, lateStatus) {\n this.log.error('Late complete for test: ' + result.test.fullName + ': ' +\n lateStatus);\n\n // Consider any late completion a failure, even if it's a double-pass, since\n // it's a misuse of the testing API.\n var index = this.passes.indexOf(result);\n if (index >= 0) {\n this.passes.splice(index, 1);\n this.failures.push(result);\n }\n};\n\n/**\n * Run the next test in the queue.\n */\nlib.TestManager.TestRun.prototype.runNextTest_ = function() {\n if (this.panic || !this.testQueue_.length)\n return this.onTestRunComplete_();\n\n if (this.maxFailures && this.failures.length >= this.maxFailures) {\n this.log.error('Maximum failure count reached, aborting test run.');\n return this.onTestRunComplete_();\n }\n\n // Peek at the top test first. We remove it later just before it's about\n // to run, so that we don't disturb the incomplete test count in the\n // event that we fail before running it.\n var test = this.testQueue_[0];\n var suite = this.currentResult ? this.currentResult.suite : null;\n\n try {\n if (!suite || !(suite instanceof test.suiteClass)) {\n if (suite)\n this.log.groupEnd();\n this.log.group(test.suiteClass.suiteName);\n suite = new test.suiteClass(this.testManager, this.cx);\n }\n } catch (ex) {\n // If test suite setup fails we're not even going to try to run the tests.\n this.log.error('Exception during setup: ' + (ex.stack ? ex.stack : ex));\n this.panic = true;\n this.onTestRunComplete_();\n return;\n }\n\n try {\n this.log.group(test.testName);\n\n this.currentResult = new lib.TestManager.Result(this, suite, test);\n this.testManager.testPreamble(this.currentResult, this.cx);\n suite.preamble(this.currentResult, this.cx);\n\n this.testQueue_.shift();\n } catch (ex) {\n this.log.error('Unexpected exception during test preamble: ' +\n (ex.stack ? ex.stack : ex));\n this.log.groupEnd();\n\n this.panic = true;\n this.onTestRunComplete_();\n return;\n }\n\n try {\n this.currentResult.run();\n } catch (ex) {\n // Result.run() should catch test exceptions and turn them into failures.\n // If we got here, it means there is trouble in the testing framework.\n this.log.error('Unexpected exception during test run: ' +\n (ex.stack ? ex.stack : ex));\n this.panic = true;\n }\n};\n\n/**\n * Run the selected list of tests.\n *\n * Some tests may need to run asynchronously, so you cannot assume the run is\n * complete when this function returns. Instead, pass in a function to be\n * called back when the run has completed.\n *\n * This function will log the results of the test run as they happen into the\n * log defined by the associated lib.TestManager. By default this is\n * console.log, which can be viewed in the JavaScript console of most browsers.\n *\n * The browser state is determined by the last test to run. We intentionally\n * don't do any cleanup so that you can inspect the state of a failed test, or\n * leave the browser ready for manual testing.\n *\n * Any failures in lib.TestManager.* code or test suite setup or test case\n * preamble will cause the test run to abort.\n */\nlib.TestManager.TestRun.prototype.run = function() {\n this.log.info('Running ' + this.testQueue_.length + ' test(s)');\n\n window.onerror = this.onUncaughtException_.bind(this);\n this.startDate = new Date();\n this.runNextTest_();\n};\n\n/**\n * Format milliseconds as fractional seconds.\n */\nlib.TestManager.TestRun.prototype.msToSeconds_ = function(ms) {\n var secs = (ms / 1000).toFixed(2);\n return secs + 's';\n};\n\n/**\n * Log the current result summary.\n */\nlib.TestManager.TestRun.prototype.summarize = function() {\n if (this.failures.length) {\n for (var i = 0; i < this.failures.length; i++) {\n this.log.error('FAILED: ' + this.failures[i].test.fullName);\n }\n }\n\n if (this.testQueue_.length) {\n this.log.warn('Test run incomplete: ' + this.testQueue_.length +\n ' test(s) were not run.');\n }\n};\n\n/**\n * Record of the result of a single test.\n *\n * These are constructed during a test run, you shouldn't have to make one\n * on your own.\n *\n * An instance of this class is passed in to each test function. It can be\n * used to add messages to the test log, to record a test pass/fail state, to\n * test assertions, or to create exception-proof wrappers for callback\n * functions.\n *\n * @param {lib.TestManager.TestRun} testRun The TestRun instance associated with\n * this result.\n * @param {lib.TestManager.Suit} suite The Suite containing the test we're\n * collecting this result for.\n * @param {lib.TestManager.Test} test The test we're collecting this result for.\n */\nlib.TestManager.Result = function(testRun, suite, test) {\n /**\n * The TestRun instance associated with this result.\n */\n this.testRun = testRun;\n\n /**\n * The Suite containing the test we're collecting this result for.\n */\n this.suite = suite;\n\n /**\n * The test we're collecting this result for.\n */\n this.test = test;\n\n /**\n * The time we started to collect this result, or null if we haven't started.\n */\n this.startDate = null;\n\n /**\n * The time in milliseconds that the test took to complete, or null if\n * it hasn't completed yet.\n */\n this.duration = null;\n\n /**\n * The current status of this test result.\n */\n this.status = this.PENDING;\n\n // An error message that the test case is expected to generate.\n this.expectedErrorMessage_ = null;\n};\n\n/**\n * Possible values for this.status.\n */\nlib.TestManager.Result.prototype.PENDING = 'pending';\nlib.TestManager.Result.prototype.FAILED = 'FAILED';\nlib.TestManager.Result.prototype.PASSED = 'passed';\n\n/**\n * Exception thrown when a test completes (pass or fail), to ensure no more of\n * the test is run.\n */\nlib.TestManager.Result.TestComplete = function(result) {\n this.result = result;\n};\n\nlib.TestManager.Result.TestComplete.prototype.toString = function() {\n return 'lib.TestManager.Result.TestComplete: ' + this.result.test.fullName +\n ', status: ' + this.result.status;\n}\n\n/**\n * Start the test associated with this result.\n */\nlib.TestManager.Result.prototype.run = function() {\n var self = this;\n\n this.startDate = new Date();\n this.test.run(this);\n\n if (this.status == this.PENDING && !this.timeout_) {\n this.println('Test did not return a value and did not request more time.');\n this.completeTest_(this.FAILED, false);\n }\n};\n\n/**\n * Unhandled error message this test expects to generate.\n *\n * This must be the exact string that would appear in the JavaScript console,\n * minus the 'Uncaught ' prefix.\n *\n * The test case does *not* automatically fail if the error message is not\n * encountered.\n */\nlib.TestManager.Result.prototype.expectErrorMessage = function(str) {\n this.expectedErrorMessage_ = str;\n};\n\n/**\n * Function called when a test times out.\n */\nlib.TestManager.Result.prototype.onTimeout_ = function() {\n this.timeout_ = null;\n\n if (this.status != this.PENDING)\n return;\n\n this.println('Test timed out.');\n this.completeTest_(this.FAILED, false);\n};\n\n/**\n * Indicate that a test case needs more time to complete.\n *\n * Before a test case returns it must report a pass/fail result, or request more\n * time to do so.\n *\n * If a test does not report pass/fail before the time expires it will\n * be reported as a timeout failure. Any late pass/fails will be noted in the\n * test log, but will not affect the final result of the test.\n *\n * Test cases may call requestTime more than once. If you have a few layers\n * of asynchronous API to go through, you should call this once per layer with\n * an estimate of how long each callback will take to complete.\n *\n * @param {int} ms Number of milliseconds requested.\n */\nlib.TestManager.Result.prototype.requestTime = function(ms) {\n if (this.timeout_)\n clearTimeout(this.timeout_);\n\n this.timeout_ = setTimeout(this.onTimeout_.bind(this), ms);\n};\n\n/**\n * Report the completion of a test.\n *\n * @param {string} status The status of the test case.\n * @param {boolean} opt_throw Optional boolean indicating whether or not\n * to throw the TestComplete exception.\n */\nlib.TestManager.Result.prototype.completeTest_ = function(status, opt_throw) {\n if (this.status == this.PENDING) {\n this.duration = (new Date()) - this.startDate;\n this.status = status;\n\n this.testRun.onResultComplete(this);\n } else {\n this.testRun.onResultReComplete(this, status);\n }\n\n if (arguments.length < 2 || opt_throw)\n throw new lib.TestManager.Result.TestComplete(this);\n};\n\n/**\n * Check that two arrays are equal.\n */\nlib.TestManager.Result.prototype.arrayEQ_ = function(actual, expected) {\n if (!actual || !expected)\n return (!actual && !expected);\n\n if (actual.length != expected.length)\n return false;\n\n for (var i = 0; i < actual.length; ++i)\n if (actual[i] != expected[i])\n return false;\n\n return true;\n};\n\n/**\n * Assert that an actual value is exactly equal to the expected value.\n *\n * This uses the JavaScript '===' operator in order to avoid type coercion.\n *\n * If the assertion fails, the test is marked as a failure and a TestCompleted\n * exception is thrown.\n *\n * @param {*} actual The actual measured value.\n * @param {*} expected The value expected.\n * @param {string} opt_name An optional name used to identify this\n * assertion in the test log. If omitted it will be the file:line\n * of the caller.\n */\nlib.TestManager.Result.prototype.assertEQ = function(\n actual, expected, opt_name) {\n // Utility function to pretty up the log.\n function format(value) {\n if (typeof value == 'number')\n return value;\n\n var str = String(value);\n var ary = str.split('\\n').map(function (e) { return JSON.stringify(e) });\n if (ary.length > 1) {\n // If the string has newlines, start it off on its own line so that\n // it's easier to compare against another string with newlines.\n return '\\n' + ary.join('\\n');\n } else {\n return ary.join('\\n');\n }\n }\n\n if (actual === expected)\n return;\n\n // Deal with common object types since JavaScript can't.\n if (expected instanceof Array)\n if (this.arrayEQ_(actual, expected))\n return;\n\n var name = opt_name ? '[' + opt_name + ']' : '';\n\n this.fail('assertEQ' + name + ': ' + this.getCallerLocation_(1) + ': ' +\n format(actual) + ' !== ' + format(expected));\n};\n\n/**\n * Assert that a value is true.\n *\n * This uses the JavaScript '===' operator in order to avoid type coercion.\n * The must be the boolean value `true`, not just some \"truish\" value.\n *\n * If the assertion fails, the test is marked as a failure and a TestCompleted\n * exception is thrown.\n *\n * @param {boolean} actual The actual measured value.\n * @param {string} opt_name An optional name used to identify this\n * assertion in the test log. If omitted it will be the file:line\n * of the caller.\n */\nlib.TestManager.Result.prototype.assert = function(actual, opt_name) {\n if (actual === true)\n return;\n\n var name = opt_name ? '[' + opt_name + ']' : '';\n\n this.fail('assert' + name + ': ' + this.getCallerLocation_(1) + ': ' +\n String(actual));\n};\n\n/**\n * Return the filename:line of a calling stack frame.\n *\n * This uses a dirty hack. It throws an exception, catches it, and examines\n * the stack property of the caught exception.\n *\n * @param {int} frameIndex The stack frame to return. 0 is the frame that\n * called this method, 1 is its caller, and so on.\n * @return {string} A string of the format \"filename:linenumber\".\n */\nlib.TestManager.Result.prototype.getCallerLocation_ = function(frameIndex) {\n try {\n throw new Error();\n } catch (ex) {\n var frame = ex.stack.split('\\n')[frameIndex + 2];\n var ary = frame.match(/([^/]+:\\d+):\\d+\\)?$/);\n return ary ? ary[1] : '???';\n }\n};\n\n/**\n * Write a message to the result log.\n */\nlib.TestManager.Result.prototype.println = function(message) {\n this.testRun.log.info(message);\n};\n\n/**\n * Mark a failed test and exit out of the rest of the test.\n *\n * This will throw a TestCompleted exception, causing the current test to stop.\n *\n * @param {string} opt_message Optional message to add to the log.\n */\nlib.TestManager.Result.prototype.fail = function(opt_message) {\n if (arguments.length)\n this.println(opt_message);\n\n this.completeTest_(this.FAILED, true);\n};\n\n/**\n * Mark a passed test and exit out of the rest of the test.\n *\n * This will throw a TestCompleted exception, causing the current test to stop.\n */\nlib.TestManager.Result.prototype.pass = function() {\n this.completeTest_(this.PASSED, true);\n};\n// SOURCE FILE: libdot/js/lib_utf8.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n// TODO(davidben): When the string encoding API is implemented,\n// replace this with the native in-browser implementation.\n//\n// https://wiki.whatwg.org/wiki/StringEncoding\n// https://encoding.spec.whatwg.org/\n\n/**\n * A stateful UTF-8 decoder.\n */\nlib.UTF8Decoder = function() {\n // The number of bytes left in the current sequence.\n this.bytesLeft = 0;\n // The in-progress code point being decoded, if bytesLeft > 0.\n this.codePoint = 0;\n // The lower bound on the final code point, if bytesLeft > 0.\n this.lowerBound = 0;\n};\n\n/**\n * Decodes a some UTF-8 data, taking into account state from previous\n * data streamed through the encoder.\n *\n * @param {String} str data to decode, represented as a JavaScript\n * String with each code unit representing a byte between 0x00 to\n * 0xFF.\n * @return {String} The data decoded into a JavaScript UTF-16 string.\n */\nlib.UTF8Decoder.prototype.decode = function(str) {\n var ret = '';\n for (var i = 0; i < str.length; i++) {\n var c = str.charCodeAt(i);\n if (this.bytesLeft == 0) {\n if (c <= 0x7F) {\n ret += str.charAt(i);\n } else if (0xC0 <= c && c <= 0xDF) {\n this.codePoint = c - 0xC0;\n this.bytesLeft = 1;\n this.lowerBound = 0x80;\n } else if (0xE0 <= c && c <= 0xEF) {\n this.codePoint = c - 0xE0;\n this.bytesLeft = 2;\n this.lowerBound = 0x800;\n } else if (0xF0 <= c && c <= 0xF7) {\n this.codePoint = c - 0xF0;\n this.bytesLeft = 3;\n this.lowerBound = 0x10000;\n } else if (0xF8 <= c && c <= 0xFB) {\n this.codePoint = c - 0xF8;\n this.bytesLeft = 4;\n this.lowerBound = 0x200000;\n } else if (0xFC <= c && c <= 0xFD) {\n this.codePoint = c - 0xFC;\n this.bytesLeft = 5;\n this.lowerBound = 0x4000000;\n } else {\n ret += '\\ufffd';\n }\n } else {\n if (0x80 <= c && c <= 0xBF) {\n this.bytesLeft--;\n this.codePoint = (this.codePoint << 6) + (c - 0x80);\n if (this.bytesLeft == 0) {\n // Got a full sequence. Check if it's within bounds and\n // filter out surrogate pairs.\n var codePoint = this.codePoint;\n if (codePoint < this.lowerBound\n || (0xD800 <= codePoint && codePoint <= 0xDFFF)\n || codePoint > 0x10FFFF) {\n ret += '\\ufffd';\n } else {\n // Encode as UTF-16 in the output.\n if (codePoint < 0x10000) {\n ret += String.fromCharCode(codePoint);\n } else {\n // Surrogate pair.\n codePoint -= 0x10000;\n ret += String.fromCharCode(\n 0xD800 + ((codePoint >>> 10) & 0x3FF),\n 0xDC00 + (codePoint & 0x3FF));\n }\n }\n }\n } else {\n // Too few bytes in multi-byte sequence. Rewind stream so we\n // don't lose the next byte.\n ret += '\\ufffd';\n this.bytesLeft = 0;\n i--;\n }\n }\n }\n return ret;\n};\n\n/**\n * Decodes UTF-8 data. This is a convenience function for when all the\n * data is already known.\n *\n * @param {String} str data to decode, represented as a JavaScript\n * String with each code unit representing a byte between 0x00 to\n * 0xFF.\n * @return {String} The data decoded into a JavaScript UTF-16 string.\n */\nlib.decodeUTF8 = function(utf8) {\n return (new lib.UTF8Decoder()).decode(utf8);\n};\n\n/**\n * Encodes a UTF-16 string into UTF-8.\n *\n * TODO(davidben): Do we need a stateful version of this that can\n * handle a surrogate pair split in two calls? What happens if a\n * keypress event would have contained a character outside the BMP?\n *\n * @param {String} str The string to encode.\n * @return {String} The string encoded as UTF-8, as a JavaScript\n * string with bytes represented as code units from 0x00 to 0xFF.\n */\nlib.encodeUTF8 = function(str) {\n var ret = '';\n for (var i = 0; i < str.length; i++) {\n // Get a unicode code point out of str.\n var c = str.charCodeAt(i);\n if (0xDC00 <= c && c <= 0xDFFF) {\n c = 0xFFFD;\n } else if (0xD800 <= c && c <= 0xDBFF) {\n if (i+1 < str.length) {\n var d = str.charCodeAt(i+1);\n if (0xDC00 <= d && d <= 0xDFFF) {\n // Swallow a surrogate pair.\n c = 0x10000 + ((c & 0x3FF) << 10) + (d & 0x3FF);\n i++;\n } else {\n c = 0xFFFD;\n }\n } else {\n c = 0xFFFD;\n }\n }\n\n // Encode c in UTF-8.\n var bytesLeft;\n if (c <= 0x7F) {\n ret += str.charAt(i);\n continue;\n } else if (c <= 0x7FF) {\n ret += String.fromCharCode(0xC0 | (c >>> 6));\n bytesLeft = 1;\n } else if (c <= 0xFFFF) {\n ret += String.fromCharCode(0xE0 | (c >>> 12));\n bytesLeft = 2;\n } else /* if (c <= 0x10FFFF) */ {\n ret += String.fromCharCode(0xF0 | (c >>> 18));\n bytesLeft = 3;\n }\n\n while (bytesLeft > 0) {\n bytesLeft--;\n ret += String.fromCharCode(0x80 | ((c >>> (6 * bytesLeft)) & 0x3F));\n }\n }\n return ret;\n};\n// SOURCE FILE: libdot/third_party/wcwidth/lib_wc.js\n// Copyright (c) 2014 The Chromium OS Authors. All rights reserved.\n// Use of lib.wc source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * This JavaScript library is ported from the wcwidth.js module of node.js.\n * The original implementation can be found at:\n * https://npmjs.org/package/wcwidth.js\n */\n\n/**\n * JavaScript porting of Markus Kuhn's wcwidth() implementation\n *\n * The following explanation comes from the original C implementation:\n *\n * This is an implementation of wcwidth() and wcswidth() (defined in\n * IEEE Std 1002.1-2001) for Unicode.\n *\n * http://www.opengroup.org/onlinepubs/007904975/functions/wcwidth.html\n * http://www.opengroup.org/onlinepubs/007904975/functions/wcswidth.html\n *\n * In fixed-width output devices, Latin characters all occupy a single\n * \"cell\" position of equal width, whereas ideographic CJK characters\n * occupy two such cells. Interoperability between terminal-line\n * applications and (teletype-style) character terminals using the\n * UTF-8 encoding requires agreement on which character should advance\n * the cursor by how many cell positions. No established formal\n * standards exist at present on which Unicode character shall occupy\n * how many cell positions on character terminals. These routines are\n * a first attempt of defining such behavior based on simple rules\n * applied to data provided by the Unicode Consortium.\n *\n * For some graphical characters, the Unicode standard explicitly\n * defines a character-cell width via the definition of the East Asian\n * FullWidth (F), Wide (W), Half-width (H), and Narrow (Na) classes.\n * In all these cases, there is no ambiguity about which width a\n * terminal shall use. For characters in the East Asian Ambiguous (A)\n * class, the width choice depends purely on a preference of backward\n * compatibility with either historic CJK or Western practice.\n * Choosing single-width for these characters is easy to justify as\n * the appropriate long-term solution, as the CJK practice of\n * displaying these characters as double-width comes from historic\n * implementation simplicity (8-bit encoded characters were displayed\n * single-width and 16-bit ones double-width, even for Greek,\n * Cyrillic, etc.) and not any typographic considerations.\n *\n * Much less clear is the choice of width for the Not East Asian\n * (Neutral) class. Existing practice does not dictate a width for any\n * of these characters. It would nevertheless make sense\n * typographically to allocate two character cells to characters such\n * as for instance EM SPACE or VOLUME INTEGRAL, which cannot be\n * represented adequately with a single-width glyph. The following\n * routines at present merely assign a single-cell width to all\n * neutral characters, in the interest of simplicity. This is not\n * entirely satisfactory and should be reconsidered before\n * establishing a formal standard in lib.wc area. At the moment, the\n * decision which Not East Asian (Neutral) characters should be\n * represented by double-width glyphs cannot yet be answered by\n * applying a simple rule from the Unicode database content. Setting\n * up a proper standard for the behavior of UTF-8 character terminals\n * will require a careful analysis not only of each Unicode character,\n * but also of each presentation form, something the author of these\n * routines has avoided to do so far.\n *\n * http://www.unicode.org/unicode/reports/tr11/\n *\n * Markus Kuhn -- 2007-05-26 (Unicode 5.0)\n *\n * Permission to use, copy, modify, and distribute lib.wc software\n * for any purpose and without fee is hereby granted. The author\n * disclaims all warranties with regard to lib.wc software.\n *\n * Latest version: http://www.cl.cam.ac.uk/~mgk25/ucs/wcwidth.c\n */\n\n/**\n * The following function defines the column width of an ISO 10646 character\n * as follows:\n *\n * - The null character (U+0000) has a column width of 0.\n * - Other C0/C1 control characters and DEL will lead to a return value of -1.\n * - Non-spacing and enclosing combining characters (general category code Mn\n * or Me in the Unicode database) have a column width of 0.\n * - SOFT HYPHEN (U+00AD) has a column width of 1.\n * - Other format characters (general category code Cf in the Unicode database)\n * and ZERO WIDTH SPACE (U+200B) have a column width of 0.\n * - Hangul Jamo medial vowels and final consonants (U+1160-U+11FF) have a\n * column width of 0.\n * - Spacing characters in the East Asian Wide (W) or East Asian Full-width (F)\n * category as defined in Unicode Technical Report #11 have a column width of\n * 2.\n * - East Asian Ambiguous characters are taken into account if\n * regardCjkAmbiguous flag is enabled. They have a column width of 2.\n * - All remaining characters (including all printable ISO 8859-1 and WGL4\n * characters, Unicode control characters, etc.) have a column width of 1.\n *\n * This implementation assumes that characters are encoded in ISO 10646.\n */\n\nlib.wc = {};\n\n// Width of a nul character.\nlib.wc.nulWidth = 0;\n\n// Width of a control character.\nlib.wc.controlWidth = 0;\n\n// Flag whether to consider East Asian Ambiguous characters.\nlib.wc.regardCjkAmbiguous = false;\n\n// Width of an East Asian Ambiguous character.\nlib.wc.cjkAmbiguousWidth = 2;\n\n// Sorted list of non-overlapping intervals of non-spacing characters\n// generated by \"uniset +cat=Me +cat=Mn +cat=Cf -00AD +1160-11FF +200B c\"\nlib.wc.combining = [\n [ 0x0300, 0x036F ], [ 0x0483, 0x0486 ], [ 0x0488, 0x0489 ],\n [ 0x0591, 0x05BD ], [ 0x05BF, 0x05BF ], [ 0x05C1, 0x05C2 ],\n [ 0x05C4, 0x05C5 ], [ 0x05C7, 0x05C7 ], [ 0x0600, 0x0603 ],\n [ 0x0610, 0x0615 ], [ 0x064B, 0x065E ], [ 0x0670, 0x0670 ],\n [ 0x06D6, 0x06E4 ], [ 0x06E7, 0x06E8 ], [ 0x06EA, 0x06ED ],\n [ 0x070F, 0x070F ], [ 0x0711, 0x0711 ], [ 0x0730, 0x074A ],\n [ 0x07A6, 0x07B0 ], [ 0x07EB, 0x07F3 ], [ 0x0901, 0x0902 ],\n [ 0x093C, 0x093C ], [ 0x0941, 0x0948 ], [ 0x094D, 0x094D ],\n [ 0x0951, 0x0954 ], [ 0x0962, 0x0963 ], [ 0x0981, 0x0981 ],\n [ 0x09BC, 0x09BC ], [ 0x09C1, 0x09C4 ], [ 0x09CD, 0x09CD ],\n [ 0x09E2, 0x09E3 ], [ 0x0A01, 0x0A02 ], [ 0x0A3C, 0x0A3C ],\n [ 0x0A41, 0x0A42 ], [ 0x0A47, 0x0A48 ], [ 0x0A4B, 0x0A4D ],\n [ 0x0A70, 0x0A71 ], [ 0x0A81, 0x0A82 ], [ 0x0ABC, 0x0ABC ],\n [ 0x0AC1, 0x0AC5 ], [ 0x0AC7, 0x0AC8 ], [ 0x0ACD, 0x0ACD ],\n [ 0x0AE2, 0x0AE3 ], [ 0x0B01, 0x0B01 ], [ 0x0B3C, 0x0B3C ],\n [ 0x0B3F, 0x0B3F ], [ 0x0B41, 0x0B43 ], [ 0x0B4D, 0x0B4D ],\n [ 0x0B56, 0x0B56 ], [ 0x0B82, 0x0B82 ], [ 0x0BC0, 0x0BC0 ],\n [ 0x0BCD, 0x0BCD ], [ 0x0C3E, 0x0C40 ], [ 0x0C46, 0x0C48 ],\n [ 0x0C4A, 0x0C4D ], [ 0x0C55, 0x0C56 ], [ 0x0CBC, 0x0CBC ],\n [ 0x0CBF, 0x0CBF ], [ 0x0CC6, 0x0CC6 ], [ 0x0CCC, 0x0CCD ],\n [ 0x0CE2, 0x0CE3 ], [ 0x0D41, 0x0D43 ], [ 0x0D4D, 0x0D4D ],\n [ 0x0DCA, 0x0DCA ], [ 0x0DD2, 0x0DD4 ], [ 0x0DD6, 0x0DD6 ],\n [ 0x0E31, 0x0E31 ], [ 0x0E34, 0x0E3A ], [ 0x0E47, 0x0E4E ],\n [ 0x0EB1, 0x0EB1 ], [ 0x0EB4, 0x0EB9 ], [ 0x0EBB, 0x0EBC ],\n [ 0x0EC8, 0x0ECD ], [ 0x0F18, 0x0F19 ], [ 0x0F35, 0x0F35 ],\n [ 0x0F37, 0x0F37 ], [ 0x0F39, 0x0F39 ], [ 0x0F71, 0x0F7E ],\n [ 0x0F80, 0x0F84 ], [ 0x0F86, 0x0F87 ], [ 0x0F90, 0x0F97 ],\n [ 0x0F99, 0x0FBC ], [ 0x0FC6, 0x0FC6 ], [ 0x102D, 0x1030 ],\n [ 0x1032, 0x1032 ], [ 0x1036, 0x1037 ], [ 0x1039, 0x1039 ],\n [ 0x1058, 0x1059 ], [ 0x1160, 0x11FF ], [ 0x135F, 0x135F ],\n [ 0x1712, 0x1714 ], [ 0x1732, 0x1734 ], [ 0x1752, 0x1753 ],\n [ 0x1772, 0x1773 ], [ 0x17B4, 0x17B5 ], [ 0x17B7, 0x17BD ],\n [ 0x17C6, 0x17C6 ], [ 0x17C9, 0x17D3 ], [ 0x17DD, 0x17DD ],\n [ 0x180B, 0x180D ], [ 0x18A9, 0x18A9 ], [ 0x1920, 0x1922 ],\n [ 0x1927, 0x1928 ], [ 0x1932, 0x1932 ], [ 0x1939, 0x193B ],\n [ 0x1A17, 0x1A18 ], [ 0x1B00, 0x1B03 ], [ 0x1B34, 0x1B34 ],\n [ 0x1B36, 0x1B3A ], [ 0x1B3C, 0x1B3C ], [ 0x1B42, 0x1B42 ],\n [ 0x1B6B, 0x1B73 ], [ 0x1DC0, 0x1DCA ], [ 0x1DFE, 0x1DFF ],\n [ 0x200B, 0x200F ], [ 0x202A, 0x202E ], [ 0x2060, 0x2063 ],\n [ 0x206A, 0x206F ], [ 0x20D0, 0x20EF ], [ 0x302A, 0x302F ],\n [ 0x3099, 0x309A ], [ 0xA806, 0xA806 ], [ 0xA80B, 0xA80B ],\n [ 0xA825, 0xA826 ], [ 0xFB1E, 0xFB1E ], [ 0xFE00, 0xFE0F ],\n [ 0xFE20, 0xFE23 ], [ 0xFEFF, 0xFEFF ], [ 0xFFF9, 0xFFFB ],\n [ 0x10A01, 0x10A03 ], [ 0x10A05, 0x10A06 ], [ 0x10A0C, 0x10A0F ],\n [ 0x10A38, 0x10A3A ], [ 0x10A3F, 0x10A3F ], [ 0x1D167, 0x1D169 ],\n [ 0x1D173, 0x1D182 ], [ 0x1D185, 0x1D18B ], [ 0x1D1AA, 0x1D1AD ],\n [ 0x1D242, 0x1D244 ], [ 0xE0001, 0xE0001 ], [ 0xE0020, 0xE007F ],\n [ 0xE0100, 0xE01EF ]\n];\n\n// Sorted list of non-overlapping intervals of East Asian Ambiguous characters\n// generated by \"uniset +WIDTH-A -cat=Me -cat=Mn -cat=Cf c\"\nlib.wc.ambiguous = [\n [ 0x00A1, 0x00A1 ], [ 0x00A4, 0x00A4 ], [ 0x00A7, 0x00A8 ],\n [ 0x00AA, 0x00AA ], [ 0x00AE, 0x00AE ], [ 0x00B0, 0x00B4 ],\n [ 0x00B6, 0x00BA ], [ 0x00BC, 0x00BF ], [ 0x00C6, 0x00C6 ],\n [ 0x00D0, 0x00D0 ], [ 0x00D7, 0x00D8 ], [ 0x00DE, 0x00E1 ],\n [ 0x00E6, 0x00E6 ], [ 0x00E8, 0x00EA ], [ 0x00EC, 0x00ED ],\n [ 0x00F0, 0x00F0 ], [ 0x00F2, 0x00F3 ], [ 0x00F7, 0x00FA ],\n [ 0x00FC, 0x00FC ], [ 0x00FE, 0x00FE ], [ 0x0101, 0x0101 ],\n [ 0x0111, 0x0111 ], [ 0x0113, 0x0113 ], [ 0x011B, 0x011B ],\n [ 0x0126, 0x0127 ], [ 0x012B, 0x012B ], [ 0x0131, 0x0133 ],\n [ 0x0138, 0x0138 ], [ 0x013F, 0x0142 ], [ 0x0144, 0x0144 ],\n [ 0x0148, 0x014B ], [ 0x014D, 0x014D ], [ 0x0152, 0x0153 ],\n [ 0x0166, 0x0167 ], [ 0x016B, 0x016B ], [ 0x01CE, 0x01CE ],\n [ 0x01D0, 0x01D0 ], [ 0x01D2, 0x01D2 ], [ 0x01D4, 0x01D4 ],\n [ 0x01D6, 0x01D6 ], [ 0x01D8, 0x01D8 ], [ 0x01DA, 0x01DA ],\n [ 0x01DC, 0x01DC ], [ 0x0251, 0x0251 ], [ 0x0261, 0x0261 ],\n [ 0x02C4, 0x02C4 ], [ 0x02C7, 0x02C7 ], [ 0x02C9, 0x02CB ],\n [ 0x02CD, 0x02CD ], [ 0x02D0, 0x02D0 ], [ 0x02D8, 0x02DB ],\n [ 0x02DD, 0x02DD ], [ 0x02DF, 0x02DF ], [ 0x0391, 0x03A1 ],\n [ 0x03A3, 0x03A9 ], [ 0x03B1, 0x03C1 ], [ 0x03C3, 0x03C9 ],\n [ 0x0401, 0x0401 ], [ 0x0410, 0x044F ], [ 0x0451, 0x0451 ],\n [ 0x2010, 0x2010 ], [ 0x2013, 0x2016 ], [ 0x2018, 0x2019 ],\n [ 0x201C, 0x201D ], [ 0x2020, 0x2022 ], [ 0x2024, 0x2027 ],\n [ 0x2030, 0x2030 ], [ 0x2032, 0x2033 ], [ 0x2035, 0x2035 ],\n [ 0x203B, 0x203B ], [ 0x203E, 0x203E ], [ 0x2074, 0x2074 ],\n [ 0x207F, 0x207F ], [ 0x2081, 0x2084 ], [ 0x20AC, 0x20AC ],\n [ 0x2103, 0x2103 ], [ 0x2105, 0x2105 ], [ 0x2109, 0x2109 ],\n [ 0x2113, 0x2113 ], [ 0x2116, 0x2116 ], [ 0x2121, 0x2122 ],\n [ 0x2126, 0x2126 ], [ 0x212B, 0x212B ], [ 0x2153, 0x2154 ],\n [ 0x215B, 0x215E ], [ 0x2160, 0x216B ], [ 0x2170, 0x2179 ],\n [ 0x2190, 0x2199 ], [ 0x21B8, 0x21B9 ], [ 0x21D2, 0x21D2 ],\n [ 0x21D4, 0x21D4 ], [ 0x21E7, 0x21E7 ], [ 0x2200, 0x2200 ],\n [ 0x2202, 0x2203 ], [ 0x2207, 0x2208 ], [ 0x220B, 0x220B ],\n [ 0x220F, 0x220F ], [ 0x2211, 0x2211 ], [ 0x2215, 0x2215 ],\n [ 0x221A, 0x221A ], [ 0x221D, 0x2220 ], [ 0x2223, 0x2223 ],\n [ 0x2225, 0x2225 ], [ 0x2227, 0x222C ], [ 0x222E, 0x222E ],\n [ 0x2234, 0x2237 ], [ 0x223C, 0x223D ], [ 0x2248, 0x2248 ],\n [ 0x224C, 0x224C ], [ 0x2252, 0x2252 ], [ 0x2260, 0x2261 ],\n [ 0x2264, 0x2267 ], [ 0x226A, 0x226B ], [ 0x226E, 0x226F ],\n [ 0x2282, 0x2283 ], [ 0x2286, 0x2287 ], [ 0x2295, 0x2295 ],\n [ 0x2299, 0x2299 ], [ 0x22A5, 0x22A5 ], [ 0x22BF, 0x22BF ],\n [ 0x2312, 0x2312 ], [ 0x2460, 0x24E9 ], [ 0x24EB, 0x254B ],\n [ 0x2550, 0x2573 ], [ 0x2580, 0x258F ], [ 0x2592, 0x2595 ],\n [ 0x25A0, 0x25A1 ], [ 0x25A3, 0x25A9 ], [ 0x25B2, 0x25B3 ],\n [ 0x25B6, 0x25B7 ], [ 0x25BC, 0x25BD ], [ 0x25C0, 0x25C1 ],\n [ 0x25C6, 0x25C8 ], [ 0x25CB, 0x25CB ], [ 0x25CE, 0x25D1 ],\n [ 0x25E2, 0x25E5 ], [ 0x25EF, 0x25EF ], [ 0x2605, 0x2606 ],\n [ 0x2609, 0x2609 ], [ 0x260E, 0x260F ], [ 0x2614, 0x2615 ],\n [ 0x261C, 0x261C ], [ 0x261E, 0x261E ], [ 0x2640, 0x2640 ],\n [ 0x2642, 0x2642 ], [ 0x2660, 0x2661 ], [ 0x2663, 0x2665 ],\n [ 0x2667, 0x266A ], [ 0x266C, 0x266D ], [ 0x266F, 0x266F ],\n [ 0x273D, 0x273D ], [ 0x2776, 0x277F ], [ 0xE000, 0xF8FF ],\n [ 0xFFFD, 0xFFFD ], [ 0xF0000, 0xFFFFD ], [ 0x100000, 0x10FFFD ]\n];\n\n/**\n * Binary search to check if the given unicode character is a space character.\n *\n * @param {integer} ucs A unicode character code.\n *\n * @return {boolean} True if the given character is a space character; false\n * otherwise.\n */\nlib.wc.isSpace = function(ucs) {\n // Auxiliary function for binary search in interval table.\n var min = 0, max = lib.wc.combining.length - 1;\n var mid;\n\n if (ucs < lib.wc.combining[0][0] || ucs > lib.wc.combining[max][1])\n return false;\n while (max >= min) {\n mid = Math.floor((min + max) / 2);\n if (ucs > lib.wc.combining[mid][1]) {\n min = mid + 1;\n } else if (ucs < lib.wc.combining[mid][0]) {\n max = mid - 1;\n } else {\n return true;\n }\n }\n\n return false;\n};\n\n/**\n * Auxiliary function for checking if the given unicode character is a East\n * Asian Ambiguous character.\n *\n * @param {integer} ucs A unicode character code.\n *\n * @return {boolean} True if the given character is a East Asian Ambiguous\n * character.\n */\nlib.wc.isCjkAmbiguous = function(ucs) {\n var min = 0, max = lib.wc.ambiguous.length - 1;\n var mid;\n\n if (ucs < lib.wc.ambiguous[0][0] || ucs > lib.wc.ambiguous[max][1])\n return false;\n while (max >= min) {\n mid = Math.floor((min + max) / 2);\n if (ucs > lib.wc.ambiguous[mid][1]) {\n min = mid + 1;\n } else if (ucs < lib.wc.ambiguous[mid][0]) {\n max = mid - 1;\n } else {\n return true;\n }\n }\n\n return false;\n};\n\n/**\n * Determine the column width of the given character.\n *\n * @param {integer} ucs A unicode character code.\n *\n * @return {integer} The column width of the given character.\n */\nlib.wc.charWidth = function(ucs) {\n if (lib.wc.regardCjkAmbiguous) {\n return lib.wc.charWidthRegardAmbiguous(ucs);\n } else {\n return lib.wc.charWidthDisregardAmbiguous(ucs);\n }\n};\n\n/**\n * Determine the column width of the given character without considering East\n * Asian Ambiguous characters.\n *\n * @param {integer} ucs A unicode character code.\n *\n * @return {integer} The column width of the given character.\n */\nlib.wc.charWidthDisregardAmbiguous = function(ucs) {\n // Test for 8-bit control characters.\n if (ucs === 0)\n return lib.wc.nulWidth;\n if (ucs < 32 || (ucs >= 0x7f && ucs < 0xa0))\n return lib.wc.controlWidth;\n\n // Optimize for ASCII characters.\n if (ucs < 0x7f)\n return 1;\n\n // Binary search in table of non-spacing characters.\n if (lib.wc.isSpace(ucs))\n return 0;\n\n // If we arrive here, ucs is not a combining or C0/C1 control character.\n return 1 +\n (ucs >= 0x1100 &&\n (ucs <= 0x115f || // Hangul Jamo init. consonants\n ucs == 0x2329 || ucs == 0x232a ||\n (ucs >= 0x2e80 && ucs <= 0xa4cf &&\n ucs != 0x303f) || // CJK ... Yi\n (ucs >= 0xac00 && ucs <= 0xd7a3) || // Hangul Syllables\n (ucs >= 0xf900 && ucs <= 0xfaff) || // CJK Compatibility Ideographs\n (ucs >= 0xfe10 && ucs <= 0xfe19) || // Vertical forms\n (ucs >= 0xfe30 && ucs <= 0xfe6f) || // CJK Compatibility Forms\n (ucs >= 0xff00 && ucs <= 0xff60) || // Fullwidth Forms\n (ucs >= 0xffe0 && ucs <= 0xffe6) ||\n (ucs >= 0x20000 && ucs <= 0x2fffd) ||\n (ucs >= 0x30000 && ucs <= 0x3fffd)));\n // TODO: emoji characters usually require space for wide characters although\n // East Asian width spec says nothing. Should we add special cases for them?\n};\n\n/**\n * Determine the column width of the given character considering East Asian\n * Ambiguous characters.\n *\n * @param {integer} ucs A unicode character code.\n *\n * @return {integer} The column width of the given character.\n */\nlib.wc.charWidthRegardAmbiguous = function(ucs) {\n if (lib.wc.isCjkAmbiguous(ucs))\n return lib.wc.cjkAmbiguousWidth;\n\n return lib.wc.charWidthDisregardAmbiguous(ucs);\n};\n\n/**\n * Determine the column width of the given string.\n *\n * @param {string} str A string.\n *\n * @return {integer} The column width of the given string.\n */\nlib.wc.strWidth = function(str) {\n var width, rv = 0;\n\n for (var i = 0; i < str.length;) {\n var codePoint = str.codePointAt(i);\n width = lib.wc.charWidth(codePoint);\n if (width < 0)\n return -1;\n rv += width;\n i += (codePoint <= 0xffff) ? 1 : 2;\n }\n\n return rv;\n};\n\n/**\n * Get the substring at the given column offset of the given column width.\n *\n * @param {string} str The string to get substring from.\n * @param {integer} start The starting column offset to get substring.\n * @param {integer} opt_width The column width of the substring.\n *\n * @return {string} The substring.\n */\nlib.wc.substr = function(str, start, opt_width) {\n var startIndex, endIndex, width;\n\n for (startIndex = 0, width = 0; startIndex < str.length; startIndex++) {\n width += lib.wc.charWidth(str.charCodeAt(startIndex));\n if (width > start)\n break;\n }\n\n if (opt_width != undefined) {\n for (endIndex = startIndex, width = 0;\n endIndex < str.length && width <= opt_width;\n width += lib.wc.charWidth(str.charCodeAt(endIndex)), endIndex++);\n if (width > opt_width)\n endIndex--;\n return str.substring(startIndex, endIndex);\n }\n\n return str.substr(startIndex);\n};\n\n/**\n * Get substring at the given start and end column offset.\n *\n * @param {string} str The string to get substring from.\n * @param {integer} start The starting column offset.\n * @param {integer} end The ending column offset.\n *\n * @return {string} The substring.\n */\nlib.wc.substring = function(str, start, end) {\n return lib.wc.substr(str, start, end - start);\n};\nlib.resource.add('libdot/changelog/version', 'text/plain',\n'1.16' +\n''\n);\n\nlib.resource.add('libdot/changelog/date', 'text/plain',\n'2017-08-16' +\n''\n);\n\n// SOURCE FILE: hterm/js/hterm.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\nlib.rtdep('lib.Storage');\n\n/**\n * @fileoverview Declares the hterm.* namespace and some basic shared utilities\n * that are too small to deserve dedicated files.\n */\nvar hterm = {};\n\n/**\n * The type of window hosting hterm.\n *\n * This is set as part of hterm.init(). The value is invalid until\n * initialization completes.\n */\nhterm.windowType = null;\n\n/**\n * Warning message to display in the terminal when browser zoom is enabled.\n *\n * You can replace it with your own localized message.\n */\nhterm.zoomWarningMessage = 'ZOOM != 100%';\n\n/**\n * Brief overlay message displayed when text is copied to the clipboard.\n *\n * By default it is the unicode BLACK SCISSORS character, but you can\n * replace it with your own localized message.\n *\n * This is only displayed when the 'enable-clipboard-notice' preference\n * is enabled.\n */\nhterm.notifyCopyMessage = '\\u2702';\n\n\n/**\n * Text shown in a desktop notification for the terminal\n * bell. \\u226a is a unicode EIGHTH NOTE, %(title) will\n * be replaced by the terminal title.\n */\nhterm.desktopNotificationTitle = '\\u266A %(title) \\u266A';\n\n/**\n * List of known hterm test suites.\n *\n * A test harness should ensure that they all exist before running.\n */\nhterm.testDeps = ['hterm.ScrollPort.Tests', 'hterm.Screen.Tests',\n 'hterm.Terminal.Tests', 'hterm.VT.Tests',\n 'hterm.VT.CannedTests'];\n\n/**\n * The hterm init function, registered with lib.registerInit().\n *\n * This is called during lib.init().\n *\n * @param {function} onInit The function lib.init() wants us to invoke when\n * initialization is complete.\n */\nlib.registerInit('hterm', function(onInit) {\n function onWindow(window) {\n hterm.windowType = window.type;\n setTimeout(onInit, 0);\n }\n\n function onTab(tab) {\n if (tab && window.chrome) {\n chrome.windows.get(tab.windowId, null, onWindow);\n } else {\n // TODO(rginda): This is where we end up for a v1 app's background page.\n // Maybe windowType = 'none' would be more appropriate, or something.\n hterm.windowType = 'normal';\n setTimeout(onInit, 0);\n }\n }\n\n if (!hterm.defaultStorage) {\n if (window.chrome && chrome.storage && chrome.storage.sync) {\n hterm.defaultStorage = new lib.Storage.Chrome(chrome.storage.sync);\n } else {\n hterm.defaultStorage = new lib.Storage.Local();\n }\n }\n\n // The chrome.tabs API is not supported in packaged apps, and detecting if\n // you're a packaged app is a little awkward.\n var isPackagedApp = false;\n if (window.chrome && chrome.runtime && chrome.runtime.getManifest) {\n var manifest = chrome.runtime.getManifest();\n isPackagedApp = manifest.app && manifest.app.background;\n }\n\n if (isPackagedApp) {\n // Packaged apps are never displayed in browser tabs.\n setTimeout(onWindow.bind(null, {type: 'popup'}), 0);\n } else {\n if (window.chrome && chrome.tabs) {\n // The getCurrent method gets the tab that is \"currently running\", not the\n // topmost or focused tab.\n chrome.tabs.getCurrent(onTab);\n } else {\n setTimeout(onWindow.bind(null, {type: 'normal'}), 0);\n }\n }\n});\n\n/**\n * Return decimal { width, height } for a given dom node.\n */\nhterm.getClientSize = function(dom) {\n return dom.getBoundingClientRect();\n};\n\n/**\n * Return decimal width for a given dom node.\n */\nhterm.getClientWidth = function(dom) {\n return dom.getBoundingClientRect().width;\n};\n\n/**\n * Return decimal height for a given dom node.\n */\nhterm.getClientHeight = function(dom) {\n return dom.getBoundingClientRect().height;\n};\n\n/**\n * Copy the current selection to the system clipboard.\n *\n * @param {HTMLDocument} The document with the selection to copy.\n */\nhterm.copySelectionToClipboard = function(document) {\n try {\n document.execCommand('copy');\n } catch (firefoxException) {\n // Ignore this. FF throws an exception if there was an error, even though\n // the spec says just return false.\n }\n};\n\n/**\n * Paste the system clipboard into the element with focus.\n *\n * Note: In Chrome/Firefox app/extension environments, you'll need the\n * \"clipboardRead\" permission. In other environments, this might always\n * fail as the browser frequently blocks access for security reasons.\n *\n * @param {HTMLDocument} The document to paste into.\n * @return {boolean} True if the paste succeeded.\n */\nhterm.pasteFromClipboard = function(document) {\n try {\n return document.execCommand('paste');\n } catch (firefoxException) {\n // Ignore this. FF 40 and older would incorrectly throw an exception if\n // there was an error instead of returning false.\n return false;\n }\n};\n\n/**\n * Create a new notification.\n *\n * @param {Object} params Various parameters for the notification.\n * @param {string} params.title The title (defaults to the window's title).\n * @param {string} params.body The message body (main text).\n */\nhterm.notify = function(params) {\n var def = (curr, fallback) => curr !== undefined ? curr : fallback;\n if (params === undefined || params === null)\n params = {};\n\n // Merge the user's choices with the default settings. We don't take it\n // directly in case it was stuffed with excess junk.\n var options = {\n 'body': params.body,\n 'icon': def(params.icon, lib.resource.getDataUrl('hterm/images/icon-96')),\n }\n\n var title = def(params.title, window.document.title);\n if (!title)\n title = 'hterm';\n title = lib.f.replaceVars(hterm.desktopNotificationTitle, {'title': title});\n\n var n = new Notification(title, options);\n n.onclick = function() {\n window.focus();\n this.close();\n };\n return n;\n};\n\n/**\n * Constructor for a hterm.Size record.\n *\n * Instances of this class have public read/write members for width and height.\n *\n * @param {integer} width The width of this record.\n * @param {integer} height The height of this record.\n */\nhterm.Size = function(width, height) {\n this.width = width;\n this.height = height;\n};\n\n/**\n * Adjust the width and height of this record.\n *\n * @param {integer} width The new width of this record.\n * @param {integer} height The new height of this record.\n */\nhterm.Size.prototype.resize = function(width, height) {\n this.width = width;\n this.height = height;\n};\n\n/**\n * Return a copy of this record.\n *\n * @return {hterm.Size} A new hterm.Size instance with the same width and\n * height.\n */\nhterm.Size.prototype.clone = function() {\n return new hterm.Size(this.width, this.height);\n};\n\n/**\n * Set the height and width of this instance based on another hterm.Size.\n *\n * @param {hterm.Size} that The object to copy from.\n */\nhterm.Size.prototype.setTo = function(that) {\n this.width = that.width;\n this.height = that.height;\n};\n\n/**\n * Test if another hterm.Size instance is equal to this one.\n *\n * @param {hterm.Size} that The other hterm.Size instance.\n * @return {boolean} True if both instances have the same width/height, false\n * otherwise.\n */\nhterm.Size.prototype.equals = function(that) {\n return this.width == that.width && this.height == that.height;\n};\n\n/**\n * Return a string representation of this instance.\n *\n * @return {string} A string that identifies the width and height of this\n * instance.\n */\nhterm.Size.prototype.toString = function() {\n return '[hterm.Size: ' + this.width + ', ' + this.height + ']';\n};\n\n/**\n * Constructor for a hterm.RowCol record.\n *\n * Instances of this class have public read/write members for row and column.\n *\n * This class includes an 'overflow' bit which is use to indicate that an\n * attempt has been made to move the cursor column passed the end of the\n * screen. When this happens we leave the cursor column set to the last column\n * of the screen but set the overflow bit. In this state cursor movement\n * happens normally, but any attempt to print new characters causes a cr/lf\n * first.\n *\n * @param {integer} row The row of this record.\n * @param {integer} column The column of this record.\n * @param {boolean} opt_overflow Optional boolean indicating that the RowCol\n * has overflowed.\n */\nhterm.RowCol = function(row, column, opt_overflow) {\n this.row = row;\n this.column = column;\n this.overflow = !!opt_overflow;\n};\n\n/**\n * Adjust the row and column of this record.\n *\n * @param {integer} row The new row of this record.\n * @param {integer} column The new column of this record.\n * @param {boolean} opt_overflow Optional boolean indicating that the RowCol\n * has overflowed.\n */\nhterm.RowCol.prototype.move = function(row, column, opt_overflow) {\n this.row = row;\n this.column = column;\n this.overflow = !!opt_overflow;\n};\n\n/**\n * Return a copy of this record.\n *\n * @return {hterm.RowCol} A new hterm.RowCol instance with the same row and\n * column.\n */\nhterm.RowCol.prototype.clone = function() {\n return new hterm.RowCol(this.row, this.column, this.overflow);\n};\n\n/**\n * Set the row and column of this instance based on another hterm.RowCol.\n *\n * @param {hterm.RowCol} that The object to copy from.\n */\nhterm.RowCol.prototype.setTo = function(that) {\n this.row = that.row;\n this.column = that.column;\n this.overflow = that.overflow;\n};\n\n/**\n * Test if another hterm.RowCol instance is equal to this one.\n *\n * @param {hterm.RowCol} that The other hterm.RowCol instance.\n * @return {boolean} True if both instances have the same row/column, false\n * otherwise.\n */\nhterm.RowCol.prototype.equals = function(that) {\n return (this.row == that.row && this.column == that.column &&\n this.overflow == that.overflow);\n};\n\n/**\n * Return a string representation of this instance.\n *\n * @return {string} A string that identifies the row and column of this\n * instance.\n */\nhterm.RowCol.prototype.toString = function() {\n return ('[hterm.RowCol: ' + this.row + ', ' + this.column + ', ' +\n this.overflow + ']');\n};\n// SOURCE FILE: hterm/js/hterm_frame.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\nlib.rtdep('lib.f');\n\n/**\n * First draft of the interface between the terminal and a third party dialog.\n *\n * This is rough. It's just the terminal->dialog layer. To complete things\n * we'll also need a command->terminal layer. That will have to facilitate\n * command->terminal->dialog or direct command->dialog communication.\n *\n * I imagine this class will change significantly when that happens.\n */\n\n/**\n * Construct a new frame for the given terminal.\n *\n * @param terminal {hterm.Terminal} The parent terminal object.\n * @param url {String} The url to load in the frame.\n * @param opt_options {Object} Optional options for the frame. Not implemented.\n */\nhterm.Frame = function(terminal, url, opt_options) {\n this.terminal_ = terminal;\n this.div_ = terminal.div_;\n this.url = url;\n this.options = opt_options || {};\n this.iframe_ = null;\n this.container_ = null;\n this.messageChannel_ = null;\n};\n\n/**\n * Handle messages from the iframe.\n */\nhterm.Frame.prototype.onMessage_ = function(e) {\n switch (e.data.name) {\n case 'ipc-init-ok':\n // We get this response after we send them ipc-init and they finish.\n this.sendTerminalInfo_();\n return;\n case 'terminal-info-ok':\n // We get this response after we send them terminal-info and they finish.\n // Show the finished frame, and then rebind our message handler to the\n // callback below.\n this.container_.style.display = 'flex';\n this.messageChannel_.port1.onmessage = this.onMessage.bind(this);\n this.onLoad();\n return;\n default:\n console.log('Unknown message from frame:', e.data);\n return;\n }\n};\n\n/**\n * Clients could override this, I guess.\n *\n * It doesn't support multiple listeners, but I'm not sure that would make sense\n * here. It's probably better to speak directly to our parents.\n */\nhterm.Frame.prototype.onMessage = function() {};\n\n/**\n * Handle iframe onLoad event.\n */\nhterm.Frame.prototype.onLoad_ = function() {\n this.messageChannel_ = new MessageChannel();\n this.messageChannel_.port1.onmessage = this.onMessage_.bind(this);\n this.messageChannel_.port1.start();\n this.iframe_.contentWindow.postMessage(\n {name: 'ipc-init', argv: [{messagePort: this.messageChannel_.port2}]},\n this.url, [this.messageChannel_.port2]);\n};\n\n/**\n * Clients may override this.\n */\nhterm.Frame.prototype.onLoad = function() {};\n\n/**\n * Sends the terminal-info message to the iframe.\n */\nhterm.Frame.prototype.sendTerminalInfo_ = function() {\n lib.f.getAcceptLanguages(function(languages) {\n this.postMessage('terminal-info', [{\n acceptLanguages: languages,\n foregroundColor: this.terminal_.getForegroundColor(),\n backgroundColor: this.terminal_.getBackgroundColor(),\n cursorColor: this.terminal_.getCursorColor(),\n fontSize: this.terminal_.getFontSize(),\n fontFamily: this.terminal_.getFontFamily(),\n baseURL: lib.f.getURL('/')\n }]\n );\n }.bind(this));\n};\n\n/**\n * User clicked the close button on the frame decoration.\n */\nhterm.Frame.prototype.onCloseClicked_ = function() {\n this.close();\n};\n\n/**\n * Close this frame.\n */\nhterm.Frame.prototype.close = function() {\n if (!this.container_ || !this.container_.parentNode)\n return;\n\n this.container_.parentNode.removeChild(this.container_);\n this.onClose();\n};\n\n\n/**\n * Clients may override this.\n */\nhterm.Frame.prototype.onClose = function() {};\n\n/**\n * Send a message to the iframe.\n */\nhterm.Frame.prototype.postMessage = function(name, argv) {\n if (!this.messageChannel_)\n throw new Error('Message channel is not set up.');\n\n this.messageChannel_.port1.postMessage({name: name, argv: argv});\n};\n\n/**\n * Show the UI for this frame.\n *\n * The iframe src is not loaded until this method is called.\n */\nhterm.Frame.prototype.show = function() {\n var self = this;\n\n function opt(name, defaultValue) {\n if (name in self.options)\n return self.options[name];\n\n return defaultValue;\n }\n\n var self = this;\n\n if (this.container_ && this.container_.parentNode) {\n console.error('Frame already visible');\n return;\n }\n\n var headerHeight = '16px';\n\n var divSize = hterm.getClientSize(this.div_);\n\n var width = opt('width', 640);\n var height = opt('height', 480);\n var left = (divSize.width - width) / 2;\n var top = (divSize.height - height) / 2;\n\n var document = this.terminal_.document_;\n\n var container = this.container_ = document.createElement('div');\n container.style.cssText = (\n 'position: absolute;' +\n 'display: none;' +\n 'flex-direction: column;' +\n 'top: 10%;' +\n 'left: 4%;' +\n 'width: 90%;' +\n 'height: 80%;' +\n 'min-height: 20%;' +\n 'max-height: 80%;' +\n 'box-shadow: 0 0 2px ' + this.terminal_.getForegroundColor() + ';' +\n 'border: 2px ' + this.terminal_.getForegroundColor() + ' solid;');\n\n if (false) {\n // No use for the close button, so no use for the window header either.\n var header = document.createElement('div');\n header.style.cssText = (\n 'display: flex;' +\n 'justify-content: flex-end;' +\n 'height: ' + headerHeight + ';' +\n 'background-color: ' + this.terminal_.getForegroundColor() + ';' +\n 'color: ' + this.terminal_.getBackgroundColor() + ';' +\n 'font-size: 16px;' +\n 'font-family: ' + this.terminal_.getFontFamily());\n container.appendChild(header);\n\n var button = document.createElement('div');\n button.setAttribute('role', 'button');\n button.style.cssText = (\n 'margin-top: -3px;' +\n 'margin-right: 3px;' +\n 'cursor: pointer;');\n button.textContent = '\\u2a2f';\n button.addEventListener('click', this.onCloseClicked_.bind(this));\n header.appendChild(button);\n }\n\n var iframe = this.iframe_ = document.createElement('iframe');\n iframe.onload = this.onLoad_.bind(this);\n iframe.style.cssText = (\n 'display: flex;' +\n 'flex: 1;' +\n 'width: 100%');\n iframe.setAttribute('src', this.url);\n iframe.setAttribute('seamless', true);\n container.appendChild(iframe);\n\n this.div_.appendChild(container);\n};\n// SOURCE FILE: hterm/js/hterm_keyboard.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\nlib.rtdep('hterm.Keyboard.KeyMap');\n\n/**\n * Keyboard handler.\n *\n * Consumes onKey* events and invokes onVTKeystroke on the associated\n * hterm.Terminal object.\n *\n * See also: [XTERM] as referenced in vt.js.\n *\n * @param {hterm.Terminal} The Terminal object associated with this keyboard.\n */\nhterm.Keyboard = function(terminal) {\n // The parent vt interpreter.\n this.terminal = terminal;\n\n // The element we're currently capturing keyboard events for.\n this.keyboardElement_ = null;\n\n // The event handlers we are interested in, and their bound callbacks, saved\n // so they can be uninstalled with removeEventListener, when required.\n this.handlers_ = [\n ['focusout', this.onFocusOut_.bind(this)],\n ['keydown', this.onKeyDown_.bind(this)],\n ['keypress', this.onKeyPress_.bind(this)],\n ['keyup', this.onKeyUp_.bind(this)],\n ['textInput', this.onTextInput_.bind(this)]\n ];\n\n /**\n * The current key map.\n */\n this.keyMap = new hterm.Keyboard.KeyMap(this);\n\n this.bindings = new hterm.Keyboard.Bindings(this);\n\n /**\n * none: Disable any AltGr related munging.\n * ctrl-alt: Assume Ctrl+Alt means AltGr.\n * left-alt: Assume left Alt means AltGr.\n * right-alt: Assume right Alt means AltGr.\n */\n this.altGrMode = 'none';\n\n /**\n * If true, Shift-Insert will fall through to the browser as a paste.\n * If false, the keystroke will be sent to the host.\n */\n this.shiftInsertPaste = true;\n\n /**\n * If true, home/end will control the terminal scrollbar and shift home/end\n * will send the VT keycodes. If false then home/end sends VT codes and\n * shift home/end scrolls.\n */\n this.homeKeysScroll = false;\n\n /**\n * Same as above, except for page up/page down.\n */\n this.pageKeysScroll = false;\n\n /**\n * If true, Ctrl-Plus/Minus/Zero controls zoom.\n * If false, Ctrl-Shift-Plus/Minus/Zero controls zoom, Ctrl-Minus sends ^_,\n * Ctrl-Plus/Zero do nothing.\n */\n this.ctrlPlusMinusZeroZoom = true;\n\n /**\n * Ctrl+C copies if true, sends ^C to host if false.\n * Ctrl+Shift+C sends ^C to host if true, copies if false.\n */\n this.ctrlCCopy = false;\n\n /**\n * Ctrl+V pastes if true, sends ^V to host if false.\n * Ctrl+Shift+V sends ^V to host if true, pastes if false.\n */\n this.ctrlVPaste = false;\n\n /**\n * Enable/disable application keypad.\n *\n * This changes the way numeric keys are sent from the keyboard.\n */\n this.applicationKeypad = false;\n\n /**\n * Enable/disable the application cursor mode.\n *\n * This changes the way cursor keys are sent from the keyboard.\n */\n this.applicationCursor = false;\n\n /**\n * If true, the backspace should send BS ('\\x08', aka ^H). Otherwise\n * the backspace key should send '\\x7f'.\n */\n this.backspaceSendsBackspace = false;\n\n /**\n * The encoding method for data sent to the host.\n */\n this.characterEncoding = 'utf-8';\n\n /**\n * Set whether the meta key sends a leading escape or not.\n */\n this.metaSendsEscape = true;\n\n /**\n * Set whether meta-V gets passed to host.\n */\n this.passMetaV = true;\n\n /**\n * Controls how the alt key is handled.\n *\n * escape....... Send an ESC prefix.\n * 8-bit........ Add 128 to the unshifted character as in xterm.\n * browser-key.. Wait for the keypress event and see what the browser says.\n * (This won't work well on platforms where the browser\n * performs a default action for some alt sequences.)\n *\n * This setting only matters when alt is distinct from meta (altIsMeta is\n * false.)\n */\n this.altSendsWhat = 'escape';\n\n /**\n * Set whether the alt key acts as a meta key, instead of producing 8-bit\n * characters.\n *\n * True to enable, false to disable, null to autodetect based on platform.\n */\n this.altIsMeta = false;\n\n /**\n * If true, tries to detect DEL key events that are from alt-backspace on\n * Chrome OS vs from a true DEL key press.\n *\n * Background: At the time of writing, on Chrome OS, alt-backspace is mapped\n * to DEL. Some users may be happy with this, but others may be frustrated\n * that it's impossible to do meta-backspace. If the user enables this pref,\n * we use a trick to tell a true DEL keypress from alt-backspace: on\n * alt-backspace, we will see the alt key go down, then get a DEL keystroke\n * that indicates that alt is not pressed. See https://crbug.com/174410 .\n */\n this.altBackspaceIsMetaBackspace = false;\n\n /**\n * Used to keep track of the current alt-key state, which is necessary for\n * the altBackspaceIsMetaBackspace preference above and for the altGrMode\n * preference. This is a bitmap with where bit positions correspond to the\n * \"location\" property of the key event.\n */\n this.altKeyPressed = 0;\n\n /**\n * If true, Chrome OS media keys will be mapped to their F-key equivalent.\n * E.g. \"Back\" will be mapped to F1. If false, Chrome will handle the keys.\n */\n this.mediaKeysAreFKeys = false;\n\n /**\n * Holds the previous setting of altSendsWhat when DECSET 1039 is used. When\n * DECRST 1039 is used, altSendsWhat is changed back to this and this is\n * nulled out.\n */\n this.previousAltSendsWhat_ = null;\n};\n\n/**\n * Special handling for keyCodes in a keyboard layout.\n */\nhterm.Keyboard.KeyActions = {\n /**\n * Call preventDefault and stopPropagation for this key event and nothing\n * else.\n */\n CANCEL: lib.f.createEnum('CANCEL'),\n\n /**\n * This performs the default terminal action for the key. If used in the\n * 'normal' action and the the keystroke represents a printable key, the\n * character will be sent to the host. If used in one of the modifier\n * actions, the terminal will perform the normal action after (possibly)\n * altering it.\n *\n * - If the normal sequence starts with CSI, the sequence will be adjusted\n * to include the modifier parameter as described in [XTERM] in the final\n * table of the \"PC-Style Function Keys\" section.\n *\n * - If the control key is down and the key represents a printable character,\n * and the uppercase version of the unshifted keycap is between\n * 64 (ASCII '@') and 95 (ASCII '_'), then the uppercase version of the\n * unshifted keycap minus 64 is sent. This makes '^@' send '\\x00' and\n * '^_' send '\\x1f'. (Note that one higher that 0x1f is 0x20, which is\n * the first printable ASCII value.)\n *\n * - If the alt key is down and the key represents a printable character then\n * the value of the character is shifted up by 128.\n *\n * - If meta is down and configured to send an escape, '\\x1b' will be sent\n * before the normal action is performed.\n */\n DEFAULT: lib.f.createEnum('DEFAULT'),\n\n /**\n * Causes the terminal to opt out of handling the key event, instead letting\n * the browser deal with it.\n */\n PASS: lib.f.createEnum('PASS'),\n\n /**\n * Insert the first or second character of the keyCap, based on e.shiftKey.\n * The key will be handled in onKeyDown, and e.preventDefault() will be\n * called.\n *\n * It is useful for a modified key action, where it essentially strips the\n * modifier while preventing the browser from reacting to the key.\n */\n STRIP: lib.f.createEnum('STRIP')\n};\n\n/**\n * Encode a string according to the 'send-encoding' preference.\n */\nhterm.Keyboard.prototype.encode = function(str) {\n if (this.characterEncoding == 'utf-8')\n return this.terminal.vt.encodeUTF8(str);\n\n return str;\n};\n\n/**\n * Capture keyboard events sent to the associated element.\n *\n * This enables the keyboard. Captured events are consumed by this class\n * and will not perform their default action or bubble to other elements.\n *\n * Passing a null element will uninstall the keyboard handlers.\n *\n * @param {HTMLElement} element The element whose events should be captured, or\n * null to disable the keyboard.\n */\nhterm.Keyboard.prototype.installKeyboard = function(element) {\n if (element == this.keyboardElement_)\n return;\n\n if (element && this.keyboardElement_)\n this.installKeyboard(null);\n\n for (var i = 0; i < this.handlers_.length; i++) {\n var handler = this.handlers_[i];\n if (element) {\n element.addEventListener(handler[0], handler[1]);\n } else {\n this.keyboardElement_.removeEventListener(handler[0], handler[1]);\n }\n }\n\n this.keyboardElement_ = element;\n};\n\n/**\n * Disable keyboard event capture.\n *\n * This will allow the browser to process key events normally.\n */\nhterm.Keyboard.prototype.uninstallKeyboard = function() {\n this.installKeyboard(null);\n};\n\n/**\n * Handle onTextInput events.\n *\n * We're not actually supposed to get these, but we do on the Mac in the case\n * where a third party app sends synthetic keystrokes to Chrome.\n */\nhterm.Keyboard.prototype.onTextInput_ = function(e) {\n if (!e.data)\n return;\n\n e.data.split('').forEach(this.terminal.onVTKeystroke.bind(this.terminal));\n};\n\n/**\n * Handle onKeyPress events.\n */\nhterm.Keyboard.prototype.onKeyPress_ = function(e) {\n var code;\n\n var key = String.fromCharCode(e.which);\n var lowerKey = key.toLowerCase();\n if ((e.ctrlKey || e.metaKey) && (lowerKey == 'c' || lowerKey == 'v')) {\n // On FF the key press (not key down) event gets fired for copy/paste.\n // Let it fall through for the default browser behavior.\n return;\n }\n\n if (e.altKey && this.altSendsWhat == 'browser-key' && e.charCode == 0) {\n // If we got here because we were expecting the browser to handle an\n // alt sequence but it didn't do it, then we might be on an OS without\n // an enabled IME system. In that case we fall back to xterm-like\n // behavior.\n //\n // This happens here only as a fallback. Typically these platforms should\n // set altSendsWhat to either 'escape' or '8-bit'.\n var ch = String.fromCharCode(e.keyCode);\n if (!e.shiftKey)\n ch = ch.toLowerCase();\n code = ch.charCodeAt(0) + 128;\n\n } else if (e.charCode >= 32) {\n ch = e.charCode;\n }\n\n if (ch)\n this.terminal.onVTKeystroke(String.fromCharCode(ch));\n\n e.preventDefault();\n e.stopPropagation();\n};\n\n/**\n * Prevent default handling for non-ctrl-shifted event.\n *\n * When combined with Chrome permission 'app.window.fullscreen.overrideEsc',\n * and called for both key down and key up events,\n * the ESC key remains usable within fullscreen Chrome app windows.\n */\nhterm.Keyboard.prototype.preventChromeAppNonCtrlShiftDefault_ = function(e) {\n if (!window.chrome || !window.chrome.app || !window.chrome.app.window)\n return;\n if (!e.ctrlKey || !e.shiftKey)\n e.preventDefault();\n};\n\nhterm.Keyboard.prototype.onFocusOut_ = function(e) {\n this.altKeyPressed = 0;\n};\n\nhterm.Keyboard.prototype.onKeyUp_ = function(e) {\n if (e.keyCode == 18)\n this.altKeyPressed = this.altKeyPressed & ~(1 << (e.location - 1));\n\n if (e.keyCode == 27)\n this.preventChromeAppNonCtrlShiftDefault_(e);\n};\n\n/**\n * Handle onKeyDown events.\n */\nhterm.Keyboard.prototype.onKeyDown_ = function(e) {\n if (e.keyCode == 18)\n this.altKeyPressed = this.altKeyPressed | (1 << (e.location - 1));\n\n if (e.keyCode == 27)\n this.preventChromeAppNonCtrlShiftDefault_(e);\n\n var keyDef = this.keyMap.keyDefs[e.keyCode];\n if (!keyDef) {\n console.warn('No definition for keyCode: ' + e.keyCode);\n return;\n }\n\n // The type of action we're going to use.\n var resolvedActionType = null;\n\n var self = this;\n function getAction(name) {\n // Get the key action for the given action name. If the action is a\n // function, dispatch it. If the action defers to the normal action,\n // resolve that instead.\n\n resolvedActionType = name;\n\n var action = keyDef[name];\n if (typeof action == 'function')\n action = action.apply(self.keyMap, [e, keyDef]);\n\n if (action === DEFAULT && name != 'normal')\n action = getAction('normal');\n\n return action;\n }\n\n // Note that we use the triple-equals ('===') operator to test equality for\n // these constants, in order to distinguish usage of the constant from usage\n // of a literal string that happens to contain the same bytes.\n var CANCEL = hterm.Keyboard.KeyActions.CANCEL;\n var DEFAULT = hterm.Keyboard.KeyActions.DEFAULT;\n var PASS = hterm.Keyboard.KeyActions.PASS;\n var STRIP = hterm.Keyboard.KeyActions.STRIP;\n\n var control = e.ctrlKey;\n var alt = this.altIsMeta ? false : e.altKey;\n var meta = this.altIsMeta ? (e.altKey || e.metaKey) : e.metaKey;\n\n // In the key-map, we surround the keyCap for non-printables in \"[...]\"\n var isPrintable = !(/^\\[\\w+\\]$/.test(keyDef.keyCap));\n\n switch (this.altGrMode) {\n case 'ctrl-alt':\n if (isPrintable && control && alt) {\n // ctrl-alt-printable means altGr. We clear out the control and\n // alt modifiers and wait to see the charCode in the keydown event.\n control = false;\n alt = false;\n }\n break;\n\n case 'right-alt':\n if (isPrintable && (this.terminal.keyboard.altKeyPressed & 2)) {\n control = false;\n alt = false;\n }\n break;\n\n case 'left-alt':\n if (isPrintable && (this.terminal.keyboard.altKeyPressed & 1)) {\n control = false;\n alt = false;\n }\n break;\n }\n\n var action;\n\n if (control) {\n action = getAction('control');\n } else if (alt) {\n action = getAction('alt');\n } else if (meta) {\n action = getAction('meta');\n } else {\n action = getAction('normal');\n }\n\n // If e.maskShiftKey was set (during getAction) it means the shift key is\n // already accounted for in the action, and we should not act on it any\n // further. This is currently only used for Ctrl-Shift-Tab, which should send\n // \"CSI Z\", not \"CSI 1 ; 2 Z\".\n var shift = !e.maskShiftKey && e.shiftKey;\n\n var keyDown = {\n keyCode: e.keyCode,\n shift: e.shiftKey, // not `var shift` from above.\n ctrl: control,\n alt: alt,\n meta: meta\n };\n\n var binding = this.bindings.getBinding(keyDown);\n\n if (binding) {\n // Clear out the modifier bits so we don't try to munge the sequence\n // further.\n shift = control = alt = meta = false;\n resolvedActionType = 'normal';\n action = binding.action;\n\n if (typeof action == 'function')\n action = action.call(this, this.terminal, keyDown);\n }\n\n if (alt && this.altSendsWhat == 'browser-key' && action == DEFAULT) {\n // When altSendsWhat is 'browser-key', we wait for the keypress event.\n // In keypress, the browser should have set the event.charCode to the\n // appropriate character.\n // TODO(rginda): Character compositions will need some black magic.\n action = PASS;\n }\n\n if (action === PASS || (action === DEFAULT && !(control || alt || meta))) {\n // If this key is supposed to be handled by the browser, or it is an\n // unmodified key with the default action, then exit this event handler.\n // If it's an unmodified key, it'll be handled in onKeyPress where we\n // can tell for sure which ASCII code to insert.\n //\n // This block needs to come before the STRIP test, otherwise we'll strip\n // the modifier and think it's ok to let the browser handle the keypress.\n // The browser won't know we're trying to ignore the modifiers and might\n // perform some default action.\n return;\n }\n\n if (action === STRIP) {\n alt = control = false;\n action = keyDef.normal;\n if (typeof action == 'function')\n action = action.apply(this.keyMap, [e, keyDef]);\n\n if (action == DEFAULT && keyDef.keyCap.length == 2)\n action = keyDef.keyCap.substr((shift ? 1 : 0), 1);\n }\n\n e.preventDefault();\n e.stopPropagation();\n\n if (action === CANCEL)\n return;\n\n if (action !== DEFAULT && typeof action != 'string') {\n console.warn('Invalid action: ' + JSON.stringify(action));\n return;\n }\n\n // Strip the modifier that is associated with the action, since we assume that\n // modifier has already been accounted for in the action.\n if (resolvedActionType == 'control') {\n control = false;\n } else if (resolvedActionType == 'alt') {\n alt = false;\n } else if (resolvedActionType == 'meta') {\n meta = false;\n }\n\n if (action.substr(0, 2) == '\\x1b[' && (alt || control || shift)) {\n // The action is an escape sequence that and it was triggered in the\n // presence of a keyboard modifier, we may need to alter the action to\n // include the modifier before sending it.\n\n var mod;\n\n if (shift && !(alt || control)) {\n mod = ';2';\n } else if (alt && !(shift || control)) {\n mod = ';3';\n } else if (shift && alt && !control) {\n mod = ';4';\n } else if (control && !(shift || alt)) {\n mod = ';5';\n } else if (shift && control && !alt) {\n mod = ';6';\n } else if (alt && control && !shift) {\n mod = ';7';\n } else if (shift && alt && control) {\n mod = ';8';\n }\n\n if (action.length == 3) {\n // Some of the CSI sequences have zero parameters unless modified.\n action = '\\x1b[1' + mod + action.substr(2, 1);\n } else {\n // Others always have at least one parameter.\n action = action.substr(0, action.length - 1) + mod +\n action.substr(action.length - 1);\n }\n\n } else {\n if (action === DEFAULT) {\n action = keyDef.keyCap.substr((shift ? 1 : 0), 1);\n\n if (control) {\n var unshifted = keyDef.keyCap.substr(0, 1);\n var code = unshifted.charCodeAt(0);\n if (code >= 64 && code <= 95) {\n action = String.fromCharCode(code - 64);\n }\n }\n }\n\n if (alt && this.altSendsWhat == '8-bit' && action.length == 1) {\n var code = action.charCodeAt(0) + 128;\n action = String.fromCharCode(code);\n }\n\n // We respect alt/metaSendsEscape even if the keymap action was a literal\n // string. Otherwise, every overridden alt/meta action would have to\n // check alt/metaSendsEscape.\n if ((alt && this.altSendsWhat == 'escape') ||\n (meta && this.metaSendsEscape)) {\n action = '\\x1b' + action;\n }\n }\n\n this.terminal.onVTKeystroke(action);\n};\n// SOURCE FILE: hterm/js/hterm_keyboard_bindings.js\n// Copyright (c) 2015 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * A mapping from hterm.Keyboard.KeyPattern to an action.\n *\n * TODO(rginda): For now this bindings code is only used for user overrides.\n * hterm.Keyboard.KeyMap still handles all of the built-in key mappings.\n * It'd be nice if we migrated that over to be hterm.Keyboard.Bindings based.\n */\nhterm.Keyboard.Bindings = function() {\n this.bindings_ = {};\n};\n\n/**\n * Remove all bindings.\n */\nhterm.Keyboard.Bindings.prototype.clear = function () {\n this.bindings_ = {};\n};\n\n/**\n * Add a new binding.\n *\n * Internal API that assumes parsed objects as inputs.\n * See the public addBinding for more details.\n *\n * @param {hterm.Keyboard.KeyPattern} keyPattern\n * @param {string|function|hterm.Keyboard.KeyAction} action\n */\nhterm.Keyboard.Bindings.prototype.addBinding_ = function(keyPattern, action) {\n var binding = null;\n var list = this.bindings_[keyPattern.keyCode];\n if (list) {\n for (var i = 0; i < list.length; i++) {\n if (list[i].keyPattern.matchKeyPattern(keyPattern)) {\n binding = list[i];\n break;\n }\n }\n }\n\n if (binding) {\n binding.action = action;\n } else {\n binding = {keyPattern: keyPattern, action: action};\n\n if (!list) {\n this.bindings_[keyPattern.keyCode] = [binding];\n } else {\n this.bindings_[keyPattern.keyCode].push(binding);\n\n list.sort(function(a, b) {\n return hterm.Keyboard.KeyPattern.sortCompare(\n a.keyPattern, b.keyPattern);\n });\n }\n }\n};\n\n/**\n * Add a new binding.\n *\n * If a binding for the keyPattern already exists it will be overridden.\n *\n * More specific keyPatterns take precedence over those with wildcards. Given\n * bindings for \"Ctrl-A\" and \"Ctrl-*-A\", and a \"Ctrl-A\" keydown, the \"Ctrl-A\"\n * binding will match even if \"Ctrl-*-A\" was created last.\n *\n * If action is a string, it will be passed through hterm.Parser.parseKeyAction.\n *\n * For example:\n * // Will replace Ctrl-P keystrokes with the string \"hiya!\".\n * addBinding('Ctrl-P', \"'hiya!'\");\n * // Will cancel the keystroke entirely (make it do nothing).\n * addBinding('Alt-D', hterm.Keyboard.KeyActions.CANCEL);\n * // Will execute the code and return the action.\n * addBinding('Ctrl-T', function() {\n * console.log('Got a T!');\n * return hterm.Keyboard.KeyActions.PASS;\n * });\n *\n * @param {string|hterm.Keyboard.KeyPattern} keyPattern\n * @param {string|function|hterm.Keyboard.KeyAction} action\n */\nhterm.Keyboard.Bindings.prototype.addBinding = function(key, action) {\n // If we're given a hterm.Keyboard.KeyPattern object, pass it down.\n if (typeof key != 'string') {\n this.addBinding_(key, action);\n return;\n }\n\n // Here we treat key as a string.\n var p = new hterm.Parser();\n\n p.reset(key);\n var sequence;\n\n try {\n sequence = p.parseKeySequence();\n } catch (ex) {\n console.error(ex);\n return;\n }\n\n if (!p.isComplete()) {\n console.error(p.error('Expected end of sequence: ' + sequence));\n return;\n }\n\n // If action is a string, parse it. Otherwise assume it's callable.\n if (typeof action == 'string') {\n p.reset(action);\n try {\n action = p.parseKeyAction();\n } catch (ex) {\n console.error(ex);\n return;\n }\n }\n\n if (!p.isComplete()) {\n console.error(p.error('Expected end of sequence: ' + sequence));\n return;\n }\n\n this.addBinding_(new hterm.Keyboard.KeyPattern(sequence), action);\n};\n\n/**\n * Add multiple bindings at a time using a map of {string: string, ...}\n *\n * This uses hterm.Parser to parse the maps key into KeyPatterns, and the\n * map values into {string|function|KeyAction}.\n *\n * For example:\n * {\n * // Will replace Ctrl-P keystrokes with the string \"hiya!\".\n * 'Ctrl-P': \"'hiya!'\",\n * // Will cancel the keystroke entirely (make it do nothing).\n * 'Alt-D': hterm.Keyboard.KeyActions.CANCEL,\n * }\n *\n * @param {Object} map\n */\nhterm.Keyboard.Bindings.prototype.addBindings = function(map) {\n for (var key in map) {\n this.addBinding(key, map[key]);\n }\n};\n\n/**\n * Return the binding that is the best match for the given keyDown record,\n * or null if there is no match.\n *\n * @param {Object} keyDown An object with a keyCode property and zero or\n * more boolean properties representing key modifiers. These property names\n * must match those defined in hterm.Keyboard.KeyPattern.modifiers.\n */\nhterm.Keyboard.Bindings.prototype.getBinding = function(keyDown) {\n var list = this.bindings_[keyDown.keyCode];\n if (!list)\n return null;\n\n for (var i = 0; i < list.length; i++) {\n var binding = list[i];\n if (binding.keyPattern.matchKeyDown(keyDown))\n return binding;\n }\n\n return null;\n};\n// SOURCE FILE: hterm/js/hterm_keyboard_keymap.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\nlib.rtdep('hterm.Keyboard.KeyActions');\n\n/**\n * The default key map for hterm.\n *\n * Contains a mapping of keyCodes to keyDefs (aka key definitions). The key\n * definition tells the hterm.Keyboard class how to handle keycodes.\n *\n * This should work for most cases, as the printable characters get handled\n * in the keypress event. In that case, even if the keycap is wrong in the\n * key map, the correct character should be sent.\n *\n * Different layouts, such as Dvorak should work with this keymap, as those\n * layouts typically move keycodes around on the keyboard without disturbing\n * the actual keycaps.\n *\n * There may be issues with control keys on non-US keyboards or with keyboards\n * that very significantly from the expectations here, in which case we may\n * have to invent new key maps.\n *\n * The sequences defined in this key map come from [XTERM] as referenced in\n * vt.js, starting with the section titled \"Alt and Meta Keys\".\n */\nhterm.Keyboard.KeyMap = function(keyboard) {\n this.keyboard = keyboard;\n this.keyDefs = {};\n this.reset();\n};\n\n/**\n * Add a single key definition.\n *\n * The definition is a hash containing the following keys: 'keyCap', 'normal',\n * 'control', and 'alt'.\n *\n * - keyCap is a string identifying the key. For printable\n * keys, the key cap should be exactly two characters, starting with the\n * unshifted version. For example, 'aA', 'bB', '1!' and '=+'. For\n * non-printable the key cap should be surrounded in square braces, as in\n * '[INS]', '[LEFT]'. By convention, non-printable keycaps are in uppercase\n * but this is not a strict requirement.\n *\n * - Normal is the action that should be performed when they key is pressed\n * in the absence of any modifier. See below for the supported actions.\n *\n * - Control is the action that should be performed when they key is pressed\n * along with the control modifier. See below for the supported actions.\n *\n * - Alt is the action that should be performed when they key is pressed\n * along with the alt modifier. See below for the supported actions.\n *\n * - Meta is the action that should be performed when they key is pressed\n * along with the meta modifier. See below for the supported actions.\n *\n * Actions can be one of the hterm.Keyboard.KeyActions as documented below,\n * a literal string, or an array. If the action is a literal string then\n * the string is sent directly to the host. If the action is an array it\n * is taken to be an escape sequence that may be altered by modifier keys.\n * The second-to-last element of the array will be overwritten with the\n * state of the modifier keys, as specified in the final table of \"PC-Style\n * Function Keys\" from [XTERM].\n */\nhterm.Keyboard.KeyMap.prototype.addKeyDef = function(keyCode, def) {\n if (keyCode in this.keyDefs)\n console.warn('Duplicate keyCode: ' + keyCode);\n\n this.keyDefs[keyCode] = def;\n};\n\n/**\n * Add multiple key definitions in a single call.\n *\n * This function takes the key definitions as variable argument list. Each\n * argument is the key definition specified as an array.\n *\n * (If the function took everything as one big hash we couldn't detect\n * duplicates, and there would be a lot more typing involved.)\n *\n * Each key definition should have 6 elements: (keyCode, keyCap, normal action,\n * control action, alt action and meta action). See KeyMap.addKeyDef for the\n * meaning of these elements.\n */\nhterm.Keyboard.KeyMap.prototype.addKeyDefs = function(var_args) {\n for (var i = 0; i < arguments.length; i++) {\n this.addKeyDef(arguments[i][0],\n { keyCap: arguments[i][1],\n normal: arguments[i][2],\n control: arguments[i][3],\n alt: arguments[i][4],\n meta: arguments[i][5]\n });\n }\n};\n\n/**\n * Set up the default state for this keymap.\n */\nhterm.Keyboard.KeyMap.prototype.reset = function() {\n this.keyDefs = {};\n\n var self = this;\n\n // This function is used by the \"macro\" functions below. It makes it\n // possible to use the call() macro as an argument to any other macro.\n function resolve(action, e, k) {\n if (typeof action == 'function')\n return action.apply(self, [e, k]);\n\n return action;\n }\n\n // If not application keypad a, else b. The keys that care about\n // application keypad ignore it when the key is modified.\n function ak(a, b) {\n return function(e, k) {\n var action = (e.shiftKey || e.ctrlKey || e.altKey || e.metaKey ||\n !self.keyboard.applicationKeypad) ? a : b;\n return resolve(action, e, k);\n };\n }\n\n // If mod or not application cursor a, else b. The keys that care about\n // application cursor ignore it when the key is modified.\n function ac(a, b) {\n return function(e, k) {\n var action = (e.shiftKey || e.ctrlKey || e.altKey || e.metaKey ||\n !self.keyboard.applicationCursor) ? a : b;\n return resolve(action, e, k);\n };\n }\n\n // If not backspace-sends-backspace keypad a, else b.\n function bs(a, b) {\n return function(e, k) {\n var action = !self.keyboard.backspaceSendsBackspace ? a : b;\n return resolve(action, e, k);\n };\n }\n\n // If not e.shiftKey a, else b.\n function sh(a, b) {\n return function(e, k) {\n var action = !e.shiftKey ? a : b;\n e.maskShiftKey = true;\n return resolve(action, e, k);\n };\n }\n\n // If not e.altKey a, else b.\n function alt(a, b) {\n return function(e, k) {\n var action = !e.altKey ? a : b;\n return resolve(action, e, k);\n };\n }\n\n // If no modifiers a, else b.\n function mod(a, b) {\n return function(e, k) {\n var action = !(e.shiftKey || e.ctrlKey || e.altKey || e.metaKey) ? a : b;\n return resolve(action, e, k);\n };\n }\n\n // Compute a control character for a given character.\n function ctl(ch) { return String.fromCharCode(ch.charCodeAt(0) - 64) }\n\n // Call a method on the keymap instance.\n function c(m) { return function (e, k) { return this[m](e, k) } }\n\n // Ignore if not trapping media keys.\n function med(fn) {\n return function(e, k) {\n if (!self.keyboard.mediaKeysAreFKeys) {\n // Block Back, Forward, and Reload keys to avoid navigating away from\n // the current page.\n return (e.keyCode == 166 || e.keyCode == 167 || e.keyCode == 168) ?\n hterm.Keyboard.KeyActions.CANCEL :\n hterm.Keyboard.KeyActions.PASS;\n }\n return resolve(fn, e, k);\n };\n }\n\n var ESC = '\\x1b';\n var CSI = '\\x1b[';\n var SS3 = '\\x1bO';\n\n var CANCEL = hterm.Keyboard.KeyActions.CANCEL;\n var DEFAULT = hterm.Keyboard.KeyActions.DEFAULT;\n var PASS = hterm.Keyboard.KeyActions.PASS;\n var STRIP = hterm.Keyboard.KeyActions.STRIP;\n\n this.addKeyDefs(\n // These fields are: [keycode, keycap, normal, control, alt, meta]\n\n // The browser sends the keycode 0 for some keys. We'll just assume it's\n // going to do the right thing by default for those keys.\n [0, '[UNKNOWN]', PASS, PASS, PASS, PASS],\n\n // First row.\n [27, '[ESC]', ESC, DEFAULT, DEFAULT, DEFAULT],\n [112, '[F1]', mod(SS3 + 'P', CSI + 'P'), DEFAULT, CSI + \"23~\", DEFAULT],\n [113, '[F2]', mod(SS3 + 'Q', CSI + 'Q'), DEFAULT, CSI + \"24~\", DEFAULT],\n [114, '[F3]', mod(SS3 + 'R', CSI + 'R'), DEFAULT, CSI + \"25~\", DEFAULT],\n [115, '[F4]', mod(SS3 + 'S', CSI + 'S'), DEFAULT, CSI + \"26~\", DEFAULT],\n [116, '[F5]', CSI + '15~', DEFAULT, CSI + \"28~\", DEFAULT],\n [117, '[F6]', CSI + '17~', DEFAULT, CSI + \"29~\", DEFAULT],\n [118, '[F7]', CSI + '18~', DEFAULT, CSI + \"31~\", DEFAULT],\n [119, '[F8]', CSI + '19~', DEFAULT, CSI + \"32~\", DEFAULT],\n [120, '[F9]', CSI + '20~', DEFAULT, CSI + \"33~\", DEFAULT],\n [121, '[F10]', CSI + '21~', DEFAULT, CSI + \"34~\", DEFAULT],\n [122, '[F11]', CSI + '23~', DEFAULT, CSI + \"42~\", DEFAULT],\n [123, '[F12]', CSI + '24~', DEFAULT, CSI + \"43~\", DEFAULT],\n\n // Second row.\n [192, '`~', DEFAULT, sh(ctl('@'), ctl('^')), DEFAULT, PASS],\n [49, '1!', DEFAULT, c('onCtrlNum_'), c('onAltNum_'), c('onMetaNum_')],\n [50, '2@', DEFAULT, c('onCtrlNum_'), c('onAltNum_'), c('onMetaNum_')],\n [51, '3#', DEFAULT, c('onCtrlNum_'), c('onAltNum_'), c('onMetaNum_')],\n [52, '4$', DEFAULT, c('onCtrlNum_'), c('onAltNum_'), c('onMetaNum_')],\n [53, '5%', DEFAULT, c('onCtrlNum_'), c('onAltNum_'), c('onMetaNum_')],\n [54, '6^', DEFAULT, c('onCtrlNum_'), c('onAltNum_'), c('onMetaNum_')],\n [55, '7&', DEFAULT, c('onCtrlNum_'), c('onAltNum_'), c('onMetaNum_')],\n [56, '8*', DEFAULT, c('onCtrlNum_'), c('onAltNum_'), c('onMetaNum_')],\n [57, '9(', DEFAULT, c('onCtrlNum_'), c('onAltNum_'), c('onMetaNum_')],\n [48, '0)', DEFAULT, c('onPlusMinusZero_'),c('onAltNum_'),c('onPlusMinusZero_')],\n [189, '-_', DEFAULT, c('onPlusMinusZero_'), DEFAULT, c('onPlusMinusZero_')],\n [187, '=+', DEFAULT, c('onPlusMinusZero_'), DEFAULT, c('onPlusMinusZero_')],\n // Firefox -_ and =+\n [173, '-_', DEFAULT, c('onPlusMinusZero_'), DEFAULT, c('onPlusMinusZero_')],\n [61, '=+', DEFAULT, c('onPlusMinusZero_'), DEFAULT, c('onPlusMinusZero_')],\n // Firefox Italian +*\n [171, '+*', DEFAULT, c('onPlusMinusZero_'), DEFAULT, c('onPlusMinusZero_')],\n\n [8, '[BKSP]', bs('\\x7f', '\\b'), bs('\\b', '\\x7f'), DEFAULT, DEFAULT],\n\n // Third row.\n [9, '[TAB]', sh('\\t', CSI + 'Z'), STRIP, PASS, DEFAULT],\n [81, 'qQ', DEFAULT, ctl('Q'), DEFAULT, DEFAULT],\n [87, 'wW', DEFAULT, ctl('W'), DEFAULT, DEFAULT],\n [69, 'eE', DEFAULT, ctl('E'), DEFAULT, DEFAULT],\n [82, 'rR', DEFAULT, ctl('R'), DEFAULT, DEFAULT],\n [84, 'tT', DEFAULT, ctl('T'), DEFAULT, DEFAULT],\n [89, 'yY', DEFAULT, ctl('Y'), DEFAULT, DEFAULT],\n [85, 'uU', DEFAULT, ctl('U'), DEFAULT, DEFAULT],\n [73, 'iI', DEFAULT, ctl('I'), DEFAULT, DEFAULT],\n [79, 'oO', DEFAULT, ctl('O'), DEFAULT, DEFAULT],\n [80, 'pP', DEFAULT, ctl('P'), DEFAULT, DEFAULT],\n [219, '[{', DEFAULT, ctl('['), DEFAULT, DEFAULT],\n [221, ']}', DEFAULT, ctl(']'), DEFAULT, DEFAULT],\n [220, '\\\\|', DEFAULT, ctl('\\\\'), DEFAULT, DEFAULT],\n\n // Fourth row. (We let Ctrl-Shift-J pass for Chrome DevTools.)\n [20, '[CAPS]', PASS, PASS, PASS, DEFAULT],\n [65, 'aA', DEFAULT, ctl('A'), DEFAULT, DEFAULT],\n [83, 'sS', DEFAULT, ctl('S'), DEFAULT, DEFAULT],\n [68, 'dD', DEFAULT, ctl('D'), DEFAULT, DEFAULT],\n [70, 'fF', DEFAULT, ctl('F'), DEFAULT, DEFAULT],\n [71, 'gG', DEFAULT, ctl('G'), DEFAULT, DEFAULT],\n [72, 'hH', DEFAULT, ctl('H'), DEFAULT, DEFAULT],\n [74, 'jJ', DEFAULT, sh(ctl('J'), PASS), DEFAULT, DEFAULT],\n [75, 'kK', DEFAULT, sh(ctl('K'), c('onClear_')), DEFAULT, DEFAULT],\n [76, 'lL', DEFAULT, sh(ctl('L'), PASS), DEFAULT, DEFAULT],\n [186, ';:', DEFAULT, STRIP, DEFAULT, DEFAULT],\n [222, '\\'\"', DEFAULT, STRIP, DEFAULT, DEFAULT],\n [13, '[ENTER]', '\\r', CANCEL, CANCEL, DEFAULT],\n\n // Fifth row. This includes the copy/paste shortcuts. On some\n // platforms it's Ctrl-C/V, on others it's Meta-C/V. We assume either\n // Ctrl-C/Meta-C should pass to the browser when there is a selection,\n // and Ctrl-Shift-V/Meta-*-V should always pass to the browser (since\n // these seem to be recognized as paste too).\n [16, '[SHIFT]', PASS, PASS, PASS, DEFAULT],\n [90, 'zZ', DEFAULT, ctl('Z'), DEFAULT, DEFAULT],\n [88, 'xX', DEFAULT, ctl('X'), DEFAULT, DEFAULT],\n [67, 'cC', DEFAULT, c('onCtrlC_'), DEFAULT, c('onMetaC_')],\n [86, 'vV', DEFAULT, c('onCtrlV_'), DEFAULT, c('onMetaV_')],\n [66, 'bB', DEFAULT, sh(ctl('B'), PASS), DEFAULT, sh(DEFAULT, PASS)],\n [78, 'nN', DEFAULT, c('onCtrlN_'), DEFAULT, c('onMetaN_')],\n [77, 'mM', DEFAULT, ctl('M'), DEFAULT, DEFAULT],\n [188, ',<', DEFAULT, alt(STRIP, PASS), DEFAULT, DEFAULT],\n [190, '.>', DEFAULT, alt(STRIP, PASS), DEFAULT, DEFAULT],\n [191, '/?', DEFAULT, sh(ctl('_'), ctl('?')), DEFAULT, DEFAULT],\n\n // Sixth and final row.\n [17, '[CTRL]', PASS, PASS, PASS, PASS],\n [18, '[ALT]', PASS, PASS, PASS, PASS],\n [91, '[LAPL]', PASS, PASS, PASS, PASS],\n [32, ' ', DEFAULT, ctl('@'), DEFAULT, DEFAULT],\n [92, '[RAPL]', PASS, PASS, PASS, PASS],\n [93, '[RMENU]', PASS, PASS, PASS, PASS],\n\n // These things.\n [42, '[PRTSCR]', PASS, PASS, PASS, PASS],\n [145, '[SCRLK]', PASS, PASS, PASS, PASS],\n [19, '[BREAK]', PASS, PASS, PASS, PASS],\n\n // The block of six keys above the arrows.\n [45, '[INSERT]', c('onKeyInsert_'), DEFAULT, DEFAULT, DEFAULT],\n [36, '[HOME]', c('onKeyHome_'), DEFAULT, DEFAULT, DEFAULT],\n [33, '[PGUP]', c('onKeyPageUp_'), DEFAULT, DEFAULT, DEFAULT],\n [46, '[DEL]', c('onKeyDel_'), DEFAULT, DEFAULT, DEFAULT],\n [35, '[END]', c('onKeyEnd_'), DEFAULT, DEFAULT, DEFAULT],\n [34, '[PGDOWN]', c('onKeyPageDown_'), DEFAULT, DEFAULT, DEFAULT],\n\n // Arrow keys. When unmodified they respect the application cursor state,\n // otherwise they always send the CSI codes.\n [38, '[UP]', c('onKeyArrowUp_'), DEFAULT, DEFAULT, DEFAULT],\n [40, '[DOWN]', c('onKeyArrowDown_'), DEFAULT, DEFAULT, DEFAULT],\n [39, '[RIGHT]', ac(CSI + 'C', SS3 + 'C'), DEFAULT, DEFAULT, DEFAULT],\n [37, '[LEFT]', ac(CSI + 'D', SS3 + 'D'), DEFAULT, DEFAULT, DEFAULT],\n\n [144, '[NUMLOCK]', PASS, PASS, PASS, PASS],\n\n // With numlock off, the keypad generates the same key codes as the arrows\n // and 'block of six' for some keys, and null key codes for the rest.\n\n // Keypad with numlock on generates unique key codes...\n [96, '[KP0]', DEFAULT, DEFAULT, DEFAULT, DEFAULT],\n [97, '[KP1]', DEFAULT, DEFAULT, DEFAULT, DEFAULT],\n [98, '[KP2]', DEFAULT, DEFAULT, DEFAULT, DEFAULT],\n [99, '[KP3]', DEFAULT, DEFAULT, DEFAULT, DEFAULT],\n [100, '[KP4]', DEFAULT, DEFAULT, DEFAULT, DEFAULT],\n [101, '[KP5]', DEFAULT, DEFAULT, DEFAULT, DEFAULT],\n [102, '[KP6]', DEFAULT, DEFAULT, DEFAULT, DEFAULT],\n [103, '[KP7]', DEFAULT, DEFAULT, DEFAULT, DEFAULT],\n [104, '[KP8]', DEFAULT, DEFAULT, DEFAULT, DEFAULT],\n [105, '[KP9]', DEFAULT, DEFAULT, DEFAULT, DEFAULT],\n [107, '[KP+]', DEFAULT, c('onPlusMinusZero_'), DEFAULT, c('onPlusMinusZero_')],\n [109, '[KP-]', DEFAULT, c('onPlusMinusZero_'), DEFAULT, c('onPlusMinusZero_')],\n [106, '[KP*]', DEFAULT, DEFAULT, DEFAULT, DEFAULT],\n [111, '[KP/]', DEFAULT, DEFAULT, DEFAULT, DEFAULT],\n [110, '[KP.]', DEFAULT, DEFAULT, DEFAULT, DEFAULT],\n\n // Chrome OS keyboard top row.\n [166, '[BACK]', med(mod(SS3+'P', CSI+'P')), DEFAULT, CSI+\"23~\", DEFAULT],\n [167, '[FWD]', med(mod(SS3+'Q', CSI+'Q')), DEFAULT, CSI+\"24~\", DEFAULT],\n [168, '[RELOAD]', med(mod(SS3+'R', CSI+'R')), DEFAULT, CSI+\"25~\", DEFAULT],\n [183, '[FSCR]', med(mod(SS3+'S', CSI+'S')), DEFAULT, CSI+\"26~\", DEFAULT],\n [182, '[WINS]', med(CSI + '15~'), DEFAULT, CSI+\"28~\", DEFAULT],\n [216, '[BRIT-]', med(CSI + '17~'), DEFAULT, CSI+\"29~\", DEFAULT],\n [217, '[BRIT+]', med(CSI + '18~'), DEFAULT, CSI+\"31~\", DEFAULT]\n\n // 173 [MUTE], 174 [VOL-] and 175 [VOL+] are trapped by the Chrome OS\n // window manager, so we'll never see them. Note that 173 is also\n // Firefox's -_ keycode.\n );\n};\n\n/**\n * Either allow the paste or send a key sequence.\n */\nhterm.Keyboard.KeyMap.prototype.onKeyInsert_ = function(e) {\n if (this.keyboard.shiftInsertPaste && e.shiftKey)\n return hterm.Keyboard.KeyActions.PASS;\n\n return '\\x1b[2~';\n};\n\n/**\n * Either scroll the scrollback buffer or send a key sequence.\n */\nhterm.Keyboard.KeyMap.prototype.onKeyHome_ = function(e) {\n if (!this.keyboard.homeKeysScroll ^ e.shiftKey) {\n if ((e.altey || e.ctrlKey || e.shiftKey) ||\n !this.keyboard.applicationCursor) {\n return '\\x1b[H';\n }\n\n return '\\x1bOH';\n }\n\n this.keyboard.terminal.scrollHome();\n return hterm.Keyboard.KeyActions.CANCEL;\n};\n\n/**\n * Either scroll the scrollback buffer or send a key sequence.\n */\nhterm.Keyboard.KeyMap.prototype.onKeyEnd_ = function(e) {\n if (!this.keyboard.homeKeysScroll ^ e.shiftKey) {\n if ((e.altKey || e.ctrlKey || e.shiftKey) ||\n !this.keyboard.applicationCursor) {\n return '\\x1b[F';\n }\n\n return '\\x1bOF';\n }\n\n this.keyboard.terminal.scrollEnd();\n return hterm.Keyboard.KeyActions.CANCEL;\n};\n\n/**\n * Either scroll the scrollback buffer or send a key sequence.\n */\nhterm.Keyboard.KeyMap.prototype.onKeyPageUp_ = function(e) {\n if (!this.keyboard.pageKeysScroll ^ e.shiftKey)\n return '\\x1b[5~';\n\n this.keyboard.terminal.scrollPageUp();\n return hterm.Keyboard.KeyActions.CANCEL;\n};\n\n/**\n * Either send a true DEL, or sub in meta-backspace.\n *\n * On Chrome OS, if we know the alt key is down, but we get a DEL event that\n * claims that the alt key is not pressed, we know the DEL was a synthetic\n * one from a user that hit alt-backspace. Based on a user pref, we can sub\n * in meta-backspace in this case.\n */\nhterm.Keyboard.KeyMap.prototype.onKeyDel_ = function(e) {\n if (this.keyboard.altBackspaceIsMetaBackspace &&\n this.keyboard.altKeyPressed && !e.altKey)\n return '\\x1b\\x7f';\n return '\\x1b[3~';\n};\n\n/**\n * Either scroll the scrollback buffer or send a key sequence.\n */\nhterm.Keyboard.KeyMap.prototype.onKeyPageDown_ = function(e) {\n if (!this.keyboard.pageKeysScroll ^ e.shiftKey)\n return '\\x1b[6~';\n\n this.keyboard.terminal.scrollPageDown();\n return hterm.Keyboard.KeyActions.CANCEL;\n};\n\n/**\n * Either scroll the scrollback buffer or send a key sequence.\n */\nhterm.Keyboard.KeyMap.prototype.onKeyArrowUp_ = function(e) {\n if (!this.keyboard.applicationCursor && e.shiftKey) {\n this.keyboard.terminal.scrollLineUp();\n return hterm.Keyboard.KeyActions.CANCEL;\n }\n\n return (e.shiftKey || e.ctrlKey || e.altKey || e.metaKey ||\n !this.keyboard.applicationCursor) ? '\\x1b[A' : '\\x1bOA';\n};\n\n/**\n * Either scroll the scrollback buffer or send a key sequence.\n */\nhterm.Keyboard.KeyMap.prototype.onKeyArrowDown_ = function(e) {\n if (!this.keyboard.applicationCursor && e.shiftKey) {\n this.keyboard.terminal.scrollLineDown();\n return hterm.Keyboard.KeyActions.CANCEL;\n }\n\n return (e.shiftKey || e.ctrlKey || e.altKey || e.metaKey ||\n !this.keyboard.applicationCursor) ? '\\x1b[B' : '\\x1bOB';\n};\n\n/**\n * Clear the primary/alternate screens and the scrollback buffer.\n */\nhterm.Keyboard.KeyMap.prototype.onClear_ = function(e, keyDef) {\n this.keyboard.terminal.wipeContents();\n return hterm.Keyboard.KeyActions.CANCEL;\n};\n\n/**\n * Either pass Ctrl-1..9 to the browser or send them to the host.\n *\n * Note that Ctrl-1 and Ctrl-9 don't actually have special sequences mapped\n * to them in xterm or gnome-terminal. The range is really Ctrl-2..8, but\n * we handle 1..9 since Chrome treats the whole range special.\n */\nhterm.Keyboard.KeyMap.prototype.onCtrlNum_ = function(e, keyDef) {\n // Compute a control character for a given character.\n function ctl(ch) { return String.fromCharCode(ch.charCodeAt(0) - 64) }\n\n if (this.keyboard.terminal.passCtrlNumber && !e.shiftKey)\n return hterm.Keyboard.KeyActions.PASS;\n\n switch (keyDef.keyCap.substr(0, 1)) {\n case '1': return '1';\n case '2': return ctl('@');\n case '3': return ctl('[');\n case '4': return ctl('\\\\');\n case '5': return ctl(']');\n case '6': return ctl('^');\n case '7': return ctl('_');\n case '8': return '\\x7f';\n case '9': return '9';\n }\n};\n\n/**\n * Either pass Alt-1..9 to the browser or send them to the host.\n */\nhterm.Keyboard.KeyMap.prototype.onAltNum_ = function(e, keyDef) {\n if (this.keyboard.terminal.passAltNumber && !e.shiftKey)\n return hterm.Keyboard.KeyActions.PASS;\n\n return hterm.Keyboard.KeyActions.DEFAULT;\n};\n\n/**\n * Either pass Meta-1..9 to the browser or send them to the host.\n */\nhterm.Keyboard.KeyMap.prototype.onMetaNum_ = function(e, keyDef) {\n if (this.keyboard.terminal.passMetaNumber && !e.shiftKey)\n return hterm.Keyboard.KeyActions.PASS;\n\n return hterm.Keyboard.KeyActions.DEFAULT;\n};\n\n/**\n * Either send a ^C or interpret the keystroke as a copy command.\n */\nhterm.Keyboard.KeyMap.prototype.onCtrlC_ = function(e, keyDef) {\n var selection = this.keyboard.terminal.getDocument().getSelection();\n\n if (!selection.isCollapsed) {\n if (this.keyboard.ctrlCCopy && !e.shiftKey) {\n // Ctrl-C should copy if there is a selection, send ^C otherwise.\n // Perform the copy by letting the browser handle Ctrl-C. On most\n // browsers, this is the *only* way to place text on the clipboard from\n // the 'drive-by' web.\n if (this.keyboard.terminal.clearSelectionAfterCopy) {\n setTimeout(selection.collapseToEnd.bind(selection), 50);\n }\n return hterm.Keyboard.KeyActions.PASS;\n }\n\n if (!this.keyboard.ctrlCCopy && e.shiftKey) {\n // Ctrl-Shift-C should copy if there is a selection, send ^C otherwise.\n // Perform the copy manually. This only works in situations where\n // document.execCommand('copy') is allowed.\n if (this.keyboard.terminal.clearSelectionAfterCopy) {\n setTimeout(selection.collapseToEnd.bind(selection), 50);\n }\n this.keyboard.terminal.copySelectionToClipboard();\n return hterm.Keyboard.KeyActions.CANCEL;\n }\n }\n\n return '\\x03';\n};\n\n/**\n * Either send a ^N or open a new window to the same location.\n */\nhterm.Keyboard.KeyMap.prototype.onCtrlN_ = function(e, keyDef) {\n if (e.shiftKey) {\n window.open(document.location.href, '',\n 'chrome=no,close=yes,resize=yes,scrollbars=yes,' +\n 'minimizable=yes,width=' + window.innerWidth +\n ',height=' + window.innerHeight);\n return hterm.Keyboard.KeyActions.CANCEL;\n }\n\n return '\\x0e';\n};\n\n/**\n * Either send a ^V or issue a paste command.\n *\n * The default behavior is to paste if the user presses Ctrl-Shift-V, and send\n * a ^V if the user presses Ctrl-V. This can be flipped with the\n * 'ctrl-v-paste' preference.\n *\n */\nhterm.Keyboard.KeyMap.prototype.onCtrlV_ = function(e, keyDef) {\n if ((!e.shiftKey && this.keyboard.ctrlVPaste) ||\n (e.shiftKey && !this.keyboard.ctrlVPaste)) {\n // We try to do the pasting ourselves as not all browsers/OSs bind Ctrl-V to\n // pasting. Notably, on macOS, Ctrl-V/Ctrl-Shift-V do nothing.\n // However, this might run into web restrictions, so if it fails, we still\n // fallback to the letting the native behavior (hopefully) save us.\n if (this.keyboard.terminal.paste())\n return hterm.Keyboard.KeyActions.CANCEL;\n else\n return hterm.Keyboard.KeyActions.PASS;\n }\n\n return '\\x16';\n};\n\n/**\n * Either the default action or open a new window to the same location.\n */\nhterm.Keyboard.KeyMap.prototype.onMetaN_ = function(e, keyDef) {\n if (e.shiftKey) {\n window.open(document.location.href, '',\n 'chrome=no,close=yes,resize=yes,scrollbars=yes,' +\n 'minimizable=yes,width=' + window.outerWidth +\n ',height=' + window.outerHeight);\n return hterm.Keyboard.KeyActions.CANCEL;\n }\n\n return hterm.Keyboard.KeyActions.DEFAULT;\n};\n\n/**\n * Either send a Meta-C or allow the browser to interpret the keystroke as a\n * copy command.\n *\n * If there is no selection, or if the user presses Meta-Shift-C, then we'll\n * transmit an '\\x1b' (if metaSendsEscape is on) followed by 'c' or 'C'.\n *\n * If there is a selection, we defer to the browser. In this case we clear out\n * the selection so the user knows we heard them, and also to give them a\n * chance to send a Meta-C by just hitting the key again.\n */\nhterm.Keyboard.KeyMap.prototype.onMetaC_ = function(e, keyDef) {\n var document = this.keyboard.terminal.getDocument();\n if (e.shiftKey || document.getSelection().isCollapsed) {\n // If the shift key is being held, or there is no document selection, send\n // a Meta-C. The keyboard code will add the ESC if metaSendsEscape is true,\n // we just have to decide between 'c' and 'C'.\n return keyDef.keyCap.substr(e.shiftKey ? 1 : 0, 1);\n }\n\n // Otherwise let the browser handle it as a copy command.\n if (this.keyboard.terminal.clearSelectionAfterCopy) {\n setTimeout(function() { document.getSelection().collapseToEnd() }, 50);\n }\n return hterm.Keyboard.KeyActions.PASS;\n};\n\n/**\n * Either PASS or DEFAULT Meta-V, depending on preference.\n *\n * Always PASS Meta-Shift-V to allow browser to interpret the keystroke as\n * a paste command.\n */\nhterm.Keyboard.KeyMap.prototype.onMetaV_ = function(e, keyDef) {\n if (e.shiftKey)\n return hterm.Keyboard.KeyActions.PASS;\n\n return this.keyboard.passMetaV ?\n hterm.Keyboard.KeyActions.PASS :\n hterm.Keyboard.KeyActions.DEFAULT;\n};\n\n/**\n * Handle font zooming.\n *\n * The browser's built-in zoom has a bit of an issue at certain zoom levels.\n * At some magnifications, the measured height of a row of text differs from\n * the height that was explicitly set.\n *\n * We override the browser zoom keys to change the ScrollPort's font size to\n * avoid the issue.\n */\nhterm.Keyboard.KeyMap.prototype.onPlusMinusZero_ = function(e, keyDef) {\n if (!(this.keyboard.ctrlPlusMinusZeroZoom ^ e.shiftKey)) {\n // If ctrl-PMZ controls zoom and the shift key is pressed, or\n // ctrl-shift-PMZ controls zoom and this shift key is not pressed,\n // then we want to send the control code instead of affecting zoom.\n if (keyDef.keyCap == '-_')\n return '\\x1f'; // ^_\n\n // Only ^_ is valid, the other sequences have no meaning.\n return hterm.Keyboard.KeyActions.CANCEL;\n }\n\n if (this.keyboard.terminal.getZoomFactor() != 1) {\n // If we're not at 1:1 zoom factor, let the Ctrl +/-/0 keys control the\n // browser zoom, so it's easier to for the user to get back to 100%.\n return hterm.Keyboard.KeyActions.PASS;\n }\n\n var cap = keyDef.keyCap.substr(0, 1);\n if (cap == '0') {\n this.keyboard.terminal.setFontSize(0);\n } else {\n var size = this.keyboard.terminal.getFontSize();\n\n if (cap == '-' || keyDef.keyCap == '[KP-]') {\n size -= 1;\n } else {\n size += 1;\n }\n\n this.keyboard.terminal.setFontSize(size);\n }\n\n return hterm.Keyboard.KeyActions.CANCEL;\n};\n// SOURCE FILE: hterm/js/hterm_keyboard_keypattern.js\n// Copyright (c) 2015 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * A record of modifier bits and keycode used to define a key binding.\n *\n * The modifier names are enumerated in the static KeyPattern.modifiers\n * property below. Each modifier can be true, false, or \"*\". True means\n * the modifier key must be present, false means it must not, and \"*\" means\n * it doesn't matter.\n */\nhterm.Keyboard.KeyPattern = function(spec) {\n this.wildcardCount = 0;\n this.keyCode = spec.keyCode;\n\n hterm.Keyboard.KeyPattern.modifiers.forEach(function(mod) {\n this[mod] = spec[mod] || false;\n if (this[mod] == '*')\n this.wildcardCount++;\n }.bind(this));\n};\n\n/**\n * Valid modifier names.\n */\nhterm.Keyboard.KeyPattern.modifiers = [\n 'shift', 'ctrl', 'alt', 'meta'\n];\n\n/**\n * A compare callback for Array.prototype.sort().\n *\n * The bindings code wants to be sure to search through the strictest key\n * patterns first, so that loosely defined patterns have a lower priority than\n * exact patterns.\n *\n * @param {hterm.Keyboard.KeyPattern} a\n * @param {hterm.Keyboard.KeyPattern} b\n */\nhterm.Keyboard.KeyPattern.sortCompare = function(a, b) {\n if (a.wildcardCount < b.wildcardCount)\n return -1;\n\n if (a.wildcardCount > b.wildcardCount)\n return 1;\n\n return 0;\n};\n\n/**\n * Private method used to match this key pattern against other key patterns\n * or key down events.\n *\n * @param {Object} The object to match.\n * @param {boolean} True if we should ignore wildcards. Useful when you want\n * to perform and exact match against another key pattern.\n */\nhterm.Keyboard.KeyPattern.prototype.match_ = function(obj, exactMatch) {\n if (this.keyCode != obj.keyCode)\n return false;\n\n var rv = true;\n\n hterm.Keyboard.KeyPattern.modifiers.forEach(function(mod) {\n var modValue = (mod in obj) ? obj[mod] : false;\n if (!rv || (!exactMatch && this[mod] == '*') || this[mod] == modValue)\n return;\n\n rv = false;\n }.bind(this));\n\n return rv;\n};\n\n/**\n * Return true if the given keyDown object is a match for this key pattern.\n *\n * @param {Object} keyDown An object with a keyCode property and zero or\n * more boolean properties representing key modifiers. These property names\n * must match those defined in hterm.Keyboard.KeyPattern.modifiers.\n */\nhterm.Keyboard.KeyPattern.prototype.matchKeyDown = function(keyDown) {\n return this.match_(keyDown, false);\n};\n\n/**\n * Return true if the given hterm.Keyboard.KeyPattern is exactly the same as\n * this one.\n *\n * @param {hterm.Keyboard.KeyPattern}\n */\nhterm.Keyboard.KeyPattern.prototype.matchKeyPattern = function(keyPattern) {\n return this.match_(keyPattern, true);\n};\n// SOURCE FILE: hterm/js/hterm_options.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * @fileoverview This file implements the hterm.Options class,\n * which stores current operating conditions for the terminal. This object is\n * used instead of a series of parameters to allow saving/restoring of cursor\n * conditions easily, and to provide an easy place for common configuration\n * options.\n *\n * Original code by Cory Maccarrone.\n */\n\n/**\n * Constructor for the hterm.Options class, optionally acting as a copy\n * constructor.\n *\n * The defaults are as defined in http://www.vt100.net/docs/vt510-rm/DECSTR\n * except that we enable autowrap (wraparound) by default since that seems to\n * be what xterm does.\n *\n * @param {hterm.Options=} opt_copy Optional instance to copy.\n * @constructor\n */\nhterm.Options = function(opt_copy) {\n // All attributes in this class are public to allow easy access by the\n // terminal.\n\n this.wraparound = opt_copy ? opt_copy.wraparound : true;\n this.reverseWraparound = opt_copy ? opt_copy.reverseWraparound : false;\n this.originMode = opt_copy ? opt_copy.originMode : false;\n this.autoCarriageReturn = opt_copy ? opt_copy.autoCarriageReturn : false;\n this.cursorVisible = opt_copy ? opt_copy.cursorVisible : false;\n this.cursorBlink = opt_copy ? opt_copy.cursorBlink : false;\n this.insertMode = opt_copy ? opt_copy.insertMode : false;\n this.reverseVideo = opt_copy ? opt_copy.reverseVideo : false;\n this.bracketedPaste = opt_copy ? opt_copy.bracketedPaste : false;\n};\n// SOURCE FILE: hterm/js/hterm_parser.js\n// Copyright (c) 2015 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\nlib.rtdep('hterm.Keyboard.KeyActions');\n\n/**\n * @constructor\n * Parses the key definition syntax used for user keyboard customizations.\n */\nhterm.Parser = function() {\n /**\n * @type {string} The source string.\n */\n this.source = '';\n\n /**\n * @type {number} The current position.\n */\n this.pos = 0;\n\n /**\n * @type {string?} The character at the current position.\n */\n this.ch = null;\n};\n\nhterm.Parser.prototype.error = function(message) {\n return new Error('Parse error at ' + this.pos + ': ' + message);\n};\n\nhterm.Parser.prototype.isComplete = function() {\n return this.pos == this.source.length;\n};\n\nhterm.Parser.prototype.reset = function(source, opt_pos) {\n this.source = source;\n this.pos = opt_pos || 0;\n this.ch = source.substr(0, 1);\n};\n\n/**\n * Parse a key sequence.\n *\n * A key sequence is zero or more of the key modifiers defined in\n * hterm.Parser.identifiers.modifierKeys followed by a key code. Key\n * codes can be an integer or an identifier from\n * hterm.Parser.identifiers.keyCodes. Modifiers and keyCodes should be joined\n * by the dash character.\n *\n * An asterisk \"*\" can be used to indicate that the unspecified modifiers\n * are optional.\n *\n * For example:\n * A: Matches only an unmodified \"A\" character.\n * 65: Same as above.\n * 0x41: Same as above.\n * Ctrl-A: Matches only Ctrl-A.\n * Ctrl-65: Same as above.\n * Ctrl-0x41: Same as above.\n * Ctrl-Shift-A: Matches only Ctrl-Shift-A.\n * Ctrl-*-A: Matches Ctrl-A, as well as any other key sequence that includes\n * at least the Ctrl and A keys.\n *\n * @return {Object} An object with shift, ctrl, alt, meta, keyCode\n * properties.\n */\nhterm.Parser.prototype.parseKeySequence = function() {\n var rv = {\n keyCode: null\n };\n\n for (var k in hterm.Parser.identifiers.modifierKeys) {\n rv[hterm.Parser.identifiers.modifierKeys[k]] = false;\n }\n\n while (this.pos < this.source.length) {\n this.skipSpace();\n\n var token = this.parseToken();\n if (token.type == 'integer') {\n rv.keyCode = token.value;\n\n } else if (token.type == 'identifier') {\n var ucValue = token.value.toUpperCase();\n if (ucValue in hterm.Parser.identifiers.modifierKeys &&\n hterm.Parser.identifiers.modifierKeys.hasOwnProperty(ucValue)) {\n var mod = hterm.Parser.identifiers.modifierKeys[ucValue];\n if (rv[mod] && rv[mod] != '*')\n throw this.error('Duplicate modifier: ' + token.value);\n rv[mod] = true;\n\n } else if (ucValue in hterm.Parser.identifiers.keyCodes &&\n hterm.Parser.identifiers.keyCodes.hasOwnProperty(ucValue)) {\n rv.keyCode = hterm.Parser.identifiers.keyCodes[ucValue];\n\n } else {\n throw this.error('Unknown key: ' + token.value);\n }\n\n } else if (token.type == 'symbol') {\n if (token.value == '*') {\n for (var id in hterm.Parser.identifiers.modifierKeys) {\n var p = hterm.Parser.identifiers.modifierKeys[id];\n if (!rv[p])\n rv[p] = '*';\n }\n } else {\n throw this.error('Unexpected symbol: ' + token.value);\n }\n } else {\n throw this.error('Expected integer or identifier');\n }\n\n this.skipSpace();\n\n if (this.ch != '-')\n break;\n\n if (rv.keyCode != null)\n throw this.error('Extra definition after target key');\n\n this.advance(1);\n }\n\n if (rv.keyCode == null)\n throw this.error('Missing target key');\n\n return rv;\n};\n\nhterm.Parser.prototype.parseKeyAction = function() {\n this.skipSpace();\n\n var token = this.parseToken();\n\n if (token.type == 'string')\n return token.value;\n\n if (token.type == 'identifier') {\n if (token.value in hterm.Parser.identifiers.actions &&\n hterm.Parser.identifiers.actions.hasOwnProperty(token.value))\n return hterm.Parser.identifiers.actions[token.value];\n\n throw this.error('Unknown key action: ' + token.value);\n }\n\n throw this.error('Expected string or identifier');\n\n};\n\nhterm.Parser.prototype.peekString = function() {\n return this.ch == '\\'' || this.ch == '\"';\n};\n\nhterm.Parser.prototype.peekIdentifier = function() {\n return this.ch.match(/[a-z_]/i);\n};\n\nhterm.Parser.prototype.peekInteger = function() {\n return this.ch.match(/[0-9]/);\n};\n\nhterm.Parser.prototype.parseToken = function() {\n if (this.ch == '*') {\n var rv = {type: 'symbol', value: this.ch};\n this.advance(1);\n return rv;\n }\n\n if (this.peekIdentifier())\n return {type: 'identifier', value: this.parseIdentifier()};\n\n if (this.peekString())\n return {type: 'string', value: this.parseString()};\n\n if (this.peekInteger())\n return {type: 'integer', value: this.parseInteger()};\n\n\n throw this.error('Unexpected token');\n};\n\nhterm.Parser.prototype.parseIdentifier = function() {\n if (!this.peekIdentifier())\n throw this.error('Expected identifier');\n\n return this.parsePattern(/[a-z0-9_]+/ig);\n};\n\nhterm.Parser.prototype.parseInteger = function() {\n var base = 10;\n\n if (this.ch == '0' && this.pos < this.source.length - 1 &&\n this.source.substr(this.pos + 1, 1) == 'x') {\n return parseInt(this.parsePattern(/0x[0-9a-f]+/gi));\n }\n\n return parseInt(this.parsePattern(/\\d+/g));\n};\n\n/**\n * Parse a single or double quoted string.\n *\n * The current position should point at the initial quote character. Single\n * quoted strings will be treated literally, double quoted will process escapes.\n *\n * TODO(rginda): Variable interpolation.\n *\n * @param {ParseState} parseState\n * @param {string} quote A single or double-quote character.\n * @return {string}\n */\nhterm.Parser.prototype.parseString = function() {\n var result = '';\n\n var quote = this.ch;\n if (quote != '\"' && quote != '\\'')\n throw this.error('String expected');\n\n this.advance(1);\n\n var re = new RegExp('[\\\\\\\\' + quote + ']', 'g');\n\n while (this.pos < this.source.length) {\n re.lastIndex = this.pos;\n if (!re.exec(this.source))\n throw this.error('Unterminated string literal');\n\n result += this.source.substring(this.pos, re.lastIndex - 1);\n\n this.advance(re.lastIndex - this.pos - 1);\n\n if (quote == '\"' && this.ch == '\\\\') {\n this.advance(1);\n result += this.parseEscape();\n continue;\n }\n\n if (quote == '\\'' && this.ch == '\\\\') {\n result += this.ch;\n this.advance(1);\n continue;\n }\n\n if (this.ch == quote) {\n this.advance(1);\n return result;\n }\n }\n\n throw this.error('Unterminated string literal');\n};\n\n\n/**\n * Parse an escape code from the current position (which should point to\n * the first character AFTER the leading backslash.)\n *\n * @return {string}\n */\nhterm.Parser.prototype.parseEscape = function() {\n var map = {\n '\"': '\"',\n '\\'': '\\'',\n '\\\\': '\\\\',\n 'a': '\\x07',\n 'b': '\\x08',\n 'e': '\\x1b',\n 'f': '\\x0c',\n 'n': '\\x0a',\n 'r': '\\x0d',\n 't': '\\x09',\n 'v': '\\x0b',\n 'x': function() {\n var value = this.parsePattern(/[a-z0-9]{2}/ig);\n return String.fromCharCode(parseInt(value, 16));\n },\n 'u': function() {\n var value = this.parsePattern(/[a-z0-9]{4}/ig);\n return String.fromCharCode(parseInt(value, 16));\n }\n };\n\n if (!(this.ch in map && map.hasOwnProperty(this.ch)))\n throw this.error('Unknown escape: ' + this.ch);\n\n var value = map[this.ch];\n this.advance(1);\n\n if (typeof value == 'function')\n value = value.call(this);\n\n return value;\n};\n\n/**\n * Parse the given pattern starting from the current position.\n *\n * @param {RegExp} pattern A pattern representing the characters to span. MUST\n * include the \"global\" RegExp flag.\n * @return {string}\n */\nhterm.Parser.prototype.parsePattern = function(pattern) {\n if (!pattern.global)\n throw this.error('Internal error: Span patterns must be global');\n\n pattern.lastIndex = this.pos;\n var ary = pattern.exec(this.source);\n\n if (!ary || pattern.lastIndex - ary[0].length != this.pos)\n throw this.error('Expected match for: ' + pattern);\n\n this.pos = pattern.lastIndex - 1;\n this.advance(1);\n\n return ary[0];\n};\n\n\n/**\n * Advance the current position.\n *\n * @param {number} count\n */\nhterm.Parser.prototype.advance = function(count) {\n this.pos += count;\n this.ch = this.source.substr(this.pos, 1);\n};\n\n/**\n * @param {string=} opt_expect A list of valid non-whitespace characters to\n * terminate on.\n * @return {void}\n */\nhterm.Parser.prototype.skipSpace = function(opt_expect) {\n if (!/\\s/.test(this.ch))\n return;\n\n var re = /\\s+/gm;\n re.lastIndex = this.pos;\n\n var source = this.source;\n if (re.exec(source))\n this.pos = re.lastIndex;\n\n this.ch = this.source.substr(this.pos, 1);\n\n if (opt_expect) {\n if (this.ch.indexOf(opt_expect) == -1) {\n throw this.error('Expected one of ' + opt_expect + ', found: ' +\n this.ch);\n }\n }\n};\n// SOURCE FILE: hterm/js/hterm_parser_identifiers.js\n// Copyright (c) 2015 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * Collections of identifier for hterm.Parser.\n */\nhterm.Parser.identifiers = {};\n\n/**\n * Modifier key names used when defining key sequences.\n *\n * These are upper case so we can normalize the user input and be forgiving.\n * \"CTRL-A\" and \"Ctrl-A\" and \"ctrl-a\" are all accepted.\n *\n * Note: Names here cannot overlap with hterm.Parser.identifiers.keyCodes.\n */\nhterm.Parser.identifiers.modifierKeys = {\n SHIFT: 'shift',\n CTRL: 'ctrl',\n // Common alias.\n CONTROL: 'ctrl',\n ALT: 'alt',\n META: 'meta'\n};\n\n/**\n * Key codes useful when defining key sequences.\n *\n * Punctuation is mostly left out of this list because they can move around\n * based on keyboard locale and browser.\n *\n * In a key sequence like \"Ctrl-ESC\", the ESC comes from this list of\n * identifiers. It is equivalent to \"Ctrl-27\" and \"Ctrl-0x1b\".\n *\n * These are upper case so we can normalize the user input and be forgiving.\n * \"Ctrl-ESC\" and \"Ctrl-Esc\" an \"Ctrl-esc\" are all accepted.\n *\n * We also include common aliases for the same key. \"Esc\" and \"Escape\" are the\n * same key.\n *\n * Note: Names here cannot overlap with hterm.Parser.identifiers.modifierKeys.\n */\nhterm.Parser.identifiers.keyCodes = {\n // Top row.\n ESCAPE: 27,\n ESC: 27,\n F1: 112,\n F2: 113,\n F3: 114,\n F4: 115,\n F5: 116,\n F6: 117,\n F7: 118,\n F8: 119,\n F9: 120,\n F10: 121,\n F11: 122,\n F12: 123,\n\n // Row two.\n ONE: 49,\n TWO: 50,\n THREE: 51,\n FOUR: 52,\n FIVE: 53,\n SIX: 54,\n SEVEN: 55,\n EIGHT: 56,\n NINE: 57,\n ZERO: 48,\n BACKSPACE: 8,\n BKSP: 8,\n BS: 8,\n\n // Row three.\n TAB: 9,\n Q: 81,\n W: 87,\n E: 69,\n R: 82,\n T: 84,\n Y: 89,\n U: 85,\n I: 73,\n O: 79,\n P: 80,\n\n // Row four.\n CAPS_LOCK: 20,\n CAPSLOCK: 20,\n CAPS: 20,\n A: 65,\n S: 83,\n D: 68,\n F: 70,\n G: 71,\n H: 72,\n J: 74,\n K: 75,\n L: 76,\n // We map enter and return together even though enter should really be 10\n // because most people don't know or care about the history here. Plus,\n // most keyboards/programs map them together already. If they really want\n // to bind them differently, they can also use the numeric value.\n ENTER: 13,\n ENT: 13,\n RETURN: 13,\n RET: 13,\n\n // Row five.\n Z: 90,\n X: 88,\n C: 67,\n V: 86,\n B: 66,\n N: 78,\n M: 77,\n\n // Etc.\n SPACE: 32,\n SP: 32,\n PRINT_SCREEN: 42,\n PRTSC: 42,\n SCROLL_LOCK: 145,\n SCRLK: 145,\n BREAK: 19,\n BRK: 19,\n INSERT: 45,\n INS: 45,\n HOME: 36,\n PAGE_UP: 33,\n PGUP: 33,\n DELETE: 46,\n DEL: 46,\n END: 35,\n PAGE_DOWN: 34,\n PGDOWN: 34,\n PGDN: 34,\n UP: 38,\n DOWN: 40,\n RIGHT: 39,\n LEFT: 37,\n NUMLOCK: 144,\n\n // Keypad\n KP0: 96,\n KP1: 97,\n KP2: 98,\n KP3: 99,\n KP4: 100,\n KP5: 101,\n KP6: 102,\n KP7: 103,\n KP8: 104,\n KP9: 105,\n KP_PLUS: 107,\n KP_ADD: 107,\n KP_MINUS: 109,\n KP_SUBTRACT: 109,\n KP_STAR: 106,\n KP_MULTIPLY: 106,\n KP_DIVIDE: 111,\n KP_DECIMAL: 110,\n KP_PERIOD: 110,\n\n // Chrome OS media keys\n NAVIGATE_BACK: 166,\n NAVIGATE_FORWARD: 167,\n RELOAD: 168,\n FULL_SCREEN: 183,\n WINDOW_OVERVIEW: 182,\n BRIGHTNESS_UP: 216,\n BRIGHTNESS_DOWN: 217\n};\n\n/**\n * Identifiers for use in key actions.\n */\nhterm.Parser.identifiers.actions = {\n /**\n * Prevent the browser and operating system from handling the event.\n */\n CANCEL: hterm.Keyboard.KeyActions.CANCEL,\n\n /**\n * Wait for a \"keypress\" event, send the keypress charCode to the host.\n */\n DEFAULT: hterm.Keyboard.KeyActions.DEFAULT,\n\n /**\n * Let the browser or operating system handle the key.\n */\n PASS: hterm.Keyboard.KeyActions.PASS,\n\n /**\n * Scroll the terminal one page up.\n */\n scrollPageUp: function(terminal) {\n terminal.scrollPageUp();\n return hterm.Keyboard.KeyActions.CANCEL;\n },\n\n /**\n * Scroll the terminal one page down.\n */\n scrollPageDown: function(terminal) {\n terminal.scrollPageDown();\n return hterm.Keyboard.KeyActions.CANCEL;\n },\n\n /**\n * Scroll the terminal to the top.\n */\n scrollToTop: function(terminal) {\n terminal.scrollEnd();\n return hterm.Keyboard.KeyActions.CANCEL;\n },\n\n /**\n * Scroll the terminal to the bottom.\n */\n scrollToBottom: function(terminal) {\n terminal.scrollEnd();\n return hterm.Keyboard.KeyActions.CANCEL;\n },\n\n /**\n * Clear the terminal and scrollback buffer.\n */\n clearScrollback: function(terminal) {\n terminal.wipeContents();\n return hterm.Keyboard.KeyActions.CANCEL;\n }\n};\n// SOURCE FILE: hterm/js/hterm_preference_manager.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\nlib.rtdep('lib.f', 'lib.Storage');\n\n/**\n * PreferenceManager subclass managing global NaSSH preferences.\n *\n * This is currently just an ordered list of known connection profiles.\n */\nhterm.PreferenceManager = function(profileId) {\n lib.PreferenceManager.call(this, hterm.defaultStorage,\n '/hterm/profiles/' + profileId);\n var defs = hterm.PreferenceManager.defaultPreferences;\n Object.keys(defs).forEach(function(key) {\n this.definePreference(key, defs[key][1]);\n }.bind(this));\n};\n\nhterm.PreferenceManager.categories = {};\nhterm.PreferenceManager.categories.Keyboard = 'Keyboard';\nhterm.PreferenceManager.categories.Appearance = 'Appearance';\nhterm.PreferenceManager.categories.CopyPaste = 'CopyPaste';\nhterm.PreferenceManager.categories.Sounds = 'Sounds';\nhterm.PreferenceManager.categories.Scrolling = 'Scrolling';\nhterm.PreferenceManager.categories.Encoding = 'Encoding';\nhterm.PreferenceManager.categories.Miscellaneous = 'Miscellaneous';\n\n/**\n * List of categories, ordered by display order (top to bottom)\n */\nhterm.PreferenceManager.categoryDefinitions = [\n { id: hterm.PreferenceManager.categories.Appearance,\n text: 'Appearance (fonts, colors, images)'},\n { id: hterm.PreferenceManager.categories.CopyPaste,\n text: 'Copy & Paste'},\n { id: hterm.PreferenceManager.categories.Encoding,\n text: 'Encoding'},\n { id: hterm.PreferenceManager.categories.Keyboard,\n text: 'Keyboard'},\n { id: hterm.PreferenceManager.categories.Scrolling,\n text: 'Scrolling'},\n { id: hterm.PreferenceManager.categories.Sounds,\n text: 'Sounds'},\n { id: hterm.PreferenceManager.categories.Miscellaneous,\n text: 'Misc.'}\n];\n\n\nhterm.PreferenceManager.defaultPreferences = {\n 'alt-gr-mode':\n [hterm.PreferenceManager.categories.Keyboard, null,\n [null, 'none', 'ctrl-alt', 'left-alt', 'right-alt'],\n 'Select an AltGr detection hack^Wheuristic.\\n' +\n '\\n' +\n '\\'null\\': Autodetect based on navigator.language:\\n' +\n ' \\'en-us\\' => \\'none\\', else => \\'right-alt\\'\\n' +\n '\\'none\\': Disable any AltGr related munging.\\n' +\n '\\'ctrl-alt\\': Assume Ctrl+Alt means AltGr.\\n' +\n '\\'left-alt\\': Assume left Alt means AltGr.\\n' +\n '\\'right-alt\\': Assume right Alt means AltGr.\\n'],\n\n 'alt-backspace-is-meta-backspace':\n [hterm.PreferenceManager.categories.Keyboard, false, 'bool',\n 'If set, undoes the Chrome OS Alt-Backspace->DEL remap, so that ' +\n 'alt-backspace indeed is alt-backspace.'],\n\n 'alt-is-meta':\n [hterm.PreferenceManager.categories.Keyboard, false, 'bool',\n 'Set whether the alt key acts as a meta key or as a distinct alt key.'],\n\n 'alt-sends-what':\n [hterm.PreferenceManager.categories.Keyboard, 'escape',\n ['escape', '8-bit', 'browser-key'],\n 'Controls how the alt key is handled.\\n' +\n '\\n' +\n ' escape....... Send an ESC prefix.\\n' +\n ' 8-bit........ Add 128 to the unshifted character as in xterm.\\n' +\n ' browser-key.. Wait for the keypress event and see what the browser \\n' +\n ' says. (This won\\'t work well on platforms where the \\n' +\n ' browser performs a default action for some alt sequences.)'\n ],\n\n 'audible-bell-sound':\n [hterm.PreferenceManager.categories.Sounds, 'lib-resource:hterm/audio/bell',\n 'url',\n 'URL of the terminal bell sound. Empty string for no audible bell.'],\n\n 'desktop-notification-bell':\n [hterm.PreferenceManager.categories.Sounds, false, 'bool',\n 'If true, terminal bells in the background will create a Web ' +\n 'Notification. https://www.w3.org/TR/notifications/\\n' +\n '\\n'+\n 'Displaying notifications requires permission from the user. When this ' +\n 'option is set to true, hterm will attempt to ask the user for permission ' +\n 'if necessary. Note browsers may not show this permission request if it ' +\n 'did not originate from a user action.\\n' +\n '\\n' +\n 'Chrome extensions with the \"notifications\" permission have permission to ' +\n 'display notifications.'],\n\n 'background-color':\n [hterm.PreferenceManager.categories.Appearance, 'rgb(16, 16, 16)', 'color',\n 'The background color for text with no other color attributes.'],\n\n 'background-image':\n [hterm.PreferenceManager.categories.Appearance, '', 'string',\n 'CSS value of the background image. Empty string for no image.\\n' +\n '\\n' +\n 'For example:\\n' +\n ' url(https://goo.gl/anedTK)\\n' +\n ' linear-gradient(top bottom, blue, red)'],\n\n 'background-size':\n [hterm.PreferenceManager.categories.Appearance, '', 'string',\n 'CSS value of the background image size. Defaults to none.'],\n\n 'background-position':\n [hterm.PreferenceManager.categories.Appearance, '', 'string',\n 'CSS value of the background image position.\\n' +\n '\\n' +\n 'For example:\\n' +\n ' 10% 10%\\n' +\n ' center'],\n\n 'backspace-sends-backspace':\n [hterm.PreferenceManager.categories.Keyboard, false, 'bool',\n 'If true, the backspace should send BS (\\'\\\\x08\\', aka ^H). Otherwise ' +\n 'the backspace key should send \\'\\\\x7f\\'.'],\n\n 'character-map-overrides':\n [hterm.PreferenceManager.categories.Appearance, null, 'value',\n 'This is specified as an object. It is a sparse array, where each ' +\n 'property is the character set code and the value is an object that is ' +\n 'a sparse array itself. In that sparse array, each property is the ' +\n 'received character and the value is the displayed character.\\n' +\n '\\n' +\n 'For example:\\n' +\n ' {\"0\":{\"+\":\"\\\\u2192\",\",\":\"\\\\u2190\",\"-\":\"\\\\u2191\",\".\":\"\\\\u2193\", ' +\n '\"0\":\"\\\\u2588\"}}'\n ],\n\n 'close-on-exit':\n [hterm.PreferenceManager.categories.Miscellaneous, true, 'bool',\n 'Whether or not to close the window when the command exits.'],\n\n 'cursor-blink':\n [hterm.PreferenceManager.categories.Appearance, false, 'bool',\n 'Whether or not to blink the cursor by default.'],\n\n 'cursor-blink-cycle':\n [hterm.PreferenceManager.categories.Appearance, [1000, 500], 'value',\n 'The cursor blink rate in milliseconds.\\n' +\n '\\n' +\n 'A two element array, the first of which is how long the cursor should be ' +\n 'on, second is how long it should be off.'],\n\n 'cursor-color':\n [hterm.PreferenceManager.categories.Appearance, 'rgba(255, 0, 0, 0.5)',\n 'color',\n 'The color of the visible cursor.'],\n\n 'color-palette-overrides':\n [hterm.PreferenceManager.categories.Appearance, null, 'value',\n 'Override colors in the default palette.\\n' +\n '\\n' +\n 'This can be specified as an array or an object. If specified as an ' +\n 'object it is assumed to be a sparse array, where each property ' +\n 'is a numeric index into the color palette.\\n' +\n '\\n' +\n 'Values can be specified as almost any css color value. This ' +\n 'includes #RGB, #RRGGBB, rgb(...), rgba(...), and any color names ' +\n 'that are also part of the stock X11 rgb.txt file.\\n' +\n '\\n' +\n 'You can use \\'null\\' to specify that the default value should be not ' +\n 'be changed. This is useful for skipping a small number of indices ' +\n 'when the value is specified as an array.'],\n\n 'copy-on-select':\n [hterm.PreferenceManager.categories.CopyPaste, true, 'bool',\n 'Automatically copy mouse selection to the clipboard.'],\n\n 'use-default-window-copy':\n [hterm.PreferenceManager.categories.CopyPaste, false, 'bool',\n 'Whether to use the default window copy behavior'],\n\n 'clear-selection-after-copy':\n [hterm.PreferenceManager.categories.CopyPaste, true, 'bool',\n 'Whether to clear the selection after copying.'],\n\n 'ctrl-plus-minus-zero-zoom':\n [hterm.PreferenceManager.categories.Keyboard, true, 'bool',\n 'If true, Ctrl-Plus/Minus/Zero controls zoom.\\n' +\n 'If false, Ctrl-Shift-Plus/Minus/Zero controls zoom, Ctrl-Minus sends ^_, ' +\n 'Ctrl-Plus/Zero do nothing.'],\n\n 'ctrl-c-copy':\n [hterm.PreferenceManager.categories.Keyboard, false, 'bool',\n 'Ctrl+C copies if true, send ^C to host if false.\\n' +\n 'Ctrl+Shift+C sends ^C to host if true, copies if false.'],\n\n 'ctrl-v-paste':\n [hterm.PreferenceManager.categories.Keyboard, false, 'bool',\n 'Ctrl+V pastes if true, send ^V to host if false.\\n' +\n 'Ctrl+Shift+V sends ^V to host if true, pastes if false.'],\n\n 'east-asian-ambiguous-as-two-column':\n [hterm.PreferenceManager.categories.Keyboard, false, 'bool',\n 'Set whether East Asian Ambiguous characters have two column width.'],\n\n 'enable-8-bit-control':\n [hterm.PreferenceManager.categories.Keyboard, false, 'bool',\n 'True to enable 8-bit control characters, false to ignore them.\\n' +\n '\\n' +\n 'We\\'ll respect the two-byte versions of these control characters ' +\n 'regardless of this setting.'],\n\n 'enable-bold':\n [hterm.PreferenceManager.categories.Appearance, null, 'tristate',\n 'True if we should use bold weight font for text with the bold/bright ' +\n 'attribute. False to use the normal weight font. Null to autodetect.'],\n\n 'enable-bold-as-bright':\n [hterm.PreferenceManager.categories.Appearance, true, 'bool',\n 'True if we should use bright colors (8-15 on a 16 color palette) ' +\n 'for any text with the bold attribute. False otherwise.'],\n\n 'enable-blink':\n [hterm.PreferenceManager.categories.Appearance, true, 'bool',\n 'True if we should respect the blink attribute. False to ignore it. '],\n\n 'enable-clipboard-notice':\n [hterm.PreferenceManager.categories.CopyPaste, true, 'bool',\n 'Show a message in the terminal when the host writes to the clipboard.'],\n\n 'enable-clipboard-write':\n [hterm.PreferenceManager.categories.CopyPaste, true, 'bool',\n 'Allow the host to write directly to the system clipboard.'],\n\n 'enable-dec12':\n [hterm.PreferenceManager.categories.Miscellaneous, false, 'bool',\n 'Respect the host\\'s attempt to change the cursor blink status using ' +\n 'DEC Private Mode 12.'],\n\n 'environment':\n [hterm.PreferenceManager.categories.Miscellaneous, {'TERM': 'xterm-256color'},\n 'value',\n 'The default environment variables, as an object.'],\n\n 'font-family':\n [hterm.PreferenceManager.categories.Appearance,\n '\"DejaVu Sans Mono\", \"Everson Mono\", FreeMono, \"Menlo\", \"Terminal\", ' +\n 'monospace', 'string',\n 'Default font family for the terminal text.'],\n\n 'font-size':\n [hterm.PreferenceManager.categories.Appearance, 15, 'int',\n 'The default font size in pixels.'],\n\n 'font-smoothing':\n [hterm.PreferenceManager.categories.Appearance, 'antialiased', 'string',\n 'CSS font-smoothing property.'],\n\n 'foreground-color':\n [hterm.PreferenceManager.categories.Appearance, 'rgb(240, 240, 240)', 'color',\n 'The foreground color for text with no other color attributes.'],\n\n 'home-keys-scroll':\n [hterm.PreferenceManager.categories.Keyboard, false, 'bool',\n 'If true, home/end will control the terminal scrollbar and shift home/end ' +\n 'will send the VT keycodes. If false then home/end sends VT codes and ' +\n 'shift home/end scrolls.'],\n\n 'keybindings':\n [hterm.PreferenceManager.categories.Keyboard, null, 'value',\n 'A map of key sequence to key actions. Key sequences include zero or ' +\n 'more modifier keys followed by a key code. Key codes can be decimal or ' +\n 'hexadecimal numbers, or a key identifier. Key actions can be specified ' +\n 'a string to send to the host, or an action identifier. For a full ' +\n 'explanation of the format, see https://goo.gl/LWRndr.\\n' +\n '\\n' +\n 'Sample keybindings:\\n' +\n '{\\n' +\n ' \"Ctrl-Alt-K\": \"clearScrollback\",\\n' +\n ' \"Ctrl-Shift-L\": \"PASS\",\\n' +\n ' \"Ctrl-H\": \"\\'HELLO\\\\n\\'\"\\n' +\n '}'],\n\n 'max-string-sequence':\n [hterm.PreferenceManager.categories.Encoding, 100000, 'int',\n 'Max length of a DCS, OSC, PM, or APS sequence before we give up and ' +\n 'ignore the code.'],\n\n 'media-keys-are-fkeys':\n [hterm.PreferenceManager.categories.Keyboard, false, 'bool',\n 'If true, convert media keys to their Fkey equivalent. If false, let ' +\n 'the browser handle the keys.'],\n\n 'meta-sends-escape':\n [hterm.PreferenceManager.categories.Keyboard, true, 'bool',\n 'Set whether the meta key sends a leading escape or not.'],\n\n 'mouse-right-click-paste':\n [hterm.PreferenceManager.categories.CopyPaste, true, 'bool',\n 'Paste on right mouse button clicks.\\n' +\n '\\n' +\n 'This option is activate independent of the \"mouse-paste-button\" ' +\n 'setting.\\n' +\n '\\n' +\n 'Note: This will handle left & right handed mice correctly.'],\n\n 'mouse-paste-button':\n [hterm.PreferenceManager.categories.CopyPaste, null,\n [null, 0, 1, 2, 3, 4, 5, 6],\n 'Mouse paste button, or null to autodetect.\\n' +\n '\\n' +\n 'For autodetect, we\\'ll use the middle mouse button for non-X11 ' +\n 'platforms (including Chrome OS). On X11, we\\'ll use the right mouse ' +\n 'button (since the native window manager should paste via the middle ' +\n 'mouse button).\\n' +\n '\\n' +\n '0 == left (primary) button.\\n' +\n '1 == middle (auxiliary) button.\\n' +\n '2 == right (secondary) button.\\n' +\n '\\n' +\n 'This option is activate independent of the \"mouse-right-click-paste\" ' +\n 'setting.\\n' +\n '\\n' +\n 'Note: This will handle left & right handed mice correctly.'],\n\n 'word-break-match-left':\n [hterm.PreferenceManager.categories.CopyPaste,\n '[^\\\\s\\\\[\\\\](){}<>\"\\'\\\\^!@#$%&*,;:`]', 'string',\n 'Regular expression to halt matching to the left (start) of a selection.\\n' +\n '\\n' +\n 'Normally this is a character class to reject specific characters.\\n' +\n 'We allow \"~\" and \".\" by default as paths frequently start with those.'],\n\n 'word-break-match-right':\n [hterm.PreferenceManager.categories.CopyPaste,\n '[^\\\\s\\\\[\\\\](){}<>\"\\'\\\\^!@#$%&*,;:~.`]', 'string',\n 'Regular expression to halt matching to the right (end) of a selection.\\n' +\n '\\n' +\n 'Normally this is a character class to reject specific characters.'],\n\n 'word-break-match-middle':\n [hterm.PreferenceManager.categories.CopyPaste,\n '[^\\\\s\\\\[\\\\](){}<>\"\\'\\\\^]*', 'string',\n 'Regular expression to match all the characters in the middle.\\n' +\n '\\n' +\n 'Normally this is a character class to reject specific characters.\\n' +\n '\\n' +\n 'Used to expand the selection surrounding the starting point.'],\n\n 'page-keys-scroll':\n [hterm.PreferenceManager.categories.Keyboard, false, 'bool',\n 'If true, page up/down will control the terminal scrollbar and shift ' +\n 'page up/down will send the VT keycodes. If false then page up/down ' +\n 'sends VT codes and shift page up/down scrolls.'],\n\n 'pass-alt-number':\n [hterm.PreferenceManager.categories.Keyboard, null, 'tristate',\n 'Set whether we should pass Alt-1..9 to the browser.\\n' +\n '\\n' +\n 'This is handy when running hterm in a browser tab, so that you don\\'t ' +\n 'lose Chrome\\'s \"switch to tab\" keyboard accelerators. When not running ' +\n 'in a tab it\\'s better to send these keys to the host so they can be ' +\n 'used in vim or emacs.\\n' +\n '\\n' +\n 'If true, Alt-1..9 will be handled by the browser. If false, Alt-1..9 ' +\n 'will be sent to the host. If null, autodetect based on browser platform ' +\n 'and window type.'],\n\n 'pass-ctrl-number':\n [hterm.PreferenceManager.categories.Keyboard, null, 'tristate',\n 'Set whether we should pass Ctrl-1..9 to the browser.\\n' +\n '\\n' +\n 'This is handy when running hterm in a browser tab, so that you don\\'t ' +\n 'lose Chrome\\'s \"switch to tab\" keyboard accelerators. When not running ' +\n 'in a tab it\\'s better to send these keys to the host so they can be ' +\n 'used in vim or emacs.\\n' +\n '\\n' +\n 'If true, Ctrl-1..9 will be handled by the browser. If false, Ctrl-1..9 ' +\n 'will be sent to the host. If null, autodetect based on browser platform ' +\n 'and window type.'],\n\n 'pass-meta-number':\n [hterm.PreferenceManager.categories.Keyboard, null, 'tristate',\n 'Set whether we should pass Meta-1..9 to the browser.\\n' +\n '\\n' +\n 'This is handy when running hterm in a browser tab, so that you don\\'t ' +\n 'lose Chrome\\'s \"switch to tab\" keyboard accelerators. When not running ' +\n 'in a tab it\\'s better to send these keys to the host so they can be ' +\n 'used in vim or emacs.\\n' +\n '\\n' +\n 'If true, Meta-1..9 will be handled by the browser. If false, Meta-1..9 ' +\n 'will be sent to the host. If null, autodetect based on browser platform ' +\n 'and window type.'],\n\n 'pass-meta-v':\n [hterm.PreferenceManager.categories.Keyboard, true, 'bool',\n 'Set whether meta-V gets passed to host.'],\n\n 'receive-encoding':\n [hterm.PreferenceManager.categories.Encoding, 'utf-8', ['utf-8', 'raw'],\n 'Set the expected encoding for data received from the host.\\n' +\n '\\n' +\n 'Valid values are \\'utf-8\\' and \\'raw\\'.'],\n\n 'scroll-on-keystroke':\n [hterm.PreferenceManager.categories.Scrolling, true, 'bool',\n 'If true, scroll to the bottom on any keystroke.'],\n\n 'scroll-on-output':\n [hterm.PreferenceManager.categories.Scrolling, false, 'bool',\n 'If true, scroll to the bottom on terminal output.'],\n\n 'scrollbar-visible':\n [hterm.PreferenceManager.categories.Scrolling, true, 'bool',\n 'The vertical scrollbar mode.'],\n\n 'scroll-wheel-may-send-arrow-keys':\n [hterm.PreferenceManager.categories.Scrolling, false, 'bool',\n 'When using the alternative screen buffer, and DECCKM (Application Cursor ' +\n 'Keys) is active, mouse wheel scroll events will emulate arrow keys.\\n' +\n '\\n' +\n 'It can be temporarily disabled by holding the shift key.\\n' +\n '\\n' +\n 'This frequently comes up when using pagers (less) or reading man pages ' +\n 'or text editors (vi/nano) or using screen/tmux.'],\n\n 'scroll-wheel-move-multiplier':\n [hterm.PreferenceManager.categories.Scrolling, 1, 'int',\n 'The multiplier for the pixel delta in wheel events caused by the ' +\n 'scroll wheel. Alters how fast the page scrolls.'],\n\n 'send-encoding':\n [hterm.PreferenceManager.categories.Encoding, 'utf-8', ['utf-8', 'raw'],\n 'Set the encoding for data sent to host.'],\n\n 'terminal-encoding':\n [hterm.PreferenceManager.categories.Encoding, 'iso-2022',\n ['iso-2022', 'utf-8', 'utf-8-locked'],\n 'The default terminal encoding (DOCS).\\n' +\n '\\n' +\n 'ISO-2022 enables character map translations (like graphics maps).\\n' +\n 'UTF-8 disables support for those.\\n' +\n '\\n' +\n 'The locked variant means the encoding cannot be changed at runtime ' +\n 'via terminal escape sequences.\\n' +\n '\\n' +\n 'You should stick with UTF-8 unless you notice broken rendering with ' +\n 'legacy applications.'],\n\n 'shift-insert-paste':\n [hterm.PreferenceManager.categories.Keyboard, true, 'bool',\n 'Shift + Insert pastes if true, sent to host if false.'],\n\n 'user-css':\n [hterm.PreferenceManager.categories.Appearance, '', 'url',\n 'URL of user stylesheet to include in the terminal document.'],\n\n 'user-css-text':\n [hterm.PreferenceManager.categories.Appearance, '', 'multiline-string',\n 'Custom CSS text for styling the terminal.'],\n};\n\nhterm.PreferenceManager.prototype =\n Object.create(lib.PreferenceManager.prototype);\nhterm.PreferenceManager.constructor = hterm.PreferenceManager;\n// SOURCE FILE: hterm/js/hterm_pubsub.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\n/**\n * Utility class used to add publish/subscribe/unsubscribe functionality to\n * an existing object.\n */\nhterm.PubSub = function() {\n this.observers_ = {};\n};\n\n/**\n * Add publish, subscribe, and unsubscribe methods to an existing object.\n *\n * No other properties of the object are touched, so there is no need to\n * worry about clashing private properties.\n *\n * @param {Object} obj The object to add this behavior to.\n */\nhterm.PubSub.addBehavior = function(obj) {\n var pubsub = new hterm.PubSub();\n for (var m in hterm.PubSub.prototype) {\n obj[m] = hterm.PubSub.prototype[m].bind(pubsub);\n }\n};\n\n/**\n * Subscribe to be notified of messages about a subject.\n *\n * @param {string} subject The subject to subscribe to.\n * @param {function(Object)} callback The function to invoke for notifications.\n */\nhterm.PubSub.prototype.subscribe = function(subject, callback) {\n if (!(subject in this.observers_))\n this.observers_[subject] = [];\n\n this.observers_[subject].push(callback);\n};\n\n/**\n * Unsubscribe from a subject.\n *\n * @param {string} subject The subject to unsubscribe from.\n * @param {function(Object)} callback A callback previously registered via\n * subscribe().\n */\nhterm.PubSub.prototype.unsubscribe = function(subject, callback) {\n var list = this.observers_[subject];\n if (!list)\n throw 'Invalid subject: ' + subject;\n\n var i = list.indexOf(callback);\n if (i < 0)\n throw 'Not subscribed: ' + subject;\n\n list.splice(i, 1);\n};\n\n/**\n * Publish a message about a subject.\n *\n * Subscribers (and the optional final callback) are invoked asynchronously.\n * This method will return before anyone is actually notified.\n *\n * @param {string} subject The subject to publish about.\n * @param {Object} e An arbitrary object associated with this notification.\n * @param {function(Object)} opt_lastCallback An optional function to call after\n * all subscribers have been notified.\n */\nhterm.PubSub.prototype.publish = function(subject, e, opt_lastCallback) {\n function notifyList(i) {\n // Set this timeout before invoking the callback, so we don't have to\n // concern ourselves with exceptions.\n if (i < list.length - 1)\n setTimeout(notifyList, 0, i + 1);\n\n list[i](e);\n }\n\n var list = this.observers_[subject];\n if (list) {\n // Copy the list, in case it changes while we're notifying.\n list = [].concat(list);\n }\n\n if (opt_lastCallback) {\n if (list) {\n list.push(opt_lastCallback);\n } else {\n list = [opt_lastCallback];\n }\n }\n\n if (list)\n setTimeout(notifyList, 0, 0);\n};\n// SOURCE FILE: hterm/js/hterm_screen.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\nlib.rtdep('lib.f', 'lib.wc',\n 'hterm.RowCol', 'hterm.Size', 'hterm.TextAttributes');\n\n/**\n * @fileoverview This class represents a single terminal screen full of text.\n *\n * It maintains the current cursor position and has basic methods for text\n * insert and overwrite, and adding or removing rows from the screen.\n *\n * This class has no knowledge of the scrollback buffer.\n *\n * The number of rows on the screen is determined only by the number of rows\n * that the caller inserts into the screen. If a caller wants to ensure a\n * constant number of rows on the screen, it's their responsibility to remove a\n * row for each row inserted.\n *\n * The screen width, in contrast, is enforced locally.\n *\n *\n * In practice...\n * - The hterm.Terminal class holds two hterm.Screen instances. One for the\n * primary screen and one for the alternate screen.\n *\n * - The html.Screen class only cares that rows are HTMLElements. In the\n * larger context of hterm, however, the rows happen to be displayed by an\n * hterm.ScrollPort and have to follow a few rules as a result. Each\n * row must be rooted by the custom HTML tag 'x-row', and each must have a\n * rowIndex property that corresponds to the index of the row in the context\n * of the scrollback buffer. These invariants are enforced by hterm.Terminal\n * because that is the class using the hterm.Screen in the context of an\n * hterm.ScrollPort.\n */\n\n/**\n * Create a new screen instance.\n *\n * The screen initially has no rows and a maximum column count of 0.\n *\n * @param {integer} opt_columnCount The maximum number of columns for this\n * screen. See insertString() and overwriteString() for information about\n * what happens when too many characters are added too a row. Defaults to\n * 0 if not provided.\n */\nhterm.Screen = function(opt_columnCount) {\n /**\n * Public, read-only access to the rows in this screen.\n */\n this.rowsArray = [];\n\n // The max column width for this screen.\n this.columnCount_ = opt_columnCount || 80;\n\n // The current color, bold, underline and blink attributes.\n this.textAttributes = new hterm.TextAttributes(window.document);\n\n // Current zero-based cursor coordinates.\n this.cursorPosition = new hterm.RowCol(0, 0);\n\n // The node containing the row that the cursor is positioned on.\n this.cursorRowNode_ = null;\n\n // The node containing the span of text that the cursor is positioned on.\n this.cursorNode_ = null;\n\n // The offset in column width into cursorNode_ where the cursor is positioned.\n this.cursorOffset_ = null;\n\n // Regexes for expanding word selections.\n this.wordBreakMatchLeft = null;\n this.wordBreakMatchRight = null;\n this.wordBreakMatchMiddle = null;\n};\n\n/**\n * Return the screen size as an hterm.Size object.\n *\n * @return {hterm.Size} hterm.Size object representing the current number\n * of rows and columns in this screen.\n */\nhterm.Screen.prototype.getSize = function() {\n return new hterm.Size(this.columnCount_, this.rowsArray.length);\n};\n\n/**\n * Return the current number of rows in this screen.\n *\n * @return {integer} The number of rows in this screen.\n */\nhterm.Screen.prototype.getHeight = function() {\n return this.rowsArray.length;\n};\n\n/**\n * Return the current number of columns in this screen.\n *\n * @return {integer} The number of columns in this screen.\n */\nhterm.Screen.prototype.getWidth = function() {\n return this.columnCount_;\n};\n\n/**\n * Set the maximum number of columns per row.\n *\n * @param {integer} count The maximum number of columns per row.\n */\nhterm.Screen.prototype.setColumnCount = function(count) {\n this.columnCount_ = count;\n\n if (this.cursorPosition.column >= count)\n this.setCursorPosition(this.cursorPosition.row, count - 1);\n};\n\n/**\n * Remove the first row from the screen and return it.\n *\n * @return {HTMLElement} The first row in this screen.\n */\nhterm.Screen.prototype.shiftRow = function() {\n return this.shiftRows(1)[0];\n};\n\n/**\n * Remove rows from the top of the screen and return them as an array.\n *\n * @param {integer} count The number of rows to remove.\n * @return {Array.} The selected rows.\n */\nhterm.Screen.prototype.shiftRows = function(count) {\n return this.rowsArray.splice(0, count);\n};\n\n/**\n * Insert a row at the top of the screen.\n *\n * @param {HTMLElement} row The row to insert.\n */\nhterm.Screen.prototype.unshiftRow = function(row) {\n this.rowsArray.splice(0, 0, row);\n};\n\n/**\n * Insert rows at the top of the screen.\n *\n * @param {Array.} rows The rows to insert.\n */\nhterm.Screen.prototype.unshiftRows = function(rows) {\n this.rowsArray.unshift.apply(this.rowsArray, rows);\n};\n\n/**\n * Remove the last row from the screen and return it.\n *\n * @return {HTMLElement} The last row in this screen.\n */\nhterm.Screen.prototype.popRow = function() {\n return this.popRows(1)[0];\n};\n\n/**\n * Remove rows from the bottom of the screen and return them as an array.\n *\n * @param {integer} count The number of rows to remove.\n * @return {Array.} The selected rows.\n */\nhterm.Screen.prototype.popRows = function(count) {\n return this.rowsArray.splice(this.rowsArray.length - count, count);\n};\n\n/**\n * Insert a row at the bottom of the screen.\n *\n * @param {HTMLElement} row The row to insert.\n */\nhterm.Screen.prototype.pushRow = function(row) {\n this.rowsArray.push(row);\n};\n\n/**\n * Insert rows at the bottom of the screen.\n *\n * @param {Array.} rows The rows to insert.\n */\nhterm.Screen.prototype.pushRows = function(rows) {\n rows.push.apply(this.rowsArray, rows);\n};\n\n/**\n * Insert a row at the specified row of the screen.\n *\n * @param {integer} index The index to insert the row.\n * @param {HTMLElement} row The row to insert.\n */\nhterm.Screen.prototype.insertRow = function(index, row) {\n this.rowsArray.splice(index, 0, row);\n};\n\n/**\n * Insert rows at the specified row of the screen.\n *\n * @param {integer} index The index to insert the rows.\n * @param {Array.} rows The rows to insert.\n */\nhterm.Screen.prototype.insertRows = function(index, rows) {\n for (var i = 0; i < rows.length; i++) {\n this.rowsArray.splice(index + i, 0, rows[i]);\n }\n};\n\n/**\n * Remove a row from the screen and return it.\n *\n * @param {integer} index The index of the row to remove.\n * @return {HTMLElement} The selected row.\n */\nhterm.Screen.prototype.removeRow = function(index) {\n return this.rowsArray.splice(index, 1)[0];\n};\n\n/**\n * Remove rows from the bottom of the screen and return them as an array.\n *\n * @param {integer} index The index to start removing rows.\n * @param {integer} count The number of rows to remove.\n * @return {Array.} The selected rows.\n */\nhterm.Screen.prototype.removeRows = function(index, count) {\n return this.rowsArray.splice(index, count);\n};\n\n/**\n * Invalidate the current cursor position.\n *\n * This sets this.cursorPosition to (0, 0) and clears out some internal\n * data.\n *\n * Attempting to insert or overwrite text while the cursor position is invalid\n * will raise an obscure exception.\n */\nhterm.Screen.prototype.invalidateCursorPosition = function() {\n this.cursorPosition.move(0, 0);\n this.cursorRowNode_ = null;\n this.cursorNode_ = null;\n this.cursorOffset_ = null;\n};\n\n/**\n * Clear the contents of the cursor row.\n */\nhterm.Screen.prototype.clearCursorRow = function() {\n this.cursorRowNode_.innerHTML = '';\n this.cursorRowNode_.removeAttribute('line-overflow');\n this.cursorOffset_ = 0;\n this.cursorPosition.column = 0;\n this.cursorPosition.overflow = false;\n\n var text;\n if (this.textAttributes.isDefault()) {\n text = '';\n } else {\n text = lib.f.getWhitespace(this.columnCount_);\n }\n\n // We shouldn't honor inverse colors when clearing an area, to match\n // xterm's back color erase behavior.\n var inverse = this.textAttributes.inverse;\n this.textAttributes.inverse = false;\n this.textAttributes.syncColors();\n\n var node = this.textAttributes.createContainer(text);\n this.cursorRowNode_.appendChild(node);\n this.cursorNode_ = node;\n\n this.textAttributes.inverse = inverse;\n this.textAttributes.syncColors();\n};\n\n/**\n * Mark the current row as having overflowed to the next line.\n *\n * The line overflow state is used when converting a range of rows into text.\n * It makes it possible to recombine two or more overflow terminal rows into\n * a single line.\n *\n * This is distinct from the cursor being in the overflow state. Cursor\n * overflow indicates that printing at the cursor position will commit a\n * line overflow, unless it is preceded by a repositioning of the cursor\n * to a non-overflow state.\n */\nhterm.Screen.prototype.commitLineOverflow = function() {\n this.cursorRowNode_.setAttribute('line-overflow', true);\n};\n\n/**\n * Relocate the cursor to a give row and column.\n *\n * @param {integer} row The zero based row.\n * @param {integer} column The zero based column.\n */\nhterm.Screen.prototype.setCursorPosition = function(row, column) {\n if (!this.rowsArray.length) {\n console.warn('Attempt to set cursor position on empty screen.');\n return;\n }\n\n if (row >= this.rowsArray.length) {\n console.error('Row out of bounds: ' + row);\n row = this.rowsArray.length - 1;\n } else if (row < 0) {\n console.error('Row out of bounds: ' + row);\n row = 0;\n }\n\n if (column >= this.columnCount_) {\n console.error('Column out of bounds: ' + column);\n column = this.columnCount_ - 1;\n } else if (column < 0) {\n console.error('Column out of bounds: ' + column);\n column = 0;\n }\n\n this.cursorPosition.overflow = false;\n\n var rowNode = this.rowsArray[row];\n var node = rowNode.firstChild;\n\n if (!node) {\n node = rowNode.ownerDocument.createTextNode('');\n rowNode.appendChild(node);\n }\n\n var currentColumn = 0;\n\n if (rowNode == this.cursorRowNode_) {\n if (column >= this.cursorPosition.column - this.cursorOffset_) {\n node = this.cursorNode_;\n currentColumn = this.cursorPosition.column - this.cursorOffset_;\n }\n } else {\n this.cursorRowNode_ = rowNode;\n }\n\n this.cursorPosition.move(row, column);\n\n while (node) {\n var offset = column - currentColumn;\n var width = hterm.TextAttributes.nodeWidth(node);\n if (!node.nextSibling || width > offset) {\n this.cursorNode_ = node;\n this.cursorOffset_ = offset;\n return;\n }\n\n currentColumn += width;\n node = node.nextSibling;\n }\n};\n\n/**\n * Set the provided selection object to be a caret selection at the current\n * cursor position.\n */\nhterm.Screen.prototype.syncSelectionCaret = function(selection) {\n try {\n selection.collapse(this.cursorNode_, this.cursorOffset_);\n } catch (firefoxIgnoredException) {\n // FF can throw an exception if the range is off, rather than just not\n // performing the collapse.\n }\n};\n\n/**\n * Split a single node into two nodes at the given offset.\n *\n * For example:\n * Given the DOM fragment '
Hello World
', call splitNode_\n * passing the span and an offset of 6. This would modify the fragment to\n * become: '
Hello World
'. If the span\n * had any attributes they would have been copied to the new span as well.\n *\n * The to-be-split node must have a container, so that the new node can be\n * placed next to it.\n *\n * @param {HTMLNode} node The node to split.\n * @param {integer} offset The offset into the node where the split should\n * occur.\n */\nhterm.Screen.prototype.splitNode_ = function(node, offset) {\n var afterNode = node.cloneNode(false);\n\n var textContent = node.textContent;\n node.textContent = hterm.TextAttributes.nodeSubstr(node, 0, offset);\n afterNode.textContent = lib.wc.substr(textContent, offset);\n\n if (afterNode.textContent)\n node.parentNode.insertBefore(afterNode, node.nextSibling);\n if (!node.textContent)\n node.parentNode.removeChild(node);\n};\n\n/**\n * Ensure that text is clipped and the cursor is clamped to the column count.\n */\nhterm.Screen.prototype.maybeClipCurrentRow = function() {\n var width = hterm.TextAttributes.nodeWidth(this.cursorRowNode_);\n\n if (width <= this.columnCount_) {\n // Current row does not need clipping, but may need clamping.\n if (this.cursorPosition.column >= this.columnCount_) {\n this.setCursorPosition(this.cursorPosition.row, this.columnCount_ - 1);\n this.cursorPosition.overflow = true;\n }\n\n return;\n }\n\n // Save off the current column so we can maybe restore it later.\n var currentColumn = this.cursorPosition.column;\n\n // Move the cursor to the final column.\n this.setCursorPosition(this.cursorPosition.row, this.columnCount_ - 1);\n\n // Remove any text that partially overflows.\n width = hterm.TextAttributes.nodeWidth(this.cursorNode_);\n\n if (this.cursorOffset_ < width - 1) {\n this.cursorNode_.textContent = hterm.TextAttributes.nodeSubstr(\n this.cursorNode_, 0, this.cursorOffset_ + 1);\n }\n\n // Remove all nodes after the cursor.\n var rowNode = this.cursorRowNode_;\n var node = this.cursorNode_.nextSibling;\n\n while (node) {\n rowNode.removeChild(node);\n node = this.cursorNode_.nextSibling;\n }\n\n if (currentColumn < this.columnCount_) {\n // If the cursor was within the screen before we started then restore its\n // position.\n this.setCursorPosition(this.cursorPosition.row, currentColumn);\n } else {\n // Otherwise leave it at the the last column in the overflow state.\n this.cursorPosition.overflow = true;\n }\n};\n\n/**\n * Insert a string at the current character position using the current\n * text attributes.\n *\n * You must call maybeClipCurrentRow() after in order to clip overflowed\n * text and clamp the cursor.\n *\n * It is also up to the caller to properly maintain the line overflow state\n * using hterm.Screen..commitLineOverflow().\n */\nhterm.Screen.prototype.insertString = function(str) {\n var cursorNode = this.cursorNode_;\n var cursorNodeText = cursorNode.textContent;\n\n this.cursorRowNode_.removeAttribute('line-overflow');\n\n // We may alter the width of the string by prepending some missing\n // whitespaces, so we need to record the string width ahead of time.\n var strWidth = lib.wc.strWidth(str);\n\n // No matter what, before this function exits the cursor column will have\n // moved this much.\n this.cursorPosition.column += strWidth;\n\n // Local cache of the cursor offset.\n var offset = this.cursorOffset_;\n\n // Reverse offset is the offset measured from the end of the string.\n // Zero implies that the cursor is at the end of the cursor node.\n var reverseOffset = hterm.TextAttributes.nodeWidth(cursorNode) - offset;\n\n if (reverseOffset < 0) {\n // A negative reverse offset means the cursor is positioned past the end\n // of the characters on this line. We'll need to insert the missing\n // whitespace.\n var ws = lib.f.getWhitespace(-reverseOffset);\n\n // This whitespace should be completely unstyled. Underline, background\n // color, and strikethrough would be visible on whitespace, so we can't use\n // one of those spans to hold the text.\n if (!(this.textAttributes.underline ||\n this.textAttributes.strikethrough ||\n this.textAttributes.background ||\n this.textAttributes.wcNode ||\n !this.textAttributes.asciiNode ||\n this.textAttributes.tileData != null)) {\n // Best case scenario, we can just pretend the spaces were part of the\n // original string.\n str = ws + str;\n } else if (cursorNode.nodeType == 3 ||\n !(cursorNode.wcNode ||\n !cursorNode.asciiNode ||\n cursorNode.tileNode ||\n cursorNode.style.textDecoration ||\n cursorNode.style.backgroundColor)) {\n // Second best case, the current node is able to hold the whitespace.\n cursorNode.textContent = (cursorNodeText += ws);\n } else {\n // Worst case, we have to create a new node to hold the whitespace.\n var wsNode = cursorNode.ownerDocument.createTextNode(ws);\n this.cursorRowNode_.insertBefore(wsNode, cursorNode.nextSibling);\n this.cursorNode_ = cursorNode = wsNode;\n this.cursorOffset_ = offset = -reverseOffset;\n cursorNodeText = ws;\n }\n\n // We now know for sure that we're at the last character of the cursor node.\n reverseOffset = 0;\n }\n\n if (this.textAttributes.matchesContainer(cursorNode)) {\n // The new text can be placed directly in the cursor node.\n if (reverseOffset == 0) {\n cursorNode.textContent = cursorNodeText + str;\n } else if (offset == 0) {\n cursorNode.textContent = str + cursorNodeText;\n } else {\n cursorNode.textContent =\n hterm.TextAttributes.nodeSubstr(cursorNode, 0, offset) +\n str + hterm.TextAttributes.nodeSubstr(cursorNode, offset);\n }\n\n this.cursorOffset_ += strWidth;\n return;\n }\n\n // The cursor node is the wrong style for the new text. If we're at the\n // beginning or end of the cursor node, then the adjacent node is also a\n // potential candidate.\n\n if (offset == 0) {\n // At the beginning of the cursor node, the check the previous sibling.\n var previousSibling = cursorNode.previousSibling;\n if (previousSibling &&\n this.textAttributes.matchesContainer(previousSibling)) {\n previousSibling.textContent += str;\n this.cursorNode_ = previousSibling;\n this.cursorOffset_ = lib.wc.strWidth(previousSibling.textContent);\n return;\n }\n\n var newNode = this.textAttributes.createContainer(str);\n this.cursorRowNode_.insertBefore(newNode, cursorNode);\n this.cursorNode_ = newNode;\n this.cursorOffset_ = strWidth;\n return;\n }\n\n if (reverseOffset == 0) {\n // At the end of the cursor node, the check the next sibling.\n var nextSibling = cursorNode.nextSibling;\n if (nextSibling &&\n this.textAttributes.matchesContainer(nextSibling)) {\n nextSibling.textContent = str + nextSibling.textContent;\n this.cursorNode_ = nextSibling;\n this.cursorOffset_ = lib.wc.strWidth(str);\n return;\n }\n\n var newNode = this.textAttributes.createContainer(str);\n this.cursorRowNode_.insertBefore(newNode, nextSibling);\n this.cursorNode_ = newNode;\n // We specifically need to include any missing whitespace here, since it's\n // going in a new node.\n this.cursorOffset_ = hterm.TextAttributes.nodeWidth(newNode);\n return;\n }\n\n // Worst case, we're somewhere in the middle of the cursor node. We'll\n // have to split it into two nodes and insert our new container in between.\n this.splitNode_(cursorNode, offset);\n var newNode = this.textAttributes.createContainer(str);\n this.cursorRowNode_.insertBefore(newNode, cursorNode.nextSibling);\n this.cursorNode_ = newNode;\n this.cursorOffset_ = strWidth;\n};\n\n/**\n * Overwrite the text at the current cursor position.\n *\n * You must call maybeClipCurrentRow() after in order to clip overflowed\n * text and clamp the cursor.\n *\n * It is also up to the caller to properly maintain the line overflow state\n * using hterm.Screen..commitLineOverflow().\n */\nhterm.Screen.prototype.overwriteString = function(str) {\n var maxLength = this.columnCount_ - this.cursorPosition.column;\n if (!maxLength)\n return [str];\n\n var width = lib.wc.strWidth(str);\n if (this.textAttributes.matchesContainer(this.cursorNode_) &&\n this.cursorNode_.textContent.substr(this.cursorOffset_) == str) {\n // This overwrite would be a no-op, just move the cursor and return.\n this.cursorOffset_ += width;\n this.cursorPosition.column += width;\n return;\n }\n\n this.deleteChars(Math.min(width, maxLength));\n this.insertString(str);\n};\n\n/**\n * Forward-delete one or more characters at the current cursor position.\n *\n * Text to the right of the deleted characters is shifted left. Only affects\n * characters on the same row as the cursor.\n *\n * @param {integer} count The column width of characters to delete. This is\n * clamped to the column width minus the cursor column.\n * @return {integer} The column width of the characters actually deleted.\n */\nhterm.Screen.prototype.deleteChars = function(count) {\n var node = this.cursorNode_;\n var offset = this.cursorOffset_;\n\n var currentCursorColumn = this.cursorPosition.column;\n count = Math.min(count, this.columnCount_ - currentCursorColumn);\n if (!count)\n return 0;\n\n var rv = count;\n var startLength, endLength;\n\n while (node && count) {\n startLength = hterm.TextAttributes.nodeWidth(node);\n node.textContent = hterm.TextAttributes.nodeSubstr(node, 0, offset) +\n hterm.TextAttributes.nodeSubstr(node, offset + count);\n endLength = hterm.TextAttributes.nodeWidth(node);\n count -= startLength - endLength;\n if (offset < startLength && endLength && startLength == endLength) {\n // No characters were deleted when there should be. We're probably trying\n // to delete one column width from a wide character node. We remove the\n // wide character node here and replace it with a single space.\n var spaceNode = this.textAttributes.createContainer(' ');\n node.parentNode.insertBefore(spaceNode, node.nextSibling);\n node.textContent = '';\n endLength = 0;\n count -= 1;\n }\n\n var nextNode = node.nextSibling;\n if (endLength == 0 && node != this.cursorNode_) {\n node.parentNode.removeChild(node);\n }\n node = nextNode;\n offset = 0;\n }\n\n // Remove this.cursorNode_ if it is an empty non-text node.\n if (this.cursorNode_.nodeType != 3 && !this.cursorNode_.textContent) {\n var cursorNode = this.cursorNode_;\n if (cursorNode.previousSibling) {\n this.cursorNode_ = cursorNode.previousSibling;\n this.cursorOffset_ = hterm.TextAttributes.nodeWidth(\n cursorNode.previousSibling);\n } else if (cursorNode.nextSibling) {\n this.cursorNode_ = cursorNode.nextSibling;\n this.cursorOffset_ = 0;\n } else {\n var emptyNode = this.cursorRowNode_.ownerDocument.createTextNode('');\n this.cursorRowNode_.appendChild(emptyNode);\n this.cursorNode_ = emptyNode;\n this.cursorOffset_ = 0;\n }\n this.cursorRowNode_.removeChild(cursorNode);\n }\n\n return rv;\n};\n\n/**\n * Finds first X-ROW of a line containing specified X-ROW.\n * Used to support line overflow.\n *\n * @param {Node} row X-ROW to begin search for first row of line.\n * @return {Node} The X-ROW that is at the beginning of the line.\n **/\nhterm.Screen.prototype.getLineStartRow_ = function(row) {\n while (row.previousSibling &&\n row.previousSibling.hasAttribute('line-overflow')) {\n row = row.previousSibling;\n }\n return row;\n};\n\n/**\n * Gets text of a line beginning with row.\n * Supports line overflow.\n *\n * @param {Node} row First X-ROW of line.\n * @return {string} Text content of line.\n **/\nhterm.Screen.prototype.getLineText_ = function(row) {\n var rowText = \"\";\n while (row) {\n rowText += row.textContent;\n if (row.hasAttribute('line-overflow')) {\n row = row.nextSibling;\n } else {\n break;\n }\n }\n return rowText;\n};\n\n/**\n * Returns X-ROW that is ancestor of the node.\n *\n * @param {Node} node Node to get X-ROW ancestor for.\n * @return {Node} X-ROW ancestor of node, or null if not found.\n **/\nhterm.Screen.prototype.getXRowAncestor_ = function(node) {\n while (node) {\n if (node.nodeName === 'X-ROW')\n break;\n node = node.parentNode;\n }\n return node;\n};\n\n/**\n * Returns position within line of character at offset within node.\n * Supports line overflow.\n *\n * @param {Node} row X-ROW at beginning of line.\n * @param {Node} node Node to get position of.\n * @param {integer} offset Offset into node.\n *\n * @return {integer} Position within line of character at offset within node.\n **/\nhterm.Screen.prototype.getPositionWithOverflow_ = function(row, node, offset) {\n if (!node)\n return -1;\n var ancestorRow = this.getXRowAncestor_(node);\n if (!ancestorRow)\n return -1;\n var position = 0;\n while (ancestorRow != row) {\n position += hterm.TextAttributes.nodeWidth(row);\n if (row.hasAttribute('line-overflow') && row.nextSibling) {\n row = row.nextSibling;\n } else {\n return -1;\n }\n }\n return position + this.getPositionWithinRow_(row, node, offset);\n};\n\n/**\n * Returns position within row of character at offset within node.\n * Does not support line overflow.\n *\n * @param {Node} row X-ROW to get position within.\n * @param {Node} node Node to get position for.\n * @param {integer} offset Offset within node to get position for.\n * @return {integer} Position within row of character at offset within node.\n **/\nhterm.Screen.prototype.getPositionWithinRow_ = function(row, node, offset) {\n if (node.parentNode != row) {\n // If we traversed to the top node, then there's nothing to find here.\n if (node.parentNode == null)\n return -1;\n\n return this.getPositionWithinRow_(node.parentNode, node, offset) +\n this.getPositionWithinRow_(row, node.parentNode, 0);\n }\n var position = 0;\n for (var i = 0; i < row.childNodes.length; i++) {\n var currentNode = row.childNodes[i];\n if (currentNode == node)\n return position + offset;\n position += hterm.TextAttributes.nodeWidth(currentNode);\n }\n return -1;\n};\n\n/**\n * Returns the node and offset corresponding to position within line.\n * Supports line overflow.\n *\n * @param {Node} row X-ROW at beginning of line.\n * @param {integer} position Position within line to retrieve node and offset.\n * @return {Array} Two element array containing node and offset respectively.\n **/\nhterm.Screen.prototype.getNodeAndOffsetWithOverflow_ = function(row, position) {\n while (row && position > hterm.TextAttributes.nodeWidth(row)) {\n if (row.hasAttribute('line-overflow') && row.nextSibling) {\n position -= hterm.TextAttributes.nodeWidth(row);\n row = row.nextSibling;\n } else {\n return -1;\n }\n }\n return this.getNodeAndOffsetWithinRow_(row, position);\n};\n\n/**\n * Returns the node and offset corresponding to position within row.\n * Does not support line overflow.\n *\n * @param {Node} row X-ROW to get position within.\n * @param {integer} position Position within row to retrieve node and offset.\n * @return {Array} Two element array containing node and offset respectively.\n **/\nhterm.Screen.prototype.getNodeAndOffsetWithinRow_ = function(row, position) {\n for (var i = 0; i < row.childNodes.length; i++) {\n var node = row.childNodes[i];\n var nodeTextWidth = hterm.TextAttributes.nodeWidth(node);\n if (position <= nodeTextWidth) {\n if (node.nodeName === 'SPAN') {\n /** Drill down to node contained by SPAN. **/\n return this.getNodeAndOffsetWithinRow_(node, position);\n } else {\n return [node, position];\n }\n }\n position -= nodeTextWidth;\n }\n return null;\n};\n\n/**\n * Returns the node and offset corresponding to position within line.\n * Supports line overflow.\n *\n * @param {Node} row X-ROW at beginning of line.\n * @param {integer} start Start position of range within line.\n * @param {integer} end End position of range within line.\n * @param {Range} range Range to modify.\n **/\nhterm.Screen.prototype.setRange_ = function(row, start, end, range) {\n var startNodeAndOffset = this.getNodeAndOffsetWithOverflow_(row, start);\n if (startNodeAndOffset == null)\n return;\n var endNodeAndOffset = this.getNodeAndOffsetWithOverflow_(row, end);\n if (endNodeAndOffset == null)\n return;\n range.setStart(startNodeAndOffset[0], startNodeAndOffset[1]);\n range.setEnd(endNodeAndOffset[0], endNodeAndOffset[1]);\n};\n\n/**\n * Expands selection to surround URLs.\n *\n * @param {Selection} selection Selection to expand.\n **/\nhterm.Screen.prototype.expandSelection = function(selection) {\n if (!selection)\n return;\n\n var range = selection.getRangeAt(0);\n if (!range || range.toString().match(/\\s/))\n return;\n\n var row = this.getLineStartRow_(this.getXRowAncestor_(range.startContainer));\n if (!row)\n return;\n\n var startPosition = this.getPositionWithOverflow_(row,\n range.startContainer,\n range.startOffset);\n if (startPosition == -1)\n return;\n var endPosition = this.getPositionWithOverflow_(row,\n range.endContainer,\n range.endOffset);\n if (endPosition == -1)\n return;\n\n // Use the user configurable match settings.\n var leftMatch = this.wordBreakMatchLeft;\n var rightMatch = this.wordBreakMatchRight;\n var insideMatch = this.wordBreakMatchMiddle;\n\n //Move start to the left.\n var rowText = this.getLineText_(row);\n var lineUpToRange = lib.wc.substring(rowText, 0, endPosition);\n var leftRegularExpression = new RegExp(leftMatch + insideMatch + \"$\");\n var expandedStart = lineUpToRange.search(leftRegularExpression);\n if (expandedStart == -1 || expandedStart > startPosition)\n return;\n\n //Move end to the right.\n var lineFromRange = lib.wc.substring(rowText, startPosition,\n lib.wc.strWidth(rowText));\n var rightRegularExpression = new RegExp(\"^\" + insideMatch + rightMatch);\n var found = lineFromRange.match(rightRegularExpression);\n if (!found)\n return;\n var expandedEnd = startPosition + lib.wc.strWidth(found[0]);\n if (expandedEnd == -1 || expandedEnd < endPosition)\n return;\n\n this.setRange_(row, expandedStart, expandedEnd, range);\n selection.addRange(range);\n};\n// SOURCE FILE: hterm/js/hterm_scrollport.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\nlib.rtdep('lib.f', 'hterm.PubSub', 'hterm.Size');\n\n/**\n * A 'viewport' view of fixed-height rows with support for selection and\n * copy-to-clipboard.\n *\n * 'Viewport' in this case means that only the visible rows are in the DOM.\n * If the rowProvider has 100,000 rows, but the ScrollPort is only 25 rows\n * tall, then only 25 dom nodes are created. The ScrollPort will ask the\n * RowProvider to create new visible rows on demand as they are scrolled in\n * to the visible area.\n *\n * This viewport is designed so that select and copy-to-clipboard still works,\n * even when all or part of the selection is scrolled off screen.\n *\n * Note that the X11 mouse clipboard does not work properly when all or part\n * of the selection is off screen. It would be difficult to fix this without\n * adding significant overhead to pathologically large selection cases.\n *\n * The RowProvider should return rows rooted by the custom tag name 'x-row'.\n * This ensures that we can quickly assign the correct display height\n * to the rows with css.\n *\n * @param {RowProvider} rowProvider An object capable of providing rows as\n * raw text or row nodes.\n */\nhterm.ScrollPort = function(rowProvider) {\n hterm.PubSub.addBehavior(this);\n\n this.rowProvider_ = rowProvider;\n\n // SWAG the character size until we can measure it.\n this.characterSize = new hterm.Size(10, 10);\n\n // DOM node used for character measurement.\n this.ruler_ = null;\n\n this.selection = new hterm.ScrollPort.Selection(this);\n\n // A map of rowIndex => rowNode for each row that is drawn as part of a\n // pending redraw_() call. Null if there is no pending redraw_ call.\n this.currentRowNodeCache_ = null;\n\n // A map of rowIndex => rowNode for each row that was drawn as part of the\n // previous redraw_() call.\n this.previousRowNodeCache_ = {};\n\n // Used during scroll events to detect when the underlying cause is a resize.\n this.lastScreenWidth_ = null;\n this.lastScreenHeight_ = null;\n\n // True if the user should be allowed to select text in the terminal.\n // This is disabled when the host requests mouse drag events so that we don't\n // end up with two notions of selection.\n this.selectionEnabled_ = true;\n\n // The last row count returned by the row provider, re-populated during\n // syncScrollHeight().\n this.lastRowCount_ = 0;\n\n // The scroll wheel pixel delta multiplier to increase/decrease\n // the scroll speed of mouse wheel events. See: https://goo.gl/sXelnq\n this.scrollWheelMultiplier_ = 1;\n\n // The last touch events we saw to support touch based scrolling. Indexed\n // by touch identifier since we can have more than one touch active.\n this.lastTouch_ = {};\n\n /**\n * True if the last scroll caused the scrollport to show the final row.\n */\n this.isScrolledEnd = true;\n\n /**\n * A guess at the current scrollbar width, fixed in resize().\n */\n this.currentScrollbarWidthPx = 16;\n\n /**\n * Whether the ctrl-v key on the screen should paste.\n */\n this.ctrlVPaste = false;\n\n this.div_ = null;\n this.document_ = null;\n\n // Collection of active timeout handles.\n this.timeouts_ = {};\n\n this.observers_ = {};\n\n this.DEBUG_ = false;\n}\n\n/**\n * Proxy for the native selection object which understands how to walk up the\n * DOM to find the containing row node and sort out which comes first.\n *\n * @param {hterm.ScrollPort} scrollPort The parent hterm.ScrollPort instance.\n */\nhterm.ScrollPort.Selection = function(scrollPort) {\n this.scrollPort_ = scrollPort;\n\n /**\n * The row containing the start of the selection.\n *\n * This may be partially or fully selected. It may be the selection anchor\n * or the focus, but its rowIndex is guaranteed to be less-than-or-equal-to\n * that of the endRow.\n *\n * If only one row is selected then startRow == endRow. If there is no\n * selection or the selection is collapsed then startRow == null.\n */\n this.startRow = null;\n\n /**\n * The row containing the end of the selection.\n *\n * This may be partially or fully selected. It may be the selection anchor\n * or the focus, but its rowIndex is guaranteed to be greater-than-or-equal-to\n * that of the startRow.\n *\n * If only one row is selected then startRow == endRow. If there is no\n * selection or the selection is collapsed then startRow == null.\n */\n this.endRow = null;\n\n /**\n * True if startRow != endRow.\n */\n this.isMultiline = null;\n\n /**\n * True if the selection is just a point rather than a range.\n */\n this.isCollapsed = null;\n};\n\n/**\n * Given a list of DOM nodes and a container, return the DOM node that\n * is first according to a depth-first search.\n *\n * Returns null if none of the children are found.\n */\nhterm.ScrollPort.Selection.prototype.findFirstChild = function(\n parent, childAry) {\n var node = parent.firstChild;\n\n while (node) {\n if (childAry.indexOf(node) != -1)\n return node;\n\n if (node.childNodes.length) {\n var rv = this.findFirstChild(node, childAry);\n if (rv)\n return rv;\n }\n\n node = node.nextSibling;\n }\n\n return null;\n};\n\n/**\n * Synchronize this object with the current DOM selection.\n *\n * This is a one-way synchronization, the DOM selection is copied to this\n * object, not the other way around.\n */\nhterm.ScrollPort.Selection.prototype.sync = function() {\n var self = this;\n\n // The dom selection object has no way to tell which nodes come first in\n // the document, so we have to figure that out.\n //\n // This function is used when we detect that the \"anchor\" node is first.\n function anchorFirst() {\n self.startRow = anchorRow;\n self.startNode = selection.anchorNode;\n self.startOffset = selection.anchorOffset;\n self.endRow = focusRow;\n self.endNode = selection.focusNode;\n self.endOffset = selection.focusOffset;\n }\n\n // This function is used when we detect that the \"focus\" node is first.\n function focusFirst() {\n self.startRow = focusRow;\n self.startNode = selection.focusNode;\n self.startOffset = selection.focusOffset;\n self.endRow = anchorRow;\n self.endNode = selection.anchorNode;\n self.endOffset = selection.anchorOffset;\n }\n\n var selection = this.scrollPort_.getDocument().getSelection();\n\n this.startRow = null;\n this.endRow = null;\n this.isMultiline = null;\n this.isCollapsed = !selection || selection.isCollapsed;\n\n if (this.isCollapsed)\n return;\n\n var anchorRow = selection.anchorNode;\n while (anchorRow && !('rowIndex' in anchorRow)) {\n anchorRow = anchorRow.parentNode;\n }\n\n if (!anchorRow) {\n console.error('Selection anchor is not rooted in a row node: ' +\n selection.anchorNode.nodeName);\n return;\n }\n\n var focusRow = selection.focusNode;\n while (focusRow && !('rowIndex' in focusRow)) {\n focusRow = focusRow.parentNode;\n }\n\n if (!focusRow) {\n console.error('Selection focus is not rooted in a row node: ' +\n selection.focusNode.nodeName);\n return;\n }\n\n if (anchorRow.rowIndex < focusRow.rowIndex) {\n anchorFirst();\n\n } else if (anchorRow.rowIndex > focusRow.rowIndex) {\n focusFirst();\n\n } else if (selection.focusNode == selection.anchorNode) {\n if (selection.anchorOffset < selection.focusOffset) {\n anchorFirst();\n } else {\n focusFirst();\n }\n\n } else {\n // The selection starts and ends in the same row, but isn't contained all\n // in a single node.\n var firstNode = this.findFirstChild(\n anchorRow, [selection.anchorNode, selection.focusNode]);\n\n if (!firstNode)\n throw new Error('Unexpected error syncing selection.');\n\n if (firstNode == selection.anchorNode) {\n anchorFirst();\n } else {\n focusFirst();\n }\n }\n\n this.isMultiline = anchorRow.rowIndex != focusRow.rowIndex;\n};\n\n\n/**\n * Turn a div into this hterm.ScrollPort.\n */\nhterm.ScrollPort.prototype.decorate = function(div) {\n this.div_ = div;\n\n this.iframe_ = div.ownerDocument.createElement('iframe');\n this.iframe_.style.cssText = (\n 'border: 0;' +\n 'height: 100%;' +\n 'position: absolute;' +\n 'width: 100%');\n\n // Set the iframe src to # in FF. Otherwise when the frame's\n // load event fires in FF it clears out the content of the iframe.\n if ('mozInnerScreenX' in window) // detect a FF only property\n this.iframe_.src = '#';\n\n div.appendChild(this.iframe_);\n\n this.iframe_.contentWindow.addEventListener('resize',\n this.onResize_.bind(this));\n\n var doc = this.document_ = this.iframe_.contentDocument;\n doc.body.style.cssText = (\n 'margin: 0px;' +\n 'padding: 0px;' +\n 'height: 100%;' +\n 'width: 100%;' +\n 'overflow: hidden;' +\n 'cursor: var(--hterm-mouse-cursor-style);' +\n '-webkit-user-select: none;' +\n '-moz-user-select: none;');\n\n if (this.DEBUG_) {\n // When we're debugging we add padding to the body so that the offscreen\n // elements are visible.\n this.document_.body.style.paddingTop =\n this.document_.body.style.paddingBottom =\n 'calc(var(--hterm-charsize-height) * 3)';\n }\n\n var style = doc.createElement('style');\n style.textContent = (\n 'x-row {' +\n ' display: block;' +\n ' height: var(--hterm-charsize-height);' +\n ' line-height: var(--hterm-charsize-height);' +\n '}');\n doc.head.appendChild(style);\n\n this.userCssLink_ = doc.createElement('link');\n this.userCssLink_.setAttribute('rel', 'stylesheet');\n\n this.userCssText_ = doc.createElement('style');\n doc.head.appendChild(this.userCssText_);\n\n // TODO(rginda): Sorry, this 'screen_' isn't the same thing as hterm.Screen\n // from screen.js. I need to pick a better name for one of them to avoid\n // the collision.\n // We make this field editable even though we don't actually allow anything\n // to be edited here so that Chrome will do the right thing with virtual\n // keyboards and IMEs. But make sure we turn off all the input helper logic\n // that doesn't make sense here, and might inadvertently mung or save input.\n // Some of these attributes are standard while others are browser specific,\n // but should be safely ignored by other browsers.\n this.screen_ = doc.createElement('x-screen');\n this.screen_.setAttribute('contenteditable', 'true');\n this.screen_.setAttribute('spellcheck', 'false');\n this.screen_.setAttribute('autocomplete', 'off');\n this.screen_.setAttribute('autocorrect', 'off');\n this.screen_.setAttribute('autocaptalize', 'none');\n this.screen_.setAttribute('role', 'textbox');\n this.screen_.setAttribute('tabindex', '-1');\n this.screen_.style.cssText = (\n 'caret-color: transparent;' +\n 'display: block;' +\n 'font-family: monospace;' +\n 'font-size: 15px;' +\n 'font-variant-ligatures: none;' +\n 'height: 100%;' +\n 'overflow-y: scroll; overflow-x: hidden;' +\n 'white-space: pre;' +\n 'width: 100%;' +\n 'outline: none !important');\n\n doc.body.appendChild(this.screen_);\n\n this.screen_.addEventListener('scroll', this.onScroll_.bind(this));\n this.screen_.addEventListener('wheel', this.onScrollWheel_.bind(this));\n this.screen_.addEventListener('touchstart', this.onTouch_.bind(this));\n this.screen_.addEventListener('touchmove', this.onTouch_.bind(this));\n this.screen_.addEventListener('touchend', this.onTouch_.bind(this));\n this.screen_.addEventListener('touchcancel', this.onTouch_.bind(this));\n this.screen_.addEventListener('copy', this.onCopy_.bind(this));\n this.screen_.addEventListener('paste', this.onPaste_.bind(this));\n // Disable drag & drop of text/content. We don't handle it at all (yet?),\n // and the default behavior just confuses hterm.\n this.screen_.addEventListener('drop', function(e) {\n e.preventDefault();\n return false;\n });\n\n doc.body.addEventListener('keydown', this.onBodyKeyDown_.bind(this));\n\n // This is the main container for the fixed rows.\n this.rowNodes_ = doc.createElement('div');\n this.rowNodes_.id = 'hterm:row-nodes';\n this.rowNodes_.style.cssText = (\n 'display: block;' +\n 'position: fixed;' +\n 'overflow: hidden;' +\n '-webkit-user-select: text;' +\n '-moz-user-select: text;');\n this.screen_.appendChild(this.rowNodes_);\n\n // Two nodes to hold offscreen text during the copy event.\n this.topSelectBag_ = doc.createElement('x-select-bag');\n this.topSelectBag_.style.cssText = (\n 'display: block;' +\n 'overflow: hidden;' +\n 'height: var(--hterm-charsize-height);' +\n 'white-space: pre;');\n\n this.bottomSelectBag_ = this.topSelectBag_.cloneNode();\n\n // Nodes above the top fold and below the bottom fold are hidden. They are\n // only used to hold rows that are part of the selection but are currently\n // scrolled off the top or bottom of the visible range.\n this.topFold_ = doc.createElement('x-fold');\n this.topFold_.id = 'hterm:top-fold-for-row-selection';\n this.topFold_.style.cssText = 'display: block;';\n this.rowNodes_.appendChild(this.topFold_);\n\n this.bottomFold_ = this.topFold_.cloneNode();\n this.bottomFold_.id = 'hterm:bottom-fold-for-row-selection';\n this.rowNodes_.appendChild(this.bottomFold_);\n\n // This hidden div accounts for the vertical space that would be consumed by\n // all the rows in the buffer if they were visible. It's what causes the\n // scrollbar to appear on the 'x-screen', and it moves within the screen when\n // the scrollbar is moved.\n //\n // It is set 'visibility: hidden' to keep the browser from trying to include\n // it in the selection when a user 'drag selects' upwards (drag the mouse to\n // select and scroll at the same time). Without this, the selection gets\n // out of whack.\n this.scrollArea_ = doc.createElement('div');\n this.scrollArea_.id = 'hterm:scrollarea';\n this.scrollArea_.style.cssText = 'visibility: hidden';\n this.screen_.appendChild(this.scrollArea_);\n\n // This svg element is used to detect when the browser is zoomed. It must be\n // placed in the outermost document for currentScale to be correct.\n // TODO(rginda): This means that hterm nested in an iframe will not correctly\n // detect browser zoom level. We should come up with a better solution.\n // Note: This must be http:// else Chrome cannot create the element correctly.\n var xmlns = 'http://www.w3.org/2000/svg';\n this.svg_ = this.div_.ownerDocument.createElementNS(xmlns, 'svg');\n this.svg_.id = 'hterm:zoom-detector';\n this.svg_.setAttribute('xmlns', xmlns);\n this.svg_.setAttribute('version', '1.1');\n this.svg_.style.cssText = (\n 'position: absolute;' +\n 'top: 0;' +\n 'left: 0;' +\n 'visibility: hidden');\n\n\n // We send focus to this element just before a paste happens, so we can\n // capture the pasted text and forward it on to someone who cares.\n this.pasteTarget_ = doc.createElement('textarea');\n this.pasteTarget_.id = 'hterm:ctrl-v-paste-target';\n this.pasteTarget_.setAttribute('tabindex', '-1');\n this.pasteTarget_.style.cssText = (\n 'position: absolute;' +\n 'height: 1px;' +\n 'width: 1px;' +\n 'left: 0px; ' +\n 'bottom: 0px;' +\n 'opacity: 0');\n this.pasteTarget_.contentEditable = true;\n\n this.screen_.appendChild(this.pasteTarget_);\n this.pasteTarget_.addEventListener(\n 'textInput', this.handlePasteTargetTextInput_.bind(this));\n\n this.resize();\n};\n\n/**\n * Select the font-family and font-smoothing for this scrollport.\n *\n * @param {string} fontFamily Value of the CSS 'font-family' to use for this\n * scrollport. Should be a monospace font.\n * @param {string} opt_smoothing Optional value for '-webkit-font-smoothing'.\n * Defaults to an empty string if not specified.\n */\nhterm.ScrollPort.prototype.setFontFamily = function(fontFamily, opt_smoothing) {\n this.screen_.style.fontFamily = fontFamily;\n if (opt_smoothing) {\n this.screen_.style.webkitFontSmoothing = opt_smoothing;\n } else {\n this.screen_.style.webkitFontSmoothing = '';\n }\n\n this.syncCharacterSize();\n};\n\nhterm.ScrollPort.prototype.getFontFamily = function() {\n return this.screen_.style.fontFamily;\n};\n\n/**\n * Set a custom stylesheet to include in the scrollport.\n *\n * Defaults to null, meaning no custom css is loaded. Set it back to null or\n * the empty string to remove a previously applied custom css.\n */\nhterm.ScrollPort.prototype.setUserCssUrl = function(url) {\n if (url) {\n this.userCssLink_.setAttribute('href', url);\n\n if (!this.userCssLink_.parentNode)\n this.document_.head.appendChild(this.userCssLink_);\n } else if (this.userCssLink_.parentNode) {\n this.document_.head.removeChild(this.userCssLink_);\n }\n};\n\nhterm.ScrollPort.prototype.setUserCssText = function(text) {\n this.userCssText_.textContent = text;\n};\n\nhterm.ScrollPort.prototype.focus = function() {\n this.iframe_.focus();\n this.screen_.focus();\n};\n\nhterm.ScrollPort.prototype.getForegroundColor = function() {\n return this.screen_.style.color;\n};\n\nhterm.ScrollPort.prototype.setForegroundColor = function(color) {\n this.screen_.style.color = color;\n};\n\nhterm.ScrollPort.prototype.getBackgroundColor = function() {\n return this.screen_.style.backgroundColor;\n};\n\nhterm.ScrollPort.prototype.setBackgroundColor = function(color) {\n this.screen_.style.backgroundColor = color;\n};\n\nhterm.ScrollPort.prototype.setBackgroundImage = function(image) {\n this.screen_.style.backgroundImage = image;\n};\n\nhterm.ScrollPort.prototype.setBackgroundSize = function(size) {\n this.screen_.style.backgroundSize = size;\n};\n\nhterm.ScrollPort.prototype.setBackgroundPosition = function(position) {\n this.screen_.style.backgroundPosition = position;\n};\n\nhterm.ScrollPort.prototype.setCtrlVPaste = function(ctrlVPaste) {\n this.ctrlVPaste = ctrlVPaste;\n};\n\n/**\n * Get the usable size of the scrollport screen.\n *\n * The width will not include the scrollbar width.\n */\nhterm.ScrollPort.prototype.getScreenSize = function() {\n var size = hterm.getClientSize(this.screen_);\n return {\n height: size.height,\n width: size.width - this.currentScrollbarWidthPx\n };\n};\n\n/**\n * Get the usable width of the scrollport screen.\n *\n * This the widget width minus scrollbar width.\n */\nhterm.ScrollPort.prototype.getScreenWidth = function() {\n return this.getScreenSize().width ;\n};\n\n/**\n * Get the usable height of the scrollport screen.\n */\nhterm.ScrollPort.prototype.getScreenHeight = function() {\n return this.getScreenSize().height;\n};\n\n/**\n * Return the document that holds the visible rows of this hterm.ScrollPort.\n */\nhterm.ScrollPort.prototype.getDocument = function() {\n return this.document_;\n};\n\n/**\n * Returns the x-screen element that holds the rows of this hterm.ScrollPort.\n */\nhterm.ScrollPort.prototype.getScreenNode = function() {\n return this.screen_;\n};\n\n/**\n * Clear out any cached rowNodes.\n */\nhterm.ScrollPort.prototype.resetCache = function() {\n this.currentRowNodeCache_ = null;\n this.previousRowNodeCache_ = {};\n};\n\n/**\n * Change the current rowProvider.\n *\n * This will clear the row cache and cause a redraw.\n *\n * @param {Object} rowProvider An object capable of providing the rows\n * in this hterm.ScrollPort.\n */\nhterm.ScrollPort.prototype.setRowProvider = function(rowProvider) {\n this.resetCache();\n this.rowProvider_ = rowProvider;\n this.scheduleRedraw();\n};\n\n/**\n * Inform the ScrollPort that the root DOM nodes for some or all of the visible\n * rows are no longer valid.\n *\n * Specifically, this should be called if this.rowProvider_.getRowNode() now\n * returns an entirely different node than it did before. It does not\n * need to be called if the content of a row node is the only thing that\n * changed.\n *\n * This skips some of the overhead of a full redraw, but should not be used\n * in cases where the scrollport has been scrolled, or when the row count has\n * changed.\n */\nhterm.ScrollPort.prototype.invalidate = function() {\n var node = this.topFold_.nextSibling;\n while (node != this.bottomFold_) {\n var nextSibling = node.nextSibling;\n node.parentElement.removeChild(node);\n node = nextSibling;\n }\n\n this.previousRowNodeCache_ = null;\n var topRowIndex = this.getTopRowIndex();\n var bottomRowIndex = this.getBottomRowIndex(topRowIndex);\n\n this.drawVisibleRows_(topRowIndex, bottomRowIndex);\n};\n\nhterm.ScrollPort.prototype.scheduleInvalidate = function() {\n if (this.timeouts_.invalidate)\n return;\n\n var self = this;\n this.timeouts_.invalidate = setTimeout(function () {\n delete self.timeouts_.invalidate;\n self.invalidate();\n }, 0);\n};\n\n/**\n * Set the font size of the ScrollPort.\n */\nhterm.ScrollPort.prototype.setFontSize = function(px) {\n this.screen_.style.fontSize = px + 'px';\n this.syncCharacterSize();\n};\n\n/**\n * Return the current font size of the ScrollPort.\n */\nhterm.ScrollPort.prototype.getFontSize = function() {\n return parseInt(this.screen_.style.fontSize);\n};\n\n/**\n * Measure the size of a single character in pixels.\n *\n * @param {string} opt_weight The font weight to measure, or 'normal' if\n * omitted.\n * @return {hterm.Size} A new hterm.Size object.\n */\nhterm.ScrollPort.prototype.measureCharacterSize = function(opt_weight) {\n // Number of lines used to average the height of a single character.\n var numberOfLines = 100;\n // Number of chars per line used to average the width of a single character.\n var lineLength = 100;\n\n if (!this.ruler_) {\n this.ruler_ = this.document_.createElement('div');\n this.ruler_.id = 'hterm:ruler-character-size';\n this.ruler_.style.cssText = (\n 'position: absolute;' +\n 'top: 0;' +\n 'left: 0;' +\n 'visibility: hidden;' +\n 'height: auto !important;' +\n 'width: auto !important;');\n\n // We need to put the text in a span to make the size calculation\n // work properly in Firefox\n this.rulerSpan_ = this.document_.createElement('span');\n this.rulerSpan_.id = 'hterm:ruler-span-workaround';\n this.rulerSpan_.innerHTML =\n ('X'.repeat(lineLength) + '\\r').repeat(numberOfLines);\n this.ruler_.appendChild(this.rulerSpan_);\n\n this.rulerBaseline_ = this.document_.createElement('span');\n this.rulerSpan_.id = 'hterm:ruler-baseline';\n // We want to collapse it on the baseline\n this.rulerBaseline_.style.fontSize = '0px';\n this.rulerBaseline_.textContent = 'X';\n }\n\n this.rulerSpan_.style.fontWeight = opt_weight || '';\n\n this.rowNodes_.appendChild(this.ruler_);\n var rulerSize = hterm.getClientSize(this.rulerSpan_);\n\n var size = new hterm.Size(rulerSize.width / lineLength,\n rulerSize.height / numberOfLines);\n\n this.ruler_.appendChild(this.rulerBaseline_);\n size.baseline = this.rulerBaseline_.offsetTop;\n this.ruler_.removeChild(this.rulerBaseline_);\n\n this.rowNodes_.removeChild(this.ruler_);\n\n this.div_.ownerDocument.body.appendChild(this.svg_);\n size.zoomFactor = this.svg_.currentScale;\n this.div_.ownerDocument.body.removeChild(this.svg_);\n\n return size;\n};\n\n/**\n * Synchronize the character size.\n *\n * This will re-measure the current character size and adjust the height\n * of an x-row to match.\n */\nhterm.ScrollPort.prototype.syncCharacterSize = function() {\n this.characterSize = this.measureCharacterSize();\n\n this.resize();\n};\n\n/**\n * Reset dimensions and visible row count to account for a change in the\n * dimensions of the 'x-screen'.\n */\nhterm.ScrollPort.prototype.resize = function() {\n this.currentScrollbarWidthPx = hterm.getClientWidth(this.screen_) -\n this.screen_.clientWidth;\n\n this.syncScrollHeight();\n this.syncRowNodesDimensions_();\n\n var self = this;\n this.publish(\n 'resize', { scrollPort: this },\n function() {\n self.scrollRowToBottom(self.rowProvider_.getRowCount());\n self.scheduleRedraw();\n });\n};\n\n/**\n * Set the position and size of the row nodes element.\n */\nhterm.ScrollPort.prototype.syncRowNodesDimensions_ = function() {\n var screenSize = this.getScreenSize();\n\n this.lastScreenWidth_ = screenSize.width;\n this.lastScreenHeight_ = screenSize.height;\n\n // We don't want to show a partial row because it would be distracting\n // in a terminal, so we floor any fractional row count.\n this.visibleRowCount = lib.f.smartFloorDivide(\n screenSize.height, this.characterSize.height);\n\n // Then compute the height of our integral number of rows.\n var visibleRowsHeight = this.visibleRowCount * this.characterSize.height;\n\n // Then the difference between the screen height and total row height needs to\n // be made up for as top margin. We need to record this value so it\n // can be used later to determine the topRowIndex.\n this.visibleRowTopMargin = 0;\n this.visibleRowBottomMargin = screenSize.height - visibleRowsHeight;\n\n this.topFold_.style.marginBottom = this.visibleRowTopMargin + 'px';\n\n\n var topFoldOffset = 0;\n var node = this.topFold_.previousSibling;\n while (node) {\n topFoldOffset += hterm.getClientHeight(node);\n node = node.previousSibling;\n }\n\n // Set the dimensions of the visible rows container.\n this.rowNodes_.style.width = screenSize.width + 'px';\n this.rowNodes_.style.height = visibleRowsHeight + topFoldOffset + 'px';\n this.rowNodes_.style.left = this.screen_.offsetLeft + 'px';\n this.rowNodes_.style.top = this.screen_.offsetTop - topFoldOffset + 'px';\n};\n\nhterm.ScrollPort.prototype.syncScrollHeight = function() {\n // Resize the scroll area to appear as though it contains every row.\n this.lastRowCount_ = this.rowProvider_.getRowCount();\n this.scrollArea_.style.height = (this.characterSize.height *\n this.lastRowCount_ +\n this.visibleRowTopMargin +\n this.visibleRowBottomMargin +\n 'px');\n};\n\n/**\n * Schedule a redraw to happen asynchronously.\n *\n * If this method is called multiple times before the redraw has a chance to\n * run only one redraw occurs.\n */\nhterm.ScrollPort.prototype.scheduleRedraw = function() {\n if (this.timeouts_.redraw)\n return;\n\n var self = this;\n this.timeouts_.redraw = setTimeout(function () {\n delete self.timeouts_.redraw;\n self.redraw_();\n }, 0);\n};\n\n/**\n * Redraw the current hterm.ScrollPort based on the current scrollbar position.\n *\n * When redrawing, we are careful to make sure that the rows that start or end\n * the current selection are not touched in any way. Doing so would disturb\n * the selection, and cleaning up after that would cause flashes at best and\n * incorrect selection at worst. Instead, we modify the DOM around these nodes.\n * We even stash the selection start/end outside of the visible area if\n * they are not supposed to be visible in the hterm.ScrollPort.\n */\nhterm.ScrollPort.prototype.redraw_ = function() {\n this.resetSelectBags_();\n this.selection.sync();\n\n this.syncScrollHeight();\n\n this.currentRowNodeCache_ = {};\n\n var topRowIndex = this.getTopRowIndex();\n var bottomRowIndex = this.getBottomRowIndex(topRowIndex);\n\n this.drawTopFold_(topRowIndex);\n this.drawBottomFold_(bottomRowIndex);\n this.drawVisibleRows_(topRowIndex, bottomRowIndex);\n\n this.syncRowNodesDimensions_();\n\n this.previousRowNodeCache_ = this.currentRowNodeCache_;\n this.currentRowNodeCache_ = null;\n\n this.isScrolledEnd = (\n this.getTopRowIndex() + this.visibleRowCount >= this.lastRowCount_);\n};\n\n/**\n * Ensure that the nodes above the top fold are as they should be.\n *\n * If the selection start and/or end nodes are above the visible range\n * of this hterm.ScrollPort then the dom will be adjusted so that they appear\n * before the top fold (the first x-fold element, aka this.topFold).\n *\n * If not, the top fold will be the first element.\n *\n * It is critical that this method does not move the selection nodes. Doing\n * so would clear the current selection. Instead, the rest of the DOM is\n * adjusted around them.\n */\nhterm.ScrollPort.prototype.drawTopFold_ = function(topRowIndex) {\n if (!this.selection.startRow ||\n this.selection.startRow.rowIndex >= topRowIndex) {\n // Selection is entirely below the top fold, just make sure the fold is\n // the first child.\n if (this.rowNodes_.firstChild != this.topFold_)\n this.rowNodes_.insertBefore(this.topFold_, this.rowNodes_.firstChild);\n\n return;\n }\n\n if (!this.selection.isMultiline ||\n this.selection.endRow.rowIndex >= topRowIndex) {\n // Only the startRow is above the fold.\n if (this.selection.startRow.nextSibling != this.topFold_)\n this.rowNodes_.insertBefore(this.topFold_,\n this.selection.startRow.nextSibling);\n } else {\n // Both rows are above the fold.\n if (this.selection.endRow.nextSibling != this.topFold_) {\n this.rowNodes_.insertBefore(this.topFold_,\n this.selection.endRow.nextSibling);\n }\n\n // Trim any intermediate lines.\n while (this.selection.startRow.nextSibling !=\n this.selection.endRow) {\n this.rowNodes_.removeChild(this.selection.startRow.nextSibling);\n }\n }\n\n while(this.rowNodes_.firstChild != this.selection.startRow) {\n this.rowNodes_.removeChild(this.rowNodes_.firstChild);\n }\n};\n\n/**\n * Ensure that the nodes below the bottom fold are as they should be.\n *\n * If the selection start and/or end nodes are below the visible range\n * of this hterm.ScrollPort then the dom will be adjusted so that they appear\n * after the bottom fold (the second x-fold element, aka this.bottomFold).\n *\n * If not, the bottom fold will be the last element.\n *\n * It is critical that this method does not move the selection nodes. Doing\n * so would clear the current selection. Instead, the rest of the DOM is\n * adjusted around them.\n */\nhterm.ScrollPort.prototype.drawBottomFold_ = function(bottomRowIndex) {\n if (!this.selection.endRow ||\n this.selection.endRow.rowIndex <= bottomRowIndex) {\n // Selection is entirely above the bottom fold, just make sure the fold is\n // the last child.\n if (this.rowNodes_.lastChild != this.bottomFold_)\n this.rowNodes_.appendChild(this.bottomFold_);\n\n return;\n }\n\n if (!this.selection.isMultiline ||\n this.selection.startRow.rowIndex <= bottomRowIndex) {\n // Only the endRow is below the fold.\n if (this.bottomFold_.nextSibling != this.selection.endRow)\n this.rowNodes_.insertBefore(this.bottomFold_,\n this.selection.endRow);\n } else {\n // Both rows are below the fold.\n if (this.bottomFold_.nextSibling != this.selection.startRow) {\n this.rowNodes_.insertBefore(this.bottomFold_,\n this.selection.startRow);\n }\n\n // Trim any intermediate lines.\n while (this.selection.startRow.nextSibling !=\n this.selection.endRow) {\n this.rowNodes_.removeChild(this.selection.startRow.nextSibling);\n }\n }\n\n while(this.rowNodes_.lastChild != this.selection.endRow) {\n this.rowNodes_.removeChild(this.rowNodes_.lastChild);\n }\n};\n\n/**\n * Ensure that the rows between the top and bottom folds are as they should be.\n *\n * This method assumes that drawTopFold_() and drawBottomFold_() have already\n * run, and that they have left any visible selection row (selection start\n * or selection end) between the folds.\n *\n * It recycles DOM nodes from the previous redraw where possible, but will ask\n * the rowSource to make new nodes if necessary.\n *\n * It is critical that this method does not move the selection nodes. Doing\n * so would clear the current selection. Instead, the rest of the DOM is\n * adjusted around them.\n */\nhterm.ScrollPort.prototype.drawVisibleRows_ = function(\n topRowIndex, bottomRowIndex) {\n var self = this;\n\n // Keep removing nodes, starting with currentNode, until we encounter\n // targetNode. Throws on failure.\n function removeUntilNode(currentNode, targetNode) {\n while (currentNode != targetNode) {\n if (!currentNode)\n throw 'Did not encounter target node';\n\n if (currentNode == self.bottomFold_)\n throw 'Encountered bottom fold before target node';\n\n var deadNode = currentNode;\n currentNode = currentNode.nextSibling;\n deadNode.parentNode.removeChild(deadNode);\n }\n }\n\n // Shorthand for things we're going to use a lot.\n var selectionStartRow = this.selection.startRow;\n var selectionEndRow = this.selection.endRow;\n var bottomFold = this.bottomFold_;\n\n // The node we're examining during the current iteration.\n var node = this.topFold_.nextSibling;\n\n var targetDrawCount = Math.min(this.visibleRowCount,\n this.rowProvider_.getRowCount());\n\n for (var drawCount = 0; drawCount < targetDrawCount; drawCount++) {\n var rowIndex = topRowIndex + drawCount;\n\n if (node == bottomFold) {\n // We've hit the bottom fold, we need to insert a new row.\n var newNode = this.fetchRowNode_(rowIndex);\n if (!newNode) {\n console.log(\"Couldn't fetch row index: \" + rowIndex);\n break;\n }\n\n this.rowNodes_.insertBefore(newNode, node);\n continue;\n }\n\n if (node.rowIndex == rowIndex) {\n // This node is in the right place, move along.\n node = node.nextSibling;\n continue;\n }\n\n if (selectionStartRow && selectionStartRow.rowIndex == rowIndex) {\n // The selection start row is supposed to be here, remove nodes until\n // we find it.\n removeUntilNode(node, selectionStartRow);\n node = selectionStartRow.nextSibling;\n continue;\n }\n\n if (selectionEndRow && selectionEndRow.rowIndex == rowIndex) {\n // The selection end row is supposed to be here, remove nodes until\n // we find it.\n removeUntilNode(node, selectionEndRow);\n node = selectionEndRow.nextSibling;\n continue;\n }\n\n if (node == selectionStartRow || node == selectionEndRow) {\n // We encountered the start/end of the selection, but we don't want it\n // yet. Insert a new row instead.\n var newNode = this.fetchRowNode_(rowIndex);\n if (!newNode) {\n console.log(\"Couldn't fetch row index: \" + rowIndex);\n break;\n }\n\n this.rowNodes_.insertBefore(newNode, node);\n continue;\n }\n\n // There is nothing special about this node, but it's in our way. Replace\n // it with the node that should be here.\n var newNode = this.fetchRowNode_(rowIndex);\n if (!newNode) {\n console.log(\"Couldn't fetch row index: \" + rowIndex);\n break;\n }\n\n if (node == newNode) {\n node = node.nextSibling;\n continue;\n }\n\n this.rowNodes_.insertBefore(newNode, node);\n if (!newNode.nextSibling)\n debugger;\n this.rowNodes_.removeChild(node);\n node = newNode.nextSibling;\n }\n\n if (node != this.bottomFold_)\n removeUntilNode(node, bottomFold);\n};\n\n/**\n * Empty out both select bags and remove them from the document.\n *\n * These nodes hold the text between the start and end of the selection\n * when that text is otherwise off screen. They are filled out in the\n * onCopy_ event.\n */\nhterm.ScrollPort.prototype.resetSelectBags_ = function() {\n if (this.topSelectBag_.parentNode) {\n this.topSelectBag_.textContent = '';\n this.topSelectBag_.parentNode.removeChild(this.topSelectBag_);\n }\n\n if (this.bottomSelectBag_.parentNode) {\n this.bottomSelectBag_.textContent = '';\n this.bottomSelectBag_.parentNode.removeChild(this.bottomSelectBag_);\n }\n};\n\n/**\n * Place a row node in the cache of visible nodes.\n *\n * This method may only be used during a redraw_.\n */\nhterm.ScrollPort.prototype.cacheRowNode_ = function(rowNode) {\n this.currentRowNodeCache_[rowNode.rowIndex] = rowNode;\n};\n\n/**\n * Fetch the row node for the given index.\n *\n * This will return a node from the cache if possible, or will request one\n * from the RowProvider if not.\n *\n * If a redraw_ is in progress the row will be added to the current cache.\n */\nhterm.ScrollPort.prototype.fetchRowNode_ = function(rowIndex) {\n var node;\n\n if (this.previousRowNodeCache_ && rowIndex in this.previousRowNodeCache_) {\n node = this.previousRowNodeCache_[rowIndex];\n } else {\n node = this.rowProvider_.getRowNode(rowIndex);\n }\n\n if (this.currentRowNodeCache_)\n this.cacheRowNode_(node);\n\n return node;\n};\n\n/**\n * Select all rows in the viewport.\n */\nhterm.ScrollPort.prototype.selectAll = function() {\n var firstRow;\n\n if (this.topFold_.nextSibling.rowIndex != 0) {\n while (this.topFold_.previousSibling) {\n this.rowNodes_.removeChild(this.topFold_.previousSibling);\n }\n\n firstRow = this.fetchRowNode_(0);\n this.rowNodes_.insertBefore(firstRow, this.topFold_);\n this.syncRowNodesDimensions_();\n } else {\n firstRow = this.topFold_.nextSibling;\n }\n\n var lastRowIndex = this.rowProvider_.getRowCount() - 1;\n var lastRow;\n\n if (this.bottomFold_.previousSibling.rowIndex != lastRowIndex) {\n while (this.bottomFold_.nextSibling) {\n this.rowNodes_.removeChild(this.bottomFold_.nextSibling);\n }\n\n lastRow = this.fetchRowNode_(lastRowIndex);\n this.rowNodes_.appendChild(lastRow);\n } else {\n lastRow = this.bottomFold_.previousSibling.rowIndex;\n }\n\n var selection = this.document_.getSelection();\n selection.collapse(firstRow, 0);\n selection.extend(lastRow, lastRow.childNodes.length);\n\n this.selection.sync();\n};\n\n/**\n * Return the maximum scroll position in pixels.\n */\nhterm.ScrollPort.prototype.getScrollMax_ = function(e) {\n return (hterm.getClientHeight(this.scrollArea_) +\n this.visibleRowTopMargin + this.visibleRowBottomMargin -\n hterm.getClientHeight(this.screen_));\n};\n\n/**\n * Scroll the given rowIndex to the top of the hterm.ScrollPort.\n *\n * @param {integer} rowIndex Index of the target row.\n */\nhterm.ScrollPort.prototype.scrollRowToTop = function(rowIndex) {\n this.syncScrollHeight();\n\n this.isScrolledEnd = (\n rowIndex + this.visibleRowCount >= this.lastRowCount_);\n\n var scrollTop = rowIndex * this.characterSize.height +\n this.visibleRowTopMargin;\n\n var scrollMax = this.getScrollMax_();\n if (scrollTop > scrollMax)\n scrollTop = scrollMax;\n\n if (this.screen_.scrollTop == scrollTop)\n return;\n\n this.screen_.scrollTop = scrollTop;\n this.scheduleRedraw();\n};\n\n/**\n * Scroll the given rowIndex to the bottom of the hterm.ScrollPort.\n *\n * @param {integer} rowIndex Index of the target row.\n */\nhterm.ScrollPort.prototype.scrollRowToBottom = function(rowIndex) {\n this.syncScrollHeight();\n\n this.isScrolledEnd = (\n rowIndex + this.visibleRowCount >= this.lastRowCount_);\n\n var scrollTop = rowIndex * this.characterSize.height +\n this.visibleRowTopMargin + this.visibleRowBottomMargin;\n scrollTop -= this.visibleRowCount * this.characterSize.height;\n\n if (scrollTop < 0)\n scrollTop = 0;\n\n if (this.screen_.scrollTop == scrollTop)\n return;\n\n this.screen_.scrollTop = scrollTop;\n};\n\n/**\n * Return the row index of the first visible row.\n *\n * This is based on the scroll position. If a redraw_ is in progress this\n * returns the row that *should* be at the top.\n */\nhterm.ScrollPort.prototype.getTopRowIndex = function() {\n return Math.round(this.screen_.scrollTop / this.characterSize.height);\n};\n\n/**\n * Return the row index of the last visible row.\n *\n * This is based on the scroll position. If a redraw_ is in progress this\n * returns the row that *should* be at the bottom.\n */\nhterm.ScrollPort.prototype.getBottomRowIndex = function(topRowIndex) {\n return topRowIndex + this.visibleRowCount - 1;\n};\n\n/**\n * Handler for scroll events.\n *\n * The onScroll event fires when scrollArea's scrollTop property changes. This\n * may be due to the user manually move the scrollbar, or a programmatic change.\n */\nhterm.ScrollPort.prototype.onScroll_ = function(e) {\n var screenSize = this.getScreenSize();\n if (screenSize.width != this.lastScreenWidth_ ||\n screenSize.height != this.lastScreenHeight_) {\n // This event may also fire during a resize (but before the resize event!).\n // This happens when the browser moves the scrollbar as part of the resize.\n // In these cases, we want to ignore the scroll event and let onResize\n // handle things. If we don't, then we end up scrolling to the wrong\n // position after a resize.\n this.resize();\n return;\n }\n\n this.redraw_();\n this.publish('scroll', { scrollPort: this });\n};\n\n/**\n * Clients can override this if they want to hear scrollwheel events.\n *\n * Clients may call event.preventDefault() if they want to keep the scrollport\n * from also handling the events.\n */\nhterm.ScrollPort.prototype.onScrollWheel = function(e) {};\n\n/**\n * Handler for scroll-wheel events.\n *\n * The onScrollWheel event fires when the user moves their scrollwheel over this\n * hterm.ScrollPort. Because the frontmost element in the hterm.ScrollPort is\n * a fixed position DIV, the scroll wheel does nothing by default. Instead, we\n * have to handle it manually.\n */\nhterm.ScrollPort.prototype.onScrollWheel_ = function(e) {\n this.onScrollWheel(e);\n\n if (e.defaultPrevented)\n return;\n\n // Figure out how far this event wants us to scroll.\n var delta = this.scrollWheelDelta(e);\n\n var top = this.screen_.scrollTop - delta;\n if (top < 0)\n top = 0;\n\n var scrollMax = this.getScrollMax_();\n if (top > scrollMax)\n top = scrollMax;\n\n if (top != this.screen_.scrollTop) {\n // Moving scrollTop causes a scroll event, which triggers the redraw.\n this.screen_.scrollTop = top;\n\n // Only preventDefault when we've actually scrolled. If there's nothing\n // to scroll we want to pass the event through so Chrome can detect the\n // overscroll.\n e.preventDefault();\n }\n};\n\n/**\n * Calculate how far a wheel event should scroll.\n *\n * @param {WheelEvent} e The mouse wheel event to process.\n * @return {number} How far (in pixels) to scroll.\n */\nhterm.ScrollPort.prototype.scrollWheelDelta = function(e) {\n var delta;\n\n switch (e.deltaMode) {\n case WheelEvent.DOM_DELTA_PIXEL:\n delta = e.deltaY * this.scrollWheelMultiplier_;\n break;\n case WheelEvent.DOM_DELTA_LINE:\n delta = e.deltaY * this.characterSize.height;\n break;\n case WheelEvent.DOM_DELTA_PAGE:\n delta = e.deltaY * this.characterSize.height * this.screen_.getHeight();\n break;\n }\n\n // The sign is inverted from what we would expect.\n return delta * -1;\n};\n\n\n/**\n * Clients can override this if they want to hear touch events.\n *\n * Clients may call event.preventDefault() if they want to keep the scrollport\n * from also handling the events.\n */\nhterm.ScrollPort.prototype.onTouch = function(e) {};\n\n/**\n * Handler for touch events.\n */\nhterm.ScrollPort.prototype.onTouch_ = function(e) {\n this.onTouch(e);\n\n if (e.defaultPrevented)\n return;\n\n // Extract the fields from the Touch event that we need. If we saved the\n // event directly, it has references to other objects (like x-row) that\n // might stick around for a long time. This way we only have small objects\n // in our lastTouch_ state.\n var scrubTouch = function(t) {\n return {\n id: t.identifier,\n y: t.clientY,\n x: t.clientX,\n };\n };\n\n var i, touch;\n switch (e.type) {\n case 'touchstart':\n // Save the current set of touches.\n for (i = 0; i < e.changedTouches.length; ++i) {\n touch = scrubTouch(e.changedTouches[i]);\n this.lastTouch_[touch.id] = touch;\n }\n break;\n\n case 'touchcancel':\n case 'touchend':\n // Throw away existing touches that we're finished with.\n for (i = 0; i < e.changedTouches.length; ++i)\n delete this.lastTouch_[e.changedTouches[i].identifier];\n break;\n\n case 'touchmove':\n // Walk all of the touches in this one event and merge all of their\n // changes into one delta. This lets multiple fingers scroll faster.\n var delta = 0;\n for (i = 0; i < e.changedTouches.length; ++i) {\n touch = scrubTouch(e.changedTouches[i]);\n delta += (this.lastTouch_[touch.id].y - touch.y);\n this.lastTouch_[touch.id] = touch;\n }\n\n // Invert to match the touchscreen scrolling direction of browser windows.\n delta *= -1;\n\n var top = this.screen_.scrollTop - delta;\n if (top < 0)\n top = 0;\n\n var scrollMax = this.getScrollMax_();\n if (top > scrollMax)\n top = scrollMax;\n\n if (top != this.screen_.scrollTop) {\n // Moving scrollTop causes a scroll event, which triggers the redraw.\n this.screen_.scrollTop = top;\n }\n break;\n }\n\n // To disable gestures or anything else interfering with our scrolling.\n e.preventDefault();\n};\n\n/**\n * Handler for resize events.\n *\n * The browser will resize us such that the top row stays at the top, but we\n * prefer to the bottom row to stay at the bottom.\n */\nhterm.ScrollPort.prototype.onResize_ = function(e) {\n // Re-measure, since onResize also happens for browser zoom changes.\n this.syncCharacterSize();\n this.resize();\n};\n\n/**\n * Clients can override this if they want to hear copy events.\n *\n * Clients may call event.preventDefault() if they want to keep the scrollport\n * from also handling the events.\n */\nhterm.ScrollPort.prototype.onCopy = function(e) { };\n\n/**\n * Handler for copy-to-clipboard events.\n *\n * If some or all of the selected rows are off screen we may need to fill in\n * the rows between selection start and selection end. This handler determines\n * if we're missing some of the selected text, and if so populates one or both\n * of the \"select bags\" with the missing text.\n */\nhterm.ScrollPort.prototype.onCopy_ = function(e) {\n this.onCopy(e);\n\n if (e.defaultPrevented)\n return;\n\n this.resetSelectBags_();\n this.selection.sync();\n\n if (!this.selection.startRow ||\n this.selection.endRow.rowIndex - this.selection.startRow.rowIndex < 2) {\n return;\n }\n\n var topRowIndex = this.getTopRowIndex();\n var bottomRowIndex = this.getBottomRowIndex(topRowIndex);\n\n if (this.selection.startRow.rowIndex < topRowIndex) {\n // Start of selection is above the top fold.\n var endBackfillIndex;\n\n if (this.selection.endRow.rowIndex < topRowIndex) {\n // Entire selection is above the top fold.\n endBackfillIndex = this.selection.endRow.rowIndex;\n } else {\n // Selection extends below the top fold.\n endBackfillIndex = this.topFold_.nextSibling.rowIndex;\n }\n\n this.topSelectBag_.textContent = this.rowProvider_.getRowsText(\n this.selection.startRow.rowIndex + 1, endBackfillIndex);\n this.rowNodes_.insertBefore(this.topSelectBag_,\n this.selection.startRow.nextSibling);\n this.syncRowNodesDimensions_();\n }\n\n if (this.selection.endRow.rowIndex > bottomRowIndex) {\n // Selection ends below the bottom fold.\n var startBackfillIndex;\n\n if (this.selection.startRow.rowIndex > bottomRowIndex) {\n // Entire selection is below the bottom fold.\n startBackfillIndex = this.selection.startRow.rowIndex + 1;\n } else {\n // Selection starts above the bottom fold.\n startBackfillIndex = this.bottomFold_.previousSibling.rowIndex + 1;\n }\n\n this.bottomSelectBag_.textContent = this.rowProvider_.getRowsText(\n startBackfillIndex, this.selection.endRow.rowIndex);\n this.rowNodes_.insertBefore(this.bottomSelectBag_, this.selection.endRow);\n }\n};\n\n/**\n * Focuses on the paste target on a ctrl-v keydown event, as in\n * FF a content editable element must be focused before the paste event.\n */\nhterm.ScrollPort.prototype.onBodyKeyDown_ = function(e) {\n if (!this.ctrlVPaste)\n return;\n\n var key = String.fromCharCode(e.which);\n var lowerKey = key.toLowerCase();\n if ((e.ctrlKey || e.metaKey) && lowerKey == \"v\")\n this.pasteTarget_.focus();\n};\n\n/**\n * Handle a paste event on the the ScrollPort's screen element.\n */\nhterm.ScrollPort.prototype.onPaste_ = function(e) {\n this.pasteTarget_.focus();\n\n var self = this;\n setTimeout(function() {\n self.publish('paste', { text: self.pasteTarget_.value });\n self.pasteTarget_.value = '';\n self.screen_.focus();\n }, 0);\n};\n\n/**\n * Handles a textInput event on the paste target. Stops this from\n * propagating as we want this to be handled in the onPaste_ method.\n */\nhterm.ScrollPort.prototype.handlePasteTargetTextInput_ = function(e) {\n e.stopPropagation();\n};\n\n/**\n * Set the vertical scrollbar mode of the ScrollPort.\n */\nhterm.ScrollPort.prototype.setScrollbarVisible = function(state) {\n this.screen_.style.overflowY = state ? 'scroll' : 'hidden';\n};\n\n/**\n * Set scroll wheel multiplier. This alters how much the screen scrolls on\n * mouse wheel events.\n */\nhterm.ScrollPort.prototype.setScrollWheelMoveMultipler = function(multiplier) {\n this.scrollWheelMultiplier_ = multiplier;\n};\n// SOURCE FILE: hterm/js/hterm_terminal.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\nlib.rtdep('lib.colors', 'lib.PreferenceManager', 'lib.resource', 'lib.wc',\n 'lib.f', 'hterm.Keyboard', 'hterm.Options', 'hterm.PreferenceManager',\n 'hterm.Screen', 'hterm.ScrollPort', 'hterm.Size',\n 'hterm.TextAttributes', 'hterm.VT');\n\n/**\n * Constructor for the Terminal class.\n *\n * A Terminal pulls together the hterm.ScrollPort, hterm.Screen and hterm.VT100\n * classes to provide the complete terminal functionality.\n *\n * There are a number of lower-level Terminal methods that can be called\n * directly to manipulate the cursor, text, scroll region, and other terminal\n * attributes. However, the primary method is interpret(), which parses VT\n * escape sequences and invokes the appropriate Terminal methods.\n *\n * This class was heavily influenced by Cory Maccarrone's Framebuffer class.\n *\n * TODO(rginda): Eventually we're going to need to support characters which are\n * displayed twice as wide as standard latin characters. This is to support\n * CJK (and possibly other character sets).\n *\n * @param {string} opt_profileId Optional preference profile name. If not\n * provided, defaults to 'default'.\n */\nhterm.Terminal = function(opt_profileId) {\n this.profileId_ = null;\n\n // Two screen instances.\n this.primaryScreen_ = new hterm.Screen();\n this.alternateScreen_ = new hterm.Screen();\n\n // The \"current\" screen.\n this.screen_ = this.primaryScreen_;\n\n // The local notion of the screen size. ScreenBuffers also have a size which\n // indicates their present size. During size changes, the two may disagree.\n // Also, the inactive screen's size is not altered until it is made the active\n // screen.\n this.screenSize = new hterm.Size(0, 0);\n\n // The scroll port we'll be using to display the visible rows.\n this.scrollPort_ = new hterm.ScrollPort(this);\n this.scrollPort_.subscribe('resize', this.onResize_.bind(this));\n this.scrollPort_.subscribe('scroll', this.onScroll_.bind(this));\n this.scrollPort_.subscribe('paste', this.onPaste_.bind(this));\n this.scrollPort_.onCopy = this.onCopy_.bind(this);\n\n // The div that contains this terminal.\n this.div_ = null;\n\n // The document that contains the scrollPort. Defaulted to the global\n // document here so that the terminal is functional even if it hasn't been\n // inserted into a document yet, but re-set in decorate().\n this.document_ = window.document;\n\n // The rows that have scrolled off screen and are no longer addressable.\n this.scrollbackRows_ = [];\n\n // Saved tab stops.\n this.tabStops_ = [];\n\n // Keep track of whether default tab stops have been erased; after a TBC\n // clears all tab stops, defaults aren't restored on resize until a reset.\n this.defaultTabStops = true;\n\n // The VT's notion of the top and bottom rows. Used during some VT\n // cursor positioning and scrolling commands.\n this.vtScrollTop_ = null;\n this.vtScrollBottom_ = null;\n\n // The DIV element for the visible cursor.\n this.cursorNode_ = null;\n\n // The current cursor shape of the terminal.\n this.cursorShape_ = hterm.Terminal.cursorShape.BLOCK;\n\n // The current color of the cursor.\n this.cursorColor_ = null;\n\n // Cursor blink on/off cycle in ms, overwritten by prefs once they're loaded.\n this.cursorBlinkCycle_ = [100, 100];\n\n // Pre-bound onCursorBlink_ handler, so we don't have to do this for each\n // cursor on/off servicing.\n this.myOnCursorBlink_ = this.onCursorBlink_.bind(this);\n\n // These prefs are cached so we don't have to read from local storage with\n // each output and keystroke. They are initialized by the preference manager.\n this.backgroundColor_ = null;\n this.foregroundColor_ = null;\n this.scrollOnOutput_ = null;\n this.scrollOnKeystroke_ = null;\n this.scrollWheelArrowKeys_ = null;\n\n // True if we should override mouse event reporting to allow local selection.\n this.defeatMouseReports_ = false;\n\n // Terminal bell sound.\n this.bellAudio_ = this.document_.createElement('audio');\n this.bellAudio_.id = 'hterm:bell-audio';\n this.bellAudio_.setAttribute('preload', 'auto');\n\n // All terminal bell notifications that have been generated (not necessarily\n // shown).\n this.bellNotificationList_ = [];\n\n // Whether we have permission to display notifications.\n this.desktopNotificationBell_ = false;\n\n // Cursor position and attributes saved with DECSC.\n this.savedOptions_ = {};\n\n // The current mode bits for the terminal.\n this.options_ = new hterm.Options();\n\n // Timeouts we might need to clear.\n this.timeouts_ = {};\n\n // The VT escape sequence interpreter.\n this.vt = new hterm.VT(this);\n\n // The keyboard handler.\n this.keyboard = new hterm.Keyboard(this);\n\n // General IO interface that can be given to third parties without exposing\n // the entire terminal object.\n this.io = new hterm.Terminal.IO(this);\n\n // True if mouse-click-drag should scroll the terminal.\n this.enableMouseDragScroll = true;\n\n this.copyOnSelect = null;\n this.mouseRightClickPaste = null;\n this.mousePasteButton = null;\n\n // Whether to use the default window copy behavior.\n this.useDefaultWindowCopy = false;\n\n this.clearSelectionAfterCopy = true;\n\n this.realizeSize_(80, 24);\n this.setDefaultTabStops();\n\n this.setProfile(opt_profileId || 'default',\n function() { this.onTerminalReady(); }.bind(this));\n};\n\n/**\n * Possible cursor shapes.\n */\nhterm.Terminal.cursorShape = {\n BLOCK: 'BLOCK',\n BEAM: 'BEAM',\n UNDERLINE: 'UNDERLINE'\n};\n\n/**\n * Clients should override this to be notified when the terminal is ready\n * for use.\n *\n * The terminal initialization is asynchronous, and shouldn't be used before\n * this method is called.\n */\nhterm.Terminal.prototype.onTerminalReady = function() { };\n\n/**\n * Default tab with of 8 to match xterm.\n */\nhterm.Terminal.prototype.tabWidth = 8;\n\n/**\n * Select a preference profile.\n *\n * This will load the terminal preferences for the given profile name and\n * associate subsequent preference changes with the new preference profile.\n *\n * @param {string} profileId The name of the preference profile. Forward slash\n * characters will be removed from the name.\n * @param {function} opt_callback Optional callback to invoke when the profile\n * transition is complete.\n */\nhterm.Terminal.prototype.setProfile = function(profileId, opt_callback) {\n this.profileId_ = profileId.replace(/\\//g, '');\n\n var terminal = this;\n\n if (this.prefs_)\n this.prefs_.deactivate();\n\n this.prefs_ = new hterm.PreferenceManager(this.profileId_);\n this.prefs_.addObservers(null, {\n 'alt-gr-mode': function(v) {\n if (v == null) {\n if (navigator.language.toLowerCase() == 'en-us') {\n v = 'none';\n } else {\n v = 'right-alt';\n }\n } else if (typeof v == 'string') {\n v = v.toLowerCase();\n } else {\n v = 'none';\n }\n\n if (!/^(none|ctrl-alt|left-alt|right-alt)$/.test(v))\n v = 'none';\n\n terminal.keyboard.altGrMode = v;\n },\n\n 'alt-backspace-is-meta-backspace': function(v) {\n terminal.keyboard.altBackspaceIsMetaBackspace = v;\n },\n\n 'alt-is-meta': function(v) {\n terminal.keyboard.altIsMeta = v;\n },\n\n 'alt-sends-what': function(v) {\n if (!/^(escape|8-bit|browser-key)$/.test(v))\n v = 'escape';\n\n terminal.keyboard.altSendsWhat = v;\n },\n\n 'audible-bell-sound': function(v) {\n var ary = v.match(/^lib-resource:(\\S+)/);\n if (ary) {\n terminal.bellAudio_.setAttribute('src',\n lib.resource.getDataUrl(ary[1]));\n } else {\n terminal.bellAudio_.setAttribute('src', v);\n }\n },\n\n 'desktop-notification-bell': function(v) {\n if (v && Notification) {\n terminal.desktopNotificationBell_ =\n Notification.permission === 'granted';\n if (!terminal.desktopNotificationBell_) {\n // Note: We don't call Notification.requestPermission here because\n // Chrome requires the call be the result of a user action (such as an\n // onclick handler), and pref listeners are run asynchronously.\n //\n // A way of working around this would be to display a dialog in the\n // terminal with a \"click-to-request-permission\" button.\n console.warn('desktop-notification-bell is true but we do not have ' +\n 'permission to display notifications.');\n }\n } else {\n terminal.desktopNotificationBell_ = false;\n }\n },\n\n 'background-color': function(v) {\n terminal.setBackgroundColor(v);\n },\n\n 'background-image': function(v) {\n terminal.scrollPort_.setBackgroundImage(v);\n },\n\n 'background-size': function(v) {\n terminal.scrollPort_.setBackgroundSize(v);\n },\n\n 'background-position': function(v) {\n terminal.scrollPort_.setBackgroundPosition(v);\n },\n\n 'backspace-sends-backspace': function(v) {\n terminal.keyboard.backspaceSendsBackspace = v;\n },\n\n 'character-map-overrides': function(v) {\n if (!(v == null || v instanceof Object)) {\n console.warn('Preference character-map-modifications is not an ' +\n 'object: ' + v);\n return;\n }\n\n terminal.vt.characterMaps.reset();\n terminal.vt.characterMaps.setOverrides(v);\n },\n\n 'cursor-blink': function(v) {\n terminal.setCursorBlink(!!v);\n },\n\n 'cursor-blink-cycle': function(v) {\n if (v instanceof Array &&\n typeof v[0] == 'number' &&\n typeof v[1] == 'number') {\n terminal.cursorBlinkCycle_ = v;\n } else if (typeof v == 'number') {\n terminal.cursorBlinkCycle_ = [v, v];\n } else {\n // Fast blink indicates an error.\n terminal.cursorBlinkCycle_ = [100, 100];\n }\n },\n\n 'cursor-color': function(v) {\n terminal.setCursorColor(v);\n },\n\n 'color-palette-overrides': function(v) {\n if (!(v == null || v instanceof Object || v instanceof Array)) {\n console.warn('Preference color-palette-overrides is not an array or ' +\n 'object: ' + v);\n return;\n }\n\n lib.colors.colorPalette = lib.colors.stockColorPalette.concat();\n\n if (v) {\n for (var key in v) {\n var i = parseInt(key);\n if (isNaN(i) || i < 0 || i > 255) {\n console.log('Invalid value in palette: ' + key + ': ' + v[key]);\n continue;\n }\n\n if (v[i]) {\n var rgb = lib.colors.normalizeCSS(v[i]);\n if (rgb)\n lib.colors.colorPalette[i] = rgb;\n }\n }\n }\n\n terminal.primaryScreen_.textAttributes.resetColorPalette();\n terminal.alternateScreen_.textAttributes.resetColorPalette();\n },\n\n 'copy-on-select': function(v) {\n terminal.copyOnSelect = !!v;\n },\n\n 'use-default-window-copy': function(v) {\n terminal.useDefaultWindowCopy = !!v;\n },\n\n 'clear-selection-after-copy': function(v) {\n terminal.clearSelectionAfterCopy = !!v;\n },\n\n 'ctrl-plus-minus-zero-zoom': function(v) {\n terminal.keyboard.ctrlPlusMinusZeroZoom = v;\n },\n\n 'ctrl-c-copy': function(v) {\n terminal.keyboard.ctrlCCopy = v;\n },\n\n 'ctrl-v-paste': function(v) {\n terminal.keyboard.ctrlVPaste = v;\n terminal.scrollPort_.setCtrlVPaste(v);\n },\n\n 'east-asian-ambiguous-as-two-column': function(v) {\n lib.wc.regardCjkAmbiguous = v;\n },\n\n 'enable-8-bit-control': function(v) {\n terminal.vt.enable8BitControl = !!v;\n },\n\n 'enable-bold': function(v) {\n terminal.syncBoldSafeState();\n },\n\n 'enable-bold-as-bright': function(v) {\n terminal.primaryScreen_.textAttributes.enableBoldAsBright = !!v;\n terminal.alternateScreen_.textAttributes.enableBoldAsBright = !!v;\n },\n\n 'enable-blink': function(v) {\n terminal.syncBlinkState();\n },\n\n 'enable-clipboard-write': function(v) {\n terminal.vt.enableClipboardWrite = !!v;\n },\n\n 'enable-dec12': function(v) {\n terminal.vt.enableDec12 = !!v;\n },\n\n 'font-family': function(v) {\n terminal.syncFontFamily();\n },\n\n 'font-size': function(v) {\n terminal.setFontSize(v);\n },\n\n 'font-smoothing': function(v) {\n terminal.syncFontFamily();\n },\n\n 'foreground-color': function(v) {\n terminal.setForegroundColor(v);\n },\n\n 'home-keys-scroll': function(v) {\n terminal.keyboard.homeKeysScroll = v;\n },\n\n 'keybindings': function(v) {\n terminal.keyboard.bindings.clear();\n\n if (!v)\n return;\n\n if (!(v instanceof Object)) {\n console.error('Error in keybindings preference: Expected object');\n return;\n }\n\n try {\n terminal.keyboard.bindings.addBindings(v);\n } catch (ex) {\n console.error('Error in keybindings preference: ' + ex);\n }\n },\n\n 'max-string-sequence': function(v) {\n terminal.vt.maxStringSequence = v;\n },\n\n 'media-keys-are-fkeys': function(v) {\n terminal.keyboard.mediaKeysAreFKeys = v;\n },\n\n 'meta-sends-escape': function(v) {\n terminal.keyboard.metaSendsEscape = v;\n },\n\n 'mouse-right-click-paste': function(v) {\n terminal.mouseRightClickPaste = v;\n },\n\n 'mouse-paste-button': function(v) {\n terminal.syncMousePasteButton();\n },\n\n 'page-keys-scroll': function(v) {\n terminal.keyboard.pageKeysScroll = v;\n },\n\n 'pass-alt-number': function(v) {\n if (v == null) {\n var osx = window.navigator.userAgent.match(/Mac OS X/);\n\n // Let Alt-1..9 pass to the browser (to control tab switching) on\n // non-OS X systems, or if hterm is not opened in an app window.\n v = (!osx && hterm.windowType != 'popup');\n }\n\n terminal.passAltNumber = v;\n },\n\n 'pass-ctrl-number': function(v) {\n if (v == null) {\n var osx = window.navigator.userAgent.match(/Mac OS X/);\n\n // Let Ctrl-1..9 pass to the browser (to control tab switching) on\n // non-OS X systems, or if hterm is not opened in an app window.\n v = (!osx && hterm.windowType != 'popup');\n }\n\n terminal.passCtrlNumber = v;\n },\n\n 'pass-meta-number': function(v) {\n if (v == null) {\n var osx = window.navigator.userAgent.match(/Mac OS X/);\n\n // Let Meta-1..9 pass to the browser (to control tab switching) on\n // OS X systems, or if hterm is not opened in an app window.\n v = (osx && hterm.windowType != 'popup');\n }\n\n terminal.passMetaNumber = v;\n },\n\n 'pass-meta-v': function(v) {\n terminal.keyboard.passMetaV = v;\n },\n\n 'receive-encoding': function(v) {\n if (!(/^(utf-8|raw)$/).test(v)) {\n console.warn('Invalid value for \"receive-encoding\": ' + v);\n v = 'utf-8';\n }\n\n terminal.vt.characterEncoding = v;\n },\n\n 'scroll-on-keystroke': function(v) {\n terminal.scrollOnKeystroke_ = v;\n },\n\n 'scroll-on-output': function(v) {\n terminal.scrollOnOutput_ = v;\n },\n\n 'scrollbar-visible': function(v) {\n terminal.setScrollbarVisible(v);\n },\n\n 'scroll-wheel-may-send-arrow-keys': function(v) {\n terminal.scrollWheelArrowKeys_ = v;\n },\n\n 'scroll-wheel-move-multiplier': function(v) {\n terminal.setScrollWheelMoveMultipler(v);\n },\n\n 'send-encoding': function(v) {\n if (!(/^(utf-8|raw)$/).test(v)) {\n console.warn('Invalid value for \"send-encoding\": ' + v);\n v = 'utf-8';\n }\n\n terminal.keyboard.characterEncoding = v;\n },\n\n 'shift-insert-paste': function(v) {\n terminal.keyboard.shiftInsertPaste = v;\n },\n\n 'terminal-encoding': function(v) {\n terminal.vt.setEncoding(v);\n },\n\n 'user-css': function(v) {\n terminal.scrollPort_.setUserCssUrl(v);\n },\n\n 'user-css-text': function(v) {\n terminal.scrollPort_.setUserCssText(v);\n },\n\n 'word-break-match-left': function(v) {\n terminal.primaryScreen_.wordBreakMatchLeft = v;\n terminal.alternateScreen_.wordBreakMatchLeft = v;\n },\n\n 'word-break-match-right': function(v) {\n terminal.primaryScreen_.wordBreakMatchRight = v;\n terminal.alternateScreen_.wordBreakMatchRight = v;\n },\n\n 'word-break-match-middle': function(v) {\n terminal.primaryScreen_.wordBreakMatchMiddle = v;\n terminal.alternateScreen_.wordBreakMatchMiddle = v;\n },\n });\n\n this.prefs_.readStorage(function() {\n this.prefs_.notifyAll();\n\n if (opt_callback)\n opt_callback();\n }.bind(this));\n};\n\n\n/**\n * Returns the preferences manager used for configuring this terminal.\n *\n * @return {hterm.PreferenceManager}\n */\nhterm.Terminal.prototype.getPrefs = function() {\n return this.prefs_;\n};\n\n/**\n * Enable or disable bracketed paste mode.\n *\n * @param {boolean} state The value to set.\n */\nhterm.Terminal.prototype.setBracketedPaste = function(state) {\n this.options_.bracketedPaste = state;\n};\n\n/**\n * Set the color for the cursor.\n *\n * If you want this setting to persist, set it through prefs_, rather than\n * with this method.\n *\n * @param {string} color The color to set.\n */\nhterm.Terminal.prototype.setCursorColor = function(color) {\n this.cursorColor_ = color;\n this.cursorNode_.style.backgroundColor = color;\n this.cursorNode_.style.borderColor = color;\n};\n\n/**\n * Return the current cursor color as a string.\n * @return {string}\n */\nhterm.Terminal.prototype.getCursorColor = function() {\n return this.cursorColor_;\n};\n\n/**\n * Enable or disable mouse based text selection in the terminal.\n *\n * @param {boolean} state The value to set.\n */\nhterm.Terminal.prototype.setSelectionEnabled = function(state) {\n this.enableMouseDragScroll = state;\n};\n\n/**\n * Set the background color.\n *\n * If you want this setting to persist, set it through prefs_, rather than\n * with this method.\n *\n * @param {string} color The color to set.\n */\nhterm.Terminal.prototype.setBackgroundColor = function(color) {\n this.backgroundColor_ = lib.colors.normalizeCSS(color);\n this.primaryScreen_.textAttributes.setDefaults(\n this.foregroundColor_, this.backgroundColor_);\n this.alternateScreen_.textAttributes.setDefaults(\n this.foregroundColor_, this.backgroundColor_);\n this.scrollPort_.setBackgroundColor(color);\n};\n\n/**\n * Return the current terminal background color.\n *\n * Intended for use by other classes, so we don't have to expose the entire\n * prefs_ object.\n *\n * @return {string}\n */\nhterm.Terminal.prototype.getBackgroundColor = function() {\n return this.backgroundColor_;\n};\n\n/**\n * Set the foreground color.\n *\n * If you want this setting to persist, set it through prefs_, rather than\n * with this method.\n *\n * @param {string} color The color to set.\n */\nhterm.Terminal.prototype.setForegroundColor = function(color) {\n this.foregroundColor_ = lib.colors.normalizeCSS(color);\n this.primaryScreen_.textAttributes.setDefaults(\n this.foregroundColor_, this.backgroundColor_);\n this.alternateScreen_.textAttributes.setDefaults(\n this.foregroundColor_, this.backgroundColor_);\n this.scrollPort_.setForegroundColor(color);\n};\n\n/**\n * Return the current terminal foreground color.\n *\n * Intended for use by other classes, so we don't have to expose the entire\n * prefs_ object.\n *\n * @return {string}\n */\nhterm.Terminal.prototype.getForegroundColor = function() {\n return this.foregroundColor_;\n};\n\n/**\n * Create a new instance of a terminal command and run it with a given\n * argument string.\n *\n * @param {function} commandClass The constructor for a terminal command.\n * @param {string} argString The argument string to pass to the command.\n */\nhterm.Terminal.prototype.runCommandClass = function(commandClass, argString) {\n var environment = this.prefs_.get('environment');\n if (typeof environment != 'object' || environment == null)\n environment = {};\n\n var self = this;\n this.command = new commandClass(\n { argString: argString || '',\n io: this.io.push(),\n environment: environment,\n onExit: function(code) {\n self.io.pop();\n self.uninstallKeyboard();\n if (self.prefs_.get('close-on-exit'))\n window.close();\n }\n });\n\n this.installKeyboard();\n this.command.run();\n};\n\n/**\n * Returns true if the current screen is the primary screen, false otherwise.\n *\n * @return {boolean}\n */\nhterm.Terminal.prototype.isPrimaryScreen = function() {\n return this.screen_ == this.primaryScreen_;\n};\n\n/**\n * Install the keyboard handler for this terminal.\n *\n * This will prevent the browser from seeing any keystrokes sent to the\n * terminal.\n */\nhterm.Terminal.prototype.installKeyboard = function() {\n this.keyboard.installKeyboard(this.scrollPort_.getDocument().body);\n}\n\n/**\n * Uninstall the keyboard handler for this terminal.\n */\nhterm.Terminal.prototype.uninstallKeyboard = function() {\n this.keyboard.installKeyboard(null);\n}\n\n/**\n * Set a CSS variable.\n *\n * Normally this is used to set variables in the hterm namespace.\n *\n * @param {string} name The variable to set.\n * @param {string} value The value to assign to the variable.\n * @param {string?} opt_prefix The variable namespace/prefix to use.\n */\nhterm.Terminal.prototype.setCssVar = function(name, value,\n opt_prefix='--hterm-') {\n this.document_.documentElement.style.setProperty(\n `${opt_prefix}${name}`, value);\n};\n\n/**\n * Set the font size for this terminal.\n *\n * Call setFontSize(0) to reset to the default font size.\n *\n * This function does not modify the font-size preference.\n *\n * @param {number} px The desired font size, in pixels.\n */\nhterm.Terminal.prototype.setFontSize = function(px) {\n if (px === 0)\n px = this.prefs_.get('font-size');\n\n this.scrollPort_.setFontSize(px);\n this.setCssVar('charsize-width', this.scrollPort_.characterSize.width + 'px');\n this.setCssVar('charsize-height',\n this.scrollPort_.characterSize.height + 'px');\n};\n\n/**\n * Get the current font size.\n *\n * @return {number}\n */\nhterm.Terminal.prototype.getFontSize = function() {\n return this.scrollPort_.getFontSize();\n};\n\n/**\n * Get the current font family.\n *\n * @return {string}\n */\nhterm.Terminal.prototype.getFontFamily = function() {\n return this.scrollPort_.getFontFamily();\n};\n\n/**\n * Set the CSS \"font-family\" for this terminal.\n */\nhterm.Terminal.prototype.syncFontFamily = function() {\n this.scrollPort_.setFontFamily(this.prefs_.get('font-family'),\n this.prefs_.get('font-smoothing'));\n this.syncBoldSafeState();\n};\n\n/**\n * Set this.mousePasteButton based on the mouse-paste-button pref,\n * autodetecting if necessary.\n */\nhterm.Terminal.prototype.syncMousePasteButton = function() {\n var button = this.prefs_.get('mouse-paste-button');\n if (typeof button == 'number') {\n this.mousePasteButton = button;\n return;\n }\n\n var ary = navigator.userAgent.match(/\\(X11;\\s+(\\S+)/);\n if (!ary || ary[1] == 'CrOS') {\n this.mousePasteButton = 1; // Middle mouse button.\n } else {\n this.mousePasteButton = 2; // Right mouse button.\n }\n};\n\n/**\n * Enable or disable bold based on the enable-bold pref, autodetecting if\n * necessary.\n */\nhterm.Terminal.prototype.syncBoldSafeState = function() {\n var enableBold = this.prefs_.get('enable-bold');\n if (enableBold !== null) {\n this.primaryScreen_.textAttributes.enableBold = enableBold;\n this.alternateScreen_.textAttributes.enableBold = enableBold;\n return;\n }\n\n var normalSize = this.scrollPort_.measureCharacterSize();\n var boldSize = this.scrollPort_.measureCharacterSize('bold');\n\n var isBoldSafe = normalSize.equals(boldSize);\n if (!isBoldSafe) {\n console.warn('Bold characters disabled: Size of bold weight differs ' +\n 'from normal. Font family is: ' +\n this.scrollPort_.getFontFamily());\n }\n\n this.primaryScreen_.textAttributes.enableBold = isBoldSafe;\n this.alternateScreen_.textAttributes.enableBold = isBoldSafe;\n};\n\n/**\n * Enable or disable blink based on the enable-blink pref.\n */\nhterm.Terminal.prototype.syncBlinkState = function() {\n this.setCssVar('node-duration',\n this.prefs_.get('enable-blink') ? '0.7s' : '0');\n};\n\n/**\n * Set the mouse cursor style based on the current terminal mode.\n */\nhterm.Terminal.prototype.syncMouseStyle = function() {\n this.setCssVar('mouse-cursor-style',\n this.vt.mouseReport == this.vt.MOUSE_REPORT_DISABLED ?\n 'var(--hterm-mouse-cursor-text)' :\n 'var(--hterm-mouse-cursor-pointer)');\n};\n\n/**\n * Return a copy of the current cursor position.\n *\n * @return {hterm.RowCol} The RowCol object representing the current position.\n */\nhterm.Terminal.prototype.saveCursor = function() {\n return this.screen_.cursorPosition.clone();\n};\n\n/**\n * Return the current text attributes.\n *\n * @return {string}\n */\nhterm.Terminal.prototype.getTextAttributes = function() {\n return this.screen_.textAttributes;\n};\n\n/**\n * Set the text attributes.\n *\n * @param {string} textAttributes The attributes to set.\n */\nhterm.Terminal.prototype.setTextAttributes = function(textAttributes) {\n this.screen_.textAttributes = textAttributes;\n};\n\n/**\n * Return the current browser zoom factor applied to the terminal.\n *\n * @return {number} The current browser zoom factor.\n */\nhterm.Terminal.prototype.getZoomFactor = function() {\n return this.scrollPort_.characterSize.zoomFactor;\n};\n\n/**\n * Change the title of this terminal's window.\n *\n * @param {string} title The title to set.\n */\nhterm.Terminal.prototype.setWindowTitle = function(title) {\n window.document.title = title;\n};\n\n/**\n * Restore a previously saved cursor position.\n *\n * @param {hterm.RowCol} cursor The position to restore.\n */\nhterm.Terminal.prototype.restoreCursor = function(cursor) {\n var row = lib.f.clamp(cursor.row, 0, this.screenSize.height - 1);\n var column = lib.f.clamp(cursor.column, 0, this.screenSize.width - 1);\n this.screen_.setCursorPosition(row, column);\n if (cursor.column > column ||\n cursor.column == column && cursor.overflow) {\n this.screen_.cursorPosition.overflow = true;\n }\n};\n\n/**\n * Clear the cursor's overflow flag.\n */\nhterm.Terminal.prototype.clearCursorOverflow = function() {\n this.screen_.cursorPosition.overflow = false;\n};\n\n/**\n * Sets the cursor shape\n *\n * @param {string} shape The shape to set.\n */\nhterm.Terminal.prototype.setCursorShape = function(shape) {\n this.cursorShape_ = shape;\n this.restyleCursor_();\n}\n\n/**\n * Get the cursor shape\n *\n * @return {string}\n */\nhterm.Terminal.prototype.getCursorShape = function() {\n return this.cursorShape_;\n}\n\n/**\n * Set the width of the terminal, resizing the UI to match.\n *\n * @param {number} columnCount\n */\nhterm.Terminal.prototype.setWidth = function(columnCount) {\n if (columnCount == null) {\n this.div_.style.width = '100%';\n return;\n }\n\n this.div_.style.width = Math.ceil(\n this.scrollPort_.characterSize.width *\n columnCount + this.scrollPort_.currentScrollbarWidthPx) + 'px';\n this.realizeSize_(columnCount, this.screenSize.height);\n this.scheduleSyncCursorPosition_();\n};\n\n/**\n * Set the height of the terminal, resizing the UI to match.\n *\n * @param {number} rowCount The height in rows.\n */\nhterm.Terminal.prototype.setHeight = function(rowCount) {\n if (rowCount == null) {\n this.div_.style.height = '100%';\n return;\n }\n\n this.div_.style.height =\n this.scrollPort_.characterSize.height * rowCount + 'px';\n this.realizeSize_(this.screenSize.width, rowCount);\n this.scheduleSyncCursorPosition_();\n};\n\n/**\n * Deal with terminal size changes.\n *\n * @param {number} columnCount The number of columns.\n * @param {number} rowCount The number of rows.\n */\nhterm.Terminal.prototype.realizeSize_ = function(columnCount, rowCount) {\n if (columnCount != this.screenSize.width)\n this.realizeWidth_(columnCount);\n\n if (rowCount != this.screenSize.height)\n this.realizeHeight_(rowCount);\n\n // Send new terminal size to plugin.\n this.io.onTerminalResize_(columnCount, rowCount);\n};\n\n/**\n * Deal with terminal width changes.\n *\n * This function does what needs to be done when the terminal width changes\n * out from under us. It happens here rather than in onResize_() because this\n * code may need to run synchronously to handle programmatic changes of\n * terminal width.\n *\n * Relying on the browser to send us an async resize event means we may not be\n * in the correct state yet when the next escape sequence hits.\n *\n * @param {number} columnCount The number of columns.\n */\nhterm.Terminal.prototype.realizeWidth_ = function(columnCount) {\n if (columnCount <= 0)\n throw new Error('Attempt to realize bad width: ' + columnCount);\n\n var deltaColumns = columnCount - this.screen_.getWidth();\n\n this.screenSize.width = columnCount;\n this.screen_.setColumnCount(columnCount);\n\n if (deltaColumns > 0) {\n if (this.defaultTabStops)\n this.setDefaultTabStops(this.screenSize.width - deltaColumns);\n } else {\n for (var i = this.tabStops_.length - 1; i >= 0; i--) {\n if (this.tabStops_[i] < columnCount)\n break;\n\n this.tabStops_.pop();\n }\n }\n\n this.screen_.setColumnCount(this.screenSize.width);\n};\n\n/**\n * Deal with terminal height changes.\n *\n * This function does what needs to be done when the terminal height changes\n * out from under us. It happens here rather than in onResize_() because this\n * code may need to run synchronously to handle programmatic changes of\n * terminal height.\n *\n * Relying on the browser to send us an async resize event means we may not be\n * in the correct state yet when the next escape sequence hits.\n *\n * @param {number} rowCount The number of rows.\n */\nhterm.Terminal.prototype.realizeHeight_ = function(rowCount) {\n if (rowCount <= 0)\n throw new Error('Attempt to realize bad height: ' + rowCount);\n\n var deltaRows = rowCount - this.screen_.getHeight();\n\n this.screenSize.height = rowCount;\n\n var cursor = this.saveCursor();\n\n if (deltaRows < 0) {\n // Screen got smaller.\n deltaRows *= -1;\n while (deltaRows) {\n var lastRow = this.getRowCount() - 1;\n if (lastRow - this.scrollbackRows_.length == cursor.row)\n break;\n\n if (this.getRowText(lastRow))\n break;\n\n this.screen_.popRow();\n deltaRows--;\n }\n\n var ary = this.screen_.shiftRows(deltaRows);\n this.scrollbackRows_.push.apply(this.scrollbackRows_, ary);\n\n // We just removed rows from the top of the screen, we need to update\n // the cursor to match.\n cursor.row = Math.max(cursor.row - deltaRows, 0);\n } else if (deltaRows > 0) {\n // Screen got larger.\n\n if (deltaRows <= this.scrollbackRows_.length) {\n var scrollbackCount = Math.min(deltaRows, this.scrollbackRows_.length);\n var rows = this.scrollbackRows_.splice(\n this.scrollbackRows_.length - scrollbackCount, scrollbackCount);\n this.screen_.unshiftRows(rows);\n deltaRows -= scrollbackCount;\n cursor.row += scrollbackCount;\n }\n\n if (deltaRows)\n this.appendRows_(deltaRows);\n }\n\n this.setVTScrollRegion(null, null);\n this.restoreCursor(cursor);\n};\n\n/**\n * Scroll the terminal to the top of the scrollback buffer.\n */\nhterm.Terminal.prototype.scrollHome = function() {\n this.scrollPort_.scrollRowToTop(0);\n};\n\n/**\n * Scroll the terminal to the end.\n */\nhterm.Terminal.prototype.scrollEnd = function() {\n this.scrollPort_.scrollRowToBottom(this.getRowCount());\n};\n\n/**\n * Scroll the terminal one page up (minus one line) relative to the current\n * position.\n */\nhterm.Terminal.prototype.scrollPageUp = function() {\n var i = this.scrollPort_.getTopRowIndex();\n this.scrollPort_.scrollRowToTop(i - this.screenSize.height + 1);\n};\n\n/**\n * Scroll the terminal one page down (minus one line) relative to the current\n * position.\n */\nhterm.Terminal.prototype.scrollPageDown = function() {\n var i = this.scrollPort_.getTopRowIndex();\n this.scrollPort_.scrollRowToTop(i + this.screenSize.height - 1);\n};\n\n/**\n * Scroll the terminal one line up relative to the current position.\n */\nhterm.Terminal.prototype.scrollLineUp = function() {\n var i = this.scrollPort_.getTopRowIndex();\n this.scrollPort_.scrollRowToTop(i - 1);\n};\n\n/**\n * Scroll the terminal one line down relative to the current position.\n */\nhterm.Terminal.prototype.scrollLineDown = function() {\n var i = this.scrollPort_.getTopRowIndex();\n this.scrollPort_.scrollRowToTop(i + 1);\n};\n\n/**\n * Clear primary screen, secondary screen, and the scrollback buffer.\n */\nhterm.Terminal.prototype.wipeContents = function() {\n this.scrollbackRows_.length = 0;\n this.scrollPort_.resetCache();\n\n [this.primaryScreen_, this.alternateScreen_].forEach(function(screen) {\n var bottom = screen.getHeight();\n if (bottom > 0) {\n this.renumberRows_(0, bottom);\n this.clearHome(screen);\n }\n }.bind(this));\n\n this.syncCursorPosition_();\n this.scrollPort_.invalidate();\n};\n\n/**\n * Full terminal reset.\n */\nhterm.Terminal.prototype.reset = function() {\n this.clearAllTabStops();\n this.setDefaultTabStops();\n\n this.clearHome(this.primaryScreen_);\n this.primaryScreen_.textAttributes.reset();\n\n this.clearHome(this.alternateScreen_);\n this.alternateScreen_.textAttributes.reset();\n\n this.setCursorBlink(!!this.prefs_.get('cursor-blink'));\n\n this.vt.reset();\n\n this.softReset();\n};\n\n/**\n * Soft terminal reset.\n *\n * Perform a soft reset to the default values listed in\n * http://www.vt100.net/docs/vt510-rm/DECSTR#T5-9\n */\nhterm.Terminal.prototype.softReset = function() {\n // Reset terminal options to their default values.\n this.options_ = new hterm.Options();\n\n // We show the cursor on soft reset but do not alter the blink state.\n this.options_.cursorBlink = !!this.timeouts_.cursorBlink;\n\n // Xterm also resets the color palette on soft reset, even though it doesn't\n // seem to be documented anywhere.\n this.primaryScreen_.textAttributes.resetColorPalette();\n this.alternateScreen_.textAttributes.resetColorPalette();\n\n // The xterm man page explicitly says this will happen on soft reset.\n this.setVTScrollRegion(null, null);\n\n // Xterm also shows the cursor on soft reset, but does not alter the blink\n // state.\n this.setCursorVisible(true);\n};\n\n/**\n * Move the cursor forward to the next tab stop, or to the last column\n * if no more tab stops are set.\n */\nhterm.Terminal.prototype.forwardTabStop = function() {\n var column = this.screen_.cursorPosition.column;\n\n for (var i = 0; i < this.tabStops_.length; i++) {\n if (this.tabStops_[i] > column) {\n this.setCursorColumn(this.tabStops_[i]);\n return;\n }\n }\n\n // xterm does not clear the overflow flag on HT or CHT.\n var overflow = this.screen_.cursorPosition.overflow;\n this.setCursorColumn(this.screenSize.width - 1);\n this.screen_.cursorPosition.overflow = overflow;\n};\n\n/**\n * Move the cursor backward to the previous tab stop, or to the first column\n * if no previous tab stops are set.\n */\nhterm.Terminal.prototype.backwardTabStop = function() {\n var column = this.screen_.cursorPosition.column;\n\n for (var i = this.tabStops_.length - 1; i >= 0; i--) {\n if (this.tabStops_[i] < column) {\n this.setCursorColumn(this.tabStops_[i]);\n return;\n }\n }\n\n this.setCursorColumn(1);\n};\n\n/**\n * Set a tab stop at the given column.\n *\n * @param {integer} column Zero based column.\n */\nhterm.Terminal.prototype.setTabStop = function(column) {\n for (var i = this.tabStops_.length - 1; i >= 0; i--) {\n if (this.tabStops_[i] == column)\n return;\n\n if (this.tabStops_[i] < column) {\n this.tabStops_.splice(i + 1, 0, column);\n return;\n }\n }\n\n this.tabStops_.splice(0, 0, column);\n};\n\n/**\n * Clear the tab stop at the current cursor position.\n *\n * No effect if there is no tab stop at the current cursor position.\n */\nhterm.Terminal.prototype.clearTabStopAtCursor = function() {\n var column = this.screen_.cursorPosition.column;\n\n var i = this.tabStops_.indexOf(column);\n if (i == -1)\n return;\n\n this.tabStops_.splice(i, 1);\n};\n\n/**\n * Clear all tab stops.\n */\nhterm.Terminal.prototype.clearAllTabStops = function() {\n this.tabStops_.length = 0;\n this.defaultTabStops = false;\n};\n\n/**\n * Set up the default tab stops, starting from a given column.\n *\n * This sets a tabstop every (column % this.tabWidth) column, starting\n * from the specified column, or 0 if no column is provided. It also flags\n * future resizes to set them up.\n *\n * This does not clear the existing tab stops first, use clearAllTabStops\n * for that.\n *\n * @param {integer} opt_start Optional starting zero based starting column, useful\n * for filling out missing tab stops when the terminal is resized.\n */\nhterm.Terminal.prototype.setDefaultTabStops = function(opt_start) {\n var start = opt_start || 0;\n var w = this.tabWidth;\n // Round start up to a default tab stop.\n start = start - 1 - ((start - 1) % w) + w;\n for (var i = start; i < this.screenSize.width; i += w) {\n this.setTabStop(i);\n }\n\n this.defaultTabStops = true;\n};\n\n/**\n * Interpret a sequence of characters.\n *\n * Incomplete escape sequences are buffered until the next call.\n *\n * @param {string} str Sequence of characters to interpret or pass through.\n */\nhterm.Terminal.prototype.interpret = function(str) {\n this.vt.interpret(str);\n this.scheduleSyncCursorPosition_();\n};\n\n/**\n * Take over the given DIV for use as the terminal display.\n *\n * @param {HTMLDivElement} div The div to use as the terminal display.\n */\nhterm.Terminal.prototype.decorate = function(div) {\n this.div_ = div;\n\n this.scrollPort_.decorate(div);\n this.scrollPort_.setBackgroundImage(this.prefs_.get('background-image'));\n this.scrollPort_.setBackgroundSize(this.prefs_.get('background-size'));\n this.scrollPort_.setBackgroundPosition(\n this.prefs_.get('background-position'));\n this.scrollPort_.setUserCssUrl(this.prefs_.get('user-css'));\n this.scrollPort_.setUserCssText(this.prefs_.get('user-css-text'));\n\n this.div_.focus = this.focus.bind(this);\n\n this.setFontSize(this.prefs_.get('font-size'));\n this.syncFontFamily();\n\n this.setScrollbarVisible(this.prefs_.get('scrollbar-visible'));\n this.setScrollWheelMoveMultipler(\n this.prefs_.get('scroll-wheel-move-multiplier'));\n\n this.document_ = this.scrollPort_.getDocument();\n\n this.document_.body.oncontextmenu = function() { return false; };\n\n var onMouse = this.onMouse_.bind(this);\n var screenNode = this.scrollPort_.getScreenNode();\n screenNode.addEventListener('mousedown', onMouse);\n screenNode.addEventListener('mouseup', onMouse);\n screenNode.addEventListener('mousemove', onMouse);\n this.scrollPort_.onScrollWheel = onMouse;\n\n screenNode.addEventListener(\n 'focus', this.onFocusChange_.bind(this, true));\n // Listen for mousedown events on the screenNode as in FF the focus\n // events don't bubble.\n screenNode.addEventListener('mousedown', function() {\n setTimeout(this.onFocusChange_.bind(this, true));\n }.bind(this));\n\n screenNode.addEventListener(\n 'blur', this.onFocusChange_.bind(this, false));\n\n var style = this.document_.createElement('style');\n style.textContent =\n ('.cursor-node[focus=\"false\"] {' +\n ' box-sizing: border-box;' +\n ' background-color: transparent !important;' +\n ' border-width: 2px;' +\n ' border-style: solid;' +\n '}' +\n '.wc-node {' +\n ' display: inline-block;' +\n ' text-align: center;' +\n ' width: calc(var(--hterm-charsize-width) * 2);' +\n ' line-height: var(--hterm-charsize-height);' +\n '}' +\n ':root {' +\n ' --hterm-charsize-width: ' + this.scrollPort_.characterSize.width + 'px;' +\n ' --hterm-charsize-height: ' + this.scrollPort_.characterSize.height + 'px;' +\n ' --hterm-cursor-offset-col: 0;' +\n ' --hterm-cursor-offset-row: 0;' +\n ' --hterm-blink-node-duration: 0.7s;' +\n ' --hterm-mouse-cursor-text: text;' +\n ' --hterm-mouse-cursor-pointer: default;' +\n ' --hterm-mouse-cursor-style: var(--hterm-mouse-cursor-text);' +\n '}' +\n '@keyframes blink {' +\n ' from { opacity: 1.0; }' +\n ' to { opacity: 0.0; }' +\n '}' +\n '.blink-node {' +\n ' animation-name: blink;' +\n ' animation-duration: var(--hterm-blink-node-duration);' +\n ' animation-iteration-count: infinite;' +\n ' animation-timing-function: ease-in-out;' +\n ' animation-direction: alternate;' +\n '}');\n this.document_.head.appendChild(style);\n\n this.cursorNode_ = this.document_.createElement('div');\n this.cursorNode_.id = 'hterm:terminal-cursor';\n this.cursorNode_.className = 'cursor-node';\n this.cursorNode_.style.cssText =\n ('position: absolute;' +\n 'left: calc(var(--hterm-charsize-width) * var(--hterm-cursor-offset-col));' +\n 'top: calc(var(--hterm-charsize-height) * var(--hterm-cursor-offset-row));' +\n 'display: block;' +\n 'width: var(--hterm-charsize-width);' +\n 'height: var(--hterm-charsize-height);' +\n '-webkit-transition: opacity, background-color 100ms linear;' +\n '-moz-transition: opacity, background-color 100ms linear;');\n\n this.setCursorColor(this.prefs_.get('cursor-color'));\n this.setCursorBlink(!!this.prefs_.get('cursor-blink'));\n this.restyleCursor_();\n\n this.document_.body.appendChild(this.cursorNode_);\n\n // When 'enableMouseDragScroll' is off we reposition this element directly\n // under the mouse cursor after a click. This makes Chrome associate\n // subsequent mousemove events with the scroll-blocker. Since the\n // scroll-blocker is a peer (not a child) of the scrollport, the mousemove\n // events do not cause the scrollport to scroll.\n //\n // It's a hack, but it's the cleanest way I could find.\n this.scrollBlockerNode_ = this.document_.createElement('div');\n this.scrollBlockerNode_.id = 'hterm:mouse-drag-scroll-blocker';\n this.scrollBlockerNode_.style.cssText =\n ('position: absolute;' +\n 'top: -99px;' +\n 'display: block;' +\n 'width: 10px;' +\n 'height: 10px;');\n this.document_.body.appendChild(this.scrollBlockerNode_);\n\n this.scrollPort_.onScrollWheel = onMouse;\n ['mousedown', 'mouseup', 'mousemove', 'click', 'dblclick',\n ].forEach(function(event) {\n this.scrollBlockerNode_.addEventListener(event, onMouse);\n this.cursorNode_.addEventListener(event, onMouse);\n this.document_.addEventListener(event, onMouse);\n }.bind(this));\n\n this.cursorNode_.addEventListener('mousedown', function() {\n setTimeout(this.focus.bind(this));\n }.bind(this));\n\n this.setReverseVideo(false);\n\n this.scrollPort_.focus();\n this.scrollPort_.scheduleRedraw();\n};\n\n/**\n * Return the HTML document that contains the terminal DOM nodes.\n *\n * @return {HTMLDocument}\n */\nhterm.Terminal.prototype.getDocument = function() {\n return this.document_;\n};\n\n/**\n * Focus the terminal.\n */\nhterm.Terminal.prototype.focus = function() {\n this.scrollPort_.focus();\n};\n\n/**\n * Return the HTML Element for a given row index.\n *\n * This is a method from the RowProvider interface. The ScrollPort uses\n * it to fetch rows on demand as they are scrolled into view.\n *\n * TODO(rginda): Consider saving scrollback rows as (HTML source, text content)\n * pairs to conserve memory.\n *\n * @param {integer} index The zero-based row index, measured relative to the\n * start of the scrollback buffer. On-screen rows will always have the\n * largest indices.\n * @return {HTMLElement} The 'x-row' element containing for the requested row.\n */\nhterm.Terminal.prototype.getRowNode = function(index) {\n if (index < this.scrollbackRows_.length)\n return this.scrollbackRows_[index];\n\n var screenIndex = index - this.scrollbackRows_.length;\n return this.screen_.rowsArray[screenIndex];\n};\n\n/**\n * Return the text content for a given range of rows.\n *\n * This is a method from the RowProvider interface. The ScrollPort uses\n * it to fetch text content on demand when the user attempts to copy their\n * selection to the clipboard.\n *\n * @param {integer} start The zero-based row index to start from, measured\n * relative to the start of the scrollback buffer. On-screen rows will\n * always have the largest indices.\n * @param {integer} end The zero-based row index to end on, measured\n * relative to the start of the scrollback buffer.\n * @return {string} A single string containing the text value of the range of\n * rows. Lines will be newline delimited, with no trailing newline.\n */\nhterm.Terminal.prototype.getRowsText = function(start, end) {\n var ary = [];\n for (var i = start; i < end; i++) {\n var node = this.getRowNode(i);\n ary.push(node.textContent);\n if (i < end - 1 && !node.getAttribute('line-overflow'))\n ary.push('\\n');\n }\n\n return ary.join('');\n};\n\n/**\n * Return the text content for a given row.\n *\n * This is a method from the RowProvider interface. The ScrollPort uses\n * it to fetch text content on demand when the user attempts to copy their\n * selection to the clipboard.\n *\n * @param {integer} index The zero-based row index to return, measured\n * relative to the start of the scrollback buffer. On-screen rows will\n * always have the largest indices.\n * @return {string} A string containing the text value of the selected row.\n */\nhterm.Terminal.prototype.getRowText = function(index) {\n var node = this.getRowNode(index);\n return node.textContent;\n};\n\n/**\n * Return the total number of rows in the addressable screen and in the\n * scrollback buffer of this terminal.\n *\n * This is a method from the RowProvider interface. The ScrollPort uses\n * it to compute the size of the scrollbar.\n *\n * @return {integer} The number of rows in this terminal.\n */\nhterm.Terminal.prototype.getRowCount = function() {\n return this.scrollbackRows_.length + this.screen_.rowsArray.length;\n};\n\n/**\n * Create DOM nodes for new rows and append them to the end of the terminal.\n *\n * This is the only correct way to add a new DOM node for a row. Notice that\n * the new row is appended to the bottom of the list of rows, and does not\n * require renumbering (of the rowIndex property) of previous rows.\n *\n * If you think you want a new blank row somewhere in the middle of the\n * terminal, look into moveRows_().\n *\n * This method does not pay attention to vtScrollTop/Bottom, since you should\n * be using moveRows() in cases where they would matter.\n *\n * The cursor will be positioned at column 0 of the first inserted line.\n *\n * @param {number} count The number of rows to created.\n */\nhterm.Terminal.prototype.appendRows_ = function(count) {\n var cursorRow = this.screen_.rowsArray.length;\n var offset = this.scrollbackRows_.length + cursorRow;\n for (var i = 0; i < count; i++) {\n var row = this.document_.createElement('x-row');\n row.appendChild(this.document_.createTextNode(''));\n row.rowIndex = offset + i;\n this.screen_.pushRow(row);\n }\n\n var extraRows = this.screen_.rowsArray.length - this.screenSize.height;\n if (extraRows > 0) {\n var ary = this.screen_.shiftRows(extraRows);\n Array.prototype.push.apply(this.scrollbackRows_, ary);\n if (this.scrollPort_.isScrolledEnd)\n this.scheduleScrollDown_();\n }\n\n if (cursorRow >= this.screen_.rowsArray.length)\n cursorRow = this.screen_.rowsArray.length - 1;\n\n this.setAbsoluteCursorPosition(cursorRow, 0);\n};\n\n/**\n * Relocate rows from one part of the addressable screen to another.\n *\n * This is used to recycle rows during VT scrolls (those which are driven\n * by VT commands, rather than by the user manipulating the scrollbar.)\n *\n * In this case, the blank lines scrolled into the scroll region are made of\n * the nodes we scrolled off. These have their rowIndex properties carefully\n * renumbered so as not to confuse the ScrollPort.\n *\n * @param {number} fromIndex The start index.\n * @param {number} count The number of rows to move.\n * @param {number} toIndex The destination index.\n */\nhterm.Terminal.prototype.moveRows_ = function(fromIndex, count, toIndex) {\n var ary = this.screen_.removeRows(fromIndex, count);\n this.screen_.insertRows(toIndex, ary);\n\n var start, end;\n if (fromIndex < toIndex) {\n start = fromIndex;\n end = toIndex + count;\n } else {\n start = toIndex;\n end = fromIndex + count;\n }\n\n this.renumberRows_(start, end);\n this.scrollPort_.scheduleInvalidate();\n};\n\n/**\n * Renumber the rowIndex property of the given range of rows.\n *\n * The start and end indices are relative to the screen, not the scrollback.\n * Rows in the scrollback buffer cannot be renumbered. Since they are not\n * addressable (you can't delete them, scroll them, etc), you should have\n * no need to renumber scrollback rows.\n *\n * @param {number} start The start index.\n * @param {number} end The end index.\n * @param {hterm.Screen} opt_screen The screen to renumber.\n */\nhterm.Terminal.prototype.renumberRows_ = function(start, end, opt_screen) {\n var screen = opt_screen || this.screen_;\n\n var offset = this.scrollbackRows_.length;\n for (var i = start; i < end; i++) {\n screen.rowsArray[i].rowIndex = offset + i;\n }\n};\n\n/**\n * Print a string to the terminal.\n *\n * This respects the current insert and wraparound modes. It will add new lines\n * to the end of the terminal, scrolling off the top into the scrollback buffer\n * if necessary.\n *\n * The string is *not* parsed for escape codes. Use the interpret() method if\n * that's what you're after.\n *\n * @param{string} str The string to print.\n */\nhterm.Terminal.prototype.print = function(str) {\n var startOffset = 0;\n\n var strWidth = lib.wc.strWidth(str);\n\n while (startOffset < strWidth) {\n if (this.options_.wraparound && this.screen_.cursorPosition.overflow) {\n this.screen_.commitLineOverflow();\n this.newLine();\n }\n\n var count = strWidth - startOffset;\n var didOverflow = false;\n var substr;\n\n if (this.screen_.cursorPosition.column + count >= this.screenSize.width) {\n didOverflow = true;\n count = this.screenSize.width - this.screen_.cursorPosition.column;\n }\n\n if (didOverflow && !this.options_.wraparound) {\n // If the string overflowed the line but wraparound is off, then the\n // last printed character should be the last of the string.\n // TODO: This will add to our problems with multibyte UTF-16 characters.\n substr = lib.wc.substr(str, startOffset, count - 1) +\n lib.wc.substr(str, strWidth - 1);\n count = strWidth;\n } else {\n substr = lib.wc.substr(str, startOffset, count);\n }\n\n var tokens = hterm.TextAttributes.splitWidecharString(substr);\n for (var i = 0; i < tokens.length; i++) {\n this.screen_.textAttributes.wcNode = tokens[i].wcNode;\n this.screen_.textAttributes.asciiNode = tokens[i].asciiNode;\n\n if (this.options_.insertMode) {\n this.screen_.insertString(tokens[i].str);\n } else {\n this.screen_.overwriteString(tokens[i].str);\n }\n this.screen_.textAttributes.wcNode = false;\n this.screen_.textAttributes.asciiNode = true;\n }\n\n this.screen_.maybeClipCurrentRow();\n startOffset += count;\n }\n\n this.scheduleSyncCursorPosition_();\n\n if (this.scrollOnOutput_)\n this.scrollPort_.scrollRowToBottom(this.getRowCount());\n};\n\n/**\n * Set the VT scroll region.\n *\n * This also resets the cursor position to the absolute (0, 0) position, since\n * that's what xterm appears to do.\n *\n * Setting the scroll region to the full height of the terminal will clear\n * the scroll region. This is *NOT* what most terminals do. We're explicitly\n * going \"off-spec\" here because it makes `screen` and `tmux` overflow into the\n * local scrollback buffer, which means the scrollbars and shift-pgup/pgdn\n * continue to work as most users would expect.\n *\n * @param {integer} scrollTop The zero-based top of the scroll region.\n * @param {integer} scrollBottom The zero-based bottom of the scroll region,\n * inclusive.\n */\nhterm.Terminal.prototype.setVTScrollRegion = function(scrollTop, scrollBottom) {\n if (scrollTop == 0 && scrollBottom == this.screenSize.height - 1) {\n this.vtScrollTop_ = null;\n this.vtScrollBottom_ = null;\n } else {\n this.vtScrollTop_ = scrollTop;\n this.vtScrollBottom_ = scrollBottom;\n }\n};\n\n/**\n * Return the top row index according to the VT.\n *\n * This will return 0 unless the terminal has been told to restrict scrolling\n * to some lower row. It is used for some VT cursor positioning and scrolling\n * commands.\n *\n * @return {integer} The topmost row in the terminal's scroll region.\n */\nhterm.Terminal.prototype.getVTScrollTop = function() {\n if (this.vtScrollTop_ != null)\n return this.vtScrollTop_;\n\n return 0;\n};\n\n/**\n * Return the bottom row index according to the VT.\n *\n * This will return the height of the terminal unless the it has been told to\n * restrict scrolling to some higher row. It is used for some VT cursor\n * positioning and scrolling commands.\n *\n * @return {integer} The bottom most row in the terminal's scroll region.\n */\nhterm.Terminal.prototype.getVTScrollBottom = function() {\n if (this.vtScrollBottom_ != null)\n return this.vtScrollBottom_;\n\n return this.screenSize.height - 1;\n}\n\n/**\n * Process a '\\n' character.\n *\n * If the cursor is on the final row of the terminal this will append a new\n * blank row to the screen and scroll the topmost row into the scrollback\n * buffer.\n *\n * Otherwise, this moves the cursor to column zero of the next row.\n */\nhterm.Terminal.prototype.newLine = function() {\n var cursorAtEndOfScreen = (this.screen_.cursorPosition.row ==\n this.screen_.rowsArray.length - 1);\n\n if (this.vtScrollBottom_ != null) {\n // A VT Scroll region is active, we never append new rows.\n if (this.screen_.cursorPosition.row == this.vtScrollBottom_) {\n // We're at the end of the VT Scroll Region, perform a VT scroll.\n this.vtScrollUp(1);\n this.setAbsoluteCursorPosition(this.screen_.cursorPosition.row, 0);\n } else if (cursorAtEndOfScreen) {\n // We're at the end of the screen, the only thing to do is put the\n // cursor to column 0.\n this.setAbsoluteCursorPosition(this.screen_.cursorPosition.row, 0);\n } else {\n // Anywhere else, advance the cursor row, and reset the column.\n this.setAbsoluteCursorPosition(this.screen_.cursorPosition.row + 1, 0);\n }\n } else if (cursorAtEndOfScreen) {\n // We're at the end of the screen. Append a new row to the terminal,\n // shifting the top row into the scrollback.\n this.appendRows_(1);\n } else {\n // Anywhere else in the screen just moves the cursor.\n this.setAbsoluteCursorPosition(this.screen_.cursorPosition.row + 1, 0);\n }\n};\n\n/**\n * Like newLine(), except maintain the cursor column.\n */\nhterm.Terminal.prototype.lineFeed = function() {\n var column = this.screen_.cursorPosition.column;\n this.newLine();\n this.setCursorColumn(column);\n};\n\n/**\n * If autoCarriageReturn is set then newLine(), else lineFeed().\n */\nhterm.Terminal.prototype.formFeed = function() {\n if (this.options_.autoCarriageReturn) {\n this.newLine();\n } else {\n this.lineFeed();\n }\n};\n\n/**\n * Move the cursor up one row, possibly inserting a blank line.\n *\n * The cursor column is not changed.\n */\nhterm.Terminal.prototype.reverseLineFeed = function() {\n var scrollTop = this.getVTScrollTop();\n var currentRow = this.screen_.cursorPosition.row;\n\n if (currentRow == scrollTop) {\n this.insertLines(1);\n } else {\n this.setAbsoluteCursorRow(currentRow - 1);\n }\n};\n\n/**\n * Replace all characters to the left of the current cursor with the space\n * character.\n *\n * TODO(rginda): This should probably *remove* the characters (not just replace\n * with a space) if there are no characters at or beyond the current cursor\n * position.\n */\nhterm.Terminal.prototype.eraseToLeft = function() {\n var cursor = this.saveCursor();\n this.setCursorColumn(0);\n this.screen_.overwriteString(lib.f.getWhitespace(cursor.column + 1));\n this.restoreCursor(cursor);\n};\n\n/**\n * Erase a given number of characters to the right of the cursor.\n *\n * The cursor position is unchanged.\n *\n * If the current background color is not the default background color this\n * will insert spaces rather than delete. This is unfortunate because the\n * trailing space will affect text selection, but it's difficult to come up\n * with a way to style empty space that wouldn't trip up the hterm.Screen\n * code.\n *\n * eraseToRight is ignored in the presence of a cursor overflow. This deviates\n * from xterm, but agrees with gnome-terminal and konsole, xfce4-terminal. See\n * crbug.com/232390 for details.\n *\n * @param {number} opt_count The number of characters to erase.\n */\nhterm.Terminal.prototype.eraseToRight = function(opt_count) {\n if (this.screen_.cursorPosition.overflow)\n return;\n\n var maxCount = this.screenSize.width - this.screen_.cursorPosition.column;\n var count = opt_count ? Math.min(opt_count, maxCount) : maxCount;\n\n if (this.screen_.textAttributes.background ===\n this.screen_.textAttributes.DEFAULT_COLOR) {\n var cursorRow = this.screen_.rowsArray[this.screen_.cursorPosition.row];\n if (hterm.TextAttributes.nodeWidth(cursorRow) <=\n this.screen_.cursorPosition.column + count) {\n this.screen_.deleteChars(count);\n this.clearCursorOverflow();\n return;\n }\n }\n\n var cursor = this.saveCursor();\n this.screen_.overwriteString(lib.f.getWhitespace(count));\n this.restoreCursor(cursor);\n this.clearCursorOverflow();\n};\n\n/**\n * Erase the current line.\n *\n * The cursor position is unchanged.\n */\nhterm.Terminal.prototype.eraseLine = function() {\n var cursor = this.saveCursor();\n this.screen_.clearCursorRow();\n this.restoreCursor(cursor);\n this.clearCursorOverflow();\n};\n\n/**\n * Erase all characters from the start of the screen to the current cursor\n * position, regardless of scroll region.\n *\n * The cursor position is unchanged.\n */\nhterm.Terminal.prototype.eraseAbove = function() {\n var cursor = this.saveCursor();\n\n this.eraseToLeft();\n\n for (var i = 0; i < cursor.row; i++) {\n this.setAbsoluteCursorPosition(i, 0);\n this.screen_.clearCursorRow();\n }\n\n this.restoreCursor(cursor);\n this.clearCursorOverflow();\n};\n\n/**\n * Erase all characters from the current cursor position to the end of the\n * screen, regardless of scroll region.\n *\n * The cursor position is unchanged.\n */\nhterm.Terminal.prototype.eraseBelow = function() {\n var cursor = this.saveCursor();\n\n this.eraseToRight();\n\n var bottom = this.screenSize.height - 1;\n for (var i = cursor.row + 1; i <= bottom; i++) {\n this.setAbsoluteCursorPosition(i, 0);\n this.screen_.clearCursorRow();\n }\n\n this.restoreCursor(cursor);\n this.clearCursorOverflow();\n};\n\n/**\n * Fill the terminal with a given character.\n *\n * This methods does not respect the VT scroll region.\n *\n * @param {string} ch The character to use for the fill.\n */\nhterm.Terminal.prototype.fill = function(ch) {\n var cursor = this.saveCursor();\n\n this.setAbsoluteCursorPosition(0, 0);\n for (var row = 0; row < this.screenSize.height; row++) {\n for (var col = 0; col < this.screenSize.width; col++) {\n this.setAbsoluteCursorPosition(row, col);\n this.screen_.overwriteString(ch);\n }\n }\n\n this.restoreCursor(cursor);\n};\n\n/**\n * Erase the entire display and leave the cursor at (0, 0).\n *\n * This does not respect the scroll region.\n *\n * @param {hterm.Screen} opt_screen Optional screen to operate on. Defaults\n * to the current screen.\n */\nhterm.Terminal.prototype.clearHome = function(opt_screen) {\n var screen = opt_screen || this.screen_;\n var bottom = screen.getHeight();\n\n if (bottom == 0) {\n // Empty screen, nothing to do.\n return;\n }\n\n for (var i = 0; i < bottom; i++) {\n screen.setCursorPosition(i, 0);\n screen.clearCursorRow();\n }\n\n screen.setCursorPosition(0, 0);\n};\n\n/**\n * Erase the entire display without changing the cursor position.\n *\n * The cursor position is unchanged. This does not respect the scroll\n * region.\n *\n * @param {hterm.Screen} opt_screen Optional screen to operate on. Defaults\n * to the current screen.\n */\nhterm.Terminal.prototype.clear = function(opt_screen) {\n var screen = opt_screen || this.screen_;\n var cursor = screen.cursorPosition.clone();\n this.clearHome(screen);\n screen.setCursorPosition(cursor.row, cursor.column);\n};\n\n/**\n * VT command to insert lines at the current cursor row.\n *\n * This respects the current scroll region. Rows pushed off the bottom are\n * lost (they won't show up in the scrollback buffer).\n *\n * @param {integer} count The number of lines to insert.\n */\nhterm.Terminal.prototype.insertLines = function(count) {\n var cursorRow = this.screen_.cursorPosition.row;\n\n var bottom = this.getVTScrollBottom();\n count = Math.min(count, bottom - cursorRow);\n\n // The moveCount is the number of rows we need to relocate to make room for\n // the new row(s). The count is the distance to move them.\n var moveCount = bottom - cursorRow - count + 1;\n if (moveCount)\n this.moveRows_(cursorRow, moveCount, cursorRow + count);\n\n for (var i = count - 1; i >= 0; i--) {\n this.setAbsoluteCursorPosition(cursorRow + i, 0);\n this.screen_.clearCursorRow();\n }\n};\n\n/**\n * VT command to delete lines at the current cursor row.\n *\n * New rows are added to the bottom of scroll region to take their place. New\n * rows are strictly there to take up space and have no content or style.\n *\n * @param {number} count The number of lines to delete.\n */\nhterm.Terminal.prototype.deleteLines = function(count) {\n var cursor = this.saveCursor();\n\n var top = cursor.row;\n var bottom = this.getVTScrollBottom();\n\n var maxCount = bottom - top + 1;\n count = Math.min(count, maxCount);\n\n var moveStart = bottom - count + 1;\n if (count != maxCount)\n this.moveRows_(top, count, moveStart);\n\n for (var i = 0; i < count; i++) {\n this.setAbsoluteCursorPosition(moveStart + i, 0);\n this.screen_.clearCursorRow();\n }\n\n this.restoreCursor(cursor);\n this.clearCursorOverflow();\n};\n\n/**\n * Inserts the given number of spaces at the current cursor position.\n *\n * The cursor position is not changed.\n *\n * @param {number} count The number of spaces to insert.\n */\nhterm.Terminal.prototype.insertSpace = function(count) {\n var cursor = this.saveCursor();\n\n var ws = lib.f.getWhitespace(count || 1);\n this.screen_.insertString(ws);\n this.screen_.maybeClipCurrentRow();\n\n this.restoreCursor(cursor);\n this.clearCursorOverflow();\n};\n\n/**\n * Forward-delete the specified number of characters starting at the cursor\n * position.\n *\n * @param {integer} count The number of characters to delete.\n */\nhterm.Terminal.prototype.deleteChars = function(count) {\n var deleted = this.screen_.deleteChars(count);\n if (deleted && !this.screen_.textAttributes.isDefault()) {\n var cursor = this.saveCursor();\n this.setCursorColumn(this.screenSize.width - deleted);\n this.screen_.insertString(lib.f.getWhitespace(deleted));\n this.restoreCursor(cursor);\n }\n\n this.clearCursorOverflow();\n};\n\n/**\n * Shift rows in the scroll region upwards by a given number of lines.\n *\n * New rows are inserted at the bottom of the scroll region to fill the\n * vacated rows. The new rows not filled out with the current text attributes.\n *\n * This function does not affect the scrollback rows at all. Rows shifted\n * off the top are lost.\n *\n * The cursor position is not altered.\n *\n * @param {integer} count The number of rows to scroll.\n */\nhterm.Terminal.prototype.vtScrollUp = function(count) {\n var cursor = this.saveCursor();\n\n this.setAbsoluteCursorRow(this.getVTScrollTop());\n this.deleteLines(count);\n\n this.restoreCursor(cursor);\n};\n\n/**\n * Shift rows below the cursor down by a given number of lines.\n *\n * This function respects the current scroll region.\n *\n * New rows are inserted at the top of the scroll region to fill the\n * vacated rows. The new rows not filled out with the current text attributes.\n *\n * This function does not affect the scrollback rows at all. Rows shifted\n * off the bottom are lost.\n *\n * @param {integer} count The number of rows to scroll.\n */\nhterm.Terminal.prototype.vtScrollDown = function(opt_count) {\n var cursor = this.saveCursor();\n\n this.setAbsoluteCursorPosition(this.getVTScrollTop(), 0);\n this.insertLines(opt_count);\n\n this.restoreCursor(cursor);\n};\n\n\n/**\n * Set the cursor position.\n *\n * The cursor row is relative to the scroll region if the terminal has\n * 'origin mode' enabled, or relative to the addressable screen otherwise.\n *\n * @param {integer} row The new zero-based cursor row.\n * @param {integer} row The new zero-based cursor column.\n */\nhterm.Terminal.prototype.setCursorPosition = function(row, column) {\n if (this.options_.originMode) {\n this.setRelativeCursorPosition(row, column);\n } else {\n this.setAbsoluteCursorPosition(row, column);\n }\n};\n\n/**\n * Move the cursor relative to its current position.\n *\n * @param {number} row\n * @param {number} column\n */\nhterm.Terminal.prototype.setRelativeCursorPosition = function(row, column) {\n var scrollTop = this.getVTScrollTop();\n row = lib.f.clamp(row + scrollTop, scrollTop, this.getVTScrollBottom());\n column = lib.f.clamp(column, 0, this.screenSize.width - 1);\n this.screen_.setCursorPosition(row, column);\n};\n\n/**\n * Move the cursor to the specified position.\n *\n * @param {number} row\n * @param {number} column\n */\nhterm.Terminal.prototype.setAbsoluteCursorPosition = function(row, column) {\n row = lib.f.clamp(row, 0, this.screenSize.height - 1);\n column = lib.f.clamp(column, 0, this.screenSize.width - 1);\n this.screen_.setCursorPosition(row, column);\n};\n\n/**\n * Set the cursor column.\n *\n * @param {integer} column The new zero-based cursor column.\n */\nhterm.Terminal.prototype.setCursorColumn = function(column) {\n this.setAbsoluteCursorPosition(this.screen_.cursorPosition.row, column);\n};\n\n/**\n * Return the cursor column.\n *\n * @return {integer} The zero-based cursor column.\n */\nhterm.Terminal.prototype.getCursorColumn = function() {\n return this.screen_.cursorPosition.column;\n};\n\n/**\n * Set the cursor row.\n *\n * The cursor row is relative to the scroll region if the terminal has\n * 'origin mode' enabled, or relative to the addressable screen otherwise.\n *\n * @param {integer} row The new cursor row.\n */\nhterm.Terminal.prototype.setAbsoluteCursorRow = function(row) {\n this.setAbsoluteCursorPosition(row, this.screen_.cursorPosition.column);\n};\n\n/**\n * Return the cursor row.\n *\n * @return {integer} The zero-based cursor row.\n */\nhterm.Terminal.prototype.getCursorRow = function() {\n return this.screen_.cursorPosition.row;\n};\n\n/**\n * Request that the ScrollPort redraw itself soon.\n *\n * The redraw will happen asynchronously, soon after the call stack winds down.\n * Multiple calls will be coalesced into a single redraw.\n */\nhterm.Terminal.prototype.scheduleRedraw_ = function() {\n if (this.timeouts_.redraw)\n return;\n\n var self = this;\n this.timeouts_.redraw = setTimeout(function() {\n delete self.timeouts_.redraw;\n self.scrollPort_.redraw_();\n }, 0);\n};\n\n/**\n * Request that the ScrollPort be scrolled to the bottom.\n *\n * The scroll will happen asynchronously, soon after the call stack winds down.\n * Multiple calls will be coalesced into a single scroll.\n *\n * This affects the scrollbar position of the ScrollPort, and has nothing to\n * do with the VT scroll commands.\n */\nhterm.Terminal.prototype.scheduleScrollDown_ = function() {\n if (this.timeouts_.scrollDown)\n return;\n\n var self = this;\n this.timeouts_.scrollDown = setTimeout(function() {\n delete self.timeouts_.scrollDown;\n self.scrollPort_.scrollRowToBottom(self.getRowCount());\n }, 10);\n};\n\n/**\n * Move the cursor up a specified number of rows.\n *\n * @param {integer} count The number of rows to move the cursor.\n */\nhterm.Terminal.prototype.cursorUp = function(count) {\n return this.cursorDown(-(count || 1));\n};\n\n/**\n * Move the cursor down a specified number of rows.\n *\n * @param {integer} count The number of rows to move the cursor.\n */\nhterm.Terminal.prototype.cursorDown = function(count) {\n count = count || 1;\n var minHeight = (this.options_.originMode ? this.getVTScrollTop() : 0);\n var maxHeight = (this.options_.originMode ? this.getVTScrollBottom() :\n this.screenSize.height - 1);\n\n var row = lib.f.clamp(this.screen_.cursorPosition.row + count,\n minHeight, maxHeight);\n this.setAbsoluteCursorRow(row);\n};\n\n/**\n * Move the cursor left a specified number of columns.\n *\n * If reverse wraparound mode is enabled and the previous row wrapped into\n * the current row then we back up through the wraparound as well.\n *\n * @param {integer} count The number of columns to move the cursor.\n */\nhterm.Terminal.prototype.cursorLeft = function(count) {\n count = count || 1;\n\n if (count < 1)\n return;\n\n var currentColumn = this.screen_.cursorPosition.column;\n if (this.options_.reverseWraparound) {\n if (this.screen_.cursorPosition.overflow) {\n // If this cursor is in the right margin, consume one count to get it\n // back to the last column. This only applies when we're in reverse\n // wraparound mode.\n count--;\n this.clearCursorOverflow();\n\n if (!count)\n return;\n }\n\n var newRow = this.screen_.cursorPosition.row;\n var newColumn = currentColumn - count;\n if (newColumn < 0) {\n newRow = newRow - Math.floor(count / this.screenSize.width) - 1;\n if (newRow < 0) {\n // xterm also wraps from row 0 to the last row.\n newRow = this.screenSize.height + newRow % this.screenSize.height;\n }\n newColumn = this.screenSize.width + newColumn % this.screenSize.width;\n }\n\n this.setCursorPosition(Math.max(newRow, 0), newColumn);\n\n } else {\n var newColumn = Math.max(currentColumn - count, 0);\n this.setCursorColumn(newColumn);\n }\n};\n\n/**\n * Move the cursor right a specified number of columns.\n *\n * @param {integer} count The number of columns to move the cursor.\n */\nhterm.Terminal.prototype.cursorRight = function(count) {\n count = count || 1;\n\n if (count < 1)\n return;\n\n var column = lib.f.clamp(this.screen_.cursorPosition.column + count,\n 0, this.screenSize.width - 1);\n this.setCursorColumn(column);\n};\n\n/**\n * Reverse the foreground and background colors of the terminal.\n *\n * This only affects text that was drawn with no attributes.\n *\n * TODO(rginda): Test xterm to see if reverse is respected for text that has\n * been drawn with attributes that happen to coincide with the default\n * 'no-attribute' colors. My guess is probably not.\n *\n * @param {boolean} state The state to set.\n */\nhterm.Terminal.prototype.setReverseVideo = function(state) {\n this.options_.reverseVideo = state;\n if (state) {\n this.scrollPort_.setForegroundColor(this.prefs_.get('background-color'));\n this.scrollPort_.setBackgroundColor(this.prefs_.get('foreground-color'));\n } else {\n this.scrollPort_.setForegroundColor(this.prefs_.get('foreground-color'));\n this.scrollPort_.setBackgroundColor(this.prefs_.get('background-color'));\n }\n};\n\n/**\n * Ring the terminal bell.\n *\n * This will not play the bell audio more than once per second.\n */\nhterm.Terminal.prototype.ringBell = function() {\n this.cursorNode_.style.backgroundColor =\n this.scrollPort_.getForegroundColor();\n\n var self = this;\n setTimeout(function() {\n self.cursorNode_.style.backgroundColor = self.prefs_.get('cursor-color');\n }, 200);\n\n // bellSquelchTimeout_ affects both audio and notification bells.\n if (this.bellSquelchTimeout_)\n return;\n\n if (this.bellAudio_.getAttribute('src')) {\n this.bellAudio_.play();\n this.bellSequelchTimeout_ = setTimeout(function() {\n delete this.bellSquelchTimeout_;\n }.bind(this), 500);\n } else {\n delete this.bellSquelchTimeout_;\n }\n\n if (this.desktopNotificationBell_ && !this.document_.hasFocus()) {\n var n = hterm.notify();\n this.bellNotificationList_.push(n);\n // TODO: Should we try to raise the window here?\n n.onclick = function() { self.closeBellNotifications_(); };\n }\n};\n\n/**\n * Set the origin mode bit.\n *\n * If origin mode is on, certain VT cursor and scrolling commands measure their\n * row parameter relative to the VT scroll region. Otherwise, row 0 corresponds\n * to the top of the addressable screen.\n *\n * Defaults to off.\n *\n * @param {boolean} state True to set origin mode, false to unset.\n */\nhterm.Terminal.prototype.setOriginMode = function(state) {\n this.options_.originMode = state;\n this.setCursorPosition(0, 0);\n};\n\n/**\n * Set the insert mode bit.\n *\n * If insert mode is on, existing text beyond the cursor position will be\n * shifted right to make room for new text. Otherwise, new text overwrites\n * any existing text.\n *\n * Defaults to off.\n *\n * @param {boolean} state True to set insert mode, false to unset.\n */\nhterm.Terminal.prototype.setInsertMode = function(state) {\n this.options_.insertMode = state;\n};\n\n/**\n * Set the auto carriage return bit.\n *\n * If auto carriage return is on then a formfeed character is interpreted\n * as a newline, otherwise it's the same as a linefeed. The difference boils\n * down to whether or not the cursor column is reset.\n *\n * @param {boolean} state The state to set.\n */\nhterm.Terminal.prototype.setAutoCarriageReturn = function(state) {\n this.options_.autoCarriageReturn = state;\n};\n\n/**\n * Set the wraparound mode bit.\n *\n * If wraparound mode is on, certain VT commands will allow the cursor to wrap\n * to the start of the following row. Otherwise, the cursor is clamped to the\n * end of the screen and attempts to write past it are ignored.\n *\n * Defaults to on.\n *\n * @param {boolean} state True to set wraparound mode, false to unset.\n */\nhterm.Terminal.prototype.setWraparound = function(state) {\n this.options_.wraparound = state;\n};\n\n/**\n * Set the reverse-wraparound mode bit.\n *\n * If wraparound mode is off, certain VT commands will allow the cursor to wrap\n * to the end of the previous row. Otherwise, the cursor is clamped to column\n * 0.\n *\n * Defaults to off.\n *\n * @param {boolean} state True to set reverse-wraparound mode, false to unset.\n */\nhterm.Terminal.prototype.setReverseWraparound = function(state) {\n this.options_.reverseWraparound = state;\n};\n\n/**\n * Selects between the primary and alternate screens.\n *\n * If alternate mode is on, the alternate screen is active. Otherwise the\n * primary screen is active.\n *\n * Swapping screens has no effect on the scrollback buffer.\n *\n * Each screen maintains its own cursor position.\n *\n * Defaults to off.\n *\n * @param {boolean} state True to set alternate mode, false to unset.\n */\nhterm.Terminal.prototype.setAlternateMode = function(state) {\n var cursor = this.saveCursor();\n this.screen_ = state ? this.alternateScreen_ : this.primaryScreen_;\n\n if (this.screen_.rowsArray.length &&\n this.screen_.rowsArray[0].rowIndex != this.scrollbackRows_.length) {\n // If the screen changed sizes while we were away, our rowIndexes may\n // be incorrect.\n var offset = this.scrollbackRows_.length;\n var ary = this.screen_.rowsArray;\n for (var i = 0; i < ary.length; i++) {\n ary[i].rowIndex = offset + i;\n }\n }\n\n this.realizeWidth_(this.screenSize.width);\n this.realizeHeight_(this.screenSize.height);\n this.scrollPort_.syncScrollHeight();\n this.scrollPort_.invalidate();\n\n this.restoreCursor(cursor);\n this.scrollPort_.resize();\n};\n\n/**\n * Set the cursor-blink mode bit.\n *\n * If cursor-blink is on, the cursor will blink when it is visible. Otherwise\n * a visible cursor does not blink.\n *\n * You should make sure to turn blinking off if you're going to dispose of a\n * terminal, otherwise you'll leak a timeout.\n *\n * Defaults to on.\n *\n * @param {boolean} state True to set cursor-blink mode, false to unset.\n */\nhterm.Terminal.prototype.setCursorBlink = function(state) {\n this.options_.cursorBlink = state;\n\n if (!state && this.timeouts_.cursorBlink) {\n clearTimeout(this.timeouts_.cursorBlink);\n delete this.timeouts_.cursorBlink;\n }\n\n if (this.options_.cursorVisible)\n this.setCursorVisible(true);\n};\n\n/**\n * Set the cursor-visible mode bit.\n *\n * If cursor-visible is on, the cursor will be visible. Otherwise it will not.\n *\n * Defaults to on.\n *\n * @param {boolean} state True to set cursor-visible mode, false to unset.\n */\nhterm.Terminal.prototype.setCursorVisible = function(state) {\n this.options_.cursorVisible = state;\n\n if (!state) {\n if (this.timeouts_.cursorBlink) {\n clearTimeout(this.timeouts_.cursorBlink);\n delete this.timeouts_.cursorBlink;\n }\n this.cursorNode_.style.opacity = '0';\n return;\n }\n\n this.syncCursorPosition_();\n\n this.cursorNode_.style.opacity = '1';\n\n if (this.options_.cursorBlink) {\n if (this.timeouts_.cursorBlink)\n return;\n\n this.onCursorBlink_();\n } else {\n if (this.timeouts_.cursorBlink) {\n clearTimeout(this.timeouts_.cursorBlink);\n delete this.timeouts_.cursorBlink;\n }\n }\n};\n\n/**\n * Synchronizes the visible cursor and document selection with the current\n * cursor coordinates.\n */\nhterm.Terminal.prototype.syncCursorPosition_ = function() {\n var topRowIndex = this.scrollPort_.getTopRowIndex();\n var bottomRowIndex = this.scrollPort_.getBottomRowIndex(topRowIndex);\n var cursorRowIndex = this.scrollbackRows_.length +\n this.screen_.cursorPosition.row;\n\n if (cursorRowIndex > bottomRowIndex) {\n // Cursor is scrolled off screen, move it outside of the visible area.\n this.setCssVar('cursor-offset-row', '-1');\n return;\n }\n\n if (this.options_.cursorVisible &&\n this.cursorNode_.style.display == 'none') {\n // Re-display the terminal cursor if it was hidden by the mouse cursor.\n this.cursorNode_.style.display = '';\n }\n\n // Position the cursor using CSS variable math. If we do the math in JS,\n // the float math will end up being more precise than the CSS which will\n // cause the cursor tracking to be off.\n this.setCssVar(\n 'cursor-offset-row',\n `${cursorRowIndex - topRowIndex} + ` +\n `${this.scrollPort_.visibleRowTopMargin}px`);\n this.setCssVar('cursor-offset-col', this.screen_.cursorPosition.column);\n\n this.cursorNode_.setAttribute('title',\n '(' + this.screen_.cursorPosition.column +\n ', ' + this.screen_.cursorPosition.row +\n ')');\n\n // Update the caret for a11y purposes.\n var selection = this.document_.getSelection();\n if (selection && selection.isCollapsed)\n this.screen_.syncSelectionCaret(selection);\n};\n\n/**\n * Adjusts the style of this.cursorNode_ according to the current cursor shape\n * and character cell dimensions.\n */\nhterm.Terminal.prototype.restyleCursor_ = function() {\n var shape = this.cursorShape_;\n\n if (this.cursorNode_.getAttribute('focus') == 'false') {\n // Always show a block cursor when unfocused.\n shape = hterm.Terminal.cursorShape.BLOCK;\n }\n\n var style = this.cursorNode_.style;\n\n switch (shape) {\n case hterm.Terminal.cursorShape.BEAM:\n style.height = 'var(--hterm-charsize-height)';\n style.backgroundColor = 'transparent';\n style.borderBottomStyle = null;\n style.borderLeftStyle = 'solid';\n break;\n\n case hterm.Terminal.cursorShape.UNDERLINE:\n style.height = this.scrollPort_.characterSize.baseline + 'px';\n style.backgroundColor = 'transparent';\n style.borderBottomStyle = 'solid';\n // correct the size to put it exactly at the baseline\n style.borderLeftStyle = null;\n break;\n\n default:\n style.height = 'var(--hterm-charsize-height)';\n style.backgroundColor = this.cursorColor_;\n style.borderBottomStyle = null;\n style.borderLeftStyle = null;\n break;\n }\n};\n\n/**\n * Synchronizes the visible cursor with the current cursor coordinates.\n *\n * The sync will happen asynchronously, soon after the call stack winds down.\n * Multiple calls will be coalesced into a single sync.\n */\nhterm.Terminal.prototype.scheduleSyncCursorPosition_ = function() {\n if (this.timeouts_.syncCursor)\n return;\n\n var self = this;\n this.timeouts_.syncCursor = setTimeout(function() {\n self.syncCursorPosition_();\n delete self.timeouts_.syncCursor;\n }, 0);\n};\n\n/**\n * Show or hide the zoom warning.\n *\n * The zoom warning is a message warning the user that their browser zoom must\n * be set to 100% in order for hterm to function properly.\n *\n * @param {boolean} state True to show the message, false to hide it.\n */\nhterm.Terminal.prototype.showZoomWarning_ = function(state) {\n if (!this.zoomWarningNode_) {\n if (!state)\n return;\n\n this.zoomWarningNode_ = this.document_.createElement('div');\n this.zoomWarningNode_.id = 'hterm:zoom-warning';\n this.zoomWarningNode_.style.cssText = (\n 'color: black;' +\n 'background-color: #ff2222;' +\n 'font-size: large;' +\n 'border-radius: 8px;' +\n 'opacity: 0.75;' +\n 'padding: 0.2em 0.5em 0.2em 0.5em;' +\n 'top: 0.5em;' +\n 'right: 1.2em;' +\n 'position: absolute;' +\n '-webkit-text-size-adjust: none;' +\n '-webkit-user-select: none;' +\n '-moz-text-size-adjust: none;' +\n '-moz-user-select: none;');\n\n this.zoomWarningNode_.addEventListener('click', function(e) {\n this.parentNode.removeChild(this);\n });\n }\n\n this.zoomWarningNode_.textContent = lib.MessageManager.replaceReferences(\n hterm.zoomWarningMessage,\n [parseInt(this.scrollPort_.characterSize.zoomFactor * 100)]);\n\n this.zoomWarningNode_.style.fontFamily = this.prefs_.get('font-family');\n\n if (state) {\n if (!this.zoomWarningNode_.parentNode)\n this.div_.parentNode.appendChild(this.zoomWarningNode_);\n } else if (this.zoomWarningNode_.parentNode) {\n this.zoomWarningNode_.parentNode.removeChild(this.zoomWarningNode_);\n }\n};\n\n/**\n * Show the terminal overlay for a given amount of time.\n *\n * The terminal overlay appears in inverse video in a large font, centered\n * over the terminal. You should probably keep the overlay message brief,\n * since it's in a large font and you probably aren't going to check the size\n * of the terminal first.\n *\n * @param {string} msg The text (not HTML) message to display in the overlay.\n * @param {number} opt_timeout The amount of time to wait before fading out\n * the overlay. Defaults to 1.5 seconds. Pass null to have the overlay\n * stay up forever (or until the next overlay).\n */\nhterm.Terminal.prototype.showOverlay = function(msg, opt_timeout) {\n if (!this.overlayNode_) {\n if (!this.div_)\n return;\n\n this.overlayNode_ = this.document_.createElement('div');\n this.overlayNode_.style.cssText = (\n 'border-radius: 15px;' +\n 'font-size: xx-large;' +\n 'opacity: 0.75;' +\n 'padding: 0.2em 0.5em 0.2em 0.5em;' +\n 'position: absolute;' +\n '-webkit-user-select: none;' +\n '-webkit-transition: opacity 180ms ease-in;' +\n '-moz-user-select: none;' +\n '-moz-transition: opacity 180ms ease-in;');\n\n this.overlayNode_.addEventListener('mousedown', function(e) {\n e.preventDefault();\n e.stopPropagation();\n }, true);\n }\n\n this.overlayNode_.style.color = this.prefs_.get('background-color');\n this.overlayNode_.style.backgroundColor = this.prefs_.get('foreground-color');\n this.overlayNode_.style.fontFamily = this.prefs_.get('font-family');\n\n this.overlayNode_.textContent = msg;\n this.overlayNode_.style.opacity = '0.75';\n\n if (!this.overlayNode_.parentNode)\n this.div_.appendChild(this.overlayNode_);\n\n var divSize = hterm.getClientSize(this.div_);\n var overlaySize = hterm.getClientSize(this.overlayNode_);\n\n this.overlayNode_.style.top =\n (divSize.height - overlaySize.height) / 2 + 'px';\n this.overlayNode_.style.left = (divSize.width - overlaySize.width -\n this.scrollPort_.currentScrollbarWidthPx) / 2 + 'px';\n\n var self = this;\n\n if (this.overlayTimeout_)\n clearTimeout(this.overlayTimeout_);\n\n if (opt_timeout === null)\n return;\n\n this.overlayTimeout_ = setTimeout(function() {\n self.overlayNode_.style.opacity = '0';\n self.overlayTimeout_ = setTimeout(function() {\n if (self.overlayNode_.parentNode)\n self.overlayNode_.parentNode.removeChild(self.overlayNode_);\n self.overlayTimeout_ = null;\n self.overlayNode_.style.opacity = '0.75';\n }, 200);\n }, opt_timeout || 1500);\n};\n\n/**\n * Paste from the system clipboard to the terminal.\n */\nhterm.Terminal.prototype.paste = function() {\n return hterm.pasteFromClipboard(this.document_);\n};\n\n/**\n * Copy a string to the system clipboard.\n *\n * Note: If there is a selected range in the terminal, it'll be cleared.\n *\n * @param {string} str The string to copy.\n */\nhterm.Terminal.prototype.copyStringToClipboard = function(str) {\n if (this.prefs_.get('enable-clipboard-notice'))\n setTimeout(this.showOverlay.bind(this, hterm.notifyCopyMessage, 500), 200);\n\n var copySource = this.document_.createElement('pre');\n copySource.id = 'hterm:copy-to-clipboard-source';\n copySource.textContent = str;\n copySource.style.cssText = (\n '-webkit-user-select: text;' +\n '-moz-user-select: text;' +\n 'position: absolute;' +\n 'top: -99px');\n\n this.document_.body.appendChild(copySource);\n\n var selection = this.document_.getSelection();\n var anchorNode = selection.anchorNode;\n var anchorOffset = selection.anchorOffset;\n var focusNode = selection.focusNode;\n var focusOffset = selection.focusOffset;\n\n selection.selectAllChildren(copySource);\n\n hterm.copySelectionToClipboard(this.document_);\n\n // IE doesn't support selection.extend. This means that the selection\n // won't return on IE.\n if (selection.extend) {\n selection.collapse(anchorNode, anchorOffset);\n selection.extend(focusNode, focusOffset);\n }\n\n copySource.parentNode.removeChild(copySource);\n};\n\n/**\n * Returns the selected text, or null if no text is selected.\n *\n * @return {string|null}\n */\nhterm.Terminal.prototype.getSelectionText = function() {\n var selection = this.scrollPort_.selection;\n selection.sync();\n\n if (selection.isCollapsed)\n return null;\n\n\n // Start offset measures from the beginning of the line.\n var startOffset = selection.startOffset;\n var node = selection.startNode;\n\n if (node.nodeName != 'X-ROW') {\n // If the selection doesn't start on an x-row node, then it must be\n // somewhere inside the x-row. Add any characters from previous siblings\n // into the start offset.\n\n if (node.nodeName == '#text' && node.parentNode.nodeName == 'SPAN') {\n // If node is the text node in a styled span, move up to the span node.\n node = node.parentNode;\n }\n\n while (node.previousSibling) {\n node = node.previousSibling;\n startOffset += hterm.TextAttributes.nodeWidth(node);\n }\n }\n\n // End offset measures from the end of the line.\n var endOffset = (hterm.TextAttributes.nodeWidth(selection.endNode) -\n selection.endOffset);\n node = selection.endNode;\n\n if (node.nodeName != 'X-ROW') {\n // If the selection doesn't end on an x-row node, then it must be\n // somewhere inside the x-row. Add any characters from following siblings\n // into the end offset.\n\n if (node.nodeName == '#text' && node.parentNode.nodeName == 'SPAN') {\n // If node is the text node in a styled span, move up to the span node.\n node = node.parentNode;\n }\n\n while (node.nextSibling) {\n node = node.nextSibling;\n endOffset += hterm.TextAttributes.nodeWidth(node);\n }\n }\n\n var rv = this.getRowsText(selection.startRow.rowIndex,\n selection.endRow.rowIndex + 1);\n return lib.wc.substring(rv, startOffset, lib.wc.strWidth(rv) - endOffset);\n};\n\n/**\n * Copy the current selection to the system clipboard, then clear it after a\n * short delay.\n */\nhterm.Terminal.prototype.copySelectionToClipboard = function() {\n var text = this.getSelectionText();\n if (text != null)\n this.copyStringToClipboard(text);\n};\n\nhterm.Terminal.prototype.overlaySize = function() {\n this.showOverlay(this.screenSize.width + 'x' + this.screenSize.height);\n};\n\n/**\n * Invoked by hterm.Terminal.Keyboard when a VT keystroke is detected.\n *\n * @param {string} string The VT string representing the keystroke, in UTF-16.\n */\nhterm.Terminal.prototype.onVTKeystroke = function(string) {\n if (this.scrollOnKeystroke_)\n this.scrollPort_.scrollRowToBottom(this.getRowCount());\n\n this.io.onVTKeystroke(this.keyboard.encode(string));\n};\n\n/**\n * Launches url in a new tab.\n *\n * @param {string} url URL to launch in a new tab.\n */\nhterm.Terminal.prototype.openUrl = function(url) {\n if (window.chrome && window.chrome.browser) {\n // For Chrome v2 apps, we need to use this API to properly open windows.\n chrome.browser.openTab({'url': url});\n } else {\n var win = window.open(url, '_blank');\n win.focus();\n }\n}\n\n/**\n * Open the selected url.\n */\nhterm.Terminal.prototype.openSelectedUrl_ = function() {\n var str = this.getSelectionText();\n\n // If there is no selection, try and expand wherever they clicked.\n if (str == null) {\n this.screen_.expandSelection(this.document_.getSelection());\n str = this.getSelectionText();\n\n // If clicking in empty space, return.\n if (str == null)\n return;\n }\n\n // Make sure URL is valid before opening.\n if (str.length > 2048 || str.search(/[\\s\\[\\](){}<>\"'\\\\^`]/) >= 0)\n return;\n\n // If the URI isn't anchored, it'll open relative to the extension.\n // We have no way of knowing the correct schema, so assume http.\n if (str.search('^[a-zA-Z][a-zA-Z0-9+.-]*://') < 0) {\n // We have to whitelist a few protocols that lack authorities and thus\n // never use the //. Like mailto.\n switch (str.split(':', 1)[0]) {\n case 'mailto':\n break;\n default:\n str = 'http://' + str;\n break;\n }\n }\n\n this.openUrl(str);\n}\n\n\n/**\n * Add the terminalRow and terminalColumn properties to mouse events and\n * then forward on to onMouse().\n *\n * The terminalRow and terminalColumn properties contain the (row, column)\n * coordinates for the mouse event.\n *\n * @param {Event} e The mouse event to handle.\n */\nhterm.Terminal.prototype.onMouse_ = function(e) {\n if (e.processedByTerminalHandler_) {\n // We register our event handlers on the document, as well as the cursor\n // and the scroll blocker. Mouse events that occur on the cursor or\n // scroll blocker will also appear on the document, but we don't want to\n // process them twice.\n //\n // We can't just prevent bubbling because that has other side effects, so\n // we decorate the event object with this property instead.\n return;\n }\n\n var reportMouseEvents = (!this.defeatMouseReports_ &&\n this.vt.mouseReport != this.vt.MOUSE_REPORT_DISABLED);\n\n e.processedByTerminalHandler_ = true;\n\n // One based row/column stored on the mouse event.\n e.terminalRow = parseInt((e.clientY - this.scrollPort_.visibleRowTopMargin) /\n this.scrollPort_.characterSize.height) + 1;\n e.terminalColumn = parseInt(e.clientX /\n this.scrollPort_.characterSize.width) + 1;\n\n if (e.type == 'mousedown' && e.terminalColumn > this.screenSize.width) {\n // Mousedown in the scrollbar area.\n return;\n }\n\n if (this.options_.cursorVisible && !reportMouseEvents) {\n // If the cursor is visible and we're not sending mouse events to the\n // host app, then we want to hide the terminal cursor when the mouse\n // cursor is over top. This keeps the terminal cursor from interfering\n // with local text selection.\n if (e.terminalRow - 1 == this.screen_.cursorPosition.row &&\n e.terminalColumn - 1 == this.screen_.cursorPosition.column) {\n this.cursorNode_.style.display = 'none';\n } else if (this.cursorNode_.style.display == 'none') {\n this.cursorNode_.style.display = '';\n }\n }\n\n if (e.type == 'mousedown') {\n if (e.altKey || !reportMouseEvents) {\n // If VT mouse reporting is disabled, or has been defeated with\n // alt-mousedown, then the mouse will act on the local selection.\n this.defeatMouseReports_ = true;\n this.setSelectionEnabled(true);\n } else {\n // Otherwise we defer ownership of the mouse to the VT.\n this.defeatMouseReports_ = false;\n this.document_.getSelection().collapseToEnd();\n this.setSelectionEnabled(false);\n e.preventDefault();\n }\n }\n\n if (!reportMouseEvents) {\n if (e.type == 'dblclick' && this.copyOnSelect) {\n this.screen_.expandSelection(this.document_.getSelection());\n this.copySelectionToClipboard(this.document_);\n }\n\n if (e.type == 'click' && !e.shiftKey && (e.ctrlKey || e.metaKey)) {\n // Debounce this event with the dblclick event. If you try to doubleclick\n // a URL to open it, Chrome will fire click then dblclick, but we won't\n // have expanded the selection text at the first click event.\n clearTimeout(this.timeouts_.openUrl);\n this.timeouts_.openUrl = setTimeout(this.openSelectedUrl_.bind(this),\n 500);\n return;\n }\n\n if (e.type == 'mousedown') {\n if ((this.mouseRightClickPaste && e.button == 2 /* right button */) ||\n e.button == this.mousePasteButton) {\n if (!this.paste())\n console.warning('Could not paste manually due to web restrictions');;\n }\n }\n\n if (e.type == 'mouseup' && e.button == 0 && this.copyOnSelect &&\n !this.document_.getSelection().isCollapsed) {\n this.copySelectionToClipboard(this.document_);\n }\n\n if ((e.type == 'mousemove' || e.type == 'mouseup') &&\n this.scrollBlockerNode_.engaged) {\n // Disengage the scroll-blocker after one of these events.\n this.scrollBlockerNode_.engaged = false;\n this.scrollBlockerNode_.style.top = '-99px';\n }\n\n // Emulate arrow key presses via scroll wheel events.\n if (this.scrollWheelArrowKeys_ && !e.shiftKey &&\n this.keyboard.applicationCursor && !this.isPrimaryScreen()) {\n if (e.type == 'wheel') {\n var delta = this.scrollPort_.scrollWheelDelta(e);\n var lines = lib.f.smartFloorDivide(\n Math.abs(delta), this.scrollPort_.characterSize.height);\n\n var data = '\\x1bO' + (delta < 0 ? 'B' : 'A');\n this.io.sendString(data.repeat(lines));\n\n e.preventDefault();\n }\n }\n } else /* if (this.reportMouseEvents) */ {\n if (!this.scrollBlockerNode_.engaged) {\n if (e.type == 'mousedown') {\n // Move the scroll-blocker into place if we want to keep the scrollport\n // from scrolling.\n this.scrollBlockerNode_.engaged = true;\n this.scrollBlockerNode_.style.top = (e.clientY - 5) + 'px';\n this.scrollBlockerNode_.style.left = (e.clientX - 5) + 'px';\n } else if (e.type == 'mousemove') {\n // Oh. This means that drag-scroll was disabled AFTER the mouse down,\n // in which case it's too late to engage the scroll-blocker.\n this.document_.getSelection().collapseToEnd();\n e.preventDefault();\n }\n }\n\n this.onMouse(e);\n }\n\n if (e.type == 'mouseup' && this.document_.getSelection().isCollapsed) {\n // Restore this on mouseup in case it was temporarily defeated with a\n // alt-mousedown. Only do this when the selection is empty so that\n // we don't immediately kill the users selection.\n this.defeatMouseReports_ = false;\n }\n};\n\n/**\n * Clients should override this if they care to know about mouse events.\n *\n * The event parameter will be a normal DOM mouse click event with additional\n * 'terminalRow' and 'terminalColumn' properties.\n *\n * @param {Event} e The mouse event to handle.\n */\nhterm.Terminal.prototype.onMouse = function(e) { };\n\n/**\n * React when focus changes.\n *\n * @param {boolean} focused True if focused, false otherwise.\n */\nhterm.Terminal.prototype.onFocusChange_ = function(focused) {\n this.cursorNode_.setAttribute('focus', focused);\n this.restyleCursor_();\n if (focused === true)\n this.closeBellNotifications_();\n};\n\n/**\n * React when the ScrollPort is scrolled.\n */\nhterm.Terminal.prototype.onScroll_ = function() {\n this.scheduleSyncCursorPosition_();\n};\n\n/**\n * React when text is pasted into the scrollPort.\n *\n * @param {Event} e The DOM paste event to handle.\n */\nhterm.Terminal.prototype.onPaste_ = function(e) {\n var data = e.text.replace(/\\n/mg, '\\r');\n data = this.keyboard.encode(data);\n if (this.options_.bracketedPaste)\n data = '\\x1b[200~' + data + '\\x1b[201~';\n\n this.io.sendString(data);\n};\n\n/**\n * React when the user tries to copy from the scrollPort.\n *\n * @param {Event} e The DOM copy event.\n */\nhterm.Terminal.prototype.onCopy_ = function(e) {\n if (!this.useDefaultWindowCopy) {\n e.preventDefault();\n setTimeout(this.copySelectionToClipboard.bind(this), 0);\n }\n};\n\n/**\n * React when the ScrollPort is resized.\n *\n * Note: This function should not directly contain code that alters the internal\n * state of the terminal. That kind of code belongs in realizeWidth or\n * realizeHeight, so that it can be executed synchronously in the case of a\n * programmatic width change.\n */\nhterm.Terminal.prototype.onResize_ = function() {\n var columnCount = Math.floor(this.scrollPort_.getScreenWidth() /\n this.scrollPort_.characterSize.width) || 0;\n var rowCount = lib.f.smartFloorDivide(this.scrollPort_.getScreenHeight(),\n this.scrollPort_.characterSize.height) || 0;\n\n if (columnCount <= 0 || rowCount <= 0) {\n // We avoid these situations since they happen sometimes when the terminal\n // gets removed from the document or during the initial load, and we can't\n // deal with that.\n // This can also happen if called before the scrollPort calculates the\n // character size, meaning we dived by 0 above and default to 0 values.\n return;\n }\n\n var isNewSize = (columnCount != this.screenSize.width ||\n rowCount != this.screenSize.height);\n\n // We do this even if the size didn't change, just to be sure everything is\n // in sync.\n this.realizeSize_(columnCount, rowCount);\n this.showZoomWarning_(this.scrollPort_.characterSize.zoomFactor != 1);\n\n if (isNewSize)\n this.overlaySize();\n\n this.restyleCursor_();\n this.scheduleSyncCursorPosition_();\n};\n\n/**\n * Service the cursor blink timeout.\n */\nhterm.Terminal.prototype.onCursorBlink_ = function() {\n if (!this.options_.cursorBlink) {\n delete this.timeouts_.cursorBlink;\n return;\n }\n\n if (this.cursorNode_.getAttribute('focus') == 'false' ||\n this.cursorNode_.style.opacity == '0') {\n this.cursorNode_.style.opacity = '1';\n this.timeouts_.cursorBlink = setTimeout(this.myOnCursorBlink_,\n this.cursorBlinkCycle_[0]);\n } else {\n this.cursorNode_.style.opacity = '0';\n this.timeouts_.cursorBlink = setTimeout(this.myOnCursorBlink_,\n this.cursorBlinkCycle_[1]);\n }\n};\n\n/**\n * Set the scrollbar-visible mode bit.\n *\n * If scrollbar-visible is on, the vertical scrollbar will be visible.\n * Otherwise it will not.\n *\n * Defaults to on.\n *\n * @param {boolean} state True to set scrollbar-visible mode, false to unset.\n */\nhterm.Terminal.prototype.setScrollbarVisible = function(state) {\n this.scrollPort_.setScrollbarVisible(state);\n};\n\n/**\n * Set the scroll wheel move multiplier. This will affect how fast the page\n * scrolls on wheel events.\n *\n * Defaults to 1.\n *\n * @param {number} multiplier The multiplier to set.\n */\nhterm.Terminal.prototype.setScrollWheelMoveMultipler = function(multiplier) {\n this.scrollPort_.setScrollWheelMoveMultipler(multiplier);\n};\n\n/**\n * Close all web notifications created by terminal bells.\n */\nhterm.Terminal.prototype.closeBellNotifications_ = function() {\n this.bellNotificationList_.forEach(function(n) {\n n.close();\n });\n this.bellNotificationList_.length = 0;\n};\n// SOURCE FILE: hterm/js/hterm_terminal_io.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\nlib.rtdep('lib.encodeUTF8');\n\n/**\n * Input/Output interface used by commands to communicate with the terminal.\n *\n * Commands like `nassh` and `crosh` receive an instance of this class as\n * part of their argv object. This allows them to write to and read from the\n * terminal without exposing them to an entire hterm.Terminal instance.\n *\n * The active command must override the onVTKeystroke() and sendString() methods\n * of this class in order to receive keystrokes and send output to the correct\n * destination.\n *\n * Isolating commands from the terminal provides the following benefits:\n * - Provides a mechanism to save and restore onVTKeystroke and sendString\n * handlers when invoking subcommands (see the push() and pop() methods).\n * - The isolation makes it easier to make changes in Terminal and supporting\n * classes without affecting commands.\n * - In The Future commands may run in web workers where they would only be able\n * to talk to a Terminal instance through an IPC mechanism.\n *\n * @param {hterm.Terminal}\n */\nhterm.Terminal.IO = function(terminal) {\n this.terminal_ = terminal;\n\n // The IO object to restore on IO.pop().\n this.previousIO_ = null;\n};\n\n/**\n * Show the terminal overlay for a given amount of time.\n *\n * The terminal overlay appears in inverse video in a large font, centered\n * over the terminal. You should probably keep the overlay message brief,\n * since it's in a large font and you probably aren't going to check the size\n * of the terminal first.\n *\n * @param {string} msg The text (not HTML) message to display in the overlay.\n * @param {number} opt_timeout The amount of time to wait before fading out\n * the overlay. Defaults to 1.5 seconds. Pass null to have the overlay\n * stay up forever (or until the next overlay).\n */\nhterm.Terminal.IO.prototype.showOverlay = function(message, opt_timeout) {\n this.terminal_.showOverlay(message, opt_timeout);\n};\n\n/**\n * Open an frame in the current terminal window, pointed to the specified\n * url.\n *\n * Eventually we'll probably need size/position/decoration options.\n * The user should also be able to move/resize the frame.\n *\n * @param {string} url The URL to load in the frame.\n * @param {Object} opt_options Optional frame options. Not implemented.\n */\nhterm.Terminal.IO.prototype.createFrame = function(url, opt_options) {\n return new hterm.Frame(this.terminal_, url, opt_options);\n};\n\n/**\n * Change the preference profile for the terminal.\n *\n * @param profileName {string} The name of the preference profile to activate.\n */\nhterm.Terminal.IO.prototype.setTerminalProfile = function(profileName) {\n this.terminal_.setProfile(profileName);\n};\n\n/**\n * Create a new hterm.Terminal.IO instance and make it active on the Terminal\n * object associated with this instance.\n *\n * This is used to pass control of the terminal IO off to a subcommand. The\n * IO.pop() method can be used to restore control when the subcommand completes.\n */\nhterm.Terminal.IO.prototype.push = function() {\n var io = new hterm.Terminal.IO(this.terminal_);\n io.keyboardCaptured_ = this.keyboardCaptured_;\n\n io.columnCount = this.columnCount;\n io.rowCount = this.rowCount;\n\n io.previousIO_ = this.terminal_.io;\n this.terminal_.io = io;\n\n return io;\n};\n\n/**\n * Restore the Terminal's previous IO object.\n */\nhterm.Terminal.IO.prototype.pop = function() {\n this.terminal_.io = this.previousIO_;\n};\n\n/**\n * Called when data needs to be sent to the current command.\n *\n * Clients should override this to receive notification of pending data.\n *\n * @param {string} string The data to send.\n */\nhterm.Terminal.IO.prototype.sendString = function(string) {\n // Override this.\n console.log('Unhandled sendString: ' + string);\n};\n\n/**\n * Called when a terminal keystroke is detected.\n *\n * Clients should override this to receive notification of keystrokes.\n *\n * The keystroke data will be encoded according to the 'send-encoding'\n * preference.\n *\n * @param {string} string The VT key sequence.\n */\nhterm.Terminal.IO.prototype.onVTKeystroke = function(string) {\n // Override this.\n console.log('Unobserverd VT keystroke: ' + JSON.stringify(string));\n};\n\nhterm.Terminal.IO.prototype.onTerminalResize_ = function(width, height) {\n var obj = this;\n while (obj) {\n obj.columnCount = width;\n obj.rowCount = height;\n obj = obj.previousIO_;\n }\n\n this.onTerminalResize(width, height);\n};\n\n/**\n * Called when terminal size is changed.\n *\n * Clients should override this to receive notification of resize.\n *\n * @param {string|integer} terminal width.\n * @param {string|integer} terminal height.\n */\nhterm.Terminal.IO.prototype.onTerminalResize = function(width, height) {\n // Override this.\n};\n\n/**\n * Write a UTF-8 encoded byte string to the terminal.\n *\n * @param {string} string The UTF-8 encoded string to print.\n */\nhterm.Terminal.IO.prototype.writeUTF8 = function(string) {\n if (this.terminal_.io != this)\n throw 'Attempt to print from inactive IO object.';\n\n this.terminal_.interpret(string);\n};\n\n/**\n * Write a UTF-8 encoded byte string to the terminal followed by crlf.\n *\n * @param {string} string The UTF-8 encoded string to print.\n */\nhterm.Terminal.IO.prototype.writelnUTF8 = function(string) {\n if (this.terminal_.io != this)\n throw 'Attempt to print from inactive IO object.';\n\n this.terminal_.interpret(string + '\\r\\n');\n};\n\n/**\n * Write a UTF-16 JavaScript string to the terminal.\n *\n * @param {string} string The string to print.\n */\nhterm.Terminal.IO.prototype.print =\nhterm.Terminal.IO.prototype.writeUTF16 = function(string) {\n this.writeUTF8(lib.encodeUTF8(string));\n};\n\n/**\n * Print a UTF-16 JavaScript string to the terminal followed by a newline.\n *\n * @param {string} string The string to print.\n */\nhterm.Terminal.IO.prototype.println =\nhterm.Terminal.IO.prototype.writelnUTF16 = function(string) {\n this.writelnUTF8(lib.encodeUTF8(string));\n};\n// SOURCE FILE: hterm/js/hterm_text_attributes.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\nlib.rtdep('lib.colors');\n\n/**\n * Constructor for TextAttribute objects.\n *\n * These objects manage a set of text attributes such as foreground/\n * background color, bold, faint, italic, blink, underline, and strikethrough.\n *\n * TextAttribute instances can be used to construct a DOM container implementing\n * the current attributes, or to test an existing DOM container for\n * compatibility with the current attributes.\n *\n * @constructor\n * @param {HTMLDocument} document The parent document to use when creating\n * new DOM containers.\n */\nhterm.TextAttributes = function(document) {\n this.document_ = document;\n // These variables contain the source of the color as either:\n // SRC_DEFAULT (use context default)\n // SRC_RGB (specified in 'rgb( r, g, b)' form)\n // number (representing the index from color palette to use)\n this.foregroundSource = this.SRC_DEFAULT;\n this.backgroundSource = this.SRC_DEFAULT;\n\n // These properties cache the value in the color table, but foregroundSource\n // and backgroundSource contain the canonical values.\n this.foreground = this.DEFAULT_COLOR;\n this.background = this.DEFAULT_COLOR;\n\n this.defaultForeground = 'rgb(255, 255, 255)';\n this.defaultBackground = 'rgb(0, 0, 0)';\n\n this.bold = false;\n this.faint = false;\n this.italic = false;\n this.blink = false;\n this.underline = false;\n this.strikethrough = false;\n this.inverse = false;\n this.invisible = false;\n this.wcNode = false;\n this.asciiNode = true;\n this.tileData = null;\n\n this.colorPalette = null;\n this.resetColorPalette();\n};\n\n/**\n * If false, we ignore the bold attribute.\n *\n * This is used for fonts that have a bold version that is a different size\n * than the normal weight version.\n */\nhterm.TextAttributes.prototype.enableBold = true;\n\n/**\n * If true, use bright colors (if available) for bold text.\n *\n * This setting is independent of the enableBold setting.\n */\nhterm.TextAttributes.prototype.enableBoldAsBright = true;\n\n/**\n * A sentinel constant meaning \"whatever the default color is in this context\".\n */\nhterm.TextAttributes.prototype.DEFAULT_COLOR = lib.f.createEnum('');\n\n/**\n * A constant string used to specify that source color is context default.\n */\nhterm.TextAttributes.prototype.SRC_DEFAULT = 'default';\n\n\n/**\n * A constant string used to specify that the source of a color is a valid\n * rgb( r, g, b) specifier.\n */\nhterm.TextAttributes.prototype.SRC_RGB = 'rgb';\n\n/**\n * The document object which should own the DOM nodes created by this instance.\n *\n * @param {HTMLDocument} document The parent document.\n */\nhterm.TextAttributes.prototype.setDocument = function(document) {\n this.document_ = document;\n};\n\n/**\n * Create a deep copy of this object.\n *\n * @return {hterm.TextAttributes} A deep copy of this object.\n */\nhterm.TextAttributes.prototype.clone = function() {\n var rv = new hterm.TextAttributes(null);\n\n for (var key in this) {\n rv[key] = this[key];\n }\n\n rv.colorPalette = this.colorPalette.concat();\n return rv;\n};\n\n/**\n * Reset the current set of attributes.\n *\n * This does not affect the palette. Use resetColorPalette() for that.\n * It also doesn't affect the tile data, it's not meant to.\n */\nhterm.TextAttributes.prototype.reset = function() {\n this.foregroundSource = this.SRC_DEFAULT;\n this.backgroundSource = this.SRC_DEFAULT;\n this.foreground = this.DEFAULT_COLOR;\n this.background = this.DEFAULT_COLOR;\n this.bold = false;\n this.faint = false;\n this.italic = false;\n this.blink = false;\n this.underline = false;\n this.strikethrough = false;\n this.inverse = false;\n this.invisible = false;\n this.wcNode = false;\n this.asciiNode = true;\n};\n\n/**\n * Reset the color palette to the default state.\n */\nhterm.TextAttributes.prototype.resetColorPalette = function() {\n this.colorPalette = lib.colors.colorPalette.concat();\n this.syncColors();\n};\n\n/**\n * Test if the current attributes describe unstyled text.\n *\n * @return {boolean} True if the current attributes describe unstyled text.\n */\nhterm.TextAttributes.prototype.isDefault = function() {\n return (this.foregroundSource == this.SRC_DEFAULT &&\n this.backgroundSource == this.SRC_DEFAULT &&\n !this.bold &&\n !this.faint &&\n !this.italic &&\n !this.blink &&\n !this.underline &&\n !this.strikethrough &&\n !this.inverse &&\n !this.invisible &&\n !this.wcNode &&\n this.asciiNode &&\n this.tileData == null);\n};\n\n/**\n * Create a DOM container (a span or a text node) with a style to match the\n * current set of attributes.\n *\n * This method will create a plain text node if the text is unstyled, or\n * an HTML span if the text is styled. Due to lack of monospace wide character\n * fonts on certain systems (e.g. Chrome OS), we need to put each wide character\n * in a span of CSS class '.wc-node' which has double column width.\n * Each vt_tiledata tile is also represented by a span with a single\n * character, with CSS classes '.tile' and '.tile_'.\n *\n * @param {string} opt_textContent Optional text content for the new container.\n * @return {HTMLNode} An HTML span or text nodes styled to match the current\n * attributes.\n */\nhterm.TextAttributes.prototype.createContainer = function(opt_textContent) {\n if (this.isDefault())\n return this.document_.createTextNode(opt_textContent);\n\n var span = this.document_.createElement('span');\n var style = span.style;\n var classes = [];\n\n if (this.foreground != this.DEFAULT_COLOR)\n style.color = this.foreground;\n\n if (this.background != this.DEFAULT_COLOR)\n style.backgroundColor = this.background;\n\n if (this.enableBold && this.bold)\n style.fontWeight = 'bold';\n\n if (this.faint)\n span.faint = true;\n\n if (this.italic)\n style.fontStyle = 'italic';\n\n if (this.blink) {\n classes.push('blink-node');\n span.blinkNode = true;\n }\n\n var textDecoration = '';\n if (this.underline) {\n textDecoration += ' underline';\n span.underline = true;\n }\n if (this.strikethrough) {\n textDecoration += ' line-through';\n span.strikethrough = true;\n }\n if (textDecoration) {\n style.textDecoration = textDecoration;\n }\n\n if (this.wcNode) {\n classes.push('wc-node');\n span.wcNode = true;\n span.asciiNode = false;\n }\n\n if (this.tileData != null) {\n classes.push('tile');\n classes.push('tile_' + this.tileData);\n span.tileNode = true;\n }\n\n if (opt_textContent)\n span.textContent = opt_textContent;\n\n if (classes.length)\n span.className = classes.join(' ');\n\n return span;\n};\n\n/**\n * Tests if the provided object (string, span or text node) has the same\n * style as this TextAttributes instance.\n *\n * This indicates that text with these attributes could be inserted directly\n * into the target DOM node.\n *\n * For the purposes of this method, a string is considered a text node.\n *\n * @param {string|HTMLNode} obj The object to test.\n * @return {boolean} True if the provided container has the same style as\n * this attributes instance.\n */\nhterm.TextAttributes.prototype.matchesContainer = function(obj) {\n if (typeof obj == 'string' || obj.nodeType == 3)\n return this.isDefault();\n\n var style = obj.style;\n\n // We don't want to put multiple characters in a wcNode or a tile.\n // See the comments in createContainer.\n return (!(this.wcNode || obj.wcNode) &&\n this.asciiNode == this.asciiNode &&\n !(this.tileData != null || obj.tileNode) &&\n this.foreground == style.color &&\n this.background == style.backgroundColor &&\n (this.enableBold && this.bold) == !!style.fontWeight &&\n this.blink == obj.blinkNode &&\n this.italic == !!style.fontStyle &&\n !!this.underline == !!obj.underline &&\n !!this.strikethrough == !!obj.strikethrough);\n};\n\nhterm.TextAttributes.prototype.setDefaults = function(foreground, background) {\n this.defaultForeground = foreground;\n this.defaultBackground = background;\n\n this.syncColors();\n};\n\n/**\n * Updates foreground and background properties based on current indices and\n * other state.\n *\n * @param {string} terminalForeground The terminal foreground color for use as\n * inverse text background.\n * @param {string} terminalBackground The terminal background color for use as\n * inverse text foreground.\n *\n */\nhterm.TextAttributes.prototype.syncColors = function() {\n function getBrightIndex(i) {\n if (i < 8) {\n // If the color is from the lower half of the ANSI 16, add 8.\n return i + 8;\n }\n\n // If it's not from the 16 color palette, ignore bold requests. This\n // matches the behavior of gnome-terminal.\n return i;\n }\n\n var foregroundSource = this.foregroundSource;\n var backgroundSource = this.backgroundSource;\n var defaultForeground = this.DEFAULT_COLOR;\n var defaultBackground = this.DEFAULT_COLOR;\n\n if (this.inverse) {\n foregroundSource = this.backgroundSource;\n backgroundSource = this.foregroundSource;\n // We can't inherit the container's color anymore.\n defaultForeground = this.defaultBackground;\n defaultBackground = this.defaultForeground;\n }\n\n if (this.enableBoldAsBright && this.bold) {\n if (foregroundSource != this.SRC_DEFAULT &&\n foregroundSource != this.SRC_RGB) {\n foregroundSource = getBrightIndex(foregroundSource);\n }\n }\n\n if (this.invisible) {\n foregroundSource = backgroundSource;\n defaultForeground = this.defaultBackground;\n }\n\n // Set fore/background colors unless already specified in rgb(r, g, b) form.\n if (foregroundSource != this.SRC_RGB) {\n this.foreground = ((foregroundSource == this.SRC_DEFAULT) ?\n defaultForeground : this.colorPalette[foregroundSource]);\n }\n\n if (this.faint && !this.invisible) {\n var colorToMakeFaint = ((this.foreground == this.DEFAULT_COLOR) ?\n this.defaultForeground : this.foreground);\n this.foreground = lib.colors.mix(colorToMakeFaint, 'rgb(0, 0, 0)', 0.3333);\n }\n\n if (backgroundSource != this.SRC_RGB) {\n this.background = ((backgroundSource == this.SRC_DEFAULT) ?\n defaultBackground : this.colorPalette[backgroundSource]);\n }\n};\n\n/**\n * Static method used to test if the provided objects (strings, spans or\n * text nodes) have the same style.\n *\n * For the purposes of this method, a string is considered a text node.\n *\n * @param {string|HTMLNode} obj1 An object to test.\n * @param {string|HTMLNode} obj2 Another object to test.\n * @return {boolean} True if the containers have the same style.\n */\nhterm.TextAttributes.containersMatch = function(obj1, obj2) {\n if (typeof obj1 == 'string')\n return hterm.TextAttributes.containerIsDefault(obj2);\n\n if (obj1.nodeType != obj2.nodeType)\n return false;\n\n if (obj1.nodeType == 3)\n return true;\n\n var style1 = obj1.style;\n var style2 = obj2.style;\n\n return (style1.color == style2.color &&\n style1.backgroundColor == style2.backgroundColor &&\n style1.fontWeight == style2.fontWeight &&\n style1.fontStyle == style2.fontStyle &&\n style1.textDecoration == style2.textDecoration);\n};\n\n/**\n * Static method to test if a given DOM container represents unstyled text.\n *\n * For the purposes of this method, a string is considered a text node.\n *\n * @param {string|HTMLNode} obj1 An object to test.\n * @return {boolean} True if the object is unstyled.\n */\nhterm.TextAttributes.containerIsDefault = function(obj) {\n return typeof obj == 'string' || obj.nodeType == 3;\n};\n\n/**\n * Static method to get the column width of a node's textContent.\n *\n * @param {HTMLElement} node The HTML element to get the width of textContent\n * from.\n * @return {integer} The column width of the node's textContent.\n */\nhterm.TextAttributes.nodeWidth = function(node) {\n if (!node.asciiNode) {\n return lib.wc.strWidth(node.textContent);\n } else {\n return node.textContent.length;\n }\n}\n\n/**\n * Static method to get the substr of a node's textContent. The start index\n * and substr width are computed in column width.\n *\n * @param {HTMLElement} node The HTML element to get the substr of textContent\n * from.\n * @param {integer} start The starting offset in column width.\n * @param {integer} width The width to capture in column width.\n * @return {integer} The extracted substr of the node's textContent.\n */\nhterm.TextAttributes.nodeSubstr = function(node, start, width) {\n if (!node.asciiNode) {\n return lib.wc.substr(node.textContent, start, width);\n } else {\n return node.textContent.substr(start, width);\n }\n}\n\n/**\n * Static method to get the substring based of a node's textContent. The\n * start index of end index are computed in column width.\n *\n * @param {HTMLElement} node The HTML element to get the substr of textContent\n * from.\n * @param {integer} start The starting offset in column width.\n * @param {integer} end The ending offset in column width.\n * @return {integer} The extracted substring of the node's textContent.\n */\nhterm.TextAttributes.nodeSubstring = function(node, start, end) {\n if (!node.asciiNode) {\n return lib.wc.substring(node.textContent, start, end);\n } else {\n return node.textContent.substring(start, end);\n }\n};\n\n/**\n * Static method to split a string into contiguous runs of single-width\n * characters and runs of double-width characters.\n *\n * @param {string} str The string to split.\n * @return {Array} An array of objects that contain substrings of str, where\n * each substring is either a contiguous runs of single-width characters\n * or a double-width character. For objects that contain a double-width\n * character, its wcNode property is set to true. For objects that contain\n * only ASCII content, its asciiNode property is set to true.\n */\nhterm.TextAttributes.splitWidecharString = function(str) {\n var rv = [];\n var base = 0, length = 0;\n var asciiNode = true;\n\n for (var i = 0; i < str.length;) {\n var c = str.codePointAt(i);\n var increment = (c <= 0xffff) ? 1 : 2;\n if (c < 128) {\n length += increment;\n } else if (lib.wc.charWidth(c) <= 1) {\n length += increment;\n asciiNode = false;\n } else {\n if (length) {\n rv.push({\n str: str.substr(base, length),\n asciiNode: asciiNode,\n });\n asciiNode = true;\n }\n rv.push({\n str: str.substr(i, increment),\n wcNode: true,\n asciiNode: false,\n });\n base = i + increment;\n length = 0;\n }\n i += increment;\n }\n\n if (length) {\n rv.push({\n str: str.substr(base, length),\n asciiNode: asciiNode,\n });\n }\n\n return rv;\n};\n// SOURCE FILE: hterm/js/hterm_vt.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\nlib.rtdep('lib.colors', 'lib.f', 'lib.UTF8Decoder',\n 'hterm.VT.CharacterMap');\n\n/**\n * Constructor for the VT escape sequence interpreter.\n *\n * The interpreter operates on a terminal object capable of performing cursor\n * move operations, painting characters, etc.\n *\n * This interpreter is intended to be compatible with xterm, though it\n * ignores some of the more esoteric escape sequences.\n *\n * Control sequences are documented in hterm/doc/ControlSequences.md.\n *\n * @param {hterm.Terminal} terminal Terminal to use with the interpreter.\n */\nhterm.VT = function(terminal) {\n /**\n * The display terminal object associated with this virtual terminal.\n */\n this.terminal = terminal;\n\n terminal.onMouse = this.onTerminalMouse_.bind(this);\n this.mouseReport = this.MOUSE_REPORT_DISABLED;\n\n // Parse state left over from the last parse. You should use the parseState\n // instance passed into your parse routine, rather than reading\n // this.parseState_ directly.\n this.parseState_ = new hterm.VT.ParseState(this.parseUnknown_);\n\n // Any \"leading modifiers\" for the escape sequence, such as '?', ' ', or the\n // other modifiers handled in this.parseCSI_.\n this.leadingModifier_ = '';\n\n // Any \"trailing modifiers\". Same character set as a leading modifier,\n // except these are found after the numeric arguments.\n this.trailingModifier_ = '';\n\n // Whether or not to respect the escape codes for setting terminal width.\n this.allowColumnWidthChanges_ = false;\n\n // The amount of time we're willing to wait for the end of an OSC sequence.\n this.oscTimeLimit_ = 20000;\n\n // Decoder to maintain UTF-8 decode state.\n this.utf8Decoder_ = new lib.UTF8Decoder();\n\n /**\n * Whether to accept the 8-bit control characters.\n *\n * An 8-bit control character is one with the eighth bit set. These\n * didn't work on 7-bit terminals so they all have two byte equivalents.\n * Most hosts still only use the two-byte versions.\n *\n * We ignore 8-bit control codes by default. This is in order to avoid\n * issues with \"accidental\" usage of codes that need to be terminated.\n * The \"accident\" usually involves cat'ing binary data.\n */\n this.enable8BitControl = false;\n\n /**\n * Whether to allow the OSC 52 sequence to write to the system clipboard.\n */\n this.enableClipboardWrite = true;\n\n /**\n * Respect the host's attempt to change the cursor blink status using\n * the DEC Private mode 12.\n */\n this.enableDec12 = false;\n\n /**\n * The expected encoding method for data received from the host.\n */\n this.characterEncoding = 'utf-8';\n\n /**\n * Max length of an unterminated DCS, OSC, PM or APC sequence before we give\n * up and ignore the code.\n *\n * These all end with a String Terminator (ST, '\\x9c', ESC '\\\\') or\n * (BEL, '\\x07') character, hence the \"string sequence\" moniker.\n */\n this.maxStringSequence = 1024;\n\n /**\n * If true, emit warnings when we encounter a control character or escape\n * sequence that we don't recognize or explicitly ignore.\n */\n this.warnUnimplemented = true;\n\n /**\n * The set of available character maps (used by G0...G3 below).\n */\n this.characterMaps = new hterm.VT.CharacterMaps();\n\n /**\n * The default G0...G3 character maps.\n * We default to the US/ASCII map everywhere as that aligns with other\n * terminals, and it makes it harder to accidentally switch to the graphics\n * character map (Ctrl-N). Any program that wants to use the graphics map\n * will usually select it anyways since there's no guarantee what state any\n * of the maps are in at any particular time.\n */\n this.G0 = this.G1 = this.G2 = this.G3 =\n this.characterMaps.getMap('B');\n\n /**\n * The 7-bit visible character set.\n *\n * This is a mapping from inbound data to display glyph. The GL set\n * contains the 94 bytes from 0x21 to 0x7e.\n *\n * The default GL set is 'B', US ASCII.\n */\n this.GL = 'G0';\n\n /**\n * The 8-bit visible character set.\n *\n * This is a mapping from inbound data to display glyph. The GR set\n * contains the 94 bytes from 0xa1 to 0xfe.\n */\n this.GR = 'G0';\n\n /**\n * The current encoding of the terminal.\n *\n * We only support ECMA-35 and UTF-8, so go with a boolean here.\n * The encoding can be locked too.\n */\n this.codingSystemUtf8_ = false;\n this.codingSystemLocked_ = false;\n\n // Construct a regular expression to match the known one-byte control chars.\n // This is used in parseUnknown_ to quickly scan a string for the next\n // control character.\n this.cc1Pattern_ = null;\n this.updateEncodingState_();\n\n // Saved state used in DECSC.\n //\n // This is a place to store a copy VT state, it is *not* the active state.\n this.savedState_ = new hterm.VT.CursorState(this);\n};\n\n/**\n * No mouse events.\n */\nhterm.VT.prototype.MOUSE_REPORT_DISABLED = 0;\n\n/**\n * DECSET mode 1000.\n *\n * Report mouse down/up events only.\n */\nhterm.VT.prototype.MOUSE_REPORT_CLICK = 1;\n\n/**\n * DECSET mode 1002.\n *\n * Report mouse down/up and movement while a button is down.\n */\nhterm.VT.prototype.MOUSE_REPORT_DRAG = 3;\n\n/**\n * ParseState constructor.\n *\n * This object tracks the current state of the parse. It has fields for the\n * current buffer, position in the buffer, and the parse function.\n *\n * @param {function} defaultFunc The default parser function.\n * @param {string} opt_buf Optional string to use as the current buffer.\n */\nhterm.VT.ParseState = function(defaultFunction, opt_buf) {\n this.defaultFunction = defaultFunction;\n this.buf = opt_buf || null;\n this.pos = 0;\n this.func = defaultFunction;\n this.args = [];\n};\n\n/**\n * Reset the parser function, buffer, and position.\n */\nhterm.VT.ParseState.prototype.reset = function(opt_buf) {\n this.resetParseFunction();\n this.resetBuf(opt_buf || '');\n this.resetArguments();\n};\n\n/**\n * Reset the parser function only.\n */\nhterm.VT.ParseState.prototype.resetParseFunction = function() {\n this.func = this.defaultFunction;\n};\n\n/**\n * Reset the buffer and position only.\n *\n * @param {string} buf Optional new value for buf, defaults to null.\n */\nhterm.VT.ParseState.prototype.resetBuf = function(opt_buf) {\n this.buf = (typeof opt_buf == 'string') ? opt_buf : null;\n this.pos = 0;\n};\n\n/**\n * Reset the arguments list only.\n *\n * @param {string} opt_arg_zero Optional initial value for args[0].\n */\nhterm.VT.ParseState.prototype.resetArguments = function(opt_arg_zero) {\n this.args.length = 0;\n if (typeof opt_arg_zero != 'undefined')\n this.args[0] = opt_arg_zero;\n};\n\n/**\n * Get an argument as an integer.\n *\n * @param {number} argnum The argument number to retrieve.\n */\nhterm.VT.ParseState.prototype.iarg = function(argnum, defaultValue) {\n var str = this.args[argnum];\n if (str) {\n var ret = parseInt(str, 10);\n // An argument of zero is treated as the default value.\n if (ret == 0)\n ret = defaultValue;\n return ret;\n }\n return defaultValue;\n};\n\n/**\n * Advance the parse position.\n *\n * @param {integer} count The number of bytes to advance.\n */\nhterm.VT.ParseState.prototype.advance = function(count) {\n this.pos += count;\n};\n\n/**\n * Return the remaining portion of the buffer without affecting the parse\n * position.\n *\n * @return {string} The remaining portion of the buffer.\n */\nhterm.VT.ParseState.prototype.peekRemainingBuf = function() {\n return this.buf.substr(this.pos);\n};\n\n/**\n * Return the next single character in the buffer without affecting the parse\n * position.\n *\n * @return {string} The next character in the buffer.\n */\nhterm.VT.ParseState.prototype.peekChar = function() {\n return this.buf.substr(this.pos, 1);\n};\n\n/**\n * Return the next single character in the buffer and advance the parse\n * position one byte.\n *\n * @return {string} The next character in the buffer.\n */\nhterm.VT.ParseState.prototype.consumeChar = function() {\n return this.buf.substr(this.pos++, 1);\n};\n\n/**\n * Return true if the buffer is empty, or the position is past the end.\n */\nhterm.VT.ParseState.prototype.isComplete = function() {\n return this.buf == null || this.buf.length <= this.pos;\n};\n\nhterm.VT.CursorState = function(vt) {\n this.vt_ = vt;\n this.save();\n};\n\nhterm.VT.CursorState.prototype.save = function() {\n this.cursor = this.vt_.terminal.saveCursor();\n\n this.textAttributes = this.vt_.terminal.getTextAttributes().clone();\n\n this.GL = this.vt_.GL;\n this.GR = this.vt_.GR;\n\n this.G0 = this.vt_.G0;\n this.G1 = this.vt_.G1;\n this.G2 = this.vt_.G2;\n this.G3 = this.vt_.G3;\n};\n\nhterm.VT.CursorState.prototype.restore = function() {\n this.vt_.terminal.restoreCursor(this.cursor);\n\n this.vt_.terminal.setTextAttributes(this.textAttributes.clone());\n\n this.vt_.GL = this.GL;\n this.vt_.GR = this.GR;\n\n this.vt_.G0 = this.G0;\n this.vt_.G1 = this.G1;\n this.vt_.G2 = this.G2;\n this.vt_.G3 = this.G3;\n};\n\nhterm.VT.prototype.reset = function() {\n this.G0 = this.characterMaps.getMap('B');\n this.G1 = this.characterMaps.getMap('0');\n this.G2 = this.characterMaps.getMap('B');\n this.G3 = this.characterMaps.getMap('B');\n\n this.GL = 'G0';\n this.GR = 'G0';\n\n this.savedState_ = new hterm.VT.CursorState(this);\n\n this.mouseReport = this.MOUSE_REPORT_DISABLED;\n};\n\n/**\n * Handle terminal mouse events.\n *\n * See the \"Mouse Tracking\" section of [xterm].\n */\nhterm.VT.prototype.onTerminalMouse_ = function(e) {\n if (this.mouseReport == this.MOUSE_REPORT_DISABLED)\n return;\n\n // Temporary storage for our response.\n var response;\n\n // Modifier key state.\n var mod = 0;\n if (e.shiftKey)\n mod |= 4;\n if (e.metaKey || (this.terminal.keyboard.altIsMeta && e.altKey))\n mod |= 8;\n if (e.ctrlKey)\n mod |= 16;\n\n // TODO(rginda): We should also support mode 1005 and/or 1006 to extend the\n // coordinate space. Though, after poking around just a little, I wasn't\n // able to get vi or emacs to use either of these modes.\n var x = String.fromCharCode(lib.f.clamp(e.terminalColumn + 32, 32, 255));\n var y = String.fromCharCode(lib.f.clamp(e.terminalRow + 32, 32, 255));\n\n switch (e.type) {\n case 'wheel':\n // Mouse wheel is treated as button 1 or 2 plus an additional 64.\n b = (((e.deltaY * -1) > 0) ? 0 : 1) + 96;\n b |= mod;\n response = '\\x1b[M' + String.fromCharCode(b) + x + y;\n\n // Keep the terminal from scrolling.\n e.preventDefault();\n break;\n\n case 'mousedown':\n // Buttons are encoded as button number plus 32.\n var b = Math.min(e.button, 2) + 32;\n\n // And mix in the modifier keys.\n b |= mod;\n\n response = '\\x1b[M' + String.fromCharCode(b) + x + y;\n break;\n\n case 'mouseup':\n // Mouse up has no indication of which button was released.\n response = '\\x1b[M\\x23' + x + y;\n break;\n\n case 'mousemove':\n if (this.mouseReport == this.MOUSE_REPORT_DRAG && e.buttons) {\n // Standard button bits. The XTerm protocol only reports the first\n // button press (e.g. if left & right are pressed, right is ignored),\n // and it only supports the first three buttons. If none of them are\n // pressed, then XTerm flags it as a release. We'll do the same.\n b = 32;\n\n // Priority here matches XTerm: left, middle, right.\n if (e.buttons & 0x1) {\n // Report left button.\n b += 0;\n } else if (e.buttons & 0x4) {\n // Report middle button.\n b += 1;\n } else if (e.buttons & 0x2) {\n // Report right button.\n b += 2;\n } else {\n // Release higher buttons.\n b += 3;\n }\n\n // Add 32 to indicate mouse motion.\n b += 32;\n\n // And mix in the modifier keys.\n b |= mod;\n\n response = '\\x1b[M' + String.fromCharCode(b) + x + y;\n }\n\n break;\n\n case 'click':\n case 'dblclick':\n break;\n\n default:\n console.error('Unknown mouse event: ' + e.type, e);\n break;\n }\n\n if (response)\n this.terminal.io.sendString(response);\n};\n\n/**\n * Interpret a string of characters, displaying the results on the associated\n * terminal object.\n *\n * The buffer will be decoded according to the 'receive-encoding' preference.\n */\nhterm.VT.prototype.interpret = function(buf) {\n this.parseState_.resetBuf(this.decode(buf));\n\n while (!this.parseState_.isComplete()) {\n var func = this.parseState_.func;\n var pos = this.parseState_.pos;\n var buf = this.parseState_.buf;\n\n this.parseState_.func.call(this, this.parseState_);\n\n if (this.parseState_.func == func && this.parseState_.pos == pos &&\n this.parseState_.buf == buf) {\n throw 'Parser did not alter the state!';\n }\n }\n};\n\n/**\n * Decode a string according to the 'receive-encoding' preference.\n */\nhterm.VT.prototype.decode = function(str) {\n if (this.characterEncoding == 'utf-8')\n return this.decodeUTF8(str);\n\n return str;\n};\n\n/**\n * Encode a UTF-16 string as UTF-8.\n *\n * See also: https://en.wikipedia.org/wiki/UTF-16\n */\nhterm.VT.prototype.encodeUTF8 = function(str) {\n return lib.encodeUTF8(str);\n};\n\n/**\n * Decode a UTF-8 string into UTF-16.\n */\nhterm.VT.prototype.decodeUTF8 = function(str) {\n return this.utf8Decoder_.decode(str);\n};\n\n/**\n * Set the encoding of the terminal.\n *\n * @param {string} encoding The name of the encoding to set.\n */\nhterm.VT.prototype.setEncoding = function(encoding) {\n switch (encoding) {\n default:\n console.warn('Invalid value for \"terminal-encoding\": ' + encoding);\n // Fall through.\n case 'iso-2022':\n this.codingSystemUtf8_ = false;\n this.codingSystemLocked_ = false;\n break;\n case 'utf-8-locked':\n this.codingSystemUtf8_ = true;\n this.codingSystemLocked_ = true;\n break;\n case 'utf-8':\n this.codingSystemUtf8_ = true;\n this.codingSystemLocked_ = false;\n break;\n }\n\n this.updateEncodingState_();\n};\n\n/**\n * Refresh internal state when the encoding changes.\n */\nhterm.VT.prototype.updateEncodingState_ = function() {\n // If we're in UTF8 mode, don't suport 8-bit escape sequences as we'll never\n // see those -- everything should be UTF8!\n var cc1 = Object.keys(hterm.VT.CC1)\n .filter((e) => !this.codingSystemUtf8_ || e.charCodeAt() < 0x80)\n .map((e) => '\\\\x' + lib.f.zpad(e.charCodeAt().toString(16), 2))\n .join('');\n this.cc1Pattern_ = new RegExp(`[${cc1}]`);\n};\n\n/**\n * The default parse function.\n *\n * This will scan the string for the first 1-byte control character (C0/C1\n * characters from [CTRL]). Any plain text coming before the code will be\n * printed to the terminal, then the control character will be dispatched.\n */\nhterm.VT.prototype.parseUnknown_ = function(parseState) {\n var self = this;\n\n function print(str) {\n if (!self.codingSystemUtf8_ && self[self.GL].GL)\n str = self[self.GL].GL(str);\n\n self.terminal.print(str);\n };\n\n // Search for the next contiguous block of plain text.\n var buf = parseState.peekRemainingBuf();\n var nextControl = buf.search(this.cc1Pattern_);\n\n if (nextControl == 0) {\n // We've stumbled right into a control character.\n this.dispatch('CC1', buf.substr(0, 1), parseState);\n parseState.advance(1);\n return;\n }\n\n if (nextControl == -1) {\n // There are no control characters in this string.\n print(buf);\n parseState.reset();\n return;\n }\n\n print(buf.substr(0, nextControl));\n this.dispatch('CC1', buf.substr(nextControl, 1), parseState);\n parseState.advance(nextControl + 1);\n};\n\n/**\n * Parse a Control Sequence Introducer code and dispatch it.\n *\n * See [CSI] for some useful information about these codes.\n */\nhterm.VT.prototype.parseCSI_ = function(parseState) {\n var ch = parseState.peekChar();\n var args = parseState.args;\n\n if (ch >= '@' && ch <= '~') {\n // This is the final character.\n this.dispatch('CSI', this.leadingModifier_ + this.trailingModifier_ + ch,\n parseState);\n parseState.resetParseFunction();\n\n } else if (ch == ';') {\n // Parameter delimiter.\n if (this.trailingModifier_) {\n // Parameter delimiter after the trailing modifier. That's a paddlin'.\n parseState.resetParseFunction();\n\n } else {\n if (!args.length) {\n // They omitted the first param, we need to supply it.\n args.push('');\n }\n\n args.push('');\n }\n\n } else if (ch >= '0' && ch <= '9') {\n // Next byte in the current parameter.\n\n if (this.trailingModifier_) {\n // Numeric parameter after the trailing modifier. That's a paddlin'.\n parseState.resetParseFunction();\n } else {\n if (!args.length) {\n args[0] = ch;\n } else {\n args[args.length - 1] += ch;\n }\n }\n\n } else if (ch >= ' ' && ch <= '?' && ch != ':') {\n // Modifier character.\n if (!args.length) {\n this.leadingModifier_ += ch;\n } else {\n this.trailingModifier_ += ch;\n }\n\n } else if (this.cc1Pattern_.test(ch)) {\n // Control character.\n this.dispatch('CC1', ch, parseState);\n\n } else {\n // Unexpected character in sequence, bail out.\n parseState.resetParseFunction();\n }\n\n parseState.advance(1);\n};\n\n/**\n * Skip over the string until the next String Terminator (ST, 'ESC \\') or\n * Bell (BEL, '\\x07').\n *\n * The string is accumulated in parseState.args[0]. Make sure to reset the\n * arguments (with parseState.resetArguments) before starting the parse.\n *\n * You can detect that parsing in complete by checking that the parse\n * function has changed back to the default parse function.\n *\n * If we encounter more than maxStringSequence characters, we send back\n * the unterminated sequence to be re-parsed with the default parser function.\n *\n * @return {boolean} If true, parsing is ongoing or complete. If false, we've\n * exceeded the max string sequence.\n */\nhterm.VT.prototype.parseUntilStringTerminator_ = function(parseState) {\n var buf = parseState.peekRemainingBuf();\n var nextTerminator = buf.search(/(\\x1b\\\\|\\x07)/);\n var args = parseState.args;\n\n if (!args.length) {\n args[0] = '';\n args[1] = new Date();\n }\n\n if (nextTerminator == -1) {\n // No terminator here, have to wait for the next string.\n\n args[0] += buf;\n\n var abortReason;\n\n if (args[0].length > this.maxStringSequence)\n abortReason = 'too long: ' + args[0].length;\n\n if (args[0].indexOf('\\x1b') != -1)\n abortReason = 'embedded escape: ' + args[0].indexOf('\\x1b');\n\n if (new Date() - args[1] > this.oscTimeLimit_)\n abortReason = 'timeout expired: ' + new Date() - args[1];\n\n if (abortReason) {\n console.log('parseUntilStringTerminator_: aborting: ' + abortReason,\n args[0]);\n parseState.reset(args[0]);\n return false;\n }\n\n parseState.advance(buf.length);\n return true;\n }\n\n if (args[0].length + nextTerminator > this.maxStringSequence) {\n // We found the end of the sequence, but we still think it's too long.\n parseState.reset(args[0] + buf);\n return false;\n }\n\n args[0] += buf.substr(0, nextTerminator);\n\n parseState.resetParseFunction();\n parseState.advance(nextTerminator +\n (buf.substr(nextTerminator, 1) == '\\x1b' ? 2 : 1));\n\n return true;\n};\n\n/**\n * Dispatch to the function that handles a given CC1, ESC, or CSI or VT52 code.\n */\nhterm.VT.prototype.dispatch = function(type, code, parseState) {\n var handler = hterm.VT[type][code];\n if (!handler) {\n if (this.warnUnimplemented)\n console.warn('Unknown ' + type + ' code: ' + JSON.stringify(code));\n return;\n }\n\n if (handler == hterm.VT.ignore) {\n if (this.warnUnimplemented)\n console.warn('Ignored ' + type + ' code: ' + JSON.stringify(code));\n return;\n }\n\n if (type == 'CC1' && code > '\\x7f' && !this.enable8BitControl) {\n // It's kind of a hack to put this here, but...\n //\n // If we're dispatching a 'CC1' code, and it's got the eighth bit set,\n // but we're not supposed to handle 8-bit codes? Just ignore it.\n //\n // This prevents an errant (DCS, '\\x90'), (OSC, '\\x9d'), (PM, '\\x9e') or\n // (APC, '\\x9f') from locking up the terminal waiting for its expected\n // (ST, '\\x9c') or (BEL, '\\x07').\n console.warn('Ignoring 8-bit control code: 0x' +\n code.charCodeAt(0).toString(16));\n return;\n }\n\n handler.apply(this, [parseState, code]);\n};\n\n/**\n * Set one of the ANSI defined terminal mode bits.\n *\n * Invoked in response to SM/RM.\n *\n * Unexpected and unimplemented values are silently ignored.\n */\nhterm.VT.prototype.setANSIMode = function(code, state) {\n if (code == 4) { // Insert Mode (IRM)\n this.terminal.setInsertMode(state);\n } else if (code == 20) { // Automatic Newline (LNM)\n this.terminal.setAutoCarriageReturn(state);\n } else if (this.warnUnimplemented) {\n console.warn('Unimplemented ANSI Mode: ' + code);\n }\n};\n\n/**\n * Set or reset one of the DEC Private modes.\n *\n * Invoked in response to DECSET/DECRST.\n */\nhterm.VT.prototype.setDECMode = function(code, state) {\n switch (parseInt(code, 10)) {\n case 1: // DECCKM\n this.terminal.keyboard.applicationCursor = state;\n break;\n\n case 3: // DECCOLM\n if (this.allowColumnWidthChanges_) {\n this.terminal.setWidth(state ? 132 : 80);\n\n this.terminal.clearHome();\n this.terminal.setVTScrollRegion(null, null);\n }\n break;\n\n case 5: // DECSCNM\n this.terminal.setReverseVideo(state);\n break;\n\n case 6: // DECOM\n this.terminal.setOriginMode(state);\n break;\n\n case 7: // DECAWM\n this.terminal.setWraparound(state);\n break;\n\n case 12: // Start blinking cursor\n if (this.enableDec12)\n this.terminal.setCursorBlink(state);\n break;\n\n case 25: // DECTCEM\n this.terminal.setCursorVisible(state);\n break;\n\n case 30: // Show scrollbar\n this.terminal.setScrollbarVisible(state);\n break;\n\n case 40: // Allow 80 - 132 (DECCOLM) Mode\n this.terminal.allowColumnWidthChanges_ = state;\n break;\n\n case 45: // Reverse-wraparound Mode\n this.terminal.setReverseWraparound(state);\n break;\n\n case 67: // Backarrow key sends backspace (DECBKM)\n this.terminal.keyboard.backspaceSendsBackspace = state;\n break;\n\n case 1000: // Report on mouse clicks only.\n this.mouseReport = (\n state ? this.MOUSE_REPORT_CLICK : this.MOUSE_REPORT_DISABLED);\n this.terminal.syncMouseStyle();\n break;\n\n case 1002: // Report on mouse clicks and drags\n this.mouseReport = (\n state ? this.MOUSE_REPORT_DRAG : this.MOUSE_REPORT_DISABLED);\n this.terminal.syncMouseStyle();\n break;\n\n case 1010: // Scroll to bottom on tty output\n this.terminal.scrollOnOutput = state;\n break;\n\n case 1011: // Scroll to bottom on key press\n this.terminal.scrollOnKeystroke = state;\n break;\n\n case 1036: // Send ESC when Meta modifies a key\n this.terminal.keyboard.metaSendsEscape = state;\n break;\n\n case 1039: // Send ESC when Alt modifies a key\n if (state) {\n if (!this.terminal.keyboard.previousAltSendsWhat_) {\n this.terminal.keyboard.previousAltSendsWhat_ =\n this.terminal.keyboard.altSendsWhat;\n this.terminal.keyboard.altSendsWhat = 'escape';\n }\n } else if (this.terminal.keyboard.previousAltSendsWhat_) {\n this.terminal.keyboard.altSendsWhat =\n this.terminal.keyboard.previousAltSendsWhat_;\n this.terminal.keyboard.previousAltSendsWhat_ = null;\n }\n break;\n\n case 47: // Use Alternate Screen Buffer\n case 1047:\n this.terminal.setAlternateMode(state);\n break;\n\n case 1048: // Save cursor as in DECSC.\n this.savedState_.save();\n\n case 1049: // 1047 + 1048 + clear.\n if (state) {\n this.savedState_.save();\n this.terminal.setAlternateMode(state);\n this.terminal.clear();\n } else {\n this.terminal.setAlternateMode(state);\n this.savedState_.restore();\n }\n\n break;\n\n case 2004: // Bracketed paste mode.\n this.terminal.setBracketedPaste(state);\n break;\n\n default:\n if (this.warnUnimplemented)\n console.warn('Unimplemented DEC Private Mode: ' + code);\n break;\n }\n};\n\n/**\n * Function shared by control characters and escape sequences that are\n * ignored.\n */\nhterm.VT.ignore = function() {};\n\n/**\n * Collection of control characters expressed in a single byte.\n *\n * This includes the characters from the C0 and C1 sets (see [CTRL]) that we\n * care about. Two byte versions of the C1 codes are defined in the\n * hterm.VT.ESC collection.\n *\n * The 'CC1' mnemonic here refers to the fact that these are one-byte Control\n * Codes. It's only used in this source file and not defined in any of the\n * referenced documents.\n */\nhterm.VT.CC1 = {};\n\n/**\n * Collection of two-byte and three-byte sequences starting with ESC.\n */\nhterm.VT.ESC = {};\n\n/**\n * Collection of CSI (Control Sequence Introducer) sequences.\n *\n * These sequences begin with 'ESC [', and may take zero or more arguments.\n */\nhterm.VT.CSI = {};\n\n/**\n * Collection of OSC (Operating System Control) sequences.\n *\n * These sequences begin with 'ESC ]', followed by a function number and a\n * string terminated by either ST or BEL.\n */\nhterm.VT.OSC = {};\n\n/**\n * Collection of VT52 sequences.\n *\n * When in VT52 mode, other sequences are disabled.\n */\nhterm.VT.VT52 = {};\n\n/**\n * Null (NUL).\n *\n * Silently ignored.\n */\nhterm.VT.CC1['\\x00'] = hterm.VT.ignore;\n\n/**\n * Enquiry (ENQ).\n *\n * Transmit answerback message.\n *\n * The default answerback message in xterm is an empty string, so we just\n * ignore this.\n */\nhterm.VT.CC1['\\x05'] = hterm.VT.ignore;\n\n/**\n * Ring Bell (BEL).\n */\nhterm.VT.CC1['\\x07'] = function() {\n this.terminal.ringBell();\n};\n\n/**\n * Backspace (BS).\n *\n * Move the cursor to the left one character position, unless it is at the\n * left margin, in which case no action occurs.\n */\nhterm.VT.CC1['\\x08'] = function() {\n this.terminal.cursorLeft(1);\n};\n\n/**\n * Horizontal Tab (HT).\n *\n * Move the cursor to the next tab stop, or to the right margin if no further\n * tab stops are present on the line.\n */\nhterm.VT.CC1['\\x09'] = function() {\n this.terminal.forwardTabStop();\n};\n\n/**\n * Line Feed (LF).\n *\n * This code causes a line feed or a new line operation. See Automatic\n * Newline (LNM).\n */\nhterm.VT.CC1['\\x0a'] = function() {\n this.terminal.formFeed();\n};\n\n/**\n * Vertical Tab (VT).\n *\n * Interpreted as LF.\n */\nhterm.VT.CC1['\\x0b'] = hterm.VT.CC1['\\x0a'];\n\n/**\n * Form Feed (FF).\n *\n * Interpreted as LF.\n */\nhterm.VT.CC1['\\x0c'] = hterm.VT.CC1['\\x0a'];\n\n/**\n * Carriage Return (CR).\n *\n * Move cursor to the left margin on the current line.\n */\nhterm.VT.CC1['\\x0d'] = function() {\n this.terminal.setCursorColumn(0);\n};\n\n/**\n * Shift Out (SO), aka Lock Shift 0 (LS1).\n *\n * Invoke G1 character set in GL.\n */\nhterm.VT.CC1['\\x0e'] = function() {\n this.GL = 'G1';\n};\n\n/**\n * Shift In (SI), aka Lock Shift 0 (LS0).\n *\n * Invoke G0 character set in GL.\n */\nhterm.VT.CC1['\\x0f'] = function() {\n this.GL = 'G0';\n};\n\n/**\n * Transmit On (XON).\n *\n * Not currently implemented.\n *\n * TODO(rginda): Implement?\n */\nhterm.VT.CC1['\\x11'] = hterm.VT.ignore;\n\n/**\n * Transmit Off (XOFF).\n *\n * Not currently implemented.\n *\n * TODO(rginda): Implement?\n */\nhterm.VT.CC1['\\x13'] = hterm.VT.ignore;\n\n/**\n * Cancel (CAN).\n *\n * If sent during a control sequence, the sequence is immediately terminated\n * and not executed.\n *\n * It also causes the error character to be displayed.\n */\nhterm.VT.CC1['\\x18'] = function(parseState) {\n // If we've shifted in the G1 character set, shift it back out to\n // the default character set.\n if (this.GL == 'G1') {\n this.GL = 'G0';\n }\n parseState.resetParseFunction();\n this.terminal.print('?');\n};\n\n/**\n * Substitute (SUB).\n *\n * Interpreted as CAN.\n */\nhterm.VT.CC1['\\x1a'] = hterm.VT.CC1['\\x18'];\n\n/**\n * Escape (ESC).\n */\nhterm.VT.CC1['\\x1b'] = function(parseState) {\n function parseESC(parseState) {\n var ch = parseState.consumeChar();\n\n if (ch == '\\x1b')\n return;\n\n this.dispatch('ESC', ch, parseState);\n\n if (parseState.func == parseESC)\n parseState.resetParseFunction();\n };\n\n parseState.func = parseESC;\n};\n\n/**\n * Delete (DEL).\n */\nhterm.VT.CC1['\\x7f'] = hterm.VT.ignore;\n\n// 8 bit control characters and their two byte equivalents, below...\n\n/**\n * Index (IND).\n *\n * Like newline, only keep the X position\n */\nhterm.VT.CC1['\\x84'] =\nhterm.VT.ESC['D'] = function() {\n this.terminal.lineFeed();\n};\n\n/**\n * Next Line (NEL).\n *\n * Like newline, but doesn't add lines.\n */\nhterm.VT.CC1['\\x85'] =\nhterm.VT.ESC['E'] = function() {\n this.terminal.setCursorColumn(0);\n this.terminal.cursorDown(1);\n};\n\n/**\n * Horizontal Tabulation Set (HTS).\n */\nhterm.VT.CC1['\\x88'] =\nhterm.VT.ESC['H'] = function() {\n this.terminal.setTabStop(this.terminal.getCursorColumn());\n};\n\n/**\n * Reverse Index (RI).\n *\n * Move up one line.\n */\nhterm.VT.CC1['\\x8d'] =\nhterm.VT.ESC['M'] = function() {\n this.terminal.reverseLineFeed();\n};\n\n/**\n * Single Shift 2 (SS2).\n *\n * Select of G2 Character Set for the next character only.\n *\n * Not currently implemented.\n */\nhterm.VT.CC1['\\x8e'] =\nhterm.VT.ESC['N'] = hterm.VT.ignore;\n\n/**\n * Single Shift 3 (SS3).\n *\n * Select of G3 Character Set for the next character only.\n *\n * Not currently implemented.\n */\nhterm.VT.CC1['\\x8f'] =\nhterm.VT.ESC['O'] = hterm.VT.ignore;\n\n/**\n * Device Control String (DCS).\n *\n * Indicate a DCS sequence. See Device-Control functions in [XTERM].\n * Not currently implemented.\n *\n * TODO(rginda): Consider implementing DECRQSS, the rest don't seem applicable.\n */\nhterm.VT.CC1['\\x90'] =\nhterm.VT.ESC['P'] = function(parseState) {\n parseState.resetArguments();\n parseState.func = this.parseUntilStringTerminator_;\n};\n\n/**\n * Start of Guarded Area (SPA).\n *\n * Will not implement.\n */\nhterm.VT.CC1['\\x96'] =\nhterm.VT.ESC['V'] = hterm.VT.ignore;\n\n/**\n * End of Guarded Area (EPA).\n *\n * Will not implement.\n */\nhterm.VT.CC1['\\x97'] =\nhterm.VT.ESC['W'] = hterm.VT.ignore;\n\n/**\n * Start of String (SOS).\n *\n * Will not implement.\n */\nhterm.VT.CC1['\\x98'] =\nhterm.VT.ESC['X'] = hterm.VT.ignore;\n\n/**\n * Single Character Introducer (SCI, also DECID).\n *\n * Return Terminal ID. Obsolete form of 'ESC [ c' (DA).\n */\nhterm.VT.CC1['\\x9a'] =\nhterm.VT.ESC['Z'] = function() {\n this.terminal.io.sendString('\\x1b[?1;2c');\n};\n\n/**\n * Control Sequence Introducer (CSI).\n *\n * The lead into most escape sequences. See [CSI].\n */\nhterm.VT.CC1['\\x9b'] =\nhterm.VT.ESC['['] = function(parseState) {\n parseState.resetArguments();\n this.leadingModifier_ = '';\n this.trailingModifier_ = '';\n parseState.func = this.parseCSI_;\n};\n\n/**\n * String Terminator (ST).\n *\n * Used to terminate DCS/OSC/PM/APC commands which may take string arguments.\n *\n * We don't directly handle it here, as it's only used to terminate other\n * sequences. See the 'parseUntilStringTerminator_' method.\n */\nhterm.VT.CC1['\\x9c'] =\nhterm.VT.ESC['\\\\'] = hterm.VT.ignore;\n\n/**\n * Operating System Command (OSC).\n *\n * Commands relating to the operating system.\n */\nhterm.VT.CC1['\\x9d'] =\nhterm.VT.ESC[']'] = function(parseState) {\n parseState.resetArguments();\n\n function parseOSC(parseState) {\n if (!this.parseUntilStringTerminator_(parseState)) {\n // The string sequence was too long.\n return;\n }\n\n if (parseState.func == parseOSC) {\n // We're not done parsing the string yet.\n return;\n }\n\n // We're done.\n var ary = parseState.args[0].match(/^(\\d+);(.*)$/);\n if (ary) {\n parseState.args[0] = ary[2];\n this.dispatch('OSC', ary[1], parseState);\n } else {\n console.warn('Invalid OSC: ' + JSON.stringify(parseState.args[0]));\n }\n };\n\n parseState.func = parseOSC;\n};\n\n/**\n * Privacy Message (PM).\n *\n * Will not implement.\n */\nhterm.VT.CC1['\\x9e'] =\nhterm.VT.ESC['^'] = function(parseState) {\n parseState.resetArguments();\n parseState.func = this.parseUntilStringTerminator_;\n};\n\n/**\n * Application Program Control (APC).\n *\n * Will not implement.\n */\nhterm.VT.CC1['\\x9f'] =\nhterm.VT.ESC['_'] = function(parseState) {\n parseState.resetArguments();\n parseState.func = this.parseUntilStringTerminator_;\n};\n\n/**\n * ESC \\x20 - Unclear to me where these originated, possibly in xterm.\n *\n * Not currently implemented:\n * ESC \\x20 F - Select 7 bit escape codes in responses (S7C1T).\n * ESC \\x20 G - Select 8 bit escape codes in responses (S8C1T).\n * NB: We currently assume S7C1T always.\n *\n * Will not implement:\n * ESC \\x20 L - Set ANSI conformance level 1.\n * ESC \\x20 M - Set ANSI conformance level 2.\n * ESC \\x20 N - Set ANSI conformance level 3.\n */\nhterm.VT.ESC['\\x20'] = function(parseState) {\n parseState.func = function(parseState) {\n var ch = parseState.consumeChar();\n if (this.warnUnimplemented)\n console.warn('Unimplemented sequence: ESC 0x20 ' + ch);\n parseState.resetParseFunction();\n };\n};\n\n/**\n * DEC 'ESC #' sequences.\n */\nhterm.VT.ESC['#'] = function(parseState) {\n parseState.func = function(parseState) {\n var ch = parseState.consumeChar();\n if (ch == '8') // DEC Screen Alignment Test (DECALN)\n this.terminal.fill('E');\n\n parseState.resetParseFunction();\n };\n};\n\n/**\n * Designate Other Coding System (DOCS).\n */\nhterm.VT.ESC['%'] = function(parseState) {\n parseState.func = function(parseState) {\n var ch = parseState.consumeChar();\n\n // If we've locked the encoding, then just eat the bytes and return.\n if (this.codingSystemLocked_) {\n if (ch == '/')\n parseState.consumeChar();\n parseState.resetParseFunction();\n return;\n }\n\n // Process the encoding requests.\n switch (ch) {\n case '@':\n // Switch to ECMA 35.\n this.setEncoding('iso-2022');\n break;\n\n case 'G':\n // Switch to UTF-8.\n this.setEncoding('utf-8');\n break;\n\n case '/':\n // One way transition to something else.\n ch = parseState.consumeChar();\n switch (ch) {\n case 'G': // UTF-8 Level 1.\n case 'H': // UTF-8 Level 2.\n case 'I': // UTF-8 Level 3.\n // We treat all UTF-8 levels the same.\n this.setEncoding('utf-8-locked');\n break;\n\n default:\n if (this.warnUnimplemented)\n console.warn('Unknown ESC % / argument: ' + JSON.stringify(ch));\n break;\n }\n break;\n\n default:\n if (this.warnUnimplemented)\n console.warn('Unknown ESC % argument: ' + JSON.stringify(ch));\n break;\n }\n\n parseState.resetParseFunction();\n };\n};\n\n/**\n * Character Set Selection (SCS).\n *\n * ESC ( Ps - Set G0 character set (VT100).\n * ESC ) Ps - Set G1 character set (VT220).\n * ESC * Ps - Set G2 character set (VT220).\n * ESC + Ps - Set G3 character set (VT220).\n * ESC - Ps - Set G1 character set (VT300).\n * ESC . Ps - Set G2 character set (VT300).\n * ESC / Ps - Set G3 character set (VT300).\n *\n * All other sequences are echoed to the terminal.\n */\nhterm.VT.ESC['('] =\nhterm.VT.ESC[')'] =\nhterm.VT.ESC['*'] =\nhterm.VT.ESC['+'] =\nhterm.VT.ESC['-'] =\nhterm.VT.ESC['.'] =\nhterm.VT.ESC['/'] = function(parseState, code) {\n parseState.func = function(parseState) {\n var ch = parseState.consumeChar();\n if (ch == '\\x1b') {\n parseState.resetParseFunction();\n parseState.func();\n return;\n }\n\n var map = this.characterMaps.getMap(ch);\n if (map !== undefined) {\n if (code == '(') {\n this.G0 = map;\n } else if (code == ')' || code == '-') {\n this.G1 = map;\n } else if (code == '*' || code == '.') {\n this.G2 = map;\n } else if (code == '+' || code == '/') {\n this.G3 = map;\n }\n } else if (this.warnUnimplemented) {\n console.log('Invalid character set for \"' + code + '\": ' + ch);\n }\n\n parseState.resetParseFunction();\n };\n};\n\n/**\n * Back Index (DECBI).\n *\n * VT420 and up. Not currently implemented.\n */\nhterm.VT.ESC['6'] = hterm.VT.ignore;\n\n/**\n * Save Cursor (DECSC).\n */\nhterm.VT.ESC['7'] = function() {\n this.savedState_.save();\n};\n\n/**\n * Restore Cursor (DECRC).\n */\nhterm.VT.ESC['8'] = function() {\n this.savedState_.restore();\n};\n\n/**\n * Forward Index (DECFI).\n *\n * VT210 and up. Not currently implemented.\n */\nhterm.VT.ESC['9'] = hterm.VT.ignore;\n\n/**\n * Application keypad (DECKPAM).\n */\nhterm.VT.ESC['='] = function() {\n this.terminal.keyboard.applicationKeypad = true;\n};\n\n/**\n * Normal keypad (DECKPNM).\n */\nhterm.VT.ESC['>'] = function() {\n this.terminal.keyboard.applicationKeypad = false;\n};\n\n/**\n * Cursor to lower left corner of screen.\n *\n * Will not implement.\n *\n * This is only recognized by xterm when the hpLowerleftBugCompat resource is\n * set.\n */\nhterm.VT.ESC['F'] = hterm.VT.ignore;\n\n/**\n * Full Reset (RIS).\n */\nhterm.VT.ESC['c'] = function() {\n this.reset();\n this.terminal.reset();\n};\n\n/**\n * Memory lock/unlock.\n *\n * Will not implement.\n */\nhterm.VT.ESC['l'] =\nhterm.VT.ESC['m'] = hterm.VT.ignore;\n\n/**\n * Lock Shift 2 (LS2)\n *\n * Invoke the G2 Character Set as GL.\n */\nhterm.VT.ESC['n'] = function() {\n this.GL = 'G2';\n};\n\n/**\n * Lock Shift 3 (LS3)\n *\n * Invoke the G3 Character Set as GL.\n */\nhterm.VT.ESC['o'] = function() {\n this.GL = 'G3';\n};\n\n/**\n * Lock Shift 2, Right (LS3R)\n *\n * Invoke the G3 Character Set as GR.\n */\nhterm.VT.ESC['|'] = function() {\n this.GR = 'G3';\n};\n\n/**\n * Lock Shift 2, Right (LS2R)\n *\n * Invoke the G2 Character Set as GR.\n */\nhterm.VT.ESC['}'] = function() {\n this.GR = 'G2';\n};\n\n/**\n * Lock Shift 1, Right (LS1R)\n *\n * Invoke the G1 Character Set as GR.\n */\nhterm.VT.ESC['~'] = function() {\n this.GR = 'G1';\n};\n\n/**\n * Change icon name and window title.\n *\n * We only change the window title.\n */\nhterm.VT.OSC['0'] = function(parseState) {\n this.terminal.setWindowTitle(parseState.args[0]);\n};\n\n/**\n * Change window title.\n */\nhterm.VT.OSC['2'] = hterm.VT.OSC['0'];\n\n/**\n * Set/read color palette.\n */\nhterm.VT.OSC['4'] = function(parseState) {\n // Args come in as a single 'index1;rgb1 ... ;indexN;rgbN' string.\n // We split on the semicolon and iterate through the pairs.\n var args = parseState.args[0].split(';');\n\n var pairCount = parseInt(args.length / 2);\n var colorPalette = this.terminal.getTextAttributes().colorPalette;\n var responseArray = [];\n\n for (var pairNumber = 0; pairNumber < pairCount; ++pairNumber) {\n var colorIndex = parseInt(args[pairNumber * 2]);\n var colorValue = args[pairNumber * 2 + 1];\n\n if (colorIndex >= colorPalette.length)\n continue;\n\n if (colorValue == '?') {\n // '?' means we should report back the current color value.\n colorValue = lib.colors.rgbToX11(colorPalette[colorIndex]);\n if (colorValue)\n responseArray.push(colorIndex + ';' + colorValue);\n\n continue;\n }\n\n colorValue = lib.colors.x11ToCSS(colorValue);\n if (colorValue)\n colorPalette[colorIndex] = colorValue;\n }\n\n if (responseArray.length)\n this.terminal.io.sendString('\\x1b]4;' + responseArray.join(';') + '\\x07');\n};\n\n/**\n * iTerm2 growl notifications.\n */\nhterm.VT.OSC['9'] = function(parseState) {\n // This just dumps the entire string as the message.\n hterm.notify({'body': parseState.args[0]});\n};\n\n/**\n * Change VT100 text foreground color.\n */\nhterm.VT.OSC['10'] = function(parseState) {\n // Args come in as a single string, but extra args will chain to the following\n // OSC sequences.\n var args = parseState.args[0].split(';');\n if (!args)\n return;\n\n var colorArg;\n var colorX11 = lib.colors.x11ToCSS(args.shift());\n if (colorX11)\n this.terminal.setForegroundColor(colorX11);\n\n if (args.length > 0) {\n parseState.args[0] = args.join(';');\n hterm.VT.OSC['11'].apply(this, [parseState]);\n }\n};\n\n/**\n * Change VT100 text background color.\n */\nhterm.VT.OSC['11'] = function(parseState) {\n // Args come in as a single string, but extra args will chain to the following\n // OSC sequences.\n var args = parseState.args[0].split(';');\n if (!args)\n return;\n\n var colorArg;\n var colorX11 = lib.colors.x11ToCSS(args.shift());\n if (colorX11)\n this.terminal.setBackgroundColor(colorX11);\n\n /* Note: If we support OSC 12+, we'd chain it here.\n if (args.length > 0) {\n parseState.args[0] = args.join(';');\n hterm.VT.OSC['12'].apply(this, [parseState]);\n }\n */\n};\n\n/**\n * Set the cursor shape.\n *\n * Parameter is expected to be in the form \"CursorShape=number\", where number is\n * one of:\n *\n * 0 - Block\n * 1 - I-Beam\n * 2 - Underline\n *\n * This is a bit of a de-facto standard supported by iTerm 2 and Konsole. See\n * also: DECSCUSR.\n *\n * Invalid numbers will restore the cursor to the block shape.\n */\nhterm.VT.OSC['50'] = function(parseState) {\n var args = parseState.args[0].match(/CursorShape=(.)/i);\n if (!args) {\n console.warn('Could not parse OSC 50 args: ' + parseState.args[0]);\n return;\n }\n\n switch (args[1]) {\n case '1': // CursorShape=1: I-Beam.\n this.terminal.setCursorShape(hterm.Terminal.cursorShape.BEAM);\n break;\n\n case '2': // CursorShape=2: Underline.\n this.terminal.setCursorShape(hterm.Terminal.cursorShape.UNDERLINE);\n break;\n\n default: // CursorShape=0: Block.\n this.terminal.setCursorShape(hterm.Terminal.cursorShape.BLOCK);\n }\n};\n\n/**\n * Set/read system clipboard.\n *\n * Read is not implemented due to security considerations. A remote app\n * that is able to both write and read to the clipboard could essentially\n * take over your session.\n *\n * The clipboard data will be decoded according to the 'receive-encoding'\n * preference.\n */\nhterm.VT.OSC['52'] = function(parseState) {\n // Args come in as a single 'clipboard;b64-data' string. The clipboard\n // parameter is used to select which of the X clipboards to address. Since\n // we're not integrating with X, we treat them all the same.\n var args = parseState.args[0].match(/^[cps01234567]*;(.*)/);\n if (!args)\n return;\n\n var data = window.atob(args[1]);\n if (data)\n this.terminal.copyStringToClipboard(this.decode(data));\n};\n\n/**\n * URxvt perl modules.\n *\n * This is the escape system used by rxvt-unicode and its perl modules.\n * Obviously we don't support perl or custom modules, so we list a few common\n * ones that we find useful.\n *\n * Technically there is no format here, but most modules obey:\n * ;\n */\nhterm.VT.OSC['777'] = function(parseState) {\n var ary;\n var urxvtMod = parseState.args[0].split(';', 1)[0];\n\n switch (urxvtMod) {\n case 'notify':\n // Format:\n // notify;title;message\n var title, message;\n ary = parseState.args[0].match(/^[^;]+;([^;]*)(;([\\s\\S]*))?$/);\n if (ary) {\n title = ary[1];\n message = ary[3];\n }\n hterm.notify({'title': title, 'body': message});\n break;\n\n default:\n console.warn('Unknown urxvt module: ' + parseState.args[0]);\n break;\n }\n};\n\n/**\n * Insert (blank) characters (ICH).\n */\nhterm.VT.CSI['@'] = function(parseState) {\n this.terminal.insertSpace(parseState.iarg(0, 1));\n};\n\n/**\n * Cursor Up (CUU).\n */\nhterm.VT.CSI['A'] = function(parseState) {\n this.terminal.cursorUp(parseState.iarg(0, 1));\n};\n\n/**\n * Cursor Down (CUD).\n */\nhterm.VT.CSI['B'] = function(parseState) {\n this.terminal.cursorDown(parseState.iarg(0, 1));\n};\n\n/**\n * Cursor Forward (CUF).\n */\nhterm.VT.CSI['C'] = function(parseState) {\n this.terminal.cursorRight(parseState.iarg(0, 1));\n};\n\n/**\n * Cursor Backward (CUB).\n */\nhterm.VT.CSI['D'] = function(parseState) {\n this.terminal.cursorLeft(parseState.iarg(0, 1));\n};\n\n/**\n * Cursor Next Line (CNL).\n *\n * This is like Cursor Down, except the cursor moves to the beginning of the\n * line as well.\n */\nhterm.VT.CSI['E'] = function(parseState) {\n this.terminal.cursorDown(parseState.iarg(0, 1));\n this.terminal.setCursorColumn(0);\n};\n\n/**\n * Cursor Preceding Line (CPL).\n *\n * This is like Cursor Up, except the cursor moves to the beginning of the\n * line as well.\n */\nhterm.VT.CSI['F'] = function(parseState) {\n this.terminal.cursorUp(parseState.iarg(0, 1));\n this.terminal.setCursorColumn(0);\n};\n\n/**\n * Cursor Character Absolute (CHA).\n */\nhterm.VT.CSI['G'] = function(parseState) {\n this.terminal.setCursorColumn(parseState.iarg(0, 1) - 1);\n};\n\n/**\n * Cursor Position (CUP).\n */\nhterm.VT.CSI['H'] = function(parseState) {\n this.terminal.setCursorPosition(parseState.iarg(0, 1) - 1,\n parseState.iarg(1, 1) - 1);\n};\n\n/**\n * Cursor Forward Tabulation (CHT).\n */\nhterm.VT.CSI['I'] = function(parseState) {\n var count = parseState.iarg(0, 1);\n count = lib.f.clamp(count, 1, this.terminal.screenSize.width);\n for (var i = 0; i < count; i++) {\n this.terminal.forwardTabStop();\n }\n};\n\n/**\n * Erase in Display (ED, DECSED).\n */\nhterm.VT.CSI['J'] =\nhterm.VT.CSI['?J'] = function(parseState, code) {\n var arg = parseState.args[0];\n\n if (!arg || arg == 0) {\n this.terminal.eraseBelow();\n } else if (arg == 1) {\n this.terminal.eraseAbove();\n } else if (arg == 2) {\n this.terminal.clear();\n } else if (arg == 3) {\n // The xterm docs say this means \"Erase saved lines\", but we'll just clear\n // the display since killing the scrollback seems rude.\n this.terminal.clear();\n }\n};\n\n/**\n * Erase in line (EL, DECSEL).\n */\nhterm.VT.CSI['K'] =\nhterm.VT.CSI['?K'] = function(parseState, code) {\n var arg = parseState.args[0];\n\n if (!arg || arg == 0) {\n this.terminal.eraseToRight();\n } else if (arg == 1) {\n this.terminal.eraseToLeft();\n } else if (arg == 2) {\n this.terminal.eraseLine();\n }\n};\n\n/**\n * Insert Lines (IL).\n */\nhterm.VT.CSI['L'] = function(parseState) {\n this.terminal.insertLines(parseState.iarg(0, 1));\n};\n\n/**\n * Delete Lines (DL).\n */\nhterm.VT.CSI['M'] = function(parseState) {\n this.terminal.deleteLines(parseState.iarg(0, 1));\n};\n\n/**\n * Delete Characters (DCH).\n *\n * This command shifts the line contents left, starting at the cursor position.\n */\nhterm.VT.CSI['P'] = function(parseState) {\n this.terminal.deleteChars(parseState.iarg(0, 1));\n};\n\n/**\n * Scroll Up (SU).\n */\nhterm.VT.CSI['S'] = function(parseState) {\n this.terminal.vtScrollUp(parseState.iarg(0, 1));\n};\n\n/**\n * Scroll Down (SD).\n * Also 'Initiate highlight mouse tracking'. Will not implement this part.\n */\nhterm.VT.CSI['T'] = function(parseState) {\n if (parseState.args.length <= 1)\n this.terminal.vtScrollDown(parseState.iarg(0, 1));\n};\n\n/**\n * Reset one or more features of the title modes to the default value.\n *\n * ESC [ > Ps T\n *\n * Normally, \"reset\" disables the feature. It is possible to disable the\n * ability to reset features by compiling a different default for the title\n * modes into xterm.\n *\n * Ps values:\n * 0 - Do not set window/icon labels using hexadecimal.\n * 1 - Do not query window/icon labels using hexadecimal.\n * 2 - Do not set window/icon labels using UTF-8.\n * 3 - Do not query window/icon labels using UTF-8.\n *\n * Will not implement.\n */\nhterm.VT.CSI['>T'] = hterm.VT.ignore;\n\n/**\n * Erase Characters (ECH).\n */\nhterm.VT.CSI['X'] = function(parseState) {\n this.terminal.eraseToRight(parseState.iarg(0, 1));\n};\n\n/**\n * Cursor Backward Tabulation (CBT).\n */\nhterm.VT.CSI['Z'] = function(parseState) {\n var count = parseState.iarg(0, 1);\n count = lib.f.clamp(count, 1, this.terminal.screenSize.width);\n for (var i = 0; i < count; i++) {\n this.terminal.backwardTabStop();\n }\n};\n\n/**\n * Character Position Absolute (HPA).\n *\n * Same as Cursor Character Absolute (CHA).\n */\nhterm.VT.CSI['`'] = hterm.VT.CSI['G'];\n\n/**\n * Character Position Relative (HPR).\n */\nhterm.VT.CSI['a'] = function(parseState) {\n this.terminal.setCursorColumn(this.terminal.getCursorColumn() +\n parseState.iarg(0, 1));\n};\n\n/**\n * Repeat the preceding graphic character.\n *\n * Not currently implemented.\n */\nhterm.VT.CSI['b'] = hterm.VT.ignore;\n\n/**\n * Send Device Attributes (Primary DA).\n *\n * TODO(rginda): This is hardcoded to send back 'VT100 with Advanced Video\n * Option', but it may be more correct to send a VT220 response once\n * we fill out the 'Not currently implemented' parts.\n */\nhterm.VT.CSI['c'] = function(parseState) {\n if (!parseState.args[0] || parseState.args[0] == 0) {\n this.terminal.io.sendString('\\x1b[?1;2c');\n }\n};\n\n/**\n * Send Device Attributes (Secondary DA).\n *\n * TODO(rginda): This is hardcoded to send back 'VT100' but it may be more\n * correct to send a VT220 response once we fill out more 'Not currently\n * implemented' parts.\n */\nhterm.VT.CSI['>c'] = function(parseState) {\n this.terminal.io.sendString('\\x1b[>0;256;0c');\n};\n\n/**\n * Line Position Absolute (VPA).\n */\nhterm.VT.CSI['d'] = function(parseState) {\n this.terminal.setAbsoluteCursorRow(parseState.iarg(0, 1) - 1);\n};\n\n/**\n * Horizontal and Vertical Position (HVP).\n *\n * Same as Cursor Position (CUP).\n */\nhterm.VT.CSI['f'] = hterm.VT.CSI['H'];\n\n/**\n * Tab Clear (TBC).\n */\nhterm.VT.CSI['g'] = function(parseState) {\n if (!parseState.args[0] || parseState.args[0] == 0) {\n // Clear tab stop at cursor.\n this.terminal.clearTabStopAtCursor(false);\n } else if (parseState.args[0] == 3) {\n // Clear all tab stops.\n this.terminal.clearAllTabStops();\n }\n};\n\n/**\n * Set Mode (SM).\n */\nhterm.VT.CSI['h'] = function(parseState) {\n for (var i = 0; i < parseState.args.length; i++) {\n this.setANSIMode(parseState.args[i], true);\n }\n};\n\n/**\n * DEC Private Mode Set (DECSET).\n */\nhterm.VT.CSI['?h'] = function(parseState) {\n for (var i = 0; i < parseState.args.length; i++) {\n this.setDECMode(parseState.args[i], true);\n }\n};\n\n/**\n * Media Copy (MC).\n * Media Copy (MC, DEC Specific).\n *\n * These commands control the printer. Will not implement.\n */\nhterm.VT.CSI['i'] =\nhterm.VT.CSI['?i'] = hterm.VT.ignore;\n\n/**\n * Reset Mode (RM).\n */\nhterm.VT.CSI['l'] = function(parseState) {\n for (var i = 0; i < parseState.args.length; i++) {\n this.setANSIMode(parseState.args[i], false);\n }\n};\n\n/**\n * DEC Private Mode Reset (DECRST).\n */\nhterm.VT.CSI['?l'] = function(parseState) {\n for (var i = 0; i < parseState.args.length; i++) {\n this.setDECMode(parseState.args[i], false);\n }\n};\n\n/**\n * Character Attributes (SGR).\n *\n * Iterate through the list of arguments, applying the attribute changes based\n * on the argument value...\n */\nhterm.VT.CSI['m'] = function(parseState) {\n function get256(i) {\n if (parseState.args.length < i + 2 || parseState.args[i + 1] != 5)\n return null;\n\n return parseState.iarg(i + 2, 0);\n }\n\n function getTrueColor(i) {\n if (parseState.args.length < i + 5 || parseState.args[i + 1] != 2)\n return null;\n var r = parseState.iarg(i + 2, 0);\n var g = parseState.iarg(i + 3, 0);\n var b = parseState.iarg(i + 4, 0);\n\n return 'rgb(' + r + ' ,' + g + ' ,' + b + ')';\n }\n\n var attrs = this.terminal.getTextAttributes();\n\n if (!parseState.args.length) {\n attrs.reset();\n return;\n }\n\n for (var i = 0; i < parseState.args.length; i++) {\n var arg = parseState.iarg(i, 0);\n\n if (arg < 30) {\n if (arg == 0) { // Normal (default).\n attrs.reset();\n } else if (arg == 1) { // Bold.\n attrs.bold = true;\n } else if (arg == 2) { // Faint.\n attrs.faint = true;\n } else if (arg == 3) { // Italic.\n attrs.italic = true;\n } else if (arg == 4) { // Underline.\n attrs.underline = true;\n } else if (arg == 5) { // Blink.\n attrs.blink = true;\n } else if (arg == 7) { // Inverse.\n attrs.inverse = true;\n } else if (arg == 8) { // Invisible.\n attrs.invisible = true;\n } else if (arg == 9) { // Crossed out.\n attrs.strikethrough = true;\n } else if (arg == 22) { // Not bold & not faint.\n attrs.bold = false;\n attrs.faint = false;\n } else if (arg == 23) { // Not italic.\n attrs.italic = false;\n } else if (arg == 24) { // Not underlined.\n attrs.underline = false;\n } else if (arg == 25) { // Not blink.\n attrs.blink = false;\n } else if (arg == 27) { // Steady.\n attrs.inverse = false;\n } else if (arg == 28) { // Visible.\n attrs.invisible = false;\n } else if (arg == 29) { // Not crossed out.\n attrs.strikethrough = false;\n }\n\n } else if (arg < 50) {\n // Select fore/background color from bottom half of 16 color palette\n // or from the 256 color palette or alternative specify color in fully\n // qualified rgb(r, g, b) form.\n if (arg < 38) {\n attrs.foregroundSource = arg - 30;\n\n } else if (arg == 38) {\n // First check for true color definition\n var trueColor = getTrueColor(i);\n if (trueColor != null) {\n attrs.foregroundSource = attrs.SRC_RGB;\n attrs.foreground = trueColor;\n\n i += 5;\n } else {\n // Check for 256 color\n var c = get256(i);\n if (c == null)\n break;\n\n i += 2;\n\n if (c >= attrs.colorPalette.length)\n continue;\n\n attrs.foregroundSource = c;\n }\n\n } else if (arg == 39) {\n attrs.foregroundSource = attrs.SRC_DEFAULT;\n\n } else if (arg < 48) {\n attrs.backgroundSource = arg - 40;\n\n } else if (arg == 48) {\n // First check for true color definition\n var trueColor = getTrueColor(i);\n if (trueColor != null) {\n attrs.backgroundSource = attrs.SRC_RGB;\n attrs.background = trueColor;\n\n i += 5;\n } else {\n // Check for 256 color\n var c = get256(i);\n if (c == null)\n break;\n\n i += 2;\n\n if (c >= attrs.colorPalette.length)\n continue;\n\n attrs.backgroundSource = c;\n }\n } else {\n attrs.backgroundSource = attrs.SRC_DEFAULT;\n }\n\n } else if (arg >= 90 && arg <= 97) {\n attrs.foregroundSource = arg - 90 + 8;\n\n } else if (arg >= 100 && arg <= 107) {\n attrs.backgroundSource = arg - 100 + 8;\n }\n }\n\n attrs.setDefaults(this.terminal.getForegroundColor(),\n this.terminal.getBackgroundColor());\n};\n\n/**\n * Set xterm-specific keyboard modes.\n *\n * Will not implement.\n */\nhterm.VT.CSI['>m'] = hterm.VT.ignore;\n\n/**\n * Device Status Report (DSR, DEC Specific).\n *\n * 5 - Status Report. Result (OK) is CSI 0 n\n * 6 - Report Cursor Position (CPR) [row;column]. Result is CSI r ; c R\n */\nhterm.VT.CSI['n'] = function(parseState) {\n if (parseState.args[0] == 5) {\n this.terminal.io.sendString('\\x1b0n');\n } else if (parseState.args[0] == 6) {\n var row = this.terminal.getCursorRow() + 1;\n var col = this.terminal.getCursorColumn() + 1;\n this.terminal.io.sendString('\\x1b[' + row + ';' + col + 'R');\n }\n};\n\n/**\n * Disable modifiers which may be enabled via CSI['>m'].\n *\n * Will not implement.\n */\nhterm.VT.CSI['>n'] = hterm.VT.ignore;\n\n/**\n * Device Status Report (DSR, DEC Specific).\n *\n * 6 - Report Cursor Position (CPR) [row;column] as CSI ? r ; c R\n * 15 - Report Printer status as CSI ? 1 0 n (ready) or\n * CSI ? 1 1 n (not ready).\n * 25 - Report UDK status as CSI ? 2 0 n (unlocked) or CSI ? 2 1 n (locked).\n * 26 - Report Keyboard status as CSI ? 2 7 ; 1 ; 0 ; 0 n (North American).\n * The last two parameters apply to VT400 & up, and denote keyboard ready\n * and LK01 respectively.\n * 53 - Report Locator status as CSI ? 5 3 n Locator available, if compiled-in,\n * or CSI ? 5 0 n No Locator, if not.\n */\nhterm.VT.CSI['?n'] = function(parseState) {\n if (parseState.args[0] == 6) {\n var row = this.terminal.getCursorRow() + 1;\n var col = this.terminal.getCursorColumn() + 1;\n this.terminal.io.sendString('\\x1b[' + row + ';' + col + 'R');\n } else if (parseState.args[0] == 15) {\n this.terminal.io.sendString('\\x1b[?11n');\n } else if (parseState.args[0] == 25) {\n this.terminal.io.sendString('\\x1b[?21n');\n } else if (parseState.args[0] == 26) {\n this.terminal.io.sendString('\\x1b[?12;1;0;0n');\n } else if (parseState.args[0] == 53) {\n this.terminal.io.sendString('\\x1b[?50n');\n }\n};\n\n/**\n * This is used by xterm to decide whether to hide the pointer cursor as the\n * user types.\n *\n * Valid values for the parameter:\n * 0 - Never hide the pointer.\n * 1 - Hide if the mouse tracking mode is not enabled.\n * 2 - Always hide the pointer.\n *\n * If no parameter is given, xterm uses the default, which is 1.\n *\n * Not currently implemented.\n */\nhterm.VT.CSI['>p'] = hterm.VT.ignore;\n\n/**\n * Soft terminal reset (DECSTR).\n */\nhterm.VT.CSI['!p'] = function() {\n this.reset();\n this.terminal.softReset();\n};\n\n/**\n * Request ANSI Mode (DECRQM).\n *\n * Not currently implemented.\n */\nhterm.VT.CSI['$p'] = hterm.VT.ignore;\nhterm.VT.CSI['?$p'] = hterm.VT.ignore;\n\n/**\n * Set conformance level (DECSCL).\n *\n * Not currently implemented.\n */\nhterm.VT.CSI['\"p'] = hterm.VT.ignore;\n\n/**\n * Load LEDs (DECLL).\n *\n * Not currently implemented. Could be implemented as virtual LEDs overlaying\n * the terminal if anyone cares.\n */\nhterm.VT.CSI['q'] = hterm.VT.ignore;\n\n/**\n * Set cursor style (DECSCUSR, VT520).\n */\nhterm.VT.CSI[' q'] = function(parseState) {\n var arg = parseState.args[0];\n\n if (arg == 0 || arg == 1) {\n this.terminal.setCursorShape(hterm.Terminal.cursorShape.BLOCK);\n this.terminal.setCursorBlink(true);\n } else if (arg == 2) {\n this.terminal.setCursorShape(hterm.Terminal.cursorShape.BLOCK);\n this.terminal.setCursorBlink(false);\n } else if (arg == 3) {\n this.terminal.setCursorShape(hterm.Terminal.cursorShape.UNDERLINE);\n this.terminal.setCursorBlink(true);\n } else if (arg == 4) {\n this.terminal.setCursorShape(hterm.Terminal.cursorShape.UNDERLINE);\n this.terminal.setCursorBlink(false);\n } else if (arg == 5) {\n this.terminal.setCursorShape(hterm.Terminal.cursorShape.BEAM);\n this.terminal.setCursorBlink(true);\n } else if (arg == 6) {\n this.terminal.setCursorShape(hterm.Terminal.cursorShape.BEAM);\n this.terminal.setCursorBlink(false);\n } else {\n console.warn('Unknown cursor style: ' + arg);\n }\n};\n\n/**\n * Select character protection attribute (DECSCA).\n *\n * Will not implement.\n */\nhterm.VT.CSI['\"q'] = hterm.VT.ignore;\n\n/**\n * Set Scrolling Region (DECSTBM).\n */\nhterm.VT.CSI['r'] = function(parseState) {\n var args = parseState.args;\n var scrollTop = args[0] ? parseInt(args[0], 10) -1 : null;\n var scrollBottom = args[1] ? parseInt(args[1], 10) - 1 : null;\n this.terminal.setVTScrollRegion(scrollTop, scrollBottom);\n this.terminal.setCursorPosition(0, 0);\n};\n\n/**\n * Restore DEC Private Mode Values.\n *\n * Will not implement.\n */\nhterm.VT.CSI['?r'] = hterm.VT.ignore;\n\n/**\n * Change Attributes in Rectangular Area (DECCARA)\n *\n * Will not implement.\n */\nhterm.VT.CSI['$r'] = hterm.VT.ignore;\n\n/**\n * Save cursor (ANSI.SYS)\n */\nhterm.VT.CSI['s'] = function() {\n this.savedState_.save();\n};\n\n/**\n * Save DEC Private Mode Values.\n *\n * Will not implement.\n */\nhterm.VT.CSI['?s'] = hterm.VT.ignore;\n\n/**\n * Window manipulation (from dtterm, as well as extensions).\n *\n * Will not implement.\n */\nhterm.VT.CSI['t'] = hterm.VT.ignore;\n\n/**\n * Reverse Attributes in Rectangular Area (DECRARA).\n *\n * Will not implement.\n */\nhterm.VT.CSI['$t'] = hterm.VT.ignore;\n\n/**\n * Set one or more features of the title modes.\n *\n * Will not implement.\n */\nhterm.VT.CSI['>t'] = hterm.VT.ignore;\n\n/**\n * Set warning-bell volume (DECSWBV, VT520).\n *\n * Will not implement.\n */\nhterm.VT.CSI[' t'] = hterm.VT.ignore;\n\n/**\n * Restore cursor (ANSI.SYS).\n */\nhterm.VT.CSI['u'] = function() {\n this.savedState_.restore();\n};\n\n/**\n * Set margin-bell volume (DECSMBV, VT520).\n *\n * Will not implement.\n */\nhterm.VT.CSI[' u'] = hterm.VT.ignore;\n\n/**\n * Copy Rectangular Area (DECCRA, VT400 and up).\n *\n * Will not implement.\n */\nhterm.VT.CSI['$v'] = hterm.VT.ignore;\n\n/**\n * Enable Filter Rectangle (DECEFR).\n *\n * Will not implement.\n */\nhterm.VT.CSI['\\'w'] = hterm.VT.ignore;\n\n/**\n * Request Terminal Parameters (DECREQTPARM).\n *\n * Not currently implemented.\n */\nhterm.VT.CSI['x'] = hterm.VT.ignore;\n\n/**\n * Select Attribute Change Extent (DECSACE).\n *\n * Will not implement.\n */\nhterm.VT.CSI['*x'] = hterm.VT.ignore;\n\n/**\n * Fill Rectangular Area (DECFRA), VT420 and up.\n *\n * Will not implement.\n */\nhterm.VT.CSI['$x'] = hterm.VT.ignore;\n\n/**\n * vt_tiledata (as used by NAOhack and UnNetHack)\n * (see https://nethackwiki.com/wiki/Vt_tiledata for more info)\n *\n * Implemented as far as we care (start a glyph and end a glyph).\n */\nhterm.VT.CSI['z'] = function(parseState) {\n if (parseState.args.length < 1)\n return;\n var arg = parseState.args[0];\n if (arg == 0) {\n // Start a glyph (one parameter, the glyph number).\n if (parseState.args.length < 2)\n return;\n this.terminal.getTextAttributes().tileData = parseState.args[1];\n } else if (arg == 1) {\n // End a glyph.\n this.terminal.getTextAttributes().tileData = null;\n }\n};\n\n/**\n * Enable Locator Reporting (DECELR).\n *\n * Not currently implemented.\n */\nhterm.VT.CSI['\\'z'] = hterm.VT.ignore;\n\n/**\n * Erase Rectangular Area (DECERA), VT400 and up.\n *\n * Will not implement.\n */\nhterm.VT.CSI['$z'] = hterm.VT.ignore;\n\n/**\n * Select Locator Events (DECSLE).\n *\n * Not currently implemented.\n */\nhterm.VT.CSI['\\'{'] = hterm.VT.ignore;\n\n/**\n * Request Locator Position (DECRQLP).\n *\n * Not currently implemented.\n */\nhterm.VT.CSI['\\'|'] = hterm.VT.ignore;\n\n/**\n * Insert Columns (DECIC), VT420 and up.\n *\n * Will not implement.\n */\nhterm.VT.CSI['\\'}'] = hterm.VT.ignore;\n\n/**\n * Delete P s Columns (DECDC), VT420 and up.\n *\n * Will not implement.\n */\nhterm.VT.CSI['\\'~'] = hterm.VT.ignore;\n// SOURCE FILE: hterm/js/hterm_vt_character_map.js\n// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n'use strict';\n\nlib.rtdep('lib.f');\n\n/**\n * Character map object.\n *\n * Mapping from received to display character, used depending on the active\n * VT character set.\n *\n * GR maps are not currently supported.\n *\n * @param {string} description A human readable description of this map.\n * @param {Object} glmap The GL mapping from input to output characters.\n */\nhterm.VT.CharacterMap = function(description, glmap) {\n /**\n * Short description for this character set, useful for debugging.\n */\n this.description = description;\n\n /**\n * The function to call to when this map is installed in GL.\n */\n this.GL = null;\n\n // Always keep an unmodified reference to the map.\n // This allows us to sanely reset back to the original state.\n this.glmapBase_ = glmap;\n\n // Now sync the internal state as needed.\n this.sync_();\n};\n\n/**\n * Internal helper for resyncing internal state.\n *\n * Used when the mappings change.\n *\n * @param {Object?} opt_glmap Additional mappings to overlay on top of the\n * base mapping.\n */\nhterm.VT.CharacterMap.prototype.sync_ = function(opt_glmap) {\n // If there are no maps, then reset the state back.\n if (!this.glmapBase_ && !opt_glmap) {\n this.GL = null;\n delete this.glmap_;\n delete this.glre_;\n return;\n }\n\n // Set the the GL mapping. If we're given a custom mapping, then create a\n // new object to hold the merged map. This way we can cleanly reset back.\n if (opt_glmap)\n this.glmap_ = Object.assign({}, this.glmapBase_, opt_glmap);\n else\n this.glmap_ = this.glmapBase_;\n\n var glchars = Object.keys(this.glmap_).map((key) =>\n '\\\\x' + lib.f.zpad(key.charCodeAt(0).toString(16)));\n this.glre_ = new RegExp('[' + glchars.join('') + ']', 'g');\n\n this.GL = (str) => str.replace(this.glre_, (ch) => this.glmap_[ch]);\n};\n\n/**\n * Reset map back to original mappings (discarding runtime updates).\n *\n * Specifically, any calls to setOverrides will be discarded.\n */\nhterm.VT.CharacterMap.prototype.reset = function() {\n // If we haven't been given a custom mapping, then there's nothing to reset.\n if (this.glmap_ !== this.glmapBase_)\n this.sync_();\n};\n\n/**\n * Merge custom changes to this map.\n *\n * The input map need not duplicate the existing mappings as it is merged with\n * the existing base map (what was created with). Subsequent calls to this\n * will throw away previous override settings.\n *\n * @param {Object} glmap The custom map to override existing mappings.\n */\nhterm.VT.CharacterMap.prototype.setOverrides = function(glmap) {\n this.sync_(glmap);\n};\n\n/**\n * Return a copy of this mapping.\n *\n * @return {hterm.VT.CharacterMap} A new hterm.VT.CharacterMap instance.\n */\nhterm.VT.CharacterMap.prototype.clone = function() {\n var map = new hterm.VT.CharacterMap(this.description, this.glmapBase_);\n if (this.glmap_ !== this.glmapBase_)\n map.setOverrides(this.glmap_);\n return map;\n};\n\n/**\n * Table of character maps.\n */\nhterm.VT.CharacterMaps = function() {\n this.maps_ = hterm.VT.CharacterMaps.DefaultMaps;\n\n // Always keep an unmodified reference to the map.\n // This allows us to sanely reset back to the original state.\n this.mapsBase_ = this.maps_;\n};\n\n/**\n * Look up a previously registered map.\n *\n * @param {String} name The name of the map to lookup.\n * @return {hterm.VT.CharacterMap} The map, if it's been registered.\n */\nhterm.VT.CharacterMaps.prototype.getMap = function(name) {\n if (this.maps_.hasOwnProperty(name))\n return this.maps_[name];\n else\n return undefined;\n};\n\n/**\n * Register a new map.\n *\n * Any previously registered maps by this name will be discarded.\n *\n * @param {String} name The name of the map.\n * @param {hterm.VT.CharacterMap} map The map to register.\n */\nhterm.VT.CharacterMaps.prototype.addMap = function(name, map) {\n if (this.maps_ === this.mapsBase_)\n this.maps_ = Object.assign({}, this.mapsBase_);\n this.maps_[name] = map;\n};\n\n/**\n * Reset the table and all its maps back to original state.\n */\nhterm.VT.CharacterMaps.prototype.reset = function() {\n if (this.maps_ !== hterm.VT.CharacterMaps.DefaultMaps)\n this.maps_ = hterm.VT.CharacterMaps.DefaultMaps;\n};\n\n/**\n * Merge custom changes to this table.\n *\n * @param {Object} maps A set of hterm.VT.CharacterMap objects.\n */\nhterm.VT.CharacterMaps.prototype.setOverrides = function(maps) {\n if (this.maps_ === this.mapsBase_)\n this.maps_ = Object.assign({}, this.mapsBase_);\n\n for (var name in maps) {\n var map = this.getMap(name);\n if (map !== undefined) {\n this.maps_[name] = map.clone();\n this.maps_[name].setOverrides(maps[name]);\n } else\n this.addMap(name, new hterm.VT.CharacterMap('user ' + name, maps[name]));\n }\n};\n\n/**\n * The default set of supported character maps.\n */\nhterm.VT.CharacterMaps.DefaultMaps = {};\n\n/**\n * VT100 Graphic character map.\n * http://vt100.net/docs/vt220-rm/table2-4.html\n */\nhterm.VT.CharacterMaps.DefaultMaps['0'] = new hterm.VT.CharacterMap(\n 'graphic', {\n '\\x60':'\\u25c6', // ` -> diamond\n '\\x61':'\\u2592', // a -> grey-box\n '\\x62':'\\u2409', // b -> h/t\n '\\x63':'\\u240c', // c -> f/f\n '\\x64':'\\u240d', // d -> c/r\n '\\x65':'\\u240a', // e -> l/f\n '\\x66':'\\u00b0', // f -> degree\n '\\x67':'\\u00b1', // g -> +/-\n '\\x68':'\\u2424', // h -> n/l\n '\\x69':'\\u240b', // i -> v/t\n '\\x6a':'\\u2518', // j -> bottom-right\n '\\x6b':'\\u2510', // k -> top-right\n '\\x6c':'\\u250c', // l -> top-left\n '\\x6d':'\\u2514', // m -> bottom-left\n '\\x6e':'\\u253c', // n -> line-cross\n '\\x6f':'\\u23ba', // o -> scan1\n '\\x70':'\\u23bb', // p -> scan3\n '\\x71':'\\u2500', // q -> scan5\n '\\x72':'\\u23bc', // r -> scan7\n '\\x73':'\\u23bd', // s -> scan9\n '\\x74':'\\u251c', // t -> left-tee\n '\\x75':'\\u2524', // u -> right-tee\n '\\x76':'\\u2534', // v -> bottom-tee\n '\\x77':'\\u252c', // w -> top-tee\n '\\x78':'\\u2502', // x -> vertical-line\n '\\x79':'\\u2264', // y -> less-equal\n '\\x7a':'\\u2265', // z -> greater-equal\n '\\x7b':'\\u03c0', // { -> pi\n '\\x7c':'\\u2260', // | -> not-equal\n '\\x7d':'\\u00a3', // } -> british-pound\n '\\x7e':'\\u00b7', // ~ -> dot\n });\n\n/**\n * British character map.\n * http://vt100.net/docs/vt220-rm/table2-5.html\n */\nhterm.VT.CharacterMaps.DefaultMaps['A'] = new hterm.VT.CharacterMap(\n 'british', {\n '\\x23': '\\u00a3', // # -> british-pound\n });\n\n/**\n * US ASCII map, no changes.\n */\nhterm.VT.CharacterMaps.DefaultMaps['B'] = new hterm.VT.CharacterMap(\n 'us', null);\n\n/**\n * Dutch character map.\n * http://vt100.net/docs/vt220-rm/table2-6.html\n */\nhterm.VT.CharacterMaps.DefaultMaps['4'] = new hterm.VT.CharacterMap(\n 'dutch', {\n '\\x23': '\\u00a3', // # -> british-pound\n\n '\\x40': '\\u00be', // @ -> 3/4\n\n '\\x5b': '\\u0132', // [ -> 'ij' ligature (xterm goes with \\u00ff?)\n '\\x5c': '\\u00bd', // \\ -> 1/2\n '\\x5d': '\\u007c', // ] -> vertical bar\n\n '\\x7b': '\\u00a8', // { -> two dots\n '\\x7c': '\\u0066', // | -> f\n '\\x7d': '\\u00bc', // } -> 1/4\n '\\x7e': '\\u00b4', // ~ -> acute\n });\n\n/**\n * Finnish character map.\n * http://vt100.net/docs/vt220-rm/table2-7.html\n */\nhterm.VT.CharacterMaps.DefaultMaps['C'] =\nhterm.VT.CharacterMaps.DefaultMaps['5'] = new hterm.VT.CharacterMap(\n 'finnish', {\n '\\x5b': '\\u00c4', // [ -> 'A' umlaut\n '\\x5c': '\\u00d6', // \\ -> 'O' umlaut\n '\\x5d': '\\u00c5', // ] -> 'A' ring\n '\\x5e': '\\u00dc', // ~ -> 'u' umlaut\n\n '\\x60': '\\u00e9', // ` -> 'e' acute\n\n '\\x7b': '\\u00e4', // { -> 'a' umlaut\n '\\x7c': '\\u00f6', // | -> 'o' umlaut\n '\\x7d': '\\u00e5', // } -> 'a' ring\n '\\x7e': '\\u00fc', // ~ -> 'u' umlaut\n });\n\n/**\n * French character map.\n * http://vt100.net/docs/vt220-rm/table2-8.html\n */\nhterm.VT.CharacterMaps.DefaultMaps['R'] = new hterm.VT.CharacterMap(\n 'french', {\n '\\x23': '\\u00a3', // # -> british-pound\n\n '\\x40': '\\u00e0', // @ -> 'a' grave\n\n '\\x5b': '\\u00b0', // [ -> ring\n '\\x5c': '\\u00e7', // \\ -> 'c' cedilla\n '\\x5d': '\\u00a7', // ] -> section symbol (double s)\n\n '\\x7b': '\\u00e9', // { -> 'e' acute\n '\\x7c': '\\u00f9', // | -> 'u' grave\n '\\x7d': '\\u00e8', // } -> 'e' grave\n '\\x7e': '\\u00a8', // ~ -> umlaut\n });\n\n/**\n * French Canadian character map.\n * http://vt100.net/docs/vt220-rm/table2-9.html\n */\nhterm.VT.CharacterMaps.DefaultMaps['Q'] = new hterm.VT.CharacterMap(\n 'french canadian', {\n '\\x40': '\\u00e0', // @ -> 'a' grave\n\n '\\x5b': '\\u00e2', // [ -> 'a' circumflex\n '\\x5c': '\\u00e7', // \\ -> 'c' cedilla\n '\\x5d': '\\u00ea', // ] -> 'e' circumflex\n '\\x5e': '\\u00ee', // ^ -> 'i' circumflex\n\n '\\x60': '\\u00f4', // ` -> 'o' circumflex\n\n '\\x7b': '\\u00e9', // { -> 'e' acute\n '\\x7c': '\\u00f9', // | -> 'u' grave\n '\\x7d': '\\u00e8', // } -> 'e' grave\n '\\x7e': '\\u00fb', // ~ -> 'u' circumflex\n });\n\n/**\n * German character map.\n * http://vt100.net/docs/vt220-rm/table2-10.html\n */\nhterm.VT.CharacterMaps.DefaultMaps['K'] = new hterm.VT.CharacterMap(\n 'german', {\n '\\x40': '\\u00a7', // @ -> section symbol (double s)\n\n '\\x5b': '\\u00c4', // [ -> 'A' umlaut\n '\\x5c': '\\u00d6', // \\ -> 'O' umlaut\n '\\x5d': '\\u00dc', // ] -> 'U' umlaut\n\n '\\x7b': '\\u00e4', // { -> 'a' umlaut\n '\\x7c': '\\u00f6', // | -> 'o' umlaut\n '\\x7d': '\\u00fc', // } -> 'u' umlaut\n '\\x7e': '\\u00df', // ~ -> eszett\n });\n\n/**\n * Italian character map.\n * http://vt100.net/docs/vt220-rm/table2-11.html\n */\nhterm.VT.CharacterMaps.DefaultMaps['Y'] = new hterm.VT.CharacterMap(\n 'italian', {\n '\\x23': '\\u00a3', // # -> british-pound\n\n '\\x40': '\\u00a7', // @ -> section symbol (double s)\n\n '\\x5b': '\\u00b0', // [ -> ring\n '\\x5c': '\\u00e7', // \\ -> 'c' cedilla\n '\\x5d': '\\u00e9', // ] -> 'e' acute\n\n '\\x60': '\\u00f9', // ` -> 'u' grave\n\n '\\x7b': '\\u00e0', // { -> 'a' grave\n '\\x7c': '\\u00f2', // | -> 'o' grave\n '\\x7d': '\\u00e8', // } -> 'e' grave\n '\\x7e': '\\u00ec', // ~ -> 'i' grave\n });\n\n/**\n * Norwegian/Danish character map.\n * http://vt100.net/docs/vt220-rm/table2-12.html\n */\nhterm.VT.CharacterMaps.DefaultMaps['E'] =\nhterm.VT.CharacterMaps.DefaultMaps['6'] = new hterm.VT.CharacterMap(\n 'norwegian/danish', {\n '\\x40': '\\u00c4', // @ -> 'A' umlaut\n\n '\\x5b': '\\u00c6', // [ -> 'AE' ligature\n '\\x5c': '\\u00d8', // \\ -> 'O' stroke\n '\\x5d': '\\u00c5', // ] -> 'A' ring\n '\\x5e': '\\u00dc', // ^ -> 'U' umlaut\n\n '\\x60': '\\u00e4', // ` -> 'a' umlaut\n\n '\\x7b': '\\u00e6', // { -> 'ae' ligature\n '\\x7c': '\\u00f8', // | -> 'o' stroke\n '\\x7d': '\\u00e5', // } -> 'a' ring\n '\\x7e': '\\u00fc', // ~ -> 'u' umlaut\n });\n\n/**\n * Spanish character map.\n * http://vt100.net/docs/vt220-rm/table2-13.html\n */\nhterm.VT.CharacterMaps.DefaultMaps['Z'] = new hterm.VT.CharacterMap(\n 'spanish', {\n '\\x23': '\\u00a3', // # -> british-pound\n\n '\\x40': '\\u00a7', // @ -> section symbol (double s)\n\n '\\x5b': '\\u00a1', // [ -> '!' inverted\n '\\x5c': '\\u00d1', // \\ -> 'N' tilde\n '\\x5d': '\\u00bf', // ] -> '?' inverted\n\n '\\x7b': '\\u00b0', // { -> ring\n '\\x7c': '\\u00f1', // | -> 'n' tilde\n '\\x7d': '\\u00e7', // } -> 'c' cedilla\n });\n\n/**\n * Swedish character map.\n * http://vt100.net/docs/vt220-rm/table2-14.html\n */\nhterm.VT.CharacterMaps.DefaultMaps['7'] =\nhterm.VT.CharacterMaps.DefaultMaps['H'] = new hterm.VT.CharacterMap(\n 'swedish', {\n '\\x40': '\\u00c9', // @ -> 'E' acute\n\n '\\x5b': '\\u00c4', // [ -> 'A' umlaut\n '\\x5c': '\\u00d6', // \\ -> 'O' umlaut\n '\\x5d': '\\u00c5', // ] -> 'A' ring\n '\\x5e': '\\u00dc', // ^ -> 'U' umlaut\n\n '\\x60': '\\u00e9', // ` -> 'e' acute\n\n '\\x7b': '\\u00e4', // { -> 'a' umlaut\n '\\x7c': '\\u00f6', // | -> 'o' umlaut\n '\\x7d': '\\u00e5', // } -> 'a' ring\n '\\x7e': '\\u00fc', // ~ -> 'u' umlaut\n });\n\n/**\n * Swiss character map.\n * http://vt100.net/docs/vt220-rm/table2-15.html\n */\nhterm.VT.CharacterMaps.DefaultMaps['='] = new hterm.VT.CharacterMap(\n 'swiss', {\n '\\x23': '\\u00f9', // # -> 'u' grave\n\n '\\x40': '\\u00e0', // @ -> 'a' grave\n\n '\\x5b': '\\u00e9', // [ -> 'e' acute\n '\\x5c': '\\u00e7', // \\ -> 'c' cedilla\n '\\x5d': '\\u00ea', // ] -> 'e' circumflex\n '\\x5e': '\\u00ee', // ^ -> 'i' circumflex\n '\\x5f': '\\u00e8', // _ -> 'e' grave\n\n '\\x60': '\\u00f4', // ` -> 'o' circumflex\n\n '\\x7b': '\\u00e4', // { -> 'a' umlaut\n '\\x7c': '\\u00f6', // | -> 'o' umlaut\n '\\x7d': '\\u00fc', // } -> 'u' umlaut\n '\\x7e': '\\u00fb', // ~ -> 'u' circumflex\n });\nlib.resource.add('hterm/audio/bell', 'audio/ogg;base64',\n'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' +\n'zinmkFLKMeUcUko5p5xTzjkIHYTKMQadgxAppRxTzinHHITMQeWcg9BBKAAAIMABACDAQig0ZEUA' +\n'ECcA4HAkz5M0SxQlSxNFzxRl1xNN15U0zTQ1UVRVyxNV1VRV2xZNVbYlTRNNTfRUVRNFVRVV05ZN' +\n'VbVtzzRl2VRV3RZV1bZl2xZ+V5Z13zNNWRZV1dZNVbV115Z9X9ZtXZg0zTQ1UVRVTRRV1VRV2zZV' +\n'17Y1UXRVUVVlWVRVWXZlWfdVV9Z9SxRV1VNN2RVVVbZV2fVtVZZ94XRVXVdl2fdVWRZ+W9eF4fZ9' +\n'4RhV1dZN19V1VZZ9YdZlYbd13yhpmmlqoqiqmiiqqqmqtm2qrq1bouiqoqrKsmeqrqzKsq+rrmzr' +\n'miiqrqiqsiyqqiyrsqz7qizrtqiquq3KsrCbrqvrtu8LwyzrunCqrq6rsuz7qizruq3rxnHrujB8' +\n'pinLpqvquqm6um7runHMtm0co6rqvirLwrDKsu/rui+0dSFRVXXdlF3jV2VZ921fd55b94WybTu/' +\n'rfvKceu60vg5z28cubZtHLNuG7+t+8bzKz9hOI6lZ5q2baqqrZuqq+uybivDrOtCUVV9XZVl3zdd' +\n'WRdu3zeOW9eNoqrquirLvrDKsjHcxm8cuzAcXds2jlvXnbKtC31jyPcJz2vbxnH7OuP2daOvDAnH' +\n'jwAAgAEHAIAAE8pAoSErAoA4AQAGIecUUxAqxSB0EFLqIKRUMQYhc05KxRyUUEpqIZTUKsYgVI5J' +\n'yJyTEkpoKZTSUgehpVBKa6GU1lJrsabUYu0gpBZKaS2U0lpqqcbUWowRYxAy56RkzkkJpbQWSmkt' +\n'c05K56CkDkJKpaQUS0otVsxJyaCj0kFIqaQSU0mptVBKa6WkFktKMbYUW24x1hxKaS2kEltJKcYU' +\n'U20txpojxiBkzknJnJMSSmktlNJa5ZiUDkJKmYOSSkqtlZJSzJyT0kFIqYOOSkkptpJKTKGU1kpK' +\n'sYVSWmwx1pxSbDWU0lpJKcaSSmwtxlpbTLV1EFoLpbQWSmmttVZraq3GUEprJaUYS0qxtRZrbjHm' +\n'GkppraQSW0mpxRZbji3GmlNrNabWam4x5hpbbT3WmnNKrdbUUo0txppjbb3VmnvvIKQWSmktlNJi' +\n'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' +\n'm2L/kruPM6Q7oz4tvDQy+bZ3HzOi+gNHA4DZEgA=' +\n''\n);\n\nlib.resource.add('hterm/images/icon-96', 'image/png;base64',\n'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' +\n'ODoyNC0wNDowMNba8BsAAAAASUVORK5CYII=' +\n''\n);\n\nlib.resource.add('hterm/concat/date', 'text/plain',\n'Tue, 22 Aug 2017 06:42:31 +0000' +\n''\n);\n\nlib.resource.add('hterm/changelog/version', 'text/plain',\n'1.70' +\n''\n);\n\nlib.resource.add('hterm/changelog/date', 'text/plain',\n'2017-08-16' +\n''\n);\n\nlib.resource.add('hterm/git/HEAD', 'text/plain',\n'git rev-parse HEAD' +\n''\n);\n\n// SOURCE FILE: hterm/js/hterm_export.js\nmodule.exports = {\n hterm: hterm,\n lib: lib\n};\n\n","/*!\n * xterm-addon-fit (https://npmjs.com/package/xterm-addon-fit)\n * @license MIT\n * @version 0.5.0\n * ==xterm-addon-fit/LICENSE==\n * Copyright (c) 2019, The xterm.js authors (https://github.com/xtermjs/xterm.js)\n * \n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n * \n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n * \n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\n!function(e,t){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define([],t):\"object\"==typeof exports?exports.FitAddon=t():e.FitAddon=t()}(self,(function(){return(()=>{\"use strict\";var e={775:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.FitAddon=void 0;var r=function(){function e(){}return e.prototype.activate=function(e){this._terminal=e},e.prototype.dispose=function(){},e.prototype.fit=function(){var e=this.proposeDimensions();if(e&&this._terminal){var t=this._terminal._core;this._terminal.rows===e.rows&&this._terminal.cols===e.cols||(t._renderService.clear(),this._terminal.resize(e.cols,e.rows))}},e.prototype.proposeDimensions=function(){if(this._terminal&&this._terminal.element&&this._terminal.element.parentElement){var e=this._terminal._core;if(0!==e._renderService.dimensions.actualCellWidth&&0!==e._renderService.dimensions.actualCellHeight){var t=window.getComputedStyle(this._terminal.element.parentElement),r=parseInt(t.getPropertyValue(\"height\")),i=Math.max(0,parseInt(t.getPropertyValue(\"width\"))),n=window.getComputedStyle(this._terminal.element),o=r-(parseInt(n.getPropertyValue(\"padding-top\"))+parseInt(n.getPropertyValue(\"padding-bottom\"))),a=i-(parseInt(n.getPropertyValue(\"padding-right\"))+parseInt(n.getPropertyValue(\"padding-left\")))-e.viewport.scrollBarWidth;return{cols:Math.max(2,Math.floor(a/e._renderService.dimensions.actualCellWidth)),rows:Math.max(1,Math.floor(o/e._renderService.dimensions.actualCellHeight))}}}},e}();t.FitAddon=r}},t={};return function r(i){if(t[i])return t[i].exports;var n=t[i]={exports:{}};return e[i](n,n.exports,r),n.exports}(775)})()}));\n//# sourceMappingURL=xterm-addon-fit.js.map","/*!\n * xterm-addon-web-links (https://npmjs.com/package/xterm-addon-web-links)\n * @license MIT\n * @version 0.4.0\n * ==xterm-addon-web-links/LICENSE==\n * Copyright (c) 2017, The xterm.js authors (https://github.com/xtermjs/xterm.js)\n * \n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n * \n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n * \n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\n!function(e,t){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define([],t):\"object\"==typeof exports?exports.WebLinksAddon=t():e.WebLinksAddon=t()}(window,(function(){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&\"object\"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,\"default\",{enumerable:!0,value:e}),2&t&&\"string\"!=typeof e)for(var i in e)n.d(r,i,function(t){return e[t]}.bind(null,i));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,\"a\",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p=\"\",n(n.s=0)}([function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.WebLinksAddon=void 0;var r=n(1),i=new RegExp(\"(?:^|[^\\\\da-z\\\\.-]+)((https?:\\\\/\\\\/)((([\\\\da-z\\\\.-]+)\\\\.([a-z\\\\.]{2,6}))|((\\\\d{1,3}\\\\.){3}\\\\d{1,3})|(localhost))(:\\\\d{1,5})?((\\\\/[\\\\/\\\\w\\\\.\\\\-%~:+@]*)*([^:\\\"'\\\\s]))?(\\\\?[0-9\\\\w\\\\[\\\\]\\\\(\\\\)\\\\/\\\\?\\\\!#@$%&'*+,:;~\\\\=\\\\.\\\\-]*)?(#[0-9\\\\w\\\\[\\\\]\\\\(\\\\)\\\\/\\\\?\\\\!#@$%&'*+,:;~\\\\=\\\\.\\\\-]*)?)($|[^\\\\/\\\\w\\\\.\\\\-%]+)\");function o(e,t){var n=window.open();n?(n.opener=null,n.location.href=t):console.warn(\"Opening link blocked as opener could not be cleared\")}var a=function(){function e(e,t,n){void 0===e&&(e=o),void 0===t&&(t={}),void 0===n&&(n=!1),this._handler=e,this._options=t,this._useLinkProvider=n,this._options.matchIndex=1}return e.prototype.activate=function(e){this._terminal=e,this._useLinkProvider&&\"registerLinkProvider\"in this._terminal?this._linkProvider=this._terminal.registerLinkProvider(new r.WebLinkProvider(this._terminal,i,this._handler)):this._linkMatcherId=this._terminal.registerLinkMatcher(i,this._handler,this._options)},e.prototype.dispose=function(){var e;void 0!==this._linkMatcherId&&void 0!==this._terminal&&this._terminal.deregisterLinkMatcher(this._linkMatcherId),null===(e=this._linkProvider)||void 0===e||e.dispose()},e}();t.WebLinksAddon=a},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.LinkComputer=t.WebLinkProvider=void 0;var r=function(){function e(e,t,n){this._terminal=e,this._regex=t,this._handler=n}return e.prototype.provideLinks=function(e,t){t(i.computeLink(e,this._regex,this._terminal,this._handler))},e}();t.WebLinkProvider=r;var i=function(){function e(){}return e.computeLink=function(t,n,r,i){for(var o,a=new RegExp(n.source,(n.flags||\"\")+\"g\"),s=e._translateBufferLineToStringWithWrap(t-1,!1,r),u=s[0],d=s[1],l=-1,c=[];null!==(o=a.exec(u));){var f=o[1];if(!f){console.log(\"match found without corresponding matchIndex\");break}if(l=u.indexOf(f,l+1),a.lastIndex=l+f.length,l<0)break;for(var p=l+f.length,h=d+1;p>r.cols;)p-=r.cols,h++;var v={start:{x:l+1,y:d+1},end:{x:p,y:h}};c.push({range:v,text:f,activate:i})}return c},e._translateBufferLineToStringWithWrap=function(e,t,n){var r,i,o=\"\";do{if(!(s=n.buffer.active.getLine(e)))break;s.isWrapped&&e--,i=s.isWrapped}while(i);var a=e;do{var s,u=n.buffer.active.getLine(e+1);if(r=!!u&&u.isWrapped,!(s=n.buffer.active.getLine(e)))break;o+=s.translateToString(!r&&t).substring(0,n.cols),e++}while(r);return[o,a]},e}();t.LinkComputer=i}])}));\n//# sourceMappingURL=xterm-addon-web-links.js.map","/*!\n * xterm-addon-webgl (https://npmjs.com/package/xterm-addon-webgl)\n * @license MIT\n * @version 0.10.0\n * ==xterm-addon-webgl/LICENSE==\n * Copyright (c) 2018, The xterm.js authors (https://github.com/xtermjs/xterm.js)\n * \n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n * \n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n * \n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\n!function(t,e){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define([],e):\"object\"==typeof exports?exports.WebglAddon=e():t.WebglAddon=e()}(self,(function(){return(()=>{\"use strict\";var t={965:(t,e,i)=>{Object.defineProperty(e,\"__esModule\",{value:!0}),e.GlyphRenderer=void 0;var r=i(381),o=i(310),n=i(455),s=i(259),a=i(855),l=i(147),h=10,c=h*Float32Array.BYTES_PER_ELEMENT,_=function(){function t(t,e,i,o){this._terminal=t,this._colors=e,this._gl=i,this._dimensions=o,this._activeBuffer=0,this._vertices={count:0,attributes:new Float32Array(0),attributesBuffers:[new Float32Array(0),new Float32Array(0)],selectionAttributes:new Float32Array(0)};var n=this._gl,s=r.throwIfFalsy(r.createProgram(n,\"#version 300 es\\nlayout (location = 0) in vec2 a_unitquad;\\nlayout (location = 1) in vec2 a_cellpos;\\nlayout (location = 2) in vec2 a_offset;\\nlayout (location = 3) in vec2 a_size;\\nlayout (location = 4) in vec2 a_texcoord;\\nlayout (location = 5) in vec2 a_texsize;\\n\\nuniform mat4 u_projection;\\nuniform vec2 u_resolution;\\n\\nout vec2 v_texcoord;\\n\\nvoid main() {\\n vec2 zeroToOne = (a_offset / u_resolution) + a_cellpos + (a_unitquad * a_size);\\n gl_Position = u_projection * vec4(zeroToOne, 0.0, 1.0);\\n v_texcoord = a_texcoord + a_unitquad * a_texsize;\\n}\",\"#version 300 es\\nprecision lowp float;\\n\\nin vec2 v_texcoord;\\n\\nuniform sampler2D u_texture;\\n\\nout vec4 outColor;\\n\\nvoid main() {\\n outColor = texture(u_texture, v_texcoord);\\n}\"));this._program=s,this._projectionLocation=r.throwIfFalsy(n.getUniformLocation(this._program,\"u_projection\")),this._resolutionLocation=r.throwIfFalsy(n.getUniformLocation(this._program,\"u_resolution\")),this._textureLocation=r.throwIfFalsy(n.getUniformLocation(this._program,\"u_texture\")),this._vertexArrayObject=n.createVertexArray(),n.bindVertexArray(this._vertexArrayObject);var a=new Float32Array([0,0,1,0,0,1,1,1]),l=n.createBuffer();n.bindBuffer(n.ARRAY_BUFFER,l),n.bufferData(n.ARRAY_BUFFER,a,n.STATIC_DRAW),n.enableVertexAttribArray(0),n.vertexAttribPointer(0,2,this._gl.FLOAT,!1,0,0);var h=new Uint8Array([0,1,3,0,2,3]),_=n.createBuffer();n.bindBuffer(n.ELEMENT_ARRAY_BUFFER,_),n.bufferData(n.ELEMENT_ARRAY_BUFFER,h,n.STATIC_DRAW),this._attributesBuffer=r.throwIfFalsy(n.createBuffer()),n.bindBuffer(n.ARRAY_BUFFER,this._attributesBuffer),n.enableVertexAttribArray(2),n.vertexAttribPointer(2,2,n.FLOAT,!1,c,0),n.vertexAttribDivisor(2,1),n.enableVertexAttribArray(3),n.vertexAttribPointer(3,2,n.FLOAT,!1,c,2*Float32Array.BYTES_PER_ELEMENT),n.vertexAttribDivisor(3,1),n.enableVertexAttribArray(4),n.vertexAttribPointer(4,2,n.FLOAT,!1,c,4*Float32Array.BYTES_PER_ELEMENT),n.vertexAttribDivisor(4,1),n.enableVertexAttribArray(5),n.vertexAttribPointer(5,2,n.FLOAT,!1,c,6*Float32Array.BYTES_PER_ELEMENT),n.vertexAttribDivisor(5,1),n.enableVertexAttribArray(1),n.vertexAttribPointer(1,2,n.FLOAT,!1,c,8*Float32Array.BYTES_PER_ELEMENT),n.vertexAttribDivisor(1,1),this._atlasTexture=r.throwIfFalsy(n.createTexture()),n.bindTexture(n.TEXTURE_2D,this._atlasTexture),n.texImage2D(n.TEXTURE_2D,0,n.RGBA,1,1,0,n.RGBA,n.UNSIGNED_BYTE,new Uint8Array([0,0,255,255])),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_S,n.CLAMP_TO_EDGE),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_T,n.CLAMP_TO_EDGE),n.enable(n.BLEND),n.blendFunc(n.SRC_ALPHA,n.ONE_MINUS_SRC_ALPHA),this.onResize()}return t.prototype.beginFrame=function(){return!this._atlas||this._atlas.beginFrame()},t.prototype.updateCell=function(t,e,i,r,o,n){this._updateCell(this._vertices.attributes,t,e,i,r,o,n)},t.prototype._updateCell=function(t,e,i,r,o,s,l){var c,_=(i*this._terminal.cols+e)*h;r!==a.NULL_CELL_CODE&&r!==a.WHITESPACE_CELL_CODE&&void 0!==r?this._atlas&&((c=l&&l.length>1?this._atlas.getRasterizedGlyphCombinedChar(l,o,s):this._atlas.getRasterizedGlyph(r,o,s))?(t[_]=-c.offset.x+this._dimensions.scaledCharLeft,t[_+1]=-c.offset.y+this._dimensions.scaledCharTop,t[_+2]=c.size.x/this._dimensions.scaledCanvasWidth,t[_+3]=c.size.y/this._dimensions.scaledCanvasHeight,t[_+4]=c.texturePositionClipSpace.x,t[_+5]=c.texturePositionClipSpace.y,t[_+6]=c.sizeClipSpace.x,t[_+7]=c.sizeClipSpace.y):n.fill(t,0,_,_+h-1-2)):n.fill(t,0,_,_+h-1-2)},t.prototype.updateSelection=function(t){var e=this._terminal;this._vertices.selectionAttributes=s.slice(this._vertices.attributes,0);var i=this._colors.selectionOpaque.rgba>>>8|50331648;if(t.selection.columnSelectMode)for(var r=t.selection.startCol,o=t.selection.endCol-r,n=t.selection.viewportCappedEndRow-t.selection.viewportCappedStartRow+1,a=t.selection.viewportCappedStartRow;a>8&16711680|p>>8&65280|p>>8&255;case 50331648:var g=l.AttributeData.toColorRGB(f.getBgColor());u|=g[0]<<16|g[1]<<8|g[2]<<0;case 0:default:var v=this._colors.background.rgba;u|=v>>8&16711680|v>>8&65280|v>>8&255}u|=50331648}if(d&o.COMBINED_CHAR_BIT_MASK){s||(s=a.buffer.active.getLine(h));var C=s.getCell(c).getChars();this._updateCell(this._vertices.selectionAttributes,c,i,r.cells[_],n,u,C)}else this._updateCell(this._vertices.selectionAttributes,c,i,r.cells[_],n,u)}},t.prototype._getColorFromAnsiIndex=function(t){if(t>=this._colors.ansi.length)throw new Error(\"No color found for idx \"+t);return this._colors.ansi[t]},t.prototype.onResize=function(){var t=this._terminal,e=this._gl;e.viewport(0,0,e.canvas.width,e.canvas.height);var i=t.cols*t.rows*h;if(this._vertices.count!==i){this._vertices.count=i,this._vertices.attributes=new Float32Array(i);for(var r=0;r{Object.defineProperty(e,\"__esModule\",{value:!0}),e.RectangleRenderer=void 0;var r=i(381),o=i(455),n=i(310),s=8*Float32Array.BYTES_PER_ELEMENT,a=function(){function t(t,e,i,o){this._terminal=t,this._colors=e,this._gl=i,this._dimensions=o,this._vertices={count:0,attributes:new Float32Array(160),selection:new Float32Array(24)};var n=this._gl;this._program=r.throwIfFalsy(r.createProgram(n,\"#version 300 es\\nlayout (location = 0) in vec2 a_position;\\nlayout (location = 1) in vec2 a_size;\\nlayout (location = 2) in vec4 a_color;\\nlayout (location = 3) in vec2 a_unitquad;\\n\\nuniform mat4 u_projection;\\nuniform vec2 u_resolution;\\n\\nout vec4 v_color;\\n\\nvoid main() {\\n vec2 zeroToOne = (a_position + (a_unitquad * a_size)) / u_resolution;\\n gl_Position = u_projection * vec4(zeroToOne, 0.0, 1.0);\\n v_color = a_color;\\n}\",\"#version 300 es\\nprecision lowp float;\\n\\nin vec4 v_color;\\n\\nout vec4 outColor;\\n\\nvoid main() {\\n outColor = v_color;\\n}\")),this._resolutionLocation=r.throwIfFalsy(n.getUniformLocation(this._program,\"u_resolution\")),this._projectionLocation=r.throwIfFalsy(n.getUniformLocation(this._program,\"u_projection\")),this._vertexArrayObject=n.createVertexArray(),n.bindVertexArray(this._vertexArrayObject);var a=new Float32Array([0,0,1,0,0,1,1,1]),l=n.createBuffer();n.bindBuffer(n.ARRAY_BUFFER,l),n.bufferData(n.ARRAY_BUFFER,a,n.STATIC_DRAW),n.enableVertexAttribArray(3),n.vertexAttribPointer(3,2,this._gl.FLOAT,!1,0,0);var h=new Uint8Array([0,1,3,0,2,3]),c=n.createBuffer();n.bindBuffer(n.ELEMENT_ARRAY_BUFFER,c),n.bufferData(n.ELEMENT_ARRAY_BUFFER,h,n.STATIC_DRAW),this._attributesBuffer=r.throwIfFalsy(n.createBuffer()),n.bindBuffer(n.ARRAY_BUFFER,this._attributesBuffer),n.enableVertexAttribArray(0),n.vertexAttribPointer(0,2,n.FLOAT,!1,s,0),n.vertexAttribDivisor(0,1),n.enableVertexAttribArray(1),n.vertexAttribPointer(1,2,n.FLOAT,!1,s,2*Float32Array.BYTES_PER_ELEMENT),n.vertexAttribDivisor(1,1),n.enableVertexAttribArray(2),n.vertexAttribPointer(2,4,n.FLOAT,!1,s,4*Float32Array.BYTES_PER_ELEMENT),n.vertexAttribDivisor(2,1),this._updateCachedColors()}return t.prototype.render=function(){var t=this._gl;t.useProgram(this._program),t.bindVertexArray(this._vertexArrayObject),t.uniformMatrix4fv(this._projectionLocation,!1,r.PROJECTION_MATRIX),t.uniform2f(this._resolutionLocation,t.canvas.width,t.canvas.height),t.bindBuffer(t.ARRAY_BUFFER,this._attributesBuffer),t.bufferData(t.ARRAY_BUFFER,this._vertices.attributes,t.DYNAMIC_DRAW),t.drawElementsInstanced(this._gl.TRIANGLES,6,t.UNSIGNED_BYTE,0,this._vertices.count),t.bindBuffer(t.ARRAY_BUFFER,this._attributesBuffer),t.bufferData(t.ARRAY_BUFFER,this._vertices.selection,t.DYNAMIC_DRAW),t.drawElementsInstanced(this._gl.TRIANGLES,6,t.UNSIGNED_BYTE,0,3)},t.prototype.onResize=function(){this._updateViewportRectangle()},t.prototype.setColors=function(){this._updateCachedColors(),this._updateViewportRectangle()},t.prototype._updateCachedColors=function(){this._bgFloat=this._colorToFloat32Array(this._colors.background),this._selectionFloat=this._colorToFloat32Array(this._colors.selectionOpaque)},t.prototype._updateViewportRectangle=function(){this._addRectangleFloat(this._vertices.attributes,0,0,0,this._terminal.cols*this._dimensions.scaledCellWidth,this._terminal.rows*this._dimensions.scaledCellHeight,this._bgFloat)},t.prototype.updateSelection=function(t){var e=this._terminal;if(t.hasSelection)if(t.columnSelectMode){var i=t.startCol,r=t.endCol-i,n=t.viewportCappedEndRow-t.viewportCappedStartRow+1;this._addRectangleFloat(this._vertices.selection,0,i*this._dimensions.scaledCellWidth,t.viewportCappedStartRow*this._dimensions.scaledCellHeight,r*this._dimensions.scaledCellWidth,n*this._dimensions.scaledCellHeight,this._selectionFloat),o.fill(this._vertices.selection,0,8)}else{i=t.viewportStartRow===t.viewportCappedStartRow?t.startCol:0;var s=t.viewportCappedStartRow===t.viewportEndRow?t.endCol:e.cols;this._addRectangleFloat(this._vertices.selection,0,i*this._dimensions.scaledCellWidth,t.viewportCappedStartRow*this._dimensions.scaledCellHeight,(s-i)*this._dimensions.scaledCellWidth,this._dimensions.scaledCellHeight,this._selectionFloat);var a=Math.max(t.viewportCappedEndRow-t.viewportCappedStartRow-1,0);if(this._addRectangleFloat(this._vertices.selection,8,0,(t.viewportCappedStartRow+1)*this._dimensions.scaledCellHeight,e.cols*this._dimensions.scaledCellWidth,a*this._dimensions.scaledCellHeight,this._selectionFloat),t.viewportCappedStartRow!==t.viewportCappedEndRow){var l=t.viewportEndRow===t.viewportCappedEndRow?t.endCol:e.cols;this._addRectangleFloat(this._vertices.selection,16,0,t.viewportCappedEndRow*this._dimensions.scaledCellHeight,l*this._dimensions.scaledCellWidth,this._dimensions.scaledCellHeight,this._selectionFloat)}else o.fill(this._vertices.selection,0,16)}else o.fill(this._vertices.selection,0,0)},t.prototype.updateBackgrounds=function(t){for(var e=this._terminal,i=this._vertices,r=1,o=0;o>24&255)/255,d=(l>>16&255)/255,u=(l>>8&255)/255;this._addRectangle(t.attributes,e,h,c,(s-n)*this._dimensions.scaledCellWidth,this._dimensions.scaledCellHeight,_,d,u,1)},t.prototype._addRectangle=function(t,e,i,r,o,n,s,a,l,h){t[e]=i,t[e+1]=r,t[e+2]=o,t[e+3]=n,t[e+4]=s,t[e+5]=a,t[e+6]=l,t[e+7]=h},t.prototype._addRectangleFloat=function(t,e,i,r,o,n,s){t[e]=i,t[e+1]=r,t[e+2]=o,t[e+3]=n,t[e+4]=s[0],t[e+5]=s[1],t[e+6]=s[2],t[e+7]=s[3]},t.prototype._colorToFloat32Array=function(t){return new Float32Array([(t.rgba>>24&255)/255,(t.rgba>>16&255)/255,(t.rgba>>8&255)/255,(255&t.rgba)/255])},t}();e.RectangleRenderer=a},310:(t,e,i)=>{Object.defineProperty(e,\"__esModule\",{value:!0}),e.RenderModel=e.COMBINED_CHAR_BIT_MASK=e.RENDER_MODEL_FG_OFFSET=e.RENDER_MODEL_BG_OFFSET=e.RENDER_MODEL_INDICIES_PER_CELL=void 0;var r=i(455);e.RENDER_MODEL_INDICIES_PER_CELL=3,e.RENDER_MODEL_BG_OFFSET=1,e.RENDER_MODEL_FG_OFFSET=2,e.COMBINED_CHAR_BIT_MASK=2147483648;var o=function(){function t(){this.cells=new Uint32Array(0),this.lineLengths=new Uint32Array(0),this.selection={hasSelection:!1,columnSelectMode:!1,viewportStartRow:0,viewportEndRow:0,viewportCappedStartRow:0,viewportCappedEndRow:0,startCol:0,endCol:0}}return t.prototype.resize=function(t,i){var r=t*i*e.RENDER_MODEL_INDICIES_PER_CELL;r!==this.cells.length&&(this.cells=new Uint32Array(r),this.lineLengths=new Uint32Array(i))},t.prototype.clear=function(){r.fill(this.cells,0,0),r.fill(this.lineLengths,0,0)},t.prototype.clearSelection=function(){this.selection.hasSelection=!1,this.selection.viewportStartRow=0,this.selection.viewportEndRow=0,this.selection.viewportCappedStartRow=0,this.selection.viewportCappedEndRow=0,this.selection.startCol=0,this.selection.endCol=0},t}();e.RenderModel=o},259:(t,e)=>{function i(t,e,i){void 0===e&&(e=0),void 0===i&&(i=t.length),e<0&&(e=(t.length+e)%t.length),i=i>=t.length?t.length:(t.length+i)%t.length,e=Math.min(e,i);for(var r=new t.constructor(i-e),o=0;o{Object.defineProperty(e,\"__esModule\",{value:!0}),e.WebglAddon=void 0;var r=i(666),o=function(){function t(t){this._preserveDrawingBuffer=t}return t.prototype.activate=function(t){if(!t.element)throw new Error(\"Cannot activate WebglAddon before Terminal.open\");this._terminal=t;var e=t._core._renderService,i=t._core._colorManager.colors;this._renderer=new r.WebglRenderer(t,i,this._preserveDrawingBuffer),e.setRenderer(this._renderer)},t.prototype.dispose=function(){if(!this._terminal)throw new Error(\"Cannot dispose WebglAddon because it is activated\");var t=this._terminal._core._renderService;t.setRenderer(this._terminal._core._createRenderer()),t.onResize(this._terminal.cols,this._terminal.rows),this._renderer=void 0},Object.defineProperty(t.prototype,\"textureAtlas\",{get:function(){var t;return null===(t=this._renderer)||void 0===t?void 0:t.textureAtlas},enumerable:!1,configurable:!0}),t.prototype.clearTextureAtlas=function(){var t;null===(t=this._renderer)||void 0===t||t.clearCharAtlas()},t}();e.WebglAddon=o},666:function(t,e,i){var r,o=this&&this.__extends||(r=function(t,e){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i])})(t,e)},function(t,e){function i(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.WebglRenderer=void 0;var n=i(965),s=i(733),a=i(461),l=i(713),h=i(344),c=i(310),_=i(859),d=i(855),u=i(345),f=i(782),p=function(t){function e(e,i,r){var o=t.call(this)||this;o._terminal=e,o._colors=i,o._model=new c.RenderModel,o._workCell=new f.CellData,o._onRequestRedraw=new u.EventEmitter,o._core=o._terminal._core,o._renderLayers=[new s.LinkRenderLayer(o._core.screenElement,2,o._colors,o._core),new a.CursorRenderLayer(o._core.screenElement,3,o._colors,o._onRequestRedraw)],o.dimensions={scaledCharWidth:0,scaledCharHeight:0,scaledCellWidth:0,scaledCellHeight:0,scaledCharLeft:0,scaledCharTop:0,scaledCanvasWidth:0,scaledCanvasHeight:0,canvasWidth:0,canvasHeight:0,actualCellWidth:0,actualCellHeight:0},o._devicePixelRatio=window.devicePixelRatio,o._updateDimensions(),o._canvas=document.createElement(\"canvas\");var l={antialias:!1,depth:!1,preserveDrawingBuffer:r};if(o._gl=o._canvas.getContext(\"webgl2\",l),!o._gl)throw new Error(\"WebGL2 not supported \"+o._gl);return o._core.screenElement.appendChild(o._canvas),o._rectangleRenderer=new h.RectangleRenderer(o._terminal,o._colors,o._gl,o.dimensions),o._glyphRenderer=new n.GlyphRenderer(o._terminal,o._colors,o._gl,o.dimensions),o.onCharSizeChanged(),o._isAttached=document.body.contains(o._core.screenElement),o}return o(e,t),Object.defineProperty(e.prototype,\"onRequestRedraw\",{get:function(){return this._onRequestRedraw.event},enumerable:!1,configurable:!0}),e.prototype.dispose=function(){this._renderLayers.forEach((function(t){return t.dispose()})),this._core.screenElement.removeChild(this._canvas),t.prototype.dispose.call(this)},Object.defineProperty(e.prototype,\"textureAtlas\",{get:function(){var t;return null===(t=this._charAtlas)||void 0===t?void 0:t.cacheCanvas},enumerable:!1,configurable:!0}),e.prototype.setColors=function(t){var e=this;this._colors=t,this._renderLayers.forEach((function(t){t.setColors(e._terminal,e._colors),t.reset(e._terminal)})),this._rectangleRenderer.setColors(),this._glyphRenderer.setColors(),this._refreshCharAtlas(),this._model.clear()},e.prototype.onDevicePixelRatioChange=function(){this._devicePixelRatio!==window.devicePixelRatio&&(this._devicePixelRatio=window.devicePixelRatio,this.onResize(this._terminal.cols,this._terminal.rows))},e.prototype.onResize=function(t,e){var i=this;this._updateDimensions(),this._model.resize(this._terminal.cols,this._terminal.rows),this._renderLayers.forEach((function(t){return t.resize(i._terminal,i.dimensions)})),this._canvas.width=this.dimensions.scaledCanvasWidth,this._canvas.height=this.dimensions.scaledCanvasHeight,this._canvas.style.width=this.dimensions.canvasWidth+\"px\",this._canvas.style.height=this.dimensions.canvasHeight+\"px\",this._core.screenElement.style.width=this.dimensions.canvasWidth+\"px\",this._core.screenElement.style.height=this.dimensions.canvasHeight+\"px\",this._rectangleRenderer.onResize(),this._model.selection.hasSelection&&this._rectangleRenderer.updateSelection(this._model.selection),this._glyphRenderer.setDimensions(this.dimensions),this._glyphRenderer.onResize(),this._refreshCharAtlas(),this._model.clear()},e.prototype.onCharSizeChanged=function(){this.onResize(this._terminal.cols,this._terminal.rows)},e.prototype.onBlur=function(){var t=this;this._renderLayers.forEach((function(e){return e.onBlur(t._terminal)}))},e.prototype.onFocus=function(){var t=this;this._renderLayers.forEach((function(e){return e.onFocus(t._terminal)}))},e.prototype.onSelectionChanged=function(t,e,i){var r=this;this._renderLayers.forEach((function(o){return o.onSelectionChanged(r._terminal,t,e,i)})),this._updateSelectionModel(t,e,i),this._onRequestRedraw.fire({start:0,end:this._terminal.rows-1})},e.prototype.onCursorMove=function(){var t=this;this._renderLayers.forEach((function(e){return e.onCursorMove(t._terminal)}))},e.prototype.onOptionsChanged=function(){var t=this;this._renderLayers.forEach((function(e){return e.onOptionsChanged(t._terminal)})),this._updateDimensions(),this._refreshCharAtlas()},e.prototype._refreshCharAtlas=function(){if(this.dimensions.scaledCharWidth<=0&&this.dimensions.scaledCharHeight<=0)this._isAttached=!1;else{var t=l.acquireCharAtlas(this._terminal,this._colors,this.dimensions.scaledCharWidth,this.dimensions.scaledCharHeight);if(!(\"getRasterizedGlyph\"in t))throw new Error(\"The webgl renderer only works with the webgl char atlas\");this._charAtlas=t,this._charAtlas.warmUp(),this._glyphRenderer.setAtlas(this._charAtlas)}},e.prototype.clearCharAtlas=function(){var t;null===(t=this._charAtlas)||void 0===t||t.clearTexture(),this._model.clear(),this._updateModel(0,this._terminal.rows-1),this._onRequestRedraw.fire({start:0,end:this._terminal.rows-1})},e.prototype.clear=function(){var t=this;this._renderLayers.forEach((function(e){return e.reset(t._terminal)}))},e.prototype.registerCharacterJoiner=function(t){return-1},e.prototype.deregisterCharacterJoiner=function(t){return!1},e.prototype.renderRows=function(t,e){var i=this;if(!this._isAttached){if(!(document.body.contains(this._core.screenElement)&&this._core._charSizeService.width&&this._core._charSizeService.height))return;this._updateDimensions(),this._refreshCharAtlas(),this._isAttached=!0}this._renderLayers.forEach((function(r){return r.onGridChanged(i._terminal,t,e)})),this._glyphRenderer.beginFrame()&&(this._model.clear(),this._updateSelectionModel(void 0,void 0)),this._updateModel(t,e),this._rectangleRenderer.render(),this._glyphRenderer.render(this._model,this._model.selection.hasSelection)},e.prototype._updateModel=function(t,e){for(var i=this._core,r=t;r<=e;r++){var o=r+i.buffer.ydisp,n=i.buffer.lines.get(o);this._model.lineLengths[r]=0;for(var s=0;s1&&(l|=c.COMBINED_CHAR_BIT_MASK),this._model.cells[h]=l,this._model.cells[h+c.RENDER_MODEL_BG_OFFSET]=this._workCell.bg,this._model.cells[h+c.RENDER_MODEL_FG_OFFSET]=this._workCell.fg,this._glyphRenderer.updateCell(s,r,l,this._workCell.bg,this._workCell.fg,a))}}this._rectangleRenderer.updateBackgrounds(this._model),this._model.selection.hasSelection&&this._glyphRenderer.updateSelection(this._model)},e.prototype._updateSelectionModel=function(t,e,i){void 0===i&&(i=!1);var r=this._terminal;if(!t||!e||t[0]===e[0]&&t[1]===e[1])return this._model.clearSelection(),void this._rectangleRenderer.updateSelection(this._model.selection);var o=t[1]-r.buffer.active.viewportY,n=e[1]-r.buffer.active.viewportY,s=Math.max(o,0),a=Math.min(n,r.rows-1);if(s>=r.rows||a<0)return this._model.clearSelection(),void this._rectangleRenderer.updateSelection(this._model.selection);this._model.selection.hasSelection=!0,this._model.selection.columnSelectMode=i,this._model.selection.viewportStartRow=o,this._model.selection.viewportEndRow=n,this._model.selection.viewportCappedStartRow=s,this._model.selection.viewportCappedEndRow=a,this._model.selection.startCol=t[0],this._model.selection.endCol=e[0],this._rectangleRenderer.updateSelection(this._model.selection)},e.prototype._updateDimensions=function(){this._core._charSizeService.width&&this._core._charSizeService.height&&(this.dimensions.scaledCharWidth=Math.floor(this._core._charSizeService.width*this._devicePixelRatio),this.dimensions.scaledCharHeight=Math.ceil(this._core._charSizeService.height*this._devicePixelRatio),this.dimensions.scaledCellHeight=Math.floor(this.dimensions.scaledCharHeight*this._terminal.getOption(\"lineHeight\")),this.dimensions.scaledCharTop=1===this._terminal.getOption(\"lineHeight\")?0:Math.round((this.dimensions.scaledCellHeight-this.dimensions.scaledCharHeight)/2),this.dimensions.scaledCellWidth=this.dimensions.scaledCharWidth+Math.round(this._terminal.getOption(\"letterSpacing\")),this.dimensions.scaledCharLeft=Math.floor(this._terminal.getOption(\"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/this._devicePixelRatio),this.dimensions.canvasWidth=Math.round(this.dimensions.scaledCanvasWidth/this._devicePixelRatio),this.dimensions.actualCellHeight=this.dimensions.scaledCellHeight/this._devicePixelRatio,this.dimensions.actualCellWidth=this.dimensions.scaledCellWidth/this._devicePixelRatio)},e}(_.Disposable);e.WebglRenderer=p},381:(t,e)=>{function i(t,e,i){var o=r(t.createShader(e));if(t.shaderSource(o,i),t.compileShader(o),t.getShaderParameter(o,t.COMPILE_STATUS))return o;console.error(t.getShaderInfoLog(o)),t.deleteShader(o)}function r(t){if(!t)throw new Error(\"value must not be falsy\");return t}Object.defineProperty(e,\"__esModule\",{value:!0}),e.throwIfFalsy=e.expandFloat32Array=e.createShader=e.createProgram=e.PROJECTION_MATRIX=void 0,e.PROJECTION_MATRIX=new Float32Array([2,0,0,0,0,-2,0,0,0,0,1,0,-1,1,0,1]),e.createProgram=function(t,e,o){var n=r(t.createProgram());if(t.attachShader(n,r(i(t,t.VERTEX_SHADER,e))),t.attachShader(n,r(i(t,t.FRAGMENT_SHADER,o))),t.linkProgram(n),t.getProgramParameter(n,t.LINK_STATUS))return n;console.error(t.getProgramInfoLog(n)),t.deleteProgram(n)},e.createShader=i,e.expandFloat32Array=function(t,e){for(var i=Math.min(2*t.length,e),r=new Float32Array(i),o=0;o{Object.defineProperty(e,\"__esModule\",{value:!0}),e.removeTerminalFromCache=e.acquireCharAtlas=void 0;var r=i(433),o=i(167),n=[];e.acquireCharAtlas=function(t,e,i,s){for(var a=r.generateConfig(i,s,t,e),l=0;l=0){if(r.configEquals(c.config,a))return c.atlas;1===c.ownedBy.length?(c.atlas.dispose(),n.splice(l,1)):c.ownedBy.splice(h,1);break}}for(l=0;l{Object.defineProperty(e,\"__esModule\",{value:!0}),e.is256Color=e.configEquals=e.generateConfig=void 0;var i={css:\"\",rgba:0};e.generateConfig=function(t,e,r,o){var n={foreground:o.foreground,background:o.background,cursor:i,cursorAccent:i,selectionTransparent:i,selectionOpaque:i,ansi:o.ansi.slice(),contrastCache:o.contrastCache};return{devicePixelRatio:window.devicePixelRatio,scaledCharWidth:t,scaledCharHeight:e,fontFamily:r.getOption(\"fontFamily\"),fontSize:r.getOption(\"fontSize\"),fontWeight:r.getOption(\"fontWeight\"),fontWeightBold:r.getOption(\"fontWeightBold\"),allowTransparency:r.getOption(\"allowTransparency\"),drawBoldTextInBrightColors:r.getOption(\"drawBoldTextInBrightColors\"),minimumContrastRatio:r.getOption(\"minimumContrastRatio\"),colors:n}},e.configEquals=function(t,e){for(var i=0;i{Object.defineProperty(e,\"__esModule\",{value:!0}),e.WebglCharAtlas=void 0;var r=i(499),o=i(855),n=i(381),s=i(147),a=i(742),l=1024,h=1024,c=Math.floor(819.2),_={css:\"rgba(0, 0, 0, 0)\",rgba:0},d={offset:{x:0,y:0},texturePosition:{x:0,y:0},texturePositionClipSpace:{x:0,y:0},size:{x:0,y:0},sizeClipSpace:{x:0,y:0}},u=function(){function t(t,e){this._config=e,this._didWarmUp=!1,this._cacheMap={},this._cacheMapCombined={},this._currentRowY=0,this._currentRowX=0,this._currentRowHeight=0,this.hasCanvasChanged=!1,this._workBoundingBox={top:0,left:0,bottom:0,right:0},this._workAttributeData=new s.AttributeData,this.cacheCanvas=t.createElement(\"canvas\"),this.cacheCanvas.width=l,this.cacheCanvas.height=h,this._cacheCtx=n.throwIfFalsy(this.cacheCanvas.getContext(\"2d\",{alpha:!0})),this._tmpCanvas=t.createElement(\"canvas\"),this._tmpCanvas.width=2*this._config.scaledCharWidth+4,this._tmpCanvas.height=this._config.scaledCharHeight+4,this._tmpCtx=n.throwIfFalsy(this._tmpCanvas.getContext(\"2d\",{alpha:this._config.allowTransparency}))}return t.prototype.dispose=function(){this.cacheCanvas.parentElement&&this.cacheCanvas.parentElement.removeChild(this.cacheCanvas)},t.prototype.warmUp=function(){this._didWarmUp||(this._doWarmUp(),this._didWarmUp=!0)},t.prototype._doWarmUp=function(){for(var t,e,i=33;i<126;i++){var r=this._drawToCache(i,o.DEFAULT_COLOR,o.DEFAULT_COLOR);this._cacheMap[i]=((t={})[o.DEFAULT_COLOR]=((e={})[o.DEFAULT_COLOR]=r,e),t)}},t.prototype.beginFrame=function(){return this._currentRowY>c&&(this.clearTexture(),this.warmUp(),!0)},t.prototype.clearTexture=function(){0===this._currentRowX&&0===this._currentRowY||(this._cacheCtx.clearRect(0,0,l,h),this._cacheMap={},this._cacheMapCombined={},this._currentRowHeight=0,this._currentRowX=0,this._currentRowY=0,this._didWarmUp=!1)},t.prototype.getRasterizedGlyphCombinedChar=function(t,e,i){var r,o=this._cacheMapCombined[t];o||(o={},this._cacheMapCombined[t]=o);var n=o[e];return n&&(r=n[i]),r||(r=this._drawToCache(t,e,i),o[e]||(o[e]={}),o[e][i]=r),r},t.prototype.getRasterizedGlyph=function(t,e,i){var r,o=this._cacheMap[t];o||(o={},this._cacheMap[t]=o);var n=o[e];return n&&(r=n[i]),r||(r=this._drawToCache(t,e,i),o[e]||(o[e]={}),o[e][i]=r),r},t.prototype._getColorFromAnsiIndex=function(t){if(t>=this._config.colors.ansi.length)throw new Error(\"No color found for idx \"+t);return this._config.colors.ansi[t]},t.prototype._getBackgroundColor=function(t,e,i){if(this._config.allowTransparency)return _;switch(t){case 16777216:case 33554432:return this._getColorFromAnsiIndex(e);case 50331648:var r=s.AttributeData.toColorRGB(e);return{rgba:e<<8,css:\"#\"+f(r[0])+f(r[1])+f(r[2])};case 0:default:return i?this._config.colors.foreground:this._config.colors.background}},t.prototype._getForegroundCss=function(t,e,i,r,o,n,l,h){var c=this._getMinimumContrastCss(t,e,i,r,o,n,l,h);if(c)return c;switch(o){case 16777216:case 33554432:return this._config.drawBoldTextInBrightColors&&h&&n<8&&(n+=8),this._getColorFromAnsiIndex(n).css;case 50331648:var _=s.AttributeData.toColorRGB(n);return a.channels.toCss(_[0],_[1],_[2]);case 0:default:if(l){var d=this._config.colors.background.css;return 9===d.length?d.substr(0,7):d}return this._config.colors.foreground.css}},t.prototype._resolveBackgroundRgba=function(t,e,i){switch(t){case 16777216:case 33554432:return this._getColorFromAnsiIndex(e).rgba;case 50331648:return e<<8;case 0:default:return i?this._config.colors.foreground.rgba:this._config.colors.background.rgba}},t.prototype._resolveForegroundRgba=function(t,e,i,r){switch(t){case 16777216:case 33554432:return this._config.drawBoldTextInBrightColors&&r&&e<8&&(e+=8),this._getColorFromAnsiIndex(e).rgba;case 50331648:return e<<8;case 0:default:return i?this._config.colors.background.rgba:this._config.colors.foreground.rgba}},t.prototype._getMinimumContrastCss=function(t,e,i,r,o,n,s,l){if(1!==this._config.minimumContrastRatio){var h=this._config.colors.contrastCache.getCss(t,r);if(void 0!==h)return h||void 0;var c=this._resolveBackgroundRgba(e,i,s),_=this._resolveForegroundRgba(o,n,s,l),d=a.rgba.ensureContrastRatio(c,_,this._config.minimumContrastRatio);if(d){var u=a.channels.toCss(d>>24&255,d>>16&255,d>>8&255);return this._config.colors.contrastCache.setCss(t,r,u),u}this._config.colors.contrastCache.setCss(t,r,null)}},t.prototype._drawToCache=function(t,e,i){var o=\"number\"==typeof t?String.fromCharCode(t):t;if(this.hasCanvasChanged=!0,this._tmpCtx.save(),this._workAttributeData.fg=i,this._workAttributeData.bg=e,this._workAttributeData.isInvisible())return d;var n=!!this._workAttributeData.isBold(),s=!!this._workAttributeData.isInverse(),a=!!this._workAttributeData.isDim(),c=!!this._workAttributeData.isItalic(),_=this._workAttributeData.getFgColor(),u=this._workAttributeData.getFgColorMode(),f=this._workAttributeData.getBgColor(),p=this._workAttributeData.getBgColorMode();if(s){var g=_;_=f,f=g;var v=u;u=p,p=v}var C=this._getBackgroundColor(p,f,s);this._tmpCtx.globalCompositeOperation=\"copy\",this._tmpCtx.fillStyle=C.css,this._tmpCtx.fillRect(0,0,this._tmpCanvas.width,this._tmpCanvas.height),this._tmpCtx.globalCompositeOperation=\"source-over\";var m=n?this._config.fontWeightBold:this._config.fontWeight,y=c?\"italic\":\"\";this._tmpCtx.font=y+\" \"+m+\" \"+this._config.fontSize*this._config.devicePixelRatio+\"px \"+this._config.fontFamily,this._tmpCtx.textBaseline=\"middle\",this._tmpCtx.fillStyle=this._getForegroundCss(e,p,f,i,u,_,s,n),a&&(this._tmpCtx.globalAlpha=r.DIM_OPACITY),this._tmpCtx.fillText(o,2,2+this._config.scaledCharHeight/2),this._tmpCtx.restore();var R=this._tmpCtx.getImageData(0,0,this._tmpCanvas.width,this._tmpCanvas.height);if(function(t,e){for(var i=!0,r=e.rgba>>>24,o=e.rgba>>>16&255,n=e.rgba>>>8&255,s=0;sl&&(this._currentRowX=0,this._currentRowY+=this._currentRowHeight,this._currentRowHeight=0),b.texturePosition.x=this._currentRowX,b.texturePosition.y=this._currentRowY,b.texturePositionClipSpace.x=this._currentRowX/l,b.texturePositionClipSpace.y=this._currentRowY/h,this._currentRowHeight=Math.max(this._currentRowHeight,b.size.y),this._currentRowX+=b.size.x,this._cacheCtx.putImageData(w,b.texturePosition.x,b.texturePosition.y),b},t.prototype._findGlyphBoundingBox=function(t,e){e.top=0;for(var i=!1,r=0;r=0;o--){for(r=0;r=0;r--){for(o=0;o{Object.defineProperty(e,\"__esModule\",{value:!0}),e.BaseRenderLayer=void 0;var r=i(713),o=i(381),n=function(){function t(t,e,i,r,o){this._container=t,this._alpha=r,this._colors=o,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-\"+e+\"-layer\"),this._canvas.style.zIndex=i.toString(),this._initCanvas(),this._container.appendChild(this._canvas)}return t.prototype.dispose=function(){this._container.removeChild(this._canvas),this._charAtlas&&this._charAtlas.dispose()},t.prototype._initCanvas=function(){this._ctx=o.throwIfFalsy(this._canvas.getContext(\"2d\",{alpha:this._alpha})),this._alpha||this._clearAll()},t.prototype.onOptionsChanged=function(t){},t.prototype.onBlur=function(t){},t.prototype.onFocus=function(t){},t.prototype.onCursorMove=function(t){},t.prototype.onGridChanged=function(t,e,i){},t.prototype.onSelectionChanged=function(t,e,i,r){void 0===r&&(r=!1)},t.prototype.setColors=function(t,e){this._refreshCharAtlas(t,e)},t.prototype._setTransparency=function(t,e){if(e!==this._alpha){var i=this._canvas;this._alpha=e,this._canvas=this._canvas.cloneNode(),this._initCanvas(),this._container.replaceChild(this._canvas,i),this._refreshCharAtlas(t,this._colors),this.onGridChanged(t,0,t.rows-1)}},t.prototype._refreshCharAtlas=function(t,e){this._scaledCharWidth<=0&&this._scaledCharHeight<=0||(this._charAtlas=r.acquireCharAtlas(t,e,this._scaledCharWidth,this._scaledCharHeight),this._charAtlas.warmUp())},t.prototype.resize=function(t,e){this._scaledCellWidth=e.scaledCellWidth,this._scaledCellHeight=e.scaledCellHeight,this._scaledCharWidth=e.scaledCharWidth,this._scaledCharHeight=e.scaledCharHeight,this._scaledCharLeft=e.scaledCharLeft,this._scaledCharTop=e.scaledCharTop,this._canvas.width=e.scaledCanvasWidth,this._canvas.height=e.scaledCanvasHeight,this._canvas.style.width=e.canvasWidth+\"px\",this._canvas.style.height=e.canvasHeight+\"px\",this._alpha||this._clearAll(),this._refreshCharAtlas(t,this._colors)},t.prototype._fillCells=function(t,e,i,r){this._ctx.fillRect(t*this._scaledCellWidth,e*this._scaledCellHeight,i*this._scaledCellWidth,r*this._scaledCellHeight)},t.prototype._fillBottomLineAtCells=function(t,e,i){void 0===i&&(i=1),this._ctx.fillRect(t*this._scaledCellWidth,(e+1)*this._scaledCellHeight-window.devicePixelRatio-1,i*this._scaledCellWidth,window.devicePixelRatio)},t.prototype._fillLeftLineAtCell=function(t,e,i){this._ctx.fillRect(t*this._scaledCellWidth,e*this._scaledCellHeight,window.devicePixelRatio*i,this._scaledCellHeight)},t.prototype._strokeRectAtCell=function(t,e,i,r){this._ctx.lineWidth=window.devicePixelRatio,this._ctx.strokeRect(t*this._scaledCellWidth+window.devicePixelRatio/2,e*this._scaledCellHeight+window.devicePixelRatio/2,i*this._scaledCellWidth-window.devicePixelRatio,r*this._scaledCellHeight-window.devicePixelRatio)},t.prototype._clearAll=function(){this._alpha?this._ctx.clearRect(0,0,this._canvas.width,this._canvas.height):(this._ctx.fillStyle=this._colors.background.css,this._ctx.fillRect(0,0,this._canvas.width,this._canvas.height))},t.prototype._clearCells=function(t,e,i,r){this._alpha?this._ctx.clearRect(t*this._scaledCellWidth,e*this._scaledCellHeight,i*this._scaledCellWidth,r*this._scaledCellHeight):(this._ctx.fillStyle=this._colors.background.css,this._ctx.fillRect(t*this._scaledCellWidth,e*this._scaledCellHeight,i*this._scaledCellWidth,r*this._scaledCellHeight))},t.prototype._fillCharTrueColor=function(t,e,i,r){this._ctx.font=this._getFont(t,!1,!1),this._ctx.textBaseline=\"middle\",this._clipRow(t,r),this._ctx.fillText(e.getChars(),i*this._scaledCellWidth+this._scaledCharLeft,r*this._scaledCellHeight+this._scaledCharTop+this._scaledCharHeight/2)},t.prototype._clipRow=function(t,e){this._ctx.beginPath(),this._ctx.rect(0,e*this._scaledCellHeight,t.cols*this._scaledCellWidth,this._scaledCellHeight),this._ctx.clip()},t.prototype._getFont=function(t,e,i){return(i?\"italic\":\"\")+\" \"+(e?t.getOption(\"fontWeightBold\"):t.getOption(\"fontWeight\"))+\" \"+t.getOption(\"fontSize\")*window.devicePixelRatio+\"px \"+t.getOption(\"fontFamily\")},t}();e.BaseRenderLayer=n},461:function(t,e,i){var r,o=this&&this.__extends||(r=function(t,e){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i])})(t,e)},function(t,e){function i(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.CursorRenderLayer=void 0;var n=i(592),s=i(782),a=600,l=function(t){function e(e,i,r,o){var n=t.call(this,e,\"cursor\",i,!0,r)||this;return n._onRequestRefreshRowsEvent=o,n._cell=new s.CellData,n._state={x:0,y:0,isFocused:!1,style:\"\",width:0},n._cursorRenderers={bar:n._renderBarCursor.bind(n),block:n._renderBlockCursor.bind(n),underline:n._renderUnderlineCursor.bind(n)},n}return o(e,t),e.prototype.resize=function(e,i){t.prototype.resize.call(this,e,i),this._state={x:0,y:0,isFocused:!1,style:\"\",width:0}},e.prototype.reset=function(t){this._clearCursor(),this._cursorBlinkStateManager&&(this._cursorBlinkStateManager.dispose(),this.onOptionsChanged(t))},e.prototype.onBlur=function(t){this._cursorBlinkStateManager&&this._cursorBlinkStateManager.pause(),this._onRequestRefreshRowsEvent.fire({start:t.buffer.active.cursorY,end:t.buffer.active.cursorY})},e.prototype.onFocus=function(t){this._cursorBlinkStateManager?this._cursorBlinkStateManager.resume(t):this._onRequestRefreshRowsEvent.fire({start:t.buffer.active.cursorY,end:t.buffer.active.cursorY})},e.prototype.onOptionsChanged=function(t){var e,i=this;t.getOption(\"cursorBlink\")?this._cursorBlinkStateManager||(this._cursorBlinkStateManager=new h(t,(function(){i._render(t,!0)}))):(null===(e=this._cursorBlinkStateManager)||void 0===e||e.dispose(),this._cursorBlinkStateManager=void 0),this._onRequestRefreshRowsEvent.fire({start:t.buffer.active.cursorY,end:t.buffer.active.cursorY})},e.prototype.onCursorMove=function(t){this._cursorBlinkStateManager&&this._cursorBlinkStateManager.restartBlinkAnimation(t)},e.prototype.onGridChanged=function(t,e,i){!this._cursorBlinkStateManager||this._cursorBlinkStateManager.isPaused?this._render(t,!1):this._cursorBlinkStateManager.restartBlinkAnimation(t)},e.prototype._render=function(t,e){if(t._core._coreService.isCursorInitialized&&!t._core._coreService.isCursorHidden){var i=t.buffer.active.baseY+t.buffer.active.cursorY,r=i-t.buffer.active.viewportY,o=Math.min(t.buffer.active.cursorX,t.cols-1);if(r<0||r>=t.rows)this._clearCursor();else if(t._core.buffer.lines.get(i).loadCell(o,this._cell),void 0!==this._cell.content){if(!c(t)){this._clearCursor(),this._ctx.save(),this._ctx.fillStyle=this._colors.cursor.css;var n=t.getOption(\"cursorStyle\");return n&&\"block\"!==n?this._cursorRenderers[n](t,o,r,this._cell):this._renderBlurCursor(t,o,r,this._cell),this._ctx.restore(),this._state.x=o,this._state.y=r,this._state.isFocused=!1,this._state.style=n,void(this._state.width=this._cell.getWidth())}if(!this._cursorBlinkStateManager||this._cursorBlinkStateManager.isCursorVisible){if(this._state){if(this._state.x===o&&this._state.y===r&&this._state.isFocused===c(t)&&this._state.style===t.getOption(\"cursorStyle\")&&this._state.width===this._cell.getWidth())return;this._clearCursor()}this._ctx.save(),this._cursorRenderers[t.getOption(\"cursorStyle\")||\"block\"](t,o,r,this._cell),this._ctx.restore(),this._state.x=o,this._state.y=r,this._state.isFocused=!1,this._state.style=t.getOption(\"cursorStyle\"),this._state.width=this._cell.getWidth()}else this._clearCursor()}}else this._clearCursor()},e.prototype._clearCursor=function(){this._state&&(this._clearCells(this._state.x,this._state.y,this._state.width,1),this._state={x:0,y:0,isFocused:!1,style:\"\",width:0})},e.prototype._renderBarCursor=function(t,e,i,r){this._ctx.save(),this._ctx.fillStyle=this._colors.cursor.css,this._fillLeftLineAtCell(e,i,t.getOption(\"cursorWidth\")),this._ctx.restore()},e.prototype._renderBlockCursor=function(t,e,i,r){this._ctx.save(),this._ctx.fillStyle=this._colors.cursor.css,this._fillCells(e,i,r.getWidth(),1),this._ctx.fillStyle=this._colors.cursorAccent.css,this._fillCharTrueColor(t,r,e,i),this._ctx.restore()},e.prototype._renderUnderlineCursor=function(t,e,i,r){this._ctx.save(),this._ctx.fillStyle=this._colors.cursor.css,this._fillBottomLineAtCells(e,i),this._ctx.restore()},e.prototype._renderBlurCursor=function(t,e,i,r){this._ctx.save(),this._ctx.strokeStyle=this._colors.cursor.css,this._strokeRectAtCell(e,i,r.getWidth(),1),this._ctx.restore()},e}(n.BaseRenderLayer);e.CursorRenderLayer=l;var h=function(){function t(t,e){this._renderCallback=e,this.isCursorVisible=!0,c(t)&&this._restartInterval()}return Object.defineProperty(t.prototype,\"isPaused\",{get:function(){return!(this._blinkStartTimeout||this._blinkInterval)},enumerable:!1,configurable:!0}),t.prototype.dispose=function(){this._blinkInterval&&(window.clearInterval(this._blinkInterval),this._blinkInterval=void 0),this._blinkStartTimeout&&(window.clearTimeout(this._blinkStartTimeout),this._blinkStartTimeout=void 0),this._animationFrame&&(window.cancelAnimationFrame(this._animationFrame),this._animationFrame=void 0)},t.prototype.restartBlinkAnimation=function(t){var e=this;this.isPaused||(this._animationTimeRestarted=Date.now(),this.isCursorVisible=!0,this._animationFrame||(this._animationFrame=window.requestAnimationFrame((function(){e._renderCallback(),e._animationFrame=void 0}))))},t.prototype._restartInterval=function(t){var e=this;void 0===t&&(t=a),this._blinkInterval&&window.clearInterval(this._blinkInterval),this._blinkStartTimeout=window.setTimeout((function(){if(e._animationTimeRestarted){var t=a-(Date.now()-e._animationTimeRestarted);if(e._animationTimeRestarted=void 0,t>0)return void e._restartInterval(t)}e.isCursorVisible=!1,e._animationFrame=window.requestAnimationFrame((function(){e._renderCallback(),e._animationFrame=void 0})),e._blinkInterval=window.setInterval((function(){if(e._animationTimeRestarted){var t=a-(Date.now()-e._animationTimeRestarted);return e._animationTimeRestarted=void 0,void e._restartInterval(t)}e.isCursorVisible=!e.isCursorVisible,e._animationFrame=window.requestAnimationFrame((function(){e._renderCallback(),e._animationFrame=void 0}))}),a)}),t)},t.prototype.pause=function(){this.isCursorVisible=!0,this._blinkInterval&&(window.clearInterval(this._blinkInterval),this._blinkInterval=void 0),this._blinkStartTimeout&&(window.clearTimeout(this._blinkStartTimeout),this._blinkStartTimeout=void 0),this._animationFrame&&(window.cancelAnimationFrame(this._animationFrame),this._animationFrame=void 0)},t.prototype.resume=function(t){this.pause(),this._animationTimeRestarted=void 0,this._restartInterval(),this.restartBlinkAnimation(t)},t}();function c(t){return document.activeElement===t.textarea&&document.hasFocus()}},733:function(t,e,i){var r,o=this&&this.__extends||(r=function(t,e){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i])})(t,e)},function(t,e){function i(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.LinkRenderLayer=void 0;var n=i(592),s=i(499),a=i(433),l=function(t){function e(e,i,r,o){var n=t.call(this,e,\"link\",i,!0,r)||this;return o.linkifier.onShowLinkUnderline((function(t){return n._onShowLinkUnderline(t)})),o.linkifier.onHideLinkUnderline((function(t){return n._onHideLinkUnderline(t)})),o.linkifier2.onShowLinkUnderline((function(t){return n._onShowLinkUnderline(t)})),o.linkifier2.onHideLinkUnderline((function(t){return n._onHideLinkUnderline(t)})),n}return o(e,t),e.prototype.resize=function(e,i){t.prototype.resize.call(this,e,i),this._state=void 0},e.prototype.reset=function(t){this._clearCurrentLink()},e.prototype._clearCurrentLink=function(){if(this._state){this._clearCells(this._state.x1,this._state.y1,this._state.cols-this._state.x1,1);var t=this._state.y2-this._state.y1-1;t>0&&this._clearCells(0,this._state.y1+1,this._state.cols,t),this._clearCells(0,this._state.y2,this._state.x2,1),this._state=void 0}},e.prototype._onShowLinkUnderline=function(t){if(t.fg===s.INVERTED_DEFAULT_COLOR?this._ctx.fillStyle=this._colors.background.css:void 0!==t.fg&&a.is256Color(t.fg)?this._ctx.fillStyle=this._colors.ansi[t.fg].css:this._ctx.fillStyle=this._colors.foreground.css,t.y1===t.y2)this._fillBottomLineAtCells(t.x1,t.y1,t.x2-t.x1);else{this._fillBottomLineAtCells(t.x1,t.y1,t.cols-t.x1);for(var e=t.y1+1;e{var i,r,o,n;function s(t){var e=t.toString(16);return e.length<2?\"0\"+e:e}function a(t,e){return t>>0}}(i=e.channels||(e.channels={})),(r=e.color||(e.color={})).blend=function(t,e){var r=(255&e.rgba)/255;if(1===r)return{css:e.css,rgba:e.rgba};var o=e.rgba>>24&255,n=e.rgba>>16&255,s=e.rgba>>8&255,a=t.rgba>>24&255,l=t.rgba>>16&255,h=t.rgba>>8&255,c=a+Math.round((o-a)*r),_=l+Math.round((n-l)*r),d=h+Math.round((s-h)*r);return{css:i.toCss(c,_,d),rgba:i.toRgba(c,_,d)}},r.isOpaque=function(t){return 255==(255&t.rgba)},r.ensureContrastRatio=function(t,e,i){var r=n.ensureContrastRatio(t.rgba,e.rgba,i);if(r)return n.toColor(r>>24&255,r>>16&255,r>>8&255)},r.opaque=function(t){var e=(255|t.rgba)>>>0,r=n.toChannels(e),o=r[0],s=r[1],a=r[2];return{css:i.toCss(o,s,a),rgba:e}},r.opacity=function(t,e){var r=Math.round(255*e),o=n.toChannels(t.rgba),s=o[0],a=o[1],l=o[2];return{css:i.toCss(s,a,l,r),rgba:i.toRgba(s,a,l,r)}},(e.css||(e.css={})).toColor=function(t){switch(t.length){case 7:return{css:t,rgba:(parseInt(t.slice(1),16)<<8|255)>>>0};case 9:return{css:t,rgba:parseInt(t.slice(1),16)>>>0}}throw new Error(\"css.toColor: Unsupported css format\")},function(t){function e(t,e,i){var r=t/255,o=e/255,n=i/255;return.2126*(r<=.03928?r/12.92:Math.pow((r+.055)/1.055,2.4))+.7152*(o<=.03928?o/12.92:Math.pow((o+.055)/1.055,2.4))+.0722*(n<=.03928?n/12.92:Math.pow((n+.055)/1.055,2.4))}t.relativeLuminance=function(t){return e(t>>16&255,t>>8&255,255&t)},t.relativeLuminance2=e}(o=e.rgb||(e.rgb={})),function(t){function e(t,e,i){for(var r=t>>24&255,n=t>>16&255,s=t>>8&255,l=e>>24&255,h=e>>16&255,c=e>>8&255,_=a(o.relativeLuminance2(l,c,h),o.relativeLuminance2(r,n,s));_0||h>0||c>0);)l-=Math.max(0,Math.ceil(.1*l)),h-=Math.max(0,Math.ceil(.1*h)),c-=Math.max(0,Math.ceil(.1*c)),_=a(o.relativeLuminance2(l,c,h),o.relativeLuminance2(r,n,s));return(l<<24|h<<16|c<<8|255)>>>0}function r(t,e,i){for(var r=t>>24&255,n=t>>16&255,s=t>>8&255,l=e>>24&255,h=e>>16&255,c=e>>8&255,_=a(o.relativeLuminance2(l,c,h),o.relativeLuminance2(r,n,s));_>>0}t.ensureContrastRatio=function(t,i,n){var s=o.relativeLuminance(t>>8),l=o.relativeLuminance(i>>8);if(a(s,l)>24&255,t>>16&255,t>>8&255,255&t]},t.toColor=function(t,e,r){return{css:i.toCss(t,e,r),rgba:i.toRgba(t,e,r)}}}(n=e.rgba||(e.rgba={})),e.toPaddedHex=s,e.contrastRatio=a},499:(t,e)=>{Object.defineProperty(e,\"__esModule\",{value:!0}),e.CHAR_ATLAS_CELL_SPACING=e.DIM_OPACITY=e.INVERTED_DEFAULT_COLOR=void 0,e.INVERTED_DEFAULT_COLOR=257,e.DIM_OPACITY=.5,e.CHAR_ATLAS_CELL_SPACING=1},345:(t,e)=>{Object.defineProperty(e,\"__esModule\",{value:!0}),e.forwardEvent=e.EventEmitter=void 0;var i=function(){function t(){this._listeners=[],this._disposed=!1}return Object.defineProperty(t.prototype,\"event\",{get:function(){var t=this;return this._event||(this._event=function(e){return t._listeners.push(e),{dispose:function(){if(!t._disposed)for(var i=0;i{Object.defineProperty(e,\"__esModule\",{value:!0}),e.getDisposeArrayDisposable=e.disposeArray=e.Disposable=void 0;var i=function(){function t(){this._disposables=[],this._isDisposed=!1}return t.prototype.dispose=function(){this._isDisposed=!0;for(var t=0,e=this._disposables;t{function i(t,e,i,r){if(void 0===i&&(i=0),void 0===r&&(r=t.length),i>=t.length)return t;i=(t.length+i)%t.length,r=r>=t.length?t.length:(t.length+r)%t.length;for(var o=i;o{Object.defineProperty(e,\"__esModule\",{value:!0}),e.ExtendedAttrs=e.AttributeData=void 0;var i=function(){function t(){this.fg=0,this.bg=0,this.extended=new r}return t.toColorRGB=function(t){return[t>>>16&255,t>>>8&255,255&t]},t.fromColorRGB=function(t){return(255&t[0])<<16|(255&t[1])<<8|255&t[2]},t.prototype.clone=function(){var e=new t;return e.fg=this.fg,e.bg=this.bg,e.extended=this.extended.clone(),e},t.prototype.isInverse=function(){return 67108864&this.fg},t.prototype.isBold=function(){return 134217728&this.fg},t.prototype.isUnderline=function(){return 268435456&this.fg},t.prototype.isBlink=function(){return 536870912&this.fg},t.prototype.isInvisible=function(){return 1073741824&this.fg},t.prototype.isItalic=function(){return 67108864&this.bg},t.prototype.isDim=function(){return 134217728&this.bg},t.prototype.getFgColorMode=function(){return 50331648&this.fg},t.prototype.getBgColorMode=function(){return 50331648&this.bg},t.prototype.isFgRGB=function(){return 50331648==(50331648&this.fg)},t.prototype.isBgRGB=function(){return 50331648==(50331648&this.bg)},t.prototype.isFgPalette=function(){return 16777216==(50331648&this.fg)||33554432==(50331648&this.fg)},t.prototype.isBgPalette=function(){return 16777216==(50331648&this.bg)||33554432==(50331648&this.bg)},t.prototype.isFgDefault=function(){return 0==(50331648&this.fg)},t.prototype.isBgDefault=function(){return 0==(50331648&this.bg)},t.prototype.isAttributeDefault=function(){return 0===this.fg&&0===this.bg},t.prototype.getFgColor=function(){switch(50331648&this.fg){case 16777216:case 33554432:return 255&this.fg;case 50331648:return 16777215&this.fg;default:return-1}},t.prototype.getBgColor=function(){switch(50331648&this.bg){case 16777216:case 33554432:return 255&this.bg;case 50331648:return 16777215&this.bg;default:return-1}},t.prototype.hasExtendedAttrs=function(){return 268435456&this.bg},t.prototype.updateExtended=function(){this.extended.isEmpty()?this.bg&=-268435457:this.bg|=268435456},t.prototype.getUnderlineColor=function(){if(268435456&this.bg&&~this.extended.underlineColor)switch(50331648&this.extended.underlineColor){case 16777216:case 33554432:return 255&this.extended.underlineColor;case 50331648:return 16777215&this.extended.underlineColor;default:return this.getFgColor()}return this.getFgColor()},t.prototype.getUnderlineColorMode=function(){return 268435456&this.bg&&~this.extended.underlineColor?50331648&this.extended.underlineColor:this.getFgColorMode()},t.prototype.isUnderlineColorRGB=function(){return 268435456&this.bg&&~this.extended.underlineColor?50331648==(50331648&this.extended.underlineColor):this.isFgRGB()},t.prototype.isUnderlineColorPalette=function(){return 268435456&this.bg&&~this.extended.underlineColor?16777216==(50331648&this.extended.underlineColor)||33554432==(50331648&this.extended.underlineColor):this.isFgPalette()},t.prototype.isUnderlineColorDefault=function(){return 268435456&this.bg&&~this.extended.underlineColor?0==(50331648&this.extended.underlineColor):this.isFgDefault()},t.prototype.getUnderlineStyle=function(){return 268435456&this.fg?268435456&this.bg?this.extended.underlineStyle:1:0},t}();e.AttributeData=i;var r=function(){function t(t,e){void 0===t&&(t=0),void 0===e&&(e=-1),this.underlineStyle=t,this.underlineColor=e}return t.prototype.clone=function(){return new t(this.underlineStyle,this.underlineColor)},t.prototype.isEmpty=function(){return 0===this.underlineStyle},t}();e.ExtendedAttrs=r},782:function(t,e,i){var r,o=this&&this.__extends||(r=function(t,e){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i])})(t,e)},function(t,e){function i(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.CellData=void 0;var n=i(133),s=i(855),a=i(147),l=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.content=0,e.fg=0,e.bg=0,e.extended=new a.ExtendedAttrs,e.combinedData=\"\",e}return o(e,t),e.fromCharData=function(t){var i=new e;return i.setFromCharData(t),i},e.prototype.isCombined=function(){return 2097152&this.content},e.prototype.getWidth=function(){return this.content>>22},e.prototype.getChars=function(){return 2097152&this.content?this.combinedData:2097151&this.content?n.stringFromCodePoint(2097151&this.content):\"\"},e.prototype.getCode=function(){return this.isCombined()?this.combinedData.charCodeAt(this.combinedData.length-1):2097151&this.content},e.prototype.setFromCharData=function(t){this.fg=t[s.CHAR_DATA_ATTR_INDEX],this.bg=0;var e=!1;if(t[s.CHAR_DATA_CHAR_INDEX].length>2)e=!0;else if(2===t[s.CHAR_DATA_CHAR_INDEX].length){var i=t[s.CHAR_DATA_CHAR_INDEX].charCodeAt(0);if(55296<=i&&i<=56319){var r=t[s.CHAR_DATA_CHAR_INDEX].charCodeAt(1);56320<=r&&r<=57343?this.content=1024*(i-55296)+r-56320+65536|t[s.CHAR_DATA_WIDTH_INDEX]<<22:e=!0}else e=!0}else this.content=t[s.CHAR_DATA_CHAR_INDEX].charCodeAt(0)|t[s.CHAR_DATA_WIDTH_INDEX]<<22;e&&(this.combinedData=t[s.CHAR_DATA_CHAR_INDEX],this.content=2097152|t[s.CHAR_DATA_WIDTH_INDEX]<<22)},e.prototype.getAsCharData=function(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]},e}(a.AttributeData);e.CellData=l},855:(t,e)=>{Object.defineProperty(e,\"__esModule\",{value:!0}),e.WHITESPACE_CELL_CODE=e.WHITESPACE_CELL_WIDTH=e.WHITESPACE_CELL_CHAR=e.NULL_CELL_CODE=e.NULL_CELL_WIDTH=e.NULL_CELL_CHAR=e.CHAR_DATA_CODE_INDEX=e.CHAR_DATA_WIDTH_INDEX=e.CHAR_DATA_CHAR_INDEX=e.CHAR_DATA_ATTR_INDEX=e.DEFAULT_ATTR=e.DEFAULT_COLOR=void 0,e.DEFAULT_COLOR=256,e.DEFAULT_ATTR=256|e.DEFAULT_COLOR<<9,e.CHAR_DATA_ATTR_INDEX=0,e.CHAR_DATA_CHAR_INDEX=1,e.CHAR_DATA_WIDTH_INDEX=2,e.CHAR_DATA_CODE_INDEX=3,e.NULL_CELL_CHAR=\"\",e.NULL_CELL_WIDTH=1,e.NULL_CELL_CODE=0,e.WHITESPACE_CELL_CHAR=\" \",e.WHITESPACE_CELL_WIDTH=1,e.WHITESPACE_CELL_CODE=32},133:(t,e)=>{Object.defineProperty(e,\"__esModule\",{value:!0}),e.Utf8ToUtf32=e.StringToUtf32=e.utf32ToString=e.stringFromCodePoint=void 0,e.stringFromCodePoint=function(t){return t>65535?(t-=65536,String.fromCharCode(55296+(t>>10))+String.fromCharCode(t%1024+56320)):String.fromCharCode(t)},e.utf32ToString=function(t,e,i){void 0===e&&(e=0),void 0===i&&(i=t.length);for(var r=\"\",o=e;o65535?(n-=65536,r+=String.fromCharCode(55296+(n>>10))+String.fromCharCode(n%1024+56320)):r+=String.fromCharCode(n)}return r};var i=function(){function t(){this._interim=0}return t.prototype.clear=function(){this._interim=0},t.prototype.decode=function(t,e){var i=t.length;if(!i)return 0;var r=0,o=0;this._interim&&(56320<=(a=t.charCodeAt(o++))&&a<=57343?e[r++]=1024*(this._interim-55296)+a-56320+65536:(e[r++]=this._interim,e[r++]=a),this._interim=0);for(var n=o;n=i)return this._interim=s,r;var a;56320<=(a=t.charCodeAt(n))&&a<=57343?e[r++]=1024*(s-55296)+a-56320+65536:(e[r++]=s,e[r++]=a)}else 65279!==s&&(e[r++]=s)}return r},t}();e.StringToUtf32=i;var r=function(){function t(){this.interim=new Uint8Array(3)}return t.prototype.clear=function(){this.interim.fill(0)},t.prototype.decode=function(t,e){var i=t.length;if(!i)return 0;var r,o,n,s,a=0,l=0,h=0;if(this.interim[0]){var c=!1,_=this.interim[0];_&=192==(224&_)?31:224==(240&_)?15:7;for(var d=0,u=void 0;(u=63&this.interim[++d])&&d<4;)_<<=6,_|=u;for(var f=192==(224&this.interim[0])?2:224==(240&this.interim[0])?3:4,p=f-d;h=i)return 0;if(128!=(192&(u=t[h++]))){h--,c=!0;break}this.interim[d++]=u,_<<=6,_|=63&u}c||(2===f?_<128?h--:e[a++]=_:3===f?_<2048||_>=55296&&_<=57343||65279===_||(e[a++]=_):_<65536||_>1114111||(e[a++]=_)),this.interim.fill(0)}for(var g=i-4,v=h;v=i)return this.interim[0]=r,a;if(128!=(192&(o=t[v++]))){v--;continue}if((l=(31&r)<<6|63&o)<128){v--;continue}e[a++]=l}else if(224==(240&r)){if(v>=i)return this.interim[0]=r,a;if(128!=(192&(o=t[v++]))){v--;continue}if(v>=i)return this.interim[0]=r,this.interim[1]=o,a;if(128!=(192&(n=t[v++]))){v--;continue}if((l=(15&r)<<12|(63&o)<<6|63&n)<2048||l>=55296&&l<=57343||65279===l)continue;e[a++]=l}else if(240==(248&r)){if(v>=i)return this.interim[0]=r,a;if(128!=(192&(o=t[v++]))){v--;continue}if(v>=i)return this.interim[0]=r,this.interim[1]=o,a;if(128!=(192&(n=t[v++]))){v--;continue}if(v>=i)return this.interim[0]=r,this.interim[1]=o,this.interim[2]=n,a;if(128!=(192&(s=t[v++]))){v--;continue}if((l=(7&r)<<18|(63&o)<<12|(63&n)<<6|63&s)<65536||l>1114111)continue;e[a++]=l}}return a},t}();e.Utf8ToUtf32=r}},e={};return function i(r){if(e[r])return e[r].exports;var o=e[r]={exports:{}};return t[r].call(o.exports,o,o.exports,i),o.exports}(795)})()}));\n//# sourceMappingURL=xterm-addon-webgl.js.map","/*!\n * xterm (https://npmjs.com/package/xterm)\n * @license MIT\n * @version 4.12.0\n * ==xterm/LICENSE==\n * Copyright (c) 2017-2019, The xterm.js authors (https://github.com/xtermjs/xterm.js)\n * Copyright (c) 2014-2016, SourceLair Private Company (https://www.sourcelair.com)\n * Copyright (c) 2012-2013, Christopher Jeffrey (https://github.com/chjj/)\n * \n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n * \n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n * \n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\n!function(e,t){if(\"object\"==typeof exports&&\"object\"==typeof module)module.exports=t();else if(\"function\"==typeof define&&define.amd)define([],t);else{var r=t();for(var i in r)(\"object\"==typeof exports?exports:e)[i]=r[i]}}(self,(function(){return(()=>{\"use strict\";var e={4567:function(e,t,r){var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});Object.defineProperty(t,\"__esModule\",{value:!0}),t.AccessibilityManager=void 0;var o=r(9042),s=r(6114),a=r(6193),c=r(3656),l=r(844),h=r(5596),u=r(9631),f=function(e){function t(t,r){var i=e.call(this)||this;i._terminal=t,i._renderService=r,i._liveRegionLineCount=0,i._charsToConsume=[],i._charsToAnnounce=\"\",i._accessibilityTreeRoot=document.createElement(\"div\"),i._accessibilityTreeRoot.classList.add(\"xterm-accessibility\"),i._rowContainer=document.createElement(\"div\"),i._rowContainer.setAttribute(\"role\",\"list\"),i._rowContainer.classList.add(\"xterm-accessibility-tree\"),i._rowElements=[];for(var n=0;ne;)this._rowContainer.removeChild(this._rowElements.pop());this._rowElements[this._rowElements.length-1].addEventListener(\"focus\",this._bottomBoundaryFocusListener),this._refreshRowsDimensions()},t.prototype._createAccessibilityTreeNode=function(){var e=document.createElement(\"div\");return e.setAttribute(\"role\",\"listitem\"),e.tabIndex=-1,this._refreshRowDimensions(e),e},t.prototype._onTab=function(e){for(var t=0;t0?this._charsToConsume.shift()!==e&&(this._charsToAnnounce+=e):this._charsToAnnounce+=e,\"\\n\"===e&&(this._liveRegionLineCount++,21===this._liveRegionLineCount&&(this._liveRegion.textContent+=o.tooMuchOutput)),s.isMac&&this._liveRegion.textContent&&this._liveRegion.textContent.length>0&&!this._liveRegion.parentNode&&setTimeout((function(){t._accessibilityTreeRoot.appendChild(t._liveRegion)}),0))},t.prototype._clearLiveRegion=function(){this._liveRegion.textContent=\"\",this._liveRegionLineCount=0,s.isMac&&u.removeElementFromParent(this._liveRegion)},t.prototype._onKey=function(e){this._clearLiveRegion(),this._charsToConsume.push(e)},t.prototype._refreshRows=function(e,t){this._renderRowsDebouncer.refresh(e,t,this._terminal.rows)},t.prototype._renderRows=function(e,t){for(var r=this._terminal.buffer,i=r.lines.length.toString(),n=e;n<=t;n++){var o=r.translateBufferLineToString(r.ydisp+n,!0),s=(r.ydisp+n+1).toString(),a=this._rowElements[n];a&&(0===o.length?a.innerText=\" \":a.textContent=o,a.setAttribute(\"aria-posinset\",s),a.setAttribute(\"aria-setsize\",i))}this._announceCharacters()},t.prototype._refreshRowsDimensions=function(){if(this._renderService.dimensions.actualCellHeight){this._rowElements.length!==this._terminal.rows&&this._onResize(this._terminal.rows);for(var e=0;e{function r(e){return e.replace(/\\r?\\n/g,\"\\r\")}function i(e,t){return t?\"\u001b[200~\"+e+\"\u001b[201~\":e}function n(e,t,n){e=i(e=r(e),n.decPrivateModes.bracketedPasteMode),n.triggerDataEvent(e,!0),t.value=\"\"}function o(e,t,r){var i=r.getBoundingClientRect(),n=e.clientX-i.left-10,o=e.clientY-i.top-10;t.style.width=\"20px\",t.style.height=\"20px\",t.style.left=n+\"px\",t.style.top=o+\"px\",t.style.zIndex=\"1000\",t.focus()}Object.defineProperty(t,\"__esModule\",{value:!0}),t.rightClickHandler=t.moveTextAreaUnderMouseCursor=t.paste=t.handlePasteEvent=t.copyHandler=t.bracketTextForPaste=t.prepareTextForTerminal=void 0,t.prepareTextForTerminal=r,t.bracketTextForPaste=i,t.copyHandler=function(e,t){e.clipboardData&&e.clipboardData.setData(\"text/plain\",t.selectionText),e.preventDefault()},t.handlePasteEvent=function(e,t,r){e.stopPropagation(),e.clipboardData&&n(e.clipboardData.getData(\"text/plain\"),t,r)},t.paste=n,t.moveTextAreaUnderMouseCursor=o,t.rightClickHandler=function(e,t,r,i,n){o(e,t,r),n&&i.rightClickSelect(e),t.value=i.selectionText,t.select()}},4774:(e,t)=>{var r,i,n,o;function s(e){var t=e.toString(16);return t.length<2?\"0\"+t:t}function a(e,t){return e>>0}}(r=t.channels||(t.channels={})),(i=t.color||(t.color={})).blend=function(e,t){var i=(255&t.rgba)/255;if(1===i)return{css:t.css,rgba:t.rgba};var n=t.rgba>>24&255,o=t.rgba>>16&255,s=t.rgba>>8&255,a=e.rgba>>24&255,c=e.rgba>>16&255,l=e.rgba>>8&255,h=a+Math.round((n-a)*i),u=c+Math.round((o-c)*i),f=l+Math.round((s-l)*i);return{css:r.toCss(h,u,f),rgba:r.toRgba(h,u,f)}},i.isOpaque=function(e){return 255==(255&e.rgba)},i.ensureContrastRatio=function(e,t,r){var i=o.ensureContrastRatio(e.rgba,t.rgba,r);if(i)return o.toColor(i>>24&255,i>>16&255,i>>8&255)},i.opaque=function(e){var t=(255|e.rgba)>>>0,i=o.toChannels(t),n=i[0],s=i[1],a=i[2];return{css:r.toCss(n,s,a),rgba:t}},i.opacity=function(e,t){var i=Math.round(255*t),n=o.toChannels(e.rgba),s=n[0],a=n[1],c=n[2];return{css:r.toCss(s,a,c,i),rgba:r.toRgba(s,a,c,i)}},(t.css||(t.css={})).toColor=function(e){switch(e.length){case 7:return{css:e,rgba:(parseInt(e.slice(1),16)<<8|255)>>>0};case 9:return{css:e,rgba:parseInt(e.slice(1),16)>>>0}}throw new Error(\"css.toColor: Unsupported css format\")},function(e){function t(e,t,r){var i=e/255,n=t/255,o=r/255;return.2126*(i<=.03928?i/12.92:Math.pow((i+.055)/1.055,2.4))+.7152*(n<=.03928?n/12.92:Math.pow((n+.055)/1.055,2.4))+.0722*(o<=.03928?o/12.92:Math.pow((o+.055)/1.055,2.4))}e.relativeLuminance=function(e){return t(e>>16&255,e>>8&255,255&e)},e.relativeLuminance2=t}(n=t.rgb||(t.rgb={})),function(e){function t(e,t,r){for(var i=e>>24&255,o=e>>16&255,s=e>>8&255,c=t>>24&255,l=t>>16&255,h=t>>8&255,u=a(n.relativeLuminance2(c,h,l),n.relativeLuminance2(i,o,s));u0||l>0||h>0);)c-=Math.max(0,Math.ceil(.1*c)),l-=Math.max(0,Math.ceil(.1*l)),h-=Math.max(0,Math.ceil(.1*h)),u=a(n.relativeLuminance2(c,h,l),n.relativeLuminance2(i,o,s));return(c<<24|l<<16|h<<8|255)>>>0}function i(e,t,r){for(var i=e>>24&255,o=e>>16&255,s=e>>8&255,c=t>>24&255,l=t>>16&255,h=t>>8&255,u=a(n.relativeLuminance2(c,h,l),n.relativeLuminance2(i,o,s));u>>0}e.ensureContrastRatio=function(e,r,o){var s=n.relativeLuminance(e>>8),c=n.relativeLuminance(r>>8);if(a(s,c)>24&255,e>>16&255,e>>8&255,255&e]},e.toColor=function(e,t,i){return{css:r.toCss(e,t,i),rgba:r.toRgba(e,t,i)}}}(o=t.rgba||(t.rgba={})),t.toPaddedHex=s,t.contrastRatio=a},7239:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.ColorContrastCache=void 0;var r=function(){function e(){this._color={},this._rgba={}}return e.prototype.clear=function(){this._color={},this._rgba={}},e.prototype.setCss=function(e,t,r){this._rgba[e]||(this._rgba[e]={}),this._rgba[e][t]=r},e.prototype.getCss=function(e,t){return this._rgba[e]?this._rgba[e][t]:void 0},e.prototype.setColor=function(e,t,r){this._color[e]||(this._color[e]={}),this._color[e][t]=r},e.prototype.getColor=function(e,t){return this._color[e]?this._color[e][t]:void 0},e}();t.ColorContrastCache=r},5680:(e,t,r)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.ColorManager=t.DEFAULT_ANSI_COLORS=void 0;var i=r(4774),n=r(7239),o=i.css.toColor(\"#ffffff\"),s=i.css.toColor(\"#000000\"),a=i.css.toColor(\"#ffffff\"),c=i.css.toColor(\"#000000\"),l={css:\"rgba(255, 255, 255, 0.3)\",rgba:4294967117};t.DEFAULT_ANSI_COLORS=Object.freeze(function(){for(var e=[i.css.toColor(\"#2e3436\"),i.css.toColor(\"#cc0000\"),i.css.toColor(\"#4e9a06\"),i.css.toColor(\"#c4a000\"),i.css.toColor(\"#3465a4\"),i.css.toColor(\"#75507b\"),i.css.toColor(\"#06989a\"),i.css.toColor(\"#d3d7cf\"),i.css.toColor(\"#555753\"),i.css.toColor(\"#ef2929\"),i.css.toColor(\"#8ae234\"),i.css.toColor(\"#fce94f\"),i.css.toColor(\"#729fcf\"),i.css.toColor(\"#ad7fa8\"),i.css.toColor(\"#34e2e2\"),i.css.toColor(\"#eeeeec\")],t=[0,95,135,175,215,255],r=0;r<216;r++){var n=t[r/36%6|0],o=t[r/6%6|0],s=t[r%6];e.push({css:i.channels.toCss(n,o,s),rgba:i.channels.toRgba(n,o,s)})}for(r=0;r<24;r++){var a=8+10*r;e.push({css:i.channels.toCss(a,a,a),rgba:i.channels.toRgba(a,a,a)})}return e}());var h=function(){function e(e,r){this.allowTransparency=r;var h=e.createElement(\"canvas\");h.width=1,h.height=1;var u=h.getContext(\"2d\");if(!u)throw new Error(\"Could not get rendering context\");this._ctx=u,this._ctx.globalCompositeOperation=\"copy\",this._litmusColor=this._ctx.createLinearGradient(0,0,1,1),this._contrastCache=new n.ColorContrastCache,this.colors={foreground:o,background:s,cursor:a,cursorAccent:c,selectionTransparent:l,selectionOpaque:i.color.blend(s,l),ansi:t.DEFAULT_ANSI_COLORS.slice(),contrastCache:this._contrastCache}}return e.prototype.onOptionsChange=function(e){\"minimumContrastRatio\"===e&&this._contrastCache.clear()},e.prototype.setTheme=function(e){void 0===e&&(e={}),this.colors.foreground=this._parseColor(e.foreground,o),this.colors.background=this._parseColor(e.background,s),this.colors.cursor=this._parseColor(e.cursor,a,!0),this.colors.cursorAccent=this._parseColor(e.cursorAccent,c,!0),this.colors.selectionTransparent=this._parseColor(e.selection,l,!0),this.colors.selectionOpaque=i.color.blend(this.colors.background,this.colors.selectionTransparent),i.color.isOpaque(this.colors.selectionTransparent)&&(this.colors.selectionTransparent=i.color.opacity(this.colors.selectionTransparent,.3)),this.colors.ansi[0]=this._parseColor(e.black,t.DEFAULT_ANSI_COLORS[0]),this.colors.ansi[1]=this._parseColor(e.red,t.DEFAULT_ANSI_COLORS[1]),this.colors.ansi[2]=this._parseColor(e.green,t.DEFAULT_ANSI_COLORS[2]),this.colors.ansi[3]=this._parseColor(e.yellow,t.DEFAULT_ANSI_COLORS[3]),this.colors.ansi[4]=this._parseColor(e.blue,t.DEFAULT_ANSI_COLORS[4]),this.colors.ansi[5]=this._parseColor(e.magenta,t.DEFAULT_ANSI_COLORS[5]),this.colors.ansi[6]=this._parseColor(e.cyan,t.DEFAULT_ANSI_COLORS[6]),this.colors.ansi[7]=this._parseColor(e.white,t.DEFAULT_ANSI_COLORS[7]),this.colors.ansi[8]=this._parseColor(e.brightBlack,t.DEFAULT_ANSI_COLORS[8]),this.colors.ansi[9]=this._parseColor(e.brightRed,t.DEFAULT_ANSI_COLORS[9]),this.colors.ansi[10]=this._parseColor(e.brightGreen,t.DEFAULT_ANSI_COLORS[10]),this.colors.ansi[11]=this._parseColor(e.brightYellow,t.DEFAULT_ANSI_COLORS[11]),this.colors.ansi[12]=this._parseColor(e.brightBlue,t.DEFAULT_ANSI_COLORS[12]),this.colors.ansi[13]=this._parseColor(e.brightMagenta,t.DEFAULT_ANSI_COLORS[13]),this.colors.ansi[14]=this._parseColor(e.brightCyan,t.DEFAULT_ANSI_COLORS[14]),this.colors.ansi[15]=this._parseColor(e.brightWhite,t.DEFAULT_ANSI_COLORS[15]),this._contrastCache.clear()},e.prototype._parseColor=function(e,t,r){if(void 0===r&&(r=this.allowTransparency),void 0===e)return t;if(this._ctx.fillStyle=this._litmusColor,this._ctx.fillStyle=e,\"string\"!=typeof this._ctx.fillStyle)return console.warn(\"Color: \"+e+\" is invalid using fallback \"+t.css),t;this._ctx.fillRect(0,0,1,1);var n=this._ctx.getImageData(0,0,1,1).data;if(255!==n[3]){if(!r)return console.warn(\"Color: \"+e+\" is using transparency, but allowTransparency is false. Using fallback \"+t.css+\".\"),t;var o=this._ctx.fillStyle.substring(5,this._ctx.fillStyle.length-1).split(\",\").map((function(e){return Number(e)})),s=o[0],a=o[1],c=o[2],l=o[3],h=Math.round(255*l);return{rgba:i.channels.toRgba(s,a,c,h),css:e}}return{css:this._ctx.fillStyle,rgba:i.channels.toRgba(n[0],n[1],n[2],n[3])}},e}();t.ColorManager=h},9631:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.removeElementFromParent=void 0,t.removeElementFromParent=function(){for(var e,t=[],r=0;r{Object.defineProperty(t,\"__esModule\",{value:!0}),t.addDisposableDomListener=void 0,t.addDisposableDomListener=function(e,t,r,i){e.addEventListener(t,r,i);var n=!1;return{dispose:function(){n||(n=!0,e.removeEventListener(t,r,i))}}}},3551:function(e,t,r){var i=this&&this.__decorate||function(e,t,r,i){var n,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},n=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.MouseZone=t.Linkifier=void 0;var o=r(8460),s=r(2585),a=function(){function e(e,t,r){this._bufferService=e,this._logService=t,this._unicodeService=r,this._linkMatchers=[],this._nextLinkMatcherId=0,this._onShowLinkUnderline=new o.EventEmitter,this._onHideLinkUnderline=new o.EventEmitter,this._onLinkTooltip=new o.EventEmitter,this._rowsToLinkify={start:void 0,end:void 0}}return Object.defineProperty(e.prototype,\"onShowLinkUnderline\",{get:function(){return this._onShowLinkUnderline.event},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"onHideLinkUnderline\",{get:function(){return this._onHideLinkUnderline.event},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"onLinkTooltip\",{get:function(){return this._onLinkTooltip.event},enumerable:!1,configurable:!0}),e.prototype.attachToDom=function(e,t){this._element=e,this._mouseZoneManager=t},e.prototype.linkifyRows=function(t,r){var i=this;this._mouseZoneManager&&(void 0===this._rowsToLinkify.start||void 0===this._rowsToLinkify.end?(this._rowsToLinkify.start=t,this._rowsToLinkify.end=r):(this._rowsToLinkify.start=Math.min(this._rowsToLinkify.start,t),this._rowsToLinkify.end=Math.max(this._rowsToLinkify.end,r)),this._mouseZoneManager.clearAll(t,r),this._rowsTimeoutId&&clearTimeout(this._rowsTimeoutId),this._rowsTimeoutId=setTimeout((function(){return i._linkifyRows()}),e._timeBeforeLatency))},e.prototype._linkifyRows=function(){this._rowsTimeoutId=void 0;var e=this._bufferService.buffer;if(void 0!==this._rowsToLinkify.start&&void 0!==this._rowsToLinkify.end){var t=e.ydisp+this._rowsToLinkify.start;if(!(t>=e.lines.length)){for(var r=e.ydisp+Math.min(this._rowsToLinkify.end,this._bufferService.rows)+1,i=Math.ceil(2e3/this._bufferService.cols),n=this._bufferService.buffer.iterator(!1,t,r,i,i);n.hasNext();)for(var o=n.next(),s=0;s=0;t--)if(e.priority<=this._linkMatchers[t].priority)return void this._linkMatchers.splice(t+1,0,e);this._linkMatchers.splice(0,0,e)}else this._linkMatchers.push(e)},e.prototype.deregisterLinkMatcher=function(e){for(var t=0;t>9&511:void 0;r.validationCallback?r.validationCallback(a,(function(e){n._rowsTimeoutId||e&&n._addLink(l[1],l[0]-n._bufferService.buffer.ydisp,a,r,f)})):c._addLink(l[1],l[0]-c._bufferService.buffer.ydisp,a,r,f)},c=this;null!==(i=o.exec(t))&&\"break\"!==a(););},e.prototype._addLink=function(e,t,r,i,n){var o=this;if(this._mouseZoneManager&&this._element){var s=this._unicodeService.getStringCellWidth(r),a=e%this._bufferService.cols,l=t+Math.floor(e/this._bufferService.cols),h=(a+s)%this._bufferService.cols,u=l+Math.floor((a+s)/this._bufferService.cols);0===h&&(h=this._bufferService.cols,u--),this._mouseZoneManager.add(new c(a+1,l+1,h+1,u+1,(function(e){if(i.handler)return i.handler(e,r);var t=window.open();t?(t.opener=null,t.location.href=r):console.warn(\"Opening link blocked as opener could not be cleared\")}),(function(){o._onShowLinkUnderline.fire(o._createLinkHoverEvent(a,l,h,u,n)),o._element.classList.add(\"xterm-cursor-pointer\")}),(function(e){o._onLinkTooltip.fire(o._createLinkHoverEvent(a,l,h,u,n)),i.hoverTooltipCallback&&i.hoverTooltipCallback(e,r,{start:{x:a,y:l},end:{x:h,y:u}})}),(function(){o._onHideLinkUnderline.fire(o._createLinkHoverEvent(a,l,h,u,n)),o._element.classList.remove(\"xterm-cursor-pointer\"),i.hoverLeaveCallback&&i.hoverLeaveCallback()}),(function(e){return!i.willLinkActivate||i.willLinkActivate(e,r)})))}},e.prototype._createLinkHoverEvent=function(e,t,r,i,n){return{x1:e,y1:t,x2:r,y2:i,cols:this._bufferService.cols,fg:n}},e._timeBeforeLatency=200,e=i([n(0,s.IBufferService),n(1,s.ILogService),n(2,s.IUnicodeService)],e)}();t.Linkifier=a;var c=function(e,t,r,i,n,o,s,a,c){this.x1=e,this.y1=t,this.x2=r,this.y2=i,this.clickCallback=n,this.hoverCallback=o,this.tooltipCallback=s,this.leaveCallback=a,this.willLinkActivate=c};t.MouseZone=c},6465:function(e,t,r){var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),o=this&&this.__decorate||function(e,t,r,i){var n,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},s=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.Linkifier2=void 0;var a=r(2585),c=r(8460),l=r(844),h=r(3656),u=function(e){function t(t){var r=e.call(this)||this;return r._bufferService=t,r._linkProviders=[],r._linkCacheDisposables=[],r._isMouseOut=!0,r._activeLine=-1,r._onShowLinkUnderline=r.register(new c.EventEmitter),r._onHideLinkUnderline=r.register(new c.EventEmitter),r.register(l.getDisposeArrayDisposable(r._linkCacheDisposables)),r}return n(t,e),Object.defineProperty(t.prototype,\"currentLink\",{get:function(){return this._currentLink},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"onShowLinkUnderline\",{get:function(){return this._onShowLinkUnderline.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"onHideLinkUnderline\",{get:function(){return this._onHideLinkUnderline.event},enumerable:!1,configurable:!0}),t.prototype.registerLinkProvider=function(e){var t=this;return this._linkProviders.push(e),{dispose:function(){var r=t._linkProviders.indexOf(e);-1!==r&&t._linkProviders.splice(r,1)}}},t.prototype.attachToDom=function(e,t,r){var i=this;this._element=e,this._mouseService=t,this._renderService=r,this.register(h.addDisposableDomListener(this._element,\"mouseleave\",(function(){i._isMouseOut=!0,i._clearCurrentLink()}))),this.register(h.addDisposableDomListener(this._element,\"mousemove\",this._onMouseMove.bind(this))),this.register(h.addDisposableDomListener(this._element,\"click\",this._onClick.bind(this)))},t.prototype._onMouseMove=function(e){if(this._lastMouseEvent=e,this._element&&this._mouseService){var t=this._positionFromMouseEvent(e,this._element,this._mouseService);if(t){this._isMouseOut=!1;for(var r=e.composedPath(),i=0;ie?this._bufferService.cols:s.link.range.end.x,l=a;l<=c;l++){if(r.has(l)){n.splice(o--,1);break}r.add(l)}}},t.prototype._checkLinkProviderResult=function(e,t,r){var i,n=this;if(!this._activeProviderReplies)return r;for(var o=this._activeProviderReplies.get(e),s=!1,a=0;a=e&&this._currentLink.link.range.end.y<=t)&&(this._linkLeave(this._element,this._currentLink.link,this._lastMouseEvent),this._currentLink=void 0,l.disposeArray(this._linkCacheDisposables))},t.prototype._handleNewLink=function(e){var t=this;if(this._element&&this._lastMouseEvent&&this._mouseService){var r=this._positionFromMouseEvent(this._lastMouseEvent,this._element,this._mouseService);r&&this._linkAtPosition(e.link,r)&&(this._currentLink=e,this._currentLink.state={decorations:{underline:void 0===e.link.decorations||e.link.decorations.underline,pointerCursor:void 0===e.link.decorations||e.link.decorations.pointerCursor},isHovered:!0},this._linkHover(this._element,e.link,this._lastMouseEvent),e.link.decorations={},Object.defineProperties(e.link.decorations,{pointerCursor:{get:function(){var e,r;return null===(r=null===(e=t._currentLink)||void 0===e?void 0:e.state)||void 0===r?void 0:r.decorations.pointerCursor},set:function(e){var r,i;(null===(r=t._currentLink)||void 0===r?void 0:r.state)&&t._currentLink.state.decorations.pointerCursor!==e&&(t._currentLink.state.decorations.pointerCursor=e,t._currentLink.state.isHovered&&(null===(i=t._element)||void 0===i||i.classList.toggle(\"xterm-cursor-pointer\",e)))}},underline:{get:function(){var e,r;return null===(r=null===(e=t._currentLink)||void 0===e?void 0:e.state)||void 0===r?void 0:r.decorations.underline},set:function(r){var i,n,o;(null===(i=t._currentLink)||void 0===i?void 0:i.state)&&(null===(o=null===(n=t._currentLink)||void 0===n?void 0:n.state)||void 0===o?void 0:o.decorations.underline)!==r&&(t._currentLink.state.decorations.underline=r,t._currentLink.state.isHovered&&t._fireUnderlineEvent(e.link,r))}}}),this._renderService&&this._linkCacheDisposables.push(this._renderService.onRenderedBufferChange((function(e){var r=0===e.start?0:e.start+1+t._bufferService.buffer.ydisp;t._clearCurrentLink(r,e.end+1+t._bufferService.buffer.ydisp)}))))}},t.prototype._linkHover=function(e,t,r){var i;(null===(i=this._currentLink)||void 0===i?void 0:i.state)&&(this._currentLink.state.isHovered=!0,this._currentLink.state.decorations.underline&&this._fireUnderlineEvent(t,!0),this._currentLink.state.decorations.pointerCursor&&e.classList.add(\"xterm-cursor-pointer\")),t.hover&&t.hover(r,t.text)},t.prototype._fireUnderlineEvent=function(e,t){var r=e.range,i=this._bufferService.buffer.ydisp,n=this._createLinkUnderlineEvent(r.start.x-1,r.start.y-i-1,r.end.x,r.end.y-i-1,void 0);(t?this._onShowLinkUnderline:this._onHideLinkUnderline).fire(n)},t.prototype._linkLeave=function(e,t,r){var i;(null===(i=this._currentLink)||void 0===i?void 0:i.state)&&(this._currentLink.state.isHovered=!1,this._currentLink.state.decorations.underline&&this._fireUnderlineEvent(t,!1),this._currentLink.state.decorations.pointerCursor&&e.classList.remove(\"xterm-cursor-pointer\")),t.leave&&t.leave(r,t.text)},t.prototype._linkAtPosition=function(e,t){var r=e.range.start.y===e.range.end.y,i=e.range.start.yt.y;return(r&&e.range.start.x<=t.x&&e.range.end.x>=t.x||i&&e.range.end.x>=t.x||n&&e.range.start.x<=t.x||i&&n)&&e.range.start.y<=t.y&&e.range.end.y>=t.y},t.prototype._positionFromMouseEvent=function(e,t,r){var i=r.getCoords(e,t,this._bufferService.cols,this._bufferService.rows);if(i)return{x:i[0],y:i[1]+this._bufferService.buffer.ydisp}},t.prototype._createLinkUnderlineEvent=function(e,t,r,i,n){return{x1:e,y1:t,x2:r,y2:i,cols:this._bufferService.cols,fg:n}},o([s(0,a.IBufferService)],t)}(l.Disposable);t.Linkifier2=u},9042:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.tooMuchOutput=t.promptLabel=void 0,t.promptLabel=\"Terminal input\",t.tooMuchOutput=\"Too much output to announce, navigate to rows manually to read\"},6954:function(e,t,r){var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),o=this&&this.__decorate||function(e,t,r,i){var n,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},s=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.MouseZoneManager=void 0;var a=r(844),c=r(3656),l=r(4725),h=r(2585),u=function(e){function t(t,r,i,n,o,s){var a=e.call(this)||this;return a._element=t,a._screenElement=r,a._bufferService=i,a._mouseService=n,a._selectionService=o,a._optionsService=s,a._zones=[],a._areZonesActive=!1,a._lastHoverCoords=[void 0,void 0],a._initialSelectionLength=0,a.register(c.addDisposableDomListener(a._element,\"mousedown\",(function(e){return a._onMouseDown(e)}))),a._mouseMoveListener=function(e){return a._onMouseMove(e)},a._mouseLeaveListener=function(e){return a._onMouseLeave(e)},a._clickListener=function(e){return a._onClick(e)},a}return n(t,e),t.prototype.dispose=function(){e.prototype.dispose.call(this),this._deactivate()},t.prototype.add=function(e){this._zones.push(e),1===this._zones.length&&this._activate()},t.prototype.clearAll=function(e,t){if(0!==this._zones.length){e&&t||(e=0,t=this._bufferService.rows-1);for(var r=0;re&&i.y1<=t+1||i.y2>e&&i.y2<=t+1||i.y1t+1)&&(this._currentZone&&this._currentZone===i&&(this._currentZone.leaveCallback(),this._currentZone=void 0),this._zones.splice(r--,1))}0===this._zones.length&&this._deactivate()}},t.prototype._activate=function(){this._areZonesActive||(this._areZonesActive=!0,this._element.addEventListener(\"mousemove\",this._mouseMoveListener),this._element.addEventListener(\"mouseleave\",this._mouseLeaveListener),this._element.addEventListener(\"click\",this._clickListener))},t.prototype._deactivate=function(){this._areZonesActive&&(this._areZonesActive=!1,this._element.removeEventListener(\"mousemove\",this._mouseMoveListener),this._element.removeEventListener(\"mouseleave\",this._mouseLeaveListener),this._element.removeEventListener(\"click\",this._clickListener))},t.prototype._onMouseMove=function(e){this._lastHoverCoords[0]===e.pageX&&this._lastHoverCoords[1]===e.pageY||(this._onHover(e),this._lastHoverCoords=[e.pageX,e.pageY])},t.prototype._onHover=function(e){var t=this,r=this._findZoneEventAt(e);r!==this._currentZone&&(this._currentZone&&(this._currentZone.leaveCallback(),this._currentZone=void 0,this._tooltipTimeout&&clearTimeout(this._tooltipTimeout)),r&&(this._currentZone=r,r.hoverCallback&&r.hoverCallback(e),this._tooltipTimeout=window.setTimeout((function(){return t._onTooltip(e)}),this._optionsService.options.linkTooltipHoverDuration)))},t.prototype._onTooltip=function(e){this._tooltipTimeout=void 0;var t=this._findZoneEventAt(e);null==t||t.tooltipCallback(e)},t.prototype._onMouseDown=function(e){if(this._initialSelectionLength=this._getSelectionLength(),this._areZonesActive){var t=this._findZoneEventAt(e);(null==t?void 0:t.willLinkActivate(e))&&(e.preventDefault(),e.stopImmediatePropagation())}},t.prototype._onMouseLeave=function(e){this._currentZone&&(this._currentZone.leaveCallback(),this._currentZone=void 0,this._tooltipTimeout&&clearTimeout(this._tooltipTimeout))},t.prototype._onClick=function(e){var t=this._findZoneEventAt(e),r=this._getSelectionLength();t&&r===this._initialSelectionLength&&(t.clickCallback(e),e.preventDefault(),e.stopImmediatePropagation())},t.prototype._getSelectionLength=function(){var e=this._selectionService.selectionText;return e?e.length:0},t.prototype._findZoneEventAt=function(e){var t=this._mouseService.getCoords(e,this._screenElement,this._bufferService.cols,this._bufferService.rows);if(t)for(var r=t[0],i=t[1],n=0;n=o.x1&&r=o.x1||i===o.y2&&ro.y1&&i{Object.defineProperty(t,\"__esModule\",{value:!0}),t.RenderDebouncer=void 0;var r=function(){function e(e){this._renderCallback=e}return e.prototype.dispose=function(){this._animationFrame&&(window.cancelAnimationFrame(this._animationFrame),this._animationFrame=void 0)},e.prototype.refresh=function(e,t,r){var i=this;this._rowCount=r,e=void 0!==e?e:0,t=void 0!==t?t:this._rowCount-1,this._rowStart=void 0!==this._rowStart?Math.min(this._rowStart,e):e,this._rowEnd=void 0!==this._rowEnd?Math.max(this._rowEnd,t):t,this._animationFrame||(this._animationFrame=window.requestAnimationFrame((function(){return i._innerRefresh()})))},e.prototype._innerRefresh=function(){if(void 0!==this._rowStart&&void 0!==this._rowEnd&&void 0!==this._rowCount){var e=Math.max(this._rowStart,0),t=Math.min(this._rowEnd,this._rowCount-1);this._rowStart=void 0,this._rowEnd=void 0,this._animationFrame=void 0,this._renderCallback(e,t)}},e}();t.RenderDebouncer=r},5596:function(e,t,r){var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});Object.defineProperty(t,\"__esModule\",{value:!0}),t.ScreenDprMonitor=void 0;var o=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t._currentDevicePixelRatio=window.devicePixelRatio,t}return n(t,e),t.prototype.setListener=function(e){var t=this;this._listener&&this.clearListener(),this._listener=e,this._outerListener=function(){t._listener&&(t._listener(window.devicePixelRatio,t._currentDevicePixelRatio),t._updateDpr())},this._updateDpr()},t.prototype.dispose=function(){e.prototype.dispose.call(this),this.clearListener()},t.prototype._updateDpr=function(){var e;this._outerListener&&(null===(e=this._resolutionMediaMatchList)||void 0===e||e.removeListener(this._outerListener),this._currentDevicePixelRatio=window.devicePixelRatio,this._resolutionMediaMatchList=window.matchMedia(\"screen and (resolution: \"+window.devicePixelRatio+\"dppx)\"),this._resolutionMediaMatchList.addListener(this._outerListener))},t.prototype.clearListener=function(){this._resolutionMediaMatchList&&this._listener&&this._outerListener&&(this._resolutionMediaMatchList.removeListener(this._outerListener),this._resolutionMediaMatchList=void 0,this._listener=void 0,this._outerListener=void 0)},t}(r(844).Disposable);t.ScreenDprMonitor=o},3236:function(e,t,r){var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});Object.defineProperty(t,\"__esModule\",{value:!0}),t.Terminal=void 0;var o=r(2950),s=r(1680),a=r(3614),c=r(2584),l=r(5435),h=r(3525),u=r(3551),f=r(9312),_=r(6114),d=r(3656),p=r(9042),v=r(357),g=r(6954),y=r(4567),b=r(1296),S=r(7399),m=r(8460),C=r(8437),w=r(5680),E=r(3230),L=r(4725),k=r(428),A=r(8934),R=r(6465),x=r(5114),T=r(8969),O=r(4774),D=r(4269),P=\"undefined\"!=typeof window?window.document:null,M=function(e){function t(t){void 0===t&&(t={});var r=e.call(this,t)||this;return r.browser=_,r._keyDownHandled=!1,r._onCursorMove=new m.EventEmitter,r._onKey=new m.EventEmitter,r._onRender=new m.EventEmitter,r._onSelectionChange=new m.EventEmitter,r._onTitleChange=new m.EventEmitter,r._onBell=new m.EventEmitter,r._onFocus=new m.EventEmitter,r._onBlur=new m.EventEmitter,r._onA11yCharEmitter=new m.EventEmitter,r._onA11yTabEmitter=new m.EventEmitter,r._setup(),r.linkifier=r._instantiationService.createInstance(u.Linkifier),r.linkifier2=r.register(r._instantiationService.createInstance(R.Linkifier2)),r.register(r._inputHandler.onRequestBell((function(){return r.bell()}))),r.register(r._inputHandler.onRequestRefreshRows((function(e,t){return r.refresh(e,t)}))),r.register(r._inputHandler.onRequestReset((function(){return r.reset()}))),r.register(r._inputHandler.onRequestWindowsOptionsReport((function(e){return r._reportWindowsOptions(e)}))),r.register(r._inputHandler.onAnsiColorChange((function(e){return r._changeAnsiColor(e)}))),r.register(m.forwardEvent(r._inputHandler.onCursorMove,r._onCursorMove)),r.register(m.forwardEvent(r._inputHandler.onTitleChange,r._onTitleChange)),r.register(m.forwardEvent(r._inputHandler.onA11yChar,r._onA11yCharEmitter)),r.register(m.forwardEvent(r._inputHandler.onA11yTab,r._onA11yTabEmitter)),r.register(r._bufferService.onResize((function(e){return r._afterResize(e.cols,e.rows)}))),r}return n(t,e),Object.defineProperty(t.prototype,\"options\",{get:function(){return this.optionsService.options},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"onCursorMove\",{get:function(){return this._onCursorMove.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"onKey\",{get:function(){return this._onKey.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"onRender\",{get:function(){return this._onRender.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"onSelectionChange\",{get:function(){return this._onSelectionChange.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"onTitleChange\",{get:function(){return this._onTitleChange.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"onBell\",{get:function(){return this._onBell.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"onFocus\",{get:function(){return this._onFocus.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"onBlur\",{get:function(){return this._onBlur.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"onA11yChar\",{get:function(){return this._onA11yCharEmitter.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"onA11yTab\",{get:function(){return this._onA11yTabEmitter.event},enumerable:!1,configurable:!0}),t.prototype._changeAnsiColor=function(e){var t,r;if(this._colorManager){for(var i=0,n=e.colors;i4)&&t._coreMouseService.triggerMouseEvent({col:n.x-33,row:n.y-33,button:r,action:i,ctrl:e.ctrlKey,alt:e.altKey,shift:e.shiftKey})}var n={mouseup:null,wheel:null,mousedrag:null,mousemove:null},o=function(t){return i(t),t.buttons||(e._document.removeEventListener(\"mouseup\",n.mouseup),n.mousedrag&&e._document.removeEventListener(\"mousemove\",n.mousedrag)),e.cancel(t)},s=function(t){return i(t),t.preventDefault(),e.cancel(t)},a=function(e){e.buttons&&i(e)},l=function(e){e.buttons||i(e)};this.register(this._coreMouseService.onProtocolChange((function(t){t?(\"debug\"===e.optionsService.options.logLevel&&e._logService.debug(\"Binding to mouse events:\",e._coreMouseService.explainEvents(t)),e.element.classList.add(\"enable-mouse-events\"),e._selectionService.disable()):(e._logService.debug(\"Unbinding from mouse events.\"),e.element.classList.remove(\"enable-mouse-events\"),e._selectionService.enable()),8&t?n.mousemove||(r.addEventListener(\"mousemove\",l),n.mousemove=l):(r.removeEventListener(\"mousemove\",n.mousemove),n.mousemove=null),16&t?n.wheel||(r.addEventListener(\"wheel\",s,{passive:!1}),n.wheel=s):(r.removeEventListener(\"wheel\",n.wheel),n.wheel=null),2&t?n.mouseup||(n.mouseup=o):(e._document.removeEventListener(\"mouseup\",n.mouseup),n.mouseup=null),4&t?n.mousedrag||(n.mousedrag=a):(e._document.removeEventListener(\"mousemove\",n.mousedrag),n.mousedrag=null)}))),this._coreMouseService.activeProtocol=this._coreMouseService.activeProtocol,this.register(d.addDisposableDomListener(r,\"mousedown\",(function(t){if(t.preventDefault(),e.focus(),e._coreMouseService.areMouseEventsActive&&!e._selectionService.shouldForceSelection(t))return i(t),n.mouseup&&e._document.addEventListener(\"mouseup\",n.mouseup),n.mousedrag&&e._document.addEventListener(\"mousemove\",n.mousedrag),e.cancel(t)}))),this.register(d.addDisposableDomListener(r,\"wheel\",(function(t){if(n.wheel);else if(!e.buffer.hasScrollback){var r=e.viewport.getLinesScrolled(t);if(0===r)return;for(var i=c.C0.ESC+(e._coreService.decPrivateModes.applicationCursorKeys?\"O\":\"[\")+(t.deltaY<0?\"A\":\"B\"),o=\"\",s=0;s47)},t.prototype._keyUp=function(e){this._customKeyEventHandler&&!1===this._customKeyEventHandler(e)||(function(e){return 16===e.keyCode||17===e.keyCode||18===e.keyCode}(e)||this.focus(),this.updateCursorStyle(e))},t.prototype._keyPress=function(e){var t;if(this._keyDownHandled)return!1;if(this._customKeyEventHandler&&!1===this._customKeyEventHandler(e))return!1;if(this.cancel(e),e.charCode)t=e.charCode;else if(null===e.which||void 0===e.which)t=e.keyCode;else{if(0===e.which||0===e.charCode)return!1;t=e.which}return!(!t||(e.altKey||e.ctrlKey||e.metaKey)&&!this._isThirdLevelShift(this.browser,e)||(t=String.fromCharCode(t),this._onKey.fire({key:t,domEvent:e}),this._showCursor(),this._coreService.triggerDataEvent(t,!0),0))},t.prototype.bell=function(){var e;this._soundBell()&&(null===(e=this._soundService)||void 0===e||e.playBellSound()),this._onBell.fire()},t.prototype.resize=function(t,r){t!==this.cols||r!==this.rows?e.prototype.resize.call(this,t,r):this._charSizeService&&!this._charSizeService.hasValidSize&&this._charSizeService.measure()},t.prototype._afterResize=function(e,t){var r,i;null===(r=this._charSizeService)||void 0===r||r.measure(),null===(i=this.viewport)||void 0===i||i.syncScrollArea(!0)},t.prototype.clear=function(){if(0!==this.buffer.ybase||0!==this.buffer.y){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 e=1;e=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},s=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.Viewport=void 0;var a=r(844),c=r(3656),l=r(4725),h=r(2585),u=function(e){function t(t,r,i,n,o,s,a){var l=e.call(this)||this;return l._scrollLines=t,l._viewportElement=r,l._scrollArea=i,l._bufferService=n,l._optionsService=o,l._charSizeService=s,l._renderService=a,l.scrollBarWidth=0,l._currentRowHeight=0,l._lastRecordedBufferLength=0,l._lastRecordedViewportHeight=0,l._lastRecordedBufferHeight=0,l._lastTouchY=0,l._lastScrollTop=0,l._wheelPartialScroll=0,l._refreshAnimationFrame=null,l._ignoreNextScrollEvent=!1,l.scrollBarWidth=l._viewportElement.offsetWidth-l._scrollArea.offsetWidth||15,l.register(c.addDisposableDomListener(l._viewportElement,\"scroll\",l._onScroll.bind(l))),setTimeout((function(){return l.syncScrollArea()}),0),l}return n(t,e),t.prototype.onThemeChange=function(e){this._viewportElement.style.backgroundColor=e.background.css},t.prototype._refresh=function(e){var t=this;if(e)return this._innerRefresh(),void(null!==this._refreshAnimationFrame&&cancelAnimationFrame(this._refreshAnimationFrame));null===this._refreshAnimationFrame&&(this._refreshAnimationFrame=requestAnimationFrame((function(){return t._innerRefresh()})))},t.prototype._innerRefresh=function(){if(this._charSizeService.height>0){this._currentRowHeight=this._renderService.dimensions.scaledCellHeight/window.devicePixelRatio,this._lastRecordedViewportHeight=this._viewportElement.offsetHeight;var e=Math.round(this._currentRowHeight*this._lastRecordedBufferLength)+(this._lastRecordedViewportHeight-this._renderService.dimensions.canvasHeight);this._lastRecordedBufferHeight!==e&&(this._lastRecordedBufferHeight=e,this._scrollArea.style.height=this._lastRecordedBufferHeight+\"px\")}var t=this._bufferService.buffer.ydisp*this._currentRowHeight;this._viewportElement.scrollTop!==t&&(this._ignoreNextScrollEvent=!0,this._viewportElement.scrollTop=t),this._refreshAnimationFrame=null},t.prototype.syncScrollArea=function(e){if(void 0===e&&(e=!1),this._lastRecordedBufferLength!==this._bufferService.buffer.lines.length)return this._lastRecordedBufferLength=this._bufferService.buffer.lines.length,void this._refresh(e);if(this._lastRecordedViewportHeight===this._renderService.dimensions.canvasHeight){var t=this._bufferService.buffer.ydisp*this._currentRowHeight;this._lastScrollTop===t&&this._lastScrollTop===this._viewportElement.scrollTop&&this._renderService.dimensions.scaledCellHeight/window.devicePixelRatio===this._currentRowHeight||this._refresh(e)}else this._refresh(e)},t.prototype._onScroll=function(e){if(this._lastScrollTop=this._viewportElement.scrollTop,this._viewportElement.offsetParent){if(this._ignoreNextScrollEvent)return this._ignoreNextScrollEvent=!1,void this._scrollLines(0);var t=Math.round(this._lastScrollTop/this._currentRowHeight)-this._bufferService.buffer.ydisp;this._scrollLines(t)}},t.prototype._bubbleScroll=function(e,t){var r=this._viewportElement.scrollTop+this._lastRecordedViewportHeight;return!(t<0&&0!==this._viewportElement.scrollTop||t>0&&r0?1:-1),this._wheelPartialScroll%=1):e.deltaMode===WheelEvent.DOM_DELTA_PAGE&&(t*=this._bufferService.rows),t},t.prototype._applyScrollModifier=function(e,t){var r=this._optionsService.options.fastScrollModifier;return\"alt\"===r&&t.altKey||\"ctrl\"===r&&t.ctrlKey||\"shift\"===r&&t.shiftKey?e*this._optionsService.options.fastScrollSensitivity*this._optionsService.options.scrollSensitivity:e*this._optionsService.options.scrollSensitivity},t.prototype.onTouchStart=function(e){this._lastTouchY=e.touches[0].pageY},t.prototype.onTouchMove=function(e){var t=this._lastTouchY-e.touches[0].pageY;return this._lastTouchY=e.touches[0].pageY,0!==t&&(this._viewportElement.scrollTop+=t,this._bubbleScroll(e,t))},o([s(3,h.IBufferService),s(4,h.IOptionsService),s(5,l.ICharSizeService),s(6,l.IRenderService)],t)}(a.Disposable);t.Viewport=u},2950:function(e,t,r){var i=this&&this.__decorate||function(e,t,r,i){var n,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},n=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.CompositionHelper=void 0;var o=r(4725),s=r(2585),a=function(){function e(e,t,r,i,n,o){this._textarea=e,this._compositionView=t,this._bufferService=r,this._optionsService=i,this._coreService=n,this._renderService=o,this._isComposing=!1,this._isSendingComposition=!1,this._compositionPosition={start:0,end:0},this._dataAlreadySent=\"\"}return Object.defineProperty(e.prototype,\"isComposing\",{get:function(){return this._isComposing},enumerable:!1,configurable:!0}),e.prototype.compositionstart=function(){this._isComposing=!0,this._compositionPosition.start=this._textarea.value.length,this._compositionView.textContent=\"\",this._dataAlreadySent=\"\",this._compositionView.classList.add(\"active\")},e.prototype.compositionupdate=function(e){var t=this;this._compositionView.textContent=e.data,this.updateCompositionElements(),setTimeout((function(){t._compositionPosition.end=t._textarea.value.length}),0)},e.prototype.compositionend=function(){this._finalizeComposition(!0)},e.prototype.keydown=function(e){if(this._isComposing||this._isSendingComposition){if(229===e.keyCode)return!1;if(16===e.keyCode||17===e.keyCode||18===e.keyCode)return!1;this._finalizeComposition(!1)}return 229!==e.keyCode||(this._handleAnyTextareaChanges(),!1)},e.prototype._finalizeComposition=function(e){var t=this;if(this._compositionView.classList.remove(\"active\"),this._isComposing=!1,e){var r={start:this._compositionPosition.start,end:this._compositionPosition.end};this._isSendingComposition=!0,setTimeout((function(){if(t._isSendingComposition){t._isSendingComposition=!1;var e;r.start+=t._dataAlreadySent.length,(e=t._isComposing?t._textarea.value.substring(r.start,r.end):t._textarea.value.substring(r.start)).length>0&&t._coreService.triggerDataEvent(e,!0)}}),0)}else{this._isSendingComposition=!1;var i=this._textarea.value.substring(this._compositionPosition.start,this._compositionPosition.end);this._coreService.triggerDataEvent(i,!0)}},e.prototype._handleAnyTextareaChanges=function(){var e=this,t=this._textarea.value;setTimeout((function(){if(!e._isComposing){var r=e._textarea.value.replace(t,\"\");r.length>0&&(e._dataAlreadySent=r,e._coreService.triggerDataEvent(r,!0))}}),0)},e.prototype.updateCompositionElements=function(e){var t=this;if(this._isComposing){if(this._bufferService.buffer.isCursorInViewport){var r=Math.min(this._bufferService.buffer.x,this._bufferService.cols-1),i=this._renderService.dimensions.actualCellHeight,n=this._bufferService.buffer.y*this._renderService.dimensions.actualCellHeight,o=r*this._renderService.dimensions.actualCellWidth;this._compositionView.style.left=o+\"px\",this._compositionView.style.top=n+\"px\",this._compositionView.style.height=i+\"px\",this._compositionView.style.lineHeight=i+\"px\",this._compositionView.style.fontFamily=this._optionsService.options.fontFamily,this._compositionView.style.fontSize=this._optionsService.options.fontSize+\"px\";var s=this._compositionView.getBoundingClientRect();this._textarea.style.left=o+\"px\",this._textarea.style.top=n+\"px\",this._textarea.style.width=Math.max(s.width,1)+\"px\",this._textarea.style.height=Math.max(s.height,1)+\"px\",this._textarea.style.lineHeight=s.height+\"px\"}e||setTimeout((function(){return t.updateCompositionElements(!0)}),0)}},i([n(2,s.IBufferService),n(3,s.IOptionsService),n(4,s.ICoreService),n(5,o.IRenderService)],e)}();t.CompositionHelper=a},9806:(e,t)=>{function r(e,t){var r=t.getBoundingClientRect();return[e.clientX-r.left,e.clientY-r.top]}Object.defineProperty(t,\"__esModule\",{value:!0}),t.getRawByteCoords=t.getCoords=t.getCoordsRelativeToElement=void 0,t.getCoordsRelativeToElement=r,t.getCoords=function(e,t,i,n,o,s,a,c){if(o){var l=r(e,t);if(l)return l[0]=Math.ceil((l[0]+(c?s/2:0))/s),l[1]=Math.ceil(l[1]/a),l[0]=Math.min(Math.max(l[0],1),i+(c?1:0)),l[1]=Math.min(Math.max(l[1],1),n),l}},t.getRawByteCoords=function(e){if(e)return{x:e[0]+32,y:e[1]+32}}},9504:(e,t,r)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.moveToCellSequence=void 0;var i=r(2584);function n(e,t,r,i){var n=e-o(r,e),a=t-o(r,t);return l(Math.abs(n-a)-function(e,t,r){for(var i=0,n=e-o(r,e),a=t-o(r,t),c=0;c=0&&tt?\"A\":\"B\"}function a(e,t,r,i,n,o){for(var s=e,a=t,c=\"\";s!==r||a!==i;)s+=n?1:-1,n&&s>o.cols-1?(c+=o.buffer.translateBufferLineToString(a,!1,e,s),s=0,e=0,a++):!n&&s<0&&(c+=o.buffer.translateBufferLineToString(a,!1,0,e+1),e=s=o.cols-1,a--);return c+o.buffer.translateBufferLineToString(a,!1,e,s)}function c(e,t){var r=t?\"O\":\"[\";return i.C0.ESC+r+e}function l(e,t){e=Math.floor(e);for(var r=\"\",i=0;i0?i-o(s,i):t;var f=i,_=function(e,t,r,i,s,a){var c;return c=n(r,i,s,a).length>0?i-o(s,i):t,e=r&&ce?\"D\":\"C\",l(Math.abs(h-e),c(s,i));s=u>t?\"D\":\"C\";var f=Math.abs(u-t);return l(function(e,t){return t.cols-e}(u>t?e:h,r)+(f-1)*r.cols+1+((u>t?h:e)-1),c(s,i))}},244:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.AddonManager=void 0;var r=function(){function e(){this._addons=[]}return e.prototype.dispose=function(){for(var e=this._addons.length-1;e>=0;e--)this._addons[e].instance.dispose()},e.prototype.loadAddon=function(e,t){var r=this,i={instance:t,dispose:t.dispose,isDisposed:!1};this._addons.push(i),t.dispose=function(){return r._wrappedAddonDispose(i)},t.activate(e)},e.prototype._wrappedAddonDispose=function(e){if(!e.isDisposed){for(var t=-1,r=0;r{Object.defineProperty(t,\"__esModule\",{value:!0}),t.Terminal=void 0;var i=r(511),n=r(3236),o=r(9042),s=r(8460),a=r(244),c=function(){function e(e){this._core=new n.Terminal(e),this._addonManager=new a.AddonManager}return e.prototype._checkProposedApi=function(){if(!this._core.optionsService.options.allowProposedApi)throw new Error(\"You must set the allowProposedApi option to true to use proposed API\")},Object.defineProperty(e.prototype,\"onCursorMove\",{get:function(){return this._core.onCursorMove},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"onLineFeed\",{get:function(){return this._core.onLineFeed},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"onSelectionChange\",{get:function(){return this._core.onSelectionChange},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"onData\",{get:function(){return this._core.onData},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"onBinary\",{get:function(){return this._core.onBinary},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"onTitleChange\",{get:function(){return this._core.onTitleChange},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"onBell\",{get:function(){return this._core.onBell},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"onScroll\",{get:function(){return this._core.onScroll},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"onKey\",{get:function(){return this._core.onKey},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"onRender\",{get:function(){return this._core.onRender},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"onResize\",{get:function(){return this._core.onResize},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"element\",{get:function(){return this._core.element},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"parser\",{get:function(){return this._checkProposedApi(),this._parser||(this._parser=new f(this._core)),this._parser},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"unicode\",{get:function(){return this._checkProposedApi(),new _(this._core)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"textarea\",{get:function(){return this._core.textarea},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"rows\",{get:function(){return this._core.rows},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"cols\",{get:function(){return this._core.cols},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"buffer\",{get:function(){return this._checkProposedApi(),this._buffer||(this._buffer=new h(this._core)),this._buffer},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"markers\",{get:function(){return this._checkProposedApi(),this._core.markers},enumerable:!1,configurable:!0}),e.prototype.blur=function(){this._core.blur()},e.prototype.focus=function(){this._core.focus()},e.prototype.resize=function(e,t){this._verifyIntegers(e,t),this._core.resize(e,t)},e.prototype.open=function(e){this._core.open(e)},e.prototype.attachCustomKeyEventHandler=function(e){this._core.attachCustomKeyEventHandler(e)},e.prototype.registerLinkMatcher=function(e,t,r){return this._checkProposedApi(),this._core.registerLinkMatcher(e,t,r)},e.prototype.deregisterLinkMatcher=function(e){this._checkProposedApi(),this._core.deregisterLinkMatcher(e)},e.prototype.registerLinkProvider=function(e){return this._checkProposedApi(),this._core.registerLinkProvider(e)},e.prototype.registerCharacterJoiner=function(e){return this._checkProposedApi(),this._core.registerCharacterJoiner(e)},e.prototype.deregisterCharacterJoiner=function(e){this._checkProposedApi(),this._core.deregisterCharacterJoiner(e)},e.prototype.registerMarker=function(e){return this._checkProposedApi(),this._verifyIntegers(e),this._core.addMarker(e)},e.prototype.addMarker=function(e){return this.registerMarker(e)},e.prototype.hasSelection=function(){return this._core.hasSelection()},e.prototype.select=function(e,t,r){this._verifyIntegers(e,t,r),this._core.select(e,t,r)},e.prototype.getSelection=function(){return this._core.getSelection()},e.prototype.getSelectionPosition=function(){return this._core.getSelectionPosition()},e.prototype.clearSelection=function(){this._core.clearSelection()},e.prototype.selectAll=function(){this._core.selectAll()},e.prototype.selectLines=function(e,t){this._verifyIntegers(e,t),this._core.selectLines(e,t)},e.prototype.dispose=function(){this._addonManager.dispose(),this._core.dispose()},e.prototype.scrollLines=function(e){this._verifyIntegers(e),this._core.scrollLines(e)},e.prototype.scrollPages=function(e){this._verifyIntegers(e),this._core.scrollPages(e)},e.prototype.scrollToTop=function(){this._core.scrollToTop()},e.prototype.scrollToBottom=function(){this._core.scrollToBottom()},e.prototype.scrollToLine=function(e){this._verifyIntegers(e),this._core.scrollToLine(e)},e.prototype.clear=function(){this._core.clear()},e.prototype.write=function(e,t){this._core.write(e,t)},e.prototype.writeUtf8=function(e,t){this._core.write(e,t)},e.prototype.writeln=function(e,t){this._core.write(e),this._core.write(\"\\r\\n\",t)},e.prototype.paste=function(e){this._core.paste(e)},e.prototype.getOption=function(e){return this._core.optionsService.getOption(e)},e.prototype.setOption=function(e,t){this._core.optionsService.setOption(e,t)},e.prototype.refresh=function(e,t){this._verifyIntegers(e,t),this._core.refresh(e,t)},e.prototype.reset=function(){this._core.reset()},e.prototype.loadAddon=function(e){return this._addonManager.loadAddon(this,e)},Object.defineProperty(e,\"strings\",{get:function(){return o},enumerable:!1,configurable:!0}),e.prototype._verifyIntegers=function(){for(var e=[],t=0;t=this._line.length))return t?(this._line.loadCell(e,t),t):this._line.loadCell(e,new i.CellData)},e.prototype.translateToString=function(e,t,r){return this._line.translateToString(e,t,r)},e}(),f=function(){function e(e){this._core=e}return e.prototype.registerCsiHandler=function(e,t){return this._core.registerCsiHandler(e,(function(e){return t(e.toArray())}))},e.prototype.addCsiHandler=function(e,t){return this.registerCsiHandler(e,t)},e.prototype.registerDcsHandler=function(e,t){return this._core.registerDcsHandler(e,(function(e,r){return t(e,r.toArray())}))},e.prototype.addDcsHandler=function(e,t){return this.registerDcsHandler(e,t)},e.prototype.registerEscHandler=function(e,t){return this._core.registerEscHandler(e,t)},e.prototype.addEscHandler=function(e,t){return this.registerEscHandler(e,t)},e.prototype.registerOscHandler=function(e,t){return this._core.registerOscHandler(e,t)},e.prototype.addOscHandler=function(e,t){return this.registerOscHandler(e,t)},e}(),_=function(){function e(e){this._core=e}return e.prototype.register=function(e){this._core.unicodeService.register(e)},Object.defineProperty(e.prototype,\"versions\",{get:function(){return this._core.unicodeService.versions},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"activeVersion\",{get:function(){return this._core.unicodeService.activeVersion},set:function(e){this._core.unicodeService.activeVersion=e},enumerable:!1,configurable:!0}),e}()},1546:(e,t,r)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.BaseRenderLayer=void 0;var i=r(643),n=r(8803),o=r(1420),s=r(3734),a=r(1752),c=r(4774),l=r(9631),h=function(){function e(e,t,r,i,n,o,s,a){this._container=e,this._alpha=i,this._colors=n,this._rendererId=o,this._bufferService=s,this._optionsService=a,this._scaledCharWidth=0,this._scaledCharHeight=0,this._scaledCellWidth=0,this._scaledCellHeight=0,this._scaledCharLeft=0,this._scaledCharTop=0,this._currentGlyphIdentifier={chars:\"\",code:0,bg:0,fg:0,bold:!1,dim:!1,italic:!1},this._canvas=document.createElement(\"canvas\"),this._canvas.classList.add(\"xterm-\"+t+\"-layer\"),this._canvas.style.zIndex=r.toString(),this._initCanvas(),this._container.appendChild(this._canvas)}return e.prototype.dispose=function(){var e;l.removeElementFromParent(this._canvas),null===(e=this._charAtlas)||void 0===e||e.dispose()},e.prototype._initCanvas=function(){this._ctx=a.throwIfFalsy(this._canvas.getContext(\"2d\",{alpha:this._alpha})),this._alpha||this._clearAll()},e.prototype.onOptionsChanged=function(){},e.prototype.onBlur=function(){},e.prototype.onFocus=function(){},e.prototype.onCursorMove=function(){},e.prototype.onGridChanged=function(e,t){},e.prototype.onSelectionChanged=function(e,t,r){void 0===r&&(r=!1)},e.prototype.setColors=function(e){this._refreshCharAtlas(e)},e.prototype._setTransparency=function(e){if(e!==this._alpha){var t=this._canvas;this._alpha=e,this._canvas=this._canvas.cloneNode(),this._initCanvas(),this._container.replaceChild(this._canvas,t),this._refreshCharAtlas(this._colors),this.onGridChanged(0,this._bufferService.rows-1)}},e.prototype._refreshCharAtlas=function(e){this._scaledCharWidth<=0&&this._scaledCharHeight<=0||(this._charAtlas=o.acquireCharAtlas(this._optionsService.options,this._rendererId,e,this._scaledCharWidth,this._scaledCharHeight),this._charAtlas.warmUp())},e.prototype.resize=function(e){this._scaledCellWidth=e.scaledCellWidth,this._scaledCellHeight=e.scaledCellHeight,this._scaledCharWidth=e.scaledCharWidth,this._scaledCharHeight=e.scaledCharHeight,this._scaledCharLeft=e.scaledCharLeft,this._scaledCharTop=e.scaledCharTop,this._canvas.width=e.scaledCanvasWidth,this._canvas.height=e.scaledCanvasHeight,this._canvas.style.width=e.canvasWidth+\"px\",this._canvas.style.height=e.canvasHeight+\"px\",this._alpha||this._clearAll(),this._refreshCharAtlas(this._colors)},e.prototype._fillCells=function(e,t,r,i){this._ctx.fillRect(e*this._scaledCellWidth,t*this._scaledCellHeight,r*this._scaledCellWidth,i*this._scaledCellHeight)},e.prototype._fillBottomLineAtCells=function(e,t,r){void 0===r&&(r=1),this._ctx.fillRect(e*this._scaledCellWidth,(t+1)*this._scaledCellHeight-window.devicePixelRatio-1,r*this._scaledCellWidth,window.devicePixelRatio)},e.prototype._fillLeftLineAtCell=function(e,t,r){this._ctx.fillRect(e*this._scaledCellWidth,t*this._scaledCellHeight,window.devicePixelRatio*r,this._scaledCellHeight)},e.prototype._strokeRectAtCell=function(e,t,r,i){this._ctx.lineWidth=window.devicePixelRatio,this._ctx.strokeRect(e*this._scaledCellWidth+window.devicePixelRatio/2,t*this._scaledCellHeight+window.devicePixelRatio/2,r*this._scaledCellWidth-window.devicePixelRatio,i*this._scaledCellHeight-window.devicePixelRatio)},e.prototype._clearAll=function(){this._alpha?this._ctx.clearRect(0,0,this._canvas.width,this._canvas.height):(this._ctx.fillStyle=this._colors.background.css,this._ctx.fillRect(0,0,this._canvas.width,this._canvas.height))},e.prototype._clearCells=function(e,t,r,i){this._alpha?this._ctx.clearRect(e*this._scaledCellWidth,t*this._scaledCellHeight,r*this._scaledCellWidth,i*this._scaledCellHeight):(this._ctx.fillStyle=this._colors.background.css,this._ctx.fillRect(e*this._scaledCellWidth,t*this._scaledCellHeight,r*this._scaledCellWidth,i*this._scaledCellHeight))},e.prototype._fillCharTrueColor=function(e,t,r){this._ctx.font=this._getFont(!1,!1),this._ctx.textBaseline=\"ideographic\",this._clipRow(r),this._ctx.fillText(e.getChars(),t*this._scaledCellWidth+this._scaledCharLeft,r*this._scaledCellHeight+this._scaledCharTop+this._scaledCharHeight)},e.prototype._drawChars=function(e,t,r){var o,s,a=this._getContrastColor(e);a||e.isFgRGB()||e.isBgRGB()?this._drawUncachedChars(e,t,r,a):(e.isInverse()?(o=e.isBgDefault()?n.INVERTED_DEFAULT_COLOR:e.getBgColor(),s=e.isFgDefault()?n.INVERTED_DEFAULT_COLOR:e.getFgColor()):(s=e.isBgDefault()?i.DEFAULT_COLOR:e.getBgColor(),o=e.isFgDefault()?i.DEFAULT_COLOR:e.getFgColor()),o+=this._optionsService.options.drawBoldTextInBrightColors&&e.isBold()&&o<8?8:0,this._currentGlyphIdentifier.chars=e.getChars()||i.WHITESPACE_CELL_CHAR,this._currentGlyphIdentifier.code=e.getCode()||i.WHITESPACE_CELL_CODE,this._currentGlyphIdentifier.bg=s,this._currentGlyphIdentifier.fg=o,this._currentGlyphIdentifier.bold=!!e.isBold(),this._currentGlyphIdentifier.dim=!!e.isDim(),this._currentGlyphIdentifier.italic=!!e.isItalic(),this._charAtlas&&this._charAtlas.draw(this._ctx,this._currentGlyphIdentifier,t*this._scaledCellWidth+this._scaledCharLeft,r*this._scaledCellHeight+this._scaledCharTop)||this._drawUncachedChars(e,t,r))},e.prototype._drawUncachedChars=function(e,t,r,i){if(this._ctx.save(),this._ctx.font=this._getFont(!!e.isBold(),!!e.isItalic()),this._ctx.textBaseline=\"ideographic\",e.isInverse())if(i)this._ctx.fillStyle=i.css;else if(e.isBgDefault())this._ctx.fillStyle=c.color.opaque(this._colors.background).css;else if(e.isBgRGB())this._ctx.fillStyle=\"rgb(\"+s.AttributeData.toColorRGB(e.getBgColor()).join(\",\")+\")\";else{var o=e.getBgColor();this._optionsService.options.drawBoldTextInBrightColors&&e.isBold()&&o<8&&(o+=8),this._ctx.fillStyle=this._colors.ansi[o].css}else if(i)this._ctx.fillStyle=i.css;else if(e.isFgDefault())this._ctx.fillStyle=this._colors.foreground.css;else if(e.isFgRGB())this._ctx.fillStyle=\"rgb(\"+s.AttributeData.toColorRGB(e.getFgColor()).join(\",\")+\")\";else{var a=e.getFgColor();this._optionsService.options.drawBoldTextInBrightColors&&e.isBold()&&a<8&&(a+=8),this._ctx.fillStyle=this._colors.ansi[a].css}this._clipRow(r),e.isDim()&&(this._ctx.globalAlpha=n.DIM_OPACITY),this._ctx.fillText(e.getChars(),t*this._scaledCellWidth+this._scaledCharLeft,r*this._scaledCellHeight+this._scaledCharTop+this._scaledCharHeight),this._ctx.restore()},e.prototype._clipRow=function(e){this._ctx.beginPath(),this._ctx.rect(0,e*this._scaledCellHeight,this._bufferService.cols*this._scaledCellWidth,this._scaledCellHeight),this._ctx.clip()},e.prototype._getFont=function(e,t){return(t?\"italic\":\"\")+\" \"+(e?this._optionsService.options.fontWeightBold:this._optionsService.options.fontWeight)+\" \"+this._optionsService.options.fontSize*window.devicePixelRatio+\"px \"+this._optionsService.options.fontFamily},e.prototype._getContrastColor=function(e){if(1!==this._optionsService.options.minimumContrastRatio){var t=this._colors.contrastCache.getColor(e.bg,e.fg);if(void 0!==t)return t||void 0;var r=e.getFgColor(),i=e.getFgColorMode(),n=e.getBgColor(),o=e.getBgColorMode(),s=!!e.isInverse(),a=!!e.isInverse();if(s){var l=r;r=n,n=l;var h=i;i=o,o=h}var u=this._resolveBackgroundRgba(o,n,s),f=this._resolveForegroundRgba(i,r,s,a),_=c.rgba.ensureContrastRatio(u,f,this._optionsService.options.minimumContrastRatio);if(_){var d={css:c.channels.toCss(_>>24&255,_>>16&255,_>>8&255),rgba:_};return this._colors.contrastCache.setColor(e.bg,e.fg,d),d}this._colors.contrastCache.setColor(e.bg,e.fg,null)}},e.prototype._resolveBackgroundRgba=function(e,t,r){switch(e){case 16777216:case 33554432:return this._colors.ansi[t].rgba;case 50331648:return t<<8;case 0:default:return r?this._colors.foreground.rgba:this._colors.background.rgba}},e.prototype._resolveForegroundRgba=function(e,t,r,i){switch(e){case 16777216:case 33554432:return this._optionsService.options.drawBoldTextInBrightColors&&i&&t<8&&(t+=8),this._colors.ansi[t].rgba;case 50331648:return t<<8;case 0:default:return r?this._colors.background.rgba:this._colors.foreground.rgba}},e}();t.BaseRenderLayer=h},2512:function(e,t,r){var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),o=this&&this.__decorate||function(e,t,r,i){var n,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},s=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.CursorRenderLayer=void 0;var a=r(1546),c=r(511),l=r(2585),h=r(4725),u=600,f=function(e){function t(t,r,i,n,o,s,a,l,h){var u=e.call(this,t,\"cursor\",r,!0,i,n,s,a)||this;return u._onRequestRedraw=o,u._coreService=l,u._coreBrowserService=h,u._cell=new c.CellData,u._state={x:0,y:0,isFocused:!1,style:\"\",width:0},u._cursorRenderers={bar:u._renderBarCursor.bind(u),block:u._renderBlockCursor.bind(u),underline:u._renderUnderlineCursor.bind(u)},u}return n(t,e),t.prototype.resize=function(t){e.prototype.resize.call(this,t),this._state={x:0,y:0,isFocused:!1,style:\"\",width:0}},t.prototype.reset=function(){this._clearCursor(),this._cursorBlinkStateManager&&(this._cursorBlinkStateManager.dispose(),this._cursorBlinkStateManager=void 0,this.onOptionsChanged())},t.prototype.onBlur=function(){this._cursorBlinkStateManager&&this._cursorBlinkStateManager.pause(),this._onRequestRedraw.fire({start:this._bufferService.buffer.y,end:this._bufferService.buffer.y})},t.prototype.onFocus=function(){this._cursorBlinkStateManager?this._cursorBlinkStateManager.resume():this._onRequestRedraw.fire({start:this._bufferService.buffer.y,end:this._bufferService.buffer.y})},t.prototype.onOptionsChanged=function(){var e,t=this;this._optionsService.options.cursorBlink?this._cursorBlinkStateManager||(this._cursorBlinkStateManager=new _(this._coreBrowserService.isFocused,(function(){t._render(!0)}))):(null===(e=this._cursorBlinkStateManager)||void 0===e||e.dispose(),this._cursorBlinkStateManager=void 0),this._onRequestRedraw.fire({start:this._bufferService.buffer.y,end:this._bufferService.buffer.y})},t.prototype.onCursorMove=function(){this._cursorBlinkStateManager&&this._cursorBlinkStateManager.restartBlinkAnimation()},t.prototype.onGridChanged=function(e,t){!this._cursorBlinkStateManager||this._cursorBlinkStateManager.isPaused?this._render(!1):this._cursorBlinkStateManager.restartBlinkAnimation()},t.prototype._render=function(e){if(this._coreService.isCursorInitialized&&!this._coreService.isCursorHidden){var t=this._bufferService.buffer.ybase+this._bufferService.buffer.y,r=t-this._bufferService.buffer.ydisp;if(r<0||r>=this._bufferService.rows)this._clearCursor();else{var i=Math.min(this._bufferService.buffer.x,this._bufferService.cols-1);if(this._bufferService.buffer.lines.get(t).loadCell(i,this._cell),void 0!==this._cell.content){if(!this._coreBrowserService.isFocused){this._clearCursor(),this._ctx.save(),this._ctx.fillStyle=this._colors.cursor.css;var n=this._optionsService.options.cursorStyle;return n&&\"block\"!==n?this._cursorRenderers[n](i,r,this._cell):this._renderBlurCursor(i,r,this._cell),this._ctx.restore(),this._state.x=i,this._state.y=r,this._state.isFocused=!1,this._state.style=n,void(this._state.width=this._cell.getWidth())}if(!this._cursorBlinkStateManager||this._cursorBlinkStateManager.isCursorVisible){if(this._state){if(this._state.x===i&&this._state.y===r&&this._state.isFocused===this._coreBrowserService.isFocused&&this._state.style===this._optionsService.options.cursorStyle&&this._state.width===this._cell.getWidth())return;this._clearCursor()}this._ctx.save(),this._cursorRenderers[this._optionsService.options.cursorStyle||\"block\"](i,r,this._cell),this._ctx.restore(),this._state.x=i,this._state.y=r,this._state.isFocused=!1,this._state.style=this._optionsService.options.cursorStyle,this._state.width=this._cell.getWidth()}else this._clearCursor()}}}else this._clearCursor()},t.prototype._clearCursor=function(){this._state&&(this._clearCells(this._state.x,this._state.y,this._state.width,1),this._state={x:0,y:0,isFocused:!1,style:\"\",width:0})},t.prototype._renderBarCursor=function(e,t,r){this._ctx.save(),this._ctx.fillStyle=this._colors.cursor.css,this._fillLeftLineAtCell(e,t,this._optionsService.options.cursorWidth),this._ctx.restore()},t.prototype._renderBlockCursor=function(e,t,r){this._ctx.save(),this._ctx.fillStyle=this._colors.cursor.css,this._fillCells(e,t,r.getWidth(),1),this._ctx.fillStyle=this._colors.cursorAccent.css,this._fillCharTrueColor(r,e,t),this._ctx.restore()},t.prototype._renderUnderlineCursor=function(e,t,r){this._ctx.save(),this._ctx.fillStyle=this._colors.cursor.css,this._fillBottomLineAtCells(e,t),this._ctx.restore()},t.prototype._renderBlurCursor=function(e,t,r){this._ctx.save(),this._ctx.strokeStyle=this._colors.cursor.css,this._strokeRectAtCell(e,t,r.getWidth(),1),this._ctx.restore()},o([s(5,l.IBufferService),s(6,l.IOptionsService),s(7,l.ICoreService),s(8,h.ICoreBrowserService)],t)}(a.BaseRenderLayer);t.CursorRenderLayer=f;var _=function(){function e(e,t){this._renderCallback=t,this.isCursorVisible=!0,e&&this._restartInterval()}return Object.defineProperty(e.prototype,\"isPaused\",{get:function(){return!(this._blinkStartTimeout||this._blinkInterval)},enumerable:!1,configurable:!0}),e.prototype.dispose=function(){this._blinkInterval&&(window.clearInterval(this._blinkInterval),this._blinkInterval=void 0),this._blinkStartTimeout&&(window.clearTimeout(this._blinkStartTimeout),this._blinkStartTimeout=void 0),this._animationFrame&&(window.cancelAnimationFrame(this._animationFrame),this._animationFrame=void 0)},e.prototype.restartBlinkAnimation=function(){var e=this;this.isPaused||(this._animationTimeRestarted=Date.now(),this.isCursorVisible=!0,this._animationFrame||(this._animationFrame=window.requestAnimationFrame((function(){e._renderCallback(),e._animationFrame=void 0}))))},e.prototype._restartInterval=function(e){var t=this;void 0===e&&(e=u),this._blinkInterval&&window.clearInterval(this._blinkInterval),this._blinkStartTimeout=window.setTimeout((function(){if(t._animationTimeRestarted){var e=u-(Date.now()-t._animationTimeRestarted);if(t._animationTimeRestarted=void 0,e>0)return void t._restartInterval(e)}t.isCursorVisible=!1,t._animationFrame=window.requestAnimationFrame((function(){t._renderCallback(),t._animationFrame=void 0})),t._blinkInterval=window.setInterval((function(){if(t._animationTimeRestarted){var e=u-(Date.now()-t._animationTimeRestarted);return t._animationTimeRestarted=void 0,void t._restartInterval(e)}t.isCursorVisible=!t.isCursorVisible,t._animationFrame=window.requestAnimationFrame((function(){t._renderCallback(),t._animationFrame=void 0}))}),u)}),e)},e.prototype.pause=function(){this.isCursorVisible=!0,this._blinkInterval&&(window.clearInterval(this._blinkInterval),this._blinkInterval=void 0),this._blinkStartTimeout&&(window.clearTimeout(this._blinkStartTimeout),this._blinkStartTimeout=void 0),this._animationFrame&&(window.cancelAnimationFrame(this._animationFrame),this._animationFrame=void 0)},e.prototype.resume=function(){this.pause(),this._animationTimeRestarted=void 0,this._restartInterval(),this.restartBlinkAnimation()},e}()},3700:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.GridCache=void 0;var r=function(){function e(){this.cache=[]}return e.prototype.resize=function(e,t){for(var r=0;r=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},s=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.LinkRenderLayer=void 0;var a=r(1546),c=r(8803),l=r(2040),h=r(2585),u=function(e){function t(t,r,i,n,o,s,a,c){var l=e.call(this,t,\"link\",r,!0,i,n,a,c)||this;return o.onShowLinkUnderline((function(e){return l._onShowLinkUnderline(e)})),o.onHideLinkUnderline((function(e){return l._onHideLinkUnderline(e)})),s.onShowLinkUnderline((function(e){return l._onShowLinkUnderline(e)})),s.onHideLinkUnderline((function(e){return l._onHideLinkUnderline(e)})),l}return n(t,e),t.prototype.resize=function(t){e.prototype.resize.call(this,t),this._state=void 0},t.prototype.reset=function(){this._clearCurrentLink()},t.prototype._clearCurrentLink=function(){if(this._state){this._clearCells(this._state.x1,this._state.y1,this._state.cols-this._state.x1,1);var e=this._state.y2-this._state.y1-1;e>0&&this._clearCells(0,this._state.y1+1,this._state.cols,e),this._clearCells(0,this._state.y2,this._state.x2,1),this._state=void 0}},t.prototype._onShowLinkUnderline=function(e){if(e.fg===c.INVERTED_DEFAULT_COLOR?this._ctx.fillStyle=this._colors.background.css:e.fg&&l.is256Color(e.fg)?this._ctx.fillStyle=this._colors.ansi[e.fg].css:this._ctx.fillStyle=this._colors.foreground.css,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 t=e.y1+1;t=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},s=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.Renderer=void 0;var a=r(9596),c=r(4149),l=r(2512),h=r(5098),u=r(844),f=r(4725),_=r(2585),d=r(1420),p=r(8460),v=1,g=function(e){function t(t,r,i,n,o,s,u,f){var _=e.call(this)||this;_._colors=t,_._screenElement=r,_._bufferService=s,_._charSizeService=u,_._optionsService=f,_._id=v++,_._onRequestRedraw=new p.EventEmitter;var d=_._optionsService.options.allowTransparency;return _._renderLayers=[o.createInstance(a.TextRenderLayer,_._screenElement,0,_._colors,d,_._id),o.createInstance(c.SelectionRenderLayer,_._screenElement,1,_._colors,_._id),o.createInstance(h.LinkRenderLayer,_._screenElement,2,_._colors,_._id,i,n),o.createInstance(l.CursorRenderLayer,_._screenElement,3,_._colors,_._id,_._onRequestRedraw)],_.dimensions={scaledCharWidth:0,scaledCharHeight:0,scaledCellWidth:0,scaledCellHeight:0,scaledCharLeft:0,scaledCharTop:0,scaledCanvasWidth:0,scaledCanvasHeight:0,canvasWidth:0,canvasHeight:0,actualCellWidth:0,actualCellHeight:0},_._devicePixelRatio=window.devicePixelRatio,_._updateDimensions(),_.onOptionsChanged(),_}return n(t,e),Object.defineProperty(t.prototype,\"onRequestRedraw\",{get:function(){return this._onRequestRedraw.event},enumerable:!1,configurable:!0}),t.prototype.dispose=function(){for(var t=0,r=this._renderLayers;t{Object.defineProperty(t,\"__esModule\",{value:!0}),t.throwIfFalsy=void 0,t.throwIfFalsy=function(e){if(!e)throw new Error(\"value must not be falsy\");return e}},4149:function(e,t,r){var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),o=this&&this.__decorate||function(e,t,r,i){var n,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},s=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.SelectionRenderLayer=void 0;var a=r(1546),c=r(2585),l=function(e){function t(t,r,i,n,o,s){var a=e.call(this,t,\"selection\",r,!0,i,n,o,s)||this;return a._clearState(),a}return n(t,e),t.prototype._clearState=function(){this._state={start:void 0,end:void 0,columnSelectMode:void 0,ydisp:void 0}},t.prototype.resize=function(t){e.prototype.resize.call(this,t),this._clearState()},t.prototype.reset=function(){this._state.start&&this._state.end&&(this._clearState(),this._clearAll())},t.prototype.onSelectionChanged=function(e,t,r){if(this._didStateChange(e,t,r,this._bufferService.buffer.ydisp))if(this._clearAll(),e&&t){var i=e[1]-this._bufferService.buffer.ydisp,n=t[1]-this._bufferService.buffer.ydisp,o=Math.max(i,0),s=Math.min(n,this._bufferService.rows-1);if(o>=this._bufferService.rows||s<0)this._state.ydisp=this._bufferService.buffer.ydisp;else{if(this._ctx.fillStyle=this._colors.selectionTransparent.css,r){var a=e[0],c=t[0]-a,l=s-o+1;this._fillCells(a,o,c,l)}else{a=i===o?e[0]:0;var h=o===n?t[0]:this._bufferService.cols;this._fillCells(a,o,h-a,1);var u=Math.max(s-o-1,0);if(this._fillCells(0,o+1,this._bufferService.cols,u),o!==s){var f=n===s?t[0]:this._bufferService.cols;this._fillCells(0,s,f,1)}}this._state.start=[e[0],e[1]],this._state.end=[t[0],t[1]],this._state.columnSelectMode=r,this._state.ydisp=this._bufferService.buffer.ydisp}}else this._clearState()},t.prototype._didStateChange=function(e,t,r,i){return!this._areCoordinatesEqual(e,this._state.start)||!this._areCoordinatesEqual(t,this._state.end)||r!==this._state.columnSelectMode||i!==this._state.ydisp},t.prototype._areCoordinatesEqual=function(e,t){return!(!e||!t)&&e[0]===t[0]&&e[1]===t[1]},o([s(4,c.IBufferService),s(5,c.IOptionsService)],t)}(a.BaseRenderLayer);t.SelectionRenderLayer=l},9596:function(e,t,r){var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),o=this&&this.__decorate||function(e,t,r,i){var n,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},s=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.TextRenderLayer=void 0;var a=r(3700),c=r(1546),l=r(3734),h=r(643),u=r(511),f=r(2585),_=r(4725),d=r(4269),p=function(e){function t(t,r,i,n,o,s,c,l){var h=e.call(this,t,\"text\",r,n,i,o,s,c)||this;return h._characterJoinerService=l,h._characterWidth=0,h._characterFont=\"\",h._characterOverlapCache={},h._workCell=new u.CellData,h._state=new a.GridCache,h}return n(t,e),t.prototype.resize=function(t){e.prototype.resize.call(this,t);var r=this._getFont(!1,!1);this._characterWidth===t.scaledCharWidth&&this._characterFont===r||(this._characterWidth=t.scaledCharWidth,this._characterFont=r,this._characterOverlapCache={}),this._state.clear(),this._state.resize(this._bufferService.cols,this._bufferService.rows)},t.prototype.reset=function(){this._state.clear(),this._clearAll()},t.prototype._forEachCell=function(e,t,r){for(var i=e;i<=t;i++)for(var n=i+this._bufferService.buffer.ydisp,o=this._bufferService.buffer.lines.get(n),s=this._characterJoinerService.getJoinedCharacters(n),a=0;a0&&a===s[0][0]){l=!0;var f=s.shift();c=new d.JoinedCellData(this._workCell,o.translateToString(!0,f[0],f[1]),f[1]-f[0]),u=f[1]-1}!l&&this._isOverlapping(c)&&uthis._characterWidth;return this._ctx.restore(),this._characterOverlapCache[t]=r,r},o([s(5,f.IBufferService),s(6,f.IOptionsService),s(7,_.ICharacterJoinerService)],t)}(c.BaseRenderLayer);t.TextRenderLayer=p},9616:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.BaseCharAtlas=void 0;var r=function(){function e(){this._didWarmUp=!1}return e.prototype.dispose=function(){},e.prototype.warmUp=function(){this._didWarmUp||(this._doWarmUp(),this._didWarmUp=!0)},e.prototype._doWarmUp=function(){},e.prototype.beginFrame=function(){},e}();t.BaseCharAtlas=r},1420:(e,t,r)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.removeTerminalFromCache=t.acquireCharAtlas=void 0;var i=r(2040),n=r(1906),o=[];t.acquireCharAtlas=function(e,t,r,s,a){for(var c=i.generateConfig(s,a,e,r),l=0;l=0){if(i.configEquals(u.config,c))return u.atlas;1===u.ownedBy.length?(u.atlas.dispose(),o.splice(l,1)):u.ownedBy.splice(h,1);break}}for(l=0;l{Object.defineProperty(t,\"__esModule\",{value:!0}),t.is256Color=t.configEquals=t.generateConfig=void 0;var i=r(643);t.generateConfig=function(e,t,r,i){var n={foreground:i.foreground,background:i.background,cursor:void 0,cursorAccent:void 0,selection:void 0,ansi:i.ansi};return{devicePixelRatio:window.devicePixelRatio,scaledCharWidth:e,scaledCharHeight:t,fontFamily:r.fontFamily,fontSize:r.fontSize,fontWeight:r.fontWeight,fontWeightBold:r.fontWeightBold,allowTransparency:r.allowTransparency,colors:n}},t.configEquals=function(e,t){for(var r=0;r{Object.defineProperty(t,\"__esModule\",{value:!0}),t.CHAR_ATLAS_CELL_SPACING=t.DIM_OPACITY=t.INVERTED_DEFAULT_COLOR=void 0,t.INVERTED_DEFAULT_COLOR=257,t.DIM_OPACITY=.5,t.CHAR_ATLAS_CELL_SPACING=1},1906:function(e,t,r){var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});Object.defineProperty(t,\"__esModule\",{value:!0}),t.NoneCharAtlas=t.DynamicCharAtlas=t.getGlyphCacheKey=void 0;var o=r(8803),s=r(9616),a=r(5680),c=r(7001),l=r(6114),h=r(1752),u=r(4774),f={css:\"rgba(0, 0, 0, 0)\",rgba:0};function _(e){return e.code<<21|e.bg<<12|e.fg<<3|(e.bold?0:4)+(e.dim?0:2)+(e.italic?0:1)}t.getGlyphCacheKey=_;var d=function(e){function t(t,r){var i=e.call(this)||this;i._config=r,i._drawToCacheCount=0,i._glyphsWaitingOnBitmap=[],i._bitmapCommitTimeout=null,i._bitmap=null,i._cacheCanvas=t.createElement(\"canvas\"),i._cacheCanvas.width=1024,i._cacheCanvas.height=1024,i._cacheCtx=h.throwIfFalsy(i._cacheCanvas.getContext(\"2d\",{alpha:!0}));var n=t.createElement(\"canvas\");n.width=i._config.scaledCharWidth,n.height=i._config.scaledCharHeight,i._tmpCtx=h.throwIfFalsy(n.getContext(\"2d\",{alpha:i._config.allowTransparency})),i._width=Math.floor(1024/i._config.scaledCharWidth),i._height=Math.floor(1024/i._config.scaledCharHeight);var o=i._width*i._height;return i._cacheMap=new c.LRUMap(o),i._cacheMap.prealloc(o),i}return n(t,e),t.prototype.dispose=function(){null!==this._bitmapCommitTimeout&&(window.clearTimeout(this._bitmapCommitTimeout),this._bitmapCommitTimeout=null)},t.prototype.beginFrame=function(){this._drawToCacheCount=0},t.prototype.draw=function(e,t,r,i){if(32===t.code)return!0;if(!this._canCache(t))return!1;var n=_(t),o=this._cacheMap.get(n);if(null!=o)return this._drawFromCache(e,o,r,i),!0;if(this._drawToCacheCount<100){var s;s=this._cacheMap.size>>24,n=t.rgba>>>16&255,o=t.rgba>>>8&255,s=0;s{Object.defineProperty(t,\"__esModule\",{value:!0}),t.LRUMap=void 0;var r=function(){function e(e){this.capacity=e,this._map={},this._head=null,this._tail=null,this._nodePool=[],this.size=0}return e.prototype._unlinkNode=function(e){var t=e.prev,r=e.next;e===this._head&&(this._head=r),e===this._tail&&(this._tail=t),null!==t&&(t.next=r),null!==r&&(r.prev=t)},e.prototype._appendNode=function(e){var t=this._tail;null!==t&&(t.next=e),e.prev=t,e.next=null,this._tail=e,null===this._head&&(this._head=e)},e.prototype.prealloc=function(e){for(var t=this._nodePool,r=0;r=this.capacity)r=this._head,this._unlinkNode(r),delete this._map[r.key],r.key=e,r.value=t,this._map[e]=r;else{var i=this._nodePool;i.length>0?((r=i.pop()).key=e,r.value=t):r={prev:null,next:null,key:e,value:t},this._map[e]=r,this.size++}this._appendNode(r)},e}();t.LRUMap=r},1296:function(e,t,r){var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),o=this&&this.__decorate||function(e,t,r,i){var n,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},s=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.DomRenderer=void 0;var a=r(3787),c=r(8803),l=r(844),h=r(4725),u=r(2585),f=r(8460),_=r(4774),d=r(9631),p=\"xterm-dom-renderer-owner-\",v=\"xterm-fg-\",g=\"xterm-bg-\",y=\"xterm-focus\",b=1,S=function(e){function t(t,r,i,n,o,s,c,l,h,u){var f=e.call(this)||this;return f._colors=t,f._element=r,f._screenElement=i,f._viewportElement=n,f._linkifier=o,f._linkifier2=s,f._charSizeService=l,f._optionsService=h,f._bufferService=u,f._terminalClass=b++,f._rowElements=[],f._rowContainer=document.createElement(\"div\"),f._rowContainer.classList.add(\"xterm-rows\"),f._rowContainer.style.lineHeight=\"normal\",f._rowContainer.setAttribute(\"aria-hidden\",\"true\"),f._refreshRowElements(f._bufferService.cols,f._bufferService.rows),f._selectionContainer=document.createElement(\"div\"),f._selectionContainer.classList.add(\"xterm-selection\"),f._selectionContainer.setAttribute(\"aria-hidden\",\"true\"),f.dimensions={scaledCharWidth:0,scaledCharHeight:0,scaledCellWidth:0,scaledCellHeight:0,scaledCharLeft:0,scaledCharTop:0,scaledCanvasWidth:0,scaledCanvasHeight:0,canvasWidth:0,canvasHeight:0,actualCellWidth:0,actualCellHeight:0},f._updateDimensions(),f._injectCss(),f._rowFactory=c.createInstance(a.DomRendererRowFactory,document,f._colors),f._element.classList.add(p+f._terminalClass),f._screenElement.appendChild(f._rowContainer),f._screenElement.appendChild(f._selectionContainer),f._linkifier.onShowLinkUnderline((function(e){return f._onLinkHover(e)})),f._linkifier.onHideLinkUnderline((function(e){return f._onLinkLeave(e)})),f._linkifier2.onShowLinkUnderline((function(e){return f._onLinkHover(e)})),f._linkifier2.onHideLinkUnderline((function(e){return f._onLinkLeave(e)})),f}return n(t,e),Object.defineProperty(t.prototype,\"onRequestRedraw\",{get:function(){return(new f.EventEmitter).event},enumerable:!1,configurable:!0}),t.prototype.dispose=function(){this._element.classList.remove(p+this._terminalClass),d.removeElementFromParent(this._rowContainer,this._selectionContainer,this._themeStyleElement,this._dimensionsStyleElement),e.prototype.dispose.call(this)},t.prototype._updateDimensions=function(){this.dimensions.scaledCharWidth=this._charSizeService.width*window.devicePixelRatio,this.dimensions.scaledCharHeight=Math.ceil(this._charSizeService.height*window.devicePixelRatio),this.dimensions.scaledCellWidth=this.dimensions.scaledCharWidth+Math.round(this._optionsService.options.letterSpacing),this.dimensions.scaledCellHeight=Math.floor(this.dimensions.scaledCharHeight*this._optionsService.options.lineHeight),this.dimensions.scaledCharLeft=0,this.dimensions.scaledCharTop=0,this.dimensions.scaledCanvasWidth=this.dimensions.scaledCellWidth*this._bufferService.cols,this.dimensions.scaledCanvasHeight=this.dimensions.scaledCellHeight*this._bufferService.rows,this.dimensions.canvasWidth=Math.round(this.dimensions.scaledCanvasWidth/window.devicePixelRatio),this.dimensions.canvasHeight=Math.round(this.dimensions.scaledCanvasHeight/window.devicePixelRatio),this.dimensions.actualCellWidth=this.dimensions.canvasWidth/this._bufferService.cols,this.dimensions.actualCellHeight=this.dimensions.canvasHeight/this._bufferService.rows;for(var e=0,t=this._rowElements;et;)this._rowContainer.removeChild(this._rowElements.pop())},t.prototype.onResize=function(e,t){this._refreshRowElements(e,t),this._updateDimensions()},t.prototype.onCharSizeChanged=function(){this._updateDimensions()},t.prototype.onBlur=function(){this._rowContainer.classList.remove(y)},t.prototype.onFocus=function(){this._rowContainer.classList.add(y)},t.prototype.onSelectionChanged=function(e,t,r){for(;this._selectionContainer.children.length;)this._selectionContainer.removeChild(this._selectionContainer.children[0]);if(e&&t){var i=e[1]-this._bufferService.buffer.ydisp,n=t[1]-this._bufferService.buffer.ydisp,o=Math.max(i,0),s=Math.min(n,this._bufferService.rows-1);if(!(o>=this._bufferService.rows||s<0)){var a=document.createDocumentFragment();if(r)a.appendChild(this._createSelectionElement(o,e[0],t[0],s-o+1));else{var c=i===o?e[0]:0,l=o===n?t[0]:this._bufferService.cols;a.appendChild(this._createSelectionElement(o,c,l));var h=s-o-1;if(a.appendChild(this._createSelectionElement(o+1,0,this._bufferService.cols,h)),o!==s){var u=n===s?t[0]:this._bufferService.cols;a.appendChild(this._createSelectionElement(s,0,u))}}this._selectionContainer.appendChild(a)}}},t.prototype._createSelectionElement=function(e,t,r,i){void 0===i&&(i=1);var n=document.createElement(\"div\");return n.style.height=i*this.dimensions.actualCellHeight+\"px\",n.style.top=e*this.dimensions.actualCellHeight+\"px\",n.style.left=t*this.dimensions.actualCellWidth+\"px\",n.style.width=this.dimensions.actualCellWidth*(r-t)+\"px\",n},t.prototype.onCursorMove=function(){},t.prototype.onOptionsChanged=function(){this._updateDimensions(),this._injectCss()},t.prototype.clear=function(){for(var e=0,t=this._rowElements;e=n&&(e=0,r++)}},o([s(6,u.IInstantiationService),s(7,h.ICharSizeService),s(8,u.IOptionsService),s(9,u.IBufferService)],t)}(l.Disposable);t.DomRenderer=S},3787:function(e,t,r){var i=this&&this.__decorate||function(e,t,r,i){var n,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},n=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.DomRendererRowFactory=t.CURSOR_STYLE_UNDERLINE_CLASS=t.CURSOR_STYLE_BAR_CLASS=t.CURSOR_STYLE_BLOCK_CLASS=t.CURSOR_BLINK_CLASS=t.CURSOR_CLASS=t.UNDERLINE_CLASS=t.ITALIC_CLASS=t.DIM_CLASS=t.BOLD_CLASS=void 0;var o=r(8803),s=r(643),a=r(511),c=r(2585),l=r(4774),h=r(4725),u=r(4269);t.BOLD_CLASS=\"xterm-bold\",t.DIM_CLASS=\"xterm-dim\",t.ITALIC_CLASS=\"xterm-italic\",t.UNDERLINE_CLASS=\"xterm-underline\",t.CURSOR_CLASS=\"xterm-cursor\",t.CURSOR_BLINK_CLASS=\"xterm-cursor-blink\",t.CURSOR_STYLE_BLOCK_CLASS=\"xterm-cursor-block\",t.CURSOR_STYLE_BAR_CLASS=\"xterm-cursor-bar\",t.CURSOR_STYLE_UNDERLINE_CLASS=\"xterm-cursor-underline\";var f=function(){function e(e,t,r,i){this._document=e,this._colors=t,this._characterJoinerService=r,this._optionsService=i,this._workCell=new a.CellData}return e.prototype.setColors=function(e){this._colors=e},e.prototype.createRow=function(e,r,i,n,a,c,h,f){for(var d=this._document.createDocumentFragment(),p=this._characterJoinerService.getJoinedCharacters(r),v=0,g=Math.min(e.length,f)-1;g>=0;g--)if(e.loadCell(g,this._workCell).getCode()!==s.NULL_CELL_CODE||i&&g===a){v=g+1;break}for(g=0;g0&&g===p[0][0]){b=!0;var C=p.shift();m=new u.JoinedCellData(this._workCell,e.translateToString(!0,C[0],C[1]),C[1]-C[0]),S=C[1]-1,y=m.getWidth()}var w=this._document.createElement(\"span\");if(y>1&&(w.style.width=h*y+\"px\"),b&&(w.style.display=\"inline\",a>=g&&a<=S&&(a=g)),i&&g===a)switch(w.classList.add(t.CURSOR_CLASS),c&&w.classList.add(t.CURSOR_BLINK_CLASS),n){case\"bar\":w.classList.add(t.CURSOR_STYLE_BAR_CLASS);break;case\"underline\":w.classList.add(t.CURSOR_STYLE_UNDERLINE_CLASS);break;default:w.classList.add(t.CURSOR_STYLE_BLOCK_CLASS)}m.isBold()&&w.classList.add(t.BOLD_CLASS),m.isItalic()&&w.classList.add(t.ITALIC_CLASS),m.isDim()&&w.classList.add(t.DIM_CLASS),m.isUnderline()&&w.classList.add(t.UNDERLINE_CLASS),m.isInvisible()?w.textContent=s.WHITESPACE_CELL_CHAR:w.textContent=m.getChars()||s.WHITESPACE_CELL_CHAR;var E=m.getFgColor(),L=m.getFgColorMode(),k=m.getBgColor(),A=m.getBgColorMode(),R=!!m.isInverse();if(R){var x=E;E=k,k=x;var T=L;L=A,A=T}switch(L){case 16777216:case 33554432:m.isBold()&&E<8&&this._optionsService.options.drawBoldTextInBrightColors&&(E+=8),this._applyMinimumContrast(w,this._colors.background,this._colors.ansi[E])||w.classList.add(\"xterm-fg-\"+E);break;case 50331648:var O=l.rgba.toColor(E>>16&255,E>>8&255,255&E);this._applyMinimumContrast(w,this._colors.background,O)||this._addStyle(w,\"color:#\"+_(E.toString(16),\"0\",6));break;case 0:default:this._applyMinimumContrast(w,this._colors.background,this._colors.foreground)||R&&w.classList.add(\"xterm-fg-\"+o.INVERTED_DEFAULT_COLOR)}switch(A){case 16777216:case 33554432:w.classList.add(\"xterm-bg-\"+k);break;case 50331648:this._addStyle(w,\"background-color:#\"+_(k.toString(16),\"0\",6));break;case 0:default:R&&w.classList.add(\"xterm-bg-\"+o.INVERTED_DEFAULT_COLOR)}d.appendChild(w),g=S}}return d},e.prototype._applyMinimumContrast=function(e,t,r){if(1===this._optionsService.options.minimumContrastRatio)return!1;var i=this._colors.contrastCache.getColor(this._workCell.bg,this._workCell.fg);return void 0===i&&(i=l.color.ensureContrastRatio(t,r,this._optionsService.options.minimumContrastRatio),this._colors.contrastCache.setColor(this._workCell.bg,this._workCell.fg,null!=i?i:null)),!!i&&(this._addStyle(e,\"color:\"+i.css),!0)},e.prototype._addStyle=function(e,t){e.setAttribute(\"style\",\"\"+(e.getAttribute(\"style\")||\"\")+t+\";\")},i([n(2,h.ICharacterJoinerService),n(3,c.IOptionsService)],e)}();function _(e,t,r){for(;e.length{Object.defineProperty(t,\"__esModule\",{value:!0}),t.SelectionModel=void 0;var r=function(){function e(e){this._bufferService=e,this.isSelectAllActive=!1,this.selectionStartLength=0}return e.prototype.clearSelection=function(){this.selectionStart=void 0,this.selectionEnd=void 0,this.isSelectAllActive=!1,this.selectionStartLength=0},Object.defineProperty(e.prototype,\"finalSelectionStart\",{get:function(){return this.isSelectAllActive?[0,0]:this.selectionEnd&&this.selectionStart&&this.areSelectionValuesReversed()?this.selectionEnd:this.selectionStart},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"finalSelectionEnd\",{get:function(){if(this.isSelectAllActive)return[this._bufferService.cols,this._bufferService.buffer.ybase+this._bufferService.rows-1];if(this.selectionStart){if(!this.selectionEnd||this.areSelectionValuesReversed()){var e=this.selectionStart[0]+this.selectionStartLength;return e>this._bufferService.cols?[e%this._bufferService.cols,this.selectionStart[1]+Math.floor(e/this._bufferService.cols)]:[e,this.selectionStart[1]]}return this.selectionStartLength&&this.selectionEnd[1]===this.selectionStart[1]?[Math.max(this.selectionStart[0]+this.selectionStartLength,this.selectionEnd[0]),this.selectionEnd[1]]:this.selectionEnd}},enumerable:!1,configurable:!0}),e.prototype.areSelectionValuesReversed=function(){var e=this.selectionStart,t=this.selectionEnd;return!(!e||!t)&&(e[1]>t[1]||e[1]===t[1]&&e[0]>t[0])},e.prototype.onTrim=function(e){return this.selectionStart&&(this.selectionStart[1]-=e),this.selectionEnd&&(this.selectionEnd[1]-=e),this.selectionEnd&&this.selectionEnd[1]<0?(this.clearSelection(),!0):(this.selectionStart&&this.selectionStart[1]<0&&(this.selectionStart[1]=0),!1)},e}();t.SelectionModel=r},428:function(e,t,r){var i=this&&this.__decorate||function(e,t,r,i){var n,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},n=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.CharSizeService=void 0;var o=r(2585),s=r(8460),a=function(){function e(e,t,r){this._optionsService=r,this.width=0,this.height=0,this._onCharSizeChange=new s.EventEmitter,this._measureStrategy=new c(e,t,this._optionsService)}return Object.defineProperty(e.prototype,\"hasValidSize\",{get:function(){return this.width>0&&this.height>0},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"onCharSizeChange\",{get:function(){return this._onCharSizeChange.event},enumerable:!1,configurable:!0}),e.prototype.measure=function(){var e=this._measureStrategy.measure();e.width===this.width&&e.height===this.height||(this.width=e.width,this.height=e.height,this._onCharSizeChange.fire())},i([n(2,o.IOptionsService)],e)}();t.CharSizeService=a;var c=function(){function e(e,t,r){this._document=e,this._parentElement=t,this._optionsService=r,this._result={width:0,height:0},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 e.prototype.measure=function(){this._measureElement.style.fontFamily=this._optionsService.options.fontFamily,this._measureElement.style.fontSize=this._optionsService.options.fontSize+\"px\";var e=this._measureElement.getBoundingClientRect();return 0!==e.width&&0!==e.height&&(this._result.width=e.width,this._result.height=Math.ceil(e.height)),this._result},e}()},4269:function(e,t,r){var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),o=this&&this.__decorate||function(e,t,r,i){var n,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},s=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.CharacterJoinerService=t.JoinedCellData=void 0;var a=r(3734),c=r(643),l=r(511),h=r(2585),u=function(e){function t(t,r,i){var n=e.call(this)||this;return n.content=0,n.combinedData=\"\",n.fg=t.fg,n.bg=t.bg,n.combinedData=r,n._width=i,n}return n(t,e),t.prototype.isCombined=function(){return 2097152},t.prototype.getWidth=function(){return this._width},t.prototype.getChars=function(){return this.combinedData},t.prototype.getCode=function(){return 2097151},t.prototype.setFromCharData=function(e){throw new Error(\"not implemented\")},t.prototype.getAsCharData=function(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]},t}(a.AttributeData);t.JoinedCellData=u;var f=function(){function e(e){this._bufferService=e,this._characterJoiners=[],this._nextCharacterJoinerId=0,this._workCell=new l.CellData}return e.prototype.register=function(e){var t={id:this._nextCharacterJoinerId++,handler:e};return this._characterJoiners.push(t),t.id},e.prototype.deregister=function(e){for(var t=0;t1)for(var u=this._getJoinedRanges(i,s,o,t,n),f=0;f1)for(u=this._getJoinedRanges(i,s,o,t,n),f=0;f{Object.defineProperty(t,\"__esModule\",{value:!0}),t.CoreBrowserService=void 0;var r=function(){function e(e){this._textarea=e}return Object.defineProperty(e.prototype,\"isFocused\",{get:function(){return(this._textarea.getRootNode?this._textarea.getRootNode():document).activeElement===this._textarea&&document.hasFocus()},enumerable:!1,configurable:!0}),e}();t.CoreBrowserService=r},8934:function(e,t,r){var i=this&&this.__decorate||function(e,t,r,i){var n,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},n=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.MouseService=void 0;var o=r(4725),s=r(9806),a=function(){function e(e,t){this._renderService=e,this._charSizeService=t}return e.prototype.getCoords=function(e,t,r,i,n){return s.getCoords(e,t,r,i,this._charSizeService.hasValidSize,this._renderService.dimensions.actualCellWidth,this._renderService.dimensions.actualCellHeight,n)},e.prototype.getRawByteCoords=function(e,t,r,i){var n=this.getCoords(e,t,r,i);return s.getRawByteCoords(n)},i([n(0,o.IRenderService),n(1,o.ICharSizeService)],e)}();t.MouseService=a},3230:function(e,t,r){var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),o=this&&this.__decorate||function(e,t,r,i){var n,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},s=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.RenderService=void 0;var a=r(6193),c=r(8460),l=r(844),h=r(5596),u=r(3656),f=r(2585),_=r(4725),d=function(e){function t(t,r,i,n,o,s){var l=e.call(this)||this;if(l._renderer=t,l._rowCount=r,l._charSizeService=o,l._isPaused=!1,l._needsFullRefresh=!1,l._isNextRenderRedrawOnly=!0,l._needsSelectionRefresh=!1,l._canvasWidth=0,l._canvasHeight=0,l._selectionState={start:void 0,end:void 0,columnSelectMode:!1},l._onDimensionsChange=new c.EventEmitter,l._onRender=new c.EventEmitter,l._onRefreshRequest=new c.EventEmitter,l.register({dispose:function(){return l._renderer.dispose()}}),l._renderDebouncer=new a.RenderDebouncer((function(e,t){return l._renderRows(e,t)})),l.register(l._renderDebouncer),l._screenDprMonitor=new h.ScreenDprMonitor,l._screenDprMonitor.setListener((function(){return l.onDevicePixelRatioChange()})),l.register(l._screenDprMonitor),l.register(s.onResize((function(e){return l._fullRefresh()}))),l.register(n.onOptionChange((function(){return l._renderer.onOptionsChanged()}))),l.register(l._charSizeService.onCharSizeChange((function(){return l.onCharSizeChanged()}))),l._renderer.onRequestRedraw((function(e){return l.refreshRows(e.start,e.end,!0)})),l.register(u.addDisposableDomListener(window,\"resize\",(function(){return l.onDevicePixelRatioChange()}))),\"IntersectionObserver\"in window){var f=new IntersectionObserver((function(e){return l._onIntersectionChange(e[e.length-1])}),{threshold:0});f.observe(i),l.register({dispose:function(){return f.disconnect()}})}return l}return n(t,e),Object.defineProperty(t.prototype,\"onDimensionsChange\",{get:function(){return this._onDimensionsChange.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"onRenderedBufferChange\",{get:function(){return this._onRender.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"onRefreshRequest\",{get:function(){return this._onRefreshRequest.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"dimensions\",{get:function(){return this._renderer.dimensions},enumerable:!1,configurable:!0}),t.prototype._onIntersectionChange=function(e){this._isPaused=void 0===e.isIntersecting?0===e.intersectionRatio:!e.isIntersecting,this._isPaused||this._charSizeService.hasValidSize||this._charSizeService.measure(),!this._isPaused&&this._needsFullRefresh&&(this.refreshRows(0,this._rowCount-1),this._needsFullRefresh=!1)},t.prototype.refreshRows=function(e,t,r){void 0===r&&(r=!1),this._isPaused?this._needsFullRefresh=!0:(r||(this._isNextRenderRedrawOnly=!1),this._renderDebouncer.refresh(e,t,this._rowCount))},t.prototype._renderRows=function(e,t){this._renderer.renderRows(e,t),this._needsSelectionRefresh&&(this._renderer.onSelectionChanged(this._selectionState.start,this._selectionState.end,this._selectionState.columnSelectMode),this._needsSelectionRefresh=!1),this._isNextRenderRedrawOnly||this._onRender.fire({start:e,end:t}),this._isNextRenderRedrawOnly=!0},t.prototype.resize=function(e,t){this._rowCount=t,this._fireOnCanvasResize()},t.prototype.changeOptions=function(){this._renderer.onOptionsChanged(),this.refreshRows(0,this._rowCount-1),this._fireOnCanvasResize()},t.prototype._fireOnCanvasResize=function(){this._renderer.dimensions.canvasWidth===this._canvasWidth&&this._renderer.dimensions.canvasHeight===this._canvasHeight||this._onDimensionsChange.fire(this._renderer.dimensions)},t.prototype.dispose=function(){e.prototype.dispose.call(this)},t.prototype.setRenderer=function(e){var t=this;this._renderer.dispose(),this._renderer=e,this._renderer.onRequestRedraw((function(e){return t.refreshRows(e.start,e.end,!0)})),this._needsSelectionRefresh=!0,this._fullRefresh()},t.prototype._fullRefresh=function(){this._isPaused?this._needsFullRefresh=!0:this.refreshRows(0,this._rowCount-1)},t.prototype.setColors=function(e){this._renderer.setColors(e),this._fullRefresh()},t.prototype.onDevicePixelRatioChange=function(){this._charSizeService.measure(),this._renderer.onDevicePixelRatioChange(),this.refreshRows(0,this._rowCount-1)},t.prototype.onResize=function(e,t){this._renderer.onResize(e,t),this._fullRefresh()},t.prototype.onCharSizeChanged=function(){this._renderer.onCharSizeChanged()},t.prototype.onBlur=function(){this._renderer.onBlur()},t.prototype.onFocus=function(){this._renderer.onFocus()},t.prototype.onSelectionChanged=function(e,t,r){this._selectionState.start=e,this._selectionState.end=t,this._selectionState.columnSelectMode=r,this._renderer.onSelectionChanged(e,t,r)},t.prototype.onCursorMove=function(){this._renderer.onCursorMove()},t.prototype.clear=function(){this._renderer.clear()},o([s(3,f.IOptionsService),s(4,_.ICharSizeService),s(5,f.IBufferService)],t)}(l.Disposable);t.RenderService=d},9312:function(e,t,r){var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),o=this&&this.__decorate||function(e,t,r,i){var n,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},s=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.SelectionService=void 0;var a=r(6114),c=r(456),l=r(511),h=r(8460),u=r(4725),f=r(2585),_=r(9806),d=r(9504),p=r(844),v=r(4841),g=String.fromCharCode(160),y=new RegExp(g,\"g\"),b=function(e){function t(t,r,i,n,o,s,a,u){var f=e.call(this)||this;return f._element=t,f._screenElement=r,f._linkifier=i,f._bufferService=n,f._coreService=o,f._mouseService=s,f._optionsService=a,f._renderService=u,f._dragScrollAmount=0,f._enabled=!0,f._workCell=new l.CellData,f._mouseDownTimeStamp=0,f._oldHasSelection=!1,f._oldSelectionStart=void 0,f._oldSelectionEnd=void 0,f._onLinuxMouseSelection=f.register(new h.EventEmitter),f._onRedrawRequest=f.register(new h.EventEmitter),f._onSelectionChange=f.register(new h.EventEmitter),f._onRequestScrollLines=f.register(new h.EventEmitter),f._mouseMoveListener=function(e){return f._onMouseMove(e)},f._mouseUpListener=function(e){return f._onMouseUp(e)},f._coreService.onUserInput((function(){f.hasSelection&&f.clearSelection()})),f._trimListener=f._bufferService.buffer.lines.onTrim((function(e){return f._onTrim(e)})),f.register(f._bufferService.buffers.onBufferActivate((function(e){return f._onBufferActivate(e)}))),f.enable(),f._model=new c.SelectionModel(f._bufferService),f._activeSelectionMode=0,f}return n(t,e),Object.defineProperty(t.prototype,\"onLinuxMouseSelection\",{get:function(){return this._onLinuxMouseSelection.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"onRequestRedraw\",{get:function(){return this._onRedrawRequest.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"onSelectionChange\",{get:function(){return this._onSelectionChange.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"onRequestScrollLines\",{get:function(){return this._onRequestScrollLines.event},enumerable:!1,configurable:!0}),t.prototype.dispose=function(){this._removeMouseDownListeners()},t.prototype.reset=function(){this.clearSelection()},t.prototype.disable=function(){this.clearSelection(),this._enabled=!1},t.prototype.enable=function(){this._enabled=!0},Object.defineProperty(t.prototype,\"selectionStart\",{get:function(){return this._model.finalSelectionStart},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"selectionEnd\",{get:function(){return this._model.finalSelectionEnd},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"hasSelection\",{get:function(){var e=this._model.finalSelectionStart,t=this._model.finalSelectionEnd;return!(!e||!t||e[0]===t[0]&&e[1]===t[1])},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"selectionText\",{get:function(){var e=this._model.finalSelectionStart,t=this._model.finalSelectionEnd;if(!e||!t)return\"\";var r=this._bufferService.buffer,i=[];if(3===this._activeSelectionMode){if(e[0]===t[0])return\"\";for(var n=e[1];n<=t[1];n++){var o=r.translateBufferLineToString(n,!0,e[0],t[0]);i.push(o)}}else{var s=e[1]===t[1]?t[0]:void 0;for(i.push(r.translateBufferLineToString(e[1],!0,e[0],s)),n=e[1]+1;n<=t[1]-1;n++){var c=r.lines.get(n);o=r.translateBufferLineToString(n,!0),c&&c.isWrapped?i[i.length-1]+=o:i.push(o)}e[1]!==t[1]&&(c=r.lines.get(t[1]),o=r.translateBufferLineToString(t[1],!0,0,t[0]),c&&c.isWrapped?i[i.length-1]+=o:i.push(o))}return i.map((function(e){return e.replace(y,\" \")})).join(a.isWindows?\"\\r\\n\":\"\\n\")},enumerable:!1,configurable:!0}),t.prototype.clearSelection=function(){this._model.clearSelection(),this._removeMouseDownListeners(),this.refresh(),this._onSelectionChange.fire()},t.prototype.refresh=function(e){var t=this;this._refreshAnimationFrame||(this._refreshAnimationFrame=window.requestAnimationFrame((function(){return t._refresh()}))),a.isLinux&&e&&this.selectionText.length&&this._onLinuxMouseSelection.fire(this.selectionText)},t.prototype._refresh=function(){this._refreshAnimationFrame=void 0,this._onRedrawRequest.fire({start:this._model.finalSelectionStart,end:this._model.finalSelectionEnd,columnSelectMode:3===this._activeSelectionMode})},t.prototype._isClickInSelection=function(e){var t=this._getMouseBufferCoords(e),r=this._model.finalSelectionStart,i=this._model.finalSelectionEnd;return!!(r&&i&&t)&&this._areCoordsInSelection(t,r,i)},t.prototype._areCoordsInSelection=function(e,t,r){return e[1]>t[1]&&e[1]=t[0]&&e[0]=t[0]},t.prototype._selectWordAtCursor=function(e,t){var r,i,n=null===(i=null===(r=this._linkifier.currentLink)||void 0===r?void 0:r.link)||void 0===i?void 0:i.range;if(n)return this._model.selectionStart=[n.start.x-1,n.start.y-1],this._model.selectionStartLength=v.getRangeLength(n,this._bufferService.cols),this._model.selectionEnd=void 0,!0;var o=this._getMouseBufferCoords(e);return!!o&&(this._selectWordAt(o,t),this._model.selectionEnd=void 0,!0)},t.prototype.selectAll=function(){this._model.isSelectAllActive=!0,this.refresh(),this._onSelectionChange.fire()},t.prototype.selectLines=function(e,t){this._model.clearSelection(),e=Math.max(e,0),t=Math.min(t,this._bufferService.buffer.lines.length-1),this._model.selectionStart=[0,e],this._model.selectionEnd=[this._bufferService.cols,t],this.refresh(),this._onSelectionChange.fire()},t.prototype._onTrim=function(e){this._model.onTrim(e)&&this.refresh()},t.prototype._getMouseBufferCoords=function(e){var t=this._mouseService.getCoords(e,this._screenElement,this._bufferService.cols,this._bufferService.rows,!0);if(t)return t[0]--,t[1]--,t[1]+=this._bufferService.buffer.ydisp,t},t.prototype._getMouseEventScrollAmount=function(e){var t=_.getCoordsRelativeToElement(e,this._screenElement)[1],r=this._renderService.dimensions.canvasHeight;return t>=0&&t<=r?0:(t>r&&(t-=r),t=Math.min(Math.max(t,-50),50),(t/=50)/Math.abs(t)+Math.round(14*t))},t.prototype.shouldForceSelection=function(e){return a.isMac?e.altKey&&this._optionsService.options.macOptionClickForcesSelection:e.shiftKey},t.prototype.onMouseDown=function(e){if(this._mouseDownTimeStamp=e.timeStamp,(2!==e.button||!this.hasSelection)&&0===e.button){if(!this._enabled){if(!this.shouldForceSelection(e))return;e.stopPropagation()}e.preventDefault(),this._dragScrollAmount=0,this._enabled&&e.shiftKey?this._onIncrementalClick(e):1===e.detail?this._onSingleClick(e):2===e.detail?this._onDoubleClick(e):3===e.detail&&this._onTripleClick(e),this._addMouseDownListeners(),this.refresh(!0)}},t.prototype._addMouseDownListeners=function(){var e=this;this._screenElement.ownerDocument&&(this._screenElement.ownerDocument.addEventListener(\"mousemove\",this._mouseMoveListener),this._screenElement.ownerDocument.addEventListener(\"mouseup\",this._mouseUpListener)),this._dragScrollIntervalTimer=window.setInterval((function(){return e._dragScroll()}),50)},t.prototype._removeMouseDownListeners=function(){this._screenElement.ownerDocument&&(this._screenElement.ownerDocument.removeEventListener(\"mousemove\",this._mouseMoveListener),this._screenElement.ownerDocument.removeEventListener(\"mouseup\",this._mouseUpListener)),clearInterval(this._dragScrollIntervalTimer),this._dragScrollIntervalTimer=void 0},t.prototype._onIncrementalClick=function(e){this._model.selectionStart&&(this._model.selectionEnd=this._getMouseBufferCoords(e))},t.prototype._onSingleClick=function(e){if(this._model.selectionStartLength=0,this._model.isSelectAllActive=!1,this._activeSelectionMode=this.shouldColumnSelect(e)?3:0,this._model.selectionStart=this._getMouseBufferCoords(e),this._model.selectionStart){this._model.selectionEnd=void 0;var t=this._bufferService.buffer.lines.get(this._model.selectionStart[1]);t&&t.length!==this._model.selectionStart[0]&&0===t.hasWidth(this._model.selectionStart[0])&&this._model.selectionStart[0]++}},t.prototype._onDoubleClick=function(e){this._selectWordAtCursor(e,!0)&&(this._activeSelectionMode=1)},t.prototype._onTripleClick=function(e){var t=this._getMouseBufferCoords(e);t&&(this._activeSelectionMode=2,this._selectLineAt(t[1]))},t.prototype.shouldColumnSelect=function(e){return e.altKey&&!(a.isMac&&this._optionsService.options.macOptionClickForcesSelection)},t.prototype._onMouseMove=function(e){if(e.stopImmediatePropagation(),this._model.selectionStart){var t=this._model.selectionEnd?[this._model.selectionEnd[0],this._model.selectionEnd[1]]:null;if(this._model.selectionEnd=this._getMouseBufferCoords(e),this._model.selectionEnd){2===this._activeSelectionMode?this._model.selectionEnd[1]0?this._model.selectionEnd[0]=this._bufferService.cols:this._dragScrollAmount<0&&(this._model.selectionEnd[0]=0));var r=this._bufferService.buffer;if(this._model.selectionEnd[1]0?(3!==this._activeSelectionMode&&(this._model.selectionEnd[0]=this._bufferService.cols),this._model.selectionEnd[1]=Math.min(e.ydisp+this._bufferService.rows,e.lines.length-1)):(3!==this._activeSelectionMode&&(this._model.selectionEnd[0]=0),this._model.selectionEnd[1]=e.ydisp),this.refresh()}},t.prototype._onMouseUp=function(e){var t=e.timeStamp-this._mouseDownTimeStamp;if(this._removeMouseDownListeners(),this.selectionText.length<=1&&t<500&&e.altKey&&this._optionsService.getOption(\"altClickMovesCursor\")){if(this._bufferService.buffer.ybase===this._bufferService.buffer.ydisp){var r=this._mouseService.getCoords(e,this._element,this._bufferService.cols,this._bufferService.rows,!1);if(r&&void 0!==r[0]&&void 0!==r[1]){var i=d.moveToCellSequence(r[0]-1,r[1]-1,this._bufferService,this._coreService.decPrivateModes.applicationCursorKeys);this._coreService.triggerDataEvent(i,!0)}}}else this._fireEventIfSelectionChanged()},t.prototype._fireEventIfSelectionChanged=function(){var e=this._model.finalSelectionStart,t=this._model.finalSelectionEnd,r=!(!e||!t||e[0]===t[0]&&e[1]===t[1]);r?e&&t&&(this._oldSelectionStart&&this._oldSelectionEnd&&e[0]===this._oldSelectionStart[0]&&e[1]===this._oldSelectionStart[1]&&t[0]===this._oldSelectionEnd[0]&&t[1]===this._oldSelectionEnd[1]||this._fireOnSelectionChange(e,t,r)):this._oldHasSelection&&this._fireOnSelectionChange(e,t,r)},t.prototype._fireOnSelectionChange=function(e,t,r){this._oldSelectionStart=e,this._oldSelectionEnd=t,this._oldHasSelection=r,this._onSelectionChange.fire()},t.prototype._onBufferActivate=function(e){var t=this;this.clearSelection(),this._trimListener.dispose(),this._trimListener=e.activeBuffer.lines.onTrim((function(e){return t._onTrim(e)}))},t.prototype._convertViewportColToCharacterIndex=function(e,t){for(var r=t[0],i=0;t[0]>=i;i++){var n=e.loadCell(i,this._workCell).getChars().length;0===this._workCell.getWidth()?r--:n>1&&t[0]!==i&&(r+=n-1)}return r},t.prototype.setSelection=function(e,t,r){this._model.clearSelection(),this._removeMouseDownListeners(),this._model.selectionStart=[e,t],this._model.selectionStartLength=r,this.refresh()},t.prototype.rightClickSelect=function(e){this._isClickInSelection(e)||(this._selectWordAtCursor(e,!1)&&this.refresh(!0),this._fireEventIfSelectionChanged())},t.prototype._getWordAt=function(e,t,r,i){if(void 0===r&&(r=!0),void 0===i&&(i=!0),!(e[0]>=this._bufferService.cols)){var n=this._bufferService.buffer,o=n.lines.get(e[1]);if(o){var s=n.translateBufferLineToString(e[1],!1),a=this._convertViewportColToCharacterIndex(o,e),c=a,l=e[0]-a,h=0,u=0,f=0,_=0;if(\" \"===s.charAt(a)){for(;a>0&&\" \"===s.charAt(a-1);)a--;for(;c1&&(_+=v-1,c+=v-1);d>0&&a>0&&!this._isCharWordSeparator(o.loadCell(d-1,this._workCell));){o.loadCell(d-1,this._workCell);var g=this._workCell.getChars().length;0===this._workCell.getWidth()?(h++,d--):g>1&&(f+=g-1,a-=g-1),a--,d--}for(;p1&&(_+=y-1,c+=y-1),c++,p++}}c++;var b=a+l-h+f,S=Math.min(this._bufferService.cols,c-a+h+u-f-_);if(t||\"\"!==s.slice(a,c).trim()){if(r&&0===b&&32!==o.getCodePoint(0)){var m=n.lines.get(e[1]-1);if(m&&o.isWrapped&&32!==m.getCodePoint(this._bufferService.cols-1)){var C=this._getWordAt([this._bufferService.cols-1,e[1]-1],!1,!0,!1);if(C){var w=this._bufferService.cols-C.start;b-=w,S+=w}}}if(i&&b+S===this._bufferService.cols&&32!==o.getCodePoint(this._bufferService.cols-1)){var E=n.lines.get(e[1]+1);if(E&&E.isWrapped&&32!==E.getCodePoint(0)){var L=this._getWordAt([0,e[1]+1],!1,!1,!0);L&&(S+=L.length)}}return{start:b,length:S}}}}},t.prototype._selectWordAt=function(e,t){var r=this._getWordAt(e,t);if(r){for(;r.start<0;)r.start+=this._bufferService.cols,e[1]--;this._model.selectionStart=[r.start,e[1]],this._model.selectionStartLength=r.length}},t.prototype._selectToWordAt=function(e){var t=this._getWordAt(e,!0);if(t){for(var r=e[1];t.start<0;)t.start+=this._bufferService.cols,r--;if(!this._model.areSelectionValuesReversed())for(;t.start+t.length>this._bufferService.cols;)t.length-=this._bufferService.cols,r++;this._model.selectionEnd=[this._model.areSelectionValuesReversed()?t.start:t.start+t.length,r]}},t.prototype._isCharWordSeparator=function(e){return 0!==e.getWidth()&&this._optionsService.options.wordSeparator.indexOf(e.getChars())>=0},t.prototype._selectLineAt=function(e){var t=this._bufferService.buffer.getWrappedRangeForLine(e);this._model.selectionStart=[0,t.first],this._model.selectionEnd=[this._bufferService.cols,t.last],this._model.selectionStartLength=0},o([s(3,f.IBufferService),s(4,f.ICoreService),s(5,u.IMouseService),s(6,f.IOptionsService),s(7,u.IRenderService)],t)}(p.Disposable);t.SelectionService=b},4725:(e,t,r)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.ICharacterJoinerService=t.ISoundService=t.ISelectionService=t.IRenderService=t.IMouseService=t.ICoreBrowserService=t.ICharSizeService=void 0;var i=r(8343);t.ICharSizeService=i.createDecorator(\"CharSizeService\"),t.ICoreBrowserService=i.createDecorator(\"CoreBrowserService\"),t.IMouseService=i.createDecorator(\"MouseService\"),t.IRenderService=i.createDecorator(\"RenderService\"),t.ISelectionService=i.createDecorator(\"SelectionService\"),t.ISoundService=i.createDecorator(\"SoundService\"),t.ICharacterJoinerService=i.createDecorator(\"CharacterJoinerService\")},357:function(e,t,r){var i=this&&this.__decorate||function(e,t,r,i){var n,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},n=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.SoundService=void 0;var o=r(2585),s=function(){function e(e){this._optionsService=e}return Object.defineProperty(e,\"audioContext\",{get:function(){if(!e._audioContext){var t=window.AudioContext||window.webkitAudioContext;if(!t)return console.warn(\"Web Audio API is not supported by this browser. Consider upgrading to the latest version\"),null;e._audioContext=new t}return e._audioContext},enumerable:!1,configurable:!0}),e.prototype.playBellSound=function(){var t=e.audioContext;if(t){var r=t.createBufferSource();t.decodeAudioData(this._base64ToArrayBuffer(this._removeMimeType(this._optionsService.options.bellSound)),(function(e){r.buffer=e,r.connect(t.destination),r.start(0)}))}},e.prototype._base64ToArrayBuffer=function(e){for(var t=window.atob(e),r=t.length,i=new Uint8Array(r),n=0;n{Object.defineProperty(t,\"__esModule\",{value:!0}),t.CircularList=void 0;var i=r(8460),n=function(){function e(e){this._maxLength=e,this.onDeleteEmitter=new i.EventEmitter,this.onInsertEmitter=new i.EventEmitter,this.onTrimEmitter=new i.EventEmitter,this._array=new Array(this._maxLength),this._startIndex=0,this._length=0}return Object.defineProperty(e.prototype,\"onDelete\",{get:function(){return this.onDeleteEmitter.event},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"onInsert\",{get:function(){return this.onInsertEmitter.event},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"onTrim\",{get:function(){return this.onTrimEmitter.event},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"maxLength\",{get:function(){return this._maxLength},set:function(e){if(this._maxLength!==e){for(var t=new Array(e),r=0;rthis._length)for(var t=this._length;t=e;n--)this._array[this._getCyclicIndex(n+r.length)]=this._array[this._getCyclicIndex(n)];for(n=0;nthis._maxLength){var o=this._length+r.length-this._maxLength;this._startIndex+=o,this._length=this._maxLength,this.onTrimEmitter.fire(o)}else this._length+=r.length},e.prototype.trimStart=function(e){e>this._length&&(e=this._length),this._startIndex+=e,this._length-=e,this.onTrimEmitter.fire(e)},e.prototype.shiftElements=function(e,t,r){if(!(t<=0)){if(e<0||e>=this._length)throw new Error(\"start argument out of range\");if(e+r<0)throw new Error(\"Cannot shift elements in list beyond index 0\");if(r>0){for(var i=t-1;i>=0;i--)this.set(e+i+r,this.get(e+i));var n=e+t+r-this._length;if(n>0)for(this._length+=n;this._length>this._maxLength;)this._length--,this._startIndex++,this.onTrimEmitter.fire(1)}else for(i=0;i{Object.defineProperty(t,\"__esModule\",{value:!0}),t.clone=void 0,t.clone=function e(t,r){if(void 0===r&&(r=5),\"object\"!=typeof t)return t;var i=Array.isArray(t)?[]:{};for(var n in t)i[n]=r<=1?t[n]:t[n]?e(t[n],r-1):t[n];return i}},8969:function(e,t,r){var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});Object.defineProperty(t,\"__esModule\",{value:!0}),t.CoreTerminal=void 0;var o=r(844),s=r(2585),a=r(4348),c=r(7866),l=r(744),h=r(7302),u=r(6975),f=r(8460),_=r(1753),d=r(3730),p=r(1480),v=r(7994),g=r(9282),y=r(5435),b=r(5981),S=!1,m=function(e){function t(t){var r=e.call(this)||this;return r._onBinary=new f.EventEmitter,r._onData=new f.EventEmitter,r._onLineFeed=new f.EventEmitter,r._onResize=new f.EventEmitter,r._onScroll=new f.EventEmitter,r._instantiationService=new a.InstantiationService,r.optionsService=new h.OptionsService(t),r._instantiationService.setService(s.IOptionsService,r.optionsService),r._bufferService=r.register(r._instantiationService.createInstance(l.BufferService)),r._instantiationService.setService(s.IBufferService,r._bufferService),r._logService=r._instantiationService.createInstance(c.LogService),r._instantiationService.setService(s.ILogService,r._logService),r._coreService=r.register(r._instantiationService.createInstance(u.CoreService,(function(){return r.scrollToBottom()}))),r._instantiationService.setService(s.ICoreService,r._coreService),r._coreMouseService=r._instantiationService.createInstance(_.CoreMouseService),r._instantiationService.setService(s.ICoreMouseService,r._coreMouseService),r._dirtyRowService=r._instantiationService.createInstance(d.DirtyRowService),r._instantiationService.setService(s.IDirtyRowService,r._dirtyRowService),r.unicodeService=r._instantiationService.createInstance(p.UnicodeService),r._instantiationService.setService(s.IUnicodeService,r.unicodeService),r._charsetService=r._instantiationService.createInstance(v.CharsetService),r._instantiationService.setService(s.ICharsetService,r._charsetService),r._inputHandler=new y.InputHandler(r._bufferService,r._charsetService,r._coreService,r._dirtyRowService,r._logService,r.optionsService,r._coreMouseService,r.unicodeService),r.register(f.forwardEvent(r._inputHandler.onLineFeed,r._onLineFeed)),r.register(r._inputHandler),r.register(f.forwardEvent(r._bufferService.onResize,r._onResize)),r.register(f.forwardEvent(r._coreService.onData,r._onData)),r.register(f.forwardEvent(r._coreService.onBinary,r._onBinary)),r.register(r.optionsService.onOptionChange((function(e){return r._updateOptions(e)}))),r.register(r._bufferService.onScroll((function(e){r._onScroll.fire({position:r._bufferService.buffer.ydisp,source:0}),r._dirtyRowService.markRangeDirty(r._bufferService.buffer.scrollTop,r._bufferService.buffer.scrollBottom)}))),r._writeBuffer=new b.WriteBuffer((function(e,t){return r._inputHandler.parse(e,t)})),r}return n(t,e),Object.defineProperty(t.prototype,\"onBinary\",{get:function(){return this._onBinary.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"onData\",{get:function(){return this._onData.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"onLineFeed\",{get:function(){return this._onLineFeed.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"onResize\",{get:function(){return this._onResize.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"onScroll\",{get:function(){var e=this;return this._onScrollApi||(this._onScrollApi=new f.EventEmitter,this.register(this._onScroll.event((function(t){var r;null===(r=e._onScrollApi)||void 0===r||r.fire(t.position)})))),this._onScrollApi.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"cols\",{get:function(){return this._bufferService.cols},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"rows\",{get:function(){return this._bufferService.rows},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"buffers\",{get:function(){return this._bufferService.buffers},enumerable:!1,configurable:!0}),t.prototype.dispose=function(){var t;this._isDisposed||(e.prototype.dispose.call(this),null===(t=this._windowsMode)||void 0===t||t.dispose(),this._windowsMode=void 0)},t.prototype.write=function(e,t){this._writeBuffer.write(e,t)},t.prototype.writeSync=function(e,t){this._logService.logLevel<=s.LogLevelEnum.WARN&&!S&&(this._logService.warn(\"writeSync is unreliable and will be removed soon.\"),S=!0),this._writeBuffer.writeSync(e,t)},t.prototype.resize=function(e,t){isNaN(e)||isNaN(t)||(e=Math.max(e,l.MINIMUM_COLS),t=Math.max(t,l.MINIMUM_ROWS),this._bufferService.resize(e,t))},t.prototype.scroll=function(e,t){void 0===t&&(t=!1),this._bufferService.scroll(e,t)},t.prototype.scrollLines=function(e,t,r){this._bufferService.scrollLines(e,t,r)},t.prototype.scrollPages=function(e){this._bufferService.scrollPages(e)},t.prototype.scrollToTop=function(){this._bufferService.scrollToTop()},t.prototype.scrollToBottom=function(){this._bufferService.scrollToBottom()},t.prototype.scrollToLine=function(e){this._bufferService.scrollToLine(e)},t.prototype.registerEscHandler=function(e,t){return this._inputHandler.registerEscHandler(e,t)},t.prototype.registerDcsHandler=function(e,t){return this._inputHandler.registerDcsHandler(e,t)},t.prototype.registerCsiHandler=function(e,t){return this._inputHandler.registerCsiHandler(e,t)},t.prototype.registerOscHandler=function(e,t){return this._inputHandler.registerOscHandler(e,t)},t.prototype._setup=function(){this.optionsService.options.windowsMode&&this._enableWindowsMode()},t.prototype.reset=function(){this._inputHandler.reset(),this._bufferService.reset(),this._charsetService.reset(),this._coreService.reset(),this._coreMouseService.reset()},t.prototype._updateOptions=function(e){var t;switch(e){case\"scrollback\":this.buffers.resize(this.cols,this.rows);break;case\"windowsMode\":this.optionsService.options.windowsMode?this._enableWindowsMode():(null===(t=this._windowsMode)||void 0===t||t.dispose(),this._windowsMode=void 0)}},t.prototype._enableWindowsMode=function(){var e=this;if(!this._windowsMode){var t=[];t.push(this.onLineFeed(g.updateWindowsModeWrappedState.bind(null,this._bufferService))),t.push(this.registerCsiHandler({final:\"H\"},(function(){return g.updateWindowsModeWrappedState(e._bufferService),!1}))),this._windowsMode={dispose:function(){for(var e=0,r=t;e{Object.defineProperty(t,\"__esModule\",{value:!0}),t.forwardEvent=t.EventEmitter=void 0;var r=function(){function e(){this._listeners=[],this._disposed=!1}return Object.defineProperty(e.prototype,\"event\",{get:function(){var e=this;return this._event||(this._event=function(t){return e._listeners.push(t),{dispose:function(){if(!e._disposed)for(var r=0;r24)return t.setWinLines||!1;switch(e){case 1:return!!t.restoreWin;case 2:return!!t.minimizeWin;case 3:return!!t.setWinPosition;case 4:return!!t.setWinSizePixels;case 5:return!!t.raiseWin;case 6:return!!t.lowerWin;case 7:return!!t.refreshWin;case 8:return!!t.setWinSizeChars;case 9:return!!t.maximizeWin;case 10:return!!t.fullscreenWin;case 11:return!!t.getWinState;case 13:return!!t.getWinPosition;case 14:return!!t.getWinSizePixels;case 15:return!!t.getScreenSizePixels;case 16:return!!t.getCellSizePixels;case 18:return!!t.getWinSizeChars;case 19:return!!t.getScreenSizeChars;case 20:return!!t.getIconTitle;case 21:return!!t.getWinTitle;case 22:return!!t.pushTitle;case 23:return!!t.popTitle;case 24:return!!t.setWinLines}return!1}!function(e){e[e.GET_WIN_SIZE_PIXELS=0]=\"GET_WIN_SIZE_PIXELS\",e[e.GET_CELL_SIZE_PIXELS=1]=\"GET_CELL_SIZE_PIXELS\"}(o=t.WindowsOptionsReportType||(t.WindowsOptionsReportType={}));var w=function(){function e(e,t,r,i){this._bufferService=e,this._coreService=t,this._logService=r,this._optionsService=i,this._data=new Uint32Array(0)}return e.prototype.hook=function(e){this._data=new Uint32Array(0)},e.prototype.put=function(e,t,r){this._data=h.concat(this._data,e.subarray(t,r))},e.prototype.unhook=function(e){if(!e)return this._data=new Uint32Array(0),!0;var t=u.utf32ToString(this._data);switch(this._data=new Uint32Array(0),t){case'\"q':this._coreService.triggerDataEvent(s.C0.ESC+'P1$r0\"q'+s.C0.ESC+\"\\\\\");break;case'\"p':this._coreService.triggerDataEvent(s.C0.ESC+'P1$r61;1\"p'+s.C0.ESC+\"\\\\\");break;case\"r\":var r=this._bufferService.buffer.scrollTop+1+\";\"+(this._bufferService.buffer.scrollBottom+1)+\"r\";this._coreService.triggerDataEvent(s.C0.ESC+\"P1$r\"+r+s.C0.ESC+\"\\\\\");break;case\"m\":this._coreService.triggerDataEvent(s.C0.ESC+\"P1$r0m\"+s.C0.ESC+\"\\\\\");break;case\" q\":var i={block:2,underline:4,bar:6}[this._optionsService.options.cursorStyle];i-=this._optionsService.options.cursorBlink?1:0,this._coreService.triggerDataEvent(s.C0.ESC+\"P1$r\"+i+\" q\"+s.C0.ESC+\"\\\\\");break;default:this._logService.debug(\"Unknown DCS $q %s\",t),this._coreService.triggerDataEvent(s.C0.ESC+\"P0$r\"+s.C0.ESC+\"\\\\\")}return!0},e}(),E=function(e){function t(t,r,i,n,o,l,h,d,v){void 0===v&&(v=new c.EscapeSequenceParser);var g=e.call(this)||this;g._bufferService=t,g._charsetService=r,g._coreService=i,g._dirtyRowService=n,g._logService=o,g._optionsService=l,g._coreMouseService=h,g._unicodeService=d,g._parser=v,g._parseBuffer=new Uint32Array(4096),g._stringDecoder=new u.StringToUtf32,g._utf8Decoder=new u.Utf8ToUtf32,g._workCell=new p.CellData,g._windowTitle=\"\",g._iconName=\"\",g._windowTitleStack=[],g._iconNameStack=[],g._curAttrData=f.DEFAULT_ATTR_DATA.clone(),g._eraseAttrDataInternal=f.DEFAULT_ATTR_DATA.clone(),g._onRequestBell=new _.EventEmitter,g._onRequestRefreshRows=new _.EventEmitter,g._onRequestReset=new _.EventEmitter,g._onRequestSyncScrollBar=new _.EventEmitter,g._onRequestWindowsOptionsReport=new _.EventEmitter,g._onA11yChar=new _.EventEmitter,g._onA11yTab=new _.EventEmitter,g._onCursorMove=new _.EventEmitter,g._onLineFeed=new _.EventEmitter,g._onScroll=new _.EventEmitter,g._onTitleChange=new _.EventEmitter,g._onAnsiColorChange=new _.EventEmitter,g._parseStack={paused:!1,cursorStartX:0,cursorStartY:0,decodedLength:0,position:0},g.register(g._parser),g._parser.setCsiHandlerFallback((function(e,t){g._logService.debug(\"Unknown CSI code: \",{identifier:g._parser.identToString(e),params:t.toArray()})})),g._parser.setEscHandlerFallback((function(e){g._logService.debug(\"Unknown ESC code: \",{identifier:g._parser.identToString(e)})})),g._parser.setExecuteHandlerFallback((function(e){g._logService.debug(\"Unknown EXECUTE code: \",{code:e})})),g._parser.setOscHandlerFallback((function(e,t,r){g._logService.debug(\"Unknown OSC code: \",{identifier:e,action:t,data:r})})),g._parser.setDcsHandlerFallback((function(e,t,r){\"HOOK\"===t&&(r=r.toArray()),g._logService.debug(\"Unknown DCS code: \",{identifier:g._parser.identToString(e),action:t,payload:r})})),g._parser.setPrintHandler((function(e,t,r){return g.print(e,t,r)})),g._parser.registerCsiHandler({final:\"@\"},(function(e){return g.insertChars(e)})),g._parser.registerCsiHandler({intermediates:\" \",final:\"@\"},(function(e){return g.scrollLeft(e)})),g._parser.registerCsiHandler({final:\"A\"},(function(e){return g.cursorUp(e)})),g._parser.registerCsiHandler({intermediates:\" \",final:\"A\"},(function(e){return g.scrollRight(e)})),g._parser.registerCsiHandler({final:\"B\"},(function(e){return g.cursorDown(e)})),g._parser.registerCsiHandler({final:\"C\"},(function(e){return g.cursorForward(e)})),g._parser.registerCsiHandler({final:\"D\"},(function(e){return g.cursorBackward(e)})),g._parser.registerCsiHandler({final:\"E\"},(function(e){return g.cursorNextLine(e)})),g._parser.registerCsiHandler({final:\"F\"},(function(e){return g.cursorPrecedingLine(e)})),g._parser.registerCsiHandler({final:\"G\"},(function(e){return g.cursorCharAbsolute(e)})),g._parser.registerCsiHandler({final:\"H\"},(function(e){return g.cursorPosition(e)})),g._parser.registerCsiHandler({final:\"I\"},(function(e){return g.cursorForwardTab(e)})),g._parser.registerCsiHandler({final:\"J\"},(function(e){return g.eraseInDisplay(e)})),g._parser.registerCsiHandler({prefix:\"?\",final:\"J\"},(function(e){return g.eraseInDisplay(e)})),g._parser.registerCsiHandler({final:\"K\"},(function(e){return g.eraseInLine(e)})),g._parser.registerCsiHandler({prefix:\"?\",final:\"K\"},(function(e){return g.eraseInLine(e)})),g._parser.registerCsiHandler({final:\"L\"},(function(e){return g.insertLines(e)})),g._parser.registerCsiHandler({final:\"M\"},(function(e){return g.deleteLines(e)})),g._parser.registerCsiHandler({final:\"P\"},(function(e){return g.deleteChars(e)})),g._parser.registerCsiHandler({final:\"S\"},(function(e){return g.scrollUp(e)})),g._parser.registerCsiHandler({final:\"T\"},(function(e){return g.scrollDown(e)})),g._parser.registerCsiHandler({final:\"X\"},(function(e){return g.eraseChars(e)})),g._parser.registerCsiHandler({final:\"Z\"},(function(e){return g.cursorBackwardTab(e)})),g._parser.registerCsiHandler({final:\"`\"},(function(e){return g.charPosAbsolute(e)})),g._parser.registerCsiHandler({final:\"a\"},(function(e){return g.hPositionRelative(e)})),g._parser.registerCsiHandler({final:\"b\"},(function(e){return g.repeatPrecedingCharacter(e)})),g._parser.registerCsiHandler({final:\"c\"},(function(e){return g.sendDeviceAttributesPrimary(e)})),g._parser.registerCsiHandler({prefix:\">\",final:\"c\"},(function(e){return g.sendDeviceAttributesSecondary(e)})),g._parser.registerCsiHandler({final:\"d\"},(function(e){return g.linePosAbsolute(e)})),g._parser.registerCsiHandler({final:\"e\"},(function(e){return g.vPositionRelative(e)})),g._parser.registerCsiHandler({final:\"f\"},(function(e){return g.hVPosition(e)})),g._parser.registerCsiHandler({final:\"g\"},(function(e){return g.tabClear(e)})),g._parser.registerCsiHandler({final:\"h\"},(function(e){return g.setMode(e)})),g._parser.registerCsiHandler({prefix:\"?\",final:\"h\"},(function(e){return g.setModePrivate(e)})),g._parser.registerCsiHandler({final:\"l\"},(function(e){return g.resetMode(e)})),g._parser.registerCsiHandler({prefix:\"?\",final:\"l\"},(function(e){return g.resetModePrivate(e)})),g._parser.registerCsiHandler({final:\"m\"},(function(e){return g.charAttributes(e)})),g._parser.registerCsiHandler({final:\"n\"},(function(e){return g.deviceStatus(e)})),g._parser.registerCsiHandler({prefix:\"?\",final:\"n\"},(function(e){return g.deviceStatusPrivate(e)})),g._parser.registerCsiHandler({intermediates:\"!\",final:\"p\"},(function(e){return g.softReset(e)})),g._parser.registerCsiHandler({intermediates:\" \",final:\"q\"},(function(e){return g.setCursorStyle(e)})),g._parser.registerCsiHandler({final:\"r\"},(function(e){return g.setScrollRegion(e)})),g._parser.registerCsiHandler({final:\"s\"},(function(e){return g.saveCursor(e)})),g._parser.registerCsiHandler({final:\"t\"},(function(e){return g.windowOptions(e)})),g._parser.registerCsiHandler({final:\"u\"},(function(e){return g.restoreCursor(e)})),g._parser.registerCsiHandler({intermediates:\"'\",final:\"}\"},(function(e){return g.insertColumns(e)})),g._parser.registerCsiHandler({intermediates:\"'\",final:\"~\"},(function(e){return g.deleteColumns(e)})),g._parser.setExecuteHandler(s.C0.BEL,(function(){return g.bell()})),g._parser.setExecuteHandler(s.C0.LF,(function(){return g.lineFeed()})),g._parser.setExecuteHandler(s.C0.VT,(function(){return g.lineFeed()})),g._parser.setExecuteHandler(s.C0.FF,(function(){return g.lineFeed()})),g._parser.setExecuteHandler(s.C0.CR,(function(){return g.carriageReturn()})),g._parser.setExecuteHandler(s.C0.BS,(function(){return g.backspace()})),g._parser.setExecuteHandler(s.C0.HT,(function(){return g.tab()})),g._parser.setExecuteHandler(s.C0.SO,(function(){return g.shiftOut()})),g._parser.setExecuteHandler(s.C0.SI,(function(){return g.shiftIn()})),g._parser.setExecuteHandler(s.C1.IND,(function(){return g.index()})),g._parser.setExecuteHandler(s.C1.NEL,(function(){return g.nextLine()})),g._parser.setExecuteHandler(s.C1.HTS,(function(){return g.tabSet()})),g._parser.registerOscHandler(0,new y.OscHandler((function(e){return g.setTitle(e),g.setIconName(e),!0}))),g._parser.registerOscHandler(1,new y.OscHandler((function(e){return g.setIconName(e)}))),g._parser.registerOscHandler(2,new y.OscHandler((function(e){return g.setTitle(e)}))),g._parser.registerOscHandler(4,new y.OscHandler((function(e){return g.setAnsiColor(e)}))),g._parser.registerEscHandler({final:\"7\"},(function(){return g.saveCursor()})),g._parser.registerEscHandler({final:\"8\"},(function(){return g.restoreCursor()})),g._parser.registerEscHandler({final:\"D\"},(function(){return g.index()})),g._parser.registerEscHandler({final:\"E\"},(function(){return g.nextLine()})),g._parser.registerEscHandler({final:\"H\"},(function(){return g.tabSet()})),g._parser.registerEscHandler({final:\"M\"},(function(){return g.reverseIndex()})),g._parser.registerEscHandler({final:\"=\"},(function(){return g.keypadApplicationMode()})),g._parser.registerEscHandler({final:\">\"},(function(){return g.keypadNumericMode()})),g._parser.registerEscHandler({final:\"c\"},(function(){return g.fullReset()})),g._parser.registerEscHandler({final:\"n\"},(function(){return g.setgLevel(2)})),g._parser.registerEscHandler({final:\"o\"},(function(){return g.setgLevel(3)})),g._parser.registerEscHandler({final:\"|\"},(function(){return g.setgLevel(3)})),g._parser.registerEscHandler({final:\"}\"},(function(){return g.setgLevel(2)})),g._parser.registerEscHandler({final:\"~\"},(function(){return g.setgLevel(1)})),g._parser.registerEscHandler({intermediates:\"%\",final:\"@\"},(function(){return g.selectDefaultCharset()})),g._parser.registerEscHandler({intermediates:\"%\",final:\"G\"},(function(){return g.selectDefaultCharset()}));var b=function(e){S._parser.registerEscHandler({intermediates:\"(\",final:e},(function(){return g.selectCharset(\"(\"+e)})),S._parser.registerEscHandler({intermediates:\")\",final:e},(function(){return g.selectCharset(\")\"+e)})),S._parser.registerEscHandler({intermediates:\"*\",final:e},(function(){return g.selectCharset(\"*\"+e)})),S._parser.registerEscHandler({intermediates:\"+\",final:e},(function(){return g.selectCharset(\"+\"+e)})),S._parser.registerEscHandler({intermediates:\"-\",final:e},(function(){return g.selectCharset(\"-\"+e)})),S._parser.registerEscHandler({intermediates:\".\",final:e},(function(){return g.selectCharset(\".\"+e)})),S._parser.registerEscHandler({intermediates:\"/\",final:e},(function(){return g.selectCharset(\"/\"+e)}))},S=this;for(var m in a.CHARSETS)b(m);return g._parser.registerEscHandler({intermediates:\"#\",final:\"8\"},(function(){return g.screenAlignmentPattern()})),g._parser.setErrorHandler((function(e){return g._logService.error(\"Parsing error: \",e),e})),g._parser.registerDcsHandler({intermediates:\"$\",final:\"q\"},new w(g._bufferService,g._coreService,g._logService,g._optionsService)),g}return n(t,e),Object.defineProperty(t.prototype,\"onRequestBell\",{get:function(){return this._onRequestBell.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"onRequestRefreshRows\",{get:function(){return this._onRequestRefreshRows.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"onRequestReset\",{get:function(){return this._onRequestReset.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"onRequestSyncScrollBar\",{get:function(){return this._onRequestSyncScrollBar.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"onRequestWindowsOptionsReport\",{get:function(){return this._onRequestWindowsOptionsReport.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"onA11yChar\",{get:function(){return this._onA11yChar.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"onA11yTab\",{get:function(){return this._onA11yTab.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"onCursorMove\",{get:function(){return this._onCursorMove.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"onLineFeed\",{get:function(){return this._onLineFeed.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"onScroll\",{get:function(){return this._onScroll.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"onTitleChange\",{get:function(){return this._onTitleChange.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"onAnsiColorChange\",{get:function(){return this._onAnsiColorChange.event},enumerable:!1,configurable:!0}),t.prototype.dispose=function(){e.prototype.dispose.call(this)},t.prototype._preserveStack=function(e,t,r,i){this._parseStack.paused=!0,this._parseStack.cursorStartX=e,this._parseStack.cursorStartY=t,this._parseStack.decodedLength=r,this._parseStack.position=i},t.prototype._logSlowResolvingAsync=function(e){this._logService.logLevel<=g.LogLevelEnum.WARN&&Promise.race([e,new Promise((function(e,t){return setTimeout((function(){return t(\"#SLOW_TIMEOUT\")}),5e3)}))]).catch((function(e){if(\"#SLOW_TIMEOUT\"!==e)throw e;console.warn(\"async parser handler taking longer than 5000 ms\")}))},t.prototype.parse=function(e,t){var r,i=this._bufferService.buffer,n=i.x,o=i.y,s=0,a=this._parseStack.paused;if(a){if(r=this._parser.parse(this._parseBuffer,this._parseStack.decodedLength,t))return this._logSlowResolvingAsync(r),r;n=this._parseStack.cursorStartX,o=this._parseStack.cursorStartY,this._parseStack.paused=!1,e.length>m&&(s=this._parseStack.position+m)}if(this._logService.debug(\"parsing data\",e),this._parseBuffer.lengthm)for(var c=s;c0&&2===_.getWidth(o.x-1)&&_.setCellFromCodePoint(o.x-1,0,1,f.fg,f.bg,f.extended);for(var p=t;p=c)if(l){for(;o.x=this._bufferService.rows&&(o.y=this._bufferService.rows-1),o.lines.get(o.ybase+o.y).isWrapped=!0),_=o.lines.get(o.ybase+o.y)}else if(o.x=c-1,2===n)continue;if(h&&(_.insertCells(o.x,n,o.getNullCell(f),f),2===_.getWidth(c-1)&&_.setCellFromCodePoint(c-1,d.NULL_CELL_CODE,d.NULL_CELL_WIDTH,f.fg,f.bg,f.extended)),_.setCellFromCodePoint(o.x++,i,n,f.fg,f.bg,f.extended),n>0)for(;--n;)_.setCellFromCodePoint(o.x++,0,0,f.fg,f.bg,f.extended)}else _.getWidth(o.x-1)?_.addCodepointToCell(o.x-1,i):_.addCodepointToCell(o.x-2,i)}r-t>0&&(_.loadCell(o.x-1,this._workCell),2===this._workCell.getWidth()||this._workCell.getCode()>65535?this._parser.precedingCodepoint=0:this._workCell.isCombined()?this._parser.precedingCodepoint=this._workCell.getChars().charCodeAt(0):this._parser.precedingCodepoint=this._workCell.content),o.x0&&0===_.getWidth(o.x)&&!_.hasContent(o.x)&&_.setCellFromCodePoint(o.x,0,1,f.fg,f.bg,f.extended),this._dirtyRowService.markDirty(o.y)},t.prototype.registerCsiHandler=function(e,t){var r=this;return\"t\"!==e.final||e.prefix||e.intermediates?this._parser.registerCsiHandler(e,t):this._parser.registerCsiHandler(e,(function(e){return!C(e.params[0],r._optionsService.options.windowOptions)||t(e)}))},t.prototype.registerDcsHandler=function(e,t){return this._parser.registerDcsHandler(e,new b.DcsHandler(t))},t.prototype.registerEscHandler=function(e,t){return this._parser.registerEscHandler(e,t)},t.prototype.registerOscHandler=function(e,t){return this._parser.registerOscHandler(e,new y.OscHandler(t))},t.prototype.bell=function(){return this._onRequestBell.fire(),!0},t.prototype.lineFeed=function(){var e=this._bufferService.buffer;return this._dirtyRowService.markDirty(e.y),this._optionsService.options.convertEol&&(e.x=0),e.y++,e.y===e.scrollBottom+1?(e.y--,this._bufferService.scroll(this._eraseAttrData())):e.y>=this._bufferService.rows&&(e.y=this._bufferService.rows-1),e.x>=this._bufferService.cols&&e.x--,this._dirtyRowService.markDirty(e.y),this._onLineFeed.fire(),!0},t.prototype.carriageReturn=function(){return this._bufferService.buffer.x=0,!0},t.prototype.backspace=function(){var e,t=this._bufferService.buffer;if(!this._coreService.decPrivateModes.reverseWraparound)return this._restrictCursor(),t.x>0&&t.x--,!0;if(this._restrictCursor(this._bufferService.cols),t.x>0)t.x--;else if(0===t.x&&t.y>t.scrollTop&&t.y<=t.scrollBottom&&(null===(e=t.lines.get(t.ybase+t.y))||void 0===e?void 0:e.isWrapped)){t.lines.get(t.ybase+t.y).isWrapped=!1,t.y--,t.x=this._bufferService.cols-1;var r=t.lines.get(t.ybase+t.y);r.hasWidth(t.x)&&!r.hasContent(t.x)&&t.x--}return this._restrictCursor(),!0},t.prototype.tab=function(){if(this._bufferService.buffer.x>=this._bufferService.cols)return!0;var e=this._bufferService.buffer.x;return this._bufferService.buffer.x=this._bufferService.buffer.nextStop(),this._optionsService.options.screenReaderMode&&this._onA11yTab.fire(this._bufferService.buffer.x-e),!0},t.prototype.shiftOut=function(){return this._charsetService.setgLevel(1),!0},t.prototype.shiftIn=function(){return this._charsetService.setgLevel(0),!0},t.prototype._restrictCursor=function(e){void 0===e&&(e=this._bufferService.cols-1),this._bufferService.buffer.x=Math.min(e,Math.max(0,this._bufferService.buffer.x)),this._bufferService.buffer.y=this._coreService.decPrivateModes.origin?Math.min(this._bufferService.buffer.scrollBottom,Math.max(this._bufferService.buffer.scrollTop,this._bufferService.buffer.y)):Math.min(this._bufferService.rows-1,Math.max(0,this._bufferService.buffer.y)),this._dirtyRowService.markDirty(this._bufferService.buffer.y)},t.prototype._setCursor=function(e,t){this._dirtyRowService.markDirty(this._bufferService.buffer.y),this._coreService.decPrivateModes.origin?(this._bufferService.buffer.x=e,this._bufferService.buffer.y=this._bufferService.buffer.scrollTop+t):(this._bufferService.buffer.x=e,this._bufferService.buffer.y=t),this._restrictCursor(),this._dirtyRowService.markDirty(this._bufferService.buffer.y)},t.prototype._moveCursor=function(e,t){this._restrictCursor(),this._setCursor(this._bufferService.buffer.x+e,this._bufferService.buffer.y+t)},t.prototype.cursorUp=function(e){var t=this._bufferService.buffer.y-this._bufferService.buffer.scrollTop;return t>=0?this._moveCursor(0,-Math.min(t,e.params[0]||1)):this._moveCursor(0,-(e.params[0]||1)),!0},t.prototype.cursorDown=function(e){var t=this._bufferService.buffer.scrollBottom-this._bufferService.buffer.y;return t>=0?this._moveCursor(0,Math.min(t,e.params[0]||1)):this._moveCursor(0,e.params[0]||1),!0},t.prototype.cursorForward=function(e){return this._moveCursor(e.params[0]||1,0),!0},t.prototype.cursorBackward=function(e){return this._moveCursor(-(e.params[0]||1),0),!0},t.prototype.cursorNextLine=function(e){return this.cursorDown(e),this._bufferService.buffer.x=0,!0},t.prototype.cursorPrecedingLine=function(e){return this.cursorUp(e),this._bufferService.buffer.x=0,!0},t.prototype.cursorCharAbsolute=function(e){return this._setCursor((e.params[0]||1)-1,this._bufferService.buffer.y),!0},t.prototype.cursorPosition=function(e){return this._setCursor(e.length>=2?(e.params[1]||1)-1:0,(e.params[0]||1)-1),!0},t.prototype.charPosAbsolute=function(e){return this._setCursor((e.params[0]||1)-1,this._bufferService.buffer.y),!0},t.prototype.hPositionRelative=function(e){return this._moveCursor(e.params[0]||1,0),!0},t.prototype.linePosAbsolute=function(e){return this._setCursor(this._bufferService.buffer.x,(e.params[0]||1)-1),!0},t.prototype.vPositionRelative=function(e){return this._moveCursor(0,e.params[0]||1),!0},t.prototype.hVPosition=function(e){return this.cursorPosition(e),!0},t.prototype.tabClear=function(e){var t=e.params[0];return 0===t?delete this._bufferService.buffer.tabs[this._bufferService.buffer.x]:3===t&&(this._bufferService.buffer.tabs={}),!0},t.prototype.cursorForwardTab=function(e){if(this._bufferService.buffer.x>=this._bufferService.cols)return!0;for(var t=e.params[0]||1;t--;)this._bufferService.buffer.x=this._bufferService.buffer.nextStop();return!0},t.prototype.cursorBackwardTab=function(e){if(this._bufferService.buffer.x>=this._bufferService.cols)return!0;for(var t=e.params[0]||1,r=this._bufferService.buffer;t--;)r.x=r.prevStop();return!0},t.prototype._eraseInBufferLine=function(e,t,r,i){void 0===i&&(i=!1);var n=this._bufferService.buffer.lines.get(this._bufferService.buffer.ybase+e);n.replaceCells(t,r,this._bufferService.buffer.getNullCell(this._eraseAttrData()),this._eraseAttrData()),i&&(n.isWrapped=!1)},t.prototype._resetBufferLine=function(e){var t=this._bufferService.buffer.lines.get(this._bufferService.buffer.ybase+e);t.fill(this._bufferService.buffer.getNullCell(this._eraseAttrData())),t.isWrapped=!1},t.prototype.eraseInDisplay=function(e){var t;switch(this._restrictCursor(),e.params[0]){case 0:for(t=this._bufferService.buffer.y,this._dirtyRowService.markDirty(t),this._eraseInBufferLine(t++,this._bufferService.buffer.x,this._bufferService.cols,0===this._bufferService.buffer.x);t=this._bufferService.cols&&(this._bufferService.buffer.lines.get(t+1).isWrapped=!1);t--;)this._resetBufferLine(t);this._dirtyRowService.markDirty(0);break;case 2:for(t=this._bufferService.rows,this._dirtyRowService.markDirty(t-1);t--;)this._resetBufferLine(t);this._dirtyRowService.markDirty(0);break;case 3:var r=this._bufferService.buffer.lines.length-this._bufferService.rows;r>0&&(this._bufferService.buffer.lines.trimStart(r),this._bufferService.buffer.ybase=Math.max(this._bufferService.buffer.ybase-r,0),this._bufferService.buffer.ydisp=Math.max(this._bufferService.buffer.ydisp-r,0),this._onScroll.fire(0))}return!0},t.prototype.eraseInLine=function(e){switch(this._restrictCursor(),e.params[0]){case 0:this._eraseInBufferLine(this._bufferService.buffer.y,this._bufferService.buffer.x,this._bufferService.cols);break;case 1:this._eraseInBufferLine(this._bufferService.buffer.y,0,this._bufferService.buffer.x+1);break;case 2:this._eraseInBufferLine(this._bufferService.buffer.y,0,this._bufferService.cols)}return this._dirtyRowService.markDirty(this._bufferService.buffer.y),!0},t.prototype.insertLines=function(e){this._restrictCursor();var t=e.params[0]||1,r=this._bufferService.buffer;if(r.y>r.scrollBottom||r.yr.scrollBottom||r.yt.scrollBottom||t.yt.scrollBottom||t.yt.scrollBottom||t.yt.scrollBottom||t.y0||(this._is(\"xterm\")||this._is(\"rxvt-unicode\")||this._is(\"screen\")?this._coreService.triggerDataEvent(s.C0.ESC+\"[?1;2c\"):this._is(\"linux\")&&this._coreService.triggerDataEvent(s.C0.ESC+\"[?6c\")),!0},t.prototype.sendDeviceAttributesSecondary=function(e){return e.params[0]>0||(this._is(\"xterm\")?this._coreService.triggerDataEvent(s.C0.ESC+\"[>0;276;0c\"):this._is(\"rxvt-unicode\")?this._coreService.triggerDataEvent(s.C0.ESC+\"[>85;95;0c\"):this._is(\"linux\")?this._coreService.triggerDataEvent(e.params[0]+\"c\"):this._is(\"screen\")&&this._coreService.triggerDataEvent(s.C0.ESC+\"[>83;40003;0c\")),!0},t.prototype._is=function(e){return 0===(this._optionsService.options.termName+\"\").indexOf(e)},t.prototype.setMode=function(e){for(var t=0;t=2||2===i[1]&&o+n>=5)break;i[1]&&(n=1)}while(++o+t5)&&(e=1),t.extended.underlineStyle=e,t.fg|=268435456,0===e&&(t.fg&=-268435457),t.updateExtended()},t.prototype.charAttributes=function(e){if(1===e.length&&0===e.params[0])return this._curAttrData.fg=f.DEFAULT_ATTR_DATA.fg,this._curAttrData.bg=f.DEFAULT_ATTR_DATA.bg,!0;for(var t,r=e.length,i=this._curAttrData,n=0;n=30&&t<=37?(i.fg&=-50331904,i.fg|=16777216|t-30):t>=40&&t<=47?(i.bg&=-50331904,i.bg|=16777216|t-40):t>=90&&t<=97?(i.fg&=-50331904,i.fg|=16777224|t-90):t>=100&&t<=107?(i.bg&=-50331904,i.bg|=16777224|t-100):0===t?(i.fg=f.DEFAULT_ATTR_DATA.fg,i.bg=f.DEFAULT_ATTR_DATA.bg):1===t?i.fg|=134217728:3===t?i.bg|=67108864:4===t?(i.fg|=268435456,this._processUnderline(e.hasSubParams(n)?e.getSubParams(n)[0]:1,i)):5===t?i.fg|=536870912:7===t?i.fg|=67108864:8===t?i.fg|=1073741824:2===t?i.bg|=134217728:21===t?this._processUnderline(2,i):22===t?(i.fg&=-134217729,i.bg&=-134217729):23===t?i.bg&=-67108865:24===t?i.fg&=-268435457:25===t?i.fg&=-536870913:27===t?i.fg&=-67108865:28===t?i.fg&=-1073741825:39===t?(i.fg&=-67108864,i.fg|=16777215&f.DEFAULT_ATTR_DATA.fg):49===t?(i.bg&=-67108864,i.bg|=16777215&f.DEFAULT_ATTR_DATA.bg):38===t||48===t||58===t?n+=this._extractColor(e,n,i):59===t?(i.extended=i.extended.clone(),i.extended.underlineColor=-1,i.updateExtended()):100===t?(i.fg&=-67108864,i.fg|=16777215&f.DEFAULT_ATTR_DATA.fg,i.bg&=-67108864,i.bg|=16777215&f.DEFAULT_ATTR_DATA.bg):this._logService.debug(\"Unknown SGR attribute: %d.\",t);return!0},t.prototype.deviceStatus=function(e){switch(e.params[0]){case 5:this._coreService.triggerDataEvent(s.C0.ESC+\"[0n\");break;case 6:var t=this._bufferService.buffer.y+1,r=this._bufferService.buffer.x+1;this._coreService.triggerDataEvent(s.C0.ESC+\"[\"+t+\";\"+r+\"R\")}return!0},t.prototype.deviceStatusPrivate=function(e){switch(e.params[0]){case 6:var t=this._bufferService.buffer.y+1,r=this._bufferService.buffer.x+1;this._coreService.triggerDataEvent(s.C0.ESC+\"[?\"+t+\";\"+r+\"R\")}return!0},t.prototype.softReset=function(e){return this._coreService.isCursorHidden=!1,this._onRequestSyncScrollBar.fire(),this._bufferService.buffer.scrollTop=0,this._bufferService.buffer.scrollBottom=this._bufferService.rows-1,this._curAttrData=f.DEFAULT_ATTR_DATA.clone(),this._coreService.reset(),this._charsetService.reset(),this._bufferService.buffer.savedX=0,this._bufferService.buffer.savedY=this._bufferService.buffer.ybase,this._bufferService.buffer.savedCurAttrData.fg=this._curAttrData.fg,this._bufferService.buffer.savedCurAttrData.bg=this._curAttrData.bg,this._bufferService.buffer.savedCharset=this._charsetService.charset,this._coreService.decPrivateModes.origin=!1,!0},t.prototype.setCursorStyle=function(e){var t=e.params[0]||1;switch(t){case 1:case 2:this._optionsService.options.cursorStyle=\"block\";break;case 3:case 4:this._optionsService.options.cursorStyle=\"underline\";break;case 5:case 6:this._optionsService.options.cursorStyle=\"bar\"}var r=t%2==1;return this._optionsService.options.cursorBlink=r,!0},t.prototype.setScrollRegion=function(e){var t,r=e.params[0]||1;return(e.length<2||(t=e.params[1])>this._bufferService.rows||0===t)&&(t=this._bufferService.rows),t>r&&(this._bufferService.buffer.scrollTop=r-1,this._bufferService.buffer.scrollBottom=t-1,this._setCursor(0,0)),!0},t.prototype.windowOptions=function(e){if(!C(e.params[0],this._optionsService.options.windowOptions))return!0;var t=e.length>1?e.params[1]:0;switch(e.params[0]){case 14:2!==t&&this._onRequestWindowsOptionsReport.fire(o.GET_WIN_SIZE_PIXELS);break;case 16:this._onRequestWindowsOptionsReport.fire(o.GET_CELL_SIZE_PIXELS);break;case 18:this._bufferService&&this._coreService.triggerDataEvent(s.C0.ESC+\"[8;\"+this._bufferService.rows+\";\"+this._bufferService.cols+\"t\");break;case 22:0!==t&&2!==t||(this._windowTitleStack.push(this._windowTitle),this._windowTitleStack.length>10&&this._windowTitleStack.shift()),0!==t&&1!==t||(this._iconNameStack.push(this._iconName),this._iconNameStack.length>10&&this._iconNameStack.shift());break;case 23:0!==t&&2!==t||this._windowTitleStack.length&&this.setTitle(this._windowTitleStack.pop()),0!==t&&1!==t||this._iconNameStack.length&&this.setIconName(this._iconNameStack.pop())}return!0},t.prototype.saveCursor=function(e){return this._bufferService.buffer.savedX=this._bufferService.buffer.x,this._bufferService.buffer.savedY=this._bufferService.buffer.ybase+this._bufferService.buffer.y,this._bufferService.buffer.savedCurAttrData.fg=this._curAttrData.fg,this._bufferService.buffer.savedCurAttrData.bg=this._curAttrData.bg,this._bufferService.buffer.savedCharset=this._charsetService.charset,!0},t.prototype.restoreCursor=function(e){return this._bufferService.buffer.x=this._bufferService.buffer.savedX||0,this._bufferService.buffer.y=Math.max(this._bufferService.buffer.savedY-this._bufferService.buffer.ybase,0),this._curAttrData.fg=this._bufferService.buffer.savedCurAttrData.fg,this._curAttrData.bg=this._bufferService.buffer.savedCurAttrData.bg,this._charsetService.charset=this._savedCharset,this._bufferService.buffer.savedCharset&&(this._charsetService.charset=this._bufferService.buffer.savedCharset),this._restrictCursor(),!0},t.prototype.setTitle=function(e){return this._windowTitle=e,this._onTitleChange.fire(e),!0},t.prototype.setIconName=function(e){return this._iconName=e,!0},t.prototype._parseAnsiColorChange=function(e){for(var t,r={colors:[]},i=/(\\d+);rgb:([\\da-f]{2})\\/([\\da-f]{2})\\/([\\da-f]{2})/gi;null!==(t=i.exec(e));)r.colors.push({colorIndex:parseInt(t[1]),red:parseInt(t[2],16),green:parseInt(t[3],16),blue:parseInt(t[4],16)});return 0===r.colors.length?null:r},t.prototype.setAnsiColor=function(e){var t=this._parseAnsiColorChange(e);return t?this._onAnsiColorChange.fire(t):this._logService.warn(\"Expected format ;rgb:// but got data: \"+e),!0},t.prototype.nextLine=function(){return this._bufferService.buffer.x=0,this.index(),!0},t.prototype.keypadApplicationMode=function(){return this._logService.debug(\"Serial port requested application keypad.\"),this._coreService.decPrivateModes.applicationKeypad=!0,this._onRequestSyncScrollBar.fire(),!0},t.prototype.keypadNumericMode=function(){return this._logService.debug(\"Switching back to normal keypad.\"),this._coreService.decPrivateModes.applicationKeypad=!1,this._onRequestSyncScrollBar.fire(),!0},t.prototype.selectDefaultCharset=function(){return this._charsetService.setgLevel(0),this._charsetService.setgCharset(0,a.DEFAULT_CHARSET),!0},t.prototype.selectCharset=function(e){return 2!==e.length?(this.selectDefaultCharset(),!0):(\"/\"===e[0]||this._charsetService.setgCharset(S[e[0]],a.CHARSETS[e[1]]||a.DEFAULT_CHARSET),!0)},t.prototype.index=function(){this._restrictCursor();var e=this._bufferService.buffer;return this._bufferService.buffer.y++,e.y===e.scrollBottom+1?(e.y--,this._bufferService.scroll(this._eraseAttrData())):e.y>=this._bufferService.rows&&(e.y=this._bufferService.rows-1),this._restrictCursor(),!0},t.prototype.tabSet=function(){return this._bufferService.buffer.tabs[this._bufferService.buffer.x]=!0,!0},t.prototype.reverseIndex=function(){this._restrictCursor();var e=this._bufferService.buffer;if(e.y===e.scrollTop){var t=e.scrollBottom-e.scrollTop;e.lines.shiftElements(e.ybase+e.y,t,1),e.lines.set(e.ybase+e.y,e.getBlankLine(this._eraseAttrData())),this._dirtyRowService.markRangeDirty(e.scrollTop,e.scrollBottom)}else e.y--,this._restrictCursor();return!0},t.prototype.fullReset=function(){return this._parser.reset(),this._onRequestReset.fire(),!0},t.prototype.reset=function(){this._curAttrData=f.DEFAULT_ATTR_DATA.clone(),this._eraseAttrDataInternal=f.DEFAULT_ATTR_DATA.clone()},t.prototype._eraseAttrData=function(){return this._eraseAttrDataInternal.bg&=-67108864,this._eraseAttrDataInternal.bg|=67108863&this._curAttrData.bg,this._eraseAttrDataInternal},t.prototype.setgLevel=function(e){return this._charsetService.setgLevel(e),!0},t.prototype.screenAlignmentPattern=function(){var e=new p.CellData;e.content=1<<22|\"E\".charCodeAt(0),e.fg=this._curAttrData.fg,e.bg=this._curAttrData.bg;var t=this._bufferService.buffer;this._setCursor(0,0);for(var r=0;r{Object.defineProperty(t,\"__esModule\",{value:!0}),t.getDisposeArrayDisposable=t.disposeArray=t.Disposable=void 0;var r=function(){function e(){this._disposables=[],this._isDisposed=!1}return e.prototype.dispose=function(){this._isDisposed=!0;for(var e=0,t=this._disposables;e{Object.defineProperty(t,\"__esModule\",{value:!0}),t.isLinux=t.isWindows=t.isIphone=t.isIpad=t.isMac=t.isSafari=t.isFirefox=void 0;var r=\"undefined\"==typeof navigator,i=r?\"node\":navigator.userAgent,n=r?\"node\":navigator.platform;t.isFirefox=i.includes(\"Firefox\"),t.isSafari=/^((?!chrome|android).)*safari/i.test(i),t.isMac=[\"Macintosh\",\"MacIntel\",\"MacPPC\",\"Mac68K\"].includes(n),t.isIpad=\"iPad\"===n,t.isIphone=\"iPhone\"===n,t.isWindows=[\"Windows\",\"Win16\",\"Win32\",\"WinCE\"].includes(n),t.isLinux=n.indexOf(\"Linux\")>=0},8273:(e,t)=>{function r(e,t,r,i){if(void 0===r&&(r=0),void 0===i&&(i=e.length),r>=e.length)return e;r=(e.length+r)%e.length,i=i>=e.length?e.length:(e.length+i)%e.length;for(var n=r;n{Object.defineProperty(t,\"__esModule\",{value:!0}),t.updateWindowsModeWrappedState=void 0;var i=r(643);t.updateWindowsModeWrappedState=function(e){var t=e.buffer.lines.get(e.buffer.ybase+e.buffer.y-1),r=null==t?void 0:t.get(e.cols-1),n=e.buffer.lines.get(e.buffer.ybase+e.buffer.y);n&&r&&(n.isWrapped=r[i.CHAR_DATA_CODE_INDEX]!==i.NULL_CELL_CODE&&r[i.CHAR_DATA_CODE_INDEX]!==i.WHITESPACE_CELL_CODE)}},3734:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.ExtendedAttrs=t.AttributeData=void 0;var r=function(){function e(){this.fg=0,this.bg=0,this.extended=new i}return e.toColorRGB=function(e){return[e>>>16&255,e>>>8&255,255&e]},e.fromColorRGB=function(e){return(255&e[0])<<16|(255&e[1])<<8|255&e[2]},e.prototype.clone=function(){var t=new e;return t.fg=this.fg,t.bg=this.bg,t.extended=this.extended.clone(),t},e.prototype.isInverse=function(){return 67108864&this.fg},e.prototype.isBold=function(){return 134217728&this.fg},e.prototype.isUnderline=function(){return 268435456&this.fg},e.prototype.isBlink=function(){return 536870912&this.fg},e.prototype.isInvisible=function(){return 1073741824&this.fg},e.prototype.isItalic=function(){return 67108864&this.bg},e.prototype.isDim=function(){return 134217728&this.bg},e.prototype.getFgColorMode=function(){return 50331648&this.fg},e.prototype.getBgColorMode=function(){return 50331648&this.bg},e.prototype.isFgRGB=function(){return 50331648==(50331648&this.fg)},e.prototype.isBgRGB=function(){return 50331648==(50331648&this.bg)},e.prototype.isFgPalette=function(){return 16777216==(50331648&this.fg)||33554432==(50331648&this.fg)},e.prototype.isBgPalette=function(){return 16777216==(50331648&this.bg)||33554432==(50331648&this.bg)},e.prototype.isFgDefault=function(){return 0==(50331648&this.fg)},e.prototype.isBgDefault=function(){return 0==(50331648&this.bg)},e.prototype.isAttributeDefault=function(){return 0===this.fg&&0===this.bg},e.prototype.getFgColor=function(){switch(50331648&this.fg){case 16777216:case 33554432:return 255&this.fg;case 50331648:return 16777215&this.fg;default:return-1}},e.prototype.getBgColor=function(){switch(50331648&this.bg){case 16777216:case 33554432:return 255&this.bg;case 50331648:return 16777215&this.bg;default:return-1}},e.prototype.hasExtendedAttrs=function(){return 268435456&this.bg},e.prototype.updateExtended=function(){this.extended.isEmpty()?this.bg&=-268435457:this.bg|=268435456},e.prototype.getUnderlineColor=function(){if(268435456&this.bg&&~this.extended.underlineColor)switch(50331648&this.extended.underlineColor){case 16777216:case 33554432:return 255&this.extended.underlineColor;case 50331648:return 16777215&this.extended.underlineColor;default:return this.getFgColor()}return this.getFgColor()},e.prototype.getUnderlineColorMode=function(){return 268435456&this.bg&&~this.extended.underlineColor?50331648&this.extended.underlineColor:this.getFgColorMode()},e.prototype.isUnderlineColorRGB=function(){return 268435456&this.bg&&~this.extended.underlineColor?50331648==(50331648&this.extended.underlineColor):this.isFgRGB()},e.prototype.isUnderlineColorPalette=function(){return 268435456&this.bg&&~this.extended.underlineColor?16777216==(50331648&this.extended.underlineColor)||33554432==(50331648&this.extended.underlineColor):this.isFgPalette()},e.prototype.isUnderlineColorDefault=function(){return 268435456&this.bg&&~this.extended.underlineColor?0==(50331648&this.extended.underlineColor):this.isFgDefault()},e.prototype.getUnderlineStyle=function(){return 268435456&this.fg?268435456&this.bg?this.extended.underlineStyle:1:0},e}();t.AttributeData=r;var i=function(){function e(e,t){void 0===e&&(e=0),void 0===t&&(t=-1),this.underlineStyle=e,this.underlineColor=t}return e.prototype.clone=function(){return new e(this.underlineStyle,this.underlineColor)},e.prototype.isEmpty=function(){return 0===this.underlineStyle},e}();t.ExtendedAttrs=i},9092:(e,t,r)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.BufferStringIterator=t.Buffer=t.MAX_BUFFER_SIZE=void 0;var i=r(6349),n=r(8437),o=r(511),s=r(643),a=r(4634),c=r(4863),l=r(7116),h=r(3734);t.MAX_BUFFER_SIZE=4294967295;var u=function(){function e(e,t,r){this._hasScrollback=e,this._optionsService=t,this._bufferService=r,this.ydisp=0,this.ybase=0,this.y=0,this.x=0,this.savedY=0,this.savedX=0,this.savedCurAttrData=n.DEFAULT_ATTR_DATA.clone(),this.savedCharset=l.DEFAULT_CHARSET,this.markers=[],this._nullCell=o.CellData.fromCharData([0,s.NULL_CELL_CHAR,s.NULL_CELL_WIDTH,s.NULL_CELL_CODE]),this._whitespaceCell=o.CellData.fromCharData([0,s.WHITESPACE_CELL_CHAR,s.WHITESPACE_CELL_WIDTH,s.WHITESPACE_CELL_CODE]),this._cols=this._bufferService.cols,this._rows=this._bufferService.rows,this.lines=new i.CircularList(this._getCorrectBufferLength(this._rows)),this.scrollTop=0,this.scrollBottom=this._rows-1,this.setupTabStops()}return e.prototype.getNullCell=function(e){return e?(this._nullCell.fg=e.fg,this._nullCell.bg=e.bg,this._nullCell.extended=e.extended):(this._nullCell.fg=0,this._nullCell.bg=0,this._nullCell.extended=new h.ExtendedAttrs),this._nullCell},e.prototype.getWhitespaceCell=function(e){return e?(this._whitespaceCell.fg=e.fg,this._whitespaceCell.bg=e.bg,this._whitespaceCell.extended=e.extended):(this._whitespaceCell.fg=0,this._whitespaceCell.bg=0,this._whitespaceCell.extended=new h.ExtendedAttrs),this._whitespaceCell},e.prototype.getBlankLine=function(e,t){return new n.BufferLine(this._bufferService.cols,this.getNullCell(e),t)},Object.defineProperty(e.prototype,\"hasScrollback\",{get:function(){return this._hasScrollback&&this.lines.maxLength>this._rows},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"isCursorInViewport\",{get:function(){var e=this.ybase+this.y-this.ydisp;return e>=0&&et.MAX_BUFFER_SIZE?t.MAX_BUFFER_SIZE:r},e.prototype.fillViewportRows=function(e){if(0===this.lines.length){void 0===e&&(e=n.DEFAULT_ATTR_DATA);for(var t=this._rows;t--;)this.lines.push(this.getBlankLine(e))}},e.prototype.clear=function(){this.ydisp=0,this.ybase=0,this.y=0,this.x=0,this.lines=new i.CircularList(this._getCorrectBufferLength(this._rows)),this.scrollTop=0,this.scrollBottom=this._rows-1,this.setupTabStops()},e.prototype.resize=function(e,t){var r=this.getNullCell(n.DEFAULT_ATTR_DATA),i=this._getCorrectBufferLength(t);if(i>this.lines.maxLength&&(this.lines.maxLength=i),this.lines.length>0){if(this._cols0&&this.lines.length<=this.ybase+this.y+s+1?(this.ybase--,s++,this.ydisp>0&&this.ydisp--):this.lines.push(new n.BufferLine(e,r)));else for(a=this._rows;a>t;a--)this.lines.length>t+this.ybase&&(this.lines.length>this.ybase+this.y+1?this.lines.pop():(this.ybase++,this.ydisp++));if(i0&&(this.lines.trimStart(c),this.ybase=Math.max(this.ybase-c,0),this.ydisp=Math.max(this.ydisp-c,0),this.savedY=Math.max(this.savedY-c,0)),this.lines.maxLength=i}this.x=Math.min(this.x,e-1),this.y=Math.min(this.y,t-1),s&&(this.y+=s),this.savedX=Math.min(this.savedX,e-1),this.scrollTop=0}if(this.scrollBottom=t-1,this._isReflowEnabled&&(this._reflow(e,t),this._cols>e))for(o=0;othis._cols?this._reflowLarger(e,t):this._reflowSmaller(e,t))},e.prototype._reflowLarger=function(e,t){var r=a.reflowLargerGetLinesToRemove(this.lines,this._cols,e,this.ybase+this.y,this.getNullCell(n.DEFAULT_ATTR_DATA));if(r.length>0){var i=a.reflowLargerCreateNewLayout(this.lines,r);a.reflowLargerApplyNewLayout(this.lines,i.layout),this._reflowLargerAdjustViewport(e,t,i.countRemoved)}},e.prototype._reflowLargerAdjustViewport=function(e,t,r){for(var i=this.getNullCell(n.DEFAULT_ATTR_DATA),o=r;o-- >0;)0===this.ybase?(this.y>0&&this.y--,this.lines.length=0;s--){var c=this.lines.get(s);if(!(!c||!c.isWrapped&&c.getTrimmedLength()<=e)){for(var l=[c];c.isWrapped&&s>0;)c=this.lines.get(--s),l.unshift(c);var h=this.ybase+this.y;if(!(h>=s&&h0&&(i.push({start:s+l.length+o,newLines:p}),o+=p.length),l.push.apply(l,p);var y=_.length-1,b=_[y];0===b&&(b=_[--y]);for(var S=l.length-d-1,m=f;S>=0;){var C=Math.min(m,b);if(l[y].copyCellsFrom(l[S],m-C,b-C,C,!0),0==(b-=C)&&(b=_[--y]),0==(m-=C)){S--;var w=Math.max(S,0);m=a.getWrappedLineTrimmedLength(l,w,this._cols)}}for(v=0;v0;)0===this.ybase?this.y0){var L=[],k=[];for(v=0;v=0;v--)if(T&&T.start>R+O){for(var D=T.newLines.length-1;D>=0;D--)this.lines.set(v--,T.newLines[D]);v++,L.push({index:R+1,amount:T.newLines.length}),O+=T.newLines.length,T=i[++x]}else this.lines.set(v,k[R--]);var P=0;for(v=L.length-1;v>=0;v--)L[v].index+=P,this.lines.onInsertEmitter.fire(L[v]),P+=L[v].amount;var M=Math.max(0,A+o-this.lines.maxLength);M>0&&this.lines.onTrimEmitter.fire(M)}},e.prototype.stringIndexToBufferIndex=function(e,t,r){for(void 0===r&&(r=!1);t;){var i=this.lines.get(e);if(!i)return[-1,-1];for(var n=r?i.getTrimmedLength():i.length,o=0;o0&&this.lines.get(t).isWrapped;)t--;for(;r+10;);return e>=this._cols?this._cols-1:e<0?0:e},e.prototype.nextStop=function(e){for(null==e&&(e=this.x);!this.tabs[++e]&&e=this._cols?this._cols-1:e<0?0:e},e.prototype.addMarker=function(e){var t=this,r=new c.Marker(e);return this.markers.push(r),r.register(this.lines.onTrim((function(e){r.line-=e,r.line<0&&r.dispose()}))),r.register(this.lines.onInsert((function(e){r.line>=e.index&&(r.line+=e.amount)}))),r.register(this.lines.onDelete((function(e){r.line>=e.index&&r.linee.index&&(r.line-=e.amount)}))),r.register(r.onDispose((function(){return t._removeMarker(r)}))),r},e.prototype._removeMarker=function(e){this.markers.splice(this.markers.indexOf(e),1)},e.prototype.iterator=function(e,t,r,i,n){return new f(this,e,t,r,i,n)},e}();t.Buffer=u;var f=function(){function e(e,t,r,i,n,o){void 0===r&&(r=0),void 0===i&&(i=e.lines.length),void 0===n&&(n=0),void 0===o&&(o=0),this._buffer=e,this._trimRight=t,this._startIndex=r,this._endIndex=i,this._startOverscan=n,this._endOverscan=o,this._startIndex<0&&(this._startIndex=0),this._endIndex>this._buffer.lines.length&&(this._endIndex=this._buffer.lines.length),this._current=this._startIndex}return e.prototype.hasNext=function(){return this._currentthis._endIndex+this._endOverscan&&(e.last=this._endIndex+this._endOverscan),e.first=Math.max(e.first,0),e.last=Math.min(e.last,this._buffer.lines.length);for(var t=\"\",r=e.first;r<=e.last;++r)t+=this._buffer.translateBufferLineToString(r,this._trimRight);return this._current=e.last+1,{range:e,content:t}},e}();t.BufferStringIterator=f},8437:(e,t,r)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.BufferLine=t.DEFAULT_ATTR_DATA=void 0;var i=r(482),n=r(643),o=r(511),s=r(3734);t.DEFAULT_ATTR_DATA=Object.freeze(new s.AttributeData);var a=function(){function e(e,t,r){void 0===r&&(r=!1),this.isWrapped=r,this._combined={},this._extendedAttrs={},this._data=new Uint32Array(3*e);for(var i=t||o.CellData.fromCharData([0,n.NULL_CELL_CHAR,n.NULL_CELL_WIDTH,n.NULL_CELL_CODE]),s=0;s>22,2097152&t?this._combined[e].charCodeAt(this._combined[e].length-1):r]},e.prototype.set=function(e,t){this._data[3*e+1]=t[n.CHAR_DATA_ATTR_INDEX],t[n.CHAR_DATA_CHAR_INDEX].length>1?(this._combined[e]=t[1],this._data[3*e+0]=2097152|e|t[n.CHAR_DATA_WIDTH_INDEX]<<22):this._data[3*e+0]=t[n.CHAR_DATA_CHAR_INDEX].charCodeAt(0)|t[n.CHAR_DATA_WIDTH_INDEX]<<22},e.prototype.getWidth=function(e){return this._data[3*e+0]>>22},e.prototype.hasWidth=function(e){return 12582912&this._data[3*e+0]},e.prototype.getFg=function(e){return this._data[3*e+1]},e.prototype.getBg=function(e){return this._data[3*e+2]},e.prototype.hasContent=function(e){return 4194303&this._data[3*e+0]},e.prototype.getCodePoint=function(e){var t=this._data[3*e+0];return 2097152&t?this._combined[e].charCodeAt(this._combined[e].length-1):2097151&t},e.prototype.isCombined=function(e){return 2097152&this._data[3*e+0]},e.prototype.getString=function(e){var t=this._data[3*e+0];return 2097152&t?this._combined[e]:2097151&t?i.stringFromCodePoint(2097151&t):\"\"},e.prototype.loadCell=function(e,t){var r=3*e;return t.content=this._data[r+0],t.fg=this._data[r+1],t.bg=this._data[r+2],2097152&t.content&&(t.combinedData=this._combined[e]),268435456&t.bg&&(t.extended=this._extendedAttrs[e]),t},e.prototype.setCell=function(e,t){2097152&t.content&&(this._combined[e]=t.combinedData),268435456&t.bg&&(this._extendedAttrs[e]=t.extended),this._data[3*e+0]=t.content,this._data[3*e+1]=t.fg,this._data[3*e+2]=t.bg},e.prototype.setCellFromCodePoint=function(e,t,r,i,n,o){268435456&n&&(this._extendedAttrs[e]=o),this._data[3*e+0]=t|r<<22,this._data[3*e+1]=i,this._data[3*e+2]=n},e.prototype.addCodepointToCell=function(e,t){var r=this._data[3*e+0];2097152&r?this._combined[e]+=i.stringFromCodePoint(t):(2097151&r?(this._combined[e]=i.stringFromCodePoint(2097151&r)+i.stringFromCodePoint(t),r&=-2097152,r|=2097152):r=t|1<<22,this._data[3*e+0]=r)},e.prototype.insertCells=function(e,t,r,i){if((e%=this.length)&&2===this.getWidth(e-1)&&this.setCellFromCodePoint(e-1,0,1,(null==i?void 0:i.fg)||0,(null==i?void 0:i.bg)||0,(null==i?void 0:i.extended)||new s.ExtendedAttrs),t=0;--a)this.setCell(e+t+a,this.loadCell(e+a,n));for(a=0;athis.length){var r=new Uint32Array(3*e);this.length&&(3*e=e&&delete this._combined[o]}}else this._data=new Uint32Array(0),this._combined={};this.length=e}},e.prototype.fill=function(e){this._combined={},this._extendedAttrs={};for(var t=0;t=0;--e)if(4194303&this._data[3*e+0])return e+(this._data[3*e+0]>>22);return 0},e.prototype.copyCellsFrom=function(e,t,r,i,n){var o=e._data;if(n)for(var s=i-1;s>=0;s--)for(var a=0;a<3;a++)this._data[3*(r+s)+a]=o[3*(t+s)+a];else for(s=0;s=t&&(this._combined[l-t+r]=e._combined[l])}},e.prototype.translateToString=function(e,t,r){void 0===e&&(e=!1),void 0===t&&(t=0),void 0===r&&(r=this.length),e&&(r=Math.min(r,this.getTrimmedLength()));for(var o=\"\";t>22||1}return o},e}();t.BufferLine=a},4841:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.getRangeLength=void 0,t.getRangeLength=function(e,t){if(e.start.y===e.end.y)return e.end.x-e.start.x+1;if(e.start.y>e.end.y)throw new Error(\"Buffer range end (\"+e.end.x+\", \"+e.end.y+\") cannot be before start (\"+e.start.x+\", \"+e.start.y+\")\");return t*(e.end.y-e.start.y-1)+t-e.start.x+e.end.x}},4634:(e,t)=>{function r(e,t,r){if(t===e.length-1)return e[t].getTrimmedLength();var i=!e[t].hasContent(r-1)&&1===e[t].getWidth(r-1),n=2===e[t+1].getWidth(0);return i&&n?r-1:r}Object.defineProperty(t,\"__esModule\",{value:!0}),t.getWrappedLineTrimmedLength=t.reflowSmallerGetNewLineLengths=t.reflowLargerApplyNewLayout=t.reflowLargerCreateNewLayout=t.reflowLargerGetLinesToRemove=void 0,t.reflowLargerGetLinesToRemove=function(e,t,i,n,o){for(var s=[],a=0;a=a&&n0&&(S>u||0===h[S].getTrimmedLength());S--)b++;b>0&&(s.push(a+h.length-b),s.push(b)),a+=h.length-1}}}return s},t.reflowLargerCreateNewLayout=function(e,t){for(var r=[],i=0,n=t[i],o=0,s=0;sl&&(s-=l,a++);var h=2===e[a].getWidth(s-1);h&&s--;var u=h?i-1:i;n.push(u),c+=u}return n},t.getWrappedLineTrimmedLength=r},5295:function(e,t,r){var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});Object.defineProperty(t,\"__esModule\",{value:!0}),t.BufferSet=void 0;var o=r(9092),s=r(8460),a=function(e){function t(t,r){var i=e.call(this)||this;return i._optionsService=t,i._bufferService=r,i._onBufferActivate=i.register(new s.EventEmitter),i.reset(),i}return n(t,e),Object.defineProperty(t.prototype,\"onBufferActivate\",{get:function(){return this._onBufferActivate.event},enumerable:!1,configurable:!0}),t.prototype.reset=function(){this._normal=new o.Buffer(!0,this._optionsService,this._bufferService),this._normal.fillViewportRows(),this._alt=new o.Buffer(!1,this._optionsService,this._bufferService),this._activeBuffer=this._normal,this.setupTabStops()},Object.defineProperty(t.prototype,\"alt\",{get:function(){return this._alt},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"active\",{get:function(){return this._activeBuffer},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"normal\",{get:function(){return this._normal},enumerable:!1,configurable:!0}),t.prototype.activateNormalBuffer=function(){this._activeBuffer!==this._normal&&(this._normal.x=this._alt.x,this._normal.y=this._alt.y,this._alt.clear(),this._activeBuffer=this._normal,this._onBufferActivate.fire({activeBuffer:this._normal,inactiveBuffer:this._alt}))},t.prototype.activateAltBuffer=function(e){this._activeBuffer!==this._alt&&(this._alt.fillViewportRows(e),this._alt.x=this._normal.x,this._alt.y=this._normal.y,this._activeBuffer=this._alt,this._onBufferActivate.fire({activeBuffer:this._alt,inactiveBuffer:this._normal}))},t.prototype.resize=function(e,t){this._normal.resize(e,t),this._alt.resize(e,t)},t.prototype.setupTabStops=function(e){this._normal.setupTabStops(e),this._alt.setupTabStops(e)},t}(r(844).Disposable);t.BufferSet=a},511:function(e,t,r){var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});Object.defineProperty(t,\"__esModule\",{value:!0}),t.CellData=void 0;var o=r(482),s=r(643),a=r(3734),c=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.content=0,t.fg=0,t.bg=0,t.extended=new a.ExtendedAttrs,t.combinedData=\"\",t}return n(t,e),t.fromCharData=function(e){var r=new t;return r.setFromCharData(e),r},t.prototype.isCombined=function(){return 2097152&this.content},t.prototype.getWidth=function(){return this.content>>22},t.prototype.getChars=function(){return 2097152&this.content?this.combinedData:2097151&this.content?o.stringFromCodePoint(2097151&this.content):\"\"},t.prototype.getCode=function(){return this.isCombined()?this.combinedData.charCodeAt(this.combinedData.length-1):2097151&this.content},t.prototype.setFromCharData=function(e){this.fg=e[s.CHAR_DATA_ATTR_INDEX],this.bg=0;var t=!1;if(e[s.CHAR_DATA_CHAR_INDEX].length>2)t=!0;else if(2===e[s.CHAR_DATA_CHAR_INDEX].length){var r=e[s.CHAR_DATA_CHAR_INDEX].charCodeAt(0);if(55296<=r&&r<=56319){var i=e[s.CHAR_DATA_CHAR_INDEX].charCodeAt(1);56320<=i&&i<=57343?this.content=1024*(r-55296)+i-56320+65536|e[s.CHAR_DATA_WIDTH_INDEX]<<22:t=!0}else t=!0}else this.content=e[s.CHAR_DATA_CHAR_INDEX].charCodeAt(0)|e[s.CHAR_DATA_WIDTH_INDEX]<<22;t&&(this.combinedData=e[s.CHAR_DATA_CHAR_INDEX],this.content=2097152|e[s.CHAR_DATA_WIDTH_INDEX]<<22)},t.prototype.getAsCharData=function(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]},t}(a.AttributeData);t.CellData=c},643:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.WHITESPACE_CELL_CODE=t.WHITESPACE_CELL_WIDTH=t.WHITESPACE_CELL_CHAR=t.NULL_CELL_CODE=t.NULL_CELL_WIDTH=t.NULL_CELL_CHAR=t.CHAR_DATA_CODE_INDEX=t.CHAR_DATA_WIDTH_INDEX=t.CHAR_DATA_CHAR_INDEX=t.CHAR_DATA_ATTR_INDEX=t.DEFAULT_ATTR=t.DEFAULT_COLOR=void 0,t.DEFAULT_COLOR=256,t.DEFAULT_ATTR=256|t.DEFAULT_COLOR<<9,t.CHAR_DATA_ATTR_INDEX=0,t.CHAR_DATA_CHAR_INDEX=1,t.CHAR_DATA_WIDTH_INDEX=2,t.CHAR_DATA_CODE_INDEX=3,t.NULL_CELL_CHAR=\"\",t.NULL_CELL_WIDTH=1,t.NULL_CELL_CODE=0,t.WHITESPACE_CELL_CHAR=\" \",t.WHITESPACE_CELL_WIDTH=1,t.WHITESPACE_CELL_CODE=32},4863:function(e,t,r){var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});Object.defineProperty(t,\"__esModule\",{value:!0}),t.Marker=void 0;var o=r(8460),s=function(e){function t(r){var i=e.call(this)||this;return i.line=r,i._id=t._nextId++,i.isDisposed=!1,i._onDispose=new o.EventEmitter,i}return n(t,e),Object.defineProperty(t.prototype,\"id\",{get:function(){return this._id},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"onDispose\",{get:function(){return this._onDispose.event},enumerable:!1,configurable:!0}),t.prototype.dispose=function(){this.isDisposed||(this.isDisposed=!0,this.line=-1,this._onDispose.fire(),e.prototype.dispose.call(this))},t._nextId=1,t}(r(844).Disposable);t.Marker=s},7116:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.DEFAULT_CHARSET=t.CHARSETS=void 0,t.CHARSETS={},t.DEFAULT_CHARSET=t.CHARSETS.B,t.CHARSETS[0]={\"`\":\"◆\",a:\"▒\",b:\"␉\",c:\"␌\",d:\"␍\",e:\"␊\",f:\"°\",g:\"±\",h:\"␤\",i:\"␋\",j:\"┘\",k:\"┐\",l:\"┌\",m:\"└\",n:\"┼\",o:\"⎺\",p:\"⎻\",q:\"─\",r:\"⎼\",s:\"⎽\",t:\"├\",u:\"┤\",v:\"┴\",w:\"┬\",x:\"│\",y:\"≤\",z:\"≥\",\"{\":\"π\",\"|\":\"≠\",\"}\":\"£\",\"~\":\"·\"},t.CHARSETS.A={\"#\":\"£\"},t.CHARSETS.B=void 0,t.CHARSETS[4]={\"#\":\"£\",\"@\":\"¾\",\"[\":\"ij\",\"\\\\\":\"½\",\"]\":\"|\",\"{\":\"¨\",\"|\":\"f\",\"}\":\"¼\",\"~\":\"´\"},t.CHARSETS.C=t.CHARSETS[5]={\"[\":\"Ä\",\"\\\\\":\"Ö\",\"]\":\"Å\",\"^\":\"Ü\",\"`\":\"é\",\"{\":\"ä\",\"|\":\"ö\",\"}\":\"å\",\"~\":\"ü\"},t.CHARSETS.R={\"#\":\"£\",\"@\":\"à\",\"[\":\"°\",\"\\\\\":\"ç\",\"]\":\"§\",\"{\":\"é\",\"|\":\"ù\",\"}\":\"è\",\"~\":\"¨\"},t.CHARSETS.Q={\"@\":\"à\",\"[\":\"â\",\"\\\\\":\"ç\",\"]\":\"ê\",\"^\":\"î\",\"`\":\"ô\",\"{\":\"é\",\"|\":\"ù\",\"}\":\"è\",\"~\":\"û\"},t.CHARSETS.K={\"@\":\"§\",\"[\":\"Ä\",\"\\\\\":\"Ö\",\"]\":\"Ü\",\"{\":\"ä\",\"|\":\"ö\",\"}\":\"ü\",\"~\":\"ß\"},t.CHARSETS.Y={\"#\":\"£\",\"@\":\"§\",\"[\":\"°\",\"\\\\\":\"ç\",\"]\":\"é\",\"`\":\"ù\",\"{\":\"à\",\"|\":\"ò\",\"}\":\"è\",\"~\":\"ì\"},t.CHARSETS.E=t.CHARSETS[6]={\"@\":\"Ä\",\"[\":\"Æ\",\"\\\\\":\"Ø\",\"]\":\"Å\",\"^\":\"Ü\",\"`\":\"ä\",\"{\":\"æ\",\"|\":\"ø\",\"}\":\"å\",\"~\":\"ü\"},t.CHARSETS.Z={\"#\":\"£\",\"@\":\"§\",\"[\":\"¡\",\"\\\\\":\"Ñ\",\"]\":\"¿\",\"{\":\"°\",\"|\":\"ñ\",\"}\":\"ç\"},t.CHARSETS.H=t.CHARSETS[7]={\"@\":\"É\",\"[\":\"Ä\",\"\\\\\":\"Ö\",\"]\":\"Å\",\"^\":\"Ü\",\"`\":\"é\",\"{\":\"ä\",\"|\":\"ö\",\"}\":\"å\",\"~\":\"ü\"},t.CHARSETS[\"=\"]={\"#\":\"ù\",\"@\":\"à\",\"[\":\"é\",\"\\\\\":\"ç\",\"]\":\"ê\",\"^\":\"î\",_:\"è\",\"`\":\"ô\",\"{\":\"ä\",\"|\":\"ö\",\"}\":\"ü\",\"~\":\"û\"}},2584:(e,t)=>{var r,i;Object.defineProperty(t,\"__esModule\",{value:!0}),t.C1=t.C0=void 0,(i=t.C0||(t.C0={})).NUL=\"\\0\",i.SOH=\"\u0001\",i.STX=\"\u0002\",i.ETX=\"\u0003\",i.EOT=\"\u0004\",i.ENQ=\"\u0005\",i.ACK=\"\u0006\",i.BEL=\"\u0007\",i.BS=\"\\b\",i.HT=\"\\t\",i.LF=\"\\n\",i.VT=\"\\v\",i.FF=\"\\f\",i.CR=\"\\r\",i.SO=\"\u000e\",i.SI=\"\u000f\",i.DLE=\"\u0010\",i.DC1=\"\u0011\",i.DC2=\"\u0012\",i.DC3=\"\u0013\",i.DC4=\"\u0014\",i.NAK=\"\u0015\",i.SYN=\"\u0016\",i.ETB=\"\u0017\",i.CAN=\"\u0018\",i.EM=\"\u0019\",i.SUB=\"\u001a\",i.ESC=\"\u001b\",i.FS=\"\u001c\",i.GS=\"\u001d\",i.RS=\"\u001e\",i.US=\"\u001f\",i.SP=\" \",i.DEL=\"\",(r=t.C1||(t.C1={})).PAD=\"€\",r.HOP=\"\",r.BPH=\"‚\",r.NBH=\"ƒ\",r.IND=\"„\",r.NEL=\"…\",r.SSA=\"†\",r.ESA=\"‡\",r.HTS=\"ˆ\",r.HTJ=\"‰\",r.VTS=\"Š\",r.PLD=\"‹\",r.PLU=\"Œ\",r.RI=\"\",r.SS2=\"Ž\",r.SS3=\"\",r.DCS=\"\",r.PU1=\"‘\",r.PU2=\"’\",r.STS=\"“\",r.CCH=\"”\",r.MW=\"•\",r.SPA=\"–\",r.EPA=\"—\",r.SOS=\"˜\",r.SGCI=\"™\",r.SCI=\"š\",r.CSI=\"›\",r.ST=\"œ\",r.OSC=\"\",r.PM=\"ž\",r.APC=\"Ÿ\"},7399:(e,t,r)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.evaluateKeyboardEvent=void 0;var i=r(2584),n={48:[\"0\",\")\"],49:[\"1\",\"!\"],50:[\"2\",\"@\"],51:[\"3\",\"#\"],52:[\"4\",\"$\"],53:[\"5\",\"%\"],54:[\"6\",\"^\"],55:[\"7\",\"&\"],56:[\"8\",\"*\"],57:[\"9\",\"(\"],186:[\";\",\":\"],187:[\"=\",\"+\"],188:[\",\",\"<\"],189:[\"-\",\"_\"],190:[\".\",\">\"],191:[\"/\",\"?\"],192:[\"`\",\"~\"],219:[\"[\",\"{\"],220:[\"\\\\\",\"|\"],221:[\"]\",\"}\"],222:[\"'\",'\"']};t.evaluateKeyboardEvent=function(e,t,r,o){var s={type:0,cancel:!1,key:void 0},a=(e.shiftKey?1:0)|(e.altKey?2:0)|(e.ctrlKey?4:0)|(e.metaKey?8:0);switch(e.keyCode){case 0:\"UIKeyInputUpArrow\"===e.key?s.key=t?i.C0.ESC+\"OA\":i.C0.ESC+\"[A\":\"UIKeyInputLeftArrow\"===e.key?s.key=t?i.C0.ESC+\"OD\":i.C0.ESC+\"[D\":\"UIKeyInputRightArrow\"===e.key?s.key=t?i.C0.ESC+\"OC\":i.C0.ESC+\"[C\":\"UIKeyInputDownArrow\"===e.key&&(s.key=t?i.C0.ESC+\"OB\":i.C0.ESC+\"[B\");break;case 8:if(e.shiftKey){s.key=i.C0.BS;break}if(e.altKey){s.key=i.C0.ESC+i.C0.DEL;break}s.key=i.C0.DEL;break;case 9:if(e.shiftKey){s.key=i.C0.ESC+\"[Z\";break}s.key=i.C0.HT,s.cancel=!0;break;case 13:s.key=e.altKey?i.C0.ESC+i.C0.CR:i.C0.CR,s.cancel=!0;break;case 27:s.key=i.C0.ESC,e.altKey&&(s.key=i.C0.ESC+i.C0.ESC),s.cancel=!0;break;case 37:if(e.metaKey)break;a?(s.key=i.C0.ESC+\"[1;\"+(a+1)+\"D\",s.key===i.C0.ESC+\"[1;3D\"&&(s.key=i.C0.ESC+(r?\"b\":\"[1;5D\"))):s.key=t?i.C0.ESC+\"OD\":i.C0.ESC+\"[D\";break;case 39:if(e.metaKey)break;a?(s.key=i.C0.ESC+\"[1;\"+(a+1)+\"C\",s.key===i.C0.ESC+\"[1;3C\"&&(s.key=i.C0.ESC+(r?\"f\":\"[1;5C\"))):s.key=t?i.C0.ESC+\"OC\":i.C0.ESC+\"[C\";break;case 38:if(e.metaKey)break;a?(s.key=i.C0.ESC+\"[1;\"+(a+1)+\"A\",r||s.key!==i.C0.ESC+\"[1;3A\"||(s.key=i.C0.ESC+\"[1;5A\")):s.key=t?i.C0.ESC+\"OA\":i.C0.ESC+\"[A\";break;case 40:if(e.metaKey)break;a?(s.key=i.C0.ESC+\"[1;\"+(a+1)+\"B\",r||s.key!==i.C0.ESC+\"[1;3B\"||(s.key=i.C0.ESC+\"[1;5B\")):s.key=t?i.C0.ESC+\"OB\":i.C0.ESC+\"[B\";break;case 45:e.shiftKey||e.ctrlKey||(s.key=i.C0.ESC+\"[2~\");break;case 46:s.key=a?i.C0.ESC+\"[3;\"+(a+1)+\"~\":i.C0.ESC+\"[3~\";break;case 36:s.key=a?i.C0.ESC+\"[1;\"+(a+1)+\"H\":t?i.C0.ESC+\"OH\":i.C0.ESC+\"[H\";break;case 35:s.key=a?i.C0.ESC+\"[1;\"+(a+1)+\"F\":t?i.C0.ESC+\"OF\":i.C0.ESC+\"[F\";break;case 33:e.shiftKey?s.type=2:s.key=i.C0.ESC+\"[5~\";break;case 34:e.shiftKey?s.type=3:s.key=i.C0.ESC+\"[6~\";break;case 112:s.key=a?i.C0.ESC+\"[1;\"+(a+1)+\"P\":i.C0.ESC+\"OP\";break;case 113:s.key=a?i.C0.ESC+\"[1;\"+(a+1)+\"Q\":i.C0.ESC+\"OQ\";break;case 114:s.key=a?i.C0.ESC+\"[1;\"+(a+1)+\"R\":i.C0.ESC+\"OR\";break;case 115:s.key=a?i.C0.ESC+\"[1;\"+(a+1)+\"S\":i.C0.ESC+\"OS\";break;case 116:s.key=a?i.C0.ESC+\"[15;\"+(a+1)+\"~\":i.C0.ESC+\"[15~\";break;case 117:s.key=a?i.C0.ESC+\"[17;\"+(a+1)+\"~\":i.C0.ESC+\"[17~\";break;case 118:s.key=a?i.C0.ESC+\"[18;\"+(a+1)+\"~\":i.C0.ESC+\"[18~\";break;case 119:s.key=a?i.C0.ESC+\"[19;\"+(a+1)+\"~\":i.C0.ESC+\"[19~\";break;case 120:s.key=a?i.C0.ESC+\"[20;\"+(a+1)+\"~\":i.C0.ESC+\"[20~\";break;case 121:s.key=a?i.C0.ESC+\"[21;\"+(a+1)+\"~\":i.C0.ESC+\"[21~\";break;case 122:s.key=a?i.C0.ESC+\"[23;\"+(a+1)+\"~\":i.C0.ESC+\"[23~\";break;case 123:s.key=a?i.C0.ESC+\"[24;\"+(a+1)+\"~\":i.C0.ESC+\"[24~\";break;default:if(!e.ctrlKey||e.shiftKey||e.altKey||e.metaKey)if(r&&!o||!e.altKey||e.metaKey)!r||e.altKey||e.ctrlKey||e.shiftKey||!e.metaKey?e.key&&!e.ctrlKey&&!e.altKey&&!e.metaKey&&e.keyCode>=48&&1===e.key.length?s.key=e.key:e.key&&e.ctrlKey&&\"_\"===e.key&&(s.key=i.C0.US):65===e.keyCode&&(s.type=1);else{var c=n[e.keyCode],l=c&&c[e.shiftKey?1:0];if(l)s.key=i.C0.ESC+l;else if(e.keyCode>=65&&e.keyCode<=90){var h=e.ctrlKey?e.keyCode-64:e.keyCode+32;s.key=i.C0.ESC+String.fromCharCode(h)}}else e.keyCode>=65&&e.keyCode<=90?s.key=String.fromCharCode(e.keyCode-64):32===e.keyCode?s.key=i.C0.NUL:e.keyCode>=51&&e.keyCode<=55?s.key=String.fromCharCode(e.keyCode-51+27):56===e.keyCode?s.key=i.C0.DEL:219===e.keyCode?s.key=i.C0.ESC:220===e.keyCode?s.key=i.C0.FS:221===e.keyCode&&(s.key=i.C0.GS)}return s}},482:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.Utf8ToUtf32=t.StringToUtf32=t.utf32ToString=t.stringFromCodePoint=void 0,t.stringFromCodePoint=function(e){return e>65535?(e-=65536,String.fromCharCode(55296+(e>>10))+String.fromCharCode(e%1024+56320)):String.fromCharCode(e)},t.utf32ToString=function(e,t,r){void 0===t&&(t=0),void 0===r&&(r=e.length);for(var i=\"\",n=t;n65535?(o-=65536,i+=String.fromCharCode(55296+(o>>10))+String.fromCharCode(o%1024+56320)):i+=String.fromCharCode(o)}return i};var r=function(){function e(){this._interim=0}return e.prototype.clear=function(){this._interim=0},e.prototype.decode=function(e,t){var r=e.length;if(!r)return 0;var i=0,n=0;this._interim&&(56320<=(a=e.charCodeAt(n++))&&a<=57343?t[i++]=1024*(this._interim-55296)+a-56320+65536:(t[i++]=this._interim,t[i++]=a),this._interim=0);for(var o=n;o=r)return this._interim=s,i;var a;56320<=(a=e.charCodeAt(o))&&a<=57343?t[i++]=1024*(s-55296)+a-56320+65536:(t[i++]=s,t[i++]=a)}else 65279!==s&&(t[i++]=s)}return i},e}();t.StringToUtf32=r;var i=function(){function e(){this.interim=new Uint8Array(3)}return e.prototype.clear=function(){this.interim.fill(0)},e.prototype.decode=function(e,t){var r=e.length;if(!r)return 0;var i,n,o,s,a=0,c=0,l=0;if(this.interim[0]){var h=!1,u=this.interim[0];u&=192==(224&u)?31:224==(240&u)?15:7;for(var f=0,_=void 0;(_=63&this.interim[++f])&&f<4;)u<<=6,u|=_;for(var d=192==(224&this.interim[0])?2:224==(240&this.interim[0])?3:4,p=d-f;l=r)return 0;if(128!=(192&(_=e[l++]))){l--,h=!0;break}this.interim[f++]=_,u<<=6,u|=63&_}h||(2===d?u<128?l--:t[a++]=u:3===d?u<2048||u>=55296&&u<=57343||65279===u||(t[a++]=u):u<65536||u>1114111||(t[a++]=u)),this.interim.fill(0)}for(var v=r-4,g=l;g=r)return this.interim[0]=i,a;if(128!=(192&(n=e[g++]))){g--;continue}if((c=(31&i)<<6|63&n)<128){g--;continue}t[a++]=c}else if(224==(240&i)){if(g>=r)return this.interim[0]=i,a;if(128!=(192&(n=e[g++]))){g--;continue}if(g>=r)return this.interim[0]=i,this.interim[1]=n,a;if(128!=(192&(o=e[g++]))){g--;continue}if((c=(15&i)<<12|(63&n)<<6|63&o)<2048||c>=55296&&c<=57343||65279===c)continue;t[a++]=c}else if(240==(248&i)){if(g>=r)return this.interim[0]=i,a;if(128!=(192&(n=e[g++]))){g--;continue}if(g>=r)return this.interim[0]=i,this.interim[1]=n,a;if(128!=(192&(o=e[g++]))){g--;continue}if(g>=r)return this.interim[0]=i,this.interim[1]=n,this.interim[2]=o,a;if(128!=(192&(s=e[g++]))){g--;continue}if((c=(7&i)<<18|(63&n)<<12|(63&o)<<6|63&s)<65536||c>1114111)continue;t[a++]=c}}return a},e}();t.Utf8ToUtf32=i},225:(e,t,r)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.UnicodeV6=void 0;var i,n=r(8273),o=[[768,879],[1155,1158],[1160,1161],[1425,1469],[1471,1471],[1473,1474],[1476,1477],[1479,1479],[1536,1539],[1552,1557],[1611,1630],[1648,1648],[1750,1764],[1767,1768],[1770,1773],[1807,1807],[1809,1809],[1840,1866],[1958,1968],[2027,2035],[2305,2306],[2364,2364],[2369,2376],[2381,2381],[2385,2388],[2402,2403],[2433,2433],[2492,2492],[2497,2500],[2509,2509],[2530,2531],[2561,2562],[2620,2620],[2625,2626],[2631,2632],[2635,2637],[2672,2673],[2689,2690],[2748,2748],[2753,2757],[2759,2760],[2765,2765],[2786,2787],[2817,2817],[2876,2876],[2879,2879],[2881,2883],[2893,2893],[2902,2902],[2946,2946],[3008,3008],[3021,3021],[3134,3136],[3142,3144],[3146,3149],[3157,3158],[3260,3260],[3263,3263],[3270,3270],[3276,3277],[3298,3299],[3393,3395],[3405,3405],[3530,3530],[3538,3540],[3542,3542],[3633,3633],[3636,3642],[3655,3662],[3761,3761],[3764,3769],[3771,3772],[3784,3789],[3864,3865],[3893,3893],[3895,3895],[3897,3897],[3953,3966],[3968,3972],[3974,3975],[3984,3991],[3993,4028],[4038,4038],[4141,4144],[4146,4146],[4150,4151],[4153,4153],[4184,4185],[4448,4607],[4959,4959],[5906,5908],[5938,5940],[5970,5971],[6002,6003],[6068,6069],[6071,6077],[6086,6086],[6089,6099],[6109,6109],[6155,6157],[6313,6313],[6432,6434],[6439,6440],[6450,6450],[6457,6459],[6679,6680],[6912,6915],[6964,6964],[6966,6970],[6972,6972],[6978,6978],[7019,7027],[7616,7626],[7678,7679],[8203,8207],[8234,8238],[8288,8291],[8298,8303],[8400,8431],[12330,12335],[12441,12442],[43014,43014],[43019,43019],[43045,43046],[64286,64286],[65024,65039],[65056,65059],[65279,65279],[65529,65531]],s=[[68097,68099],[68101,68102],[68108,68111],[68152,68154],[68159,68159],[119143,119145],[119155,119170],[119173,119179],[119210,119213],[119362,119364],[917505,917505],[917536,917631],[917760,917999]],a=function(){function e(){if(this.version=\"6\",!i){i=new Uint8Array(65536),n.fill(i,1),i[0]=0,n.fill(i,0,1,32),n.fill(i,0,127,160),n.fill(i,2,4352,4448),i[9001]=2,i[9002]=2,n.fill(i,2,11904,42192),i[12351]=1,n.fill(i,2,44032,55204),n.fill(i,2,63744,64256),n.fill(i,2,65040,65050),n.fill(i,2,65072,65136),n.fill(i,2,65280,65377),n.fill(i,2,65504,65511);for(var e=0;et[n][1])return!1;for(;n>=i;)if(e>t[r=i+n>>1][1])i=r+1;else{if(!(e=131072&&e<=196605||e>=196608&&e<=262141?2:1},e}();t.UnicodeV6=a},5981:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.WriteBuffer=void 0;var r=\"undefined\"==typeof queueMicrotask?function(e){Promise.resolve().then(e)}:queueMicrotask,i=function(){function e(e){this._action=e,this._writeBuffer=[],this._callbacks=[],this._pendingData=0,this._bufferOffset=0,this._isSyncWriting=!1,this._syncCalls=0}return e.prototype.writeSync=function(e,t){if(void 0!==t&&this._syncCalls>t)this._syncCalls=0;else if(this._pendingData+=e.length,this._writeBuffer.push(e),this._callbacks.push(void 0),this._syncCalls++,!this._isSyncWriting){var r;for(this._isSyncWriting=!0;r=this._writeBuffer.shift();){this._action(r);var i=this._callbacks.shift();i&&i()}this._pendingData=0,this._bufferOffset=2147483647,this._isSyncWriting=!1,this._syncCalls=0}},e.prototype.write=function(e,t){var r=this;if(this._pendingData>5e7)throw new Error(\"write data discarded, use flow control to avoid losing data\");this._writeBuffer.length||(this._bufferOffset=0,setTimeout((function(){return r._innerWrite()}))),this._pendingData+=e.length,this._writeBuffer.push(e),this._callbacks.push(t)},e.prototype._innerWrite=function(e,t){var i=this;void 0===e&&(e=0),void 0===t&&(t=!0);for(var n=e||Date.now();this._writeBuffer.length>this._bufferOffset;){var o=this._writeBuffer[this._bufferOffset],s=this._action(o,t);if(s)return void s.catch((function(e){return r((function(){throw e})),Promise.resolve(!1)})).then((function(e){return Date.now()-n>=12?setTimeout((function(){return i._innerWrite(0,e)})):i._innerWrite(n,e)}));var a=this._callbacks[this._bufferOffset];if(a&&a(),this._bufferOffset++,this._pendingData-=o.length,Date.now()-n>=12)break}this._writeBuffer.length>this._bufferOffset?(this._bufferOffset>50&&(this._writeBuffer=this._writeBuffer.slice(this._bufferOffset),this._callbacks=this._callbacks.slice(this._bufferOffset),this._bufferOffset=0),setTimeout((function(){return i._innerWrite()}))):(this._writeBuffer.length=0,this._callbacks.length=0,this._pendingData=0,this._bufferOffset=0)},e}();t.WriteBuffer=i},5770:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.PAYLOAD_LIMIT=void 0,t.PAYLOAD_LIMIT=1e7},6351:(e,t,r)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.DcsHandler=t.DcsParser=void 0;var i=r(482),n=r(8742),o=r(5770),s=[],a=function(){function e(){this._handlers=Object.create(null),this._active=s,this._ident=0,this._handlerFb=function(){},this._stack={paused:!1,loopPosition:0,fallThrough:!1}}return e.prototype.dispose=function(){this._handlers=Object.create(null),this._handlerFb=function(){},this._active=s},e.prototype.registerHandler=function(e,t){void 0===this._handlers[e]&&(this._handlers[e]=[]);var r=this._handlers[e];return r.push(t),{dispose:function(){var e=r.indexOf(t);-1!==e&&r.splice(e,1)}}},e.prototype.clearHandler=function(e){this._handlers[e]&&delete this._handlers[e]},e.prototype.setHandlerFallback=function(e){this._handlerFb=e},e.prototype.reset=function(){if(this._active.length)for(var e=this._stack.paused?this._stack.loopPosition-1:this._active.length-1;e>=0;--e)this._active[e].unhook(!1);this._stack.paused=!1,this._active=s,this._ident=0},e.prototype.hook=function(e,t){if(this.reset(),this._ident=e,this._active=this._handlers[e]||s,this._active.length)for(var r=this._active.length-1;r>=0;r--)this._active[r].hook(t);else this._handlerFb(this._ident,\"HOOK\",t)},e.prototype.put=function(e,t,r){if(this._active.length)for(var n=this._active.length-1;n>=0;n--)this._active[n].put(e,t,r);else this._handlerFb(this._ident,\"PUT\",i.utf32ToString(e,t,r))},e.prototype.unhook=function(e,t){if(void 0===t&&(t=!0),this._active.length){var r=!1,i=this._active.length-1,n=!1;if(this._stack.paused&&(i=this._stack.loopPosition-1,r=t,n=this._stack.fallThrough,this._stack.paused=!1),!n&&!1===r){for(;i>=0&&!0!==(r=this._active[i].unhook(e));i--)if(r instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=i,this._stack.fallThrough=!1,r;i--}for(;i>=0;i--)if((r=this._active[i].unhook(!1))instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=i,this._stack.fallThrough=!0,r}else this._handlerFb(this._ident,\"UNHOOK\",e);this._active=s,this._ident=0},e}();t.DcsParser=a;var c=new n.Params;c.addParam(0);var l=function(){function e(e){this._handler=e,this._data=\"\",this._params=c,this._hitLimit=!1}return e.prototype.hook=function(e){this._params=e.length>1||e.params[0]?e.clone():c,this._data=\"\",this._hitLimit=!1},e.prototype.put=function(e,t,r){this._hitLimit||(this._data+=i.utf32ToString(e,t,r),this._data.length>o.PAYLOAD_LIMIT&&(this._data=\"\",this._hitLimit=!0))},e.prototype.unhook=function(e){var t=this,r=!1;if(this._hitLimit)r=!1;else if(e&&(r=this._handler(this._data,this._params))instanceof Promise)return r.then((function(e){return t._params=c,t._data=\"\",t._hitLimit=!1,e}));return this._params=c,this._data=\"\",this._hitLimit=!1,r},e}();t.DcsHandler=l},2015:function(e,t,r){var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});Object.defineProperty(t,\"__esModule\",{value:!0}),t.EscapeSequenceParser=t.VT500_TRANSITION_TABLE=t.TransitionTable=void 0;var o=r(844),s=r(8273),a=r(8742),c=r(6242),l=r(6351),h=function(){function e(e){this.table=new Uint8Array(e)}return e.prototype.setDefault=function(e,t){s.fill(this.table,e<<4|t)},e.prototype.add=function(e,t,r,i){this.table[t<<8|e]=r<<4|i},e.prototype.addMany=function(e,t,r,i){for(var n=0;n1)throw new Error(\"only one byte as prefix supported\");if((r=e.prefix.charCodeAt(0))&&60>r||r>63)throw new Error(\"prefix must be in range 0x3c .. 0x3f\")}if(e.intermediates){if(e.intermediates.length>2)throw new Error(\"only two bytes as intermediates are supported\");for(var i=0;in||n>47)throw new Error(\"intermediate must be in range 0x20 .. 0x2f\");r<<=8,r|=n}}if(1!==e.final.length)throw new Error(\"final must be a single byte\");var o=e.final.charCodeAt(0);if(t[0]>o||o>t[1])throw new Error(\"final must be in range \"+t[0]+\" .. \"+t[1]);return(r<<=8)|o},r.prototype.identToString=function(e){for(var t=[];e;)t.push(String.fromCharCode(255&e)),e>>=8;return t.reverse().join(\"\")},r.prototype.dispose=function(){this._csiHandlers=Object.create(null),this._executeHandlers=Object.create(null),this._escHandlers=Object.create(null),this._oscParser.dispose(),this._dcsParser.dispose()},r.prototype.setPrintHandler=function(e){this._printHandler=e},r.prototype.clearPrintHandler=function(){this._printHandler=this._printHandlerFb},r.prototype.registerEscHandler=function(e,t){var r=this._identifier(e,[48,126]);void 0===this._escHandlers[r]&&(this._escHandlers[r]=[]);var i=this._escHandlers[r];return i.push(t),{dispose:function(){var e=i.indexOf(t);-1!==e&&i.splice(e,1)}}},r.prototype.clearEscHandler=function(e){this._escHandlers[this._identifier(e,[48,126])]&&delete this._escHandlers[this._identifier(e,[48,126])]},r.prototype.setEscHandlerFallback=function(e){this._escHandlerFb=e},r.prototype.setExecuteHandler=function(e,t){this._executeHandlers[e.charCodeAt(0)]=t},r.prototype.clearExecuteHandler=function(e){this._executeHandlers[e.charCodeAt(0)]&&delete this._executeHandlers[e.charCodeAt(0)]},r.prototype.setExecuteHandlerFallback=function(e){this._executeHandlerFb=e},r.prototype.registerCsiHandler=function(e,t){var r=this._identifier(e);void 0===this._csiHandlers[r]&&(this._csiHandlers[r]=[]);var i=this._csiHandlers[r];return i.push(t),{dispose:function(){var e=i.indexOf(t);-1!==e&&i.splice(e,1)}}},r.prototype.clearCsiHandler=function(e){this._csiHandlers[this._identifier(e)]&&delete this._csiHandlers[this._identifier(e)]},r.prototype.setCsiHandlerFallback=function(e){this._csiHandlerFb=e},r.prototype.registerDcsHandler=function(e,t){return this._dcsParser.registerHandler(this._identifier(e),t)},r.prototype.clearDcsHandler=function(e){this._dcsParser.clearHandler(this._identifier(e))},r.prototype.setDcsHandlerFallback=function(e){this._dcsParser.setHandlerFallback(e)},r.prototype.registerOscHandler=function(e,t){return this._oscParser.registerHandler(e,t)},r.prototype.clearOscHandler=function(e){this._oscParser.clearHandler(e)},r.prototype.setOscHandlerFallback=function(e){this._oscParser.setHandlerFallback(e)},r.prototype.setErrorHandler=function(e){this._errorHandler=e},r.prototype.clearErrorHandler=function(){this._errorHandler=this._errorHandlerFb},r.prototype.reset=function(){this.currentState=this.initialState,this._oscParser.reset(),this._dcsParser.reset(),this._params.reset(),this._params.addParam(0),this._collect=0,this.precedingCodepoint=0,0!==this._parseStack.state&&(this._parseStack.state=2,this._parseStack.handlers=[])},r.prototype._preserveStack=function(e,t,r,i,n){this._parseStack.state=e,this._parseStack.handlers=t,this._parseStack.handlerPos=r,this._parseStack.transition=i,this._parseStack.chunkPos=n},r.prototype.parse=function(e,t,r){var i,n=0,o=0,s=0;if(this._parseStack.state)if(2===this._parseStack.state)this._parseStack.state=0,s=this._parseStack.chunkPos+1;else{if(void 0===r||1===this._parseStack.state)throw this._parseStack.state=1,new Error(\"improper continuation due to previous async handler, giving up parsing\");var a=this._parseStack.handlers,c=this._parseStack.handlerPos-1;switch(this._parseStack.state){case 3:if(!1===r&&c>-1)for(;c>=0&&!0!==(i=a[c](this._params));c--)if(i instanceof Promise)return this._parseStack.handlerPos=c,i;this._parseStack.handlers=[];break;case 4:if(!1===r&&c>-1)for(;c>=0&&!0!==(i=a[c]());c--)if(i instanceof Promise)return this._parseStack.handlerPos=c,i;this._parseStack.handlers=[];break;case 6:if(n=e[this._parseStack.chunkPos],i=this._dcsParser.unhook(24!==n&&26!==n,r))return i;27===n&&(this._parseStack.transition|=1),this._params.reset(),this._params.addParam(0),this._collect=0;break;case 5:if(n=e[this._parseStack.chunkPos],i=this._oscParser.end(24!==n&&26!==n,r))return i;27===n&&(this._parseStack.transition|=1),this._params.reset(),this._params.addParam(0),this._collect=0}this._parseStack.state=0,s=this._parseStack.chunkPos+1,this.precedingCodepoint=0,this.currentState=15&this._parseStack.transition}for(var l=s;l>4){case 2:for(var h=l+1;;++h){if(h>=t||(n=e[h])<32||n>126&&n=t||(n=e[h])<32||n>126&&n=t||(n=e[h])<32||n>126&&n=t||(n=e[h])<32||n>126&&n=0&&!0!==(i=a[f](this._params));f--)if(i instanceof Promise)return this._preserveStack(3,a,f,o,l),i;f<0&&this._csiHandlerFb(this._collect<<8|n,this._params),this.precedingCodepoint=0;break;case 8:do{switch(n){case 59:this._params.addParam(0);break;case 58:this._params.addSubParam(-1);break;default:this._params.addDigit(n-48)}}while(++l47&&n<60);l--;break;case 9:this._collect<<=8,this._collect|=n;break;case 10:for(var _=this._escHandlers[this._collect<<8|n],d=_?_.length-1:-1;d>=0&&!0!==(i=_[d]());d--)if(i instanceof Promise)return this._preserveStack(4,_,d,o,l),i;d<0&&this._escHandlerFb(this._collect<<8|n),this.precedingCodepoint=0;break;case 11:this._params.reset(),this._params.addParam(0),this._collect=0;break;case 12:this._dcsParser.hook(this._collect<<8|n,this._params);break;case 13:for(var p=l+1;;++p)if(p>=t||24===(n=e[p])||26===n||27===n||n>127&&n=t||(n=e[v])<32||n>127&&n{Object.defineProperty(t,\"__esModule\",{value:!0}),t.OscHandler=t.OscParser=void 0;var i=r(5770),n=r(482),o=[],s=function(){function e(){this._state=0,this._active=o,this._id=-1,this._handlers=Object.create(null),this._handlerFb=function(){},this._stack={paused:!1,loopPosition:0,fallThrough:!1}}return e.prototype.registerHandler=function(e,t){void 0===this._handlers[e]&&(this._handlers[e]=[]);var r=this._handlers[e];return r.push(t),{dispose:function(){var e=r.indexOf(t);-1!==e&&r.splice(e,1)}}},e.prototype.clearHandler=function(e){this._handlers[e]&&delete this._handlers[e]},e.prototype.setHandlerFallback=function(e){this._handlerFb=e},e.prototype.dispose=function(){this._handlers=Object.create(null),this._handlerFb=function(){},this._active=o},e.prototype.reset=function(){if(2===this._state)for(var e=this._stack.paused?this._stack.loopPosition-1:this._active.length-1;e>=0;--e)this._active[e].end(!1);this._stack.paused=!1,this._active=o,this._id=-1,this._state=0},e.prototype._start=function(){if(this._active=this._handlers[this._id]||o,this._active.length)for(var e=this._active.length-1;e>=0;e--)this._active[e].start();else this._handlerFb(this._id,\"START\")},e.prototype._put=function(e,t,r){if(this._active.length)for(var i=this._active.length-1;i>=0;i--)this._active[i].put(e,t,r);else this._handlerFb(this._id,\"PUT\",n.utf32ToString(e,t,r))},e.prototype.start=function(){this.reset(),this._state=1},e.prototype.put=function(e,t,r){if(3!==this._state){if(1===this._state)for(;t0&&this._put(e,t,r)}},e.prototype.end=function(e,t){if(void 0===t&&(t=!0),0!==this._state){if(3!==this._state)if(1===this._state&&this._start(),this._active.length){var r=!1,i=this._active.length-1,n=!1;if(this._stack.paused&&(i=this._stack.loopPosition-1,r=t,n=this._stack.fallThrough,this._stack.paused=!1),!n&&!1===r){for(;i>=0&&!0!==(r=this._active[i].end(e));i--)if(r instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=i,this._stack.fallThrough=!1,r;i--}for(;i>=0;i--)if((r=this._active[i].end(!1))instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=i,this._stack.fallThrough=!0,r}else this._handlerFb(this._id,\"END\",e);this._active=o,this._id=-1,this._state=0}},e}();t.OscParser=s;var a=function(){function e(e){this._handler=e,this._data=\"\",this._hitLimit=!1}return e.prototype.start=function(){this._data=\"\",this._hitLimit=!1},e.prototype.put=function(e,t,r){this._hitLimit||(this._data+=n.utf32ToString(e,t,r),this._data.length>i.PAYLOAD_LIMIT&&(this._data=\"\",this._hitLimit=!0))},e.prototype.end=function(e){var t=this,r=!1;if(this._hitLimit)r=!1;else if(e&&(r=this._handler(this._data))instanceof Promise)return r.then((function(e){return t._data=\"\",t._hitLimit=!1,e}));return this._data=\"\",this._hitLimit=!1,r},e}();t.OscHandler=a},8742:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.Params=void 0;var r=2147483647,i=function(){function e(e,t){if(void 0===e&&(e=32),void 0===t&&(t=32),this.maxLength=e,this.maxSubParamsLength=t,t>256)throw new Error(\"maxSubParamsLength must not be greater than 256\");this.params=new Int32Array(e),this.length=0,this._subParams=new Int32Array(t),this._subParamsLength=0,this._subParamsIdx=new Uint16Array(e),this._rejectDigits=!1,this._rejectSubDigits=!1,this._digitIsSub=!1}return e.fromArray=function(t){var r=new e;if(!t.length)return r;for(var i=t[0]instanceof Array?1:0;i>8,i=255&this._subParamsIdx[t];i-r>0&&e.push(Array.prototype.slice.call(this._subParams,r,i))}return e},e.prototype.reset=function(){this.length=0,this._subParamsLength=0,this._rejectDigits=!1,this._rejectSubDigits=!1,this._digitIsSub=!1},e.prototype.addParam=function(e){if(this._digitIsSub=!1,this.length>=this.maxLength)this._rejectDigits=!0;else{if(e<-1)throw new Error(\"values lesser than -1 are not allowed\");this._subParamsIdx[this.length]=this._subParamsLength<<8|this._subParamsLength,this.params[this.length++]=e>r?r:e}},e.prototype.addSubParam=function(e){if(this._digitIsSub=!0,this.length)if(this._rejectDigits||this._subParamsLength>=this.maxSubParamsLength)this._rejectSubDigits=!0;else{if(e<-1)throw new Error(\"values lesser than -1 are not allowed\");this._subParams[this._subParamsLength++]=e>r?r:e,this._subParamsIdx[this.length-1]++}},e.prototype.hasSubParams=function(e){return(255&this._subParamsIdx[e])-(this._subParamsIdx[e]>>8)>0},e.prototype.getSubParams=function(e){var t=this._subParamsIdx[e]>>8,r=255&this._subParamsIdx[e];return r-t>0?this._subParams.subarray(t,r):null},e.prototype.getSubParamsAll=function(){for(var e={},t=0;t>8,i=255&this._subParamsIdx[t];i-r>0&&(e[t]=this._subParams.slice(r,i))}return e},e.prototype.addDigit=function(e){var t;if(!(this._rejectDigits||!(t=this._digitIsSub?this._subParamsLength:this.length)||this._digitIsSub&&this._rejectSubDigits)){var i=this._digitIsSub?this._subParams:this.params,n=i[t-1];i[t-1]=~n?Math.min(10*n+e,r):e}},e}();t.Params=i},744:function(e,t,r){var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),o=this&&this.__decorate||function(e,t,r,i){var n,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},s=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.BufferService=t.MINIMUM_ROWS=t.MINIMUM_COLS=void 0;var a=r(2585),c=r(5295),l=r(8460),h=r(844);t.MINIMUM_COLS=2,t.MINIMUM_ROWS=1;var u=function(e){function r(r){var i=e.call(this)||this;return i._optionsService=r,i.isUserScrolling=!1,i._onResize=new l.EventEmitter,i._onScroll=new l.EventEmitter,i.cols=Math.max(r.options.cols,t.MINIMUM_COLS),i.rows=Math.max(r.options.rows,t.MINIMUM_ROWS),i.buffers=new c.BufferSet(r,i),i}return n(r,e),Object.defineProperty(r.prototype,\"onResize\",{get:function(){return this._onResize.event},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,\"onScroll\",{get:function(){return this._onScroll.event},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,\"buffer\",{get:function(){return this.buffers.active},enumerable:!1,configurable:!0}),r.prototype.dispose=function(){e.prototype.dispose.call(this),this.buffers.dispose()},r.prototype.resize=function(e,t){this.cols=e,this.rows=t,this.buffers.resize(e,t),this.buffers.setupTabStops(this.cols),this._onResize.fire({cols:e,rows:t})},r.prototype.reset=function(){this.buffers.reset(),this.isUserScrolling=!1},r.prototype.scroll=function(e,t){void 0===t&&(t=!1);var r,i=this.buffer;(r=this._cachedBlankLine)&&r.length===this.cols&&r.getFg(0)===e.fg&&r.getBg(0)===e.bg||(r=i.getBlankLine(e,t),this._cachedBlankLine=r),r.isWrapped=t;var n=i.ybase+i.scrollTop,o=i.ybase+i.scrollBottom;if(0===i.scrollTop){var s=i.lines.isFull;o===i.lines.length-1?s?i.lines.recycle().copyFrom(r):i.lines.push(r.clone()):i.lines.splice(o+1,0,r.clone()),s?this.isUserScrolling&&(i.ydisp=Math.max(i.ydisp-1,0)):(i.ybase++,this.isUserScrolling||i.ydisp++)}else{var a=o-n+1;i.lines.shiftElements(n+1,a-1,-1),i.lines.set(o,r.clone())}this.isUserScrolling||(i.ydisp=i.ybase),this._onScroll.fire(i.ydisp)},r.prototype.scrollLines=function(e,t,r){var i=this.buffer;if(e<0){if(0===i.ydisp)return;this.isUserScrolling=!0}else e+i.ydisp>=i.ybase&&(this.isUserScrolling=!1);var n=i.ydisp;i.ydisp=Math.max(Math.min(i.ydisp+e,i.ybase),0),n!==i.ydisp&&(t||this._onScroll.fire(i.ydisp))},r.prototype.scrollPages=function(e){this.scrollLines(e*(this.rows-1))},r.prototype.scrollToTop=function(){this.scrollLines(-this.buffer.ydisp)},r.prototype.scrollToBottom=function(){this.scrollLines(this.buffer.ybase-this.buffer.ydisp)},r.prototype.scrollToLine=function(e){var t=e-this.buffer.ydisp;0!==t&&this.scrollLines(t)},o([s(0,a.IOptionsService)],r)}(h.Disposable);t.BufferService=u},7994:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.CharsetService=void 0;var r=function(){function e(){this.glevel=0,this._charsets=[]}return e.prototype.reset=function(){this.charset=void 0,this._charsets=[],this.glevel=0},e.prototype.setgLevel=function(e){this.glevel=e,this.charset=this._charsets[e]},e.prototype.setgCharset=function(e,t){this._charsets[e]=t,this.glevel===e&&(this.charset=t)},e}();t.CharsetService=r},1753:function(e,t,r){var i=this&&this.__decorate||function(e,t,r,i){var n,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},n=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.CoreMouseService=void 0;var o=r(2585),s=r(8460),a={NONE:{events:0,restrict:function(){return!1}},X10:{events:1,restrict:function(e){return 4!==e.button&&1===e.action&&(e.ctrl=!1,e.alt=!1,e.shift=!1,!0)}},VT200:{events:19,restrict:function(e){return 32!==e.action}},DRAG:{events:23,restrict:function(e){return 32!==e.action||3!==e.button}},ANY:{events:31,restrict:function(e){return!0}}};function c(e,t){var r=(e.ctrl?16:0)|(e.shift?4:0)|(e.alt?8:0);return 4===e.button?(r|=64,r|=e.action):(r|=3&e.button,4&e.button&&(r|=64),8&e.button&&(r|=128),32===e.action?r|=32:0!==e.action||t||(r|=3)),r}var l=String.fromCharCode,h={DEFAULT:function(e){var t=[c(e,!1)+32,e.col+32,e.row+32];return t[0]>255||t[1]>255||t[2]>255?\"\":\"\u001b[M\"+l(t[0])+l(t[1])+l(t[2])},SGR:function(e){var t=0===e.action&&4!==e.button?\"m\":\"M\";return\"\u001b[<\"+c(e,!0)+\";\"+e.col+\";\"+e.row+t}},u=function(){function e(e,t){this._bufferService=e,this._coreService=t,this._protocols={},this._encodings={},this._activeProtocol=\"\",this._activeEncoding=\"\",this._onProtocolChange=new s.EventEmitter,this._lastEvent=null;for(var r=0,i=Object.keys(a);r=this._bufferService.cols||e.row<0||e.row>=this._bufferService.rows)return!1;if(4===e.button&&32===e.action)return!1;if(3===e.button&&32!==e.action)return!1;if(4!==e.button&&(2===e.action||3===e.action))return!1;if(e.col++,e.row++,32===e.action&&this._lastEvent&&this._compareEvents(this._lastEvent,e))return!1;if(!this._protocols[this._activeProtocol].restrict(e))return!1;var t=this._encodings[this._activeEncoding](e);return t&&(\"DEFAULT\"===this._activeEncoding?this._coreService.triggerBinaryEvent(t):this._coreService.triggerDataEvent(t,!0)),this._lastEvent=e,!0},e.prototype.explainEvents=function(e){return{down:!!(1&e),up:!!(2&e),drag:!!(4&e),move:!!(8&e),wheel:!!(16&e)}},e.prototype._compareEvents=function(e,t){return e.col===t.col&&e.row===t.row&&e.button===t.button&&e.action===t.action&&e.ctrl===t.ctrl&&e.alt===t.alt&&e.shift===t.shift},i([n(0,o.IBufferService),n(1,o.ICoreService)],e)}();t.CoreMouseService=u},6975:function(e,t,r){var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),o=this&&this.__decorate||function(e,t,r,i){var n,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},s=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.CoreService=void 0;var a=r(2585),c=r(8460),l=r(1439),h=r(844),u=Object.freeze({insertMode:!1}),f=Object.freeze({applicationCursorKeys:!1,applicationKeypad:!1,bracketedPasteMode:!1,origin:!1,reverseWraparound:!1,sendFocus:!1,wraparound:!0}),_=function(e){function t(t,r,i,n){var o=e.call(this)||this;return o._bufferService=r,o._logService=i,o._optionsService=n,o.isCursorInitialized=!1,o.isCursorHidden=!1,o._onData=o.register(new c.EventEmitter),o._onUserInput=o.register(new c.EventEmitter),o._onBinary=o.register(new c.EventEmitter),o._scrollToBottom=t,o.register({dispose:function(){return o._scrollToBottom=void 0}}),o.modes=l.clone(u),o.decPrivateModes=l.clone(f),o}return n(t,e),Object.defineProperty(t.prototype,\"onData\",{get:function(){return this._onData.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"onUserInput\",{get:function(){return this._onUserInput.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"onBinary\",{get:function(){return this._onBinary.event},enumerable:!1,configurable:!0}),t.prototype.reset=function(){this.modes=l.clone(u),this.decPrivateModes=l.clone(f)},t.prototype.triggerDataEvent=function(e,t){if(void 0===t&&(t=!1),!this._optionsService.options.disableStdin){var r=this._bufferService.buffer;r.ybase!==r.ydisp&&this._scrollToBottom(),t&&this._onUserInput.fire(),this._logService.debug('sending data \"'+e+'\"',(function(){return e.split(\"\").map((function(e){return e.charCodeAt(0)}))})),this._onData.fire(e)}},t.prototype.triggerBinaryEvent=function(e){this._optionsService.options.disableStdin||(this._logService.debug('sending binary \"'+e+'\"',(function(){return e.split(\"\").map((function(e){return e.charCodeAt(0)}))})),this._onBinary.fire(e))},o([s(1,a.IBufferService),s(2,a.ILogService),s(3,a.IOptionsService)],t)}(h.Disposable);t.CoreService=_},3730:function(e,t,r){var i=this&&this.__decorate||function(e,t,r,i){var n,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},n=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.DirtyRowService=void 0;var o=r(2585),s=function(){function e(e){this._bufferService=e,this.clearRange()}return Object.defineProperty(e.prototype,\"start\",{get:function(){return this._start},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"end\",{get:function(){return this._end},enumerable:!1,configurable:!0}),e.prototype.clearRange=function(){this._start=this._bufferService.buffer.y,this._end=this._bufferService.buffer.y},e.prototype.markDirty=function(e){ethis._end&&(this._end=e)},e.prototype.markRangeDirty=function(e,t){if(e>t){var r=e;e=t,t=r}ethis._end&&(this._end=t)},e.prototype.markAllDirty=function(){this.markRangeDirty(0,this._bufferService.rows-1)},i([n(0,o.IBufferService)],e)}();t.DirtyRowService=s},4348:function(e,t,r){var i=this&&this.__spreadArrays||function(){for(var e=0,t=0,r=arguments.length;t0?n[0].index:t.length;if(t.length!==u)throw new Error(\"[createInstance] First service dependency of \"+e.name+\" at position \"+(u+1)+\" conflicts with \"+t.length+\" static arguments\");return new(e.bind.apply(e,i([void 0],i(t,s))))},e}();t.InstantiationService=a},7866:function(e,t,r){var i=this&&this.__decorate||function(e,t,r,i){var n,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},n=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}},o=this&&this.__spreadArrays||function(){for(var e=0,t=0,r=arguments.length;t{Object.defineProperty(t,\"__esModule\",{value:!0}),t.OptionsService=t.DEFAULT_OPTIONS=t.DEFAULT_BELL_SOUND=void 0;var i=r(8460),n=r(6114),o=r(1439);t.DEFAULT_BELL_SOUND=\"data:audio/mp3;base64,SUQzBAAAAAAAI1RTU0UAAAAPAAADTGF2ZjU4LjMyLjEwNAAAAAAAAAAAAAAA//tQxAADB8AhSmxhIIEVCSiJrDCQBTcu3UrAIwUdkRgQbFAZC1CQEwTJ9mjRvBA4UOLD8nKVOWfh+UlK3z/177OXrfOdKl7pyn3Xf//WreyTRUoAWgBgkOAGbZHBgG1OF6zM82DWbZaUmMBptgQhGjsyYqc9ae9XFz280948NMBWInljyzsNRFLPWdnZGWrddDsjK1unuSrVN9jJsK8KuQtQCtMBjCEtImISdNKJOopIpBFpNSMbIHCSRpRR5iakjTiyzLhchUUBwCgyKiweBv/7UsQbg8isVNoMPMjAAAA0gAAABEVFGmgqK////9bP/6XCykxBTUUzLjEwMKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq\",t.DEFAULT_OPTIONS=Object.freeze({cols:80,rows:24,cursorBlink:!1,cursorStyle:\"block\",cursorWidth:1,bellSound:t.DEFAULT_BELL_SOUND,bellStyle:\"none\",drawBoldTextInBrightColors:!0,fastScrollModifier:\"alt\",fastScrollSensitivity:5,fontFamily:\"courier-new, courier, monospace\",fontSize:15,fontWeight:\"normal\",fontWeightBold:\"bold\",lineHeight:1,linkTooltipHoverDuration:500,letterSpacing:0,logLevel:\"info\",scrollback:1e3,scrollSensitivity:1,screenReaderMode:!1,macOptionIsMeta:!1,macOptionClickForcesSelection:!1,minimumContrastRatio:1,disableStdin:!1,allowProposedApi:!0,allowTransparency:!1,tabStopWidth:8,theme:{},rightClickSelectsWord:n.isMac,rendererType:\"canvas\",windowOptions:{},windowsMode:!1,wordSeparator:\" ()[]{}',\\\"`\",altClickMovesCursor:!0,convertEol:!1,termName:\"xterm\",cancelEvents:!1});var s=[\"normal\",\"bold\",\"100\",\"200\",\"300\",\"400\",\"500\",\"600\",\"700\",\"800\",\"900\"],a=[\"cols\",\"rows\"],c=function(){function e(e){this._onOptionChange=new i.EventEmitter,this.options=o.clone(t.DEFAULT_OPTIONS);for(var r=0,n=Object.keys(e);r{function r(e,t,r){t.di$target===t?t.di$dependencies.push({id:e,index:r}):(t.di$dependencies=[{id:e,index:r}],t.di$target=t)}Object.defineProperty(t,\"__esModule\",{value:!0}),t.createDecorator=t.getServiceDependencies=t.serviceRegistry=void 0,t.serviceRegistry=new Map,t.getServiceDependencies=function(e){return e.di$dependencies||[]},t.createDecorator=function(e){if(t.serviceRegistry.has(e))return t.serviceRegistry.get(e);var i=function(e,t,n){if(3!==arguments.length)throw new Error(\"@IServiceName-decorator can only be used to decorate a parameter\");r(i,e,n)};return i.toString=function(){return e},t.serviceRegistry.set(e,i),i}},2585:(e,t,r)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.IUnicodeService=t.LogLevelEnum=t.IOptionsService=t.ILogService=t.IInstantiationService=t.IDirtyRowService=t.ICharsetService=t.ICoreService=t.ICoreMouseService=t.IBufferService=void 0;var i,n=r(8343);t.IBufferService=n.createDecorator(\"BufferService\"),t.ICoreMouseService=n.createDecorator(\"CoreMouseService\"),t.ICoreService=n.createDecorator(\"CoreService\"),t.ICharsetService=n.createDecorator(\"CharsetService\"),t.IDirtyRowService=n.createDecorator(\"DirtyRowService\"),t.IInstantiationService=n.createDecorator(\"InstantiationService\"),t.ILogService=n.createDecorator(\"LogService\"),t.IOptionsService=n.createDecorator(\"OptionsService\"),(i=t.LogLevelEnum||(t.LogLevelEnum={}))[i.DEBUG=0]=\"DEBUG\",i[i.INFO=1]=\"INFO\",i[i.WARN=2]=\"WARN\",i[i.ERROR=3]=\"ERROR\",i[i.OFF=4]=\"OFF\",t.IUnicodeService=n.createDecorator(\"UnicodeService\")},1480:(e,t,r)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.UnicodeService=void 0;var i=r(8460),n=r(225),o=function(){function e(){this._providers=Object.create(null),this._active=\"\",this._onChange=new i.EventEmitter;var e=new n.UnicodeV6;this.register(e),this._active=e.version,this._activeProvider=e}return Object.defineProperty(e.prototype,\"onChange\",{get:function(){return this._onChange.event},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"versions\",{get:function(){return Object.keys(this._providers)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"activeVersion\",{get:function(){return this._active},set:function(e){if(!this._providers[e])throw new Error('unknown Unicode version \"'+e+'\"');this._active=e,this._activeProvider=this._providers[e],this._onChange.fire(e)},enumerable:!1,configurable:!0}),e.prototype.register=function(e){this._providers[e.version]=e},e.prototype.wcwidth=function(e){return this._activeProvider.wcwidth(e)},e.prototype.getStringCellWidth=function(e){for(var t=0,r=e.length,i=0;i=r)return t+this.wcwidth(n);var o=e.charCodeAt(i);56320<=o&&o<=57343?n=1024*(n-55296)+o-56320+65536:t+=this.wcwidth(o)}t+=this.wcwidth(n)}return t},e}();t.UnicodeService=o}},t={};return function r(i){if(t[i])return t[i].exports;var n=t[i]={exports:{}};return e[i].call(n.exports,n,n.exports,r),n.exports}(4389)})()}));\n//# sourceMappingURL=xterm.js.map","import * as bare from \"libapps\";\n\nexport class Hterm {\n elem: HTMLElement;\n\n term: bare.hterm.Terminal;\n io: bare.hterm.IO;\n\n columns: number;\n rows: number;\n\n // to \"show\" the current message when removeMessage() is called\n message: string;\n\n constructor(elem: HTMLElement) {\n this.elem = elem;\n bare.hterm.defaultStorage = new bare.lib.Storage.Memory();\n this.term = new bare.hterm.Terminal();\n this.term.getPrefs().set(\"send-encoding\", \"raw\");\n this.term.decorate(this.elem);\n\n this.io = this.term.io.push();\n this.term.installKeyboard();\n };\n\n info(): { columns: number, rows: number } {\n return { columns: this.columns, rows: this.rows };\n };\n\n output(data: string) {\n if (this.term.io != null) {\n this.term.io.writeUTF8(data);\n }\n };\n\n showMessage(message: string, timeout: number) {\n this.message = message;\n if (timeout > 0) {\n this.term.io.showOverlay(message, timeout);\n } else {\n this.term.io.showOverlay(message, null);\n }\n };\n\n removeMessage(): void {\n // there is no hideOverlay(), so show the same message with 0 sec\n this.term.io.showOverlay(this.message, 0);\n }\n\n setWindowTitle(title: string) {\n this.term.setWindowTitle(title);\n };\n\n setPreferences(value: object) {\n Object.keys(value).forEach((key) => {\n if (key != \"EnableWebGL\") {\n this.term.getPrefs().set(key, value[key]);\n }\n });\n };\n\n onInput(callback: (input: string) => void) {\n this.io.onVTKeystroke = (data) => {\n callback(data);\n };\n this.io.sendString = (data) => {\n callback(data);\n };\n };\n\n onResize(callback: (colmuns: number, rows: number) => void) {\n this.io.onTerminalResize = (columns: number, rows: number) => {\n this.columns = columns;\n this.rows = rows;\n callback(columns, rows);\n };\n };\n\n deactivate(): void {\n this.io.onVTKeystroke = function () { };\n this.io.sendString = function () { };\n this.io.onTerminalResize = function () { };\n this.term.uninstallKeyboard();\n }\n\n reset(): void {\n this.removeMessage();\n this.term.installKeyboard();\n }\n\n close(): void {\n this.term.uninstallKeyboard();\n }\n}\n","export class ConnectionFactory {\n url: string;\n protocols: string[];\n\n constructor(url: string, protocols: string[]) {\n this.url = url;\n this.protocols = protocols;\n };\n\n create(): Connection {\n return new Connection(this.url, this.protocols);\n };\n}\n\nexport class Connection {\n bare: WebSocket;\n\n\n constructor(url: string, protocols: string[]) {\n this.bare = new WebSocket(url, protocols);\n }\n\n open() {\n // nothing todo for websocket\n };\n\n close() {\n this.bare.close();\n };\n\n send(data: string) {\n this.bare.send(data);\n };\n\n isOpen(): boolean {\n if (this.bare.readyState == WebSocket.CONNECTING ||\n this.bare.readyState == WebSocket.OPEN) {\n return true\n }\n return false\n }\n\n onOpen(callback: () => void) {\n this.bare.onopen = (event) => {\n callback();\n }\n };\n\n onReceive(callback: (data: string) => void) {\n this.bare.onmessage = (event) => {\n callback(event.data);\n }\n };\n\n onClose(callback: () => void) {\n this.bare.onclose = (event) => {\n callback();\n };\n };\n}\n","export const protocols = [\"webtty\"];\n\nexport const msgInputUnknown = '0';\nexport const msgInput = '1';\nexport const msgPing = '2';\nexport const msgResizeTerminal = '3';\n\nexport const msgUnknownOutput = '0';\nexport const msgOutput = '1';\nexport const msgPong = '2';\nexport const msgSetWindowTitle = '3';\nexport const msgSetPreferences = '4';\nexport const msgSetReconnect = '5';\nexport const msgSetBufferSize = '6';\n\n\nexport interface Terminal {\n info(): { columns: number, rows: number };\n output(data: string): void;\n showMessage(message: string, timeout: number): void;\n removeMessage(): void;\n setWindowTitle(title: string): void;\n setPreferences(value: object): void;\n onInput(callback: (input: string) => void): void;\n onResize(callback: (colmuns: number, rows: number) => void): void;\n reset(): void;\n deactivate(): void;\n close(): void;\n}\n\nexport interface Connection {\n open(): void;\n close(): void;\n send(data: string): void;\n isOpen(): boolean;\n onOpen(callback: () => void): void;\n onReceive(callback: (data: string) => void): void;\n onClose(callback: () => void): void;\n}\n\nexport interface ConnectionFactory {\n create(): Connection;\n}\n\n\nexport class WebTTY {\n term: Terminal;\n connectionFactory: ConnectionFactory;\n args: string;\n authToken: string;\n reconnect: number;\n bufSize: number;\n\n constructor(term: Terminal, connectionFactory: ConnectionFactory, args: string, authToken: string) {\n this.term = term;\n this.connectionFactory = connectionFactory;\n this.args = args;\n this.authToken = authToken;\n this.reconnect = -1;\n this.bufSize = 1024;\n };\n\n open() {\n let connection = this.connectionFactory.create();\n let pingTimer: NodeJS.Timeout;\n let reconnectTimeout: NodeJS.Timeout;\n\n const setup = () => {\n connection.onOpen(() => {\n const termInfo = this.term.info();\n\n connection.send(JSON.stringify(\n {\n Arguments: this.args,\n AuthToken: this.authToken,\n }\n ));\n\n\n const resizeHandler = (colmuns: number, rows: number) => {\n connection.send(\n msgResizeTerminal + JSON.stringify(\n {\n columns: colmuns,\n rows: rows\n }\n )\n );\n };\n\n this.term.onResize(resizeHandler);\n resizeHandler(termInfo.columns, termInfo.rows);\n\n this.term.onInput(\n (input: string) => {\n // Leave room for message type id\n let effectiveBufferSize = this.bufSize - 1;\n\n // Split input into buffer sized chunks\n for (let i = 0; i < Math.ceil(input.length/effectiveBufferSize); i++) {\n let inputChunk = input.substring(i*effectiveBufferSize, Math.min((i+1)*effectiveBufferSize, input.length))\n connection.send(msgInput + inputChunk);\n }\n }\n );\n\n pingTimer = setInterval(() => {\n connection.send(msgPing)\n }, 30 * 1000);\n\n });\n\n connection.onReceive((data) => {\n const payload = data.slice(1);\n switch (data[0]) {\n case msgOutput:\n this.term.output(atob(payload));\n break;\n case msgPong:\n break;\n case msgSetWindowTitle:\n this.term.setWindowTitle(payload);\n break;\n case msgSetPreferences:\n const preferences = JSON.parse(payload);\n this.term.setPreferences(preferences);\n break;\n case msgSetReconnect:\n const autoReconnect = JSON.parse(payload);\n console.log(\"Enabling reconnect: \" + autoReconnect + \" seconds\")\n this.reconnect = autoReconnect;\n break;\n case msgSetBufferSize:\n const bufSize = JSON.parse(payload);\n this.bufSize = bufSize;\n break;\n }\n });\n\n connection.onClose(() => {\n clearInterval(pingTimer);\n this.term.deactivate();\n this.term.showMessage(\"Connection Closed\", 0);\n if (this.reconnect > 0) {\n reconnectTimeout = setTimeout(() => {\n connection = this.connectionFactory.create();\n this.term.reset();\n setup();\n }, this.reconnect * 1000);\n }\n });\n\n connection.open();\n }\n\n setup();\n return () => {\n clearTimeout(reconnectTimeout);\n connection.close();\n }\n };\n};\n","import { Terminal, IDisposable } from \"xterm\";\nimport { FitAddon } from 'xterm-addon-fit';\nimport { WebLinksAddon } from 'xterm-addon-web-links';\nimport { WebglAddon } from 'xterm-addon-webgl';\nimport { lib } from \"libapps\"\n\nexport class Xterm {\n elem: HTMLElement;\n term: Terminal;\n resizeListener: () => void;\n decoder: lib.UTF8Decoder;\n\n message: HTMLElement;\n messageTimeout: number;\n messageTimer: NodeJS.Timeout;\n onResizeHandler: IDisposable;\n onDataHandler: IDisposable;\n fitAddOn: FitAddon;\n\n constructor(elem: HTMLElement) {\n this.elem = elem;\n this.term = new Terminal();\n this.fitAddOn = new FitAddon();\n this.term.loadAddon(new WebLinksAddon());\n this.term.loadAddon(this.fitAddOn);\n\n this.message = elem.ownerDocument.createElement(\"div\");\n this.message.className = \"xterm-overlay\";\n this.messageTimeout = 2000;\n\n this.resizeListener = () => {\n this.fitAddOn.fit();\n this.term.scrollToBottom();\n this.showMessage(String(this.term.cols) + \"x\" + String(this.term.rows), this.messageTimeout);\n };\n\n this.term.open(elem);\n this.term.focus();\n this.resizeListener();\n window.addEventListener(\"resize\", () => { this.resizeListener(); });\n\n this.decoder = new lib.UTF8Decoder()\n };\n\n info(): { columns: number, rows: number } {\n return { columns: this.term.cols, rows: this.term.rows };\n };\n\n output(data: string) {\n this.term.write(this.decoder.decode(data));\n };\n\n showMessage(message: string, timeout: number) {\n this.message.textContent = message;\n this.elem.appendChild(this.message);\n\n if (this.messageTimer) {\n clearTimeout(this.messageTimer);\n }\n if (timeout > 0) {\n this.messageTimer = setTimeout(() => {\n this.elem.removeChild(this.message);\n }, timeout);\n }\n };\n\n removeMessage(): void {\n if (this.message.parentNode == this.elem) {\n this.elem.removeChild(this.message);\n }\n }\n\n setWindowTitle(title: string) {\n document.title = title;\n };\n\n setPreferences(value: object) {\n Object.keys(value).forEach((key) => {\n if (key == \"EnableWebGL\" && key) {\n this.term.loadAddon(new WebglAddon());\n } else if (key == \"font-size\") {\n this.term.setOption(\"fontSize\", value[key])\n } else if (key == \"font-family\") {\n this.term.setOption(\"fontFamily\", value[key])\n }\n });\n };\n\n onInput(callback: (input: string) => void) {\n this.onDataHandler = this.term.onData((data) => {\n callback(data);\n });\n\n };\n\n onResize(callback: (colmuns: number, rows: number) => void) {\n this.onResizeHandler = this.term.onResize(() => {\n callback(this.term.cols, this.term.rows);\n });\n };\n\n deactivate(): void {\n this.onDataHandler.dispose();\n this.onResizeHandler.dispose();\n this.term.blur();\n }\n\n reset(): void {\n this.removeMessage();\n this.term.clear();\n }\n\n close(): void {\n window.removeEventListener(\"resize\", this.resizeListener);\n this.term.dispose();\n }\n}\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","import { Hterm } from \"./hterm\";\nimport { Xterm } from \"./xterm\";\nimport { Terminal, WebTTY, protocols } from \"./webtty\";\nimport { ConnectionFactory } from \"./websocket\";\n\n// @TODO remove these\ndeclare var gotty_auth_token: string;\ndeclare var gotty_term: string;\n\nconst elem = document.getElementById(\"terminal\")\n\nif (elem !== null) {\n var term: Terminal;\n if (gotty_term == \"hterm\") {\n term = new Hterm(elem);\n } else {\n term = new Xterm(elem);\n }\n const httpsEnabled = window.location.protocol == \"https:\";\n const url = (httpsEnabled ? 'wss://' : 'ws://') + window.location.host + window.location.pathname + 'ws';\n const args = window.location.search;\n const factory = new ConnectionFactory(url, protocols);\n const wt = new WebTTY(term, factory, args, gotty_auth_token);\n const closer = wt.open();\n\n window.addEventListener(\"unload\", () => {\n closer();\n term.close();\n });\n};\n"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack://gotty/./node_modules/xterm-addon-fit/lib/xterm-addon-fit.js","webpack://gotty/./node_modules/xterm-addon-web-links/lib/xterm-addon-web-links.js","webpack://gotty/./node_modules/xterm-addon-webgl/lib/xterm-addon-webgl.js","webpack://gotty/./node_modules/xterm/lib/xterm.js","webpack://gotty/./src/websocket.ts","webpack://gotty/./src/webtty.ts","webpack://gotty/./src/xterm.ts","webpack://gotty/webpack/bootstrap","webpack://gotty/./src/main.ts"],"names":["self","module","exports","e","775","t","Object","defineProperty","value","FitAddon","r","prototype","activate","this","_terminal","dispose","fit","proposeDimensions","_core","rows","cols","_renderService","clear","resize","element","parentElement","dimensions","actualCellWidth","actualCellHeight","window","getComputedStyle","parseInt","getPropertyValue","i","Math","max","n","o","a","viewport","scrollBarWidth","floor","l","call","m","c","d","enumerable","get","Symbol","toStringTag","__esModule","create","bind","default","hasOwnProperty","p","s","WebLinksAddon","RegExp","open","opener","location","href","console","warn","_handler","_options","_useLinkProvider","matchIndex","_linkProvider","registerLinkProvider","WebLinkProvider","_linkMatcherId","registerLinkMatcher","deregisterLinkMatcher","LinkComputer","_regex","provideLinks","computeLink","source","flags","_translateBufferLineToStringWithWrap","u","exec","f","log","indexOf","lastIndex","length","h","v","start","x","y","end","push","range","text","buffer","active","getLine","isWrapped","translateToString","substring","965","GlyphRenderer","Float32Array","BYTES_PER_ELEMENT","_","_colors","_gl","_dimensions","_activeBuffer","_vertices","count","attributes","attributesBuffers","selectionAttributes","throwIfFalsy","createProgram","_program","_projectionLocation","getUniformLocation","_resolutionLocation","_textureLocation","_vertexArrayObject","createVertexArray","bindVertexArray","createBuffer","bindBuffer","ARRAY_BUFFER","bufferData","STATIC_DRAW","enableVertexAttribArray","vertexAttribPointer","FLOAT","Uint8Array","ELEMENT_ARRAY_BUFFER","_attributesBuffer","vertexAttribDivisor","_atlasTexture","createTexture","bindTexture","TEXTURE_2D","texImage2D","RGBA","UNSIGNED_BYTE","texParameteri","TEXTURE_WRAP_S","CLAMP_TO_EDGE","TEXTURE_WRAP_T","enable","BLEND","blendFunc","SRC_ALPHA","ONE_MINUS_SRC_ALPHA","onResize","beginFrame","_atlas","updateCell","_updateCell","NULL_CELL_CODE","WHITESPACE_CELL_CODE","getRasterizedGlyphCombinedChar","getRasterizedGlyph","offset","scaledCharLeft","scaledCharTop","size","scaledCanvasWidth","scaledCanvasHeight","texturePositionClipSpace","sizeClipSpace","fill","updateSelection","slice","selectionOpaque","rgba","selection","columnSelectMode","startCol","endCol","viewportCappedEndRow","viewportCappedStartRow","_updateSelectionRange","viewportStartRow","viewportEndRow","viewportY","RENDER_MODEL_INDICIES_PER_CELL","cells","RENDER_MODEL_FG_OFFSET","AttributeData","fg","bg","RENDER_MODEL_BG_OFFSET","getBgColorMode","_getColorFromAnsiIndex","getBgColor","g","toColorRGB","background","COMBINED_CHAR_BIT_MASK","C","getCell","getChars","ansi","Error","canvas","width","height","setColors","render","useProgram","lineLengths","subarray","set","STREAM_DRAW","hasCanvasChanged","uniform1i","activeTexture","TEXTURE0","cacheCanvas","generateMipmap","uniformMatrix4fv","PROJECTION_MATRIX","uniform2f","drawElementsInstanced","TRIANGLES","setAtlas","setDimensions","344","RectangleRenderer","_updateCachedColors","DYNAMIC_DRAW","_updateViewportRectangle","_bgFloat","_colorToFloat32Array","_selectionFloat","_addRectangleFloat","scaledCellWidth","scaledCellHeight","hasSelection","updateBackgrounds","_updateRectangle","foreground","expandFloat32Array","_addRectangle","310","RenderModel","Uint32Array","clearSelection","259","min","constructor","sliceFallback","795","WebglAddon","_preserveDrawingBuffer","_colorManager","colors","_renderer","WebglRenderer","setRenderer","_createRenderer","textureAtlas","configurable","clearTextureAtlas","clearCharAtlas","666","__extends","setPrototypeOf","__proto__","Array","_model","_workCell","CellData","_onRequestRedraw","EventEmitter","_renderLayers","LinkRenderLayer","screenElement","CursorRenderLayer","scaledCharWidth","scaledCharHeight","canvasWidth","canvasHeight","_devicePixelRatio","devicePixelRatio","_updateDimensions","_canvas","document","createElement","antialias","depth","preserveDrawingBuffer","getContext","appendChild","_rectangleRenderer","_glyphRenderer","onCharSizeChanged","_isAttached","body","contains","event","forEach","removeChild","_charAtlas","reset","_refreshCharAtlas","onDevicePixelRatioChange","style","onBlur","onFocus","onSelectionChanged","_updateSelectionModel","fire","onCursorMove","onOptionsChanged","acquireCharAtlas","warmUp","clearTexture","_updateModel","registerCharacterJoiner","deregisterCharacterJoiner","renderRows","_charSizeService","onGridChanged","ydisp","lines","loadCell","getCode","ceil","getOption","round","Disposable","381","createShader","shaderSource","compileShader","getShaderParameter","COMPILE_STATUS","error","getShaderInfoLog","deleteShader","attachShader","VERTEX_SHADER","FRAGMENT_SHADER","linkProgram","getProgramParameter","LINK_STATUS","getProgramInfoLog","deleteProgram","713","removeTerminalFromCache","generateConfig","ownedBy","configEquals","config","atlas","splice","WebglCharAtlas","433","is256Color","css","cursor","cursorAccent","selectionTransparent","contrastCache","fontFamily","fontSize","fontWeight","fontWeightBold","allowTransparency","drawBoldTextInBrightColors","minimumContrastRatio","167","texturePosition","_config","_didWarmUp","_cacheMap","_cacheMapCombined","_currentRowY","_currentRowX","_currentRowHeight","_workBoundingBox","top","left","bottom","right","_workAttributeData","_cacheCtx","alpha","_tmpCanvas","_tmpCtx","_doWarmUp","_drawToCache","DEFAULT_COLOR","clearRect","_getBackgroundColor","_getForegroundCss","_getMinimumContrastCss","channels","toCss","substr","_resolveBackgroundRgba","_resolveForegroundRgba","getCss","ensureContrastRatio","setCss","String","fromCharCode","save","isInvisible","isBold","isInverse","isDim","isItalic","getFgColor","getFgColorMode","globalCompositeOperation","fillStyle","fillRect","font","textBaseline","globalAlpha","DIM_OPACITY","fillText","restore","R","getImageData","data","b","_findGlyphBoundingBox","w","_clipImageData","putImageData","Uint8ClampedArray","ImageData","toString","592","BaseRenderLayer","_container","_alpha","_scaledCharWidth","_scaledCharHeight","_scaledCellWidth","_scaledCellHeight","_scaledCharLeft","_scaledCharTop","classList","add","zIndex","_initCanvas","_ctx","_clearAll","_setTransparency","cloneNode","replaceChild","_fillCells","_fillBottomLineAtCells","_fillLeftLineAtCell","_strokeRectAtCell","lineWidth","strokeRect","_clearCells","_fillCharTrueColor","_getFont","_clipRow","beginPath","rect","clip","461","_onRequestRefreshRowsEvent","_cell","_state","isFocused","_cursorRenderers","bar","_renderBarCursor","block","_renderBlockCursor","underline","_renderUnderlineCursor","_clearCursor","_cursorBlinkStateManager","pause","cursorY","resume","_render","restartBlinkAnimation","isPaused","_coreService","isCursorInitialized","isCursorHidden","baseY","cursorX","content","_renderBlurCursor","getWidth","isCursorVisible","strokeStyle","_renderCallback","_restartInterval","_blinkStartTimeout","_blinkInterval","clearInterval","clearTimeout","_animationFrame","cancelAnimationFrame","_animationTimeRestarted","Date","now","requestAnimationFrame","setTimeout","setInterval","activeElement","textarea","hasFocus","733","linkifier","onShowLinkUnderline","_onShowLinkUnderline","onHideLinkUnderline","_onHideLinkUnderline","linkifier2","_clearCurrentLink","x1","y1","y2","x2","INVERTED_DEFAULT_COLOR","742","contrastRatio","toPaddedHex","rgb","color","toRgba","blend","isOpaque","toColor","opaque","toChannels","opacity","pow","relativeLuminance","relativeLuminance2","reduceLuminance","increaseLuminance","499","CHAR_ATLAS_CELL_SPACING","345","forwardEvent","_listeners","_disposed","_event","859","getDisposeArrayDisposable","disposeArray","_disposables","_isDisposed","register","unregister","455","concat","fillFallback","147","ExtendedAttrs","extended","fromColorRGB","clone","isUnderline","isBlink","isFgRGB","isBgRGB","isFgPalette","isBgPalette","isFgDefault","isBgDefault","isAttributeDefault","hasExtendedAttrs","updateExtended","isEmpty","getUnderlineColor","underlineColor","getUnderlineColorMode","isUnderlineColorRGB","isUnderlineColorPalette","isUnderlineColorDefault","getUnderlineStyle","underlineStyle","782","apply","arguments","combinedData","fromCharData","setFromCharData","isCombined","stringFromCodePoint","charCodeAt","CHAR_DATA_ATTR_INDEX","CHAR_DATA_CHAR_INDEX","CHAR_DATA_WIDTH_INDEX","getAsCharData","855","WHITESPACE_CELL_WIDTH","WHITESPACE_CELL_CHAR","NULL_CELL_WIDTH","NULL_CELL_CHAR","CHAR_DATA_CODE_INDEX","DEFAULT_ATTR","133","Utf8ToUtf32","StringToUtf32","utf32ToString","_interim","decode","interim","4567","AccessibilityManager","_liveRegionLineCount","_charsToConsume","_charsToAnnounce","_accessibilityTreeRoot","_rowContainer","setAttribute","_rowElements","_createAccessibilityTreeNode","_topBoundaryFocusListener","_onBoundaryFocus","_bottomBoundaryFocusListener","addEventListener","_refreshRowsDimensions","_renderRowsDebouncer","RenderDebouncer","_renderRows","_refreshRows","_liveRegion","insertAdjacentElement","_onResize","onRender","onScroll","onA11yChar","_onChar","onLineFeed","onA11yTab","_onTab","onKey","_onKey","key","_clearLiveRegion","onDimensionsChange","_screenDprMonitor","ScreenDprMonitor","setListener","addDisposableDomListener","removeElementFromParent","target","getAttribute","relatedTarget","pop","shift","removeEventListener","unshift","scrollLines","focus","preventDefault","stopImmediatePropagation","children","tabIndex","_refreshRowDimensions","textContent","tooMuchOutput","isMac","parentNode","refresh","translateBufferLineToString","innerText","_announceCharacters","3614","replace","decPrivateModes","bracketedPasteMode","triggerDataEvent","getBoundingClientRect","clientX","clientY","rightClickHandler","moveTextAreaUnderMouseCursor","paste","handlePasteEvent","copyHandler","bracketTextForPaste","prepareTextForTerminal","clipboardData","setData","selectionText","stopPropagation","getData","rightClickSelect","select","4774","7239","ColorContrastCache","_color","_rgba","setColor","getColor","5680","ColorManager","DEFAULT_ANSI_COLORS","freeze","_litmusColor","createLinearGradient","_contrastCache","onOptionsChange","setTheme","_parseColor","black","red","green","yellow","blue","magenta","cyan","white","brightBlack","brightRed","brightGreen","brightYellow","brightBlue","brightMagenta","brightCyan","brightWhite","split","map","Number","9631","3656","3551","__decorate","getOwnPropertyDescriptor","Reflect","decorate","__param","MouseZone","Linkifier","_bufferService","_logService","_unicodeService","_linkMatchers","_nextLinkMatcherId","_onLinkTooltip","_rowsToLinkify","attachToDom","_element","_mouseZoneManager","linkifyRows","clearAll","_rowsTimeoutId","_linkifyRows","_timeBeforeLatency","iterator","hasNext","next","_doLinkifyRow","first","debug","id","regex","handler","validationCallback","hoverTooltipCallback","tooltipCallback","hoverLeaveCallback","leaveCallback","willLinkActivate","priority","_addLinkMatcherToList","stringIndexToBufferIndex","getFg","_addLink","getStringCellWidth","_createLinkHoverEvent","remove","IBufferService","ILogService","IUnicodeService","clickCallback","hoverCallback","6465","Linkifier2","_linkProviders","_linkCacheDisposables","_isMouseOut","_activeLine","_currentLink","_mouseService","_onMouseMove","_onClick","_lastMouseEvent","_positionFromMouseEvent","composedPath","_lastBufferCell","_onHover","_askForLink","_linkAtPosition","link","_activeProviderReplies","Map","_checkLinkProviderResult","_removeIntersectingLinks","Set","has","find","_handleNewLink","_linkLeave","state","decorations","pointerCursor","isHovered","_linkHover","defineProperties","toggle","_fireUnderlineEvent","onRenderedBufferChange","hover","_createLinkUnderlineEvent","leave","getCoords","9042","promptLabel","6954","MouseZoneManager","_screenElement","_selectionService","_optionsService","_zones","_areZonesActive","_lastHoverCoords","_initialSelectionLength","_onMouseDown","_mouseMoveListener","_mouseLeaveListener","_onMouseLeave","_clickListener","_deactivate","_activate","_currentZone","pageX","pageY","_findZoneEventAt","_tooltipTimeout","_onTooltip","options","linkTooltipHoverDuration","_getSelectionLength","IMouseService","ISelectionService","IOptionsService","6193","_rowCount","_rowStart","_rowEnd","_innerRefresh","5596","_currentDevicePixelRatio","_listener","clearListener","_outerListener","_updateDpr","_resolutionMediaMatchList","removeListener","matchMedia","addListener","3236","Terminal","S","E","L","k","A","T","O","D","P","M","browser","_keyDownHandled","_onCursorMove","_onRender","_onSelectionChange","_onTitleChange","_onBell","_onFocus","_onBlur","_onA11yCharEmitter","_onA11yTabEmitter","_setup","_instantiationService","createInstance","_inputHandler","onRequestBell","bell","onRequestRefreshRows","onRequestReset","onRequestWindowsOptionsReport","_reportWindowsOptions","onAnsiColorChange","_changeAnsiColor","onTitleChange","_afterResize","optionsService","colorIndex","onThemeChange","_customKeyEventHandler","write","buffers","preventScroll","_updateOptions","measure","syncScrollArea","screenReaderMode","_accessibilityManager","setupTabStops","_setTheme","theme","_onTextAreaFocus","sendFocus","C0","ESC","updateCursorStyle","_showCursor","blur","_onTextAreaBlur","_syncTextArea","isCursorInViewport","_compositionHelper","isComposing","ybase","lineHeight","_initGlobal","_bindKeys","isFirefox","button","rightClickSelectsWord","isLinux","_keyUp","_keyDown","_keyPress","compositionstart","compositionupdate","compositionend","updateCompositionElements","_queueLinkification","isConnected","_document","ownerDocument","dir","createDocumentFragment","_viewportElement","_viewportScrollArea","_helperContainer","CoreBrowserService","setService","ICoreBrowserService","CharSizeService","ICharSizeService","_theme","onOptionChange","_characterJoinerService","CharacterJoinerService","ICharacterJoinerService","RenderService","IRenderService","_compositionView","CompositionHelper","_soundService","SoundService","ISoundService","MouseService","Viewport","onRequestSyncScrollBar","SelectionService","onRequestScrollLines","amount","suppressScrollEvent","onSelectionChange","onRequestRedraw","onLinuxMouseSelection","_onScroll","onMouseDown","_coreMouseService","areMouseEventsActive","disable","bindMouse","rendererType","Renderer","DomRenderer","getRawByteCoords","overrideType","type","buttons","deltaY","triggerMouseEvent","col","row","action","ctrl","ctrlKey","alt","altKey","shiftKey","mouseup","wheel","mousedrag","mousemove","cancel","onProtocolChange","logLevel","explainEvents","passive","activeProtocol","shouldForceSelection","hasScrollback","getLinesScrolled","applicationCursorKeys","abs","onWheel","onTouchStart","onTouchMove","refreshRows","shouldColumnSelect","attachCustomKeyEventHandler","deregister","markers","addMarker","normal","setSelection","getSelection","getSelectionPosition","startColumn","selectionStart","startRow","endColumn","selectionEnd","endRow","selectAll","selectLines","keydown","scrollToBottom","evaluateKeyboardEvent","macOptionIsMeta","_isThirdLevelShift","ETX","CR","domEvent","metaKey","isWindows","keyCode","charCode","which","_soundBell","playBellSound","hasValidSize","getBlankLine","DEFAULT_ATTR_DATA","position","WindowsOptionsReportType","GET_WIN_SIZE_PIXELS","toFixed","GET_CELL_SIZE_PIXELS","cancelEvents","_visualBell","bellStyle","CoreTerminal","1680","_scrollLines","_scrollArea","_lastRecordedBufferLength","_lastRecordedViewportHeight","_lastRecordedBufferHeight","_lastTouchY","_lastScrollTop","_wheelPartialScroll","_refreshAnimationFrame","_ignoreNextScrollEvent","offsetWidth","backgroundColor","_refresh","offsetHeight","scrollTop","offsetParent","_bubbleScroll","cancelable","_getPixelsScrolled","_applyScrollModifier","deltaMode","WheelEvent","DOM_DELTA_LINE","DOM_DELTA_PAGE","DOM_DELTA_PIXEL","fastScrollModifier","fastScrollSensitivity","scrollSensitivity","touches","2950","_textarea","_isComposing","_isSendingComposition","_compositionPosition","_dataAlreadySent","_finalizeComposition","_handleAnyTextareaChanges","ICoreService","9806","getCoordsRelativeToElement","9504","moveToCellSequence","244","AddonManager","_addons","instance","loadAddon","isDisposed","_wrappedAddonDispose","4389","_addonManager","_checkProposedApi","allowProposedApi","onData","onBinary","onBell","_parser","_buffer","_verifyIntegers","registerMarker","scrollPages","scrollToTop","scrollToLine","writeUtf8","writeln","setOption","isNaN","init","getNullCell","_onBufferChange","_normal","_alternate","onBufferActivate","alternate","_line","registerCsiHandler","toArray","addCsiHandler","registerDcsHandler","addDcsHandler","registerEscHandler","addEscHandler","registerOscHandler","addOscHandler","unicodeService","versions","activeVersion","1546","_rendererId","_currentGlyphIdentifier","chars","code","bold","dim","italic","_drawChars","_getContrastColor","_drawUncachedChars","draw","join","2512","_coreBrowserService","cursorBlink","cursorStyle","cursorWidth","3700","GridCache","cache","5098","3525","_id","TextRenderLayer","SelectionRenderLayer","_runOperation","letterSpacing","IInstantiationService","1752","4149","_clearState","_didStateChange","_areCoordinatesEqual","9596","_characterWidth","_characterFont","_characterOverlapCache","_forEachCell","getJoinedCharacters","JoinedCellData","_isOverlapping","getCodePoint","_drawBackground","_drawForeground","measureText","9616","BaseCharAtlas","1420","DynamicCharAtlas","2040","8803","1906","NoneCharAtlas","getGlyphCacheKey","_drawToCacheCount","_glyphsWaitingOnBitmap","_bitmapCommitTimeout","_bitmap","_cacheCanvas","_width","_height","LRUMap","prealloc","_canCache","_drawFromCache","capacity","peek","index","_toCoordinateX","_toCoordinateY","drawImage","inBitmap","_getForegroundColor","_addGlyphToBitmap","isSafari","_generateBitmap","createImageBitmap","then","7001","_map","_head","_tail","_nodePool","_unlinkNode","prev","_appendNode","peekValue","1296","_linkifier","_linkifier2","_terminalClass","_refreshRowElements","_selectionContainer","_injectCss","_rowFactory","DomRendererRowFactory","_onLinkHover","_onLinkLeave","_themeStyleElement","_dimensionsStyleElement","overflow","_terminalSelector","BOLD_CLASS","ITALIC_CLASS","CURSOR_CLASS","CURSOR_STYLE_BLOCK_CLASS","CURSOR_BLINK_CLASS","CURSOR_STYLE_BAR_CLASS","CURSOR_STYLE_UNDERLINE_CLASS","_createSelectionElement","createRow","_setCellUnderline","textDecoration","3787","UNDERLINE_CLASS","DIM_CLASS","display","_applyMinimumContrast","_addStyle","456","SelectionModel","isSelectAllActive","selectionStartLength","areSelectionValuesReversed","onTrim","428","_onCharSizeChange","_measureStrategy","_parentElement","_result","_measureElement","4269","_characterJoiners","_nextCharacterJoinerId","getBg","getTrimmedLength","_getJoinedRanges","_mergeRanges","_stringRangesToCellRanges","getString","5114","getRootNode","8934","3230","_isPaused","_needsFullRefresh","_isNextRenderRedrawOnly","_needsSelectionRefresh","_canvasWidth","_canvasHeight","_selectionState","_onDimensionsChange","_onRefreshRequest","_renderDebouncer","_fullRefresh","onCharSizeChange","IntersectionObserver","_onIntersectionChange","threshold","observe","disconnect","isIntersecting","intersectionRatio","_fireOnCanvasResize","changeOptions","9312","_dragScrollAmount","_enabled","_mouseDownTimeStamp","_oldHasSelection","_oldSelectionStart","_oldSelectionEnd","_onLinuxMouseSelection","_onRedrawRequest","_onRequestScrollLines","_mouseUpListener","_onMouseUp","onUserInput","_trimListener","_onTrim","_onBufferActivate","_activeSelectionMode","_removeMouseDownListeners","finalSelectionStart","finalSelectionEnd","_isClickInSelection","_getMouseBufferCoords","_areCoordsInSelection","_selectWordAtCursor","currentLink","getRangeLength","_selectWordAt","_getMouseEventScrollAmount","macOptionClickForcesSelection","timeStamp","_onIncrementalClick","detail","_onSingleClick","_onDoubleClick","_onTripleClick","_addMouseDownListeners","_dragScrollIntervalTimer","_dragScroll","hasWidth","_selectLineAt","_selectToWordAt","_fireEventIfSelectionChanged","_fireOnSelectionChange","activeBuffer","_convertViewportColToCharacterIndex","_getWordAt","charAt","_isCharWordSeparator","trim","wordSeparator","getWrappedRangeForLine","last","4725","createDecorator","357","_audioContext","AudioContext","webkitAudioContext","audioContext","createBufferSource","decodeAudioData","_base64ToArrayBuffer","_removeMimeType","bellSound","connect","destination","atob","6349","CircularList","_maxLength","onDeleteEmitter","onInsertEmitter","onTrimEmitter","_array","_startIndex","_length","_getCyclicIndex","recycle","trimStart","shiftElements","1439","isArray","8969","_onBinary","_onData","_onLineFeed","InstantiationService","OptionsService","BufferService","LogService","CoreService","CoreMouseService","ICoreMouseService","_dirtyRowService","DirtyRowService","IDirtyRowService","UnicodeService","_charsetService","CharsetService","ICharsetService","InputHandler","markRangeDirty","scrollBottom","_writeBuffer","WriteBuffer","parse","_onScrollApi","_windowsMode","writeSync","LogLevelEnum","WARN","MINIMUM_COLS","MINIMUM_ROWS","scroll","windowsMode","_enableWindowsMode","updateWindowsModeWrappedState","final","8460","5435","setWinLines","restoreWin","minimizeWin","setWinPosition","setWinSizePixels","raiseWin","lowerWin","refreshWin","setWinSizeChars","maximizeWin","fullscreenWin","getWinState","getWinPosition","getWinSizePixels","getScreenSizePixels","getCellSizePixels","getWinSizeChars","getScreenSizeChars","getIconTitle","getWinTitle","pushTitle","popTitle","_data","hook","put","unhook","EscapeSequenceParser","_parseBuffer","_stringDecoder","_utf8Decoder","_windowTitle","_iconName","_windowTitleStack","_iconNameStack","_curAttrData","_eraseAttrDataInternal","_onRequestBell","_onRequestRefreshRows","_onRequestReset","_onRequestSyncScrollBar","_onRequestWindowsOptionsReport","_onA11yChar","_onA11yTab","_onAnsiColorChange","_parseStack","paused","cursorStartX","cursorStartY","decodedLength","setCsiHandlerFallback","identifier","identToString","params","setEscHandlerFallback","setExecuteHandlerFallback","setOscHandlerFallback","setDcsHandlerFallback","payload","setPrintHandler","print","insertChars","intermediates","scrollLeft","cursorUp","scrollRight","cursorDown","cursorForward","cursorBackward","cursorNextLine","cursorPrecedingLine","cursorCharAbsolute","cursorPosition","cursorForwardTab","eraseInDisplay","prefix","eraseInLine","insertLines","deleteLines","deleteChars","scrollUp","scrollDown","eraseChars","cursorBackwardTab","charPosAbsolute","hPositionRelative","repeatPrecedingCharacter","sendDeviceAttributesPrimary","sendDeviceAttributesSecondary","linePosAbsolute","vPositionRelative","hVPosition","tabClear","setMode","setModePrivate","resetMode","resetModePrivate","charAttributes","deviceStatus","deviceStatusPrivate","softReset","setCursorStyle","setScrollRegion","saveCursor","windowOptions","restoreCursor","insertColumns","deleteColumns","setExecuteHandler","BEL","LF","lineFeed","VT","FF","carriageReturn","BS","backspace","HT","tab","SO","shiftOut","SI","shiftIn","C1","IND","NEL","nextLine","HTS","tabSet","OscHandler","setTitle","setIconName","setAnsiColor","reverseIndex","keypadApplicationMode","keypadNumericMode","fullReset","setgLevel","selectDefaultCharset","selectCharset","CHARSETS","screenAlignmentPattern","setErrorHandler","_preserveStack","_logSlowResolvingAsync","Promise","race","catch","clearRange","charset","wraparound","modes","insertMode","markDirty","setCellFromCodePoint","wcwidth","_eraseAttrData","insertCells","addCodepointToCell","precedingCodepoint","hasContent","DcsHandler","convertEol","reverseWraparound","_restrictCursor","nextStop","origin","_setCursor","_moveCursor","tabs","prevStop","_eraseInBufferLine","replaceCells","_resetBufferLine","deleteCells","_is","termName","setgCharset","DEFAULT_CHARSET","applicationKeypad","activeEncoding","activateAltBuffer","activateNormalBuffer","_updateAttrColor","_extractColor","hasSubParams","getSubParams","_processUnderline","savedX","savedY","savedCurAttrData","savedCharset","_savedCharset","_parseAnsiColorChange","markAllDirty","844","6114","isIphone","isIpad","navigator","userAgent","platform","includes","test","8273","9282","3734","9092","BufferStringIterator","Buffer","MAX_BUFFER_SIZE","_hasScrollback","_nullCell","_whitespaceCell","_cols","_rows","_getCorrectBufferLength","getWhitespaceCell","BufferLine","maxLength","scrollback","fillViewportRows","_isReflowEnabled","_reflow","_reflowLarger","_reflowSmaller","reflowLargerGetLinesToRemove","reflowLargerCreateNewLayout","reflowLargerApplyNewLayout","layout","_reflowLargerAdjustViewport","countRemoved","reflowSmallerGetNewLineLengths","newLines","copyCellsFrom","getWrappedLineTrimmedLength","setCell","tabStopWidth","Marker","line","onInsert","onDelete","onDispose","_removeMarker","_trimRight","_endIndex","_startOverscan","_endOverscan","_current","8437","_combined","_extendedAttrs","keys","copyFrom","4841","4634","reduce","5295","BufferSet","_alt","inactiveBuffer","511","643","4863","_nextId","_onDispose","7116","B","j","q","z","Q","K","Y","Z","H","2584","NUL","SOH","STX","EOT","ENQ","ACK","DLE","DC1","DC2","DC3","DC4","NAK","SYN","ETB","CAN","EM","SUB","FS","GS","RS","US","SP","DEL","PAD","HOP","BPH","NBH","SSA","ESA","HTJ","VTS","PLD","PLU","RI","SS2","SS3","DCS","PU1","PU2","STS","CCH","MW","SPA","EPA","SOS","SGCI","SCI","CSI","ST","OSC","PM","APC","7399","48","49","50","51","52","53","54","55","56","57","186","187","188","189","190","191","192","219","220","221","222","482","225","UnicodeV6","version","5981","queueMicrotask","resolve","_action","_callbacks","_pendingData","_bufferOffset","_isSyncWriting","_syncCalls","_innerWrite","5770","PAYLOAD_LIMIT","6351","DcsParser","_handlers","_active","_ident","_handlerFb","_stack","loopPosition","fallThrough","registerHandler","clearHandler","setHandlerFallback","Params","addParam","_params","_hitLimit","2015","VT500_TRANSITION_TABLE","TransitionTable","table","setDefault","addMany","_transitions","handlers","handlerPos","transition","chunkPos","initialState","currentState","_collect","_printHandlerFb","_executeHandlerFb","_csiHandlerFb","_escHandlerFb","_errorHandlerFb","_printHandler","_executeHandlers","_csiHandlers","_escHandlers","_oscParser","OscParser","_dcsParser","_errorHandler","_identifier","reverse","clearPrintHandler","clearEscHandler","clearExecuteHandler","clearCsiHandler","clearDcsHandler","clearOscHandler","clearErrorHandler","collect","abort","addSubParam","addDigit","6242","_start","_put","8742","maxSubParamsLength","Int32Array","_subParams","_subParamsLength","_subParamsIdx","Uint16Array","_rejectDigits","_rejectSubDigits","_digitIsSub","fromArray","getSubParamsAll","744","isUserScrolling","_cachedBlankLine","isFull","7994","glevel","_charsets","1753","NONE","events","restrict","X10","VT200","DRAG","ANY","DEFAULT","SGR","_protocols","_encodings","_activeProtocol","_activeEncoding","_onProtocolChange","_lastEvent","addProtocol","addEncoding","_compareEvents","triggerBinaryEvent","down","up","drag","move","6975","_onUserInput","_scrollToBottom","disableStdin","3730","_end","4348","__spreadArrays","ServiceCollection","_entries","_services","getService","getServiceDependencies","sort","name","7866","DEBUG","info","INFO","ERROR","off","OFF","_updateLogLevel","_evalLazyOptionalParams","_log","7302","DEFAULT_OPTIONS","DEFAULT_BELL_SOUND","altClickMovesCursor","_onOptionChange","_sanitizeAndValidateOption","8343","di$target","di$dependencies","serviceRegistry","2585","1480","_providers","_onChange","_activeProvider","url","protocols","Connection","ConnectionFactory","bare","WebSocket","close","send","isOpen","readyState","CONNECTING","OPEN","onOpen","callback","onopen","onReceive","onmessage","onClose","onclose","msgInputUnknown","msgInput","msgPing","msgResizeTerminal","msgUnknownOutput","msgOutput","msgPong","msgSetWindowTitle","msgSetPreferences","msgSetReconnect","msgSetBufferSize","term","connectionFactory","args","authToken","reconnect","bufSize","pingTimer","reconnectTimeout","connection","setup","termInfo","JSON","stringify","Arguments","AuthToken","resizeHandler","colmuns","columns","onInput","input","effectiveBufferSize","inputChunk","output","setWindowTitle","preferences","setPreferences","autoReconnect","deactivate","showMessage","WebTTY","elem","fitAddOn","message","className","messageTimeout","resizeListener","from","timeout","messageTimer","removeMessage","title","onDataHandler","onResizeHandler","Xterm","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","__webpack_modules__","getElementById","protocol","host","pathname","search","factory","gotty_auth_token"],"mappings":"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","file":"gotty.js","sourcesContent":["/*!\n * xterm-addon-fit (https://npmjs.com/package/xterm-addon-fit)\n * @license MIT\n * @version 0.5.0\n * ==xterm-addon-fit/LICENSE==\n * Copyright (c) 2019, The xterm.js authors (https://github.com/xtermjs/xterm.js)\n * \n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n * \n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n * \n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\n!function(e,t){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define([],t):\"object\"==typeof exports?exports.FitAddon=t():e.FitAddon=t()}(self,(function(){return(()=>{\"use strict\";var e={775:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.FitAddon=void 0;var r=function(){function e(){}return e.prototype.activate=function(e){this._terminal=e},e.prototype.dispose=function(){},e.prototype.fit=function(){var e=this.proposeDimensions();if(e&&this._terminal){var t=this._terminal._core;this._terminal.rows===e.rows&&this._terminal.cols===e.cols||(t._renderService.clear(),this._terminal.resize(e.cols,e.rows))}},e.prototype.proposeDimensions=function(){if(this._terminal&&this._terminal.element&&this._terminal.element.parentElement){var e=this._terminal._core;if(0!==e._renderService.dimensions.actualCellWidth&&0!==e._renderService.dimensions.actualCellHeight){var t=window.getComputedStyle(this._terminal.element.parentElement),r=parseInt(t.getPropertyValue(\"height\")),i=Math.max(0,parseInt(t.getPropertyValue(\"width\"))),n=window.getComputedStyle(this._terminal.element),o=r-(parseInt(n.getPropertyValue(\"padding-top\"))+parseInt(n.getPropertyValue(\"padding-bottom\"))),a=i-(parseInt(n.getPropertyValue(\"padding-right\"))+parseInt(n.getPropertyValue(\"padding-left\")))-e.viewport.scrollBarWidth;return{cols:Math.max(2,Math.floor(a/e._renderService.dimensions.actualCellWidth)),rows:Math.max(1,Math.floor(o/e._renderService.dimensions.actualCellHeight))}}}},e}();t.FitAddon=r}},t={};return function r(i){if(t[i])return t[i].exports;var n=t[i]={exports:{}};return e[i](n,n.exports,r),n.exports}(775)})()}));\n//# sourceMappingURL=xterm-addon-fit.js.map","/*!\n * xterm-addon-web-links (https://npmjs.com/package/xterm-addon-web-links)\n * @license MIT\n * @version 0.4.0\n * ==xterm-addon-web-links/LICENSE==\n * Copyright (c) 2017, The xterm.js authors (https://github.com/xtermjs/xterm.js)\n * \n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n * \n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n * \n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\n!function(e,t){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define([],t):\"object\"==typeof exports?exports.WebLinksAddon=t():e.WebLinksAddon=t()}(window,(function(){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&\"object\"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,\"default\",{enumerable:!0,value:e}),2&t&&\"string\"!=typeof e)for(var i in e)n.d(r,i,function(t){return e[t]}.bind(null,i));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,\"a\",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p=\"\",n(n.s=0)}([function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.WebLinksAddon=void 0;var r=n(1),i=new RegExp(\"(?:^|[^\\\\da-z\\\\.-]+)((https?:\\\\/\\\\/)((([\\\\da-z\\\\.-]+)\\\\.([a-z\\\\.]{2,6}))|((\\\\d{1,3}\\\\.){3}\\\\d{1,3})|(localhost))(:\\\\d{1,5})?((\\\\/[\\\\/\\\\w\\\\.\\\\-%~:+@]*)*([^:\\\"'\\\\s]))?(\\\\?[0-9\\\\w\\\\[\\\\]\\\\(\\\\)\\\\/\\\\?\\\\!#@$%&'*+,:;~\\\\=\\\\.\\\\-]*)?(#[0-9\\\\w\\\\[\\\\]\\\\(\\\\)\\\\/\\\\?\\\\!#@$%&'*+,:;~\\\\=\\\\.\\\\-]*)?)($|[^\\\\/\\\\w\\\\.\\\\-%]+)\");function o(e,t){var n=window.open();n?(n.opener=null,n.location.href=t):console.warn(\"Opening link blocked as opener could not be cleared\")}var a=function(){function e(e,t,n){void 0===e&&(e=o),void 0===t&&(t={}),void 0===n&&(n=!1),this._handler=e,this._options=t,this._useLinkProvider=n,this._options.matchIndex=1}return e.prototype.activate=function(e){this._terminal=e,this._useLinkProvider&&\"registerLinkProvider\"in this._terminal?this._linkProvider=this._terminal.registerLinkProvider(new r.WebLinkProvider(this._terminal,i,this._handler)):this._linkMatcherId=this._terminal.registerLinkMatcher(i,this._handler,this._options)},e.prototype.dispose=function(){var e;void 0!==this._linkMatcherId&&void 0!==this._terminal&&this._terminal.deregisterLinkMatcher(this._linkMatcherId),null===(e=this._linkProvider)||void 0===e||e.dispose()},e}();t.WebLinksAddon=a},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.LinkComputer=t.WebLinkProvider=void 0;var r=function(){function e(e,t,n){this._terminal=e,this._regex=t,this._handler=n}return e.prototype.provideLinks=function(e,t){t(i.computeLink(e,this._regex,this._terminal,this._handler))},e}();t.WebLinkProvider=r;var i=function(){function e(){}return e.computeLink=function(t,n,r,i){for(var o,a=new RegExp(n.source,(n.flags||\"\")+\"g\"),s=e._translateBufferLineToStringWithWrap(t-1,!1,r),u=s[0],d=s[1],l=-1,c=[];null!==(o=a.exec(u));){var f=o[1];if(!f){console.log(\"match found without corresponding matchIndex\");break}if(l=u.indexOf(f,l+1),a.lastIndex=l+f.length,l<0)break;for(var p=l+f.length,h=d+1;p>r.cols;)p-=r.cols,h++;var v={start:{x:l+1,y:d+1},end:{x:p,y:h}};c.push({range:v,text:f,activate:i})}return c},e._translateBufferLineToStringWithWrap=function(e,t,n){var r,i,o=\"\";do{if(!(s=n.buffer.active.getLine(e)))break;s.isWrapped&&e--,i=s.isWrapped}while(i);var a=e;do{var s,u=n.buffer.active.getLine(e+1);if(r=!!u&&u.isWrapped,!(s=n.buffer.active.getLine(e)))break;o+=s.translateToString(!r&&t).substring(0,n.cols),e++}while(r);return[o,a]},e}();t.LinkComputer=i}])}));\n//# sourceMappingURL=xterm-addon-web-links.js.map","/*!\n * xterm-addon-webgl (https://npmjs.com/package/xterm-addon-webgl)\n * @license MIT\n * @version 0.10.0\n * ==xterm-addon-webgl/LICENSE==\n * Copyright (c) 2018, The xterm.js authors (https://github.com/xtermjs/xterm.js)\n * \n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n * \n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n * \n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\n!function(t,e){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define([],e):\"object\"==typeof exports?exports.WebglAddon=e():t.WebglAddon=e()}(self,(function(){return(()=>{\"use strict\";var t={965:(t,e,i)=>{Object.defineProperty(e,\"__esModule\",{value:!0}),e.GlyphRenderer=void 0;var r=i(381),o=i(310),n=i(455),s=i(259),a=i(855),l=i(147),h=10,c=h*Float32Array.BYTES_PER_ELEMENT,_=function(){function t(t,e,i,o){this._terminal=t,this._colors=e,this._gl=i,this._dimensions=o,this._activeBuffer=0,this._vertices={count:0,attributes:new Float32Array(0),attributesBuffers:[new Float32Array(0),new Float32Array(0)],selectionAttributes:new Float32Array(0)};var n=this._gl,s=r.throwIfFalsy(r.createProgram(n,\"#version 300 es\\nlayout (location = 0) in vec2 a_unitquad;\\nlayout (location = 1) in vec2 a_cellpos;\\nlayout (location = 2) in vec2 a_offset;\\nlayout (location = 3) in vec2 a_size;\\nlayout (location = 4) in vec2 a_texcoord;\\nlayout (location = 5) in vec2 a_texsize;\\n\\nuniform mat4 u_projection;\\nuniform vec2 u_resolution;\\n\\nout vec2 v_texcoord;\\n\\nvoid main() {\\n vec2 zeroToOne = (a_offset / u_resolution) + a_cellpos + (a_unitquad * a_size);\\n gl_Position = u_projection * vec4(zeroToOne, 0.0, 1.0);\\n v_texcoord = a_texcoord + a_unitquad * a_texsize;\\n}\",\"#version 300 es\\nprecision lowp float;\\n\\nin vec2 v_texcoord;\\n\\nuniform sampler2D u_texture;\\n\\nout vec4 outColor;\\n\\nvoid main() {\\n outColor = texture(u_texture, v_texcoord);\\n}\"));this._program=s,this._projectionLocation=r.throwIfFalsy(n.getUniformLocation(this._program,\"u_projection\")),this._resolutionLocation=r.throwIfFalsy(n.getUniformLocation(this._program,\"u_resolution\")),this._textureLocation=r.throwIfFalsy(n.getUniformLocation(this._program,\"u_texture\")),this._vertexArrayObject=n.createVertexArray(),n.bindVertexArray(this._vertexArrayObject);var a=new Float32Array([0,0,1,0,0,1,1,1]),l=n.createBuffer();n.bindBuffer(n.ARRAY_BUFFER,l),n.bufferData(n.ARRAY_BUFFER,a,n.STATIC_DRAW),n.enableVertexAttribArray(0),n.vertexAttribPointer(0,2,this._gl.FLOAT,!1,0,0);var h=new Uint8Array([0,1,3,0,2,3]),_=n.createBuffer();n.bindBuffer(n.ELEMENT_ARRAY_BUFFER,_),n.bufferData(n.ELEMENT_ARRAY_BUFFER,h,n.STATIC_DRAW),this._attributesBuffer=r.throwIfFalsy(n.createBuffer()),n.bindBuffer(n.ARRAY_BUFFER,this._attributesBuffer),n.enableVertexAttribArray(2),n.vertexAttribPointer(2,2,n.FLOAT,!1,c,0),n.vertexAttribDivisor(2,1),n.enableVertexAttribArray(3),n.vertexAttribPointer(3,2,n.FLOAT,!1,c,2*Float32Array.BYTES_PER_ELEMENT),n.vertexAttribDivisor(3,1),n.enableVertexAttribArray(4),n.vertexAttribPointer(4,2,n.FLOAT,!1,c,4*Float32Array.BYTES_PER_ELEMENT),n.vertexAttribDivisor(4,1),n.enableVertexAttribArray(5),n.vertexAttribPointer(5,2,n.FLOAT,!1,c,6*Float32Array.BYTES_PER_ELEMENT),n.vertexAttribDivisor(5,1),n.enableVertexAttribArray(1),n.vertexAttribPointer(1,2,n.FLOAT,!1,c,8*Float32Array.BYTES_PER_ELEMENT),n.vertexAttribDivisor(1,1),this._atlasTexture=r.throwIfFalsy(n.createTexture()),n.bindTexture(n.TEXTURE_2D,this._atlasTexture),n.texImage2D(n.TEXTURE_2D,0,n.RGBA,1,1,0,n.RGBA,n.UNSIGNED_BYTE,new Uint8Array([0,0,255,255])),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_S,n.CLAMP_TO_EDGE),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_T,n.CLAMP_TO_EDGE),n.enable(n.BLEND),n.blendFunc(n.SRC_ALPHA,n.ONE_MINUS_SRC_ALPHA),this.onResize()}return t.prototype.beginFrame=function(){return!this._atlas||this._atlas.beginFrame()},t.prototype.updateCell=function(t,e,i,r,o,n){this._updateCell(this._vertices.attributes,t,e,i,r,o,n)},t.prototype._updateCell=function(t,e,i,r,o,s,l){var c,_=(i*this._terminal.cols+e)*h;r!==a.NULL_CELL_CODE&&r!==a.WHITESPACE_CELL_CODE&&void 0!==r?this._atlas&&((c=l&&l.length>1?this._atlas.getRasterizedGlyphCombinedChar(l,o,s):this._atlas.getRasterizedGlyph(r,o,s))?(t[_]=-c.offset.x+this._dimensions.scaledCharLeft,t[_+1]=-c.offset.y+this._dimensions.scaledCharTop,t[_+2]=c.size.x/this._dimensions.scaledCanvasWidth,t[_+3]=c.size.y/this._dimensions.scaledCanvasHeight,t[_+4]=c.texturePositionClipSpace.x,t[_+5]=c.texturePositionClipSpace.y,t[_+6]=c.sizeClipSpace.x,t[_+7]=c.sizeClipSpace.y):n.fill(t,0,_,_+h-1-2)):n.fill(t,0,_,_+h-1-2)},t.prototype.updateSelection=function(t){var e=this._terminal;this._vertices.selectionAttributes=s.slice(this._vertices.attributes,0);var i=this._colors.selectionOpaque.rgba>>>8|50331648;if(t.selection.columnSelectMode)for(var r=t.selection.startCol,o=t.selection.endCol-r,n=t.selection.viewportCappedEndRow-t.selection.viewportCappedStartRow+1,a=t.selection.viewportCappedStartRow;a>8&16711680|p>>8&65280|p>>8&255;case 50331648:var g=l.AttributeData.toColorRGB(f.getBgColor());u|=g[0]<<16|g[1]<<8|g[2]<<0;case 0:default:var v=this._colors.background.rgba;u|=v>>8&16711680|v>>8&65280|v>>8&255}u|=50331648}if(d&o.COMBINED_CHAR_BIT_MASK){s||(s=a.buffer.active.getLine(h));var C=s.getCell(c).getChars();this._updateCell(this._vertices.selectionAttributes,c,i,r.cells[_],n,u,C)}else this._updateCell(this._vertices.selectionAttributes,c,i,r.cells[_],n,u)}},t.prototype._getColorFromAnsiIndex=function(t){if(t>=this._colors.ansi.length)throw new Error(\"No color found for idx \"+t);return this._colors.ansi[t]},t.prototype.onResize=function(){var t=this._terminal,e=this._gl;e.viewport(0,0,e.canvas.width,e.canvas.height);var i=t.cols*t.rows*h;if(this._vertices.count!==i){this._vertices.count=i,this._vertices.attributes=new Float32Array(i);for(var r=0;r{Object.defineProperty(e,\"__esModule\",{value:!0}),e.RectangleRenderer=void 0;var r=i(381),o=i(455),n=i(310),s=8*Float32Array.BYTES_PER_ELEMENT,a=function(){function t(t,e,i,o){this._terminal=t,this._colors=e,this._gl=i,this._dimensions=o,this._vertices={count:0,attributes:new Float32Array(160),selection:new Float32Array(24)};var n=this._gl;this._program=r.throwIfFalsy(r.createProgram(n,\"#version 300 es\\nlayout (location = 0) in vec2 a_position;\\nlayout (location = 1) in vec2 a_size;\\nlayout (location = 2) in vec4 a_color;\\nlayout (location = 3) in vec2 a_unitquad;\\n\\nuniform mat4 u_projection;\\nuniform vec2 u_resolution;\\n\\nout vec4 v_color;\\n\\nvoid main() {\\n vec2 zeroToOne = (a_position + (a_unitquad * a_size)) / u_resolution;\\n gl_Position = u_projection * vec4(zeroToOne, 0.0, 1.0);\\n v_color = a_color;\\n}\",\"#version 300 es\\nprecision lowp float;\\n\\nin vec4 v_color;\\n\\nout vec4 outColor;\\n\\nvoid main() {\\n outColor = v_color;\\n}\")),this._resolutionLocation=r.throwIfFalsy(n.getUniformLocation(this._program,\"u_resolution\")),this._projectionLocation=r.throwIfFalsy(n.getUniformLocation(this._program,\"u_projection\")),this._vertexArrayObject=n.createVertexArray(),n.bindVertexArray(this._vertexArrayObject);var a=new Float32Array([0,0,1,0,0,1,1,1]),l=n.createBuffer();n.bindBuffer(n.ARRAY_BUFFER,l),n.bufferData(n.ARRAY_BUFFER,a,n.STATIC_DRAW),n.enableVertexAttribArray(3),n.vertexAttribPointer(3,2,this._gl.FLOAT,!1,0,0);var h=new Uint8Array([0,1,3,0,2,3]),c=n.createBuffer();n.bindBuffer(n.ELEMENT_ARRAY_BUFFER,c),n.bufferData(n.ELEMENT_ARRAY_BUFFER,h,n.STATIC_DRAW),this._attributesBuffer=r.throwIfFalsy(n.createBuffer()),n.bindBuffer(n.ARRAY_BUFFER,this._attributesBuffer),n.enableVertexAttribArray(0),n.vertexAttribPointer(0,2,n.FLOAT,!1,s,0),n.vertexAttribDivisor(0,1),n.enableVertexAttribArray(1),n.vertexAttribPointer(1,2,n.FLOAT,!1,s,2*Float32Array.BYTES_PER_ELEMENT),n.vertexAttribDivisor(1,1),n.enableVertexAttribArray(2),n.vertexAttribPointer(2,4,n.FLOAT,!1,s,4*Float32Array.BYTES_PER_ELEMENT),n.vertexAttribDivisor(2,1),this._updateCachedColors()}return t.prototype.render=function(){var t=this._gl;t.useProgram(this._program),t.bindVertexArray(this._vertexArrayObject),t.uniformMatrix4fv(this._projectionLocation,!1,r.PROJECTION_MATRIX),t.uniform2f(this._resolutionLocation,t.canvas.width,t.canvas.height),t.bindBuffer(t.ARRAY_BUFFER,this._attributesBuffer),t.bufferData(t.ARRAY_BUFFER,this._vertices.attributes,t.DYNAMIC_DRAW),t.drawElementsInstanced(this._gl.TRIANGLES,6,t.UNSIGNED_BYTE,0,this._vertices.count),t.bindBuffer(t.ARRAY_BUFFER,this._attributesBuffer),t.bufferData(t.ARRAY_BUFFER,this._vertices.selection,t.DYNAMIC_DRAW),t.drawElementsInstanced(this._gl.TRIANGLES,6,t.UNSIGNED_BYTE,0,3)},t.prototype.onResize=function(){this._updateViewportRectangle()},t.prototype.setColors=function(){this._updateCachedColors(),this._updateViewportRectangle()},t.prototype._updateCachedColors=function(){this._bgFloat=this._colorToFloat32Array(this._colors.background),this._selectionFloat=this._colorToFloat32Array(this._colors.selectionOpaque)},t.prototype._updateViewportRectangle=function(){this._addRectangleFloat(this._vertices.attributes,0,0,0,this._terminal.cols*this._dimensions.scaledCellWidth,this._terminal.rows*this._dimensions.scaledCellHeight,this._bgFloat)},t.prototype.updateSelection=function(t){var e=this._terminal;if(t.hasSelection)if(t.columnSelectMode){var i=t.startCol,r=t.endCol-i,n=t.viewportCappedEndRow-t.viewportCappedStartRow+1;this._addRectangleFloat(this._vertices.selection,0,i*this._dimensions.scaledCellWidth,t.viewportCappedStartRow*this._dimensions.scaledCellHeight,r*this._dimensions.scaledCellWidth,n*this._dimensions.scaledCellHeight,this._selectionFloat),o.fill(this._vertices.selection,0,8)}else{i=t.viewportStartRow===t.viewportCappedStartRow?t.startCol:0;var s=t.viewportCappedStartRow===t.viewportEndRow?t.endCol:e.cols;this._addRectangleFloat(this._vertices.selection,0,i*this._dimensions.scaledCellWidth,t.viewportCappedStartRow*this._dimensions.scaledCellHeight,(s-i)*this._dimensions.scaledCellWidth,this._dimensions.scaledCellHeight,this._selectionFloat);var a=Math.max(t.viewportCappedEndRow-t.viewportCappedStartRow-1,0);if(this._addRectangleFloat(this._vertices.selection,8,0,(t.viewportCappedStartRow+1)*this._dimensions.scaledCellHeight,e.cols*this._dimensions.scaledCellWidth,a*this._dimensions.scaledCellHeight,this._selectionFloat),t.viewportCappedStartRow!==t.viewportCappedEndRow){var l=t.viewportEndRow===t.viewportCappedEndRow?t.endCol:e.cols;this._addRectangleFloat(this._vertices.selection,16,0,t.viewportCappedEndRow*this._dimensions.scaledCellHeight,l*this._dimensions.scaledCellWidth,this._dimensions.scaledCellHeight,this._selectionFloat)}else o.fill(this._vertices.selection,0,16)}else o.fill(this._vertices.selection,0,0)},t.prototype.updateBackgrounds=function(t){for(var e=this._terminal,i=this._vertices,r=1,o=0;o>24&255)/255,d=(l>>16&255)/255,u=(l>>8&255)/255;this._addRectangle(t.attributes,e,h,c,(s-n)*this._dimensions.scaledCellWidth,this._dimensions.scaledCellHeight,_,d,u,1)},t.prototype._addRectangle=function(t,e,i,r,o,n,s,a,l,h){t[e]=i,t[e+1]=r,t[e+2]=o,t[e+3]=n,t[e+4]=s,t[e+5]=a,t[e+6]=l,t[e+7]=h},t.prototype._addRectangleFloat=function(t,e,i,r,o,n,s){t[e]=i,t[e+1]=r,t[e+2]=o,t[e+3]=n,t[e+4]=s[0],t[e+5]=s[1],t[e+6]=s[2],t[e+7]=s[3]},t.prototype._colorToFloat32Array=function(t){return new Float32Array([(t.rgba>>24&255)/255,(t.rgba>>16&255)/255,(t.rgba>>8&255)/255,(255&t.rgba)/255])},t}();e.RectangleRenderer=a},310:(t,e,i)=>{Object.defineProperty(e,\"__esModule\",{value:!0}),e.RenderModel=e.COMBINED_CHAR_BIT_MASK=e.RENDER_MODEL_FG_OFFSET=e.RENDER_MODEL_BG_OFFSET=e.RENDER_MODEL_INDICIES_PER_CELL=void 0;var r=i(455);e.RENDER_MODEL_INDICIES_PER_CELL=3,e.RENDER_MODEL_BG_OFFSET=1,e.RENDER_MODEL_FG_OFFSET=2,e.COMBINED_CHAR_BIT_MASK=2147483648;var o=function(){function t(){this.cells=new Uint32Array(0),this.lineLengths=new Uint32Array(0),this.selection={hasSelection:!1,columnSelectMode:!1,viewportStartRow:0,viewportEndRow:0,viewportCappedStartRow:0,viewportCappedEndRow:0,startCol:0,endCol:0}}return t.prototype.resize=function(t,i){var r=t*i*e.RENDER_MODEL_INDICIES_PER_CELL;r!==this.cells.length&&(this.cells=new Uint32Array(r),this.lineLengths=new Uint32Array(i))},t.prototype.clear=function(){r.fill(this.cells,0,0),r.fill(this.lineLengths,0,0)},t.prototype.clearSelection=function(){this.selection.hasSelection=!1,this.selection.viewportStartRow=0,this.selection.viewportEndRow=0,this.selection.viewportCappedStartRow=0,this.selection.viewportCappedEndRow=0,this.selection.startCol=0,this.selection.endCol=0},t}();e.RenderModel=o},259:(t,e)=>{function i(t,e,i){void 0===e&&(e=0),void 0===i&&(i=t.length),e<0&&(e=(t.length+e)%t.length),i=i>=t.length?t.length:(t.length+i)%t.length,e=Math.min(e,i);for(var r=new t.constructor(i-e),o=0;o{Object.defineProperty(e,\"__esModule\",{value:!0}),e.WebglAddon=void 0;var r=i(666),o=function(){function t(t){this._preserveDrawingBuffer=t}return t.prototype.activate=function(t){if(!t.element)throw new Error(\"Cannot activate WebglAddon before Terminal.open\");this._terminal=t;var e=t._core._renderService,i=t._core._colorManager.colors;this._renderer=new r.WebglRenderer(t,i,this._preserveDrawingBuffer),e.setRenderer(this._renderer)},t.prototype.dispose=function(){if(!this._terminal)throw new Error(\"Cannot dispose WebglAddon because it is activated\");var t=this._terminal._core._renderService;t.setRenderer(this._terminal._core._createRenderer()),t.onResize(this._terminal.cols,this._terminal.rows),this._renderer=void 0},Object.defineProperty(t.prototype,\"textureAtlas\",{get:function(){var t;return null===(t=this._renderer)||void 0===t?void 0:t.textureAtlas},enumerable:!1,configurable:!0}),t.prototype.clearTextureAtlas=function(){var t;null===(t=this._renderer)||void 0===t||t.clearCharAtlas()},t}();e.WebglAddon=o},666:function(t,e,i){var r,o=this&&this.__extends||(r=function(t,e){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i])})(t,e)},function(t,e){function i(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.WebglRenderer=void 0;var n=i(965),s=i(733),a=i(461),l=i(713),h=i(344),c=i(310),_=i(859),d=i(855),u=i(345),f=i(782),p=function(t){function e(e,i,r){var o=t.call(this)||this;o._terminal=e,o._colors=i,o._model=new c.RenderModel,o._workCell=new f.CellData,o._onRequestRedraw=new u.EventEmitter,o._core=o._terminal._core,o._renderLayers=[new s.LinkRenderLayer(o._core.screenElement,2,o._colors,o._core),new a.CursorRenderLayer(o._core.screenElement,3,o._colors,o._onRequestRedraw)],o.dimensions={scaledCharWidth:0,scaledCharHeight:0,scaledCellWidth:0,scaledCellHeight:0,scaledCharLeft:0,scaledCharTop:0,scaledCanvasWidth:0,scaledCanvasHeight:0,canvasWidth:0,canvasHeight:0,actualCellWidth:0,actualCellHeight:0},o._devicePixelRatio=window.devicePixelRatio,o._updateDimensions(),o._canvas=document.createElement(\"canvas\");var l={antialias:!1,depth:!1,preserveDrawingBuffer:r};if(o._gl=o._canvas.getContext(\"webgl2\",l),!o._gl)throw new Error(\"WebGL2 not supported \"+o._gl);return o._core.screenElement.appendChild(o._canvas),o._rectangleRenderer=new h.RectangleRenderer(o._terminal,o._colors,o._gl,o.dimensions),o._glyphRenderer=new n.GlyphRenderer(o._terminal,o._colors,o._gl,o.dimensions),o.onCharSizeChanged(),o._isAttached=document.body.contains(o._core.screenElement),o}return o(e,t),Object.defineProperty(e.prototype,\"onRequestRedraw\",{get:function(){return this._onRequestRedraw.event},enumerable:!1,configurable:!0}),e.prototype.dispose=function(){this._renderLayers.forEach((function(t){return t.dispose()})),this._core.screenElement.removeChild(this._canvas),t.prototype.dispose.call(this)},Object.defineProperty(e.prototype,\"textureAtlas\",{get:function(){var t;return null===(t=this._charAtlas)||void 0===t?void 0:t.cacheCanvas},enumerable:!1,configurable:!0}),e.prototype.setColors=function(t){var e=this;this._colors=t,this._renderLayers.forEach((function(t){t.setColors(e._terminal,e._colors),t.reset(e._terminal)})),this._rectangleRenderer.setColors(),this._glyphRenderer.setColors(),this._refreshCharAtlas(),this._model.clear()},e.prototype.onDevicePixelRatioChange=function(){this._devicePixelRatio!==window.devicePixelRatio&&(this._devicePixelRatio=window.devicePixelRatio,this.onResize(this._terminal.cols,this._terminal.rows))},e.prototype.onResize=function(t,e){var i=this;this._updateDimensions(),this._model.resize(this._terminal.cols,this._terminal.rows),this._renderLayers.forEach((function(t){return t.resize(i._terminal,i.dimensions)})),this._canvas.width=this.dimensions.scaledCanvasWidth,this._canvas.height=this.dimensions.scaledCanvasHeight,this._canvas.style.width=this.dimensions.canvasWidth+\"px\",this._canvas.style.height=this.dimensions.canvasHeight+\"px\",this._core.screenElement.style.width=this.dimensions.canvasWidth+\"px\",this._core.screenElement.style.height=this.dimensions.canvasHeight+\"px\",this._rectangleRenderer.onResize(),this._model.selection.hasSelection&&this._rectangleRenderer.updateSelection(this._model.selection),this._glyphRenderer.setDimensions(this.dimensions),this._glyphRenderer.onResize(),this._refreshCharAtlas(),this._model.clear()},e.prototype.onCharSizeChanged=function(){this.onResize(this._terminal.cols,this._terminal.rows)},e.prototype.onBlur=function(){var t=this;this._renderLayers.forEach((function(e){return e.onBlur(t._terminal)}))},e.prototype.onFocus=function(){var t=this;this._renderLayers.forEach((function(e){return e.onFocus(t._terminal)}))},e.prototype.onSelectionChanged=function(t,e,i){var r=this;this._renderLayers.forEach((function(o){return o.onSelectionChanged(r._terminal,t,e,i)})),this._updateSelectionModel(t,e,i),this._onRequestRedraw.fire({start:0,end:this._terminal.rows-1})},e.prototype.onCursorMove=function(){var t=this;this._renderLayers.forEach((function(e){return e.onCursorMove(t._terminal)}))},e.prototype.onOptionsChanged=function(){var t=this;this._renderLayers.forEach((function(e){return e.onOptionsChanged(t._terminal)})),this._updateDimensions(),this._refreshCharAtlas()},e.prototype._refreshCharAtlas=function(){if(this.dimensions.scaledCharWidth<=0&&this.dimensions.scaledCharHeight<=0)this._isAttached=!1;else{var t=l.acquireCharAtlas(this._terminal,this._colors,this.dimensions.scaledCharWidth,this.dimensions.scaledCharHeight);if(!(\"getRasterizedGlyph\"in t))throw new Error(\"The webgl renderer only works with the webgl char atlas\");this._charAtlas=t,this._charAtlas.warmUp(),this._glyphRenderer.setAtlas(this._charAtlas)}},e.prototype.clearCharAtlas=function(){var t;null===(t=this._charAtlas)||void 0===t||t.clearTexture(),this._model.clear(),this._updateModel(0,this._terminal.rows-1),this._onRequestRedraw.fire({start:0,end:this._terminal.rows-1})},e.prototype.clear=function(){var t=this;this._renderLayers.forEach((function(e){return e.reset(t._terminal)}))},e.prototype.registerCharacterJoiner=function(t){return-1},e.prototype.deregisterCharacterJoiner=function(t){return!1},e.prototype.renderRows=function(t,e){var i=this;if(!this._isAttached){if(!(document.body.contains(this._core.screenElement)&&this._core._charSizeService.width&&this._core._charSizeService.height))return;this._updateDimensions(),this._refreshCharAtlas(),this._isAttached=!0}this._renderLayers.forEach((function(r){return r.onGridChanged(i._terminal,t,e)})),this._glyphRenderer.beginFrame()&&(this._model.clear(),this._updateSelectionModel(void 0,void 0)),this._updateModel(t,e),this._rectangleRenderer.render(),this._glyphRenderer.render(this._model,this._model.selection.hasSelection)},e.prototype._updateModel=function(t,e){for(var i=this._core,r=t;r<=e;r++){var o=r+i.buffer.ydisp,n=i.buffer.lines.get(o);this._model.lineLengths[r]=0;for(var s=0;s1&&(l|=c.COMBINED_CHAR_BIT_MASK),this._model.cells[h]=l,this._model.cells[h+c.RENDER_MODEL_BG_OFFSET]=this._workCell.bg,this._model.cells[h+c.RENDER_MODEL_FG_OFFSET]=this._workCell.fg,this._glyphRenderer.updateCell(s,r,l,this._workCell.bg,this._workCell.fg,a))}}this._rectangleRenderer.updateBackgrounds(this._model),this._model.selection.hasSelection&&this._glyphRenderer.updateSelection(this._model)},e.prototype._updateSelectionModel=function(t,e,i){void 0===i&&(i=!1);var r=this._terminal;if(!t||!e||t[0]===e[0]&&t[1]===e[1])return this._model.clearSelection(),void this._rectangleRenderer.updateSelection(this._model.selection);var o=t[1]-r.buffer.active.viewportY,n=e[1]-r.buffer.active.viewportY,s=Math.max(o,0),a=Math.min(n,r.rows-1);if(s>=r.rows||a<0)return this._model.clearSelection(),void this._rectangleRenderer.updateSelection(this._model.selection);this._model.selection.hasSelection=!0,this._model.selection.columnSelectMode=i,this._model.selection.viewportStartRow=o,this._model.selection.viewportEndRow=n,this._model.selection.viewportCappedStartRow=s,this._model.selection.viewportCappedEndRow=a,this._model.selection.startCol=t[0],this._model.selection.endCol=e[0],this._rectangleRenderer.updateSelection(this._model.selection)},e.prototype._updateDimensions=function(){this._core._charSizeService.width&&this._core._charSizeService.height&&(this.dimensions.scaledCharWidth=Math.floor(this._core._charSizeService.width*this._devicePixelRatio),this.dimensions.scaledCharHeight=Math.ceil(this._core._charSizeService.height*this._devicePixelRatio),this.dimensions.scaledCellHeight=Math.floor(this.dimensions.scaledCharHeight*this._terminal.getOption(\"lineHeight\")),this.dimensions.scaledCharTop=1===this._terminal.getOption(\"lineHeight\")?0:Math.round((this.dimensions.scaledCellHeight-this.dimensions.scaledCharHeight)/2),this.dimensions.scaledCellWidth=this.dimensions.scaledCharWidth+Math.round(this._terminal.getOption(\"letterSpacing\")),this.dimensions.scaledCharLeft=Math.floor(this._terminal.getOption(\"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/this._devicePixelRatio),this.dimensions.canvasWidth=Math.round(this.dimensions.scaledCanvasWidth/this._devicePixelRatio),this.dimensions.actualCellHeight=this.dimensions.scaledCellHeight/this._devicePixelRatio,this.dimensions.actualCellWidth=this.dimensions.scaledCellWidth/this._devicePixelRatio)},e}(_.Disposable);e.WebglRenderer=p},381:(t,e)=>{function i(t,e,i){var o=r(t.createShader(e));if(t.shaderSource(o,i),t.compileShader(o),t.getShaderParameter(o,t.COMPILE_STATUS))return o;console.error(t.getShaderInfoLog(o)),t.deleteShader(o)}function r(t){if(!t)throw new Error(\"value must not be falsy\");return t}Object.defineProperty(e,\"__esModule\",{value:!0}),e.throwIfFalsy=e.expandFloat32Array=e.createShader=e.createProgram=e.PROJECTION_MATRIX=void 0,e.PROJECTION_MATRIX=new Float32Array([2,0,0,0,0,-2,0,0,0,0,1,0,-1,1,0,1]),e.createProgram=function(t,e,o){var n=r(t.createProgram());if(t.attachShader(n,r(i(t,t.VERTEX_SHADER,e))),t.attachShader(n,r(i(t,t.FRAGMENT_SHADER,o))),t.linkProgram(n),t.getProgramParameter(n,t.LINK_STATUS))return n;console.error(t.getProgramInfoLog(n)),t.deleteProgram(n)},e.createShader=i,e.expandFloat32Array=function(t,e){for(var i=Math.min(2*t.length,e),r=new Float32Array(i),o=0;o{Object.defineProperty(e,\"__esModule\",{value:!0}),e.removeTerminalFromCache=e.acquireCharAtlas=void 0;var r=i(433),o=i(167),n=[];e.acquireCharAtlas=function(t,e,i,s){for(var a=r.generateConfig(i,s,t,e),l=0;l=0){if(r.configEquals(c.config,a))return c.atlas;1===c.ownedBy.length?(c.atlas.dispose(),n.splice(l,1)):c.ownedBy.splice(h,1);break}}for(l=0;l{Object.defineProperty(e,\"__esModule\",{value:!0}),e.is256Color=e.configEquals=e.generateConfig=void 0;var i={css:\"\",rgba:0};e.generateConfig=function(t,e,r,o){var n={foreground:o.foreground,background:o.background,cursor:i,cursorAccent:i,selectionTransparent:i,selectionOpaque:i,ansi:o.ansi.slice(),contrastCache:o.contrastCache};return{devicePixelRatio:window.devicePixelRatio,scaledCharWidth:t,scaledCharHeight:e,fontFamily:r.getOption(\"fontFamily\"),fontSize:r.getOption(\"fontSize\"),fontWeight:r.getOption(\"fontWeight\"),fontWeightBold:r.getOption(\"fontWeightBold\"),allowTransparency:r.getOption(\"allowTransparency\"),drawBoldTextInBrightColors:r.getOption(\"drawBoldTextInBrightColors\"),minimumContrastRatio:r.getOption(\"minimumContrastRatio\"),colors:n}},e.configEquals=function(t,e){for(var i=0;i{Object.defineProperty(e,\"__esModule\",{value:!0}),e.WebglCharAtlas=void 0;var r=i(499),o=i(855),n=i(381),s=i(147),a=i(742),l=1024,h=1024,c=Math.floor(819.2),_={css:\"rgba(0, 0, 0, 0)\",rgba:0},d={offset:{x:0,y:0},texturePosition:{x:0,y:0},texturePositionClipSpace:{x:0,y:0},size:{x:0,y:0},sizeClipSpace:{x:0,y:0}},u=function(){function t(t,e){this._config=e,this._didWarmUp=!1,this._cacheMap={},this._cacheMapCombined={},this._currentRowY=0,this._currentRowX=0,this._currentRowHeight=0,this.hasCanvasChanged=!1,this._workBoundingBox={top:0,left:0,bottom:0,right:0},this._workAttributeData=new s.AttributeData,this.cacheCanvas=t.createElement(\"canvas\"),this.cacheCanvas.width=l,this.cacheCanvas.height=h,this._cacheCtx=n.throwIfFalsy(this.cacheCanvas.getContext(\"2d\",{alpha:!0})),this._tmpCanvas=t.createElement(\"canvas\"),this._tmpCanvas.width=2*this._config.scaledCharWidth+4,this._tmpCanvas.height=this._config.scaledCharHeight+4,this._tmpCtx=n.throwIfFalsy(this._tmpCanvas.getContext(\"2d\",{alpha:this._config.allowTransparency}))}return t.prototype.dispose=function(){this.cacheCanvas.parentElement&&this.cacheCanvas.parentElement.removeChild(this.cacheCanvas)},t.prototype.warmUp=function(){this._didWarmUp||(this._doWarmUp(),this._didWarmUp=!0)},t.prototype._doWarmUp=function(){for(var t,e,i=33;i<126;i++){var r=this._drawToCache(i,o.DEFAULT_COLOR,o.DEFAULT_COLOR);this._cacheMap[i]=((t={})[o.DEFAULT_COLOR]=((e={})[o.DEFAULT_COLOR]=r,e),t)}},t.prototype.beginFrame=function(){return this._currentRowY>c&&(this.clearTexture(),this.warmUp(),!0)},t.prototype.clearTexture=function(){0===this._currentRowX&&0===this._currentRowY||(this._cacheCtx.clearRect(0,0,l,h),this._cacheMap={},this._cacheMapCombined={},this._currentRowHeight=0,this._currentRowX=0,this._currentRowY=0,this._didWarmUp=!1)},t.prototype.getRasterizedGlyphCombinedChar=function(t,e,i){var r,o=this._cacheMapCombined[t];o||(o={},this._cacheMapCombined[t]=o);var n=o[e];return n&&(r=n[i]),r||(r=this._drawToCache(t,e,i),o[e]||(o[e]={}),o[e][i]=r),r},t.prototype.getRasterizedGlyph=function(t,e,i){var r,o=this._cacheMap[t];o||(o={},this._cacheMap[t]=o);var n=o[e];return n&&(r=n[i]),r||(r=this._drawToCache(t,e,i),o[e]||(o[e]={}),o[e][i]=r),r},t.prototype._getColorFromAnsiIndex=function(t){if(t>=this._config.colors.ansi.length)throw new Error(\"No color found for idx \"+t);return this._config.colors.ansi[t]},t.prototype._getBackgroundColor=function(t,e,i){if(this._config.allowTransparency)return _;switch(t){case 16777216:case 33554432:return this._getColorFromAnsiIndex(e);case 50331648:var r=s.AttributeData.toColorRGB(e);return{rgba:e<<8,css:\"#\"+f(r[0])+f(r[1])+f(r[2])};case 0:default:return i?this._config.colors.foreground:this._config.colors.background}},t.prototype._getForegroundCss=function(t,e,i,r,o,n,l,h){var c=this._getMinimumContrastCss(t,e,i,r,o,n,l,h);if(c)return c;switch(o){case 16777216:case 33554432:return this._config.drawBoldTextInBrightColors&&h&&n<8&&(n+=8),this._getColorFromAnsiIndex(n).css;case 50331648:var _=s.AttributeData.toColorRGB(n);return a.channels.toCss(_[0],_[1],_[2]);case 0:default:if(l){var d=this._config.colors.background.css;return 9===d.length?d.substr(0,7):d}return this._config.colors.foreground.css}},t.prototype._resolveBackgroundRgba=function(t,e,i){switch(t){case 16777216:case 33554432:return this._getColorFromAnsiIndex(e).rgba;case 50331648:return e<<8;case 0:default:return i?this._config.colors.foreground.rgba:this._config.colors.background.rgba}},t.prototype._resolveForegroundRgba=function(t,e,i,r){switch(t){case 16777216:case 33554432:return this._config.drawBoldTextInBrightColors&&r&&e<8&&(e+=8),this._getColorFromAnsiIndex(e).rgba;case 50331648:return e<<8;case 0:default:return i?this._config.colors.background.rgba:this._config.colors.foreground.rgba}},t.prototype._getMinimumContrastCss=function(t,e,i,r,o,n,s,l){if(1!==this._config.minimumContrastRatio){var h=this._config.colors.contrastCache.getCss(t,r);if(void 0!==h)return h||void 0;var c=this._resolveBackgroundRgba(e,i,s),_=this._resolveForegroundRgba(o,n,s,l),d=a.rgba.ensureContrastRatio(c,_,this._config.minimumContrastRatio);if(d){var u=a.channels.toCss(d>>24&255,d>>16&255,d>>8&255);return this._config.colors.contrastCache.setCss(t,r,u),u}this._config.colors.contrastCache.setCss(t,r,null)}},t.prototype._drawToCache=function(t,e,i){var o=\"number\"==typeof t?String.fromCharCode(t):t;if(this.hasCanvasChanged=!0,this._tmpCtx.save(),this._workAttributeData.fg=i,this._workAttributeData.bg=e,this._workAttributeData.isInvisible())return d;var n=!!this._workAttributeData.isBold(),s=!!this._workAttributeData.isInverse(),a=!!this._workAttributeData.isDim(),c=!!this._workAttributeData.isItalic(),_=this._workAttributeData.getFgColor(),u=this._workAttributeData.getFgColorMode(),f=this._workAttributeData.getBgColor(),p=this._workAttributeData.getBgColorMode();if(s){var g=_;_=f,f=g;var v=u;u=p,p=v}var C=this._getBackgroundColor(p,f,s);this._tmpCtx.globalCompositeOperation=\"copy\",this._tmpCtx.fillStyle=C.css,this._tmpCtx.fillRect(0,0,this._tmpCanvas.width,this._tmpCanvas.height),this._tmpCtx.globalCompositeOperation=\"source-over\";var m=n?this._config.fontWeightBold:this._config.fontWeight,y=c?\"italic\":\"\";this._tmpCtx.font=y+\" \"+m+\" \"+this._config.fontSize*this._config.devicePixelRatio+\"px \"+this._config.fontFamily,this._tmpCtx.textBaseline=\"middle\",this._tmpCtx.fillStyle=this._getForegroundCss(e,p,f,i,u,_,s,n),a&&(this._tmpCtx.globalAlpha=r.DIM_OPACITY),this._tmpCtx.fillText(o,2,2+this._config.scaledCharHeight/2),this._tmpCtx.restore();var R=this._tmpCtx.getImageData(0,0,this._tmpCanvas.width,this._tmpCanvas.height);if(function(t,e){for(var i=!0,r=e.rgba>>>24,o=e.rgba>>>16&255,n=e.rgba>>>8&255,s=0;sl&&(this._currentRowX=0,this._currentRowY+=this._currentRowHeight,this._currentRowHeight=0),b.texturePosition.x=this._currentRowX,b.texturePosition.y=this._currentRowY,b.texturePositionClipSpace.x=this._currentRowX/l,b.texturePositionClipSpace.y=this._currentRowY/h,this._currentRowHeight=Math.max(this._currentRowHeight,b.size.y),this._currentRowX+=b.size.x,this._cacheCtx.putImageData(w,b.texturePosition.x,b.texturePosition.y),b},t.prototype._findGlyphBoundingBox=function(t,e){e.top=0;for(var i=!1,r=0;r=0;o--){for(r=0;r=0;r--){for(o=0;o{Object.defineProperty(e,\"__esModule\",{value:!0}),e.BaseRenderLayer=void 0;var r=i(713),o=i(381),n=function(){function t(t,e,i,r,o){this._container=t,this._alpha=r,this._colors=o,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-\"+e+\"-layer\"),this._canvas.style.zIndex=i.toString(),this._initCanvas(),this._container.appendChild(this._canvas)}return t.prototype.dispose=function(){this._container.removeChild(this._canvas),this._charAtlas&&this._charAtlas.dispose()},t.prototype._initCanvas=function(){this._ctx=o.throwIfFalsy(this._canvas.getContext(\"2d\",{alpha:this._alpha})),this._alpha||this._clearAll()},t.prototype.onOptionsChanged=function(t){},t.prototype.onBlur=function(t){},t.prototype.onFocus=function(t){},t.prototype.onCursorMove=function(t){},t.prototype.onGridChanged=function(t,e,i){},t.prototype.onSelectionChanged=function(t,e,i,r){void 0===r&&(r=!1)},t.prototype.setColors=function(t,e){this._refreshCharAtlas(t,e)},t.prototype._setTransparency=function(t,e){if(e!==this._alpha){var i=this._canvas;this._alpha=e,this._canvas=this._canvas.cloneNode(),this._initCanvas(),this._container.replaceChild(this._canvas,i),this._refreshCharAtlas(t,this._colors),this.onGridChanged(t,0,t.rows-1)}},t.prototype._refreshCharAtlas=function(t,e){this._scaledCharWidth<=0&&this._scaledCharHeight<=0||(this._charAtlas=r.acquireCharAtlas(t,e,this._scaledCharWidth,this._scaledCharHeight),this._charAtlas.warmUp())},t.prototype.resize=function(t,e){this._scaledCellWidth=e.scaledCellWidth,this._scaledCellHeight=e.scaledCellHeight,this._scaledCharWidth=e.scaledCharWidth,this._scaledCharHeight=e.scaledCharHeight,this._scaledCharLeft=e.scaledCharLeft,this._scaledCharTop=e.scaledCharTop,this._canvas.width=e.scaledCanvasWidth,this._canvas.height=e.scaledCanvasHeight,this._canvas.style.width=e.canvasWidth+\"px\",this._canvas.style.height=e.canvasHeight+\"px\",this._alpha||this._clearAll(),this._refreshCharAtlas(t,this._colors)},t.prototype._fillCells=function(t,e,i,r){this._ctx.fillRect(t*this._scaledCellWidth,e*this._scaledCellHeight,i*this._scaledCellWidth,r*this._scaledCellHeight)},t.prototype._fillBottomLineAtCells=function(t,e,i){void 0===i&&(i=1),this._ctx.fillRect(t*this._scaledCellWidth,(e+1)*this._scaledCellHeight-window.devicePixelRatio-1,i*this._scaledCellWidth,window.devicePixelRatio)},t.prototype._fillLeftLineAtCell=function(t,e,i){this._ctx.fillRect(t*this._scaledCellWidth,e*this._scaledCellHeight,window.devicePixelRatio*i,this._scaledCellHeight)},t.prototype._strokeRectAtCell=function(t,e,i,r){this._ctx.lineWidth=window.devicePixelRatio,this._ctx.strokeRect(t*this._scaledCellWidth+window.devicePixelRatio/2,e*this._scaledCellHeight+window.devicePixelRatio/2,i*this._scaledCellWidth-window.devicePixelRatio,r*this._scaledCellHeight-window.devicePixelRatio)},t.prototype._clearAll=function(){this._alpha?this._ctx.clearRect(0,0,this._canvas.width,this._canvas.height):(this._ctx.fillStyle=this._colors.background.css,this._ctx.fillRect(0,0,this._canvas.width,this._canvas.height))},t.prototype._clearCells=function(t,e,i,r){this._alpha?this._ctx.clearRect(t*this._scaledCellWidth,e*this._scaledCellHeight,i*this._scaledCellWidth,r*this._scaledCellHeight):(this._ctx.fillStyle=this._colors.background.css,this._ctx.fillRect(t*this._scaledCellWidth,e*this._scaledCellHeight,i*this._scaledCellWidth,r*this._scaledCellHeight))},t.prototype._fillCharTrueColor=function(t,e,i,r){this._ctx.font=this._getFont(t,!1,!1),this._ctx.textBaseline=\"middle\",this._clipRow(t,r),this._ctx.fillText(e.getChars(),i*this._scaledCellWidth+this._scaledCharLeft,r*this._scaledCellHeight+this._scaledCharTop+this._scaledCharHeight/2)},t.prototype._clipRow=function(t,e){this._ctx.beginPath(),this._ctx.rect(0,e*this._scaledCellHeight,t.cols*this._scaledCellWidth,this._scaledCellHeight),this._ctx.clip()},t.prototype._getFont=function(t,e,i){return(i?\"italic\":\"\")+\" \"+(e?t.getOption(\"fontWeightBold\"):t.getOption(\"fontWeight\"))+\" \"+t.getOption(\"fontSize\")*window.devicePixelRatio+\"px \"+t.getOption(\"fontFamily\")},t}();e.BaseRenderLayer=n},461:function(t,e,i){var r,o=this&&this.__extends||(r=function(t,e){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i])})(t,e)},function(t,e){function i(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.CursorRenderLayer=void 0;var n=i(592),s=i(782),a=600,l=function(t){function e(e,i,r,o){var n=t.call(this,e,\"cursor\",i,!0,r)||this;return n._onRequestRefreshRowsEvent=o,n._cell=new s.CellData,n._state={x:0,y:0,isFocused:!1,style:\"\",width:0},n._cursorRenderers={bar:n._renderBarCursor.bind(n),block:n._renderBlockCursor.bind(n),underline:n._renderUnderlineCursor.bind(n)},n}return o(e,t),e.prototype.resize=function(e,i){t.prototype.resize.call(this,e,i),this._state={x:0,y:0,isFocused:!1,style:\"\",width:0}},e.prototype.reset=function(t){this._clearCursor(),this._cursorBlinkStateManager&&(this._cursorBlinkStateManager.dispose(),this.onOptionsChanged(t))},e.prototype.onBlur=function(t){this._cursorBlinkStateManager&&this._cursorBlinkStateManager.pause(),this._onRequestRefreshRowsEvent.fire({start:t.buffer.active.cursorY,end:t.buffer.active.cursorY})},e.prototype.onFocus=function(t){this._cursorBlinkStateManager?this._cursorBlinkStateManager.resume(t):this._onRequestRefreshRowsEvent.fire({start:t.buffer.active.cursorY,end:t.buffer.active.cursorY})},e.prototype.onOptionsChanged=function(t){var e,i=this;t.getOption(\"cursorBlink\")?this._cursorBlinkStateManager||(this._cursorBlinkStateManager=new h(t,(function(){i._render(t,!0)}))):(null===(e=this._cursorBlinkStateManager)||void 0===e||e.dispose(),this._cursorBlinkStateManager=void 0),this._onRequestRefreshRowsEvent.fire({start:t.buffer.active.cursorY,end:t.buffer.active.cursorY})},e.prototype.onCursorMove=function(t){this._cursorBlinkStateManager&&this._cursorBlinkStateManager.restartBlinkAnimation(t)},e.prototype.onGridChanged=function(t,e,i){!this._cursorBlinkStateManager||this._cursorBlinkStateManager.isPaused?this._render(t,!1):this._cursorBlinkStateManager.restartBlinkAnimation(t)},e.prototype._render=function(t,e){if(t._core._coreService.isCursorInitialized&&!t._core._coreService.isCursorHidden){var i=t.buffer.active.baseY+t.buffer.active.cursorY,r=i-t.buffer.active.viewportY,o=Math.min(t.buffer.active.cursorX,t.cols-1);if(r<0||r>=t.rows)this._clearCursor();else if(t._core.buffer.lines.get(i).loadCell(o,this._cell),void 0!==this._cell.content){if(!c(t)){this._clearCursor(),this._ctx.save(),this._ctx.fillStyle=this._colors.cursor.css;var n=t.getOption(\"cursorStyle\");return n&&\"block\"!==n?this._cursorRenderers[n](t,o,r,this._cell):this._renderBlurCursor(t,o,r,this._cell),this._ctx.restore(),this._state.x=o,this._state.y=r,this._state.isFocused=!1,this._state.style=n,void(this._state.width=this._cell.getWidth())}if(!this._cursorBlinkStateManager||this._cursorBlinkStateManager.isCursorVisible){if(this._state){if(this._state.x===o&&this._state.y===r&&this._state.isFocused===c(t)&&this._state.style===t.getOption(\"cursorStyle\")&&this._state.width===this._cell.getWidth())return;this._clearCursor()}this._ctx.save(),this._cursorRenderers[t.getOption(\"cursorStyle\")||\"block\"](t,o,r,this._cell),this._ctx.restore(),this._state.x=o,this._state.y=r,this._state.isFocused=!1,this._state.style=t.getOption(\"cursorStyle\"),this._state.width=this._cell.getWidth()}else this._clearCursor()}}else this._clearCursor()},e.prototype._clearCursor=function(){this._state&&(this._clearCells(this._state.x,this._state.y,this._state.width,1),this._state={x:0,y:0,isFocused:!1,style:\"\",width:0})},e.prototype._renderBarCursor=function(t,e,i,r){this._ctx.save(),this._ctx.fillStyle=this._colors.cursor.css,this._fillLeftLineAtCell(e,i,t.getOption(\"cursorWidth\")),this._ctx.restore()},e.prototype._renderBlockCursor=function(t,e,i,r){this._ctx.save(),this._ctx.fillStyle=this._colors.cursor.css,this._fillCells(e,i,r.getWidth(),1),this._ctx.fillStyle=this._colors.cursorAccent.css,this._fillCharTrueColor(t,r,e,i),this._ctx.restore()},e.prototype._renderUnderlineCursor=function(t,e,i,r){this._ctx.save(),this._ctx.fillStyle=this._colors.cursor.css,this._fillBottomLineAtCells(e,i),this._ctx.restore()},e.prototype._renderBlurCursor=function(t,e,i,r){this._ctx.save(),this._ctx.strokeStyle=this._colors.cursor.css,this._strokeRectAtCell(e,i,r.getWidth(),1),this._ctx.restore()},e}(n.BaseRenderLayer);e.CursorRenderLayer=l;var h=function(){function t(t,e){this._renderCallback=e,this.isCursorVisible=!0,c(t)&&this._restartInterval()}return Object.defineProperty(t.prototype,\"isPaused\",{get:function(){return!(this._blinkStartTimeout||this._blinkInterval)},enumerable:!1,configurable:!0}),t.prototype.dispose=function(){this._blinkInterval&&(window.clearInterval(this._blinkInterval),this._blinkInterval=void 0),this._blinkStartTimeout&&(window.clearTimeout(this._blinkStartTimeout),this._blinkStartTimeout=void 0),this._animationFrame&&(window.cancelAnimationFrame(this._animationFrame),this._animationFrame=void 0)},t.prototype.restartBlinkAnimation=function(t){var e=this;this.isPaused||(this._animationTimeRestarted=Date.now(),this.isCursorVisible=!0,this._animationFrame||(this._animationFrame=window.requestAnimationFrame((function(){e._renderCallback(),e._animationFrame=void 0}))))},t.prototype._restartInterval=function(t){var e=this;void 0===t&&(t=a),this._blinkInterval&&window.clearInterval(this._blinkInterval),this._blinkStartTimeout=window.setTimeout((function(){if(e._animationTimeRestarted){var t=a-(Date.now()-e._animationTimeRestarted);if(e._animationTimeRestarted=void 0,t>0)return void e._restartInterval(t)}e.isCursorVisible=!1,e._animationFrame=window.requestAnimationFrame((function(){e._renderCallback(),e._animationFrame=void 0})),e._blinkInterval=window.setInterval((function(){if(e._animationTimeRestarted){var t=a-(Date.now()-e._animationTimeRestarted);return e._animationTimeRestarted=void 0,void e._restartInterval(t)}e.isCursorVisible=!e.isCursorVisible,e._animationFrame=window.requestAnimationFrame((function(){e._renderCallback(),e._animationFrame=void 0}))}),a)}),t)},t.prototype.pause=function(){this.isCursorVisible=!0,this._blinkInterval&&(window.clearInterval(this._blinkInterval),this._blinkInterval=void 0),this._blinkStartTimeout&&(window.clearTimeout(this._blinkStartTimeout),this._blinkStartTimeout=void 0),this._animationFrame&&(window.cancelAnimationFrame(this._animationFrame),this._animationFrame=void 0)},t.prototype.resume=function(t){this.pause(),this._animationTimeRestarted=void 0,this._restartInterval(),this.restartBlinkAnimation(t)},t}();function c(t){return document.activeElement===t.textarea&&document.hasFocus()}},733:function(t,e,i){var r,o=this&&this.__extends||(r=function(t,e){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i])})(t,e)},function(t,e){function i(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.LinkRenderLayer=void 0;var n=i(592),s=i(499),a=i(433),l=function(t){function e(e,i,r,o){var n=t.call(this,e,\"link\",i,!0,r)||this;return o.linkifier.onShowLinkUnderline((function(t){return n._onShowLinkUnderline(t)})),o.linkifier.onHideLinkUnderline((function(t){return n._onHideLinkUnderline(t)})),o.linkifier2.onShowLinkUnderline((function(t){return n._onShowLinkUnderline(t)})),o.linkifier2.onHideLinkUnderline((function(t){return n._onHideLinkUnderline(t)})),n}return o(e,t),e.prototype.resize=function(e,i){t.prototype.resize.call(this,e,i),this._state=void 0},e.prototype.reset=function(t){this._clearCurrentLink()},e.prototype._clearCurrentLink=function(){if(this._state){this._clearCells(this._state.x1,this._state.y1,this._state.cols-this._state.x1,1);var t=this._state.y2-this._state.y1-1;t>0&&this._clearCells(0,this._state.y1+1,this._state.cols,t),this._clearCells(0,this._state.y2,this._state.x2,1),this._state=void 0}},e.prototype._onShowLinkUnderline=function(t){if(t.fg===s.INVERTED_DEFAULT_COLOR?this._ctx.fillStyle=this._colors.background.css:void 0!==t.fg&&a.is256Color(t.fg)?this._ctx.fillStyle=this._colors.ansi[t.fg].css:this._ctx.fillStyle=this._colors.foreground.css,t.y1===t.y2)this._fillBottomLineAtCells(t.x1,t.y1,t.x2-t.x1);else{this._fillBottomLineAtCells(t.x1,t.y1,t.cols-t.x1);for(var e=t.y1+1;e{var i,r,o,n;function s(t){var e=t.toString(16);return e.length<2?\"0\"+e:e}function a(t,e){return t>>0}}(i=e.channels||(e.channels={})),(r=e.color||(e.color={})).blend=function(t,e){var r=(255&e.rgba)/255;if(1===r)return{css:e.css,rgba:e.rgba};var o=e.rgba>>24&255,n=e.rgba>>16&255,s=e.rgba>>8&255,a=t.rgba>>24&255,l=t.rgba>>16&255,h=t.rgba>>8&255,c=a+Math.round((o-a)*r),_=l+Math.round((n-l)*r),d=h+Math.round((s-h)*r);return{css:i.toCss(c,_,d),rgba:i.toRgba(c,_,d)}},r.isOpaque=function(t){return 255==(255&t.rgba)},r.ensureContrastRatio=function(t,e,i){var r=n.ensureContrastRatio(t.rgba,e.rgba,i);if(r)return n.toColor(r>>24&255,r>>16&255,r>>8&255)},r.opaque=function(t){var e=(255|t.rgba)>>>0,r=n.toChannels(e),o=r[0],s=r[1],a=r[2];return{css:i.toCss(o,s,a),rgba:e}},r.opacity=function(t,e){var r=Math.round(255*e),o=n.toChannels(t.rgba),s=o[0],a=o[1],l=o[2];return{css:i.toCss(s,a,l,r),rgba:i.toRgba(s,a,l,r)}},(e.css||(e.css={})).toColor=function(t){switch(t.length){case 7:return{css:t,rgba:(parseInt(t.slice(1),16)<<8|255)>>>0};case 9:return{css:t,rgba:parseInt(t.slice(1),16)>>>0}}throw new Error(\"css.toColor: Unsupported css format\")},function(t){function e(t,e,i){var r=t/255,o=e/255,n=i/255;return.2126*(r<=.03928?r/12.92:Math.pow((r+.055)/1.055,2.4))+.7152*(o<=.03928?o/12.92:Math.pow((o+.055)/1.055,2.4))+.0722*(n<=.03928?n/12.92:Math.pow((n+.055)/1.055,2.4))}t.relativeLuminance=function(t){return e(t>>16&255,t>>8&255,255&t)},t.relativeLuminance2=e}(o=e.rgb||(e.rgb={})),function(t){function e(t,e,i){for(var r=t>>24&255,n=t>>16&255,s=t>>8&255,l=e>>24&255,h=e>>16&255,c=e>>8&255,_=a(o.relativeLuminance2(l,c,h),o.relativeLuminance2(r,n,s));_0||h>0||c>0);)l-=Math.max(0,Math.ceil(.1*l)),h-=Math.max(0,Math.ceil(.1*h)),c-=Math.max(0,Math.ceil(.1*c)),_=a(o.relativeLuminance2(l,c,h),o.relativeLuminance2(r,n,s));return(l<<24|h<<16|c<<8|255)>>>0}function r(t,e,i){for(var r=t>>24&255,n=t>>16&255,s=t>>8&255,l=e>>24&255,h=e>>16&255,c=e>>8&255,_=a(o.relativeLuminance2(l,c,h),o.relativeLuminance2(r,n,s));_>>0}t.ensureContrastRatio=function(t,i,n){var s=o.relativeLuminance(t>>8),l=o.relativeLuminance(i>>8);if(a(s,l)>24&255,t>>16&255,t>>8&255,255&t]},t.toColor=function(t,e,r){return{css:i.toCss(t,e,r),rgba:i.toRgba(t,e,r)}}}(n=e.rgba||(e.rgba={})),e.toPaddedHex=s,e.contrastRatio=a},499:(t,e)=>{Object.defineProperty(e,\"__esModule\",{value:!0}),e.CHAR_ATLAS_CELL_SPACING=e.DIM_OPACITY=e.INVERTED_DEFAULT_COLOR=void 0,e.INVERTED_DEFAULT_COLOR=257,e.DIM_OPACITY=.5,e.CHAR_ATLAS_CELL_SPACING=1},345:(t,e)=>{Object.defineProperty(e,\"__esModule\",{value:!0}),e.forwardEvent=e.EventEmitter=void 0;var i=function(){function t(){this._listeners=[],this._disposed=!1}return Object.defineProperty(t.prototype,\"event\",{get:function(){var t=this;return this._event||(this._event=function(e){return t._listeners.push(e),{dispose:function(){if(!t._disposed)for(var i=0;i{Object.defineProperty(e,\"__esModule\",{value:!0}),e.getDisposeArrayDisposable=e.disposeArray=e.Disposable=void 0;var i=function(){function t(){this._disposables=[],this._isDisposed=!1}return t.prototype.dispose=function(){this._isDisposed=!0;for(var t=0,e=this._disposables;t{function i(t,e,i,r){if(void 0===i&&(i=0),void 0===r&&(r=t.length),i>=t.length)return t;i=(t.length+i)%t.length,r=r>=t.length?t.length:(t.length+r)%t.length;for(var o=i;o{Object.defineProperty(e,\"__esModule\",{value:!0}),e.ExtendedAttrs=e.AttributeData=void 0;var i=function(){function t(){this.fg=0,this.bg=0,this.extended=new r}return t.toColorRGB=function(t){return[t>>>16&255,t>>>8&255,255&t]},t.fromColorRGB=function(t){return(255&t[0])<<16|(255&t[1])<<8|255&t[2]},t.prototype.clone=function(){var e=new t;return e.fg=this.fg,e.bg=this.bg,e.extended=this.extended.clone(),e},t.prototype.isInverse=function(){return 67108864&this.fg},t.prototype.isBold=function(){return 134217728&this.fg},t.prototype.isUnderline=function(){return 268435456&this.fg},t.prototype.isBlink=function(){return 536870912&this.fg},t.prototype.isInvisible=function(){return 1073741824&this.fg},t.prototype.isItalic=function(){return 67108864&this.bg},t.prototype.isDim=function(){return 134217728&this.bg},t.prototype.getFgColorMode=function(){return 50331648&this.fg},t.prototype.getBgColorMode=function(){return 50331648&this.bg},t.prototype.isFgRGB=function(){return 50331648==(50331648&this.fg)},t.prototype.isBgRGB=function(){return 50331648==(50331648&this.bg)},t.prototype.isFgPalette=function(){return 16777216==(50331648&this.fg)||33554432==(50331648&this.fg)},t.prototype.isBgPalette=function(){return 16777216==(50331648&this.bg)||33554432==(50331648&this.bg)},t.prototype.isFgDefault=function(){return 0==(50331648&this.fg)},t.prototype.isBgDefault=function(){return 0==(50331648&this.bg)},t.prototype.isAttributeDefault=function(){return 0===this.fg&&0===this.bg},t.prototype.getFgColor=function(){switch(50331648&this.fg){case 16777216:case 33554432:return 255&this.fg;case 50331648:return 16777215&this.fg;default:return-1}},t.prototype.getBgColor=function(){switch(50331648&this.bg){case 16777216:case 33554432:return 255&this.bg;case 50331648:return 16777215&this.bg;default:return-1}},t.prototype.hasExtendedAttrs=function(){return 268435456&this.bg},t.prototype.updateExtended=function(){this.extended.isEmpty()?this.bg&=-268435457:this.bg|=268435456},t.prototype.getUnderlineColor=function(){if(268435456&this.bg&&~this.extended.underlineColor)switch(50331648&this.extended.underlineColor){case 16777216:case 33554432:return 255&this.extended.underlineColor;case 50331648:return 16777215&this.extended.underlineColor;default:return this.getFgColor()}return this.getFgColor()},t.prototype.getUnderlineColorMode=function(){return 268435456&this.bg&&~this.extended.underlineColor?50331648&this.extended.underlineColor:this.getFgColorMode()},t.prototype.isUnderlineColorRGB=function(){return 268435456&this.bg&&~this.extended.underlineColor?50331648==(50331648&this.extended.underlineColor):this.isFgRGB()},t.prototype.isUnderlineColorPalette=function(){return 268435456&this.bg&&~this.extended.underlineColor?16777216==(50331648&this.extended.underlineColor)||33554432==(50331648&this.extended.underlineColor):this.isFgPalette()},t.prototype.isUnderlineColorDefault=function(){return 268435456&this.bg&&~this.extended.underlineColor?0==(50331648&this.extended.underlineColor):this.isFgDefault()},t.prototype.getUnderlineStyle=function(){return 268435456&this.fg?268435456&this.bg?this.extended.underlineStyle:1:0},t}();e.AttributeData=i;var r=function(){function t(t,e){void 0===t&&(t=0),void 0===e&&(e=-1),this.underlineStyle=t,this.underlineColor=e}return t.prototype.clone=function(){return new t(this.underlineStyle,this.underlineColor)},t.prototype.isEmpty=function(){return 0===this.underlineStyle},t}();e.ExtendedAttrs=r},782:function(t,e,i){var r,o=this&&this.__extends||(r=function(t,e){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i])})(t,e)},function(t,e){function i(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)});Object.defineProperty(e,\"__esModule\",{value:!0}),e.CellData=void 0;var n=i(133),s=i(855),a=i(147),l=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.content=0,e.fg=0,e.bg=0,e.extended=new a.ExtendedAttrs,e.combinedData=\"\",e}return o(e,t),e.fromCharData=function(t){var i=new e;return i.setFromCharData(t),i},e.prototype.isCombined=function(){return 2097152&this.content},e.prototype.getWidth=function(){return this.content>>22},e.prototype.getChars=function(){return 2097152&this.content?this.combinedData:2097151&this.content?n.stringFromCodePoint(2097151&this.content):\"\"},e.prototype.getCode=function(){return this.isCombined()?this.combinedData.charCodeAt(this.combinedData.length-1):2097151&this.content},e.prototype.setFromCharData=function(t){this.fg=t[s.CHAR_DATA_ATTR_INDEX],this.bg=0;var e=!1;if(t[s.CHAR_DATA_CHAR_INDEX].length>2)e=!0;else if(2===t[s.CHAR_DATA_CHAR_INDEX].length){var i=t[s.CHAR_DATA_CHAR_INDEX].charCodeAt(0);if(55296<=i&&i<=56319){var r=t[s.CHAR_DATA_CHAR_INDEX].charCodeAt(1);56320<=r&&r<=57343?this.content=1024*(i-55296)+r-56320+65536|t[s.CHAR_DATA_WIDTH_INDEX]<<22:e=!0}else e=!0}else this.content=t[s.CHAR_DATA_CHAR_INDEX].charCodeAt(0)|t[s.CHAR_DATA_WIDTH_INDEX]<<22;e&&(this.combinedData=t[s.CHAR_DATA_CHAR_INDEX],this.content=2097152|t[s.CHAR_DATA_WIDTH_INDEX]<<22)},e.prototype.getAsCharData=function(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]},e}(a.AttributeData);e.CellData=l},855:(t,e)=>{Object.defineProperty(e,\"__esModule\",{value:!0}),e.WHITESPACE_CELL_CODE=e.WHITESPACE_CELL_WIDTH=e.WHITESPACE_CELL_CHAR=e.NULL_CELL_CODE=e.NULL_CELL_WIDTH=e.NULL_CELL_CHAR=e.CHAR_DATA_CODE_INDEX=e.CHAR_DATA_WIDTH_INDEX=e.CHAR_DATA_CHAR_INDEX=e.CHAR_DATA_ATTR_INDEX=e.DEFAULT_ATTR=e.DEFAULT_COLOR=void 0,e.DEFAULT_COLOR=256,e.DEFAULT_ATTR=256|e.DEFAULT_COLOR<<9,e.CHAR_DATA_ATTR_INDEX=0,e.CHAR_DATA_CHAR_INDEX=1,e.CHAR_DATA_WIDTH_INDEX=2,e.CHAR_DATA_CODE_INDEX=3,e.NULL_CELL_CHAR=\"\",e.NULL_CELL_WIDTH=1,e.NULL_CELL_CODE=0,e.WHITESPACE_CELL_CHAR=\" \",e.WHITESPACE_CELL_WIDTH=1,e.WHITESPACE_CELL_CODE=32},133:(t,e)=>{Object.defineProperty(e,\"__esModule\",{value:!0}),e.Utf8ToUtf32=e.StringToUtf32=e.utf32ToString=e.stringFromCodePoint=void 0,e.stringFromCodePoint=function(t){return t>65535?(t-=65536,String.fromCharCode(55296+(t>>10))+String.fromCharCode(t%1024+56320)):String.fromCharCode(t)},e.utf32ToString=function(t,e,i){void 0===e&&(e=0),void 0===i&&(i=t.length);for(var r=\"\",o=e;o65535?(n-=65536,r+=String.fromCharCode(55296+(n>>10))+String.fromCharCode(n%1024+56320)):r+=String.fromCharCode(n)}return r};var i=function(){function t(){this._interim=0}return t.prototype.clear=function(){this._interim=0},t.prototype.decode=function(t,e){var i=t.length;if(!i)return 0;var r=0,o=0;this._interim&&(56320<=(a=t.charCodeAt(o++))&&a<=57343?e[r++]=1024*(this._interim-55296)+a-56320+65536:(e[r++]=this._interim,e[r++]=a),this._interim=0);for(var n=o;n=i)return this._interim=s,r;var a;56320<=(a=t.charCodeAt(n))&&a<=57343?e[r++]=1024*(s-55296)+a-56320+65536:(e[r++]=s,e[r++]=a)}else 65279!==s&&(e[r++]=s)}return r},t}();e.StringToUtf32=i;var r=function(){function t(){this.interim=new Uint8Array(3)}return t.prototype.clear=function(){this.interim.fill(0)},t.prototype.decode=function(t,e){var i=t.length;if(!i)return 0;var r,o,n,s,a=0,l=0,h=0;if(this.interim[0]){var c=!1,_=this.interim[0];_&=192==(224&_)?31:224==(240&_)?15:7;for(var d=0,u=void 0;(u=63&this.interim[++d])&&d<4;)_<<=6,_|=u;for(var f=192==(224&this.interim[0])?2:224==(240&this.interim[0])?3:4,p=f-d;h=i)return 0;if(128!=(192&(u=t[h++]))){h--,c=!0;break}this.interim[d++]=u,_<<=6,_|=63&u}c||(2===f?_<128?h--:e[a++]=_:3===f?_<2048||_>=55296&&_<=57343||65279===_||(e[a++]=_):_<65536||_>1114111||(e[a++]=_)),this.interim.fill(0)}for(var g=i-4,v=h;v=i)return this.interim[0]=r,a;if(128!=(192&(o=t[v++]))){v--;continue}if((l=(31&r)<<6|63&o)<128){v--;continue}e[a++]=l}else if(224==(240&r)){if(v>=i)return this.interim[0]=r,a;if(128!=(192&(o=t[v++]))){v--;continue}if(v>=i)return this.interim[0]=r,this.interim[1]=o,a;if(128!=(192&(n=t[v++]))){v--;continue}if((l=(15&r)<<12|(63&o)<<6|63&n)<2048||l>=55296&&l<=57343||65279===l)continue;e[a++]=l}else if(240==(248&r)){if(v>=i)return this.interim[0]=r,a;if(128!=(192&(o=t[v++]))){v--;continue}if(v>=i)return this.interim[0]=r,this.interim[1]=o,a;if(128!=(192&(n=t[v++]))){v--;continue}if(v>=i)return this.interim[0]=r,this.interim[1]=o,this.interim[2]=n,a;if(128!=(192&(s=t[v++]))){v--;continue}if((l=(7&r)<<18|(63&o)<<12|(63&n)<<6|63&s)<65536||l>1114111)continue;e[a++]=l}}return a},t}();e.Utf8ToUtf32=r}},e={};return function i(r){if(e[r])return e[r].exports;var o=e[r]={exports:{}};return t[r].call(o.exports,o,o.exports,i),o.exports}(795)})()}));\n//# sourceMappingURL=xterm-addon-webgl.js.map","/*!\n * xterm (https://npmjs.com/package/xterm)\n * @license MIT\n * @version 4.12.0\n * ==xterm/LICENSE==\n * Copyright (c) 2017-2019, The xterm.js authors (https://github.com/xtermjs/xterm.js)\n * Copyright (c) 2014-2016, SourceLair Private Company (https://www.sourcelair.com)\n * Copyright (c) 2012-2013, Christopher Jeffrey (https://github.com/chjj/)\n * \n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n * \n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n * \n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\n!function(e,t){if(\"object\"==typeof exports&&\"object\"==typeof module)module.exports=t();else if(\"function\"==typeof define&&define.amd)define([],t);else{var r=t();for(var i in r)(\"object\"==typeof exports?exports:e)[i]=r[i]}}(self,(function(){return(()=>{\"use strict\";var e={4567:function(e,t,r){var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});Object.defineProperty(t,\"__esModule\",{value:!0}),t.AccessibilityManager=void 0;var o=r(9042),s=r(6114),a=r(6193),c=r(3656),l=r(844),h=r(5596),u=r(9631),f=function(e){function t(t,r){var i=e.call(this)||this;i._terminal=t,i._renderService=r,i._liveRegionLineCount=0,i._charsToConsume=[],i._charsToAnnounce=\"\",i._accessibilityTreeRoot=document.createElement(\"div\"),i._accessibilityTreeRoot.classList.add(\"xterm-accessibility\"),i._rowContainer=document.createElement(\"div\"),i._rowContainer.setAttribute(\"role\",\"list\"),i._rowContainer.classList.add(\"xterm-accessibility-tree\"),i._rowElements=[];for(var n=0;ne;)this._rowContainer.removeChild(this._rowElements.pop());this._rowElements[this._rowElements.length-1].addEventListener(\"focus\",this._bottomBoundaryFocusListener),this._refreshRowsDimensions()},t.prototype._createAccessibilityTreeNode=function(){var e=document.createElement(\"div\");return e.setAttribute(\"role\",\"listitem\"),e.tabIndex=-1,this._refreshRowDimensions(e),e},t.prototype._onTab=function(e){for(var t=0;t0?this._charsToConsume.shift()!==e&&(this._charsToAnnounce+=e):this._charsToAnnounce+=e,\"\\n\"===e&&(this._liveRegionLineCount++,21===this._liveRegionLineCount&&(this._liveRegion.textContent+=o.tooMuchOutput)),s.isMac&&this._liveRegion.textContent&&this._liveRegion.textContent.length>0&&!this._liveRegion.parentNode&&setTimeout((function(){t._accessibilityTreeRoot.appendChild(t._liveRegion)}),0))},t.prototype._clearLiveRegion=function(){this._liveRegion.textContent=\"\",this._liveRegionLineCount=0,s.isMac&&u.removeElementFromParent(this._liveRegion)},t.prototype._onKey=function(e){this._clearLiveRegion(),this._charsToConsume.push(e)},t.prototype._refreshRows=function(e,t){this._renderRowsDebouncer.refresh(e,t,this._terminal.rows)},t.prototype._renderRows=function(e,t){for(var r=this._terminal.buffer,i=r.lines.length.toString(),n=e;n<=t;n++){var o=r.translateBufferLineToString(r.ydisp+n,!0),s=(r.ydisp+n+1).toString(),a=this._rowElements[n];a&&(0===o.length?a.innerText=\" \":a.textContent=o,a.setAttribute(\"aria-posinset\",s),a.setAttribute(\"aria-setsize\",i))}this._announceCharacters()},t.prototype._refreshRowsDimensions=function(){if(this._renderService.dimensions.actualCellHeight){this._rowElements.length!==this._terminal.rows&&this._onResize(this._terminal.rows);for(var e=0;e{function r(e){return e.replace(/\\r?\\n/g,\"\\r\")}function i(e,t){return t?\"\u001b[200~\"+e+\"\u001b[201~\":e}function n(e,t,n){e=i(e=r(e),n.decPrivateModes.bracketedPasteMode),n.triggerDataEvent(e,!0),t.value=\"\"}function o(e,t,r){var i=r.getBoundingClientRect(),n=e.clientX-i.left-10,o=e.clientY-i.top-10;t.style.width=\"20px\",t.style.height=\"20px\",t.style.left=n+\"px\",t.style.top=o+\"px\",t.style.zIndex=\"1000\",t.focus()}Object.defineProperty(t,\"__esModule\",{value:!0}),t.rightClickHandler=t.moveTextAreaUnderMouseCursor=t.paste=t.handlePasteEvent=t.copyHandler=t.bracketTextForPaste=t.prepareTextForTerminal=void 0,t.prepareTextForTerminal=r,t.bracketTextForPaste=i,t.copyHandler=function(e,t){e.clipboardData&&e.clipboardData.setData(\"text/plain\",t.selectionText),e.preventDefault()},t.handlePasteEvent=function(e,t,r){e.stopPropagation(),e.clipboardData&&n(e.clipboardData.getData(\"text/plain\"),t,r)},t.paste=n,t.moveTextAreaUnderMouseCursor=o,t.rightClickHandler=function(e,t,r,i,n){o(e,t,r),n&&i.rightClickSelect(e),t.value=i.selectionText,t.select()}},4774:(e,t)=>{var r,i,n,o;function s(e){var t=e.toString(16);return t.length<2?\"0\"+t:t}function a(e,t){return e>>0}}(r=t.channels||(t.channels={})),(i=t.color||(t.color={})).blend=function(e,t){var i=(255&t.rgba)/255;if(1===i)return{css:t.css,rgba:t.rgba};var n=t.rgba>>24&255,o=t.rgba>>16&255,s=t.rgba>>8&255,a=e.rgba>>24&255,c=e.rgba>>16&255,l=e.rgba>>8&255,h=a+Math.round((n-a)*i),u=c+Math.round((o-c)*i),f=l+Math.round((s-l)*i);return{css:r.toCss(h,u,f),rgba:r.toRgba(h,u,f)}},i.isOpaque=function(e){return 255==(255&e.rgba)},i.ensureContrastRatio=function(e,t,r){var i=o.ensureContrastRatio(e.rgba,t.rgba,r);if(i)return o.toColor(i>>24&255,i>>16&255,i>>8&255)},i.opaque=function(e){var t=(255|e.rgba)>>>0,i=o.toChannels(t),n=i[0],s=i[1],a=i[2];return{css:r.toCss(n,s,a),rgba:t}},i.opacity=function(e,t){var i=Math.round(255*t),n=o.toChannels(e.rgba),s=n[0],a=n[1],c=n[2];return{css:r.toCss(s,a,c,i),rgba:r.toRgba(s,a,c,i)}},(t.css||(t.css={})).toColor=function(e){switch(e.length){case 7:return{css:e,rgba:(parseInt(e.slice(1),16)<<8|255)>>>0};case 9:return{css:e,rgba:parseInt(e.slice(1),16)>>>0}}throw new Error(\"css.toColor: Unsupported css format\")},function(e){function t(e,t,r){var i=e/255,n=t/255,o=r/255;return.2126*(i<=.03928?i/12.92:Math.pow((i+.055)/1.055,2.4))+.7152*(n<=.03928?n/12.92:Math.pow((n+.055)/1.055,2.4))+.0722*(o<=.03928?o/12.92:Math.pow((o+.055)/1.055,2.4))}e.relativeLuminance=function(e){return t(e>>16&255,e>>8&255,255&e)},e.relativeLuminance2=t}(n=t.rgb||(t.rgb={})),function(e){function t(e,t,r){for(var i=e>>24&255,o=e>>16&255,s=e>>8&255,c=t>>24&255,l=t>>16&255,h=t>>8&255,u=a(n.relativeLuminance2(c,h,l),n.relativeLuminance2(i,o,s));u0||l>0||h>0);)c-=Math.max(0,Math.ceil(.1*c)),l-=Math.max(0,Math.ceil(.1*l)),h-=Math.max(0,Math.ceil(.1*h)),u=a(n.relativeLuminance2(c,h,l),n.relativeLuminance2(i,o,s));return(c<<24|l<<16|h<<8|255)>>>0}function i(e,t,r){for(var i=e>>24&255,o=e>>16&255,s=e>>8&255,c=t>>24&255,l=t>>16&255,h=t>>8&255,u=a(n.relativeLuminance2(c,h,l),n.relativeLuminance2(i,o,s));u>>0}e.ensureContrastRatio=function(e,r,o){var s=n.relativeLuminance(e>>8),c=n.relativeLuminance(r>>8);if(a(s,c)>24&255,e>>16&255,e>>8&255,255&e]},e.toColor=function(e,t,i){return{css:r.toCss(e,t,i),rgba:r.toRgba(e,t,i)}}}(o=t.rgba||(t.rgba={})),t.toPaddedHex=s,t.contrastRatio=a},7239:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.ColorContrastCache=void 0;var r=function(){function e(){this._color={},this._rgba={}}return e.prototype.clear=function(){this._color={},this._rgba={}},e.prototype.setCss=function(e,t,r){this._rgba[e]||(this._rgba[e]={}),this._rgba[e][t]=r},e.prototype.getCss=function(e,t){return this._rgba[e]?this._rgba[e][t]:void 0},e.prototype.setColor=function(e,t,r){this._color[e]||(this._color[e]={}),this._color[e][t]=r},e.prototype.getColor=function(e,t){return this._color[e]?this._color[e][t]:void 0},e}();t.ColorContrastCache=r},5680:(e,t,r)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.ColorManager=t.DEFAULT_ANSI_COLORS=void 0;var i=r(4774),n=r(7239),o=i.css.toColor(\"#ffffff\"),s=i.css.toColor(\"#000000\"),a=i.css.toColor(\"#ffffff\"),c=i.css.toColor(\"#000000\"),l={css:\"rgba(255, 255, 255, 0.3)\",rgba:4294967117};t.DEFAULT_ANSI_COLORS=Object.freeze(function(){for(var e=[i.css.toColor(\"#2e3436\"),i.css.toColor(\"#cc0000\"),i.css.toColor(\"#4e9a06\"),i.css.toColor(\"#c4a000\"),i.css.toColor(\"#3465a4\"),i.css.toColor(\"#75507b\"),i.css.toColor(\"#06989a\"),i.css.toColor(\"#d3d7cf\"),i.css.toColor(\"#555753\"),i.css.toColor(\"#ef2929\"),i.css.toColor(\"#8ae234\"),i.css.toColor(\"#fce94f\"),i.css.toColor(\"#729fcf\"),i.css.toColor(\"#ad7fa8\"),i.css.toColor(\"#34e2e2\"),i.css.toColor(\"#eeeeec\")],t=[0,95,135,175,215,255],r=0;r<216;r++){var n=t[r/36%6|0],o=t[r/6%6|0],s=t[r%6];e.push({css:i.channels.toCss(n,o,s),rgba:i.channels.toRgba(n,o,s)})}for(r=0;r<24;r++){var a=8+10*r;e.push({css:i.channels.toCss(a,a,a),rgba:i.channels.toRgba(a,a,a)})}return e}());var h=function(){function e(e,r){this.allowTransparency=r;var h=e.createElement(\"canvas\");h.width=1,h.height=1;var u=h.getContext(\"2d\");if(!u)throw new Error(\"Could not get rendering context\");this._ctx=u,this._ctx.globalCompositeOperation=\"copy\",this._litmusColor=this._ctx.createLinearGradient(0,0,1,1),this._contrastCache=new n.ColorContrastCache,this.colors={foreground:o,background:s,cursor:a,cursorAccent:c,selectionTransparent:l,selectionOpaque:i.color.blend(s,l),ansi:t.DEFAULT_ANSI_COLORS.slice(),contrastCache:this._contrastCache}}return e.prototype.onOptionsChange=function(e){\"minimumContrastRatio\"===e&&this._contrastCache.clear()},e.prototype.setTheme=function(e){void 0===e&&(e={}),this.colors.foreground=this._parseColor(e.foreground,o),this.colors.background=this._parseColor(e.background,s),this.colors.cursor=this._parseColor(e.cursor,a,!0),this.colors.cursorAccent=this._parseColor(e.cursorAccent,c,!0),this.colors.selectionTransparent=this._parseColor(e.selection,l,!0),this.colors.selectionOpaque=i.color.blend(this.colors.background,this.colors.selectionTransparent),i.color.isOpaque(this.colors.selectionTransparent)&&(this.colors.selectionTransparent=i.color.opacity(this.colors.selectionTransparent,.3)),this.colors.ansi[0]=this._parseColor(e.black,t.DEFAULT_ANSI_COLORS[0]),this.colors.ansi[1]=this._parseColor(e.red,t.DEFAULT_ANSI_COLORS[1]),this.colors.ansi[2]=this._parseColor(e.green,t.DEFAULT_ANSI_COLORS[2]),this.colors.ansi[3]=this._parseColor(e.yellow,t.DEFAULT_ANSI_COLORS[3]),this.colors.ansi[4]=this._parseColor(e.blue,t.DEFAULT_ANSI_COLORS[4]),this.colors.ansi[5]=this._parseColor(e.magenta,t.DEFAULT_ANSI_COLORS[5]),this.colors.ansi[6]=this._parseColor(e.cyan,t.DEFAULT_ANSI_COLORS[6]),this.colors.ansi[7]=this._parseColor(e.white,t.DEFAULT_ANSI_COLORS[7]),this.colors.ansi[8]=this._parseColor(e.brightBlack,t.DEFAULT_ANSI_COLORS[8]),this.colors.ansi[9]=this._parseColor(e.brightRed,t.DEFAULT_ANSI_COLORS[9]),this.colors.ansi[10]=this._parseColor(e.brightGreen,t.DEFAULT_ANSI_COLORS[10]),this.colors.ansi[11]=this._parseColor(e.brightYellow,t.DEFAULT_ANSI_COLORS[11]),this.colors.ansi[12]=this._parseColor(e.brightBlue,t.DEFAULT_ANSI_COLORS[12]),this.colors.ansi[13]=this._parseColor(e.brightMagenta,t.DEFAULT_ANSI_COLORS[13]),this.colors.ansi[14]=this._parseColor(e.brightCyan,t.DEFAULT_ANSI_COLORS[14]),this.colors.ansi[15]=this._parseColor(e.brightWhite,t.DEFAULT_ANSI_COLORS[15]),this._contrastCache.clear()},e.prototype._parseColor=function(e,t,r){if(void 0===r&&(r=this.allowTransparency),void 0===e)return t;if(this._ctx.fillStyle=this._litmusColor,this._ctx.fillStyle=e,\"string\"!=typeof this._ctx.fillStyle)return console.warn(\"Color: \"+e+\" is invalid using fallback \"+t.css),t;this._ctx.fillRect(0,0,1,1);var n=this._ctx.getImageData(0,0,1,1).data;if(255!==n[3]){if(!r)return console.warn(\"Color: \"+e+\" is using transparency, but allowTransparency is false. Using fallback \"+t.css+\".\"),t;var o=this._ctx.fillStyle.substring(5,this._ctx.fillStyle.length-1).split(\",\").map((function(e){return Number(e)})),s=o[0],a=o[1],c=o[2],l=o[3],h=Math.round(255*l);return{rgba:i.channels.toRgba(s,a,c,h),css:e}}return{css:this._ctx.fillStyle,rgba:i.channels.toRgba(n[0],n[1],n[2],n[3])}},e}();t.ColorManager=h},9631:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.removeElementFromParent=void 0,t.removeElementFromParent=function(){for(var e,t=[],r=0;r{Object.defineProperty(t,\"__esModule\",{value:!0}),t.addDisposableDomListener=void 0,t.addDisposableDomListener=function(e,t,r,i){e.addEventListener(t,r,i);var n=!1;return{dispose:function(){n||(n=!0,e.removeEventListener(t,r,i))}}}},3551:function(e,t,r){var i=this&&this.__decorate||function(e,t,r,i){var n,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},n=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.MouseZone=t.Linkifier=void 0;var o=r(8460),s=r(2585),a=function(){function e(e,t,r){this._bufferService=e,this._logService=t,this._unicodeService=r,this._linkMatchers=[],this._nextLinkMatcherId=0,this._onShowLinkUnderline=new o.EventEmitter,this._onHideLinkUnderline=new o.EventEmitter,this._onLinkTooltip=new o.EventEmitter,this._rowsToLinkify={start:void 0,end:void 0}}return Object.defineProperty(e.prototype,\"onShowLinkUnderline\",{get:function(){return this._onShowLinkUnderline.event},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"onHideLinkUnderline\",{get:function(){return this._onHideLinkUnderline.event},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"onLinkTooltip\",{get:function(){return this._onLinkTooltip.event},enumerable:!1,configurable:!0}),e.prototype.attachToDom=function(e,t){this._element=e,this._mouseZoneManager=t},e.prototype.linkifyRows=function(t,r){var i=this;this._mouseZoneManager&&(void 0===this._rowsToLinkify.start||void 0===this._rowsToLinkify.end?(this._rowsToLinkify.start=t,this._rowsToLinkify.end=r):(this._rowsToLinkify.start=Math.min(this._rowsToLinkify.start,t),this._rowsToLinkify.end=Math.max(this._rowsToLinkify.end,r)),this._mouseZoneManager.clearAll(t,r),this._rowsTimeoutId&&clearTimeout(this._rowsTimeoutId),this._rowsTimeoutId=setTimeout((function(){return i._linkifyRows()}),e._timeBeforeLatency))},e.prototype._linkifyRows=function(){this._rowsTimeoutId=void 0;var e=this._bufferService.buffer;if(void 0!==this._rowsToLinkify.start&&void 0!==this._rowsToLinkify.end){var t=e.ydisp+this._rowsToLinkify.start;if(!(t>=e.lines.length)){for(var r=e.ydisp+Math.min(this._rowsToLinkify.end,this._bufferService.rows)+1,i=Math.ceil(2e3/this._bufferService.cols),n=this._bufferService.buffer.iterator(!1,t,r,i,i);n.hasNext();)for(var o=n.next(),s=0;s=0;t--)if(e.priority<=this._linkMatchers[t].priority)return void this._linkMatchers.splice(t+1,0,e);this._linkMatchers.splice(0,0,e)}else this._linkMatchers.push(e)},e.prototype.deregisterLinkMatcher=function(e){for(var t=0;t>9&511:void 0;r.validationCallback?r.validationCallback(a,(function(e){n._rowsTimeoutId||e&&n._addLink(l[1],l[0]-n._bufferService.buffer.ydisp,a,r,f)})):c._addLink(l[1],l[0]-c._bufferService.buffer.ydisp,a,r,f)},c=this;null!==(i=o.exec(t))&&\"break\"!==a(););},e.prototype._addLink=function(e,t,r,i,n){var o=this;if(this._mouseZoneManager&&this._element){var s=this._unicodeService.getStringCellWidth(r),a=e%this._bufferService.cols,l=t+Math.floor(e/this._bufferService.cols),h=(a+s)%this._bufferService.cols,u=l+Math.floor((a+s)/this._bufferService.cols);0===h&&(h=this._bufferService.cols,u--),this._mouseZoneManager.add(new c(a+1,l+1,h+1,u+1,(function(e){if(i.handler)return i.handler(e,r);var t=window.open();t?(t.opener=null,t.location.href=r):console.warn(\"Opening link blocked as opener could not be cleared\")}),(function(){o._onShowLinkUnderline.fire(o._createLinkHoverEvent(a,l,h,u,n)),o._element.classList.add(\"xterm-cursor-pointer\")}),(function(e){o._onLinkTooltip.fire(o._createLinkHoverEvent(a,l,h,u,n)),i.hoverTooltipCallback&&i.hoverTooltipCallback(e,r,{start:{x:a,y:l},end:{x:h,y:u}})}),(function(){o._onHideLinkUnderline.fire(o._createLinkHoverEvent(a,l,h,u,n)),o._element.classList.remove(\"xterm-cursor-pointer\"),i.hoverLeaveCallback&&i.hoverLeaveCallback()}),(function(e){return!i.willLinkActivate||i.willLinkActivate(e,r)})))}},e.prototype._createLinkHoverEvent=function(e,t,r,i,n){return{x1:e,y1:t,x2:r,y2:i,cols:this._bufferService.cols,fg:n}},e._timeBeforeLatency=200,e=i([n(0,s.IBufferService),n(1,s.ILogService),n(2,s.IUnicodeService)],e)}();t.Linkifier=a;var c=function(e,t,r,i,n,o,s,a,c){this.x1=e,this.y1=t,this.x2=r,this.y2=i,this.clickCallback=n,this.hoverCallback=o,this.tooltipCallback=s,this.leaveCallback=a,this.willLinkActivate=c};t.MouseZone=c},6465:function(e,t,r){var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),o=this&&this.__decorate||function(e,t,r,i){var n,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},s=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.Linkifier2=void 0;var a=r(2585),c=r(8460),l=r(844),h=r(3656),u=function(e){function t(t){var r=e.call(this)||this;return r._bufferService=t,r._linkProviders=[],r._linkCacheDisposables=[],r._isMouseOut=!0,r._activeLine=-1,r._onShowLinkUnderline=r.register(new c.EventEmitter),r._onHideLinkUnderline=r.register(new c.EventEmitter),r.register(l.getDisposeArrayDisposable(r._linkCacheDisposables)),r}return n(t,e),Object.defineProperty(t.prototype,\"currentLink\",{get:function(){return this._currentLink},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"onShowLinkUnderline\",{get:function(){return this._onShowLinkUnderline.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"onHideLinkUnderline\",{get:function(){return this._onHideLinkUnderline.event},enumerable:!1,configurable:!0}),t.prototype.registerLinkProvider=function(e){var t=this;return this._linkProviders.push(e),{dispose:function(){var r=t._linkProviders.indexOf(e);-1!==r&&t._linkProviders.splice(r,1)}}},t.prototype.attachToDom=function(e,t,r){var i=this;this._element=e,this._mouseService=t,this._renderService=r,this.register(h.addDisposableDomListener(this._element,\"mouseleave\",(function(){i._isMouseOut=!0,i._clearCurrentLink()}))),this.register(h.addDisposableDomListener(this._element,\"mousemove\",this._onMouseMove.bind(this))),this.register(h.addDisposableDomListener(this._element,\"click\",this._onClick.bind(this)))},t.prototype._onMouseMove=function(e){if(this._lastMouseEvent=e,this._element&&this._mouseService){var t=this._positionFromMouseEvent(e,this._element,this._mouseService);if(t){this._isMouseOut=!1;for(var r=e.composedPath(),i=0;ie?this._bufferService.cols:s.link.range.end.x,l=a;l<=c;l++){if(r.has(l)){n.splice(o--,1);break}r.add(l)}}},t.prototype._checkLinkProviderResult=function(e,t,r){var i,n=this;if(!this._activeProviderReplies)return r;for(var o=this._activeProviderReplies.get(e),s=!1,a=0;a=e&&this._currentLink.link.range.end.y<=t)&&(this._linkLeave(this._element,this._currentLink.link,this._lastMouseEvent),this._currentLink=void 0,l.disposeArray(this._linkCacheDisposables))},t.prototype._handleNewLink=function(e){var t=this;if(this._element&&this._lastMouseEvent&&this._mouseService){var r=this._positionFromMouseEvent(this._lastMouseEvent,this._element,this._mouseService);r&&this._linkAtPosition(e.link,r)&&(this._currentLink=e,this._currentLink.state={decorations:{underline:void 0===e.link.decorations||e.link.decorations.underline,pointerCursor:void 0===e.link.decorations||e.link.decorations.pointerCursor},isHovered:!0},this._linkHover(this._element,e.link,this._lastMouseEvent),e.link.decorations={},Object.defineProperties(e.link.decorations,{pointerCursor:{get:function(){var e,r;return null===(r=null===(e=t._currentLink)||void 0===e?void 0:e.state)||void 0===r?void 0:r.decorations.pointerCursor},set:function(e){var r,i;(null===(r=t._currentLink)||void 0===r?void 0:r.state)&&t._currentLink.state.decorations.pointerCursor!==e&&(t._currentLink.state.decorations.pointerCursor=e,t._currentLink.state.isHovered&&(null===(i=t._element)||void 0===i||i.classList.toggle(\"xterm-cursor-pointer\",e)))}},underline:{get:function(){var e,r;return null===(r=null===(e=t._currentLink)||void 0===e?void 0:e.state)||void 0===r?void 0:r.decorations.underline},set:function(r){var i,n,o;(null===(i=t._currentLink)||void 0===i?void 0:i.state)&&(null===(o=null===(n=t._currentLink)||void 0===n?void 0:n.state)||void 0===o?void 0:o.decorations.underline)!==r&&(t._currentLink.state.decorations.underline=r,t._currentLink.state.isHovered&&t._fireUnderlineEvent(e.link,r))}}}),this._renderService&&this._linkCacheDisposables.push(this._renderService.onRenderedBufferChange((function(e){var r=0===e.start?0:e.start+1+t._bufferService.buffer.ydisp;t._clearCurrentLink(r,e.end+1+t._bufferService.buffer.ydisp)}))))}},t.prototype._linkHover=function(e,t,r){var i;(null===(i=this._currentLink)||void 0===i?void 0:i.state)&&(this._currentLink.state.isHovered=!0,this._currentLink.state.decorations.underline&&this._fireUnderlineEvent(t,!0),this._currentLink.state.decorations.pointerCursor&&e.classList.add(\"xterm-cursor-pointer\")),t.hover&&t.hover(r,t.text)},t.prototype._fireUnderlineEvent=function(e,t){var r=e.range,i=this._bufferService.buffer.ydisp,n=this._createLinkUnderlineEvent(r.start.x-1,r.start.y-i-1,r.end.x,r.end.y-i-1,void 0);(t?this._onShowLinkUnderline:this._onHideLinkUnderline).fire(n)},t.prototype._linkLeave=function(e,t,r){var i;(null===(i=this._currentLink)||void 0===i?void 0:i.state)&&(this._currentLink.state.isHovered=!1,this._currentLink.state.decorations.underline&&this._fireUnderlineEvent(t,!1),this._currentLink.state.decorations.pointerCursor&&e.classList.remove(\"xterm-cursor-pointer\")),t.leave&&t.leave(r,t.text)},t.prototype._linkAtPosition=function(e,t){var r=e.range.start.y===e.range.end.y,i=e.range.start.yt.y;return(r&&e.range.start.x<=t.x&&e.range.end.x>=t.x||i&&e.range.end.x>=t.x||n&&e.range.start.x<=t.x||i&&n)&&e.range.start.y<=t.y&&e.range.end.y>=t.y},t.prototype._positionFromMouseEvent=function(e,t,r){var i=r.getCoords(e,t,this._bufferService.cols,this._bufferService.rows);if(i)return{x:i[0],y:i[1]+this._bufferService.buffer.ydisp}},t.prototype._createLinkUnderlineEvent=function(e,t,r,i,n){return{x1:e,y1:t,x2:r,y2:i,cols:this._bufferService.cols,fg:n}},o([s(0,a.IBufferService)],t)}(l.Disposable);t.Linkifier2=u},9042:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.tooMuchOutput=t.promptLabel=void 0,t.promptLabel=\"Terminal input\",t.tooMuchOutput=\"Too much output to announce, navigate to rows manually to read\"},6954:function(e,t,r){var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),o=this&&this.__decorate||function(e,t,r,i){var n,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},s=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.MouseZoneManager=void 0;var a=r(844),c=r(3656),l=r(4725),h=r(2585),u=function(e){function t(t,r,i,n,o,s){var a=e.call(this)||this;return a._element=t,a._screenElement=r,a._bufferService=i,a._mouseService=n,a._selectionService=o,a._optionsService=s,a._zones=[],a._areZonesActive=!1,a._lastHoverCoords=[void 0,void 0],a._initialSelectionLength=0,a.register(c.addDisposableDomListener(a._element,\"mousedown\",(function(e){return a._onMouseDown(e)}))),a._mouseMoveListener=function(e){return a._onMouseMove(e)},a._mouseLeaveListener=function(e){return a._onMouseLeave(e)},a._clickListener=function(e){return a._onClick(e)},a}return n(t,e),t.prototype.dispose=function(){e.prototype.dispose.call(this),this._deactivate()},t.prototype.add=function(e){this._zones.push(e),1===this._zones.length&&this._activate()},t.prototype.clearAll=function(e,t){if(0!==this._zones.length){e&&t||(e=0,t=this._bufferService.rows-1);for(var r=0;re&&i.y1<=t+1||i.y2>e&&i.y2<=t+1||i.y1t+1)&&(this._currentZone&&this._currentZone===i&&(this._currentZone.leaveCallback(),this._currentZone=void 0),this._zones.splice(r--,1))}0===this._zones.length&&this._deactivate()}},t.prototype._activate=function(){this._areZonesActive||(this._areZonesActive=!0,this._element.addEventListener(\"mousemove\",this._mouseMoveListener),this._element.addEventListener(\"mouseleave\",this._mouseLeaveListener),this._element.addEventListener(\"click\",this._clickListener))},t.prototype._deactivate=function(){this._areZonesActive&&(this._areZonesActive=!1,this._element.removeEventListener(\"mousemove\",this._mouseMoveListener),this._element.removeEventListener(\"mouseleave\",this._mouseLeaveListener),this._element.removeEventListener(\"click\",this._clickListener))},t.prototype._onMouseMove=function(e){this._lastHoverCoords[0]===e.pageX&&this._lastHoverCoords[1]===e.pageY||(this._onHover(e),this._lastHoverCoords=[e.pageX,e.pageY])},t.prototype._onHover=function(e){var t=this,r=this._findZoneEventAt(e);r!==this._currentZone&&(this._currentZone&&(this._currentZone.leaveCallback(),this._currentZone=void 0,this._tooltipTimeout&&clearTimeout(this._tooltipTimeout)),r&&(this._currentZone=r,r.hoverCallback&&r.hoverCallback(e),this._tooltipTimeout=window.setTimeout((function(){return t._onTooltip(e)}),this._optionsService.options.linkTooltipHoverDuration)))},t.prototype._onTooltip=function(e){this._tooltipTimeout=void 0;var t=this._findZoneEventAt(e);null==t||t.tooltipCallback(e)},t.prototype._onMouseDown=function(e){if(this._initialSelectionLength=this._getSelectionLength(),this._areZonesActive){var t=this._findZoneEventAt(e);(null==t?void 0:t.willLinkActivate(e))&&(e.preventDefault(),e.stopImmediatePropagation())}},t.prototype._onMouseLeave=function(e){this._currentZone&&(this._currentZone.leaveCallback(),this._currentZone=void 0,this._tooltipTimeout&&clearTimeout(this._tooltipTimeout))},t.prototype._onClick=function(e){var t=this._findZoneEventAt(e),r=this._getSelectionLength();t&&r===this._initialSelectionLength&&(t.clickCallback(e),e.preventDefault(),e.stopImmediatePropagation())},t.prototype._getSelectionLength=function(){var e=this._selectionService.selectionText;return e?e.length:0},t.prototype._findZoneEventAt=function(e){var t=this._mouseService.getCoords(e,this._screenElement,this._bufferService.cols,this._bufferService.rows);if(t)for(var r=t[0],i=t[1],n=0;n=o.x1&&r=o.x1||i===o.y2&&ro.y1&&i{Object.defineProperty(t,\"__esModule\",{value:!0}),t.RenderDebouncer=void 0;var r=function(){function e(e){this._renderCallback=e}return e.prototype.dispose=function(){this._animationFrame&&(window.cancelAnimationFrame(this._animationFrame),this._animationFrame=void 0)},e.prototype.refresh=function(e,t,r){var i=this;this._rowCount=r,e=void 0!==e?e:0,t=void 0!==t?t:this._rowCount-1,this._rowStart=void 0!==this._rowStart?Math.min(this._rowStart,e):e,this._rowEnd=void 0!==this._rowEnd?Math.max(this._rowEnd,t):t,this._animationFrame||(this._animationFrame=window.requestAnimationFrame((function(){return i._innerRefresh()})))},e.prototype._innerRefresh=function(){if(void 0!==this._rowStart&&void 0!==this._rowEnd&&void 0!==this._rowCount){var e=Math.max(this._rowStart,0),t=Math.min(this._rowEnd,this._rowCount-1);this._rowStart=void 0,this._rowEnd=void 0,this._animationFrame=void 0,this._renderCallback(e,t)}},e}();t.RenderDebouncer=r},5596:function(e,t,r){var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});Object.defineProperty(t,\"__esModule\",{value:!0}),t.ScreenDprMonitor=void 0;var o=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t._currentDevicePixelRatio=window.devicePixelRatio,t}return n(t,e),t.prototype.setListener=function(e){var t=this;this._listener&&this.clearListener(),this._listener=e,this._outerListener=function(){t._listener&&(t._listener(window.devicePixelRatio,t._currentDevicePixelRatio),t._updateDpr())},this._updateDpr()},t.prototype.dispose=function(){e.prototype.dispose.call(this),this.clearListener()},t.prototype._updateDpr=function(){var e;this._outerListener&&(null===(e=this._resolutionMediaMatchList)||void 0===e||e.removeListener(this._outerListener),this._currentDevicePixelRatio=window.devicePixelRatio,this._resolutionMediaMatchList=window.matchMedia(\"screen and (resolution: \"+window.devicePixelRatio+\"dppx)\"),this._resolutionMediaMatchList.addListener(this._outerListener))},t.prototype.clearListener=function(){this._resolutionMediaMatchList&&this._listener&&this._outerListener&&(this._resolutionMediaMatchList.removeListener(this._outerListener),this._resolutionMediaMatchList=void 0,this._listener=void 0,this._outerListener=void 0)},t}(r(844).Disposable);t.ScreenDprMonitor=o},3236:function(e,t,r){var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});Object.defineProperty(t,\"__esModule\",{value:!0}),t.Terminal=void 0;var o=r(2950),s=r(1680),a=r(3614),c=r(2584),l=r(5435),h=r(3525),u=r(3551),f=r(9312),_=r(6114),d=r(3656),p=r(9042),v=r(357),g=r(6954),y=r(4567),b=r(1296),S=r(7399),m=r(8460),C=r(8437),w=r(5680),E=r(3230),L=r(4725),k=r(428),A=r(8934),R=r(6465),x=r(5114),T=r(8969),O=r(4774),D=r(4269),P=\"undefined\"!=typeof window?window.document:null,M=function(e){function t(t){void 0===t&&(t={});var r=e.call(this,t)||this;return r.browser=_,r._keyDownHandled=!1,r._onCursorMove=new m.EventEmitter,r._onKey=new m.EventEmitter,r._onRender=new m.EventEmitter,r._onSelectionChange=new m.EventEmitter,r._onTitleChange=new m.EventEmitter,r._onBell=new m.EventEmitter,r._onFocus=new m.EventEmitter,r._onBlur=new m.EventEmitter,r._onA11yCharEmitter=new m.EventEmitter,r._onA11yTabEmitter=new m.EventEmitter,r._setup(),r.linkifier=r._instantiationService.createInstance(u.Linkifier),r.linkifier2=r.register(r._instantiationService.createInstance(R.Linkifier2)),r.register(r._inputHandler.onRequestBell((function(){return r.bell()}))),r.register(r._inputHandler.onRequestRefreshRows((function(e,t){return r.refresh(e,t)}))),r.register(r._inputHandler.onRequestReset((function(){return r.reset()}))),r.register(r._inputHandler.onRequestWindowsOptionsReport((function(e){return r._reportWindowsOptions(e)}))),r.register(r._inputHandler.onAnsiColorChange((function(e){return r._changeAnsiColor(e)}))),r.register(m.forwardEvent(r._inputHandler.onCursorMove,r._onCursorMove)),r.register(m.forwardEvent(r._inputHandler.onTitleChange,r._onTitleChange)),r.register(m.forwardEvent(r._inputHandler.onA11yChar,r._onA11yCharEmitter)),r.register(m.forwardEvent(r._inputHandler.onA11yTab,r._onA11yTabEmitter)),r.register(r._bufferService.onResize((function(e){return r._afterResize(e.cols,e.rows)}))),r}return n(t,e),Object.defineProperty(t.prototype,\"options\",{get:function(){return this.optionsService.options},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"onCursorMove\",{get:function(){return this._onCursorMove.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"onKey\",{get:function(){return this._onKey.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"onRender\",{get:function(){return this._onRender.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"onSelectionChange\",{get:function(){return this._onSelectionChange.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"onTitleChange\",{get:function(){return this._onTitleChange.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"onBell\",{get:function(){return this._onBell.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"onFocus\",{get:function(){return this._onFocus.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"onBlur\",{get:function(){return this._onBlur.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"onA11yChar\",{get:function(){return this._onA11yCharEmitter.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"onA11yTab\",{get:function(){return this._onA11yTabEmitter.event},enumerable:!1,configurable:!0}),t.prototype._changeAnsiColor=function(e){var t,r;if(this._colorManager){for(var i=0,n=e.colors;i4)&&t._coreMouseService.triggerMouseEvent({col:n.x-33,row:n.y-33,button:r,action:i,ctrl:e.ctrlKey,alt:e.altKey,shift:e.shiftKey})}var n={mouseup:null,wheel:null,mousedrag:null,mousemove:null},o=function(t){return i(t),t.buttons||(e._document.removeEventListener(\"mouseup\",n.mouseup),n.mousedrag&&e._document.removeEventListener(\"mousemove\",n.mousedrag)),e.cancel(t)},s=function(t){return i(t),t.preventDefault(),e.cancel(t)},a=function(e){e.buttons&&i(e)},l=function(e){e.buttons||i(e)};this.register(this._coreMouseService.onProtocolChange((function(t){t?(\"debug\"===e.optionsService.options.logLevel&&e._logService.debug(\"Binding to mouse events:\",e._coreMouseService.explainEvents(t)),e.element.classList.add(\"enable-mouse-events\"),e._selectionService.disable()):(e._logService.debug(\"Unbinding from mouse events.\"),e.element.classList.remove(\"enable-mouse-events\"),e._selectionService.enable()),8&t?n.mousemove||(r.addEventListener(\"mousemove\",l),n.mousemove=l):(r.removeEventListener(\"mousemove\",n.mousemove),n.mousemove=null),16&t?n.wheel||(r.addEventListener(\"wheel\",s,{passive:!1}),n.wheel=s):(r.removeEventListener(\"wheel\",n.wheel),n.wheel=null),2&t?n.mouseup||(n.mouseup=o):(e._document.removeEventListener(\"mouseup\",n.mouseup),n.mouseup=null),4&t?n.mousedrag||(n.mousedrag=a):(e._document.removeEventListener(\"mousemove\",n.mousedrag),n.mousedrag=null)}))),this._coreMouseService.activeProtocol=this._coreMouseService.activeProtocol,this.register(d.addDisposableDomListener(r,\"mousedown\",(function(t){if(t.preventDefault(),e.focus(),e._coreMouseService.areMouseEventsActive&&!e._selectionService.shouldForceSelection(t))return i(t),n.mouseup&&e._document.addEventListener(\"mouseup\",n.mouseup),n.mousedrag&&e._document.addEventListener(\"mousemove\",n.mousedrag),e.cancel(t)}))),this.register(d.addDisposableDomListener(r,\"wheel\",(function(t){if(n.wheel);else if(!e.buffer.hasScrollback){var r=e.viewport.getLinesScrolled(t);if(0===r)return;for(var i=c.C0.ESC+(e._coreService.decPrivateModes.applicationCursorKeys?\"O\":\"[\")+(t.deltaY<0?\"A\":\"B\"),o=\"\",s=0;s47)},t.prototype._keyUp=function(e){this._customKeyEventHandler&&!1===this._customKeyEventHandler(e)||(function(e){return 16===e.keyCode||17===e.keyCode||18===e.keyCode}(e)||this.focus(),this.updateCursorStyle(e))},t.prototype._keyPress=function(e){var t;if(this._keyDownHandled)return!1;if(this._customKeyEventHandler&&!1===this._customKeyEventHandler(e))return!1;if(this.cancel(e),e.charCode)t=e.charCode;else if(null===e.which||void 0===e.which)t=e.keyCode;else{if(0===e.which||0===e.charCode)return!1;t=e.which}return!(!t||(e.altKey||e.ctrlKey||e.metaKey)&&!this._isThirdLevelShift(this.browser,e)||(t=String.fromCharCode(t),this._onKey.fire({key:t,domEvent:e}),this._showCursor(),this._coreService.triggerDataEvent(t,!0),0))},t.prototype.bell=function(){var e;this._soundBell()&&(null===(e=this._soundService)||void 0===e||e.playBellSound()),this._onBell.fire()},t.prototype.resize=function(t,r){t!==this.cols||r!==this.rows?e.prototype.resize.call(this,t,r):this._charSizeService&&!this._charSizeService.hasValidSize&&this._charSizeService.measure()},t.prototype._afterResize=function(e,t){var r,i;null===(r=this._charSizeService)||void 0===r||r.measure(),null===(i=this.viewport)||void 0===i||i.syncScrollArea(!0)},t.prototype.clear=function(){if(0!==this.buffer.ybase||0!==this.buffer.y){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 e=1;e=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},s=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.Viewport=void 0;var a=r(844),c=r(3656),l=r(4725),h=r(2585),u=function(e){function t(t,r,i,n,o,s,a){var l=e.call(this)||this;return l._scrollLines=t,l._viewportElement=r,l._scrollArea=i,l._bufferService=n,l._optionsService=o,l._charSizeService=s,l._renderService=a,l.scrollBarWidth=0,l._currentRowHeight=0,l._lastRecordedBufferLength=0,l._lastRecordedViewportHeight=0,l._lastRecordedBufferHeight=0,l._lastTouchY=0,l._lastScrollTop=0,l._wheelPartialScroll=0,l._refreshAnimationFrame=null,l._ignoreNextScrollEvent=!1,l.scrollBarWidth=l._viewportElement.offsetWidth-l._scrollArea.offsetWidth||15,l.register(c.addDisposableDomListener(l._viewportElement,\"scroll\",l._onScroll.bind(l))),setTimeout((function(){return l.syncScrollArea()}),0),l}return n(t,e),t.prototype.onThemeChange=function(e){this._viewportElement.style.backgroundColor=e.background.css},t.prototype._refresh=function(e){var t=this;if(e)return this._innerRefresh(),void(null!==this._refreshAnimationFrame&&cancelAnimationFrame(this._refreshAnimationFrame));null===this._refreshAnimationFrame&&(this._refreshAnimationFrame=requestAnimationFrame((function(){return t._innerRefresh()})))},t.prototype._innerRefresh=function(){if(this._charSizeService.height>0){this._currentRowHeight=this._renderService.dimensions.scaledCellHeight/window.devicePixelRatio,this._lastRecordedViewportHeight=this._viewportElement.offsetHeight;var e=Math.round(this._currentRowHeight*this._lastRecordedBufferLength)+(this._lastRecordedViewportHeight-this._renderService.dimensions.canvasHeight);this._lastRecordedBufferHeight!==e&&(this._lastRecordedBufferHeight=e,this._scrollArea.style.height=this._lastRecordedBufferHeight+\"px\")}var t=this._bufferService.buffer.ydisp*this._currentRowHeight;this._viewportElement.scrollTop!==t&&(this._ignoreNextScrollEvent=!0,this._viewportElement.scrollTop=t),this._refreshAnimationFrame=null},t.prototype.syncScrollArea=function(e){if(void 0===e&&(e=!1),this._lastRecordedBufferLength!==this._bufferService.buffer.lines.length)return this._lastRecordedBufferLength=this._bufferService.buffer.lines.length,void this._refresh(e);if(this._lastRecordedViewportHeight===this._renderService.dimensions.canvasHeight){var t=this._bufferService.buffer.ydisp*this._currentRowHeight;this._lastScrollTop===t&&this._lastScrollTop===this._viewportElement.scrollTop&&this._renderService.dimensions.scaledCellHeight/window.devicePixelRatio===this._currentRowHeight||this._refresh(e)}else this._refresh(e)},t.prototype._onScroll=function(e){if(this._lastScrollTop=this._viewportElement.scrollTop,this._viewportElement.offsetParent){if(this._ignoreNextScrollEvent)return this._ignoreNextScrollEvent=!1,void this._scrollLines(0);var t=Math.round(this._lastScrollTop/this._currentRowHeight)-this._bufferService.buffer.ydisp;this._scrollLines(t)}},t.prototype._bubbleScroll=function(e,t){var r=this._viewportElement.scrollTop+this._lastRecordedViewportHeight;return!(t<0&&0!==this._viewportElement.scrollTop||t>0&&r0?1:-1),this._wheelPartialScroll%=1):e.deltaMode===WheelEvent.DOM_DELTA_PAGE&&(t*=this._bufferService.rows),t},t.prototype._applyScrollModifier=function(e,t){var r=this._optionsService.options.fastScrollModifier;return\"alt\"===r&&t.altKey||\"ctrl\"===r&&t.ctrlKey||\"shift\"===r&&t.shiftKey?e*this._optionsService.options.fastScrollSensitivity*this._optionsService.options.scrollSensitivity:e*this._optionsService.options.scrollSensitivity},t.prototype.onTouchStart=function(e){this._lastTouchY=e.touches[0].pageY},t.prototype.onTouchMove=function(e){var t=this._lastTouchY-e.touches[0].pageY;return this._lastTouchY=e.touches[0].pageY,0!==t&&(this._viewportElement.scrollTop+=t,this._bubbleScroll(e,t))},o([s(3,h.IBufferService),s(4,h.IOptionsService),s(5,l.ICharSizeService),s(6,l.IRenderService)],t)}(a.Disposable);t.Viewport=u},2950:function(e,t,r){var i=this&&this.__decorate||function(e,t,r,i){var n,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},n=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.CompositionHelper=void 0;var o=r(4725),s=r(2585),a=function(){function e(e,t,r,i,n,o){this._textarea=e,this._compositionView=t,this._bufferService=r,this._optionsService=i,this._coreService=n,this._renderService=o,this._isComposing=!1,this._isSendingComposition=!1,this._compositionPosition={start:0,end:0},this._dataAlreadySent=\"\"}return Object.defineProperty(e.prototype,\"isComposing\",{get:function(){return this._isComposing},enumerable:!1,configurable:!0}),e.prototype.compositionstart=function(){this._isComposing=!0,this._compositionPosition.start=this._textarea.value.length,this._compositionView.textContent=\"\",this._dataAlreadySent=\"\",this._compositionView.classList.add(\"active\")},e.prototype.compositionupdate=function(e){var t=this;this._compositionView.textContent=e.data,this.updateCompositionElements(),setTimeout((function(){t._compositionPosition.end=t._textarea.value.length}),0)},e.prototype.compositionend=function(){this._finalizeComposition(!0)},e.prototype.keydown=function(e){if(this._isComposing||this._isSendingComposition){if(229===e.keyCode)return!1;if(16===e.keyCode||17===e.keyCode||18===e.keyCode)return!1;this._finalizeComposition(!1)}return 229!==e.keyCode||(this._handleAnyTextareaChanges(),!1)},e.prototype._finalizeComposition=function(e){var t=this;if(this._compositionView.classList.remove(\"active\"),this._isComposing=!1,e){var r={start:this._compositionPosition.start,end:this._compositionPosition.end};this._isSendingComposition=!0,setTimeout((function(){if(t._isSendingComposition){t._isSendingComposition=!1;var e;r.start+=t._dataAlreadySent.length,(e=t._isComposing?t._textarea.value.substring(r.start,r.end):t._textarea.value.substring(r.start)).length>0&&t._coreService.triggerDataEvent(e,!0)}}),0)}else{this._isSendingComposition=!1;var i=this._textarea.value.substring(this._compositionPosition.start,this._compositionPosition.end);this._coreService.triggerDataEvent(i,!0)}},e.prototype._handleAnyTextareaChanges=function(){var e=this,t=this._textarea.value;setTimeout((function(){if(!e._isComposing){var r=e._textarea.value.replace(t,\"\");r.length>0&&(e._dataAlreadySent=r,e._coreService.triggerDataEvent(r,!0))}}),0)},e.prototype.updateCompositionElements=function(e){var t=this;if(this._isComposing){if(this._bufferService.buffer.isCursorInViewport){var r=Math.min(this._bufferService.buffer.x,this._bufferService.cols-1),i=this._renderService.dimensions.actualCellHeight,n=this._bufferService.buffer.y*this._renderService.dimensions.actualCellHeight,o=r*this._renderService.dimensions.actualCellWidth;this._compositionView.style.left=o+\"px\",this._compositionView.style.top=n+\"px\",this._compositionView.style.height=i+\"px\",this._compositionView.style.lineHeight=i+\"px\",this._compositionView.style.fontFamily=this._optionsService.options.fontFamily,this._compositionView.style.fontSize=this._optionsService.options.fontSize+\"px\";var s=this._compositionView.getBoundingClientRect();this._textarea.style.left=o+\"px\",this._textarea.style.top=n+\"px\",this._textarea.style.width=Math.max(s.width,1)+\"px\",this._textarea.style.height=Math.max(s.height,1)+\"px\",this._textarea.style.lineHeight=s.height+\"px\"}e||setTimeout((function(){return t.updateCompositionElements(!0)}),0)}},i([n(2,s.IBufferService),n(3,s.IOptionsService),n(4,s.ICoreService),n(5,o.IRenderService)],e)}();t.CompositionHelper=a},9806:(e,t)=>{function r(e,t){var r=t.getBoundingClientRect();return[e.clientX-r.left,e.clientY-r.top]}Object.defineProperty(t,\"__esModule\",{value:!0}),t.getRawByteCoords=t.getCoords=t.getCoordsRelativeToElement=void 0,t.getCoordsRelativeToElement=r,t.getCoords=function(e,t,i,n,o,s,a,c){if(o){var l=r(e,t);if(l)return l[0]=Math.ceil((l[0]+(c?s/2:0))/s),l[1]=Math.ceil(l[1]/a),l[0]=Math.min(Math.max(l[0],1),i+(c?1:0)),l[1]=Math.min(Math.max(l[1],1),n),l}},t.getRawByteCoords=function(e){if(e)return{x:e[0]+32,y:e[1]+32}}},9504:(e,t,r)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.moveToCellSequence=void 0;var i=r(2584);function n(e,t,r,i){var n=e-o(r,e),a=t-o(r,t);return l(Math.abs(n-a)-function(e,t,r){for(var i=0,n=e-o(r,e),a=t-o(r,t),c=0;c=0&&tt?\"A\":\"B\"}function a(e,t,r,i,n,o){for(var s=e,a=t,c=\"\";s!==r||a!==i;)s+=n?1:-1,n&&s>o.cols-1?(c+=o.buffer.translateBufferLineToString(a,!1,e,s),s=0,e=0,a++):!n&&s<0&&(c+=o.buffer.translateBufferLineToString(a,!1,0,e+1),e=s=o.cols-1,a--);return c+o.buffer.translateBufferLineToString(a,!1,e,s)}function c(e,t){var r=t?\"O\":\"[\";return i.C0.ESC+r+e}function l(e,t){e=Math.floor(e);for(var r=\"\",i=0;i0?i-o(s,i):t;var f=i,_=function(e,t,r,i,s,a){var c;return c=n(r,i,s,a).length>0?i-o(s,i):t,e=r&&ce?\"D\":\"C\",l(Math.abs(h-e),c(s,i));s=u>t?\"D\":\"C\";var f=Math.abs(u-t);return l(function(e,t){return t.cols-e}(u>t?e:h,r)+(f-1)*r.cols+1+((u>t?h:e)-1),c(s,i))}},244:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.AddonManager=void 0;var r=function(){function e(){this._addons=[]}return e.prototype.dispose=function(){for(var e=this._addons.length-1;e>=0;e--)this._addons[e].instance.dispose()},e.prototype.loadAddon=function(e,t){var r=this,i={instance:t,dispose:t.dispose,isDisposed:!1};this._addons.push(i),t.dispose=function(){return r._wrappedAddonDispose(i)},t.activate(e)},e.prototype._wrappedAddonDispose=function(e){if(!e.isDisposed){for(var t=-1,r=0;r{Object.defineProperty(t,\"__esModule\",{value:!0}),t.Terminal=void 0;var i=r(511),n=r(3236),o=r(9042),s=r(8460),a=r(244),c=function(){function e(e){this._core=new n.Terminal(e),this._addonManager=new a.AddonManager}return e.prototype._checkProposedApi=function(){if(!this._core.optionsService.options.allowProposedApi)throw new Error(\"You must set the allowProposedApi option to true to use proposed API\")},Object.defineProperty(e.prototype,\"onCursorMove\",{get:function(){return this._core.onCursorMove},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"onLineFeed\",{get:function(){return this._core.onLineFeed},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"onSelectionChange\",{get:function(){return this._core.onSelectionChange},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"onData\",{get:function(){return this._core.onData},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"onBinary\",{get:function(){return this._core.onBinary},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"onTitleChange\",{get:function(){return this._core.onTitleChange},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"onBell\",{get:function(){return this._core.onBell},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"onScroll\",{get:function(){return this._core.onScroll},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"onKey\",{get:function(){return this._core.onKey},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"onRender\",{get:function(){return this._core.onRender},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"onResize\",{get:function(){return this._core.onResize},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"element\",{get:function(){return this._core.element},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"parser\",{get:function(){return this._checkProposedApi(),this._parser||(this._parser=new f(this._core)),this._parser},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"unicode\",{get:function(){return this._checkProposedApi(),new _(this._core)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"textarea\",{get:function(){return this._core.textarea},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"rows\",{get:function(){return this._core.rows},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"cols\",{get:function(){return this._core.cols},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"buffer\",{get:function(){return this._checkProposedApi(),this._buffer||(this._buffer=new h(this._core)),this._buffer},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"markers\",{get:function(){return this._checkProposedApi(),this._core.markers},enumerable:!1,configurable:!0}),e.prototype.blur=function(){this._core.blur()},e.prototype.focus=function(){this._core.focus()},e.prototype.resize=function(e,t){this._verifyIntegers(e,t),this._core.resize(e,t)},e.prototype.open=function(e){this._core.open(e)},e.prototype.attachCustomKeyEventHandler=function(e){this._core.attachCustomKeyEventHandler(e)},e.prototype.registerLinkMatcher=function(e,t,r){return this._checkProposedApi(),this._core.registerLinkMatcher(e,t,r)},e.prototype.deregisterLinkMatcher=function(e){this._checkProposedApi(),this._core.deregisterLinkMatcher(e)},e.prototype.registerLinkProvider=function(e){return this._checkProposedApi(),this._core.registerLinkProvider(e)},e.prototype.registerCharacterJoiner=function(e){return this._checkProposedApi(),this._core.registerCharacterJoiner(e)},e.prototype.deregisterCharacterJoiner=function(e){this._checkProposedApi(),this._core.deregisterCharacterJoiner(e)},e.prototype.registerMarker=function(e){return this._checkProposedApi(),this._verifyIntegers(e),this._core.addMarker(e)},e.prototype.addMarker=function(e){return this.registerMarker(e)},e.prototype.hasSelection=function(){return this._core.hasSelection()},e.prototype.select=function(e,t,r){this._verifyIntegers(e,t,r),this._core.select(e,t,r)},e.prototype.getSelection=function(){return this._core.getSelection()},e.prototype.getSelectionPosition=function(){return this._core.getSelectionPosition()},e.prototype.clearSelection=function(){this._core.clearSelection()},e.prototype.selectAll=function(){this._core.selectAll()},e.prototype.selectLines=function(e,t){this._verifyIntegers(e,t),this._core.selectLines(e,t)},e.prototype.dispose=function(){this._addonManager.dispose(),this._core.dispose()},e.prototype.scrollLines=function(e){this._verifyIntegers(e),this._core.scrollLines(e)},e.prototype.scrollPages=function(e){this._verifyIntegers(e),this._core.scrollPages(e)},e.prototype.scrollToTop=function(){this._core.scrollToTop()},e.prototype.scrollToBottom=function(){this._core.scrollToBottom()},e.prototype.scrollToLine=function(e){this._verifyIntegers(e),this._core.scrollToLine(e)},e.prototype.clear=function(){this._core.clear()},e.prototype.write=function(e,t){this._core.write(e,t)},e.prototype.writeUtf8=function(e,t){this._core.write(e,t)},e.prototype.writeln=function(e,t){this._core.write(e),this._core.write(\"\\r\\n\",t)},e.prototype.paste=function(e){this._core.paste(e)},e.prototype.getOption=function(e){return this._core.optionsService.getOption(e)},e.prototype.setOption=function(e,t){this._core.optionsService.setOption(e,t)},e.prototype.refresh=function(e,t){this._verifyIntegers(e,t),this._core.refresh(e,t)},e.prototype.reset=function(){this._core.reset()},e.prototype.loadAddon=function(e){return this._addonManager.loadAddon(this,e)},Object.defineProperty(e,\"strings\",{get:function(){return o},enumerable:!1,configurable:!0}),e.prototype._verifyIntegers=function(){for(var e=[],t=0;t=this._line.length))return t?(this._line.loadCell(e,t),t):this._line.loadCell(e,new i.CellData)},e.prototype.translateToString=function(e,t,r){return this._line.translateToString(e,t,r)},e}(),f=function(){function e(e){this._core=e}return e.prototype.registerCsiHandler=function(e,t){return this._core.registerCsiHandler(e,(function(e){return t(e.toArray())}))},e.prototype.addCsiHandler=function(e,t){return this.registerCsiHandler(e,t)},e.prototype.registerDcsHandler=function(e,t){return this._core.registerDcsHandler(e,(function(e,r){return t(e,r.toArray())}))},e.prototype.addDcsHandler=function(e,t){return this.registerDcsHandler(e,t)},e.prototype.registerEscHandler=function(e,t){return this._core.registerEscHandler(e,t)},e.prototype.addEscHandler=function(e,t){return this.registerEscHandler(e,t)},e.prototype.registerOscHandler=function(e,t){return this._core.registerOscHandler(e,t)},e.prototype.addOscHandler=function(e,t){return this.registerOscHandler(e,t)},e}(),_=function(){function e(e){this._core=e}return e.prototype.register=function(e){this._core.unicodeService.register(e)},Object.defineProperty(e.prototype,\"versions\",{get:function(){return this._core.unicodeService.versions},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"activeVersion\",{get:function(){return this._core.unicodeService.activeVersion},set:function(e){this._core.unicodeService.activeVersion=e},enumerable:!1,configurable:!0}),e}()},1546:(e,t,r)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.BaseRenderLayer=void 0;var i=r(643),n=r(8803),o=r(1420),s=r(3734),a=r(1752),c=r(4774),l=r(9631),h=function(){function e(e,t,r,i,n,o,s,a){this._container=e,this._alpha=i,this._colors=n,this._rendererId=o,this._bufferService=s,this._optionsService=a,this._scaledCharWidth=0,this._scaledCharHeight=0,this._scaledCellWidth=0,this._scaledCellHeight=0,this._scaledCharLeft=0,this._scaledCharTop=0,this._currentGlyphIdentifier={chars:\"\",code:0,bg:0,fg:0,bold:!1,dim:!1,italic:!1},this._canvas=document.createElement(\"canvas\"),this._canvas.classList.add(\"xterm-\"+t+\"-layer\"),this._canvas.style.zIndex=r.toString(),this._initCanvas(),this._container.appendChild(this._canvas)}return e.prototype.dispose=function(){var e;l.removeElementFromParent(this._canvas),null===(e=this._charAtlas)||void 0===e||e.dispose()},e.prototype._initCanvas=function(){this._ctx=a.throwIfFalsy(this._canvas.getContext(\"2d\",{alpha:this._alpha})),this._alpha||this._clearAll()},e.prototype.onOptionsChanged=function(){},e.prototype.onBlur=function(){},e.prototype.onFocus=function(){},e.prototype.onCursorMove=function(){},e.prototype.onGridChanged=function(e,t){},e.prototype.onSelectionChanged=function(e,t,r){void 0===r&&(r=!1)},e.prototype.setColors=function(e){this._refreshCharAtlas(e)},e.prototype._setTransparency=function(e){if(e!==this._alpha){var t=this._canvas;this._alpha=e,this._canvas=this._canvas.cloneNode(),this._initCanvas(),this._container.replaceChild(this._canvas,t),this._refreshCharAtlas(this._colors),this.onGridChanged(0,this._bufferService.rows-1)}},e.prototype._refreshCharAtlas=function(e){this._scaledCharWidth<=0&&this._scaledCharHeight<=0||(this._charAtlas=o.acquireCharAtlas(this._optionsService.options,this._rendererId,e,this._scaledCharWidth,this._scaledCharHeight),this._charAtlas.warmUp())},e.prototype.resize=function(e){this._scaledCellWidth=e.scaledCellWidth,this._scaledCellHeight=e.scaledCellHeight,this._scaledCharWidth=e.scaledCharWidth,this._scaledCharHeight=e.scaledCharHeight,this._scaledCharLeft=e.scaledCharLeft,this._scaledCharTop=e.scaledCharTop,this._canvas.width=e.scaledCanvasWidth,this._canvas.height=e.scaledCanvasHeight,this._canvas.style.width=e.canvasWidth+\"px\",this._canvas.style.height=e.canvasHeight+\"px\",this._alpha||this._clearAll(),this._refreshCharAtlas(this._colors)},e.prototype._fillCells=function(e,t,r,i){this._ctx.fillRect(e*this._scaledCellWidth,t*this._scaledCellHeight,r*this._scaledCellWidth,i*this._scaledCellHeight)},e.prototype._fillBottomLineAtCells=function(e,t,r){void 0===r&&(r=1),this._ctx.fillRect(e*this._scaledCellWidth,(t+1)*this._scaledCellHeight-window.devicePixelRatio-1,r*this._scaledCellWidth,window.devicePixelRatio)},e.prototype._fillLeftLineAtCell=function(e,t,r){this._ctx.fillRect(e*this._scaledCellWidth,t*this._scaledCellHeight,window.devicePixelRatio*r,this._scaledCellHeight)},e.prototype._strokeRectAtCell=function(e,t,r,i){this._ctx.lineWidth=window.devicePixelRatio,this._ctx.strokeRect(e*this._scaledCellWidth+window.devicePixelRatio/2,t*this._scaledCellHeight+window.devicePixelRatio/2,r*this._scaledCellWidth-window.devicePixelRatio,i*this._scaledCellHeight-window.devicePixelRatio)},e.prototype._clearAll=function(){this._alpha?this._ctx.clearRect(0,0,this._canvas.width,this._canvas.height):(this._ctx.fillStyle=this._colors.background.css,this._ctx.fillRect(0,0,this._canvas.width,this._canvas.height))},e.prototype._clearCells=function(e,t,r,i){this._alpha?this._ctx.clearRect(e*this._scaledCellWidth,t*this._scaledCellHeight,r*this._scaledCellWidth,i*this._scaledCellHeight):(this._ctx.fillStyle=this._colors.background.css,this._ctx.fillRect(e*this._scaledCellWidth,t*this._scaledCellHeight,r*this._scaledCellWidth,i*this._scaledCellHeight))},e.prototype._fillCharTrueColor=function(e,t,r){this._ctx.font=this._getFont(!1,!1),this._ctx.textBaseline=\"ideographic\",this._clipRow(r),this._ctx.fillText(e.getChars(),t*this._scaledCellWidth+this._scaledCharLeft,r*this._scaledCellHeight+this._scaledCharTop+this._scaledCharHeight)},e.prototype._drawChars=function(e,t,r){var o,s,a=this._getContrastColor(e);a||e.isFgRGB()||e.isBgRGB()?this._drawUncachedChars(e,t,r,a):(e.isInverse()?(o=e.isBgDefault()?n.INVERTED_DEFAULT_COLOR:e.getBgColor(),s=e.isFgDefault()?n.INVERTED_DEFAULT_COLOR:e.getFgColor()):(s=e.isBgDefault()?i.DEFAULT_COLOR:e.getBgColor(),o=e.isFgDefault()?i.DEFAULT_COLOR:e.getFgColor()),o+=this._optionsService.options.drawBoldTextInBrightColors&&e.isBold()&&o<8?8:0,this._currentGlyphIdentifier.chars=e.getChars()||i.WHITESPACE_CELL_CHAR,this._currentGlyphIdentifier.code=e.getCode()||i.WHITESPACE_CELL_CODE,this._currentGlyphIdentifier.bg=s,this._currentGlyphIdentifier.fg=o,this._currentGlyphIdentifier.bold=!!e.isBold(),this._currentGlyphIdentifier.dim=!!e.isDim(),this._currentGlyphIdentifier.italic=!!e.isItalic(),this._charAtlas&&this._charAtlas.draw(this._ctx,this._currentGlyphIdentifier,t*this._scaledCellWidth+this._scaledCharLeft,r*this._scaledCellHeight+this._scaledCharTop)||this._drawUncachedChars(e,t,r))},e.prototype._drawUncachedChars=function(e,t,r,i){if(this._ctx.save(),this._ctx.font=this._getFont(!!e.isBold(),!!e.isItalic()),this._ctx.textBaseline=\"ideographic\",e.isInverse())if(i)this._ctx.fillStyle=i.css;else if(e.isBgDefault())this._ctx.fillStyle=c.color.opaque(this._colors.background).css;else if(e.isBgRGB())this._ctx.fillStyle=\"rgb(\"+s.AttributeData.toColorRGB(e.getBgColor()).join(\",\")+\")\";else{var o=e.getBgColor();this._optionsService.options.drawBoldTextInBrightColors&&e.isBold()&&o<8&&(o+=8),this._ctx.fillStyle=this._colors.ansi[o].css}else if(i)this._ctx.fillStyle=i.css;else if(e.isFgDefault())this._ctx.fillStyle=this._colors.foreground.css;else if(e.isFgRGB())this._ctx.fillStyle=\"rgb(\"+s.AttributeData.toColorRGB(e.getFgColor()).join(\",\")+\")\";else{var a=e.getFgColor();this._optionsService.options.drawBoldTextInBrightColors&&e.isBold()&&a<8&&(a+=8),this._ctx.fillStyle=this._colors.ansi[a].css}this._clipRow(r),e.isDim()&&(this._ctx.globalAlpha=n.DIM_OPACITY),this._ctx.fillText(e.getChars(),t*this._scaledCellWidth+this._scaledCharLeft,r*this._scaledCellHeight+this._scaledCharTop+this._scaledCharHeight),this._ctx.restore()},e.prototype._clipRow=function(e){this._ctx.beginPath(),this._ctx.rect(0,e*this._scaledCellHeight,this._bufferService.cols*this._scaledCellWidth,this._scaledCellHeight),this._ctx.clip()},e.prototype._getFont=function(e,t){return(t?\"italic\":\"\")+\" \"+(e?this._optionsService.options.fontWeightBold:this._optionsService.options.fontWeight)+\" \"+this._optionsService.options.fontSize*window.devicePixelRatio+\"px \"+this._optionsService.options.fontFamily},e.prototype._getContrastColor=function(e){if(1!==this._optionsService.options.minimumContrastRatio){var t=this._colors.contrastCache.getColor(e.bg,e.fg);if(void 0!==t)return t||void 0;var r=e.getFgColor(),i=e.getFgColorMode(),n=e.getBgColor(),o=e.getBgColorMode(),s=!!e.isInverse(),a=!!e.isInverse();if(s){var l=r;r=n,n=l;var h=i;i=o,o=h}var u=this._resolveBackgroundRgba(o,n,s),f=this._resolveForegroundRgba(i,r,s,a),_=c.rgba.ensureContrastRatio(u,f,this._optionsService.options.minimumContrastRatio);if(_){var d={css:c.channels.toCss(_>>24&255,_>>16&255,_>>8&255),rgba:_};return this._colors.contrastCache.setColor(e.bg,e.fg,d),d}this._colors.contrastCache.setColor(e.bg,e.fg,null)}},e.prototype._resolveBackgroundRgba=function(e,t,r){switch(e){case 16777216:case 33554432:return this._colors.ansi[t].rgba;case 50331648:return t<<8;case 0:default:return r?this._colors.foreground.rgba:this._colors.background.rgba}},e.prototype._resolveForegroundRgba=function(e,t,r,i){switch(e){case 16777216:case 33554432:return this._optionsService.options.drawBoldTextInBrightColors&&i&&t<8&&(t+=8),this._colors.ansi[t].rgba;case 50331648:return t<<8;case 0:default:return r?this._colors.background.rgba:this._colors.foreground.rgba}},e}();t.BaseRenderLayer=h},2512:function(e,t,r){var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),o=this&&this.__decorate||function(e,t,r,i){var n,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},s=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.CursorRenderLayer=void 0;var a=r(1546),c=r(511),l=r(2585),h=r(4725),u=600,f=function(e){function t(t,r,i,n,o,s,a,l,h){var u=e.call(this,t,\"cursor\",r,!0,i,n,s,a)||this;return u._onRequestRedraw=o,u._coreService=l,u._coreBrowserService=h,u._cell=new c.CellData,u._state={x:0,y:0,isFocused:!1,style:\"\",width:0},u._cursorRenderers={bar:u._renderBarCursor.bind(u),block:u._renderBlockCursor.bind(u),underline:u._renderUnderlineCursor.bind(u)},u}return n(t,e),t.prototype.resize=function(t){e.prototype.resize.call(this,t),this._state={x:0,y:0,isFocused:!1,style:\"\",width:0}},t.prototype.reset=function(){this._clearCursor(),this._cursorBlinkStateManager&&(this._cursorBlinkStateManager.dispose(),this._cursorBlinkStateManager=void 0,this.onOptionsChanged())},t.prototype.onBlur=function(){this._cursorBlinkStateManager&&this._cursorBlinkStateManager.pause(),this._onRequestRedraw.fire({start:this._bufferService.buffer.y,end:this._bufferService.buffer.y})},t.prototype.onFocus=function(){this._cursorBlinkStateManager?this._cursorBlinkStateManager.resume():this._onRequestRedraw.fire({start:this._bufferService.buffer.y,end:this._bufferService.buffer.y})},t.prototype.onOptionsChanged=function(){var e,t=this;this._optionsService.options.cursorBlink?this._cursorBlinkStateManager||(this._cursorBlinkStateManager=new _(this._coreBrowserService.isFocused,(function(){t._render(!0)}))):(null===(e=this._cursorBlinkStateManager)||void 0===e||e.dispose(),this._cursorBlinkStateManager=void 0),this._onRequestRedraw.fire({start:this._bufferService.buffer.y,end:this._bufferService.buffer.y})},t.prototype.onCursorMove=function(){this._cursorBlinkStateManager&&this._cursorBlinkStateManager.restartBlinkAnimation()},t.prototype.onGridChanged=function(e,t){!this._cursorBlinkStateManager||this._cursorBlinkStateManager.isPaused?this._render(!1):this._cursorBlinkStateManager.restartBlinkAnimation()},t.prototype._render=function(e){if(this._coreService.isCursorInitialized&&!this._coreService.isCursorHidden){var t=this._bufferService.buffer.ybase+this._bufferService.buffer.y,r=t-this._bufferService.buffer.ydisp;if(r<0||r>=this._bufferService.rows)this._clearCursor();else{var i=Math.min(this._bufferService.buffer.x,this._bufferService.cols-1);if(this._bufferService.buffer.lines.get(t).loadCell(i,this._cell),void 0!==this._cell.content){if(!this._coreBrowserService.isFocused){this._clearCursor(),this._ctx.save(),this._ctx.fillStyle=this._colors.cursor.css;var n=this._optionsService.options.cursorStyle;return n&&\"block\"!==n?this._cursorRenderers[n](i,r,this._cell):this._renderBlurCursor(i,r,this._cell),this._ctx.restore(),this._state.x=i,this._state.y=r,this._state.isFocused=!1,this._state.style=n,void(this._state.width=this._cell.getWidth())}if(!this._cursorBlinkStateManager||this._cursorBlinkStateManager.isCursorVisible){if(this._state){if(this._state.x===i&&this._state.y===r&&this._state.isFocused===this._coreBrowserService.isFocused&&this._state.style===this._optionsService.options.cursorStyle&&this._state.width===this._cell.getWidth())return;this._clearCursor()}this._ctx.save(),this._cursorRenderers[this._optionsService.options.cursorStyle||\"block\"](i,r,this._cell),this._ctx.restore(),this._state.x=i,this._state.y=r,this._state.isFocused=!1,this._state.style=this._optionsService.options.cursorStyle,this._state.width=this._cell.getWidth()}else this._clearCursor()}}}else this._clearCursor()},t.prototype._clearCursor=function(){this._state&&(this._clearCells(this._state.x,this._state.y,this._state.width,1),this._state={x:0,y:0,isFocused:!1,style:\"\",width:0})},t.prototype._renderBarCursor=function(e,t,r){this._ctx.save(),this._ctx.fillStyle=this._colors.cursor.css,this._fillLeftLineAtCell(e,t,this._optionsService.options.cursorWidth),this._ctx.restore()},t.prototype._renderBlockCursor=function(e,t,r){this._ctx.save(),this._ctx.fillStyle=this._colors.cursor.css,this._fillCells(e,t,r.getWidth(),1),this._ctx.fillStyle=this._colors.cursorAccent.css,this._fillCharTrueColor(r,e,t),this._ctx.restore()},t.prototype._renderUnderlineCursor=function(e,t,r){this._ctx.save(),this._ctx.fillStyle=this._colors.cursor.css,this._fillBottomLineAtCells(e,t),this._ctx.restore()},t.prototype._renderBlurCursor=function(e,t,r){this._ctx.save(),this._ctx.strokeStyle=this._colors.cursor.css,this._strokeRectAtCell(e,t,r.getWidth(),1),this._ctx.restore()},o([s(5,l.IBufferService),s(6,l.IOptionsService),s(7,l.ICoreService),s(8,h.ICoreBrowserService)],t)}(a.BaseRenderLayer);t.CursorRenderLayer=f;var _=function(){function e(e,t){this._renderCallback=t,this.isCursorVisible=!0,e&&this._restartInterval()}return Object.defineProperty(e.prototype,\"isPaused\",{get:function(){return!(this._blinkStartTimeout||this._blinkInterval)},enumerable:!1,configurable:!0}),e.prototype.dispose=function(){this._blinkInterval&&(window.clearInterval(this._blinkInterval),this._blinkInterval=void 0),this._blinkStartTimeout&&(window.clearTimeout(this._blinkStartTimeout),this._blinkStartTimeout=void 0),this._animationFrame&&(window.cancelAnimationFrame(this._animationFrame),this._animationFrame=void 0)},e.prototype.restartBlinkAnimation=function(){var e=this;this.isPaused||(this._animationTimeRestarted=Date.now(),this.isCursorVisible=!0,this._animationFrame||(this._animationFrame=window.requestAnimationFrame((function(){e._renderCallback(),e._animationFrame=void 0}))))},e.prototype._restartInterval=function(e){var t=this;void 0===e&&(e=u),this._blinkInterval&&window.clearInterval(this._blinkInterval),this._blinkStartTimeout=window.setTimeout((function(){if(t._animationTimeRestarted){var e=u-(Date.now()-t._animationTimeRestarted);if(t._animationTimeRestarted=void 0,e>0)return void t._restartInterval(e)}t.isCursorVisible=!1,t._animationFrame=window.requestAnimationFrame((function(){t._renderCallback(),t._animationFrame=void 0})),t._blinkInterval=window.setInterval((function(){if(t._animationTimeRestarted){var e=u-(Date.now()-t._animationTimeRestarted);return t._animationTimeRestarted=void 0,void t._restartInterval(e)}t.isCursorVisible=!t.isCursorVisible,t._animationFrame=window.requestAnimationFrame((function(){t._renderCallback(),t._animationFrame=void 0}))}),u)}),e)},e.prototype.pause=function(){this.isCursorVisible=!0,this._blinkInterval&&(window.clearInterval(this._blinkInterval),this._blinkInterval=void 0),this._blinkStartTimeout&&(window.clearTimeout(this._blinkStartTimeout),this._blinkStartTimeout=void 0),this._animationFrame&&(window.cancelAnimationFrame(this._animationFrame),this._animationFrame=void 0)},e.prototype.resume=function(){this.pause(),this._animationTimeRestarted=void 0,this._restartInterval(),this.restartBlinkAnimation()},e}()},3700:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.GridCache=void 0;var r=function(){function e(){this.cache=[]}return e.prototype.resize=function(e,t){for(var r=0;r=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},s=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.LinkRenderLayer=void 0;var a=r(1546),c=r(8803),l=r(2040),h=r(2585),u=function(e){function t(t,r,i,n,o,s,a,c){var l=e.call(this,t,\"link\",r,!0,i,n,a,c)||this;return o.onShowLinkUnderline((function(e){return l._onShowLinkUnderline(e)})),o.onHideLinkUnderline((function(e){return l._onHideLinkUnderline(e)})),s.onShowLinkUnderline((function(e){return l._onShowLinkUnderline(e)})),s.onHideLinkUnderline((function(e){return l._onHideLinkUnderline(e)})),l}return n(t,e),t.prototype.resize=function(t){e.prototype.resize.call(this,t),this._state=void 0},t.prototype.reset=function(){this._clearCurrentLink()},t.prototype._clearCurrentLink=function(){if(this._state){this._clearCells(this._state.x1,this._state.y1,this._state.cols-this._state.x1,1);var e=this._state.y2-this._state.y1-1;e>0&&this._clearCells(0,this._state.y1+1,this._state.cols,e),this._clearCells(0,this._state.y2,this._state.x2,1),this._state=void 0}},t.prototype._onShowLinkUnderline=function(e){if(e.fg===c.INVERTED_DEFAULT_COLOR?this._ctx.fillStyle=this._colors.background.css:e.fg&&l.is256Color(e.fg)?this._ctx.fillStyle=this._colors.ansi[e.fg].css:this._ctx.fillStyle=this._colors.foreground.css,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 t=e.y1+1;t=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},s=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.Renderer=void 0;var a=r(9596),c=r(4149),l=r(2512),h=r(5098),u=r(844),f=r(4725),_=r(2585),d=r(1420),p=r(8460),v=1,g=function(e){function t(t,r,i,n,o,s,u,f){var _=e.call(this)||this;_._colors=t,_._screenElement=r,_._bufferService=s,_._charSizeService=u,_._optionsService=f,_._id=v++,_._onRequestRedraw=new p.EventEmitter;var d=_._optionsService.options.allowTransparency;return _._renderLayers=[o.createInstance(a.TextRenderLayer,_._screenElement,0,_._colors,d,_._id),o.createInstance(c.SelectionRenderLayer,_._screenElement,1,_._colors,_._id),o.createInstance(h.LinkRenderLayer,_._screenElement,2,_._colors,_._id,i,n),o.createInstance(l.CursorRenderLayer,_._screenElement,3,_._colors,_._id,_._onRequestRedraw)],_.dimensions={scaledCharWidth:0,scaledCharHeight:0,scaledCellWidth:0,scaledCellHeight:0,scaledCharLeft:0,scaledCharTop:0,scaledCanvasWidth:0,scaledCanvasHeight:0,canvasWidth:0,canvasHeight:0,actualCellWidth:0,actualCellHeight:0},_._devicePixelRatio=window.devicePixelRatio,_._updateDimensions(),_.onOptionsChanged(),_}return n(t,e),Object.defineProperty(t.prototype,\"onRequestRedraw\",{get:function(){return this._onRequestRedraw.event},enumerable:!1,configurable:!0}),t.prototype.dispose=function(){for(var t=0,r=this._renderLayers;t{Object.defineProperty(t,\"__esModule\",{value:!0}),t.throwIfFalsy=void 0,t.throwIfFalsy=function(e){if(!e)throw new Error(\"value must not be falsy\");return e}},4149:function(e,t,r){var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),o=this&&this.__decorate||function(e,t,r,i){var n,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},s=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.SelectionRenderLayer=void 0;var a=r(1546),c=r(2585),l=function(e){function t(t,r,i,n,o,s){var a=e.call(this,t,\"selection\",r,!0,i,n,o,s)||this;return a._clearState(),a}return n(t,e),t.prototype._clearState=function(){this._state={start:void 0,end:void 0,columnSelectMode:void 0,ydisp:void 0}},t.prototype.resize=function(t){e.prototype.resize.call(this,t),this._clearState()},t.prototype.reset=function(){this._state.start&&this._state.end&&(this._clearState(),this._clearAll())},t.prototype.onSelectionChanged=function(e,t,r){if(this._didStateChange(e,t,r,this._bufferService.buffer.ydisp))if(this._clearAll(),e&&t){var i=e[1]-this._bufferService.buffer.ydisp,n=t[1]-this._bufferService.buffer.ydisp,o=Math.max(i,0),s=Math.min(n,this._bufferService.rows-1);if(o>=this._bufferService.rows||s<0)this._state.ydisp=this._bufferService.buffer.ydisp;else{if(this._ctx.fillStyle=this._colors.selectionTransparent.css,r){var a=e[0],c=t[0]-a,l=s-o+1;this._fillCells(a,o,c,l)}else{a=i===o?e[0]:0;var h=o===n?t[0]:this._bufferService.cols;this._fillCells(a,o,h-a,1);var u=Math.max(s-o-1,0);if(this._fillCells(0,o+1,this._bufferService.cols,u),o!==s){var f=n===s?t[0]:this._bufferService.cols;this._fillCells(0,s,f,1)}}this._state.start=[e[0],e[1]],this._state.end=[t[0],t[1]],this._state.columnSelectMode=r,this._state.ydisp=this._bufferService.buffer.ydisp}}else this._clearState()},t.prototype._didStateChange=function(e,t,r,i){return!this._areCoordinatesEqual(e,this._state.start)||!this._areCoordinatesEqual(t,this._state.end)||r!==this._state.columnSelectMode||i!==this._state.ydisp},t.prototype._areCoordinatesEqual=function(e,t){return!(!e||!t)&&e[0]===t[0]&&e[1]===t[1]},o([s(4,c.IBufferService),s(5,c.IOptionsService)],t)}(a.BaseRenderLayer);t.SelectionRenderLayer=l},9596:function(e,t,r){var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),o=this&&this.__decorate||function(e,t,r,i){var n,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},s=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.TextRenderLayer=void 0;var a=r(3700),c=r(1546),l=r(3734),h=r(643),u=r(511),f=r(2585),_=r(4725),d=r(4269),p=function(e){function t(t,r,i,n,o,s,c,l){var h=e.call(this,t,\"text\",r,n,i,o,s,c)||this;return h._characterJoinerService=l,h._characterWidth=0,h._characterFont=\"\",h._characterOverlapCache={},h._workCell=new u.CellData,h._state=new a.GridCache,h}return n(t,e),t.prototype.resize=function(t){e.prototype.resize.call(this,t);var r=this._getFont(!1,!1);this._characterWidth===t.scaledCharWidth&&this._characterFont===r||(this._characterWidth=t.scaledCharWidth,this._characterFont=r,this._characterOverlapCache={}),this._state.clear(),this._state.resize(this._bufferService.cols,this._bufferService.rows)},t.prototype.reset=function(){this._state.clear(),this._clearAll()},t.prototype._forEachCell=function(e,t,r){for(var i=e;i<=t;i++)for(var n=i+this._bufferService.buffer.ydisp,o=this._bufferService.buffer.lines.get(n),s=this._characterJoinerService.getJoinedCharacters(n),a=0;a0&&a===s[0][0]){l=!0;var f=s.shift();c=new d.JoinedCellData(this._workCell,o.translateToString(!0,f[0],f[1]),f[1]-f[0]),u=f[1]-1}!l&&this._isOverlapping(c)&&uthis._characterWidth;return this._ctx.restore(),this._characterOverlapCache[t]=r,r},o([s(5,f.IBufferService),s(6,f.IOptionsService),s(7,_.ICharacterJoinerService)],t)}(c.BaseRenderLayer);t.TextRenderLayer=p},9616:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.BaseCharAtlas=void 0;var r=function(){function e(){this._didWarmUp=!1}return e.prototype.dispose=function(){},e.prototype.warmUp=function(){this._didWarmUp||(this._doWarmUp(),this._didWarmUp=!0)},e.prototype._doWarmUp=function(){},e.prototype.beginFrame=function(){},e}();t.BaseCharAtlas=r},1420:(e,t,r)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.removeTerminalFromCache=t.acquireCharAtlas=void 0;var i=r(2040),n=r(1906),o=[];t.acquireCharAtlas=function(e,t,r,s,a){for(var c=i.generateConfig(s,a,e,r),l=0;l=0){if(i.configEquals(u.config,c))return u.atlas;1===u.ownedBy.length?(u.atlas.dispose(),o.splice(l,1)):u.ownedBy.splice(h,1);break}}for(l=0;l{Object.defineProperty(t,\"__esModule\",{value:!0}),t.is256Color=t.configEquals=t.generateConfig=void 0;var i=r(643);t.generateConfig=function(e,t,r,i){var n={foreground:i.foreground,background:i.background,cursor:void 0,cursorAccent:void 0,selection:void 0,ansi:i.ansi};return{devicePixelRatio:window.devicePixelRatio,scaledCharWidth:e,scaledCharHeight:t,fontFamily:r.fontFamily,fontSize:r.fontSize,fontWeight:r.fontWeight,fontWeightBold:r.fontWeightBold,allowTransparency:r.allowTransparency,colors:n}},t.configEquals=function(e,t){for(var r=0;r{Object.defineProperty(t,\"__esModule\",{value:!0}),t.CHAR_ATLAS_CELL_SPACING=t.DIM_OPACITY=t.INVERTED_DEFAULT_COLOR=void 0,t.INVERTED_DEFAULT_COLOR=257,t.DIM_OPACITY=.5,t.CHAR_ATLAS_CELL_SPACING=1},1906:function(e,t,r){var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});Object.defineProperty(t,\"__esModule\",{value:!0}),t.NoneCharAtlas=t.DynamicCharAtlas=t.getGlyphCacheKey=void 0;var o=r(8803),s=r(9616),a=r(5680),c=r(7001),l=r(6114),h=r(1752),u=r(4774),f={css:\"rgba(0, 0, 0, 0)\",rgba:0};function _(e){return e.code<<21|e.bg<<12|e.fg<<3|(e.bold?0:4)+(e.dim?0:2)+(e.italic?0:1)}t.getGlyphCacheKey=_;var d=function(e){function t(t,r){var i=e.call(this)||this;i._config=r,i._drawToCacheCount=0,i._glyphsWaitingOnBitmap=[],i._bitmapCommitTimeout=null,i._bitmap=null,i._cacheCanvas=t.createElement(\"canvas\"),i._cacheCanvas.width=1024,i._cacheCanvas.height=1024,i._cacheCtx=h.throwIfFalsy(i._cacheCanvas.getContext(\"2d\",{alpha:!0}));var n=t.createElement(\"canvas\");n.width=i._config.scaledCharWidth,n.height=i._config.scaledCharHeight,i._tmpCtx=h.throwIfFalsy(n.getContext(\"2d\",{alpha:i._config.allowTransparency})),i._width=Math.floor(1024/i._config.scaledCharWidth),i._height=Math.floor(1024/i._config.scaledCharHeight);var o=i._width*i._height;return i._cacheMap=new c.LRUMap(o),i._cacheMap.prealloc(o),i}return n(t,e),t.prototype.dispose=function(){null!==this._bitmapCommitTimeout&&(window.clearTimeout(this._bitmapCommitTimeout),this._bitmapCommitTimeout=null)},t.prototype.beginFrame=function(){this._drawToCacheCount=0},t.prototype.draw=function(e,t,r,i){if(32===t.code)return!0;if(!this._canCache(t))return!1;var n=_(t),o=this._cacheMap.get(n);if(null!=o)return this._drawFromCache(e,o,r,i),!0;if(this._drawToCacheCount<100){var s;s=this._cacheMap.size>>24,n=t.rgba>>>16&255,o=t.rgba>>>8&255,s=0;s{Object.defineProperty(t,\"__esModule\",{value:!0}),t.LRUMap=void 0;var r=function(){function e(e){this.capacity=e,this._map={},this._head=null,this._tail=null,this._nodePool=[],this.size=0}return e.prototype._unlinkNode=function(e){var t=e.prev,r=e.next;e===this._head&&(this._head=r),e===this._tail&&(this._tail=t),null!==t&&(t.next=r),null!==r&&(r.prev=t)},e.prototype._appendNode=function(e){var t=this._tail;null!==t&&(t.next=e),e.prev=t,e.next=null,this._tail=e,null===this._head&&(this._head=e)},e.prototype.prealloc=function(e){for(var t=this._nodePool,r=0;r=this.capacity)r=this._head,this._unlinkNode(r),delete this._map[r.key],r.key=e,r.value=t,this._map[e]=r;else{var i=this._nodePool;i.length>0?((r=i.pop()).key=e,r.value=t):r={prev:null,next:null,key:e,value:t},this._map[e]=r,this.size++}this._appendNode(r)},e}();t.LRUMap=r},1296:function(e,t,r){var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),o=this&&this.__decorate||function(e,t,r,i){var n,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},s=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.DomRenderer=void 0;var a=r(3787),c=r(8803),l=r(844),h=r(4725),u=r(2585),f=r(8460),_=r(4774),d=r(9631),p=\"xterm-dom-renderer-owner-\",v=\"xterm-fg-\",g=\"xterm-bg-\",y=\"xterm-focus\",b=1,S=function(e){function t(t,r,i,n,o,s,c,l,h,u){var f=e.call(this)||this;return f._colors=t,f._element=r,f._screenElement=i,f._viewportElement=n,f._linkifier=o,f._linkifier2=s,f._charSizeService=l,f._optionsService=h,f._bufferService=u,f._terminalClass=b++,f._rowElements=[],f._rowContainer=document.createElement(\"div\"),f._rowContainer.classList.add(\"xterm-rows\"),f._rowContainer.style.lineHeight=\"normal\",f._rowContainer.setAttribute(\"aria-hidden\",\"true\"),f._refreshRowElements(f._bufferService.cols,f._bufferService.rows),f._selectionContainer=document.createElement(\"div\"),f._selectionContainer.classList.add(\"xterm-selection\"),f._selectionContainer.setAttribute(\"aria-hidden\",\"true\"),f.dimensions={scaledCharWidth:0,scaledCharHeight:0,scaledCellWidth:0,scaledCellHeight:0,scaledCharLeft:0,scaledCharTop:0,scaledCanvasWidth:0,scaledCanvasHeight:0,canvasWidth:0,canvasHeight:0,actualCellWidth:0,actualCellHeight:0},f._updateDimensions(),f._injectCss(),f._rowFactory=c.createInstance(a.DomRendererRowFactory,document,f._colors),f._element.classList.add(p+f._terminalClass),f._screenElement.appendChild(f._rowContainer),f._screenElement.appendChild(f._selectionContainer),f._linkifier.onShowLinkUnderline((function(e){return f._onLinkHover(e)})),f._linkifier.onHideLinkUnderline((function(e){return f._onLinkLeave(e)})),f._linkifier2.onShowLinkUnderline((function(e){return f._onLinkHover(e)})),f._linkifier2.onHideLinkUnderline((function(e){return f._onLinkLeave(e)})),f}return n(t,e),Object.defineProperty(t.prototype,\"onRequestRedraw\",{get:function(){return(new f.EventEmitter).event},enumerable:!1,configurable:!0}),t.prototype.dispose=function(){this._element.classList.remove(p+this._terminalClass),d.removeElementFromParent(this._rowContainer,this._selectionContainer,this._themeStyleElement,this._dimensionsStyleElement),e.prototype.dispose.call(this)},t.prototype._updateDimensions=function(){this.dimensions.scaledCharWidth=this._charSizeService.width*window.devicePixelRatio,this.dimensions.scaledCharHeight=Math.ceil(this._charSizeService.height*window.devicePixelRatio),this.dimensions.scaledCellWidth=this.dimensions.scaledCharWidth+Math.round(this._optionsService.options.letterSpacing),this.dimensions.scaledCellHeight=Math.floor(this.dimensions.scaledCharHeight*this._optionsService.options.lineHeight),this.dimensions.scaledCharLeft=0,this.dimensions.scaledCharTop=0,this.dimensions.scaledCanvasWidth=this.dimensions.scaledCellWidth*this._bufferService.cols,this.dimensions.scaledCanvasHeight=this.dimensions.scaledCellHeight*this._bufferService.rows,this.dimensions.canvasWidth=Math.round(this.dimensions.scaledCanvasWidth/window.devicePixelRatio),this.dimensions.canvasHeight=Math.round(this.dimensions.scaledCanvasHeight/window.devicePixelRatio),this.dimensions.actualCellWidth=this.dimensions.canvasWidth/this._bufferService.cols,this.dimensions.actualCellHeight=this.dimensions.canvasHeight/this._bufferService.rows;for(var e=0,t=this._rowElements;et;)this._rowContainer.removeChild(this._rowElements.pop())},t.prototype.onResize=function(e,t){this._refreshRowElements(e,t),this._updateDimensions()},t.prototype.onCharSizeChanged=function(){this._updateDimensions()},t.prototype.onBlur=function(){this._rowContainer.classList.remove(y)},t.prototype.onFocus=function(){this._rowContainer.classList.add(y)},t.prototype.onSelectionChanged=function(e,t,r){for(;this._selectionContainer.children.length;)this._selectionContainer.removeChild(this._selectionContainer.children[0]);if(e&&t){var i=e[1]-this._bufferService.buffer.ydisp,n=t[1]-this._bufferService.buffer.ydisp,o=Math.max(i,0),s=Math.min(n,this._bufferService.rows-1);if(!(o>=this._bufferService.rows||s<0)){var a=document.createDocumentFragment();if(r)a.appendChild(this._createSelectionElement(o,e[0],t[0],s-o+1));else{var c=i===o?e[0]:0,l=o===n?t[0]:this._bufferService.cols;a.appendChild(this._createSelectionElement(o,c,l));var h=s-o-1;if(a.appendChild(this._createSelectionElement(o+1,0,this._bufferService.cols,h)),o!==s){var u=n===s?t[0]:this._bufferService.cols;a.appendChild(this._createSelectionElement(s,0,u))}}this._selectionContainer.appendChild(a)}}},t.prototype._createSelectionElement=function(e,t,r,i){void 0===i&&(i=1);var n=document.createElement(\"div\");return n.style.height=i*this.dimensions.actualCellHeight+\"px\",n.style.top=e*this.dimensions.actualCellHeight+\"px\",n.style.left=t*this.dimensions.actualCellWidth+\"px\",n.style.width=this.dimensions.actualCellWidth*(r-t)+\"px\",n},t.prototype.onCursorMove=function(){},t.prototype.onOptionsChanged=function(){this._updateDimensions(),this._injectCss()},t.prototype.clear=function(){for(var e=0,t=this._rowElements;e=n&&(e=0,r++)}},o([s(6,u.IInstantiationService),s(7,h.ICharSizeService),s(8,u.IOptionsService),s(9,u.IBufferService)],t)}(l.Disposable);t.DomRenderer=S},3787:function(e,t,r){var i=this&&this.__decorate||function(e,t,r,i){var n,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},n=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.DomRendererRowFactory=t.CURSOR_STYLE_UNDERLINE_CLASS=t.CURSOR_STYLE_BAR_CLASS=t.CURSOR_STYLE_BLOCK_CLASS=t.CURSOR_BLINK_CLASS=t.CURSOR_CLASS=t.UNDERLINE_CLASS=t.ITALIC_CLASS=t.DIM_CLASS=t.BOLD_CLASS=void 0;var o=r(8803),s=r(643),a=r(511),c=r(2585),l=r(4774),h=r(4725),u=r(4269);t.BOLD_CLASS=\"xterm-bold\",t.DIM_CLASS=\"xterm-dim\",t.ITALIC_CLASS=\"xterm-italic\",t.UNDERLINE_CLASS=\"xterm-underline\",t.CURSOR_CLASS=\"xterm-cursor\",t.CURSOR_BLINK_CLASS=\"xterm-cursor-blink\",t.CURSOR_STYLE_BLOCK_CLASS=\"xterm-cursor-block\",t.CURSOR_STYLE_BAR_CLASS=\"xterm-cursor-bar\",t.CURSOR_STYLE_UNDERLINE_CLASS=\"xterm-cursor-underline\";var f=function(){function e(e,t,r,i){this._document=e,this._colors=t,this._characterJoinerService=r,this._optionsService=i,this._workCell=new a.CellData}return e.prototype.setColors=function(e){this._colors=e},e.prototype.createRow=function(e,r,i,n,a,c,h,f){for(var d=this._document.createDocumentFragment(),p=this._characterJoinerService.getJoinedCharacters(r),v=0,g=Math.min(e.length,f)-1;g>=0;g--)if(e.loadCell(g,this._workCell).getCode()!==s.NULL_CELL_CODE||i&&g===a){v=g+1;break}for(g=0;g0&&g===p[0][0]){b=!0;var C=p.shift();m=new u.JoinedCellData(this._workCell,e.translateToString(!0,C[0],C[1]),C[1]-C[0]),S=C[1]-1,y=m.getWidth()}var w=this._document.createElement(\"span\");if(y>1&&(w.style.width=h*y+\"px\"),b&&(w.style.display=\"inline\",a>=g&&a<=S&&(a=g)),i&&g===a)switch(w.classList.add(t.CURSOR_CLASS),c&&w.classList.add(t.CURSOR_BLINK_CLASS),n){case\"bar\":w.classList.add(t.CURSOR_STYLE_BAR_CLASS);break;case\"underline\":w.classList.add(t.CURSOR_STYLE_UNDERLINE_CLASS);break;default:w.classList.add(t.CURSOR_STYLE_BLOCK_CLASS)}m.isBold()&&w.classList.add(t.BOLD_CLASS),m.isItalic()&&w.classList.add(t.ITALIC_CLASS),m.isDim()&&w.classList.add(t.DIM_CLASS),m.isUnderline()&&w.classList.add(t.UNDERLINE_CLASS),m.isInvisible()?w.textContent=s.WHITESPACE_CELL_CHAR:w.textContent=m.getChars()||s.WHITESPACE_CELL_CHAR;var E=m.getFgColor(),L=m.getFgColorMode(),k=m.getBgColor(),A=m.getBgColorMode(),R=!!m.isInverse();if(R){var x=E;E=k,k=x;var T=L;L=A,A=T}switch(L){case 16777216:case 33554432:m.isBold()&&E<8&&this._optionsService.options.drawBoldTextInBrightColors&&(E+=8),this._applyMinimumContrast(w,this._colors.background,this._colors.ansi[E])||w.classList.add(\"xterm-fg-\"+E);break;case 50331648:var O=l.rgba.toColor(E>>16&255,E>>8&255,255&E);this._applyMinimumContrast(w,this._colors.background,O)||this._addStyle(w,\"color:#\"+_(E.toString(16),\"0\",6));break;case 0:default:this._applyMinimumContrast(w,this._colors.background,this._colors.foreground)||R&&w.classList.add(\"xterm-fg-\"+o.INVERTED_DEFAULT_COLOR)}switch(A){case 16777216:case 33554432:w.classList.add(\"xterm-bg-\"+k);break;case 50331648:this._addStyle(w,\"background-color:#\"+_(k.toString(16),\"0\",6));break;case 0:default:R&&w.classList.add(\"xterm-bg-\"+o.INVERTED_DEFAULT_COLOR)}d.appendChild(w),g=S}}return d},e.prototype._applyMinimumContrast=function(e,t,r){if(1===this._optionsService.options.minimumContrastRatio)return!1;var i=this._colors.contrastCache.getColor(this._workCell.bg,this._workCell.fg);return void 0===i&&(i=l.color.ensureContrastRatio(t,r,this._optionsService.options.minimumContrastRatio),this._colors.contrastCache.setColor(this._workCell.bg,this._workCell.fg,null!=i?i:null)),!!i&&(this._addStyle(e,\"color:\"+i.css),!0)},e.prototype._addStyle=function(e,t){e.setAttribute(\"style\",\"\"+(e.getAttribute(\"style\")||\"\")+t+\";\")},i([n(2,h.ICharacterJoinerService),n(3,c.IOptionsService)],e)}();function _(e,t,r){for(;e.length{Object.defineProperty(t,\"__esModule\",{value:!0}),t.SelectionModel=void 0;var r=function(){function e(e){this._bufferService=e,this.isSelectAllActive=!1,this.selectionStartLength=0}return e.prototype.clearSelection=function(){this.selectionStart=void 0,this.selectionEnd=void 0,this.isSelectAllActive=!1,this.selectionStartLength=0},Object.defineProperty(e.prototype,\"finalSelectionStart\",{get:function(){return this.isSelectAllActive?[0,0]:this.selectionEnd&&this.selectionStart&&this.areSelectionValuesReversed()?this.selectionEnd:this.selectionStart},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"finalSelectionEnd\",{get:function(){if(this.isSelectAllActive)return[this._bufferService.cols,this._bufferService.buffer.ybase+this._bufferService.rows-1];if(this.selectionStart){if(!this.selectionEnd||this.areSelectionValuesReversed()){var e=this.selectionStart[0]+this.selectionStartLength;return e>this._bufferService.cols?[e%this._bufferService.cols,this.selectionStart[1]+Math.floor(e/this._bufferService.cols)]:[e,this.selectionStart[1]]}return this.selectionStartLength&&this.selectionEnd[1]===this.selectionStart[1]?[Math.max(this.selectionStart[0]+this.selectionStartLength,this.selectionEnd[0]),this.selectionEnd[1]]:this.selectionEnd}},enumerable:!1,configurable:!0}),e.prototype.areSelectionValuesReversed=function(){var e=this.selectionStart,t=this.selectionEnd;return!(!e||!t)&&(e[1]>t[1]||e[1]===t[1]&&e[0]>t[0])},e.prototype.onTrim=function(e){return this.selectionStart&&(this.selectionStart[1]-=e),this.selectionEnd&&(this.selectionEnd[1]-=e),this.selectionEnd&&this.selectionEnd[1]<0?(this.clearSelection(),!0):(this.selectionStart&&this.selectionStart[1]<0&&(this.selectionStart[1]=0),!1)},e}();t.SelectionModel=r},428:function(e,t,r){var i=this&&this.__decorate||function(e,t,r,i){var n,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},n=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.CharSizeService=void 0;var o=r(2585),s=r(8460),a=function(){function e(e,t,r){this._optionsService=r,this.width=0,this.height=0,this._onCharSizeChange=new s.EventEmitter,this._measureStrategy=new c(e,t,this._optionsService)}return Object.defineProperty(e.prototype,\"hasValidSize\",{get:function(){return this.width>0&&this.height>0},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"onCharSizeChange\",{get:function(){return this._onCharSizeChange.event},enumerable:!1,configurable:!0}),e.prototype.measure=function(){var e=this._measureStrategy.measure();e.width===this.width&&e.height===this.height||(this.width=e.width,this.height=e.height,this._onCharSizeChange.fire())},i([n(2,o.IOptionsService)],e)}();t.CharSizeService=a;var c=function(){function e(e,t,r){this._document=e,this._parentElement=t,this._optionsService=r,this._result={width:0,height:0},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 e.prototype.measure=function(){this._measureElement.style.fontFamily=this._optionsService.options.fontFamily,this._measureElement.style.fontSize=this._optionsService.options.fontSize+\"px\";var e=this._measureElement.getBoundingClientRect();return 0!==e.width&&0!==e.height&&(this._result.width=e.width,this._result.height=Math.ceil(e.height)),this._result},e}()},4269:function(e,t,r){var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),o=this&&this.__decorate||function(e,t,r,i){var n,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},s=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.CharacterJoinerService=t.JoinedCellData=void 0;var a=r(3734),c=r(643),l=r(511),h=r(2585),u=function(e){function t(t,r,i){var n=e.call(this)||this;return n.content=0,n.combinedData=\"\",n.fg=t.fg,n.bg=t.bg,n.combinedData=r,n._width=i,n}return n(t,e),t.prototype.isCombined=function(){return 2097152},t.prototype.getWidth=function(){return this._width},t.prototype.getChars=function(){return this.combinedData},t.prototype.getCode=function(){return 2097151},t.prototype.setFromCharData=function(e){throw new Error(\"not implemented\")},t.prototype.getAsCharData=function(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]},t}(a.AttributeData);t.JoinedCellData=u;var f=function(){function e(e){this._bufferService=e,this._characterJoiners=[],this._nextCharacterJoinerId=0,this._workCell=new l.CellData}return e.prototype.register=function(e){var t={id:this._nextCharacterJoinerId++,handler:e};return this._characterJoiners.push(t),t.id},e.prototype.deregister=function(e){for(var t=0;t1)for(var u=this._getJoinedRanges(i,s,o,t,n),f=0;f1)for(u=this._getJoinedRanges(i,s,o,t,n),f=0;f{Object.defineProperty(t,\"__esModule\",{value:!0}),t.CoreBrowserService=void 0;var r=function(){function e(e){this._textarea=e}return Object.defineProperty(e.prototype,\"isFocused\",{get:function(){return(this._textarea.getRootNode?this._textarea.getRootNode():document).activeElement===this._textarea&&document.hasFocus()},enumerable:!1,configurable:!0}),e}();t.CoreBrowserService=r},8934:function(e,t,r){var i=this&&this.__decorate||function(e,t,r,i){var n,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},n=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.MouseService=void 0;var o=r(4725),s=r(9806),a=function(){function e(e,t){this._renderService=e,this._charSizeService=t}return e.prototype.getCoords=function(e,t,r,i,n){return s.getCoords(e,t,r,i,this._charSizeService.hasValidSize,this._renderService.dimensions.actualCellWidth,this._renderService.dimensions.actualCellHeight,n)},e.prototype.getRawByteCoords=function(e,t,r,i){var n=this.getCoords(e,t,r,i);return s.getRawByteCoords(n)},i([n(0,o.IRenderService),n(1,o.ICharSizeService)],e)}();t.MouseService=a},3230:function(e,t,r){var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),o=this&&this.__decorate||function(e,t,r,i){var n,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},s=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.RenderService=void 0;var a=r(6193),c=r(8460),l=r(844),h=r(5596),u=r(3656),f=r(2585),_=r(4725),d=function(e){function t(t,r,i,n,o,s){var l=e.call(this)||this;if(l._renderer=t,l._rowCount=r,l._charSizeService=o,l._isPaused=!1,l._needsFullRefresh=!1,l._isNextRenderRedrawOnly=!0,l._needsSelectionRefresh=!1,l._canvasWidth=0,l._canvasHeight=0,l._selectionState={start:void 0,end:void 0,columnSelectMode:!1},l._onDimensionsChange=new c.EventEmitter,l._onRender=new c.EventEmitter,l._onRefreshRequest=new c.EventEmitter,l.register({dispose:function(){return l._renderer.dispose()}}),l._renderDebouncer=new a.RenderDebouncer((function(e,t){return l._renderRows(e,t)})),l.register(l._renderDebouncer),l._screenDprMonitor=new h.ScreenDprMonitor,l._screenDprMonitor.setListener((function(){return l.onDevicePixelRatioChange()})),l.register(l._screenDprMonitor),l.register(s.onResize((function(e){return l._fullRefresh()}))),l.register(n.onOptionChange((function(){return l._renderer.onOptionsChanged()}))),l.register(l._charSizeService.onCharSizeChange((function(){return l.onCharSizeChanged()}))),l._renderer.onRequestRedraw((function(e){return l.refreshRows(e.start,e.end,!0)})),l.register(u.addDisposableDomListener(window,\"resize\",(function(){return l.onDevicePixelRatioChange()}))),\"IntersectionObserver\"in window){var f=new IntersectionObserver((function(e){return l._onIntersectionChange(e[e.length-1])}),{threshold:0});f.observe(i),l.register({dispose:function(){return f.disconnect()}})}return l}return n(t,e),Object.defineProperty(t.prototype,\"onDimensionsChange\",{get:function(){return this._onDimensionsChange.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"onRenderedBufferChange\",{get:function(){return this._onRender.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"onRefreshRequest\",{get:function(){return this._onRefreshRequest.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"dimensions\",{get:function(){return this._renderer.dimensions},enumerable:!1,configurable:!0}),t.prototype._onIntersectionChange=function(e){this._isPaused=void 0===e.isIntersecting?0===e.intersectionRatio:!e.isIntersecting,this._isPaused||this._charSizeService.hasValidSize||this._charSizeService.measure(),!this._isPaused&&this._needsFullRefresh&&(this.refreshRows(0,this._rowCount-1),this._needsFullRefresh=!1)},t.prototype.refreshRows=function(e,t,r){void 0===r&&(r=!1),this._isPaused?this._needsFullRefresh=!0:(r||(this._isNextRenderRedrawOnly=!1),this._renderDebouncer.refresh(e,t,this._rowCount))},t.prototype._renderRows=function(e,t){this._renderer.renderRows(e,t),this._needsSelectionRefresh&&(this._renderer.onSelectionChanged(this._selectionState.start,this._selectionState.end,this._selectionState.columnSelectMode),this._needsSelectionRefresh=!1),this._isNextRenderRedrawOnly||this._onRender.fire({start:e,end:t}),this._isNextRenderRedrawOnly=!0},t.prototype.resize=function(e,t){this._rowCount=t,this._fireOnCanvasResize()},t.prototype.changeOptions=function(){this._renderer.onOptionsChanged(),this.refreshRows(0,this._rowCount-1),this._fireOnCanvasResize()},t.prototype._fireOnCanvasResize=function(){this._renderer.dimensions.canvasWidth===this._canvasWidth&&this._renderer.dimensions.canvasHeight===this._canvasHeight||this._onDimensionsChange.fire(this._renderer.dimensions)},t.prototype.dispose=function(){e.prototype.dispose.call(this)},t.prototype.setRenderer=function(e){var t=this;this._renderer.dispose(),this._renderer=e,this._renderer.onRequestRedraw((function(e){return t.refreshRows(e.start,e.end,!0)})),this._needsSelectionRefresh=!0,this._fullRefresh()},t.prototype._fullRefresh=function(){this._isPaused?this._needsFullRefresh=!0:this.refreshRows(0,this._rowCount-1)},t.prototype.setColors=function(e){this._renderer.setColors(e),this._fullRefresh()},t.prototype.onDevicePixelRatioChange=function(){this._charSizeService.measure(),this._renderer.onDevicePixelRatioChange(),this.refreshRows(0,this._rowCount-1)},t.prototype.onResize=function(e,t){this._renderer.onResize(e,t),this._fullRefresh()},t.prototype.onCharSizeChanged=function(){this._renderer.onCharSizeChanged()},t.prototype.onBlur=function(){this._renderer.onBlur()},t.prototype.onFocus=function(){this._renderer.onFocus()},t.prototype.onSelectionChanged=function(e,t,r){this._selectionState.start=e,this._selectionState.end=t,this._selectionState.columnSelectMode=r,this._renderer.onSelectionChanged(e,t,r)},t.prototype.onCursorMove=function(){this._renderer.onCursorMove()},t.prototype.clear=function(){this._renderer.clear()},o([s(3,f.IOptionsService),s(4,_.ICharSizeService),s(5,f.IBufferService)],t)}(l.Disposable);t.RenderService=d},9312:function(e,t,r){var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),o=this&&this.__decorate||function(e,t,r,i){var n,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},s=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.SelectionService=void 0;var a=r(6114),c=r(456),l=r(511),h=r(8460),u=r(4725),f=r(2585),_=r(9806),d=r(9504),p=r(844),v=r(4841),g=String.fromCharCode(160),y=new RegExp(g,\"g\"),b=function(e){function t(t,r,i,n,o,s,a,u){var f=e.call(this)||this;return f._element=t,f._screenElement=r,f._linkifier=i,f._bufferService=n,f._coreService=o,f._mouseService=s,f._optionsService=a,f._renderService=u,f._dragScrollAmount=0,f._enabled=!0,f._workCell=new l.CellData,f._mouseDownTimeStamp=0,f._oldHasSelection=!1,f._oldSelectionStart=void 0,f._oldSelectionEnd=void 0,f._onLinuxMouseSelection=f.register(new h.EventEmitter),f._onRedrawRequest=f.register(new h.EventEmitter),f._onSelectionChange=f.register(new h.EventEmitter),f._onRequestScrollLines=f.register(new h.EventEmitter),f._mouseMoveListener=function(e){return f._onMouseMove(e)},f._mouseUpListener=function(e){return f._onMouseUp(e)},f._coreService.onUserInput((function(){f.hasSelection&&f.clearSelection()})),f._trimListener=f._bufferService.buffer.lines.onTrim((function(e){return f._onTrim(e)})),f.register(f._bufferService.buffers.onBufferActivate((function(e){return f._onBufferActivate(e)}))),f.enable(),f._model=new c.SelectionModel(f._bufferService),f._activeSelectionMode=0,f}return n(t,e),Object.defineProperty(t.prototype,\"onLinuxMouseSelection\",{get:function(){return this._onLinuxMouseSelection.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"onRequestRedraw\",{get:function(){return this._onRedrawRequest.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"onSelectionChange\",{get:function(){return this._onSelectionChange.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"onRequestScrollLines\",{get:function(){return this._onRequestScrollLines.event},enumerable:!1,configurable:!0}),t.prototype.dispose=function(){this._removeMouseDownListeners()},t.prototype.reset=function(){this.clearSelection()},t.prototype.disable=function(){this.clearSelection(),this._enabled=!1},t.prototype.enable=function(){this._enabled=!0},Object.defineProperty(t.prototype,\"selectionStart\",{get:function(){return this._model.finalSelectionStart},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"selectionEnd\",{get:function(){return this._model.finalSelectionEnd},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"hasSelection\",{get:function(){var e=this._model.finalSelectionStart,t=this._model.finalSelectionEnd;return!(!e||!t||e[0]===t[0]&&e[1]===t[1])},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"selectionText\",{get:function(){var e=this._model.finalSelectionStart,t=this._model.finalSelectionEnd;if(!e||!t)return\"\";var r=this._bufferService.buffer,i=[];if(3===this._activeSelectionMode){if(e[0]===t[0])return\"\";for(var n=e[1];n<=t[1];n++){var o=r.translateBufferLineToString(n,!0,e[0],t[0]);i.push(o)}}else{var s=e[1]===t[1]?t[0]:void 0;for(i.push(r.translateBufferLineToString(e[1],!0,e[0],s)),n=e[1]+1;n<=t[1]-1;n++){var c=r.lines.get(n);o=r.translateBufferLineToString(n,!0),c&&c.isWrapped?i[i.length-1]+=o:i.push(o)}e[1]!==t[1]&&(c=r.lines.get(t[1]),o=r.translateBufferLineToString(t[1],!0,0,t[0]),c&&c.isWrapped?i[i.length-1]+=o:i.push(o))}return i.map((function(e){return e.replace(y,\" \")})).join(a.isWindows?\"\\r\\n\":\"\\n\")},enumerable:!1,configurable:!0}),t.prototype.clearSelection=function(){this._model.clearSelection(),this._removeMouseDownListeners(),this.refresh(),this._onSelectionChange.fire()},t.prototype.refresh=function(e){var t=this;this._refreshAnimationFrame||(this._refreshAnimationFrame=window.requestAnimationFrame((function(){return t._refresh()}))),a.isLinux&&e&&this.selectionText.length&&this._onLinuxMouseSelection.fire(this.selectionText)},t.prototype._refresh=function(){this._refreshAnimationFrame=void 0,this._onRedrawRequest.fire({start:this._model.finalSelectionStart,end:this._model.finalSelectionEnd,columnSelectMode:3===this._activeSelectionMode})},t.prototype._isClickInSelection=function(e){var t=this._getMouseBufferCoords(e),r=this._model.finalSelectionStart,i=this._model.finalSelectionEnd;return!!(r&&i&&t)&&this._areCoordsInSelection(t,r,i)},t.prototype._areCoordsInSelection=function(e,t,r){return e[1]>t[1]&&e[1]=t[0]&&e[0]=t[0]},t.prototype._selectWordAtCursor=function(e,t){var r,i,n=null===(i=null===(r=this._linkifier.currentLink)||void 0===r?void 0:r.link)||void 0===i?void 0:i.range;if(n)return this._model.selectionStart=[n.start.x-1,n.start.y-1],this._model.selectionStartLength=v.getRangeLength(n,this._bufferService.cols),this._model.selectionEnd=void 0,!0;var o=this._getMouseBufferCoords(e);return!!o&&(this._selectWordAt(o,t),this._model.selectionEnd=void 0,!0)},t.prototype.selectAll=function(){this._model.isSelectAllActive=!0,this.refresh(),this._onSelectionChange.fire()},t.prototype.selectLines=function(e,t){this._model.clearSelection(),e=Math.max(e,0),t=Math.min(t,this._bufferService.buffer.lines.length-1),this._model.selectionStart=[0,e],this._model.selectionEnd=[this._bufferService.cols,t],this.refresh(),this._onSelectionChange.fire()},t.prototype._onTrim=function(e){this._model.onTrim(e)&&this.refresh()},t.prototype._getMouseBufferCoords=function(e){var t=this._mouseService.getCoords(e,this._screenElement,this._bufferService.cols,this._bufferService.rows,!0);if(t)return t[0]--,t[1]--,t[1]+=this._bufferService.buffer.ydisp,t},t.prototype._getMouseEventScrollAmount=function(e){var t=_.getCoordsRelativeToElement(e,this._screenElement)[1],r=this._renderService.dimensions.canvasHeight;return t>=0&&t<=r?0:(t>r&&(t-=r),t=Math.min(Math.max(t,-50),50),(t/=50)/Math.abs(t)+Math.round(14*t))},t.prototype.shouldForceSelection=function(e){return a.isMac?e.altKey&&this._optionsService.options.macOptionClickForcesSelection:e.shiftKey},t.prototype.onMouseDown=function(e){if(this._mouseDownTimeStamp=e.timeStamp,(2!==e.button||!this.hasSelection)&&0===e.button){if(!this._enabled){if(!this.shouldForceSelection(e))return;e.stopPropagation()}e.preventDefault(),this._dragScrollAmount=0,this._enabled&&e.shiftKey?this._onIncrementalClick(e):1===e.detail?this._onSingleClick(e):2===e.detail?this._onDoubleClick(e):3===e.detail&&this._onTripleClick(e),this._addMouseDownListeners(),this.refresh(!0)}},t.prototype._addMouseDownListeners=function(){var e=this;this._screenElement.ownerDocument&&(this._screenElement.ownerDocument.addEventListener(\"mousemove\",this._mouseMoveListener),this._screenElement.ownerDocument.addEventListener(\"mouseup\",this._mouseUpListener)),this._dragScrollIntervalTimer=window.setInterval((function(){return e._dragScroll()}),50)},t.prototype._removeMouseDownListeners=function(){this._screenElement.ownerDocument&&(this._screenElement.ownerDocument.removeEventListener(\"mousemove\",this._mouseMoveListener),this._screenElement.ownerDocument.removeEventListener(\"mouseup\",this._mouseUpListener)),clearInterval(this._dragScrollIntervalTimer),this._dragScrollIntervalTimer=void 0},t.prototype._onIncrementalClick=function(e){this._model.selectionStart&&(this._model.selectionEnd=this._getMouseBufferCoords(e))},t.prototype._onSingleClick=function(e){if(this._model.selectionStartLength=0,this._model.isSelectAllActive=!1,this._activeSelectionMode=this.shouldColumnSelect(e)?3:0,this._model.selectionStart=this._getMouseBufferCoords(e),this._model.selectionStart){this._model.selectionEnd=void 0;var t=this._bufferService.buffer.lines.get(this._model.selectionStart[1]);t&&t.length!==this._model.selectionStart[0]&&0===t.hasWidth(this._model.selectionStart[0])&&this._model.selectionStart[0]++}},t.prototype._onDoubleClick=function(e){this._selectWordAtCursor(e,!0)&&(this._activeSelectionMode=1)},t.prototype._onTripleClick=function(e){var t=this._getMouseBufferCoords(e);t&&(this._activeSelectionMode=2,this._selectLineAt(t[1]))},t.prototype.shouldColumnSelect=function(e){return e.altKey&&!(a.isMac&&this._optionsService.options.macOptionClickForcesSelection)},t.prototype._onMouseMove=function(e){if(e.stopImmediatePropagation(),this._model.selectionStart){var t=this._model.selectionEnd?[this._model.selectionEnd[0],this._model.selectionEnd[1]]:null;if(this._model.selectionEnd=this._getMouseBufferCoords(e),this._model.selectionEnd){2===this._activeSelectionMode?this._model.selectionEnd[1]0?this._model.selectionEnd[0]=this._bufferService.cols:this._dragScrollAmount<0&&(this._model.selectionEnd[0]=0));var r=this._bufferService.buffer;if(this._model.selectionEnd[1]0?(3!==this._activeSelectionMode&&(this._model.selectionEnd[0]=this._bufferService.cols),this._model.selectionEnd[1]=Math.min(e.ydisp+this._bufferService.rows,e.lines.length-1)):(3!==this._activeSelectionMode&&(this._model.selectionEnd[0]=0),this._model.selectionEnd[1]=e.ydisp),this.refresh()}},t.prototype._onMouseUp=function(e){var t=e.timeStamp-this._mouseDownTimeStamp;if(this._removeMouseDownListeners(),this.selectionText.length<=1&&t<500&&e.altKey&&this._optionsService.getOption(\"altClickMovesCursor\")){if(this._bufferService.buffer.ybase===this._bufferService.buffer.ydisp){var r=this._mouseService.getCoords(e,this._element,this._bufferService.cols,this._bufferService.rows,!1);if(r&&void 0!==r[0]&&void 0!==r[1]){var i=d.moveToCellSequence(r[0]-1,r[1]-1,this._bufferService,this._coreService.decPrivateModes.applicationCursorKeys);this._coreService.triggerDataEvent(i,!0)}}}else this._fireEventIfSelectionChanged()},t.prototype._fireEventIfSelectionChanged=function(){var e=this._model.finalSelectionStart,t=this._model.finalSelectionEnd,r=!(!e||!t||e[0]===t[0]&&e[1]===t[1]);r?e&&t&&(this._oldSelectionStart&&this._oldSelectionEnd&&e[0]===this._oldSelectionStart[0]&&e[1]===this._oldSelectionStart[1]&&t[0]===this._oldSelectionEnd[0]&&t[1]===this._oldSelectionEnd[1]||this._fireOnSelectionChange(e,t,r)):this._oldHasSelection&&this._fireOnSelectionChange(e,t,r)},t.prototype._fireOnSelectionChange=function(e,t,r){this._oldSelectionStart=e,this._oldSelectionEnd=t,this._oldHasSelection=r,this._onSelectionChange.fire()},t.prototype._onBufferActivate=function(e){var t=this;this.clearSelection(),this._trimListener.dispose(),this._trimListener=e.activeBuffer.lines.onTrim((function(e){return t._onTrim(e)}))},t.prototype._convertViewportColToCharacterIndex=function(e,t){for(var r=t[0],i=0;t[0]>=i;i++){var n=e.loadCell(i,this._workCell).getChars().length;0===this._workCell.getWidth()?r--:n>1&&t[0]!==i&&(r+=n-1)}return r},t.prototype.setSelection=function(e,t,r){this._model.clearSelection(),this._removeMouseDownListeners(),this._model.selectionStart=[e,t],this._model.selectionStartLength=r,this.refresh()},t.prototype.rightClickSelect=function(e){this._isClickInSelection(e)||(this._selectWordAtCursor(e,!1)&&this.refresh(!0),this._fireEventIfSelectionChanged())},t.prototype._getWordAt=function(e,t,r,i){if(void 0===r&&(r=!0),void 0===i&&(i=!0),!(e[0]>=this._bufferService.cols)){var n=this._bufferService.buffer,o=n.lines.get(e[1]);if(o){var s=n.translateBufferLineToString(e[1],!1),a=this._convertViewportColToCharacterIndex(o,e),c=a,l=e[0]-a,h=0,u=0,f=0,_=0;if(\" \"===s.charAt(a)){for(;a>0&&\" \"===s.charAt(a-1);)a--;for(;c1&&(_+=v-1,c+=v-1);d>0&&a>0&&!this._isCharWordSeparator(o.loadCell(d-1,this._workCell));){o.loadCell(d-1,this._workCell);var g=this._workCell.getChars().length;0===this._workCell.getWidth()?(h++,d--):g>1&&(f+=g-1,a-=g-1),a--,d--}for(;p1&&(_+=y-1,c+=y-1),c++,p++}}c++;var b=a+l-h+f,S=Math.min(this._bufferService.cols,c-a+h+u-f-_);if(t||\"\"!==s.slice(a,c).trim()){if(r&&0===b&&32!==o.getCodePoint(0)){var m=n.lines.get(e[1]-1);if(m&&o.isWrapped&&32!==m.getCodePoint(this._bufferService.cols-1)){var C=this._getWordAt([this._bufferService.cols-1,e[1]-1],!1,!0,!1);if(C){var w=this._bufferService.cols-C.start;b-=w,S+=w}}}if(i&&b+S===this._bufferService.cols&&32!==o.getCodePoint(this._bufferService.cols-1)){var E=n.lines.get(e[1]+1);if(E&&E.isWrapped&&32!==E.getCodePoint(0)){var L=this._getWordAt([0,e[1]+1],!1,!1,!0);L&&(S+=L.length)}}return{start:b,length:S}}}}},t.prototype._selectWordAt=function(e,t){var r=this._getWordAt(e,t);if(r){for(;r.start<0;)r.start+=this._bufferService.cols,e[1]--;this._model.selectionStart=[r.start,e[1]],this._model.selectionStartLength=r.length}},t.prototype._selectToWordAt=function(e){var t=this._getWordAt(e,!0);if(t){for(var r=e[1];t.start<0;)t.start+=this._bufferService.cols,r--;if(!this._model.areSelectionValuesReversed())for(;t.start+t.length>this._bufferService.cols;)t.length-=this._bufferService.cols,r++;this._model.selectionEnd=[this._model.areSelectionValuesReversed()?t.start:t.start+t.length,r]}},t.prototype._isCharWordSeparator=function(e){return 0!==e.getWidth()&&this._optionsService.options.wordSeparator.indexOf(e.getChars())>=0},t.prototype._selectLineAt=function(e){var t=this._bufferService.buffer.getWrappedRangeForLine(e);this._model.selectionStart=[0,t.first],this._model.selectionEnd=[this._bufferService.cols,t.last],this._model.selectionStartLength=0},o([s(3,f.IBufferService),s(4,f.ICoreService),s(5,u.IMouseService),s(6,f.IOptionsService),s(7,u.IRenderService)],t)}(p.Disposable);t.SelectionService=b},4725:(e,t,r)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.ICharacterJoinerService=t.ISoundService=t.ISelectionService=t.IRenderService=t.IMouseService=t.ICoreBrowserService=t.ICharSizeService=void 0;var i=r(8343);t.ICharSizeService=i.createDecorator(\"CharSizeService\"),t.ICoreBrowserService=i.createDecorator(\"CoreBrowserService\"),t.IMouseService=i.createDecorator(\"MouseService\"),t.IRenderService=i.createDecorator(\"RenderService\"),t.ISelectionService=i.createDecorator(\"SelectionService\"),t.ISoundService=i.createDecorator(\"SoundService\"),t.ICharacterJoinerService=i.createDecorator(\"CharacterJoinerService\")},357:function(e,t,r){var i=this&&this.__decorate||function(e,t,r,i){var n,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},n=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.SoundService=void 0;var o=r(2585),s=function(){function e(e){this._optionsService=e}return Object.defineProperty(e,\"audioContext\",{get:function(){if(!e._audioContext){var t=window.AudioContext||window.webkitAudioContext;if(!t)return console.warn(\"Web Audio API is not supported by this browser. Consider upgrading to the latest version\"),null;e._audioContext=new t}return e._audioContext},enumerable:!1,configurable:!0}),e.prototype.playBellSound=function(){var t=e.audioContext;if(t){var r=t.createBufferSource();t.decodeAudioData(this._base64ToArrayBuffer(this._removeMimeType(this._optionsService.options.bellSound)),(function(e){r.buffer=e,r.connect(t.destination),r.start(0)}))}},e.prototype._base64ToArrayBuffer=function(e){for(var t=window.atob(e),r=t.length,i=new Uint8Array(r),n=0;n{Object.defineProperty(t,\"__esModule\",{value:!0}),t.CircularList=void 0;var i=r(8460),n=function(){function e(e){this._maxLength=e,this.onDeleteEmitter=new i.EventEmitter,this.onInsertEmitter=new i.EventEmitter,this.onTrimEmitter=new i.EventEmitter,this._array=new Array(this._maxLength),this._startIndex=0,this._length=0}return Object.defineProperty(e.prototype,\"onDelete\",{get:function(){return this.onDeleteEmitter.event},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"onInsert\",{get:function(){return this.onInsertEmitter.event},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"onTrim\",{get:function(){return this.onTrimEmitter.event},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"maxLength\",{get:function(){return this._maxLength},set:function(e){if(this._maxLength!==e){for(var t=new Array(e),r=0;rthis._length)for(var t=this._length;t=e;n--)this._array[this._getCyclicIndex(n+r.length)]=this._array[this._getCyclicIndex(n)];for(n=0;nthis._maxLength){var o=this._length+r.length-this._maxLength;this._startIndex+=o,this._length=this._maxLength,this.onTrimEmitter.fire(o)}else this._length+=r.length},e.prototype.trimStart=function(e){e>this._length&&(e=this._length),this._startIndex+=e,this._length-=e,this.onTrimEmitter.fire(e)},e.prototype.shiftElements=function(e,t,r){if(!(t<=0)){if(e<0||e>=this._length)throw new Error(\"start argument out of range\");if(e+r<0)throw new Error(\"Cannot shift elements in list beyond index 0\");if(r>0){for(var i=t-1;i>=0;i--)this.set(e+i+r,this.get(e+i));var n=e+t+r-this._length;if(n>0)for(this._length+=n;this._length>this._maxLength;)this._length--,this._startIndex++,this.onTrimEmitter.fire(1)}else for(i=0;i{Object.defineProperty(t,\"__esModule\",{value:!0}),t.clone=void 0,t.clone=function e(t,r){if(void 0===r&&(r=5),\"object\"!=typeof t)return t;var i=Array.isArray(t)?[]:{};for(var n in t)i[n]=r<=1?t[n]:t[n]?e(t[n],r-1):t[n];return i}},8969:function(e,t,r){var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});Object.defineProperty(t,\"__esModule\",{value:!0}),t.CoreTerminal=void 0;var o=r(844),s=r(2585),a=r(4348),c=r(7866),l=r(744),h=r(7302),u=r(6975),f=r(8460),_=r(1753),d=r(3730),p=r(1480),v=r(7994),g=r(9282),y=r(5435),b=r(5981),S=!1,m=function(e){function t(t){var r=e.call(this)||this;return r._onBinary=new f.EventEmitter,r._onData=new f.EventEmitter,r._onLineFeed=new f.EventEmitter,r._onResize=new f.EventEmitter,r._onScroll=new f.EventEmitter,r._instantiationService=new a.InstantiationService,r.optionsService=new h.OptionsService(t),r._instantiationService.setService(s.IOptionsService,r.optionsService),r._bufferService=r.register(r._instantiationService.createInstance(l.BufferService)),r._instantiationService.setService(s.IBufferService,r._bufferService),r._logService=r._instantiationService.createInstance(c.LogService),r._instantiationService.setService(s.ILogService,r._logService),r._coreService=r.register(r._instantiationService.createInstance(u.CoreService,(function(){return r.scrollToBottom()}))),r._instantiationService.setService(s.ICoreService,r._coreService),r._coreMouseService=r._instantiationService.createInstance(_.CoreMouseService),r._instantiationService.setService(s.ICoreMouseService,r._coreMouseService),r._dirtyRowService=r._instantiationService.createInstance(d.DirtyRowService),r._instantiationService.setService(s.IDirtyRowService,r._dirtyRowService),r.unicodeService=r._instantiationService.createInstance(p.UnicodeService),r._instantiationService.setService(s.IUnicodeService,r.unicodeService),r._charsetService=r._instantiationService.createInstance(v.CharsetService),r._instantiationService.setService(s.ICharsetService,r._charsetService),r._inputHandler=new y.InputHandler(r._bufferService,r._charsetService,r._coreService,r._dirtyRowService,r._logService,r.optionsService,r._coreMouseService,r.unicodeService),r.register(f.forwardEvent(r._inputHandler.onLineFeed,r._onLineFeed)),r.register(r._inputHandler),r.register(f.forwardEvent(r._bufferService.onResize,r._onResize)),r.register(f.forwardEvent(r._coreService.onData,r._onData)),r.register(f.forwardEvent(r._coreService.onBinary,r._onBinary)),r.register(r.optionsService.onOptionChange((function(e){return r._updateOptions(e)}))),r.register(r._bufferService.onScroll((function(e){r._onScroll.fire({position:r._bufferService.buffer.ydisp,source:0}),r._dirtyRowService.markRangeDirty(r._bufferService.buffer.scrollTop,r._bufferService.buffer.scrollBottom)}))),r._writeBuffer=new b.WriteBuffer((function(e,t){return r._inputHandler.parse(e,t)})),r}return n(t,e),Object.defineProperty(t.prototype,\"onBinary\",{get:function(){return this._onBinary.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"onData\",{get:function(){return this._onData.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"onLineFeed\",{get:function(){return this._onLineFeed.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"onResize\",{get:function(){return this._onResize.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"onScroll\",{get:function(){var e=this;return this._onScrollApi||(this._onScrollApi=new f.EventEmitter,this.register(this._onScroll.event((function(t){var r;null===(r=e._onScrollApi)||void 0===r||r.fire(t.position)})))),this._onScrollApi.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"cols\",{get:function(){return this._bufferService.cols},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"rows\",{get:function(){return this._bufferService.rows},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"buffers\",{get:function(){return this._bufferService.buffers},enumerable:!1,configurable:!0}),t.prototype.dispose=function(){var t;this._isDisposed||(e.prototype.dispose.call(this),null===(t=this._windowsMode)||void 0===t||t.dispose(),this._windowsMode=void 0)},t.prototype.write=function(e,t){this._writeBuffer.write(e,t)},t.prototype.writeSync=function(e,t){this._logService.logLevel<=s.LogLevelEnum.WARN&&!S&&(this._logService.warn(\"writeSync is unreliable and will be removed soon.\"),S=!0),this._writeBuffer.writeSync(e,t)},t.prototype.resize=function(e,t){isNaN(e)||isNaN(t)||(e=Math.max(e,l.MINIMUM_COLS),t=Math.max(t,l.MINIMUM_ROWS),this._bufferService.resize(e,t))},t.prototype.scroll=function(e,t){void 0===t&&(t=!1),this._bufferService.scroll(e,t)},t.prototype.scrollLines=function(e,t,r){this._bufferService.scrollLines(e,t,r)},t.prototype.scrollPages=function(e){this._bufferService.scrollPages(e)},t.prototype.scrollToTop=function(){this._bufferService.scrollToTop()},t.prototype.scrollToBottom=function(){this._bufferService.scrollToBottom()},t.prototype.scrollToLine=function(e){this._bufferService.scrollToLine(e)},t.prototype.registerEscHandler=function(e,t){return this._inputHandler.registerEscHandler(e,t)},t.prototype.registerDcsHandler=function(e,t){return this._inputHandler.registerDcsHandler(e,t)},t.prototype.registerCsiHandler=function(e,t){return this._inputHandler.registerCsiHandler(e,t)},t.prototype.registerOscHandler=function(e,t){return this._inputHandler.registerOscHandler(e,t)},t.prototype._setup=function(){this.optionsService.options.windowsMode&&this._enableWindowsMode()},t.prototype.reset=function(){this._inputHandler.reset(),this._bufferService.reset(),this._charsetService.reset(),this._coreService.reset(),this._coreMouseService.reset()},t.prototype._updateOptions=function(e){var t;switch(e){case\"scrollback\":this.buffers.resize(this.cols,this.rows);break;case\"windowsMode\":this.optionsService.options.windowsMode?this._enableWindowsMode():(null===(t=this._windowsMode)||void 0===t||t.dispose(),this._windowsMode=void 0)}},t.prototype._enableWindowsMode=function(){var e=this;if(!this._windowsMode){var t=[];t.push(this.onLineFeed(g.updateWindowsModeWrappedState.bind(null,this._bufferService))),t.push(this.registerCsiHandler({final:\"H\"},(function(){return g.updateWindowsModeWrappedState(e._bufferService),!1}))),this._windowsMode={dispose:function(){for(var e=0,r=t;e{Object.defineProperty(t,\"__esModule\",{value:!0}),t.forwardEvent=t.EventEmitter=void 0;var r=function(){function e(){this._listeners=[],this._disposed=!1}return Object.defineProperty(e.prototype,\"event\",{get:function(){var e=this;return this._event||(this._event=function(t){return e._listeners.push(t),{dispose:function(){if(!e._disposed)for(var r=0;r24)return t.setWinLines||!1;switch(e){case 1:return!!t.restoreWin;case 2:return!!t.minimizeWin;case 3:return!!t.setWinPosition;case 4:return!!t.setWinSizePixels;case 5:return!!t.raiseWin;case 6:return!!t.lowerWin;case 7:return!!t.refreshWin;case 8:return!!t.setWinSizeChars;case 9:return!!t.maximizeWin;case 10:return!!t.fullscreenWin;case 11:return!!t.getWinState;case 13:return!!t.getWinPosition;case 14:return!!t.getWinSizePixels;case 15:return!!t.getScreenSizePixels;case 16:return!!t.getCellSizePixels;case 18:return!!t.getWinSizeChars;case 19:return!!t.getScreenSizeChars;case 20:return!!t.getIconTitle;case 21:return!!t.getWinTitle;case 22:return!!t.pushTitle;case 23:return!!t.popTitle;case 24:return!!t.setWinLines}return!1}!function(e){e[e.GET_WIN_SIZE_PIXELS=0]=\"GET_WIN_SIZE_PIXELS\",e[e.GET_CELL_SIZE_PIXELS=1]=\"GET_CELL_SIZE_PIXELS\"}(o=t.WindowsOptionsReportType||(t.WindowsOptionsReportType={}));var w=function(){function e(e,t,r,i){this._bufferService=e,this._coreService=t,this._logService=r,this._optionsService=i,this._data=new Uint32Array(0)}return e.prototype.hook=function(e){this._data=new Uint32Array(0)},e.prototype.put=function(e,t,r){this._data=h.concat(this._data,e.subarray(t,r))},e.prototype.unhook=function(e){if(!e)return this._data=new Uint32Array(0),!0;var t=u.utf32ToString(this._data);switch(this._data=new Uint32Array(0),t){case'\"q':this._coreService.triggerDataEvent(s.C0.ESC+'P1$r0\"q'+s.C0.ESC+\"\\\\\");break;case'\"p':this._coreService.triggerDataEvent(s.C0.ESC+'P1$r61;1\"p'+s.C0.ESC+\"\\\\\");break;case\"r\":var r=this._bufferService.buffer.scrollTop+1+\";\"+(this._bufferService.buffer.scrollBottom+1)+\"r\";this._coreService.triggerDataEvent(s.C0.ESC+\"P1$r\"+r+s.C0.ESC+\"\\\\\");break;case\"m\":this._coreService.triggerDataEvent(s.C0.ESC+\"P1$r0m\"+s.C0.ESC+\"\\\\\");break;case\" q\":var i={block:2,underline:4,bar:6}[this._optionsService.options.cursorStyle];i-=this._optionsService.options.cursorBlink?1:0,this._coreService.triggerDataEvent(s.C0.ESC+\"P1$r\"+i+\" q\"+s.C0.ESC+\"\\\\\");break;default:this._logService.debug(\"Unknown DCS $q %s\",t),this._coreService.triggerDataEvent(s.C0.ESC+\"P0$r\"+s.C0.ESC+\"\\\\\")}return!0},e}(),E=function(e){function t(t,r,i,n,o,l,h,d,v){void 0===v&&(v=new c.EscapeSequenceParser);var g=e.call(this)||this;g._bufferService=t,g._charsetService=r,g._coreService=i,g._dirtyRowService=n,g._logService=o,g._optionsService=l,g._coreMouseService=h,g._unicodeService=d,g._parser=v,g._parseBuffer=new Uint32Array(4096),g._stringDecoder=new u.StringToUtf32,g._utf8Decoder=new u.Utf8ToUtf32,g._workCell=new p.CellData,g._windowTitle=\"\",g._iconName=\"\",g._windowTitleStack=[],g._iconNameStack=[],g._curAttrData=f.DEFAULT_ATTR_DATA.clone(),g._eraseAttrDataInternal=f.DEFAULT_ATTR_DATA.clone(),g._onRequestBell=new _.EventEmitter,g._onRequestRefreshRows=new _.EventEmitter,g._onRequestReset=new _.EventEmitter,g._onRequestSyncScrollBar=new _.EventEmitter,g._onRequestWindowsOptionsReport=new _.EventEmitter,g._onA11yChar=new _.EventEmitter,g._onA11yTab=new _.EventEmitter,g._onCursorMove=new _.EventEmitter,g._onLineFeed=new _.EventEmitter,g._onScroll=new _.EventEmitter,g._onTitleChange=new _.EventEmitter,g._onAnsiColorChange=new _.EventEmitter,g._parseStack={paused:!1,cursorStartX:0,cursorStartY:0,decodedLength:0,position:0},g.register(g._parser),g._parser.setCsiHandlerFallback((function(e,t){g._logService.debug(\"Unknown CSI code: \",{identifier:g._parser.identToString(e),params:t.toArray()})})),g._parser.setEscHandlerFallback((function(e){g._logService.debug(\"Unknown ESC code: \",{identifier:g._parser.identToString(e)})})),g._parser.setExecuteHandlerFallback((function(e){g._logService.debug(\"Unknown EXECUTE code: \",{code:e})})),g._parser.setOscHandlerFallback((function(e,t,r){g._logService.debug(\"Unknown OSC code: \",{identifier:e,action:t,data:r})})),g._parser.setDcsHandlerFallback((function(e,t,r){\"HOOK\"===t&&(r=r.toArray()),g._logService.debug(\"Unknown DCS code: \",{identifier:g._parser.identToString(e),action:t,payload:r})})),g._parser.setPrintHandler((function(e,t,r){return g.print(e,t,r)})),g._parser.registerCsiHandler({final:\"@\"},(function(e){return g.insertChars(e)})),g._parser.registerCsiHandler({intermediates:\" \",final:\"@\"},(function(e){return g.scrollLeft(e)})),g._parser.registerCsiHandler({final:\"A\"},(function(e){return g.cursorUp(e)})),g._parser.registerCsiHandler({intermediates:\" \",final:\"A\"},(function(e){return g.scrollRight(e)})),g._parser.registerCsiHandler({final:\"B\"},(function(e){return g.cursorDown(e)})),g._parser.registerCsiHandler({final:\"C\"},(function(e){return g.cursorForward(e)})),g._parser.registerCsiHandler({final:\"D\"},(function(e){return g.cursorBackward(e)})),g._parser.registerCsiHandler({final:\"E\"},(function(e){return g.cursorNextLine(e)})),g._parser.registerCsiHandler({final:\"F\"},(function(e){return g.cursorPrecedingLine(e)})),g._parser.registerCsiHandler({final:\"G\"},(function(e){return g.cursorCharAbsolute(e)})),g._parser.registerCsiHandler({final:\"H\"},(function(e){return g.cursorPosition(e)})),g._parser.registerCsiHandler({final:\"I\"},(function(e){return g.cursorForwardTab(e)})),g._parser.registerCsiHandler({final:\"J\"},(function(e){return g.eraseInDisplay(e)})),g._parser.registerCsiHandler({prefix:\"?\",final:\"J\"},(function(e){return g.eraseInDisplay(e)})),g._parser.registerCsiHandler({final:\"K\"},(function(e){return g.eraseInLine(e)})),g._parser.registerCsiHandler({prefix:\"?\",final:\"K\"},(function(e){return g.eraseInLine(e)})),g._parser.registerCsiHandler({final:\"L\"},(function(e){return g.insertLines(e)})),g._parser.registerCsiHandler({final:\"M\"},(function(e){return g.deleteLines(e)})),g._parser.registerCsiHandler({final:\"P\"},(function(e){return g.deleteChars(e)})),g._parser.registerCsiHandler({final:\"S\"},(function(e){return g.scrollUp(e)})),g._parser.registerCsiHandler({final:\"T\"},(function(e){return g.scrollDown(e)})),g._parser.registerCsiHandler({final:\"X\"},(function(e){return g.eraseChars(e)})),g._parser.registerCsiHandler({final:\"Z\"},(function(e){return g.cursorBackwardTab(e)})),g._parser.registerCsiHandler({final:\"`\"},(function(e){return g.charPosAbsolute(e)})),g._parser.registerCsiHandler({final:\"a\"},(function(e){return g.hPositionRelative(e)})),g._parser.registerCsiHandler({final:\"b\"},(function(e){return g.repeatPrecedingCharacter(e)})),g._parser.registerCsiHandler({final:\"c\"},(function(e){return g.sendDeviceAttributesPrimary(e)})),g._parser.registerCsiHandler({prefix:\">\",final:\"c\"},(function(e){return g.sendDeviceAttributesSecondary(e)})),g._parser.registerCsiHandler({final:\"d\"},(function(e){return g.linePosAbsolute(e)})),g._parser.registerCsiHandler({final:\"e\"},(function(e){return g.vPositionRelative(e)})),g._parser.registerCsiHandler({final:\"f\"},(function(e){return g.hVPosition(e)})),g._parser.registerCsiHandler({final:\"g\"},(function(e){return g.tabClear(e)})),g._parser.registerCsiHandler({final:\"h\"},(function(e){return g.setMode(e)})),g._parser.registerCsiHandler({prefix:\"?\",final:\"h\"},(function(e){return g.setModePrivate(e)})),g._parser.registerCsiHandler({final:\"l\"},(function(e){return g.resetMode(e)})),g._parser.registerCsiHandler({prefix:\"?\",final:\"l\"},(function(e){return g.resetModePrivate(e)})),g._parser.registerCsiHandler({final:\"m\"},(function(e){return g.charAttributes(e)})),g._parser.registerCsiHandler({final:\"n\"},(function(e){return g.deviceStatus(e)})),g._parser.registerCsiHandler({prefix:\"?\",final:\"n\"},(function(e){return g.deviceStatusPrivate(e)})),g._parser.registerCsiHandler({intermediates:\"!\",final:\"p\"},(function(e){return g.softReset(e)})),g._parser.registerCsiHandler({intermediates:\" \",final:\"q\"},(function(e){return g.setCursorStyle(e)})),g._parser.registerCsiHandler({final:\"r\"},(function(e){return g.setScrollRegion(e)})),g._parser.registerCsiHandler({final:\"s\"},(function(e){return g.saveCursor(e)})),g._parser.registerCsiHandler({final:\"t\"},(function(e){return g.windowOptions(e)})),g._parser.registerCsiHandler({final:\"u\"},(function(e){return g.restoreCursor(e)})),g._parser.registerCsiHandler({intermediates:\"'\",final:\"}\"},(function(e){return g.insertColumns(e)})),g._parser.registerCsiHandler({intermediates:\"'\",final:\"~\"},(function(e){return g.deleteColumns(e)})),g._parser.setExecuteHandler(s.C0.BEL,(function(){return g.bell()})),g._parser.setExecuteHandler(s.C0.LF,(function(){return g.lineFeed()})),g._parser.setExecuteHandler(s.C0.VT,(function(){return g.lineFeed()})),g._parser.setExecuteHandler(s.C0.FF,(function(){return g.lineFeed()})),g._parser.setExecuteHandler(s.C0.CR,(function(){return g.carriageReturn()})),g._parser.setExecuteHandler(s.C0.BS,(function(){return g.backspace()})),g._parser.setExecuteHandler(s.C0.HT,(function(){return g.tab()})),g._parser.setExecuteHandler(s.C0.SO,(function(){return g.shiftOut()})),g._parser.setExecuteHandler(s.C0.SI,(function(){return g.shiftIn()})),g._parser.setExecuteHandler(s.C1.IND,(function(){return g.index()})),g._parser.setExecuteHandler(s.C1.NEL,(function(){return g.nextLine()})),g._parser.setExecuteHandler(s.C1.HTS,(function(){return g.tabSet()})),g._parser.registerOscHandler(0,new y.OscHandler((function(e){return g.setTitle(e),g.setIconName(e),!0}))),g._parser.registerOscHandler(1,new y.OscHandler((function(e){return g.setIconName(e)}))),g._parser.registerOscHandler(2,new y.OscHandler((function(e){return g.setTitle(e)}))),g._parser.registerOscHandler(4,new y.OscHandler((function(e){return g.setAnsiColor(e)}))),g._parser.registerEscHandler({final:\"7\"},(function(){return g.saveCursor()})),g._parser.registerEscHandler({final:\"8\"},(function(){return g.restoreCursor()})),g._parser.registerEscHandler({final:\"D\"},(function(){return g.index()})),g._parser.registerEscHandler({final:\"E\"},(function(){return g.nextLine()})),g._parser.registerEscHandler({final:\"H\"},(function(){return g.tabSet()})),g._parser.registerEscHandler({final:\"M\"},(function(){return g.reverseIndex()})),g._parser.registerEscHandler({final:\"=\"},(function(){return g.keypadApplicationMode()})),g._parser.registerEscHandler({final:\">\"},(function(){return g.keypadNumericMode()})),g._parser.registerEscHandler({final:\"c\"},(function(){return g.fullReset()})),g._parser.registerEscHandler({final:\"n\"},(function(){return g.setgLevel(2)})),g._parser.registerEscHandler({final:\"o\"},(function(){return g.setgLevel(3)})),g._parser.registerEscHandler({final:\"|\"},(function(){return g.setgLevel(3)})),g._parser.registerEscHandler({final:\"}\"},(function(){return g.setgLevel(2)})),g._parser.registerEscHandler({final:\"~\"},(function(){return g.setgLevel(1)})),g._parser.registerEscHandler({intermediates:\"%\",final:\"@\"},(function(){return g.selectDefaultCharset()})),g._parser.registerEscHandler({intermediates:\"%\",final:\"G\"},(function(){return g.selectDefaultCharset()}));var b=function(e){S._parser.registerEscHandler({intermediates:\"(\",final:e},(function(){return g.selectCharset(\"(\"+e)})),S._parser.registerEscHandler({intermediates:\")\",final:e},(function(){return g.selectCharset(\")\"+e)})),S._parser.registerEscHandler({intermediates:\"*\",final:e},(function(){return g.selectCharset(\"*\"+e)})),S._parser.registerEscHandler({intermediates:\"+\",final:e},(function(){return g.selectCharset(\"+\"+e)})),S._parser.registerEscHandler({intermediates:\"-\",final:e},(function(){return g.selectCharset(\"-\"+e)})),S._parser.registerEscHandler({intermediates:\".\",final:e},(function(){return g.selectCharset(\".\"+e)})),S._parser.registerEscHandler({intermediates:\"/\",final:e},(function(){return g.selectCharset(\"/\"+e)}))},S=this;for(var m in a.CHARSETS)b(m);return g._parser.registerEscHandler({intermediates:\"#\",final:\"8\"},(function(){return g.screenAlignmentPattern()})),g._parser.setErrorHandler((function(e){return g._logService.error(\"Parsing error: \",e),e})),g._parser.registerDcsHandler({intermediates:\"$\",final:\"q\"},new w(g._bufferService,g._coreService,g._logService,g._optionsService)),g}return n(t,e),Object.defineProperty(t.prototype,\"onRequestBell\",{get:function(){return this._onRequestBell.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"onRequestRefreshRows\",{get:function(){return this._onRequestRefreshRows.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"onRequestReset\",{get:function(){return this._onRequestReset.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"onRequestSyncScrollBar\",{get:function(){return this._onRequestSyncScrollBar.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"onRequestWindowsOptionsReport\",{get:function(){return this._onRequestWindowsOptionsReport.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"onA11yChar\",{get:function(){return this._onA11yChar.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"onA11yTab\",{get:function(){return this._onA11yTab.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"onCursorMove\",{get:function(){return this._onCursorMove.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"onLineFeed\",{get:function(){return this._onLineFeed.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"onScroll\",{get:function(){return this._onScroll.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"onTitleChange\",{get:function(){return this._onTitleChange.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"onAnsiColorChange\",{get:function(){return this._onAnsiColorChange.event},enumerable:!1,configurable:!0}),t.prototype.dispose=function(){e.prototype.dispose.call(this)},t.prototype._preserveStack=function(e,t,r,i){this._parseStack.paused=!0,this._parseStack.cursorStartX=e,this._parseStack.cursorStartY=t,this._parseStack.decodedLength=r,this._parseStack.position=i},t.prototype._logSlowResolvingAsync=function(e){this._logService.logLevel<=g.LogLevelEnum.WARN&&Promise.race([e,new Promise((function(e,t){return setTimeout((function(){return t(\"#SLOW_TIMEOUT\")}),5e3)}))]).catch((function(e){if(\"#SLOW_TIMEOUT\"!==e)throw e;console.warn(\"async parser handler taking longer than 5000 ms\")}))},t.prototype.parse=function(e,t){var r,i=this._bufferService.buffer,n=i.x,o=i.y,s=0,a=this._parseStack.paused;if(a){if(r=this._parser.parse(this._parseBuffer,this._parseStack.decodedLength,t))return this._logSlowResolvingAsync(r),r;n=this._parseStack.cursorStartX,o=this._parseStack.cursorStartY,this._parseStack.paused=!1,e.length>m&&(s=this._parseStack.position+m)}if(this._logService.debug(\"parsing data\",e),this._parseBuffer.lengthm)for(var c=s;c0&&2===_.getWidth(o.x-1)&&_.setCellFromCodePoint(o.x-1,0,1,f.fg,f.bg,f.extended);for(var p=t;p=c)if(l){for(;o.x=this._bufferService.rows&&(o.y=this._bufferService.rows-1),o.lines.get(o.ybase+o.y).isWrapped=!0),_=o.lines.get(o.ybase+o.y)}else if(o.x=c-1,2===n)continue;if(h&&(_.insertCells(o.x,n,o.getNullCell(f),f),2===_.getWidth(c-1)&&_.setCellFromCodePoint(c-1,d.NULL_CELL_CODE,d.NULL_CELL_WIDTH,f.fg,f.bg,f.extended)),_.setCellFromCodePoint(o.x++,i,n,f.fg,f.bg,f.extended),n>0)for(;--n;)_.setCellFromCodePoint(o.x++,0,0,f.fg,f.bg,f.extended)}else _.getWidth(o.x-1)?_.addCodepointToCell(o.x-1,i):_.addCodepointToCell(o.x-2,i)}r-t>0&&(_.loadCell(o.x-1,this._workCell),2===this._workCell.getWidth()||this._workCell.getCode()>65535?this._parser.precedingCodepoint=0:this._workCell.isCombined()?this._parser.precedingCodepoint=this._workCell.getChars().charCodeAt(0):this._parser.precedingCodepoint=this._workCell.content),o.x0&&0===_.getWidth(o.x)&&!_.hasContent(o.x)&&_.setCellFromCodePoint(o.x,0,1,f.fg,f.bg,f.extended),this._dirtyRowService.markDirty(o.y)},t.prototype.registerCsiHandler=function(e,t){var r=this;return\"t\"!==e.final||e.prefix||e.intermediates?this._parser.registerCsiHandler(e,t):this._parser.registerCsiHandler(e,(function(e){return!C(e.params[0],r._optionsService.options.windowOptions)||t(e)}))},t.prototype.registerDcsHandler=function(e,t){return this._parser.registerDcsHandler(e,new b.DcsHandler(t))},t.prototype.registerEscHandler=function(e,t){return this._parser.registerEscHandler(e,t)},t.prototype.registerOscHandler=function(e,t){return this._parser.registerOscHandler(e,new y.OscHandler(t))},t.prototype.bell=function(){return this._onRequestBell.fire(),!0},t.prototype.lineFeed=function(){var e=this._bufferService.buffer;return this._dirtyRowService.markDirty(e.y),this._optionsService.options.convertEol&&(e.x=0),e.y++,e.y===e.scrollBottom+1?(e.y--,this._bufferService.scroll(this._eraseAttrData())):e.y>=this._bufferService.rows&&(e.y=this._bufferService.rows-1),e.x>=this._bufferService.cols&&e.x--,this._dirtyRowService.markDirty(e.y),this._onLineFeed.fire(),!0},t.prototype.carriageReturn=function(){return this._bufferService.buffer.x=0,!0},t.prototype.backspace=function(){var e,t=this._bufferService.buffer;if(!this._coreService.decPrivateModes.reverseWraparound)return this._restrictCursor(),t.x>0&&t.x--,!0;if(this._restrictCursor(this._bufferService.cols),t.x>0)t.x--;else if(0===t.x&&t.y>t.scrollTop&&t.y<=t.scrollBottom&&(null===(e=t.lines.get(t.ybase+t.y))||void 0===e?void 0:e.isWrapped)){t.lines.get(t.ybase+t.y).isWrapped=!1,t.y--,t.x=this._bufferService.cols-1;var r=t.lines.get(t.ybase+t.y);r.hasWidth(t.x)&&!r.hasContent(t.x)&&t.x--}return this._restrictCursor(),!0},t.prototype.tab=function(){if(this._bufferService.buffer.x>=this._bufferService.cols)return!0;var e=this._bufferService.buffer.x;return this._bufferService.buffer.x=this._bufferService.buffer.nextStop(),this._optionsService.options.screenReaderMode&&this._onA11yTab.fire(this._bufferService.buffer.x-e),!0},t.prototype.shiftOut=function(){return this._charsetService.setgLevel(1),!0},t.prototype.shiftIn=function(){return this._charsetService.setgLevel(0),!0},t.prototype._restrictCursor=function(e){void 0===e&&(e=this._bufferService.cols-1),this._bufferService.buffer.x=Math.min(e,Math.max(0,this._bufferService.buffer.x)),this._bufferService.buffer.y=this._coreService.decPrivateModes.origin?Math.min(this._bufferService.buffer.scrollBottom,Math.max(this._bufferService.buffer.scrollTop,this._bufferService.buffer.y)):Math.min(this._bufferService.rows-1,Math.max(0,this._bufferService.buffer.y)),this._dirtyRowService.markDirty(this._bufferService.buffer.y)},t.prototype._setCursor=function(e,t){this._dirtyRowService.markDirty(this._bufferService.buffer.y),this._coreService.decPrivateModes.origin?(this._bufferService.buffer.x=e,this._bufferService.buffer.y=this._bufferService.buffer.scrollTop+t):(this._bufferService.buffer.x=e,this._bufferService.buffer.y=t),this._restrictCursor(),this._dirtyRowService.markDirty(this._bufferService.buffer.y)},t.prototype._moveCursor=function(e,t){this._restrictCursor(),this._setCursor(this._bufferService.buffer.x+e,this._bufferService.buffer.y+t)},t.prototype.cursorUp=function(e){var t=this._bufferService.buffer.y-this._bufferService.buffer.scrollTop;return t>=0?this._moveCursor(0,-Math.min(t,e.params[0]||1)):this._moveCursor(0,-(e.params[0]||1)),!0},t.prototype.cursorDown=function(e){var t=this._bufferService.buffer.scrollBottom-this._bufferService.buffer.y;return t>=0?this._moveCursor(0,Math.min(t,e.params[0]||1)):this._moveCursor(0,e.params[0]||1),!0},t.prototype.cursorForward=function(e){return this._moveCursor(e.params[0]||1,0),!0},t.prototype.cursorBackward=function(e){return this._moveCursor(-(e.params[0]||1),0),!0},t.prototype.cursorNextLine=function(e){return this.cursorDown(e),this._bufferService.buffer.x=0,!0},t.prototype.cursorPrecedingLine=function(e){return this.cursorUp(e),this._bufferService.buffer.x=0,!0},t.prototype.cursorCharAbsolute=function(e){return this._setCursor((e.params[0]||1)-1,this._bufferService.buffer.y),!0},t.prototype.cursorPosition=function(e){return this._setCursor(e.length>=2?(e.params[1]||1)-1:0,(e.params[0]||1)-1),!0},t.prototype.charPosAbsolute=function(e){return this._setCursor((e.params[0]||1)-1,this._bufferService.buffer.y),!0},t.prototype.hPositionRelative=function(e){return this._moveCursor(e.params[0]||1,0),!0},t.prototype.linePosAbsolute=function(e){return this._setCursor(this._bufferService.buffer.x,(e.params[0]||1)-1),!0},t.prototype.vPositionRelative=function(e){return this._moveCursor(0,e.params[0]||1),!0},t.prototype.hVPosition=function(e){return this.cursorPosition(e),!0},t.prototype.tabClear=function(e){var t=e.params[0];return 0===t?delete this._bufferService.buffer.tabs[this._bufferService.buffer.x]:3===t&&(this._bufferService.buffer.tabs={}),!0},t.prototype.cursorForwardTab=function(e){if(this._bufferService.buffer.x>=this._bufferService.cols)return!0;for(var t=e.params[0]||1;t--;)this._bufferService.buffer.x=this._bufferService.buffer.nextStop();return!0},t.prototype.cursorBackwardTab=function(e){if(this._bufferService.buffer.x>=this._bufferService.cols)return!0;for(var t=e.params[0]||1,r=this._bufferService.buffer;t--;)r.x=r.prevStop();return!0},t.prototype._eraseInBufferLine=function(e,t,r,i){void 0===i&&(i=!1);var n=this._bufferService.buffer.lines.get(this._bufferService.buffer.ybase+e);n.replaceCells(t,r,this._bufferService.buffer.getNullCell(this._eraseAttrData()),this._eraseAttrData()),i&&(n.isWrapped=!1)},t.prototype._resetBufferLine=function(e){var t=this._bufferService.buffer.lines.get(this._bufferService.buffer.ybase+e);t.fill(this._bufferService.buffer.getNullCell(this._eraseAttrData())),t.isWrapped=!1},t.prototype.eraseInDisplay=function(e){var t;switch(this._restrictCursor(),e.params[0]){case 0:for(t=this._bufferService.buffer.y,this._dirtyRowService.markDirty(t),this._eraseInBufferLine(t++,this._bufferService.buffer.x,this._bufferService.cols,0===this._bufferService.buffer.x);t=this._bufferService.cols&&(this._bufferService.buffer.lines.get(t+1).isWrapped=!1);t--;)this._resetBufferLine(t);this._dirtyRowService.markDirty(0);break;case 2:for(t=this._bufferService.rows,this._dirtyRowService.markDirty(t-1);t--;)this._resetBufferLine(t);this._dirtyRowService.markDirty(0);break;case 3:var r=this._bufferService.buffer.lines.length-this._bufferService.rows;r>0&&(this._bufferService.buffer.lines.trimStart(r),this._bufferService.buffer.ybase=Math.max(this._bufferService.buffer.ybase-r,0),this._bufferService.buffer.ydisp=Math.max(this._bufferService.buffer.ydisp-r,0),this._onScroll.fire(0))}return!0},t.prototype.eraseInLine=function(e){switch(this._restrictCursor(),e.params[0]){case 0:this._eraseInBufferLine(this._bufferService.buffer.y,this._bufferService.buffer.x,this._bufferService.cols);break;case 1:this._eraseInBufferLine(this._bufferService.buffer.y,0,this._bufferService.buffer.x+1);break;case 2:this._eraseInBufferLine(this._bufferService.buffer.y,0,this._bufferService.cols)}return this._dirtyRowService.markDirty(this._bufferService.buffer.y),!0},t.prototype.insertLines=function(e){this._restrictCursor();var t=e.params[0]||1,r=this._bufferService.buffer;if(r.y>r.scrollBottom||r.yr.scrollBottom||r.yt.scrollBottom||t.yt.scrollBottom||t.yt.scrollBottom||t.yt.scrollBottom||t.y0||(this._is(\"xterm\")||this._is(\"rxvt-unicode\")||this._is(\"screen\")?this._coreService.triggerDataEvent(s.C0.ESC+\"[?1;2c\"):this._is(\"linux\")&&this._coreService.triggerDataEvent(s.C0.ESC+\"[?6c\")),!0},t.prototype.sendDeviceAttributesSecondary=function(e){return e.params[0]>0||(this._is(\"xterm\")?this._coreService.triggerDataEvent(s.C0.ESC+\"[>0;276;0c\"):this._is(\"rxvt-unicode\")?this._coreService.triggerDataEvent(s.C0.ESC+\"[>85;95;0c\"):this._is(\"linux\")?this._coreService.triggerDataEvent(e.params[0]+\"c\"):this._is(\"screen\")&&this._coreService.triggerDataEvent(s.C0.ESC+\"[>83;40003;0c\")),!0},t.prototype._is=function(e){return 0===(this._optionsService.options.termName+\"\").indexOf(e)},t.prototype.setMode=function(e){for(var t=0;t=2||2===i[1]&&o+n>=5)break;i[1]&&(n=1)}while(++o+t5)&&(e=1),t.extended.underlineStyle=e,t.fg|=268435456,0===e&&(t.fg&=-268435457),t.updateExtended()},t.prototype.charAttributes=function(e){if(1===e.length&&0===e.params[0])return this._curAttrData.fg=f.DEFAULT_ATTR_DATA.fg,this._curAttrData.bg=f.DEFAULT_ATTR_DATA.bg,!0;for(var t,r=e.length,i=this._curAttrData,n=0;n=30&&t<=37?(i.fg&=-50331904,i.fg|=16777216|t-30):t>=40&&t<=47?(i.bg&=-50331904,i.bg|=16777216|t-40):t>=90&&t<=97?(i.fg&=-50331904,i.fg|=16777224|t-90):t>=100&&t<=107?(i.bg&=-50331904,i.bg|=16777224|t-100):0===t?(i.fg=f.DEFAULT_ATTR_DATA.fg,i.bg=f.DEFAULT_ATTR_DATA.bg):1===t?i.fg|=134217728:3===t?i.bg|=67108864:4===t?(i.fg|=268435456,this._processUnderline(e.hasSubParams(n)?e.getSubParams(n)[0]:1,i)):5===t?i.fg|=536870912:7===t?i.fg|=67108864:8===t?i.fg|=1073741824:2===t?i.bg|=134217728:21===t?this._processUnderline(2,i):22===t?(i.fg&=-134217729,i.bg&=-134217729):23===t?i.bg&=-67108865:24===t?i.fg&=-268435457:25===t?i.fg&=-536870913:27===t?i.fg&=-67108865:28===t?i.fg&=-1073741825:39===t?(i.fg&=-67108864,i.fg|=16777215&f.DEFAULT_ATTR_DATA.fg):49===t?(i.bg&=-67108864,i.bg|=16777215&f.DEFAULT_ATTR_DATA.bg):38===t||48===t||58===t?n+=this._extractColor(e,n,i):59===t?(i.extended=i.extended.clone(),i.extended.underlineColor=-1,i.updateExtended()):100===t?(i.fg&=-67108864,i.fg|=16777215&f.DEFAULT_ATTR_DATA.fg,i.bg&=-67108864,i.bg|=16777215&f.DEFAULT_ATTR_DATA.bg):this._logService.debug(\"Unknown SGR attribute: %d.\",t);return!0},t.prototype.deviceStatus=function(e){switch(e.params[0]){case 5:this._coreService.triggerDataEvent(s.C0.ESC+\"[0n\");break;case 6:var t=this._bufferService.buffer.y+1,r=this._bufferService.buffer.x+1;this._coreService.triggerDataEvent(s.C0.ESC+\"[\"+t+\";\"+r+\"R\")}return!0},t.prototype.deviceStatusPrivate=function(e){switch(e.params[0]){case 6:var t=this._bufferService.buffer.y+1,r=this._bufferService.buffer.x+1;this._coreService.triggerDataEvent(s.C0.ESC+\"[?\"+t+\";\"+r+\"R\")}return!0},t.prototype.softReset=function(e){return this._coreService.isCursorHidden=!1,this._onRequestSyncScrollBar.fire(),this._bufferService.buffer.scrollTop=0,this._bufferService.buffer.scrollBottom=this._bufferService.rows-1,this._curAttrData=f.DEFAULT_ATTR_DATA.clone(),this._coreService.reset(),this._charsetService.reset(),this._bufferService.buffer.savedX=0,this._bufferService.buffer.savedY=this._bufferService.buffer.ybase,this._bufferService.buffer.savedCurAttrData.fg=this._curAttrData.fg,this._bufferService.buffer.savedCurAttrData.bg=this._curAttrData.bg,this._bufferService.buffer.savedCharset=this._charsetService.charset,this._coreService.decPrivateModes.origin=!1,!0},t.prototype.setCursorStyle=function(e){var t=e.params[0]||1;switch(t){case 1:case 2:this._optionsService.options.cursorStyle=\"block\";break;case 3:case 4:this._optionsService.options.cursorStyle=\"underline\";break;case 5:case 6:this._optionsService.options.cursorStyle=\"bar\"}var r=t%2==1;return this._optionsService.options.cursorBlink=r,!0},t.prototype.setScrollRegion=function(e){var t,r=e.params[0]||1;return(e.length<2||(t=e.params[1])>this._bufferService.rows||0===t)&&(t=this._bufferService.rows),t>r&&(this._bufferService.buffer.scrollTop=r-1,this._bufferService.buffer.scrollBottom=t-1,this._setCursor(0,0)),!0},t.prototype.windowOptions=function(e){if(!C(e.params[0],this._optionsService.options.windowOptions))return!0;var t=e.length>1?e.params[1]:0;switch(e.params[0]){case 14:2!==t&&this._onRequestWindowsOptionsReport.fire(o.GET_WIN_SIZE_PIXELS);break;case 16:this._onRequestWindowsOptionsReport.fire(o.GET_CELL_SIZE_PIXELS);break;case 18:this._bufferService&&this._coreService.triggerDataEvent(s.C0.ESC+\"[8;\"+this._bufferService.rows+\";\"+this._bufferService.cols+\"t\");break;case 22:0!==t&&2!==t||(this._windowTitleStack.push(this._windowTitle),this._windowTitleStack.length>10&&this._windowTitleStack.shift()),0!==t&&1!==t||(this._iconNameStack.push(this._iconName),this._iconNameStack.length>10&&this._iconNameStack.shift());break;case 23:0!==t&&2!==t||this._windowTitleStack.length&&this.setTitle(this._windowTitleStack.pop()),0!==t&&1!==t||this._iconNameStack.length&&this.setIconName(this._iconNameStack.pop())}return!0},t.prototype.saveCursor=function(e){return this._bufferService.buffer.savedX=this._bufferService.buffer.x,this._bufferService.buffer.savedY=this._bufferService.buffer.ybase+this._bufferService.buffer.y,this._bufferService.buffer.savedCurAttrData.fg=this._curAttrData.fg,this._bufferService.buffer.savedCurAttrData.bg=this._curAttrData.bg,this._bufferService.buffer.savedCharset=this._charsetService.charset,!0},t.prototype.restoreCursor=function(e){return this._bufferService.buffer.x=this._bufferService.buffer.savedX||0,this._bufferService.buffer.y=Math.max(this._bufferService.buffer.savedY-this._bufferService.buffer.ybase,0),this._curAttrData.fg=this._bufferService.buffer.savedCurAttrData.fg,this._curAttrData.bg=this._bufferService.buffer.savedCurAttrData.bg,this._charsetService.charset=this._savedCharset,this._bufferService.buffer.savedCharset&&(this._charsetService.charset=this._bufferService.buffer.savedCharset),this._restrictCursor(),!0},t.prototype.setTitle=function(e){return this._windowTitle=e,this._onTitleChange.fire(e),!0},t.prototype.setIconName=function(e){return this._iconName=e,!0},t.prototype._parseAnsiColorChange=function(e){for(var t,r={colors:[]},i=/(\\d+);rgb:([\\da-f]{2})\\/([\\da-f]{2})\\/([\\da-f]{2})/gi;null!==(t=i.exec(e));)r.colors.push({colorIndex:parseInt(t[1]),red:parseInt(t[2],16),green:parseInt(t[3],16),blue:parseInt(t[4],16)});return 0===r.colors.length?null:r},t.prototype.setAnsiColor=function(e){var t=this._parseAnsiColorChange(e);return t?this._onAnsiColorChange.fire(t):this._logService.warn(\"Expected format ;rgb:// but got data: \"+e),!0},t.prototype.nextLine=function(){return this._bufferService.buffer.x=0,this.index(),!0},t.prototype.keypadApplicationMode=function(){return this._logService.debug(\"Serial port requested application keypad.\"),this._coreService.decPrivateModes.applicationKeypad=!0,this._onRequestSyncScrollBar.fire(),!0},t.prototype.keypadNumericMode=function(){return this._logService.debug(\"Switching back to normal keypad.\"),this._coreService.decPrivateModes.applicationKeypad=!1,this._onRequestSyncScrollBar.fire(),!0},t.prototype.selectDefaultCharset=function(){return this._charsetService.setgLevel(0),this._charsetService.setgCharset(0,a.DEFAULT_CHARSET),!0},t.prototype.selectCharset=function(e){return 2!==e.length?(this.selectDefaultCharset(),!0):(\"/\"===e[0]||this._charsetService.setgCharset(S[e[0]],a.CHARSETS[e[1]]||a.DEFAULT_CHARSET),!0)},t.prototype.index=function(){this._restrictCursor();var e=this._bufferService.buffer;return this._bufferService.buffer.y++,e.y===e.scrollBottom+1?(e.y--,this._bufferService.scroll(this._eraseAttrData())):e.y>=this._bufferService.rows&&(e.y=this._bufferService.rows-1),this._restrictCursor(),!0},t.prototype.tabSet=function(){return this._bufferService.buffer.tabs[this._bufferService.buffer.x]=!0,!0},t.prototype.reverseIndex=function(){this._restrictCursor();var e=this._bufferService.buffer;if(e.y===e.scrollTop){var t=e.scrollBottom-e.scrollTop;e.lines.shiftElements(e.ybase+e.y,t,1),e.lines.set(e.ybase+e.y,e.getBlankLine(this._eraseAttrData())),this._dirtyRowService.markRangeDirty(e.scrollTop,e.scrollBottom)}else e.y--,this._restrictCursor();return!0},t.prototype.fullReset=function(){return this._parser.reset(),this._onRequestReset.fire(),!0},t.prototype.reset=function(){this._curAttrData=f.DEFAULT_ATTR_DATA.clone(),this._eraseAttrDataInternal=f.DEFAULT_ATTR_DATA.clone()},t.prototype._eraseAttrData=function(){return this._eraseAttrDataInternal.bg&=-67108864,this._eraseAttrDataInternal.bg|=67108863&this._curAttrData.bg,this._eraseAttrDataInternal},t.prototype.setgLevel=function(e){return this._charsetService.setgLevel(e),!0},t.prototype.screenAlignmentPattern=function(){var e=new p.CellData;e.content=1<<22|\"E\".charCodeAt(0),e.fg=this._curAttrData.fg,e.bg=this._curAttrData.bg;var t=this._bufferService.buffer;this._setCursor(0,0);for(var r=0;r{Object.defineProperty(t,\"__esModule\",{value:!0}),t.getDisposeArrayDisposable=t.disposeArray=t.Disposable=void 0;var r=function(){function e(){this._disposables=[],this._isDisposed=!1}return e.prototype.dispose=function(){this._isDisposed=!0;for(var e=0,t=this._disposables;e{Object.defineProperty(t,\"__esModule\",{value:!0}),t.isLinux=t.isWindows=t.isIphone=t.isIpad=t.isMac=t.isSafari=t.isFirefox=void 0;var r=\"undefined\"==typeof navigator,i=r?\"node\":navigator.userAgent,n=r?\"node\":navigator.platform;t.isFirefox=i.includes(\"Firefox\"),t.isSafari=/^((?!chrome|android).)*safari/i.test(i),t.isMac=[\"Macintosh\",\"MacIntel\",\"MacPPC\",\"Mac68K\"].includes(n),t.isIpad=\"iPad\"===n,t.isIphone=\"iPhone\"===n,t.isWindows=[\"Windows\",\"Win16\",\"Win32\",\"WinCE\"].includes(n),t.isLinux=n.indexOf(\"Linux\")>=0},8273:(e,t)=>{function r(e,t,r,i){if(void 0===r&&(r=0),void 0===i&&(i=e.length),r>=e.length)return e;r=(e.length+r)%e.length,i=i>=e.length?e.length:(e.length+i)%e.length;for(var n=r;n{Object.defineProperty(t,\"__esModule\",{value:!0}),t.updateWindowsModeWrappedState=void 0;var i=r(643);t.updateWindowsModeWrappedState=function(e){var t=e.buffer.lines.get(e.buffer.ybase+e.buffer.y-1),r=null==t?void 0:t.get(e.cols-1),n=e.buffer.lines.get(e.buffer.ybase+e.buffer.y);n&&r&&(n.isWrapped=r[i.CHAR_DATA_CODE_INDEX]!==i.NULL_CELL_CODE&&r[i.CHAR_DATA_CODE_INDEX]!==i.WHITESPACE_CELL_CODE)}},3734:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.ExtendedAttrs=t.AttributeData=void 0;var r=function(){function e(){this.fg=0,this.bg=0,this.extended=new i}return e.toColorRGB=function(e){return[e>>>16&255,e>>>8&255,255&e]},e.fromColorRGB=function(e){return(255&e[0])<<16|(255&e[1])<<8|255&e[2]},e.prototype.clone=function(){var t=new e;return t.fg=this.fg,t.bg=this.bg,t.extended=this.extended.clone(),t},e.prototype.isInverse=function(){return 67108864&this.fg},e.prototype.isBold=function(){return 134217728&this.fg},e.prototype.isUnderline=function(){return 268435456&this.fg},e.prototype.isBlink=function(){return 536870912&this.fg},e.prototype.isInvisible=function(){return 1073741824&this.fg},e.prototype.isItalic=function(){return 67108864&this.bg},e.prototype.isDim=function(){return 134217728&this.bg},e.prototype.getFgColorMode=function(){return 50331648&this.fg},e.prototype.getBgColorMode=function(){return 50331648&this.bg},e.prototype.isFgRGB=function(){return 50331648==(50331648&this.fg)},e.prototype.isBgRGB=function(){return 50331648==(50331648&this.bg)},e.prototype.isFgPalette=function(){return 16777216==(50331648&this.fg)||33554432==(50331648&this.fg)},e.prototype.isBgPalette=function(){return 16777216==(50331648&this.bg)||33554432==(50331648&this.bg)},e.prototype.isFgDefault=function(){return 0==(50331648&this.fg)},e.prototype.isBgDefault=function(){return 0==(50331648&this.bg)},e.prototype.isAttributeDefault=function(){return 0===this.fg&&0===this.bg},e.prototype.getFgColor=function(){switch(50331648&this.fg){case 16777216:case 33554432:return 255&this.fg;case 50331648:return 16777215&this.fg;default:return-1}},e.prototype.getBgColor=function(){switch(50331648&this.bg){case 16777216:case 33554432:return 255&this.bg;case 50331648:return 16777215&this.bg;default:return-1}},e.prototype.hasExtendedAttrs=function(){return 268435456&this.bg},e.prototype.updateExtended=function(){this.extended.isEmpty()?this.bg&=-268435457:this.bg|=268435456},e.prototype.getUnderlineColor=function(){if(268435456&this.bg&&~this.extended.underlineColor)switch(50331648&this.extended.underlineColor){case 16777216:case 33554432:return 255&this.extended.underlineColor;case 50331648:return 16777215&this.extended.underlineColor;default:return this.getFgColor()}return this.getFgColor()},e.prototype.getUnderlineColorMode=function(){return 268435456&this.bg&&~this.extended.underlineColor?50331648&this.extended.underlineColor:this.getFgColorMode()},e.prototype.isUnderlineColorRGB=function(){return 268435456&this.bg&&~this.extended.underlineColor?50331648==(50331648&this.extended.underlineColor):this.isFgRGB()},e.prototype.isUnderlineColorPalette=function(){return 268435456&this.bg&&~this.extended.underlineColor?16777216==(50331648&this.extended.underlineColor)||33554432==(50331648&this.extended.underlineColor):this.isFgPalette()},e.prototype.isUnderlineColorDefault=function(){return 268435456&this.bg&&~this.extended.underlineColor?0==(50331648&this.extended.underlineColor):this.isFgDefault()},e.prototype.getUnderlineStyle=function(){return 268435456&this.fg?268435456&this.bg?this.extended.underlineStyle:1:0},e}();t.AttributeData=r;var i=function(){function e(e,t){void 0===e&&(e=0),void 0===t&&(t=-1),this.underlineStyle=e,this.underlineColor=t}return e.prototype.clone=function(){return new e(this.underlineStyle,this.underlineColor)},e.prototype.isEmpty=function(){return 0===this.underlineStyle},e}();t.ExtendedAttrs=i},9092:(e,t,r)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.BufferStringIterator=t.Buffer=t.MAX_BUFFER_SIZE=void 0;var i=r(6349),n=r(8437),o=r(511),s=r(643),a=r(4634),c=r(4863),l=r(7116),h=r(3734);t.MAX_BUFFER_SIZE=4294967295;var u=function(){function e(e,t,r){this._hasScrollback=e,this._optionsService=t,this._bufferService=r,this.ydisp=0,this.ybase=0,this.y=0,this.x=0,this.savedY=0,this.savedX=0,this.savedCurAttrData=n.DEFAULT_ATTR_DATA.clone(),this.savedCharset=l.DEFAULT_CHARSET,this.markers=[],this._nullCell=o.CellData.fromCharData([0,s.NULL_CELL_CHAR,s.NULL_CELL_WIDTH,s.NULL_CELL_CODE]),this._whitespaceCell=o.CellData.fromCharData([0,s.WHITESPACE_CELL_CHAR,s.WHITESPACE_CELL_WIDTH,s.WHITESPACE_CELL_CODE]),this._cols=this._bufferService.cols,this._rows=this._bufferService.rows,this.lines=new i.CircularList(this._getCorrectBufferLength(this._rows)),this.scrollTop=0,this.scrollBottom=this._rows-1,this.setupTabStops()}return e.prototype.getNullCell=function(e){return e?(this._nullCell.fg=e.fg,this._nullCell.bg=e.bg,this._nullCell.extended=e.extended):(this._nullCell.fg=0,this._nullCell.bg=0,this._nullCell.extended=new h.ExtendedAttrs),this._nullCell},e.prototype.getWhitespaceCell=function(e){return e?(this._whitespaceCell.fg=e.fg,this._whitespaceCell.bg=e.bg,this._whitespaceCell.extended=e.extended):(this._whitespaceCell.fg=0,this._whitespaceCell.bg=0,this._whitespaceCell.extended=new h.ExtendedAttrs),this._whitespaceCell},e.prototype.getBlankLine=function(e,t){return new n.BufferLine(this._bufferService.cols,this.getNullCell(e),t)},Object.defineProperty(e.prototype,\"hasScrollback\",{get:function(){return this._hasScrollback&&this.lines.maxLength>this._rows},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"isCursorInViewport\",{get:function(){var e=this.ybase+this.y-this.ydisp;return e>=0&&et.MAX_BUFFER_SIZE?t.MAX_BUFFER_SIZE:r},e.prototype.fillViewportRows=function(e){if(0===this.lines.length){void 0===e&&(e=n.DEFAULT_ATTR_DATA);for(var t=this._rows;t--;)this.lines.push(this.getBlankLine(e))}},e.prototype.clear=function(){this.ydisp=0,this.ybase=0,this.y=0,this.x=0,this.lines=new i.CircularList(this._getCorrectBufferLength(this._rows)),this.scrollTop=0,this.scrollBottom=this._rows-1,this.setupTabStops()},e.prototype.resize=function(e,t){var r=this.getNullCell(n.DEFAULT_ATTR_DATA),i=this._getCorrectBufferLength(t);if(i>this.lines.maxLength&&(this.lines.maxLength=i),this.lines.length>0){if(this._cols0&&this.lines.length<=this.ybase+this.y+s+1?(this.ybase--,s++,this.ydisp>0&&this.ydisp--):this.lines.push(new n.BufferLine(e,r)));else for(a=this._rows;a>t;a--)this.lines.length>t+this.ybase&&(this.lines.length>this.ybase+this.y+1?this.lines.pop():(this.ybase++,this.ydisp++));if(i0&&(this.lines.trimStart(c),this.ybase=Math.max(this.ybase-c,0),this.ydisp=Math.max(this.ydisp-c,0),this.savedY=Math.max(this.savedY-c,0)),this.lines.maxLength=i}this.x=Math.min(this.x,e-1),this.y=Math.min(this.y,t-1),s&&(this.y+=s),this.savedX=Math.min(this.savedX,e-1),this.scrollTop=0}if(this.scrollBottom=t-1,this._isReflowEnabled&&(this._reflow(e,t),this._cols>e))for(o=0;othis._cols?this._reflowLarger(e,t):this._reflowSmaller(e,t))},e.prototype._reflowLarger=function(e,t){var r=a.reflowLargerGetLinesToRemove(this.lines,this._cols,e,this.ybase+this.y,this.getNullCell(n.DEFAULT_ATTR_DATA));if(r.length>0){var i=a.reflowLargerCreateNewLayout(this.lines,r);a.reflowLargerApplyNewLayout(this.lines,i.layout),this._reflowLargerAdjustViewport(e,t,i.countRemoved)}},e.prototype._reflowLargerAdjustViewport=function(e,t,r){for(var i=this.getNullCell(n.DEFAULT_ATTR_DATA),o=r;o-- >0;)0===this.ybase?(this.y>0&&this.y--,this.lines.length=0;s--){var c=this.lines.get(s);if(!(!c||!c.isWrapped&&c.getTrimmedLength()<=e)){for(var l=[c];c.isWrapped&&s>0;)c=this.lines.get(--s),l.unshift(c);var h=this.ybase+this.y;if(!(h>=s&&h0&&(i.push({start:s+l.length+o,newLines:p}),o+=p.length),l.push.apply(l,p);var y=_.length-1,b=_[y];0===b&&(b=_[--y]);for(var S=l.length-d-1,m=f;S>=0;){var C=Math.min(m,b);if(l[y].copyCellsFrom(l[S],m-C,b-C,C,!0),0==(b-=C)&&(b=_[--y]),0==(m-=C)){S--;var w=Math.max(S,0);m=a.getWrappedLineTrimmedLength(l,w,this._cols)}}for(v=0;v0;)0===this.ybase?this.y0){var L=[],k=[];for(v=0;v=0;v--)if(T&&T.start>R+O){for(var D=T.newLines.length-1;D>=0;D--)this.lines.set(v--,T.newLines[D]);v++,L.push({index:R+1,amount:T.newLines.length}),O+=T.newLines.length,T=i[++x]}else this.lines.set(v,k[R--]);var P=0;for(v=L.length-1;v>=0;v--)L[v].index+=P,this.lines.onInsertEmitter.fire(L[v]),P+=L[v].amount;var M=Math.max(0,A+o-this.lines.maxLength);M>0&&this.lines.onTrimEmitter.fire(M)}},e.prototype.stringIndexToBufferIndex=function(e,t,r){for(void 0===r&&(r=!1);t;){var i=this.lines.get(e);if(!i)return[-1,-1];for(var n=r?i.getTrimmedLength():i.length,o=0;o0&&this.lines.get(t).isWrapped;)t--;for(;r+10;);return e>=this._cols?this._cols-1:e<0?0:e},e.prototype.nextStop=function(e){for(null==e&&(e=this.x);!this.tabs[++e]&&e=this._cols?this._cols-1:e<0?0:e},e.prototype.addMarker=function(e){var t=this,r=new c.Marker(e);return this.markers.push(r),r.register(this.lines.onTrim((function(e){r.line-=e,r.line<0&&r.dispose()}))),r.register(this.lines.onInsert((function(e){r.line>=e.index&&(r.line+=e.amount)}))),r.register(this.lines.onDelete((function(e){r.line>=e.index&&r.linee.index&&(r.line-=e.amount)}))),r.register(r.onDispose((function(){return t._removeMarker(r)}))),r},e.prototype._removeMarker=function(e){this.markers.splice(this.markers.indexOf(e),1)},e.prototype.iterator=function(e,t,r,i,n){return new f(this,e,t,r,i,n)},e}();t.Buffer=u;var f=function(){function e(e,t,r,i,n,o){void 0===r&&(r=0),void 0===i&&(i=e.lines.length),void 0===n&&(n=0),void 0===o&&(o=0),this._buffer=e,this._trimRight=t,this._startIndex=r,this._endIndex=i,this._startOverscan=n,this._endOverscan=o,this._startIndex<0&&(this._startIndex=0),this._endIndex>this._buffer.lines.length&&(this._endIndex=this._buffer.lines.length),this._current=this._startIndex}return e.prototype.hasNext=function(){return this._currentthis._endIndex+this._endOverscan&&(e.last=this._endIndex+this._endOverscan),e.first=Math.max(e.first,0),e.last=Math.min(e.last,this._buffer.lines.length);for(var t=\"\",r=e.first;r<=e.last;++r)t+=this._buffer.translateBufferLineToString(r,this._trimRight);return this._current=e.last+1,{range:e,content:t}},e}();t.BufferStringIterator=f},8437:(e,t,r)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.BufferLine=t.DEFAULT_ATTR_DATA=void 0;var i=r(482),n=r(643),o=r(511),s=r(3734);t.DEFAULT_ATTR_DATA=Object.freeze(new s.AttributeData);var a=function(){function e(e,t,r){void 0===r&&(r=!1),this.isWrapped=r,this._combined={},this._extendedAttrs={},this._data=new Uint32Array(3*e);for(var i=t||o.CellData.fromCharData([0,n.NULL_CELL_CHAR,n.NULL_CELL_WIDTH,n.NULL_CELL_CODE]),s=0;s>22,2097152&t?this._combined[e].charCodeAt(this._combined[e].length-1):r]},e.prototype.set=function(e,t){this._data[3*e+1]=t[n.CHAR_DATA_ATTR_INDEX],t[n.CHAR_DATA_CHAR_INDEX].length>1?(this._combined[e]=t[1],this._data[3*e+0]=2097152|e|t[n.CHAR_DATA_WIDTH_INDEX]<<22):this._data[3*e+0]=t[n.CHAR_DATA_CHAR_INDEX].charCodeAt(0)|t[n.CHAR_DATA_WIDTH_INDEX]<<22},e.prototype.getWidth=function(e){return this._data[3*e+0]>>22},e.prototype.hasWidth=function(e){return 12582912&this._data[3*e+0]},e.prototype.getFg=function(e){return this._data[3*e+1]},e.prototype.getBg=function(e){return this._data[3*e+2]},e.prototype.hasContent=function(e){return 4194303&this._data[3*e+0]},e.prototype.getCodePoint=function(e){var t=this._data[3*e+0];return 2097152&t?this._combined[e].charCodeAt(this._combined[e].length-1):2097151&t},e.prototype.isCombined=function(e){return 2097152&this._data[3*e+0]},e.prototype.getString=function(e){var t=this._data[3*e+0];return 2097152&t?this._combined[e]:2097151&t?i.stringFromCodePoint(2097151&t):\"\"},e.prototype.loadCell=function(e,t){var r=3*e;return t.content=this._data[r+0],t.fg=this._data[r+1],t.bg=this._data[r+2],2097152&t.content&&(t.combinedData=this._combined[e]),268435456&t.bg&&(t.extended=this._extendedAttrs[e]),t},e.prototype.setCell=function(e,t){2097152&t.content&&(this._combined[e]=t.combinedData),268435456&t.bg&&(this._extendedAttrs[e]=t.extended),this._data[3*e+0]=t.content,this._data[3*e+1]=t.fg,this._data[3*e+2]=t.bg},e.prototype.setCellFromCodePoint=function(e,t,r,i,n,o){268435456&n&&(this._extendedAttrs[e]=o),this._data[3*e+0]=t|r<<22,this._data[3*e+1]=i,this._data[3*e+2]=n},e.prototype.addCodepointToCell=function(e,t){var r=this._data[3*e+0];2097152&r?this._combined[e]+=i.stringFromCodePoint(t):(2097151&r?(this._combined[e]=i.stringFromCodePoint(2097151&r)+i.stringFromCodePoint(t),r&=-2097152,r|=2097152):r=t|1<<22,this._data[3*e+0]=r)},e.prototype.insertCells=function(e,t,r,i){if((e%=this.length)&&2===this.getWidth(e-1)&&this.setCellFromCodePoint(e-1,0,1,(null==i?void 0:i.fg)||0,(null==i?void 0:i.bg)||0,(null==i?void 0:i.extended)||new s.ExtendedAttrs),t=0;--a)this.setCell(e+t+a,this.loadCell(e+a,n));for(a=0;athis.length){var r=new Uint32Array(3*e);this.length&&(3*e=e&&delete this._combined[o]}}else this._data=new Uint32Array(0),this._combined={};this.length=e}},e.prototype.fill=function(e){this._combined={},this._extendedAttrs={};for(var t=0;t=0;--e)if(4194303&this._data[3*e+0])return e+(this._data[3*e+0]>>22);return 0},e.prototype.copyCellsFrom=function(e,t,r,i,n){var o=e._data;if(n)for(var s=i-1;s>=0;s--)for(var a=0;a<3;a++)this._data[3*(r+s)+a]=o[3*(t+s)+a];else for(s=0;s=t&&(this._combined[l-t+r]=e._combined[l])}},e.prototype.translateToString=function(e,t,r){void 0===e&&(e=!1),void 0===t&&(t=0),void 0===r&&(r=this.length),e&&(r=Math.min(r,this.getTrimmedLength()));for(var o=\"\";t>22||1}return o},e}();t.BufferLine=a},4841:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.getRangeLength=void 0,t.getRangeLength=function(e,t){if(e.start.y===e.end.y)return e.end.x-e.start.x+1;if(e.start.y>e.end.y)throw new Error(\"Buffer range end (\"+e.end.x+\", \"+e.end.y+\") cannot be before start (\"+e.start.x+\", \"+e.start.y+\")\");return t*(e.end.y-e.start.y-1)+t-e.start.x+e.end.x}},4634:(e,t)=>{function r(e,t,r){if(t===e.length-1)return e[t].getTrimmedLength();var i=!e[t].hasContent(r-1)&&1===e[t].getWidth(r-1),n=2===e[t+1].getWidth(0);return i&&n?r-1:r}Object.defineProperty(t,\"__esModule\",{value:!0}),t.getWrappedLineTrimmedLength=t.reflowSmallerGetNewLineLengths=t.reflowLargerApplyNewLayout=t.reflowLargerCreateNewLayout=t.reflowLargerGetLinesToRemove=void 0,t.reflowLargerGetLinesToRemove=function(e,t,i,n,o){for(var s=[],a=0;a=a&&n0&&(S>u||0===h[S].getTrimmedLength());S--)b++;b>0&&(s.push(a+h.length-b),s.push(b)),a+=h.length-1}}}return s},t.reflowLargerCreateNewLayout=function(e,t){for(var r=[],i=0,n=t[i],o=0,s=0;sl&&(s-=l,a++);var h=2===e[a].getWidth(s-1);h&&s--;var u=h?i-1:i;n.push(u),c+=u}return n},t.getWrappedLineTrimmedLength=r},5295:function(e,t,r){var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});Object.defineProperty(t,\"__esModule\",{value:!0}),t.BufferSet=void 0;var o=r(9092),s=r(8460),a=function(e){function t(t,r){var i=e.call(this)||this;return i._optionsService=t,i._bufferService=r,i._onBufferActivate=i.register(new s.EventEmitter),i.reset(),i}return n(t,e),Object.defineProperty(t.prototype,\"onBufferActivate\",{get:function(){return this._onBufferActivate.event},enumerable:!1,configurable:!0}),t.prototype.reset=function(){this._normal=new o.Buffer(!0,this._optionsService,this._bufferService),this._normal.fillViewportRows(),this._alt=new o.Buffer(!1,this._optionsService,this._bufferService),this._activeBuffer=this._normal,this.setupTabStops()},Object.defineProperty(t.prototype,\"alt\",{get:function(){return this._alt},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"active\",{get:function(){return this._activeBuffer},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"normal\",{get:function(){return this._normal},enumerable:!1,configurable:!0}),t.prototype.activateNormalBuffer=function(){this._activeBuffer!==this._normal&&(this._normal.x=this._alt.x,this._normal.y=this._alt.y,this._alt.clear(),this._activeBuffer=this._normal,this._onBufferActivate.fire({activeBuffer:this._normal,inactiveBuffer:this._alt}))},t.prototype.activateAltBuffer=function(e){this._activeBuffer!==this._alt&&(this._alt.fillViewportRows(e),this._alt.x=this._normal.x,this._alt.y=this._normal.y,this._activeBuffer=this._alt,this._onBufferActivate.fire({activeBuffer:this._alt,inactiveBuffer:this._normal}))},t.prototype.resize=function(e,t){this._normal.resize(e,t),this._alt.resize(e,t)},t.prototype.setupTabStops=function(e){this._normal.setupTabStops(e),this._alt.setupTabStops(e)},t}(r(844).Disposable);t.BufferSet=a},511:function(e,t,r){var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});Object.defineProperty(t,\"__esModule\",{value:!0}),t.CellData=void 0;var o=r(482),s=r(643),a=r(3734),c=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.content=0,t.fg=0,t.bg=0,t.extended=new a.ExtendedAttrs,t.combinedData=\"\",t}return n(t,e),t.fromCharData=function(e){var r=new t;return r.setFromCharData(e),r},t.prototype.isCombined=function(){return 2097152&this.content},t.prototype.getWidth=function(){return this.content>>22},t.prototype.getChars=function(){return 2097152&this.content?this.combinedData:2097151&this.content?o.stringFromCodePoint(2097151&this.content):\"\"},t.prototype.getCode=function(){return this.isCombined()?this.combinedData.charCodeAt(this.combinedData.length-1):2097151&this.content},t.prototype.setFromCharData=function(e){this.fg=e[s.CHAR_DATA_ATTR_INDEX],this.bg=0;var t=!1;if(e[s.CHAR_DATA_CHAR_INDEX].length>2)t=!0;else if(2===e[s.CHAR_DATA_CHAR_INDEX].length){var r=e[s.CHAR_DATA_CHAR_INDEX].charCodeAt(0);if(55296<=r&&r<=56319){var i=e[s.CHAR_DATA_CHAR_INDEX].charCodeAt(1);56320<=i&&i<=57343?this.content=1024*(r-55296)+i-56320+65536|e[s.CHAR_DATA_WIDTH_INDEX]<<22:t=!0}else t=!0}else this.content=e[s.CHAR_DATA_CHAR_INDEX].charCodeAt(0)|e[s.CHAR_DATA_WIDTH_INDEX]<<22;t&&(this.combinedData=e[s.CHAR_DATA_CHAR_INDEX],this.content=2097152|e[s.CHAR_DATA_WIDTH_INDEX]<<22)},t.prototype.getAsCharData=function(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]},t}(a.AttributeData);t.CellData=c},643:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.WHITESPACE_CELL_CODE=t.WHITESPACE_CELL_WIDTH=t.WHITESPACE_CELL_CHAR=t.NULL_CELL_CODE=t.NULL_CELL_WIDTH=t.NULL_CELL_CHAR=t.CHAR_DATA_CODE_INDEX=t.CHAR_DATA_WIDTH_INDEX=t.CHAR_DATA_CHAR_INDEX=t.CHAR_DATA_ATTR_INDEX=t.DEFAULT_ATTR=t.DEFAULT_COLOR=void 0,t.DEFAULT_COLOR=256,t.DEFAULT_ATTR=256|t.DEFAULT_COLOR<<9,t.CHAR_DATA_ATTR_INDEX=0,t.CHAR_DATA_CHAR_INDEX=1,t.CHAR_DATA_WIDTH_INDEX=2,t.CHAR_DATA_CODE_INDEX=3,t.NULL_CELL_CHAR=\"\",t.NULL_CELL_WIDTH=1,t.NULL_CELL_CODE=0,t.WHITESPACE_CELL_CHAR=\" \",t.WHITESPACE_CELL_WIDTH=1,t.WHITESPACE_CELL_CODE=32},4863:function(e,t,r){var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});Object.defineProperty(t,\"__esModule\",{value:!0}),t.Marker=void 0;var o=r(8460),s=function(e){function t(r){var i=e.call(this)||this;return i.line=r,i._id=t._nextId++,i.isDisposed=!1,i._onDispose=new o.EventEmitter,i}return n(t,e),Object.defineProperty(t.prototype,\"id\",{get:function(){return this._id},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"onDispose\",{get:function(){return this._onDispose.event},enumerable:!1,configurable:!0}),t.prototype.dispose=function(){this.isDisposed||(this.isDisposed=!0,this.line=-1,this._onDispose.fire(),e.prototype.dispose.call(this))},t._nextId=1,t}(r(844).Disposable);t.Marker=s},7116:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.DEFAULT_CHARSET=t.CHARSETS=void 0,t.CHARSETS={},t.DEFAULT_CHARSET=t.CHARSETS.B,t.CHARSETS[0]={\"`\":\"◆\",a:\"▒\",b:\"␉\",c:\"␌\",d:\"␍\",e:\"␊\",f:\"°\",g:\"±\",h:\"␤\",i:\"␋\",j:\"┘\",k:\"┐\",l:\"┌\",m:\"└\",n:\"┼\",o:\"⎺\",p:\"⎻\",q:\"─\",r:\"⎼\",s:\"⎽\",t:\"├\",u:\"┤\",v:\"┴\",w:\"┬\",x:\"│\",y:\"≤\",z:\"≥\",\"{\":\"π\",\"|\":\"≠\",\"}\":\"£\",\"~\":\"·\"},t.CHARSETS.A={\"#\":\"£\"},t.CHARSETS.B=void 0,t.CHARSETS[4]={\"#\":\"£\",\"@\":\"¾\",\"[\":\"ij\",\"\\\\\":\"½\",\"]\":\"|\",\"{\":\"¨\",\"|\":\"f\",\"}\":\"¼\",\"~\":\"´\"},t.CHARSETS.C=t.CHARSETS[5]={\"[\":\"Ä\",\"\\\\\":\"Ö\",\"]\":\"Å\",\"^\":\"Ü\",\"`\":\"é\",\"{\":\"ä\",\"|\":\"ö\",\"}\":\"å\",\"~\":\"ü\"},t.CHARSETS.R={\"#\":\"£\",\"@\":\"à\",\"[\":\"°\",\"\\\\\":\"ç\",\"]\":\"§\",\"{\":\"é\",\"|\":\"ù\",\"}\":\"è\",\"~\":\"¨\"},t.CHARSETS.Q={\"@\":\"à\",\"[\":\"â\",\"\\\\\":\"ç\",\"]\":\"ê\",\"^\":\"î\",\"`\":\"ô\",\"{\":\"é\",\"|\":\"ù\",\"}\":\"è\",\"~\":\"û\"},t.CHARSETS.K={\"@\":\"§\",\"[\":\"Ä\",\"\\\\\":\"Ö\",\"]\":\"Ü\",\"{\":\"ä\",\"|\":\"ö\",\"}\":\"ü\",\"~\":\"ß\"},t.CHARSETS.Y={\"#\":\"£\",\"@\":\"§\",\"[\":\"°\",\"\\\\\":\"ç\",\"]\":\"é\",\"`\":\"ù\",\"{\":\"à\",\"|\":\"ò\",\"}\":\"è\",\"~\":\"ì\"},t.CHARSETS.E=t.CHARSETS[6]={\"@\":\"Ä\",\"[\":\"Æ\",\"\\\\\":\"Ø\",\"]\":\"Å\",\"^\":\"Ü\",\"`\":\"ä\",\"{\":\"æ\",\"|\":\"ø\",\"}\":\"å\",\"~\":\"ü\"},t.CHARSETS.Z={\"#\":\"£\",\"@\":\"§\",\"[\":\"¡\",\"\\\\\":\"Ñ\",\"]\":\"¿\",\"{\":\"°\",\"|\":\"ñ\",\"}\":\"ç\"},t.CHARSETS.H=t.CHARSETS[7]={\"@\":\"É\",\"[\":\"Ä\",\"\\\\\":\"Ö\",\"]\":\"Å\",\"^\":\"Ü\",\"`\":\"é\",\"{\":\"ä\",\"|\":\"ö\",\"}\":\"å\",\"~\":\"ü\"},t.CHARSETS[\"=\"]={\"#\":\"ù\",\"@\":\"à\",\"[\":\"é\",\"\\\\\":\"ç\",\"]\":\"ê\",\"^\":\"î\",_:\"è\",\"`\":\"ô\",\"{\":\"ä\",\"|\":\"ö\",\"}\":\"ü\",\"~\":\"û\"}},2584:(e,t)=>{var r,i;Object.defineProperty(t,\"__esModule\",{value:!0}),t.C1=t.C0=void 0,(i=t.C0||(t.C0={})).NUL=\"\\0\",i.SOH=\"\u0001\",i.STX=\"\u0002\",i.ETX=\"\u0003\",i.EOT=\"\u0004\",i.ENQ=\"\u0005\",i.ACK=\"\u0006\",i.BEL=\"\u0007\",i.BS=\"\\b\",i.HT=\"\\t\",i.LF=\"\\n\",i.VT=\"\\v\",i.FF=\"\\f\",i.CR=\"\\r\",i.SO=\"\u000e\",i.SI=\"\u000f\",i.DLE=\"\u0010\",i.DC1=\"\u0011\",i.DC2=\"\u0012\",i.DC3=\"\u0013\",i.DC4=\"\u0014\",i.NAK=\"\u0015\",i.SYN=\"\u0016\",i.ETB=\"\u0017\",i.CAN=\"\u0018\",i.EM=\"\u0019\",i.SUB=\"\u001a\",i.ESC=\"\u001b\",i.FS=\"\u001c\",i.GS=\"\u001d\",i.RS=\"\u001e\",i.US=\"\u001f\",i.SP=\" \",i.DEL=\"\",(r=t.C1||(t.C1={})).PAD=\"€\",r.HOP=\"\",r.BPH=\"‚\",r.NBH=\"ƒ\",r.IND=\"„\",r.NEL=\"…\",r.SSA=\"†\",r.ESA=\"‡\",r.HTS=\"ˆ\",r.HTJ=\"‰\",r.VTS=\"Š\",r.PLD=\"‹\",r.PLU=\"Œ\",r.RI=\"\",r.SS2=\"Ž\",r.SS3=\"\",r.DCS=\"\",r.PU1=\"‘\",r.PU2=\"’\",r.STS=\"“\",r.CCH=\"”\",r.MW=\"•\",r.SPA=\"–\",r.EPA=\"—\",r.SOS=\"˜\",r.SGCI=\"™\",r.SCI=\"š\",r.CSI=\"›\",r.ST=\"œ\",r.OSC=\"\",r.PM=\"ž\",r.APC=\"Ÿ\"},7399:(e,t,r)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.evaluateKeyboardEvent=void 0;var i=r(2584),n={48:[\"0\",\")\"],49:[\"1\",\"!\"],50:[\"2\",\"@\"],51:[\"3\",\"#\"],52:[\"4\",\"$\"],53:[\"5\",\"%\"],54:[\"6\",\"^\"],55:[\"7\",\"&\"],56:[\"8\",\"*\"],57:[\"9\",\"(\"],186:[\";\",\":\"],187:[\"=\",\"+\"],188:[\",\",\"<\"],189:[\"-\",\"_\"],190:[\".\",\">\"],191:[\"/\",\"?\"],192:[\"`\",\"~\"],219:[\"[\",\"{\"],220:[\"\\\\\",\"|\"],221:[\"]\",\"}\"],222:[\"'\",'\"']};t.evaluateKeyboardEvent=function(e,t,r,o){var s={type:0,cancel:!1,key:void 0},a=(e.shiftKey?1:0)|(e.altKey?2:0)|(e.ctrlKey?4:0)|(e.metaKey?8:0);switch(e.keyCode){case 0:\"UIKeyInputUpArrow\"===e.key?s.key=t?i.C0.ESC+\"OA\":i.C0.ESC+\"[A\":\"UIKeyInputLeftArrow\"===e.key?s.key=t?i.C0.ESC+\"OD\":i.C0.ESC+\"[D\":\"UIKeyInputRightArrow\"===e.key?s.key=t?i.C0.ESC+\"OC\":i.C0.ESC+\"[C\":\"UIKeyInputDownArrow\"===e.key&&(s.key=t?i.C0.ESC+\"OB\":i.C0.ESC+\"[B\");break;case 8:if(e.shiftKey){s.key=i.C0.BS;break}if(e.altKey){s.key=i.C0.ESC+i.C0.DEL;break}s.key=i.C0.DEL;break;case 9:if(e.shiftKey){s.key=i.C0.ESC+\"[Z\";break}s.key=i.C0.HT,s.cancel=!0;break;case 13:s.key=e.altKey?i.C0.ESC+i.C0.CR:i.C0.CR,s.cancel=!0;break;case 27:s.key=i.C0.ESC,e.altKey&&(s.key=i.C0.ESC+i.C0.ESC),s.cancel=!0;break;case 37:if(e.metaKey)break;a?(s.key=i.C0.ESC+\"[1;\"+(a+1)+\"D\",s.key===i.C0.ESC+\"[1;3D\"&&(s.key=i.C0.ESC+(r?\"b\":\"[1;5D\"))):s.key=t?i.C0.ESC+\"OD\":i.C0.ESC+\"[D\";break;case 39:if(e.metaKey)break;a?(s.key=i.C0.ESC+\"[1;\"+(a+1)+\"C\",s.key===i.C0.ESC+\"[1;3C\"&&(s.key=i.C0.ESC+(r?\"f\":\"[1;5C\"))):s.key=t?i.C0.ESC+\"OC\":i.C0.ESC+\"[C\";break;case 38:if(e.metaKey)break;a?(s.key=i.C0.ESC+\"[1;\"+(a+1)+\"A\",r||s.key!==i.C0.ESC+\"[1;3A\"||(s.key=i.C0.ESC+\"[1;5A\")):s.key=t?i.C0.ESC+\"OA\":i.C0.ESC+\"[A\";break;case 40:if(e.metaKey)break;a?(s.key=i.C0.ESC+\"[1;\"+(a+1)+\"B\",r||s.key!==i.C0.ESC+\"[1;3B\"||(s.key=i.C0.ESC+\"[1;5B\")):s.key=t?i.C0.ESC+\"OB\":i.C0.ESC+\"[B\";break;case 45:e.shiftKey||e.ctrlKey||(s.key=i.C0.ESC+\"[2~\");break;case 46:s.key=a?i.C0.ESC+\"[3;\"+(a+1)+\"~\":i.C0.ESC+\"[3~\";break;case 36:s.key=a?i.C0.ESC+\"[1;\"+(a+1)+\"H\":t?i.C0.ESC+\"OH\":i.C0.ESC+\"[H\";break;case 35:s.key=a?i.C0.ESC+\"[1;\"+(a+1)+\"F\":t?i.C0.ESC+\"OF\":i.C0.ESC+\"[F\";break;case 33:e.shiftKey?s.type=2:s.key=i.C0.ESC+\"[5~\";break;case 34:e.shiftKey?s.type=3:s.key=i.C0.ESC+\"[6~\";break;case 112:s.key=a?i.C0.ESC+\"[1;\"+(a+1)+\"P\":i.C0.ESC+\"OP\";break;case 113:s.key=a?i.C0.ESC+\"[1;\"+(a+1)+\"Q\":i.C0.ESC+\"OQ\";break;case 114:s.key=a?i.C0.ESC+\"[1;\"+(a+1)+\"R\":i.C0.ESC+\"OR\";break;case 115:s.key=a?i.C0.ESC+\"[1;\"+(a+1)+\"S\":i.C0.ESC+\"OS\";break;case 116:s.key=a?i.C0.ESC+\"[15;\"+(a+1)+\"~\":i.C0.ESC+\"[15~\";break;case 117:s.key=a?i.C0.ESC+\"[17;\"+(a+1)+\"~\":i.C0.ESC+\"[17~\";break;case 118:s.key=a?i.C0.ESC+\"[18;\"+(a+1)+\"~\":i.C0.ESC+\"[18~\";break;case 119:s.key=a?i.C0.ESC+\"[19;\"+(a+1)+\"~\":i.C0.ESC+\"[19~\";break;case 120:s.key=a?i.C0.ESC+\"[20;\"+(a+1)+\"~\":i.C0.ESC+\"[20~\";break;case 121:s.key=a?i.C0.ESC+\"[21;\"+(a+1)+\"~\":i.C0.ESC+\"[21~\";break;case 122:s.key=a?i.C0.ESC+\"[23;\"+(a+1)+\"~\":i.C0.ESC+\"[23~\";break;case 123:s.key=a?i.C0.ESC+\"[24;\"+(a+1)+\"~\":i.C0.ESC+\"[24~\";break;default:if(!e.ctrlKey||e.shiftKey||e.altKey||e.metaKey)if(r&&!o||!e.altKey||e.metaKey)!r||e.altKey||e.ctrlKey||e.shiftKey||!e.metaKey?e.key&&!e.ctrlKey&&!e.altKey&&!e.metaKey&&e.keyCode>=48&&1===e.key.length?s.key=e.key:e.key&&e.ctrlKey&&\"_\"===e.key&&(s.key=i.C0.US):65===e.keyCode&&(s.type=1);else{var c=n[e.keyCode],l=c&&c[e.shiftKey?1:0];if(l)s.key=i.C0.ESC+l;else if(e.keyCode>=65&&e.keyCode<=90){var h=e.ctrlKey?e.keyCode-64:e.keyCode+32;s.key=i.C0.ESC+String.fromCharCode(h)}}else e.keyCode>=65&&e.keyCode<=90?s.key=String.fromCharCode(e.keyCode-64):32===e.keyCode?s.key=i.C0.NUL:e.keyCode>=51&&e.keyCode<=55?s.key=String.fromCharCode(e.keyCode-51+27):56===e.keyCode?s.key=i.C0.DEL:219===e.keyCode?s.key=i.C0.ESC:220===e.keyCode?s.key=i.C0.FS:221===e.keyCode&&(s.key=i.C0.GS)}return s}},482:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.Utf8ToUtf32=t.StringToUtf32=t.utf32ToString=t.stringFromCodePoint=void 0,t.stringFromCodePoint=function(e){return e>65535?(e-=65536,String.fromCharCode(55296+(e>>10))+String.fromCharCode(e%1024+56320)):String.fromCharCode(e)},t.utf32ToString=function(e,t,r){void 0===t&&(t=0),void 0===r&&(r=e.length);for(var i=\"\",n=t;n65535?(o-=65536,i+=String.fromCharCode(55296+(o>>10))+String.fromCharCode(o%1024+56320)):i+=String.fromCharCode(o)}return i};var r=function(){function e(){this._interim=0}return e.prototype.clear=function(){this._interim=0},e.prototype.decode=function(e,t){var r=e.length;if(!r)return 0;var i=0,n=0;this._interim&&(56320<=(a=e.charCodeAt(n++))&&a<=57343?t[i++]=1024*(this._interim-55296)+a-56320+65536:(t[i++]=this._interim,t[i++]=a),this._interim=0);for(var o=n;o=r)return this._interim=s,i;var a;56320<=(a=e.charCodeAt(o))&&a<=57343?t[i++]=1024*(s-55296)+a-56320+65536:(t[i++]=s,t[i++]=a)}else 65279!==s&&(t[i++]=s)}return i},e}();t.StringToUtf32=r;var i=function(){function e(){this.interim=new Uint8Array(3)}return e.prototype.clear=function(){this.interim.fill(0)},e.prototype.decode=function(e,t){var r=e.length;if(!r)return 0;var i,n,o,s,a=0,c=0,l=0;if(this.interim[0]){var h=!1,u=this.interim[0];u&=192==(224&u)?31:224==(240&u)?15:7;for(var f=0,_=void 0;(_=63&this.interim[++f])&&f<4;)u<<=6,u|=_;for(var d=192==(224&this.interim[0])?2:224==(240&this.interim[0])?3:4,p=d-f;l=r)return 0;if(128!=(192&(_=e[l++]))){l--,h=!0;break}this.interim[f++]=_,u<<=6,u|=63&_}h||(2===d?u<128?l--:t[a++]=u:3===d?u<2048||u>=55296&&u<=57343||65279===u||(t[a++]=u):u<65536||u>1114111||(t[a++]=u)),this.interim.fill(0)}for(var v=r-4,g=l;g=r)return this.interim[0]=i,a;if(128!=(192&(n=e[g++]))){g--;continue}if((c=(31&i)<<6|63&n)<128){g--;continue}t[a++]=c}else if(224==(240&i)){if(g>=r)return this.interim[0]=i,a;if(128!=(192&(n=e[g++]))){g--;continue}if(g>=r)return this.interim[0]=i,this.interim[1]=n,a;if(128!=(192&(o=e[g++]))){g--;continue}if((c=(15&i)<<12|(63&n)<<6|63&o)<2048||c>=55296&&c<=57343||65279===c)continue;t[a++]=c}else if(240==(248&i)){if(g>=r)return this.interim[0]=i,a;if(128!=(192&(n=e[g++]))){g--;continue}if(g>=r)return this.interim[0]=i,this.interim[1]=n,a;if(128!=(192&(o=e[g++]))){g--;continue}if(g>=r)return this.interim[0]=i,this.interim[1]=n,this.interim[2]=o,a;if(128!=(192&(s=e[g++]))){g--;continue}if((c=(7&i)<<18|(63&n)<<12|(63&o)<<6|63&s)<65536||c>1114111)continue;t[a++]=c}}return a},e}();t.Utf8ToUtf32=i},225:(e,t,r)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.UnicodeV6=void 0;var i,n=r(8273),o=[[768,879],[1155,1158],[1160,1161],[1425,1469],[1471,1471],[1473,1474],[1476,1477],[1479,1479],[1536,1539],[1552,1557],[1611,1630],[1648,1648],[1750,1764],[1767,1768],[1770,1773],[1807,1807],[1809,1809],[1840,1866],[1958,1968],[2027,2035],[2305,2306],[2364,2364],[2369,2376],[2381,2381],[2385,2388],[2402,2403],[2433,2433],[2492,2492],[2497,2500],[2509,2509],[2530,2531],[2561,2562],[2620,2620],[2625,2626],[2631,2632],[2635,2637],[2672,2673],[2689,2690],[2748,2748],[2753,2757],[2759,2760],[2765,2765],[2786,2787],[2817,2817],[2876,2876],[2879,2879],[2881,2883],[2893,2893],[2902,2902],[2946,2946],[3008,3008],[3021,3021],[3134,3136],[3142,3144],[3146,3149],[3157,3158],[3260,3260],[3263,3263],[3270,3270],[3276,3277],[3298,3299],[3393,3395],[3405,3405],[3530,3530],[3538,3540],[3542,3542],[3633,3633],[3636,3642],[3655,3662],[3761,3761],[3764,3769],[3771,3772],[3784,3789],[3864,3865],[3893,3893],[3895,3895],[3897,3897],[3953,3966],[3968,3972],[3974,3975],[3984,3991],[3993,4028],[4038,4038],[4141,4144],[4146,4146],[4150,4151],[4153,4153],[4184,4185],[4448,4607],[4959,4959],[5906,5908],[5938,5940],[5970,5971],[6002,6003],[6068,6069],[6071,6077],[6086,6086],[6089,6099],[6109,6109],[6155,6157],[6313,6313],[6432,6434],[6439,6440],[6450,6450],[6457,6459],[6679,6680],[6912,6915],[6964,6964],[6966,6970],[6972,6972],[6978,6978],[7019,7027],[7616,7626],[7678,7679],[8203,8207],[8234,8238],[8288,8291],[8298,8303],[8400,8431],[12330,12335],[12441,12442],[43014,43014],[43019,43019],[43045,43046],[64286,64286],[65024,65039],[65056,65059],[65279,65279],[65529,65531]],s=[[68097,68099],[68101,68102],[68108,68111],[68152,68154],[68159,68159],[119143,119145],[119155,119170],[119173,119179],[119210,119213],[119362,119364],[917505,917505],[917536,917631],[917760,917999]],a=function(){function e(){if(this.version=\"6\",!i){i=new Uint8Array(65536),n.fill(i,1),i[0]=0,n.fill(i,0,1,32),n.fill(i,0,127,160),n.fill(i,2,4352,4448),i[9001]=2,i[9002]=2,n.fill(i,2,11904,42192),i[12351]=1,n.fill(i,2,44032,55204),n.fill(i,2,63744,64256),n.fill(i,2,65040,65050),n.fill(i,2,65072,65136),n.fill(i,2,65280,65377),n.fill(i,2,65504,65511);for(var e=0;et[n][1])return!1;for(;n>=i;)if(e>t[r=i+n>>1][1])i=r+1;else{if(!(e=131072&&e<=196605||e>=196608&&e<=262141?2:1},e}();t.UnicodeV6=a},5981:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.WriteBuffer=void 0;var r=\"undefined\"==typeof queueMicrotask?function(e){Promise.resolve().then(e)}:queueMicrotask,i=function(){function e(e){this._action=e,this._writeBuffer=[],this._callbacks=[],this._pendingData=0,this._bufferOffset=0,this._isSyncWriting=!1,this._syncCalls=0}return e.prototype.writeSync=function(e,t){if(void 0!==t&&this._syncCalls>t)this._syncCalls=0;else if(this._pendingData+=e.length,this._writeBuffer.push(e),this._callbacks.push(void 0),this._syncCalls++,!this._isSyncWriting){var r;for(this._isSyncWriting=!0;r=this._writeBuffer.shift();){this._action(r);var i=this._callbacks.shift();i&&i()}this._pendingData=0,this._bufferOffset=2147483647,this._isSyncWriting=!1,this._syncCalls=0}},e.prototype.write=function(e,t){var r=this;if(this._pendingData>5e7)throw new Error(\"write data discarded, use flow control to avoid losing data\");this._writeBuffer.length||(this._bufferOffset=0,setTimeout((function(){return r._innerWrite()}))),this._pendingData+=e.length,this._writeBuffer.push(e),this._callbacks.push(t)},e.prototype._innerWrite=function(e,t){var i=this;void 0===e&&(e=0),void 0===t&&(t=!0);for(var n=e||Date.now();this._writeBuffer.length>this._bufferOffset;){var o=this._writeBuffer[this._bufferOffset],s=this._action(o,t);if(s)return void s.catch((function(e){return r((function(){throw e})),Promise.resolve(!1)})).then((function(e){return Date.now()-n>=12?setTimeout((function(){return i._innerWrite(0,e)})):i._innerWrite(n,e)}));var a=this._callbacks[this._bufferOffset];if(a&&a(),this._bufferOffset++,this._pendingData-=o.length,Date.now()-n>=12)break}this._writeBuffer.length>this._bufferOffset?(this._bufferOffset>50&&(this._writeBuffer=this._writeBuffer.slice(this._bufferOffset),this._callbacks=this._callbacks.slice(this._bufferOffset),this._bufferOffset=0),setTimeout((function(){return i._innerWrite()}))):(this._writeBuffer.length=0,this._callbacks.length=0,this._pendingData=0,this._bufferOffset=0)},e}();t.WriteBuffer=i},5770:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.PAYLOAD_LIMIT=void 0,t.PAYLOAD_LIMIT=1e7},6351:(e,t,r)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.DcsHandler=t.DcsParser=void 0;var i=r(482),n=r(8742),o=r(5770),s=[],a=function(){function e(){this._handlers=Object.create(null),this._active=s,this._ident=0,this._handlerFb=function(){},this._stack={paused:!1,loopPosition:0,fallThrough:!1}}return e.prototype.dispose=function(){this._handlers=Object.create(null),this._handlerFb=function(){},this._active=s},e.prototype.registerHandler=function(e,t){void 0===this._handlers[e]&&(this._handlers[e]=[]);var r=this._handlers[e];return r.push(t),{dispose:function(){var e=r.indexOf(t);-1!==e&&r.splice(e,1)}}},e.prototype.clearHandler=function(e){this._handlers[e]&&delete this._handlers[e]},e.prototype.setHandlerFallback=function(e){this._handlerFb=e},e.prototype.reset=function(){if(this._active.length)for(var e=this._stack.paused?this._stack.loopPosition-1:this._active.length-1;e>=0;--e)this._active[e].unhook(!1);this._stack.paused=!1,this._active=s,this._ident=0},e.prototype.hook=function(e,t){if(this.reset(),this._ident=e,this._active=this._handlers[e]||s,this._active.length)for(var r=this._active.length-1;r>=0;r--)this._active[r].hook(t);else this._handlerFb(this._ident,\"HOOK\",t)},e.prototype.put=function(e,t,r){if(this._active.length)for(var n=this._active.length-1;n>=0;n--)this._active[n].put(e,t,r);else this._handlerFb(this._ident,\"PUT\",i.utf32ToString(e,t,r))},e.prototype.unhook=function(e,t){if(void 0===t&&(t=!0),this._active.length){var r=!1,i=this._active.length-1,n=!1;if(this._stack.paused&&(i=this._stack.loopPosition-1,r=t,n=this._stack.fallThrough,this._stack.paused=!1),!n&&!1===r){for(;i>=0&&!0!==(r=this._active[i].unhook(e));i--)if(r instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=i,this._stack.fallThrough=!1,r;i--}for(;i>=0;i--)if((r=this._active[i].unhook(!1))instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=i,this._stack.fallThrough=!0,r}else this._handlerFb(this._ident,\"UNHOOK\",e);this._active=s,this._ident=0},e}();t.DcsParser=a;var c=new n.Params;c.addParam(0);var l=function(){function e(e){this._handler=e,this._data=\"\",this._params=c,this._hitLimit=!1}return e.prototype.hook=function(e){this._params=e.length>1||e.params[0]?e.clone():c,this._data=\"\",this._hitLimit=!1},e.prototype.put=function(e,t,r){this._hitLimit||(this._data+=i.utf32ToString(e,t,r),this._data.length>o.PAYLOAD_LIMIT&&(this._data=\"\",this._hitLimit=!0))},e.prototype.unhook=function(e){var t=this,r=!1;if(this._hitLimit)r=!1;else if(e&&(r=this._handler(this._data,this._params))instanceof Promise)return r.then((function(e){return t._params=c,t._data=\"\",t._hitLimit=!1,e}));return this._params=c,this._data=\"\",this._hitLimit=!1,r},e}();t.DcsHandler=l},2015:function(e,t,r){var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});Object.defineProperty(t,\"__esModule\",{value:!0}),t.EscapeSequenceParser=t.VT500_TRANSITION_TABLE=t.TransitionTable=void 0;var o=r(844),s=r(8273),a=r(8742),c=r(6242),l=r(6351),h=function(){function e(e){this.table=new Uint8Array(e)}return e.prototype.setDefault=function(e,t){s.fill(this.table,e<<4|t)},e.prototype.add=function(e,t,r,i){this.table[t<<8|e]=r<<4|i},e.prototype.addMany=function(e,t,r,i){for(var n=0;n1)throw new Error(\"only one byte as prefix supported\");if((r=e.prefix.charCodeAt(0))&&60>r||r>63)throw new Error(\"prefix must be in range 0x3c .. 0x3f\")}if(e.intermediates){if(e.intermediates.length>2)throw new Error(\"only two bytes as intermediates are supported\");for(var i=0;in||n>47)throw new Error(\"intermediate must be in range 0x20 .. 0x2f\");r<<=8,r|=n}}if(1!==e.final.length)throw new Error(\"final must be a single byte\");var o=e.final.charCodeAt(0);if(t[0]>o||o>t[1])throw new Error(\"final must be in range \"+t[0]+\" .. \"+t[1]);return(r<<=8)|o},r.prototype.identToString=function(e){for(var t=[];e;)t.push(String.fromCharCode(255&e)),e>>=8;return t.reverse().join(\"\")},r.prototype.dispose=function(){this._csiHandlers=Object.create(null),this._executeHandlers=Object.create(null),this._escHandlers=Object.create(null),this._oscParser.dispose(),this._dcsParser.dispose()},r.prototype.setPrintHandler=function(e){this._printHandler=e},r.prototype.clearPrintHandler=function(){this._printHandler=this._printHandlerFb},r.prototype.registerEscHandler=function(e,t){var r=this._identifier(e,[48,126]);void 0===this._escHandlers[r]&&(this._escHandlers[r]=[]);var i=this._escHandlers[r];return i.push(t),{dispose:function(){var e=i.indexOf(t);-1!==e&&i.splice(e,1)}}},r.prototype.clearEscHandler=function(e){this._escHandlers[this._identifier(e,[48,126])]&&delete this._escHandlers[this._identifier(e,[48,126])]},r.prototype.setEscHandlerFallback=function(e){this._escHandlerFb=e},r.prototype.setExecuteHandler=function(e,t){this._executeHandlers[e.charCodeAt(0)]=t},r.prototype.clearExecuteHandler=function(e){this._executeHandlers[e.charCodeAt(0)]&&delete this._executeHandlers[e.charCodeAt(0)]},r.prototype.setExecuteHandlerFallback=function(e){this._executeHandlerFb=e},r.prototype.registerCsiHandler=function(e,t){var r=this._identifier(e);void 0===this._csiHandlers[r]&&(this._csiHandlers[r]=[]);var i=this._csiHandlers[r];return i.push(t),{dispose:function(){var e=i.indexOf(t);-1!==e&&i.splice(e,1)}}},r.prototype.clearCsiHandler=function(e){this._csiHandlers[this._identifier(e)]&&delete this._csiHandlers[this._identifier(e)]},r.prototype.setCsiHandlerFallback=function(e){this._csiHandlerFb=e},r.prototype.registerDcsHandler=function(e,t){return this._dcsParser.registerHandler(this._identifier(e),t)},r.prototype.clearDcsHandler=function(e){this._dcsParser.clearHandler(this._identifier(e))},r.prototype.setDcsHandlerFallback=function(e){this._dcsParser.setHandlerFallback(e)},r.prototype.registerOscHandler=function(e,t){return this._oscParser.registerHandler(e,t)},r.prototype.clearOscHandler=function(e){this._oscParser.clearHandler(e)},r.prototype.setOscHandlerFallback=function(e){this._oscParser.setHandlerFallback(e)},r.prototype.setErrorHandler=function(e){this._errorHandler=e},r.prototype.clearErrorHandler=function(){this._errorHandler=this._errorHandlerFb},r.prototype.reset=function(){this.currentState=this.initialState,this._oscParser.reset(),this._dcsParser.reset(),this._params.reset(),this._params.addParam(0),this._collect=0,this.precedingCodepoint=0,0!==this._parseStack.state&&(this._parseStack.state=2,this._parseStack.handlers=[])},r.prototype._preserveStack=function(e,t,r,i,n){this._parseStack.state=e,this._parseStack.handlers=t,this._parseStack.handlerPos=r,this._parseStack.transition=i,this._parseStack.chunkPos=n},r.prototype.parse=function(e,t,r){var i,n=0,o=0,s=0;if(this._parseStack.state)if(2===this._parseStack.state)this._parseStack.state=0,s=this._parseStack.chunkPos+1;else{if(void 0===r||1===this._parseStack.state)throw this._parseStack.state=1,new Error(\"improper continuation due to previous async handler, giving up parsing\");var a=this._parseStack.handlers,c=this._parseStack.handlerPos-1;switch(this._parseStack.state){case 3:if(!1===r&&c>-1)for(;c>=0&&!0!==(i=a[c](this._params));c--)if(i instanceof Promise)return this._parseStack.handlerPos=c,i;this._parseStack.handlers=[];break;case 4:if(!1===r&&c>-1)for(;c>=0&&!0!==(i=a[c]());c--)if(i instanceof Promise)return this._parseStack.handlerPos=c,i;this._parseStack.handlers=[];break;case 6:if(n=e[this._parseStack.chunkPos],i=this._dcsParser.unhook(24!==n&&26!==n,r))return i;27===n&&(this._parseStack.transition|=1),this._params.reset(),this._params.addParam(0),this._collect=0;break;case 5:if(n=e[this._parseStack.chunkPos],i=this._oscParser.end(24!==n&&26!==n,r))return i;27===n&&(this._parseStack.transition|=1),this._params.reset(),this._params.addParam(0),this._collect=0}this._parseStack.state=0,s=this._parseStack.chunkPos+1,this.precedingCodepoint=0,this.currentState=15&this._parseStack.transition}for(var l=s;l>4){case 2:for(var h=l+1;;++h){if(h>=t||(n=e[h])<32||n>126&&n=t||(n=e[h])<32||n>126&&n=t||(n=e[h])<32||n>126&&n=t||(n=e[h])<32||n>126&&n=0&&!0!==(i=a[f](this._params));f--)if(i instanceof Promise)return this._preserveStack(3,a,f,o,l),i;f<0&&this._csiHandlerFb(this._collect<<8|n,this._params),this.precedingCodepoint=0;break;case 8:do{switch(n){case 59:this._params.addParam(0);break;case 58:this._params.addSubParam(-1);break;default:this._params.addDigit(n-48)}}while(++l47&&n<60);l--;break;case 9:this._collect<<=8,this._collect|=n;break;case 10:for(var _=this._escHandlers[this._collect<<8|n],d=_?_.length-1:-1;d>=0&&!0!==(i=_[d]());d--)if(i instanceof Promise)return this._preserveStack(4,_,d,o,l),i;d<0&&this._escHandlerFb(this._collect<<8|n),this.precedingCodepoint=0;break;case 11:this._params.reset(),this._params.addParam(0),this._collect=0;break;case 12:this._dcsParser.hook(this._collect<<8|n,this._params);break;case 13:for(var p=l+1;;++p)if(p>=t||24===(n=e[p])||26===n||27===n||n>127&&n=t||(n=e[v])<32||n>127&&n{Object.defineProperty(t,\"__esModule\",{value:!0}),t.OscHandler=t.OscParser=void 0;var i=r(5770),n=r(482),o=[],s=function(){function e(){this._state=0,this._active=o,this._id=-1,this._handlers=Object.create(null),this._handlerFb=function(){},this._stack={paused:!1,loopPosition:0,fallThrough:!1}}return e.prototype.registerHandler=function(e,t){void 0===this._handlers[e]&&(this._handlers[e]=[]);var r=this._handlers[e];return r.push(t),{dispose:function(){var e=r.indexOf(t);-1!==e&&r.splice(e,1)}}},e.prototype.clearHandler=function(e){this._handlers[e]&&delete this._handlers[e]},e.prototype.setHandlerFallback=function(e){this._handlerFb=e},e.prototype.dispose=function(){this._handlers=Object.create(null),this._handlerFb=function(){},this._active=o},e.prototype.reset=function(){if(2===this._state)for(var e=this._stack.paused?this._stack.loopPosition-1:this._active.length-1;e>=0;--e)this._active[e].end(!1);this._stack.paused=!1,this._active=o,this._id=-1,this._state=0},e.prototype._start=function(){if(this._active=this._handlers[this._id]||o,this._active.length)for(var e=this._active.length-1;e>=0;e--)this._active[e].start();else this._handlerFb(this._id,\"START\")},e.prototype._put=function(e,t,r){if(this._active.length)for(var i=this._active.length-1;i>=0;i--)this._active[i].put(e,t,r);else this._handlerFb(this._id,\"PUT\",n.utf32ToString(e,t,r))},e.prototype.start=function(){this.reset(),this._state=1},e.prototype.put=function(e,t,r){if(3!==this._state){if(1===this._state)for(;t0&&this._put(e,t,r)}},e.prototype.end=function(e,t){if(void 0===t&&(t=!0),0!==this._state){if(3!==this._state)if(1===this._state&&this._start(),this._active.length){var r=!1,i=this._active.length-1,n=!1;if(this._stack.paused&&(i=this._stack.loopPosition-1,r=t,n=this._stack.fallThrough,this._stack.paused=!1),!n&&!1===r){for(;i>=0&&!0!==(r=this._active[i].end(e));i--)if(r instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=i,this._stack.fallThrough=!1,r;i--}for(;i>=0;i--)if((r=this._active[i].end(!1))instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=i,this._stack.fallThrough=!0,r}else this._handlerFb(this._id,\"END\",e);this._active=o,this._id=-1,this._state=0}},e}();t.OscParser=s;var a=function(){function e(e){this._handler=e,this._data=\"\",this._hitLimit=!1}return e.prototype.start=function(){this._data=\"\",this._hitLimit=!1},e.prototype.put=function(e,t,r){this._hitLimit||(this._data+=n.utf32ToString(e,t,r),this._data.length>i.PAYLOAD_LIMIT&&(this._data=\"\",this._hitLimit=!0))},e.prototype.end=function(e){var t=this,r=!1;if(this._hitLimit)r=!1;else if(e&&(r=this._handler(this._data))instanceof Promise)return r.then((function(e){return t._data=\"\",t._hitLimit=!1,e}));return this._data=\"\",this._hitLimit=!1,r},e}();t.OscHandler=a},8742:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.Params=void 0;var r=2147483647,i=function(){function e(e,t){if(void 0===e&&(e=32),void 0===t&&(t=32),this.maxLength=e,this.maxSubParamsLength=t,t>256)throw new Error(\"maxSubParamsLength must not be greater than 256\");this.params=new Int32Array(e),this.length=0,this._subParams=new Int32Array(t),this._subParamsLength=0,this._subParamsIdx=new Uint16Array(e),this._rejectDigits=!1,this._rejectSubDigits=!1,this._digitIsSub=!1}return e.fromArray=function(t){var r=new e;if(!t.length)return r;for(var i=t[0]instanceof Array?1:0;i>8,i=255&this._subParamsIdx[t];i-r>0&&e.push(Array.prototype.slice.call(this._subParams,r,i))}return e},e.prototype.reset=function(){this.length=0,this._subParamsLength=0,this._rejectDigits=!1,this._rejectSubDigits=!1,this._digitIsSub=!1},e.prototype.addParam=function(e){if(this._digitIsSub=!1,this.length>=this.maxLength)this._rejectDigits=!0;else{if(e<-1)throw new Error(\"values lesser than -1 are not allowed\");this._subParamsIdx[this.length]=this._subParamsLength<<8|this._subParamsLength,this.params[this.length++]=e>r?r:e}},e.prototype.addSubParam=function(e){if(this._digitIsSub=!0,this.length)if(this._rejectDigits||this._subParamsLength>=this.maxSubParamsLength)this._rejectSubDigits=!0;else{if(e<-1)throw new Error(\"values lesser than -1 are not allowed\");this._subParams[this._subParamsLength++]=e>r?r:e,this._subParamsIdx[this.length-1]++}},e.prototype.hasSubParams=function(e){return(255&this._subParamsIdx[e])-(this._subParamsIdx[e]>>8)>0},e.prototype.getSubParams=function(e){var t=this._subParamsIdx[e]>>8,r=255&this._subParamsIdx[e];return r-t>0?this._subParams.subarray(t,r):null},e.prototype.getSubParamsAll=function(){for(var e={},t=0;t>8,i=255&this._subParamsIdx[t];i-r>0&&(e[t]=this._subParams.slice(r,i))}return e},e.prototype.addDigit=function(e){var t;if(!(this._rejectDigits||!(t=this._digitIsSub?this._subParamsLength:this.length)||this._digitIsSub&&this._rejectSubDigits)){var i=this._digitIsSub?this._subParams:this.params,n=i[t-1];i[t-1]=~n?Math.min(10*n+e,r):e}},e}();t.Params=i},744:function(e,t,r){var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),o=this&&this.__decorate||function(e,t,r,i){var n,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},s=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.BufferService=t.MINIMUM_ROWS=t.MINIMUM_COLS=void 0;var a=r(2585),c=r(5295),l=r(8460),h=r(844);t.MINIMUM_COLS=2,t.MINIMUM_ROWS=1;var u=function(e){function r(r){var i=e.call(this)||this;return i._optionsService=r,i.isUserScrolling=!1,i._onResize=new l.EventEmitter,i._onScroll=new l.EventEmitter,i.cols=Math.max(r.options.cols,t.MINIMUM_COLS),i.rows=Math.max(r.options.rows,t.MINIMUM_ROWS),i.buffers=new c.BufferSet(r,i),i}return n(r,e),Object.defineProperty(r.prototype,\"onResize\",{get:function(){return this._onResize.event},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,\"onScroll\",{get:function(){return this._onScroll.event},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,\"buffer\",{get:function(){return this.buffers.active},enumerable:!1,configurable:!0}),r.prototype.dispose=function(){e.prototype.dispose.call(this),this.buffers.dispose()},r.prototype.resize=function(e,t){this.cols=e,this.rows=t,this.buffers.resize(e,t),this.buffers.setupTabStops(this.cols),this._onResize.fire({cols:e,rows:t})},r.prototype.reset=function(){this.buffers.reset(),this.isUserScrolling=!1},r.prototype.scroll=function(e,t){void 0===t&&(t=!1);var r,i=this.buffer;(r=this._cachedBlankLine)&&r.length===this.cols&&r.getFg(0)===e.fg&&r.getBg(0)===e.bg||(r=i.getBlankLine(e,t),this._cachedBlankLine=r),r.isWrapped=t;var n=i.ybase+i.scrollTop,o=i.ybase+i.scrollBottom;if(0===i.scrollTop){var s=i.lines.isFull;o===i.lines.length-1?s?i.lines.recycle().copyFrom(r):i.lines.push(r.clone()):i.lines.splice(o+1,0,r.clone()),s?this.isUserScrolling&&(i.ydisp=Math.max(i.ydisp-1,0)):(i.ybase++,this.isUserScrolling||i.ydisp++)}else{var a=o-n+1;i.lines.shiftElements(n+1,a-1,-1),i.lines.set(o,r.clone())}this.isUserScrolling||(i.ydisp=i.ybase),this._onScroll.fire(i.ydisp)},r.prototype.scrollLines=function(e,t,r){var i=this.buffer;if(e<0){if(0===i.ydisp)return;this.isUserScrolling=!0}else e+i.ydisp>=i.ybase&&(this.isUserScrolling=!1);var n=i.ydisp;i.ydisp=Math.max(Math.min(i.ydisp+e,i.ybase),0),n!==i.ydisp&&(t||this._onScroll.fire(i.ydisp))},r.prototype.scrollPages=function(e){this.scrollLines(e*(this.rows-1))},r.prototype.scrollToTop=function(){this.scrollLines(-this.buffer.ydisp)},r.prototype.scrollToBottom=function(){this.scrollLines(this.buffer.ybase-this.buffer.ydisp)},r.prototype.scrollToLine=function(e){var t=e-this.buffer.ydisp;0!==t&&this.scrollLines(t)},o([s(0,a.IOptionsService)],r)}(h.Disposable);t.BufferService=u},7994:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.CharsetService=void 0;var r=function(){function e(){this.glevel=0,this._charsets=[]}return e.prototype.reset=function(){this.charset=void 0,this._charsets=[],this.glevel=0},e.prototype.setgLevel=function(e){this.glevel=e,this.charset=this._charsets[e]},e.prototype.setgCharset=function(e,t){this._charsets[e]=t,this.glevel===e&&(this.charset=t)},e}();t.CharsetService=r},1753:function(e,t,r){var i=this&&this.__decorate||function(e,t,r,i){var n,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},n=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.CoreMouseService=void 0;var o=r(2585),s=r(8460),a={NONE:{events:0,restrict:function(){return!1}},X10:{events:1,restrict:function(e){return 4!==e.button&&1===e.action&&(e.ctrl=!1,e.alt=!1,e.shift=!1,!0)}},VT200:{events:19,restrict:function(e){return 32!==e.action}},DRAG:{events:23,restrict:function(e){return 32!==e.action||3!==e.button}},ANY:{events:31,restrict:function(e){return!0}}};function c(e,t){var r=(e.ctrl?16:0)|(e.shift?4:0)|(e.alt?8:0);return 4===e.button?(r|=64,r|=e.action):(r|=3&e.button,4&e.button&&(r|=64),8&e.button&&(r|=128),32===e.action?r|=32:0!==e.action||t||(r|=3)),r}var l=String.fromCharCode,h={DEFAULT:function(e){var t=[c(e,!1)+32,e.col+32,e.row+32];return t[0]>255||t[1]>255||t[2]>255?\"\":\"\u001b[M\"+l(t[0])+l(t[1])+l(t[2])},SGR:function(e){var t=0===e.action&&4!==e.button?\"m\":\"M\";return\"\u001b[<\"+c(e,!0)+\";\"+e.col+\";\"+e.row+t}},u=function(){function e(e,t){this._bufferService=e,this._coreService=t,this._protocols={},this._encodings={},this._activeProtocol=\"\",this._activeEncoding=\"\",this._onProtocolChange=new s.EventEmitter,this._lastEvent=null;for(var r=0,i=Object.keys(a);r=this._bufferService.cols||e.row<0||e.row>=this._bufferService.rows)return!1;if(4===e.button&&32===e.action)return!1;if(3===e.button&&32!==e.action)return!1;if(4!==e.button&&(2===e.action||3===e.action))return!1;if(e.col++,e.row++,32===e.action&&this._lastEvent&&this._compareEvents(this._lastEvent,e))return!1;if(!this._protocols[this._activeProtocol].restrict(e))return!1;var t=this._encodings[this._activeEncoding](e);return t&&(\"DEFAULT\"===this._activeEncoding?this._coreService.triggerBinaryEvent(t):this._coreService.triggerDataEvent(t,!0)),this._lastEvent=e,!0},e.prototype.explainEvents=function(e){return{down:!!(1&e),up:!!(2&e),drag:!!(4&e),move:!!(8&e),wheel:!!(16&e)}},e.prototype._compareEvents=function(e,t){return e.col===t.col&&e.row===t.row&&e.button===t.button&&e.action===t.action&&e.ctrl===t.ctrl&&e.alt===t.alt&&e.shift===t.shift},i([n(0,o.IBufferService),n(1,o.ICoreService)],e)}();t.CoreMouseService=u},6975:function(e,t,r){var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),o=this&&this.__decorate||function(e,t,r,i){var n,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},s=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.CoreService=void 0;var a=r(2585),c=r(8460),l=r(1439),h=r(844),u=Object.freeze({insertMode:!1}),f=Object.freeze({applicationCursorKeys:!1,applicationKeypad:!1,bracketedPasteMode:!1,origin:!1,reverseWraparound:!1,sendFocus:!1,wraparound:!0}),_=function(e){function t(t,r,i,n){var o=e.call(this)||this;return o._bufferService=r,o._logService=i,o._optionsService=n,o.isCursorInitialized=!1,o.isCursorHidden=!1,o._onData=o.register(new c.EventEmitter),o._onUserInput=o.register(new c.EventEmitter),o._onBinary=o.register(new c.EventEmitter),o._scrollToBottom=t,o.register({dispose:function(){return o._scrollToBottom=void 0}}),o.modes=l.clone(u),o.decPrivateModes=l.clone(f),o}return n(t,e),Object.defineProperty(t.prototype,\"onData\",{get:function(){return this._onData.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"onUserInput\",{get:function(){return this._onUserInput.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"onBinary\",{get:function(){return this._onBinary.event},enumerable:!1,configurable:!0}),t.prototype.reset=function(){this.modes=l.clone(u),this.decPrivateModes=l.clone(f)},t.prototype.triggerDataEvent=function(e,t){if(void 0===t&&(t=!1),!this._optionsService.options.disableStdin){var r=this._bufferService.buffer;r.ybase!==r.ydisp&&this._scrollToBottom(),t&&this._onUserInput.fire(),this._logService.debug('sending data \"'+e+'\"',(function(){return e.split(\"\").map((function(e){return e.charCodeAt(0)}))})),this._onData.fire(e)}},t.prototype.triggerBinaryEvent=function(e){this._optionsService.options.disableStdin||(this._logService.debug('sending binary \"'+e+'\"',(function(){return e.split(\"\").map((function(e){return e.charCodeAt(0)}))})),this._onBinary.fire(e))},o([s(1,a.IBufferService),s(2,a.ILogService),s(3,a.IOptionsService)],t)}(h.Disposable);t.CoreService=_},3730:function(e,t,r){var i=this&&this.__decorate||function(e,t,r,i){var n,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},n=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.DirtyRowService=void 0;var o=r(2585),s=function(){function e(e){this._bufferService=e,this.clearRange()}return Object.defineProperty(e.prototype,\"start\",{get:function(){return this._start},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"end\",{get:function(){return this._end},enumerable:!1,configurable:!0}),e.prototype.clearRange=function(){this._start=this._bufferService.buffer.y,this._end=this._bufferService.buffer.y},e.prototype.markDirty=function(e){ethis._end&&(this._end=e)},e.prototype.markRangeDirty=function(e,t){if(e>t){var r=e;e=t,t=r}ethis._end&&(this._end=t)},e.prototype.markAllDirty=function(){this.markRangeDirty(0,this._bufferService.rows-1)},i([n(0,o.IBufferService)],e)}();t.DirtyRowService=s},4348:function(e,t,r){var i=this&&this.__spreadArrays||function(){for(var e=0,t=0,r=arguments.length;t0?n[0].index:t.length;if(t.length!==u)throw new Error(\"[createInstance] First service dependency of \"+e.name+\" at position \"+(u+1)+\" conflicts with \"+t.length+\" static arguments\");return new(e.bind.apply(e,i([void 0],i(t,s))))},e}();t.InstantiationService=a},7866:function(e,t,r){var i=this&&this.__decorate||function(e,t,r,i){var n,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},n=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}},o=this&&this.__spreadArrays||function(){for(var e=0,t=0,r=arguments.length;t{Object.defineProperty(t,\"__esModule\",{value:!0}),t.OptionsService=t.DEFAULT_OPTIONS=t.DEFAULT_BELL_SOUND=void 0;var i=r(8460),n=r(6114),o=r(1439);t.DEFAULT_BELL_SOUND=\"data:audio/mp3;base64,SUQzBAAAAAAAI1RTU0UAAAAPAAADTGF2ZjU4LjMyLjEwNAAAAAAAAAAAAAAA//tQxAADB8AhSmxhIIEVCSiJrDCQBTcu3UrAIwUdkRgQbFAZC1CQEwTJ9mjRvBA4UOLD8nKVOWfh+UlK3z/177OXrfOdKl7pyn3Xf//WreyTRUoAWgBgkOAGbZHBgG1OF6zM82DWbZaUmMBptgQhGjsyYqc9ae9XFz280948NMBWInljyzsNRFLPWdnZGWrddDsjK1unuSrVN9jJsK8KuQtQCtMBjCEtImISdNKJOopIpBFpNSMbIHCSRpRR5iakjTiyzLhchUUBwCgyKiweBv/7UsQbg8isVNoMPMjAAAA0gAAABEVFGmgqK////9bP/6XCykxBTUUzLjEwMKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq\",t.DEFAULT_OPTIONS=Object.freeze({cols:80,rows:24,cursorBlink:!1,cursorStyle:\"block\",cursorWidth:1,bellSound:t.DEFAULT_BELL_SOUND,bellStyle:\"none\",drawBoldTextInBrightColors:!0,fastScrollModifier:\"alt\",fastScrollSensitivity:5,fontFamily:\"courier-new, courier, monospace\",fontSize:15,fontWeight:\"normal\",fontWeightBold:\"bold\",lineHeight:1,linkTooltipHoverDuration:500,letterSpacing:0,logLevel:\"info\",scrollback:1e3,scrollSensitivity:1,screenReaderMode:!1,macOptionIsMeta:!1,macOptionClickForcesSelection:!1,minimumContrastRatio:1,disableStdin:!1,allowProposedApi:!0,allowTransparency:!1,tabStopWidth:8,theme:{},rightClickSelectsWord:n.isMac,rendererType:\"canvas\",windowOptions:{},windowsMode:!1,wordSeparator:\" ()[]{}',\\\"`\",altClickMovesCursor:!0,convertEol:!1,termName:\"xterm\",cancelEvents:!1});var s=[\"normal\",\"bold\",\"100\",\"200\",\"300\",\"400\",\"500\",\"600\",\"700\",\"800\",\"900\"],a=[\"cols\",\"rows\"],c=function(){function e(e){this._onOptionChange=new i.EventEmitter,this.options=o.clone(t.DEFAULT_OPTIONS);for(var r=0,n=Object.keys(e);r{function r(e,t,r){t.di$target===t?t.di$dependencies.push({id:e,index:r}):(t.di$dependencies=[{id:e,index:r}],t.di$target=t)}Object.defineProperty(t,\"__esModule\",{value:!0}),t.createDecorator=t.getServiceDependencies=t.serviceRegistry=void 0,t.serviceRegistry=new Map,t.getServiceDependencies=function(e){return e.di$dependencies||[]},t.createDecorator=function(e){if(t.serviceRegistry.has(e))return t.serviceRegistry.get(e);var i=function(e,t,n){if(3!==arguments.length)throw new Error(\"@IServiceName-decorator can only be used to decorate a parameter\");r(i,e,n)};return i.toString=function(){return e},t.serviceRegistry.set(e,i),i}},2585:(e,t,r)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.IUnicodeService=t.LogLevelEnum=t.IOptionsService=t.ILogService=t.IInstantiationService=t.IDirtyRowService=t.ICharsetService=t.ICoreService=t.ICoreMouseService=t.IBufferService=void 0;var i,n=r(8343);t.IBufferService=n.createDecorator(\"BufferService\"),t.ICoreMouseService=n.createDecorator(\"CoreMouseService\"),t.ICoreService=n.createDecorator(\"CoreService\"),t.ICharsetService=n.createDecorator(\"CharsetService\"),t.IDirtyRowService=n.createDecorator(\"DirtyRowService\"),t.IInstantiationService=n.createDecorator(\"InstantiationService\"),t.ILogService=n.createDecorator(\"LogService\"),t.IOptionsService=n.createDecorator(\"OptionsService\"),(i=t.LogLevelEnum||(t.LogLevelEnum={}))[i.DEBUG=0]=\"DEBUG\",i[i.INFO=1]=\"INFO\",i[i.WARN=2]=\"WARN\",i[i.ERROR=3]=\"ERROR\",i[i.OFF=4]=\"OFF\",t.IUnicodeService=n.createDecorator(\"UnicodeService\")},1480:(e,t,r)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.UnicodeService=void 0;var i=r(8460),n=r(225),o=function(){function e(){this._providers=Object.create(null),this._active=\"\",this._onChange=new i.EventEmitter;var e=new n.UnicodeV6;this.register(e),this._active=e.version,this._activeProvider=e}return Object.defineProperty(e.prototype,\"onChange\",{get:function(){return this._onChange.event},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"versions\",{get:function(){return Object.keys(this._providers)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"activeVersion\",{get:function(){return this._active},set:function(e){if(!this._providers[e])throw new Error('unknown Unicode version \"'+e+'\"');this._active=e,this._activeProvider=this._providers[e],this._onChange.fire(e)},enumerable:!1,configurable:!0}),e.prototype.register=function(e){this._providers[e.version]=e},e.prototype.wcwidth=function(e){return this._activeProvider.wcwidth(e)},e.prototype.getStringCellWidth=function(e){for(var t=0,r=e.length,i=0;i=r)return t+this.wcwidth(n);var o=e.charCodeAt(i);56320<=o&&o<=57343?n=1024*(n-55296)+o-56320+65536:t+=this.wcwidth(o)}t+=this.wcwidth(n)}return t},e}();t.UnicodeService=o}},t={};return function r(i){if(t[i])return t[i].exports;var n=t[i]={exports:{}};return e[i].call(n.exports,n,n.exports,r),n.exports}(4389)})()}));\n//# sourceMappingURL=xterm.js.map","export class ConnectionFactory {\n url: string;\n protocols: string[];\n\n constructor(url: string, protocols: string[]) {\n this.url = url;\n this.protocols = protocols;\n };\n\n create(): Connection {\n return new Connection(this.url, this.protocols);\n };\n}\n\nexport class Connection {\n bare: WebSocket;\n\n\n constructor(url: string, protocols: string[]) {\n this.bare = new WebSocket(url, protocols);\n }\n\n open() {\n // nothing todo for websocket\n };\n\n close() {\n this.bare.close();\n };\n\n send(data: string) {\n this.bare.send(data);\n };\n\n isOpen(): boolean {\n if (this.bare.readyState == WebSocket.CONNECTING ||\n this.bare.readyState == WebSocket.OPEN) {\n return true\n }\n return false\n }\n\n onOpen(callback: () => void) {\n this.bare.onopen = (event) => {\n callback();\n }\n };\n\n onReceive(callback: (data: string) => void) {\n this.bare.onmessage = (event) => {\n callback(event.data);\n }\n };\n\n onClose(callback: () => void) {\n this.bare.onclose = (event) => {\n callback();\n };\n };\n}\n","export const protocols = [\"webtty\"];\n\nexport const msgInputUnknown = '0';\nexport const msgInput = '1';\nexport const msgPing = '2';\nexport const msgResizeTerminal = '3';\n\nexport const msgUnknownOutput = '0';\nexport const msgOutput = '1';\nexport const msgPong = '2';\nexport const msgSetWindowTitle = '3';\nexport const msgSetPreferences = '4';\nexport const msgSetReconnect = '5';\nexport const msgSetBufferSize = '6';\n\n\nexport interface Terminal {\n info(): { columns: number, rows: number };\n output(data: string): void;\n showMessage(message: string, timeout: number): void;\n removeMessage(): void;\n setWindowTitle(title: string): void;\n setPreferences(value: object): void;\n onInput(callback: (input: string) => void): void;\n onResize(callback: (colmuns: number, rows: number) => void): void;\n reset(): void;\n deactivate(): void;\n close(): void;\n}\n\nexport interface Connection {\n open(): void;\n close(): void;\n send(data: string): void;\n isOpen(): boolean;\n onOpen(callback: () => void): void;\n onReceive(callback: (data: string) => void): void;\n onClose(callback: () => void): void;\n}\n\nexport interface ConnectionFactory {\n create(): Connection;\n}\n\n\nexport class WebTTY {\n term: Terminal;\n connectionFactory: ConnectionFactory;\n args: string;\n authToken: string;\n reconnect: number;\n bufSize: number;\n\n constructor(term: Terminal, connectionFactory: ConnectionFactory, args: string, authToken: string) {\n this.term = term;\n this.connectionFactory = connectionFactory;\n this.args = args;\n this.authToken = authToken;\n this.reconnect = -1;\n this.bufSize = 1024;\n };\n\n open() {\n let connection = this.connectionFactory.create();\n let pingTimer: NodeJS.Timeout;\n let reconnectTimeout: NodeJS.Timeout;\n\n const setup = () => {\n connection.onOpen(() => {\n const termInfo = this.term.info();\n\n connection.send(JSON.stringify(\n {\n Arguments: this.args,\n AuthToken: this.authToken,\n }\n ));\n\n\n const resizeHandler = (colmuns: number, rows: number) => {\n connection.send(\n msgResizeTerminal + JSON.stringify(\n {\n columns: colmuns,\n rows: rows\n }\n )\n );\n };\n\n this.term.onResize(resizeHandler);\n resizeHandler(termInfo.columns, termInfo.rows);\n\n this.term.onInput(\n (input: string) => {\n // Leave room for message type id\n let effectiveBufferSize = this.bufSize - 1;\n\n // Split input into buffer sized chunks\n for (let i = 0; i < Math.ceil(input.length/effectiveBufferSize); i++) {\n let inputChunk = input.substring(i*effectiveBufferSize, Math.min((i+1)*effectiveBufferSize, input.length))\n connection.send(msgInput + inputChunk);\n }\n }\n );\n\n pingTimer = setInterval(() => {\n connection.send(msgPing)\n }, 30 * 1000);\n\n });\n\n connection.onReceive((data) => {\n const payload = data.slice(1);\n switch (data[0]) {\n case msgOutput:\n this.term.output(atob(payload));\n break;\n case msgPong:\n break;\n case msgSetWindowTitle:\n this.term.setWindowTitle(payload);\n break;\n case msgSetPreferences:\n const preferences = JSON.parse(payload);\n this.term.setPreferences(preferences);\n break;\n case msgSetReconnect:\n const autoReconnect = JSON.parse(payload);\n console.log(\"Enabling reconnect: \" + autoReconnect + \" seconds\")\n this.reconnect = autoReconnect;\n break;\n case msgSetBufferSize:\n const bufSize = JSON.parse(payload);\n this.bufSize = bufSize;\n break;\n }\n });\n\n connection.onClose(() => {\n clearInterval(pingTimer);\n this.term.deactivate();\n this.term.showMessage(\"Connection Closed\", 0);\n if (this.reconnect > 0) {\n reconnectTimeout = setTimeout(() => {\n connection = this.connectionFactory.create();\n this.term.reset();\n setup();\n }, this.reconnect * 1000);\n }\n });\n\n connection.open();\n }\n\n setup();\n return () => {\n clearTimeout(reconnectTimeout);\n connection.close();\n }\n };\n};\n","import { Terminal, IDisposable } from \"xterm\";\nimport { FitAddon } from 'xterm-addon-fit';\nimport { WebLinksAddon } from 'xterm-addon-web-links';\nimport { WebglAddon } from 'xterm-addon-webgl';\n\nexport class Xterm {\n elem: HTMLElement;\n term: Terminal;\n resizeListener: () => void;\n\n message: HTMLElement;\n messageTimeout: number;\n messageTimer: NodeJS.Timeout;\n onResizeHandler: IDisposable;\n onDataHandler: IDisposable;\n fitAddOn: FitAddon;\n\n constructor(elem: HTMLElement) {\n this.elem = elem;\n this.term = new Terminal();\n this.fitAddOn = new FitAddon();\n this.term.loadAddon(new WebLinksAddon());\n this.term.loadAddon(this.fitAddOn);\n\n this.message = elem.ownerDocument.createElement(\"div\");\n this.message.className = \"xterm-overlay\";\n this.messageTimeout = 2000;\n\n this.resizeListener = () => {\n this.fitAddOn.fit();\n this.term.scrollToBottom();\n this.showMessage(String(this.term.cols) + \"x\" + String(this.term.rows), this.messageTimeout);\n };\n\n this.term.open(elem);\n this.term.focus();\n this.resizeListener();\n window.addEventListener(\"resize\", () => { this.resizeListener(); });\n };\n\n info(): { columns: number, rows: number } {\n return { columns: this.term.cols, rows: this.term.rows };\n };\n\n output(data: string) {\n this.term.write(Uint8Array.from(data, c => c.charCodeAt(0)));\n };\n\n showMessage(message: string, timeout: number) {\n this.message.textContent = message;\n this.elem.appendChild(this.message);\n\n if (this.messageTimer) {\n clearTimeout(this.messageTimer);\n }\n if (timeout > 0) {\n this.messageTimer = setTimeout(() => {\n this.elem.removeChild(this.message);\n }, timeout);\n }\n };\n\n removeMessage(): void {\n if (this.message.parentNode == this.elem) {\n this.elem.removeChild(this.message);\n }\n }\n\n setWindowTitle(title: string) {\n document.title = title;\n };\n\n setPreferences(value: object) {\n Object.keys(value).forEach((key) => {\n if (key == \"EnableWebGL\" && key) {\n this.term.loadAddon(new WebglAddon());\n } else if (key == \"font-size\") {\n this.term.setOption(\"fontSize\", value[key])\n } else if (key == \"font-family\") {\n this.term.setOption(\"fontFamily\", value[key])\n }\n });\n };\n\n onInput(callback: (input: string) => void) {\n this.onDataHandler = this.term.onData((data) => {\n callback(data);\n });\n\n };\n\n onResize(callback: (colmuns: number, rows: number) => void) {\n this.onResizeHandler = this.term.onResize(() => {\n callback(this.term.cols, this.term.rows);\n });\n };\n\n deactivate(): void {\n this.onDataHandler.dispose();\n this.onResizeHandler.dispose();\n this.term.blur();\n }\n\n reset(): void {\n this.removeMessage();\n this.term.clear();\n }\n\n close(): void {\n window.removeEventListener(\"resize\", this.resizeListener);\n this.term.dispose();\n }\n}\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","import { Xterm } from \"./xterm\";\nimport { Terminal, WebTTY, protocols } from \"./webtty\";\nimport { ConnectionFactory } from \"./websocket\";\n\n// @TODO remove these\ndeclare var gotty_auth_token: string;\ndeclare var gotty_term: string;\n\nconst elem = document.getElementById(\"terminal\")\n\nif (elem !== null) {\n var term: Terminal;\n term = new Xterm(elem);\n\n const httpsEnabled = window.location.protocol == \"https:\";\n const url = (httpsEnabled ? 'wss://' : 'ws://') + window.location.host + window.location.pathname + 'ws';\n const args = window.location.search;\n const factory = new ConnectionFactory(url, protocols);\n const wt = new WebTTY(term, factory, args, gotty_auth_token);\n const closer = wt.open();\n\n window.addEventListener(\"unload\", () => {\n closer();\n term.close();\n });\n};\n"],"sourceRoot":""} \ No newline at end of file diff --git a/js/package-lock.json b/js/package-lock.json index e21875a..906cf7a 100644 --- a/js/package-lock.json +++ b/js/package-lock.json @@ -9,7 +9,6 @@ "version": "2.0.0", "dependencies": { "css-loader": "^5.2.6", - "libapps": "github:yudai/libapps#release-hterm-1.70", "style-loader": "^2.0.0", "xterm": "^4.12.0", "xterm-addon-fit": "^0.5.0", @@ -869,12 +868,6 @@ "node": ">=0.10.0" } }, - "node_modules/libapps": { - "version": "1.70.0", - "resolved": "git+ssh://git@github.com/yudai/libapps.git#424e3e95e5346ef0c0c281aaf2ef73463a55b39e", - "integrity": "sha512-BpAlnvEvCmcXAPGBdUfrjo1al9V4vIktyKLBxOdYdY/XEAb6rx3Lz/XeZJrns5Tn3IFF0DfBQ9jEF4YZgDMsOg==", - "license": "BSD-3-Clause" - }, "node_modules/license-loader": { "version": "0.5.0", "resolved": "https://registry.npmjs.org/license-loader/-/license-loader-0.5.0.tgz", @@ -2491,11 +2484,6 @@ "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", "dev": true }, - "libapps": { - "version": "git+ssh://git@github.com/yudai/libapps.git#424e3e95e5346ef0c0c281aaf2ef73463a55b39e", - "integrity": "sha512-BpAlnvEvCmcXAPGBdUfrjo1al9V4vIktyKLBxOdYdY/XEAb6rx3Lz/XeZJrns5Tn3IFF0DfBQ9jEF4YZgDMsOg==", - "from": "libapps@github:yudai/libapps#release-hterm-1.70" - }, "license-loader": { "version": "0.5.0", "resolved": "https://registry.npmjs.org/license-loader/-/license-loader-0.5.0.tgz", diff --git a/js/package.json b/js/package.json index dfa4eb7..cbf9d5f 100644 --- a/js/package.json +++ b/js/package.json @@ -11,7 +11,6 @@ }, "dependencies": { "css-loader": "^5.2.6", - "libapps": "github:yudai/libapps#release-hterm-1.70", "style-loader": "^2.0.0", "xterm": "^4.12.0", "xterm-addon-fit": "^0.5.0", diff --git a/js/src/hterm.ts b/js/src/hterm.ts deleted file mode 100644 index 4eef7f7..0000000 --- a/js/src/hterm.ts +++ /dev/null @@ -1,94 +0,0 @@ -import * as bare from "libapps"; - -export class Hterm { - elem: HTMLElement; - - term: bare.hterm.Terminal; - io: bare.hterm.IO; - - columns: number; - rows: number; - - // to "show" the current message when removeMessage() is called - message: string; - - constructor(elem: HTMLElement) { - this.elem = elem; - bare.hterm.defaultStorage = new bare.lib.Storage.Memory(); - this.term = new bare.hterm.Terminal(); - this.term.getPrefs().set("send-encoding", "raw"); - this.term.decorate(this.elem); - - this.io = this.term.io.push(); - this.term.installKeyboard(); - }; - - info(): { columns: number, rows: number } { - return { columns: this.columns, rows: this.rows }; - }; - - output(data: string) { - if (this.term.io != null) { - this.term.io.writeUTF8(data); - } - }; - - showMessage(message: string, timeout: number) { - this.message = message; - if (timeout > 0) { - this.term.io.showOverlay(message, timeout); - } else { - this.term.io.showOverlay(message, null); - } - }; - - removeMessage(): void { - // there is no hideOverlay(), so show the same message with 0 sec - this.term.io.showOverlay(this.message, 0); - } - - setWindowTitle(title: string) { - this.term.setWindowTitle(title); - }; - - setPreferences(value: object) { - Object.keys(value).forEach((key) => { - if (key != "EnableWebGL") { - this.term.getPrefs().set(key, value[key]); - } - }); - }; - - onInput(callback: (input: string) => void) { - this.io.onVTKeystroke = (data) => { - callback(data); - }; - this.io.sendString = (data) => { - callback(data); - }; - }; - - onResize(callback: (colmuns: number, rows: number) => void) { - this.io.onTerminalResize = (columns: number, rows: number) => { - this.columns = columns; - this.rows = rows; - callback(columns, rows); - }; - }; - - deactivate(): void { - this.io.onVTKeystroke = function () { }; - this.io.sendString = function () { }; - this.io.onTerminalResize = function () { }; - this.term.uninstallKeyboard(); - } - - reset(): void { - this.removeMessage(); - this.term.installKeyboard(); - } - - close(): void { - this.term.uninstallKeyboard(); - } -} diff --git a/js/src/main.ts b/js/src/main.ts index 101190a..8c09fe0 100644 --- a/js/src/main.ts +++ b/js/src/main.ts @@ -1,4 +1,3 @@ -import { Hterm } from "./hterm"; import { Xterm } from "./xterm"; import { Terminal, WebTTY, protocols } from "./webtty"; import { ConnectionFactory } from "./websocket"; @@ -11,11 +10,8 @@ const elem = document.getElementById("terminal") if (elem !== null) { var term: Terminal; - if (gotty_term == "hterm") { - term = new Hterm(elem); - } else { - term = new Xterm(elem); - } + term = new Xterm(elem); + const httpsEnabled = window.location.protocol == "https:"; const url = (httpsEnabled ? 'wss://' : 'ws://') + window.location.host + window.location.pathname + 'ws'; const args = window.location.search; diff --git a/js/src/xterm.ts b/js/src/xterm.ts index ad7f26e..13ee987 100644 --- a/js/src/xterm.ts +++ b/js/src/xterm.ts @@ -2,13 +2,11 @@ import { Terminal, IDisposable } from "xterm"; import { FitAddon } from 'xterm-addon-fit'; import { WebLinksAddon } from 'xterm-addon-web-links'; import { WebglAddon } from 'xterm-addon-webgl'; -import { lib } from "libapps" export class Xterm { elem: HTMLElement; term: Terminal; resizeListener: () => void; - decoder: lib.UTF8Decoder; message: HTMLElement; messageTimeout: number; @@ -38,8 +36,6 @@ export class Xterm { this.term.focus(); this.resizeListener(); window.addEventListener("resize", () => { this.resizeListener(); }); - - this.decoder = new lib.UTF8Decoder() }; info(): { columns: number, rows: number } { @@ -47,7 +43,7 @@ export class Xterm { }; output(data: string) { - this.term.write(this.decoder.decode(data)); + this.term.write(Uint8Array.from(data, c => c.charCodeAt(0))); }; showMessage(message: string, timeout: number) { diff --git a/js/typings/libapps/index.d.ts b/js/typings/libapps/index.d.ts deleted file mode 100644 index 81eb66d..0000000 --- a/js/typings/libapps/index.d.ts +++ /dev/null @@ -1,51 +0,0 @@ -export declare namespace hterm { - export class Terminal { - io: IO; - onTerminalReady: () => void; - - constructor(); - getPrefs(): Prefs; - decorate(HTMLElement); - installKeyboard(): void; - uninstallKeyboard(): void; - setWindowTitle(title: string): void; - reset(): void; - softReset(): void; - } - - export class IO { - writeUTF8: ((data: string) => void); - writeUTF16: ((data: string) => void); - onVTKeystroke: ((data: string) => void) | null; - sendString: ((data: string) => void) | null; - onTerminalResize: ((columns: number, rows: number) => void) | null; - - push(): IO; - writeUTF(data: string); - showOverlay(message: string, timeout: number | null); - } - - export class Prefs { - set(key: string, value: string): void; - } - - export var defaultStorage: lib.Storage; -} - -export declare namespace lib { - export interface Storage { - } - - export interface Memory { - new (): Storage; - Memory(): Storage - } - - export var Storage: { - Memory: Memory - } - - export class UTF8Decoder { - decode(str: string) - } -} diff --git a/server/handlers.go b/server/handlers.go index 5347ab6..641cc7f 100644 --- a/server/handlers.go +++ b/server/handlers.go @@ -154,13 +154,6 @@ func (server *Server) processWSConn(ctx context.Context, conn *websocket.Conn) e if server.options.Height > 0 { opts = append(opts, webtty.WithFixedRows(server.options.Height)) } - if server.options.Preferences == nil { - server.options.Preferences = &HtermPrefernces{} - } - // Awkward hack until HtermPreferences can be phased out - server.options.Preferences.EnableWebGL = server.options.EnableWebGL - opts = append(opts, webtty.WithMasterPreferences(server.options.Preferences)) - tty, err := webtty.New(&wsWrapper{conn}, slave, opts...) if err != nil { return errors.Wrapf(err, "failed to create webtty") @@ -236,7 +229,7 @@ func (server *Server) handleAuthToken(w http.ResponseWriter, r *http.Request) { func (server *Server) handleConfig(w http.ResponseWriter, r *http.Request) { w.Header().Set("Content-Type", "application/javascript") - w.Write([]byte("var gotty_term = '" + server.options.Term + "';")) + w.Write([]byte("var gotty_term = 'xterm';")) } // titleVariables merges maps in a specified order. diff --git a/server/options.go b/server/options.go index 24fa515..b7dc3d3 100644 --- a/server/options.go +++ b/server/options.go @@ -5,34 +5,32 @@ import ( ) type Options struct { - Address string `hcl:"address" flagName:"address" flagSName:"a" flagDescribe:"IP address to listen" default:"0.0.0.0"` - Port string `hcl:"port" flagName:"port" flagSName:"p" flagDescribe:"Port number to liten" default:"8080"` - Path string `hcl:"path" flagName:"path" flagSName:"m" flagDescribe:"Base path" default:"/"` - PermitWrite bool `hcl:"permit_write" flagName:"permit-write" flagSName:"w" flagDescribe:"Permit clients to write to the TTY (BE CAREFUL)" default:"false"` - EnableBasicAuth bool `hcl:"enable_basic_auth" default:"false"` - Credential string `hcl:"credential" flagName:"credential" flagSName:"c" flagDescribe:"Credential for Basic Authentication (ex: user:pass, default disabled)" default:""` - EnableRandomUrl bool `hcl:"enable_random_url" flagName:"random-url" flagSName:"r" flagDescribe:"Add a random string to the URL" default:"false"` - RandomUrlLength int `hcl:"random_url_length" flagName:"random-url-length" flagDescribe:"Random URL length" default:"8"` - EnableTLS bool `hcl:"enable_tls" flagName:"tls" flagSName:"t" flagDescribe:"Enable TLS/SSL" default:"false"` - TLSCrtFile string `hcl:"tls_crt_file" flagName:"tls-crt" flagDescribe:"TLS/SSL certificate file path" default:"~/.gotty.crt"` - TLSKeyFile string `hcl:"tls_key_file" flagName:"tls-key" flagDescribe:"TLS/SSL key file path" default:"~/.gotty.key"` - EnableTLSClientAuth bool `hcl:"enable_tls_client_auth" default:"false"` - TLSCACrtFile string `hcl:"tls_ca_crt_file" flagName:"tls-ca-crt" flagDescribe:"TLS/SSL CA certificate file for client certifications" default:"~/.gotty.ca.crt"` - IndexFile string `hcl:"index_file" flagName:"index" flagDescribe:"Custom index.html file" default:""` - TitleFormat string `hcl:"title_format" flagName:"title-format" flagSName:"" flagDescribe:"Title format of browser window" default:"{{ .command }}@{{ .hostname }}"` - EnableReconnect bool `hcl:"enable_reconnect" flagName:"reconnect" flagDescribe:"Enable reconnection" default:"false"` - ReconnectTime int `hcl:"reconnect_time" flagName:"reconnect-time" flagDescribe:"Time to reconnect" default:"10"` - MaxConnection int `hcl:"max_connection" flagName:"max-connection" flagDescribe:"Maximum connection to gotty" default:"0"` - Once bool `hcl:"once" flagName:"once" flagDescribe:"Accept only one client and exit on disconnection" default:"false"` - Timeout int `hcl:"timeout" flagName:"timeout" flagDescribe:"Timeout seconds for waiting a client(0 to disable)" default:"0"` - PermitArguments bool `hcl:"permit_arguments" flagName:"permit-arguments" flagDescribe:"Permit clients to send command line arguments in URL (e.g. http://example.com:8080/?arg=AAA&arg=BBB)" default:"false"` - Preferences *HtermPrefernces `hcl:"preferences"` - Width int `hcl:"width" flagName:"width" flagDescribe:"Static width of the screen, 0(default) means dynamically resize" default:"0"` - Height int `hcl:"height" flagName:"height" flagDescribe:"Static height of the screen, 0(default) means dynamically resize" default:"0"` - WSOrigin string `hcl:"ws_origin" flagName:"ws-origin" flagDescribe:"A regular expression that matches origin URLs to be accepted by WebSocket. No cross origin requests are acceptable by default" default:""` - Term string `hcl:"term" flagName:"term" flagDescribe:"Terminal name to use on the browser, one of xterm or hterm." default:"xterm"` - EnableWebGL bool `hcl:"enable_webgl" flagName:"enable-webgl" flagDescribe:"Enable WebGL renderer" default:"true"` - Quiet bool `hcl:"quiet" flagName:"quiet" flagDescribe:"Don't log" default:"false"` + Address string `hcl:"address" flagName:"address" flagSName:"a" flagDescribe:"IP address to listen" default:"0.0.0.0"` + Port string `hcl:"port" flagName:"port" flagSName:"p" flagDescribe:"Port number to liten" default:"8080"` + Path string `hcl:"path" flagName:"path" flagSName:"m" flagDescribe:"Base path" default:"/"` + PermitWrite bool `hcl:"permit_write" flagName:"permit-write" flagSName:"w" flagDescribe:"Permit clients to write to the TTY (BE CAREFUL)" default:"false"` + EnableBasicAuth bool `hcl:"enable_basic_auth" default:"false"` + Credential string `hcl:"credential" flagName:"credential" flagSName:"c" flagDescribe:"Credential for Basic Authentication (ex: user:pass, default disabled)" default:""` + EnableRandomUrl bool `hcl:"enable_random_url" flagName:"random-url" flagSName:"r" flagDescribe:"Add a random string to the URL" default:"false"` + RandomUrlLength int `hcl:"random_url_length" flagName:"random-url-length" flagDescribe:"Random URL length" default:"8"` + EnableTLS bool `hcl:"enable_tls" flagName:"tls" flagSName:"t" flagDescribe:"Enable TLS/SSL" default:"false"` + TLSCrtFile string `hcl:"tls_crt_file" flagName:"tls-crt" flagDescribe:"TLS/SSL certificate file path" default:"~/.gotty.crt"` + TLSKeyFile string `hcl:"tls_key_file" flagName:"tls-key" flagDescribe:"TLS/SSL key file path" default:"~/.gotty.key"` + EnableTLSClientAuth bool `hcl:"enable_tls_client_auth" default:"false"` + TLSCACrtFile string `hcl:"tls_ca_crt_file" flagName:"tls-ca-crt" flagDescribe:"TLS/SSL CA certificate file for client certifications" default:"~/.gotty.ca.crt"` + IndexFile string `hcl:"index_file" flagName:"index" flagDescribe:"Custom index.html file" default:""` + TitleFormat string `hcl:"title_format" flagName:"title-format" flagSName:"" flagDescribe:"Title format of browser window" default:"{{ .command }}@{{ .hostname }}"` + EnableReconnect bool `hcl:"enable_reconnect" flagName:"reconnect" flagDescribe:"Enable reconnection" default:"false"` + ReconnectTime int `hcl:"reconnect_time" flagName:"reconnect-time" flagDescribe:"Time to reconnect" default:"10"` + MaxConnection int `hcl:"max_connection" flagName:"max-connection" flagDescribe:"Maximum connection to gotty" default:"0"` + Once bool `hcl:"once" flagName:"once" flagDescribe:"Accept only one client and exit on disconnection" default:"false"` + Timeout int `hcl:"timeout" flagName:"timeout" flagDescribe:"Timeout seconds for waiting a client(0 to disable)" default:"0"` + PermitArguments bool `hcl:"permit_arguments" flagName:"permit-arguments" flagDescribe:"Permit clients to send command line arguments in URL (e.g. http://example.com:8080/?arg=AAA&arg=BBB)" default:"false"` + Width int `hcl:"width" flagName:"width" flagDescribe:"Static width of the screen, 0(default) means dynamically resize" default:"0"` + Height int `hcl:"height" flagName:"height" flagDescribe:"Static height of the screen, 0(default) means dynamically resize" default:"0"` + WSOrigin string `hcl:"ws_origin" flagName:"ws-origin" flagDescribe:"A regular expression that matches origin URLs to be accepted by WebSocket. No cross origin requests are acceptable by default" default:""` + EnableWebGL bool `hcl:"enable_webgl" flagName:"enable-webgl" flagDescribe:"Enable WebGL renderer" default:"true"` + Quiet bool `hcl:"quiet" flagName:"quiet" flagDescribe:"Don't log" default:"false"` TitleVariables map[string]interface{} } @@ -43,61 +41,3 @@ func (options *Options) Validate() error { } return nil } - -type HtermPrefernces struct { - AltGrMode *string `hcl:"alt_gr_mode" json:"alt-gr-mode,omitempty"` - AltBackspaceIsMetaBackspace bool `hcl:"alt_backspace_is_meta_backspace" json:"alt-backspace-is-meta-backspace,omitempty"` - AltIsMeta bool `hcl:"alt_is_meta" json:"alt-is-meta,omitempty"` - AltSendsWhat string `hcl:"alt_sends_what" json:"alt-sends-what,omitempty"` - AudibleBellSound string `hcl:"audible_bell_sound" json:"audible-bell-sound,omitempty"` - DesktopNotificationBell bool `hcl:"desktop_notification_bell" json:"desktop-notification-bell,omitempty"` - BackgroundColor string `hcl:"background_color" json:"background-color,omitempty"` - BackgroundImage string `hcl:"background_image" json:"background-image,omitempty"` - BackgroundSize string `hcl:"background_size" json:"background-size,omitempty"` - BackgroundPosition string `hcl:"background_position" json:"background-position,omitempty"` - BackspaceSendsBackspace bool `hcl:"backspace_sends_backspace" json:"backspace-sends-backspace,omitempty"` - CharacterMapOverrides map[string]map[string]string `hcl:"character_map_overrides" json:"character-map-overrides,omitempty"` - CloseOnExit bool `hcl:"close_on_exit" json:"close-on-exit,omitempty"` - CursorBlink bool `hcl:"cursor_blink" json:"cursor-blink,omitempty"` - CursorBlinkCycle [2]int `hcl:"cursor_blink_cycle" json:"cursor-blink-cycle,omitempty"` - CursorColor string `hcl:"cursor_color" json:"cursor-color,omitempty"` - ColorPaletteOverrides []*string `hcl:"color_palette_overrides" json:"color-palette-overrides,omitempty"` - CopyOnSelect bool `hcl:"copy_on_select" json:"copy-on-select,omitempty"` - UseDefaultWindowCopy bool `hcl:"use_default_window_copy" json:"use-default-window-copy,omitempty"` - ClearSelectionAfterCopy bool `hcl:"clear_selection_after_copy" json:"clear-selection-after-copy,omitempty"` - CtrlPlusMinusZeroZoom bool `hcl:"ctrl_plus_minus_zero_zoom" json:"ctrl-plus-minus-zero-zoom,omitempty"` - CtrlCCopy bool `hcl:"ctrl_c_copy" json:"ctrl-c-copy,omitempty"` - CtrlVPaste bool `hcl:"ctrl_v_paste" json:"ctrl-v-paste,omitempty"` - EastAsianAmbiguousAsTwoColumn bool `hcl:"east_asian_ambiguous_as_two_column" json:"east-asian-ambiguous-as-two-column,omitempty"` - Enable8BitControl *bool `hcl:"enable_8_bit_control" json:"enable-8-bit-control,omitempty"` - EnableBold *bool `hcl:"enable_bold" json:"enable-bold,omitempty"` - EnableBoldAsBright bool `hcl:"enable_bold_as_bright" json:"enable-bold-as-bright,omitempty"` - EnableClipboardNotice bool `hcl:"enable_clipboard_notice" json:"enable-clipboard-notice,omitempty"` - EnableClipboardWrite bool `hcl:"enable_clipboard_write" json:"enable-clipboard-write,omitempty"` - EnableDec12 bool `hcl:"enable_dec12" json:"enable-dec12,omitempty"` - EnableWebGL bool `json:"EnableWebGL,omitempty"` - Environment map[string]string `hcl:"environment" json:"environment,omitempty"` - FontFamily string `hcl:"font_family" json:"font-family,omitempty"` - FontSize int `hcl:"font_size" json:"font-size,omitempty"` - FontSmoothing string `hcl:"font_smoothing" json:"font-smoothing,omitempty"` - ForegroundColor string `hcl:"foreground_color" json:"foreground-color,omitempty"` - HomeKeysScroll bool `hcl:"home_keys_scroll" json:"home-keys-scroll,omitempty"` - Keybindings map[string]string `hcl:"keybindings" json:"keybindings,omitempty"` - MaxStringSequence int `hcl:"max_string_sequence" json:"max-string-sequence,omitempty"` - MediaKeysAreFkeys bool `hcl:"media_keys_are_fkeys" json:"media-keys-are-fkeys,omitempty"` - MetaSendsEscape bool `hcl:"meta_sends_escape" json:"meta-sends-escape,omitempty"` - MousePasteButton *int `hcl:"mouse_paste_button" json:"mouse-paste-button,omitempty"` - PageKeysScroll bool `hcl:"page_keys_scroll" json:"page-keys-scroll,omitempty"` - PassAltNumber *bool `hcl:"pass_alt_number" json:"pass-alt-number,omitempty"` - PassCtrlNumber *bool `hcl:"pass_ctrl_number" json:"pass-ctrl-number,omitempty"` - PassMetaNumber *bool `hcl:"pass_meta_number" json:"pass-meta-number,omitempty"` - PassMetaV bool `hcl:"pass_meta_v" json:"pass-meta-v,omitempty"` - ReceiveEncoding string `hcl:"receive_encoding" json:"receive-encoding,omitempty"` - ScrollOnKeystroke bool `hcl:"scroll_on_keystroke" json:"scroll-on-keystroke,omitempty"` - ScrollOnOutput bool `hcl:"scroll_on_output" json:"scroll-on-output,omitempty"` - ScrollbarVisible bool `hcl:"scrollbar_visible" json:"scrollbar-visible,omitempty"` - ScrollWheelMoveMultiplier int `hcl:"scroll_wheel_move_multiplier" json:"scroll-wheel-move-multiplier,omitempty"` - SendEncoding string `hcl:"send_encoding" json:"send-encoding,omitempty"` - ShiftInsertPaste bool `hcl:"shift_insert_paste" json:"shift-insert-paste,omitempty"` - UserCss string `hcl:"user_css" json:"user-css,omitempty"` -}