{"version":3,"sources":["webpack:///app.32c889b-en.js","webpack:///webpack/bootstrap 03835f1dd6d548b8b359","webpack:///./js/utils.js","webpack:///./js/lib/chibi.js","webpack:///./js/modal.js","webpack:///./js/notif.js","webpack:///./node_modules/events/events.js","webpack:///./js/term/themes.js","webpack:///./js/term/screen_attr_bits.js","webpack:///./js/term/demo.js","webpack:///./js/lib/color_utils.js","webpack:///./js/lang.js","webpack:///./js/index.js","webpack:///./js/lib/polyfills.js","webpack:///./js/appcommon.js","webpack:///./js/wifi.js","webpack:///./lang/en.php","webpack:///./js/term/index.js","webpack:///./js/term/screen.js","webpack:///./js/term/screen_parser.js","webpack:///./js/term/screen_renderer.js","webpack:///./js/term/connection.js","webpack:///./js/term/input.js","webpack:///./js/term/upload.js","webpack:///./js/term/soft_keyboard.js","webpack:///./js/term/debug.js","webpack:///./js/term/buttons.js","webpack:///./js/term_conf.js","webpack:///./js/lib/colortriangle.js"],"names":["modules","__webpack_require__","moduleId","installedModules","exports","module","i","l","call","m","c","d","name","getter","o","Object","defineProperty","configurable","enumerable","get","n","__esModule","object","property","prototype","hasOwnProperty","p","s","mk","e","document","createElement","qs","querySelector","qsa","querySelectorAll","cr","hdl","which","parse2B","arguments","length","undefined","charCodeAt","parse3B","encode2B","lsb","msb","String","fromCharCode","encode3B","xsb","_typeof","Symbol","iterator","obj","constructor","fireReady","domready","readyfn","fireLoaded","pageloaded","loadedfn","nodeLoop","fn","nodes","cssCamel","replace","result","charAt","toUpperCase","computeStyle","elm","currentStyle","w","getComputedStyle","getPropertyValue","queryPair","value","encodeURIComponent","setCss","style","showCss","display","serializeData","subelm","j","querystring","Array","nodeName","elements","disabled","type","selected","checked","substring","classHelper","classes","action","classarray","has","split","clz","classList","remove","add","toggle","contains","insertHtml","position","tmpnodes","tmpnode","innerHTML","lastChild","parentNode","insertBefore","nextSibling","appendChild","firstChild","chibi","selector","cb","nodelist","json","nodeType","each","apply","first","shift","last","pop","odd","odds","push","even","evens","hide","show","state","removeChild","css","getClass","className","setClass","addClass","removeClass","toggleClass","set","hasClass","html","htmlBefore","htmlAfter","htmlAppend","htmlPrepend","attr","toLowerCase","cssText","setAttribute","getAttribute","data","key","val","values","check","on","event","addEventListener","attachEvent","off","removeEventListener","detachEvent","window","onload","ajax","options","opts","assign","method","nocache","timeout","loader","callback","loaderFn","_loader","url","query","indexOf","xhr","XMLHttpRequest","ts","Date","toString","open","abortTmeo","setTimeout","console","error","abort","onreadystatechange","readyState","responseText","status","clearTimeout","setRequestHeader","send","post","ready","loaded","entityMap","&","<",">","\"","'","/","`","=","htmlEscape","string","$","modal","curCloseCb","sel","closeCb","$m","init","this","stopImmediatePropagation","nt","$balloon","timerHideBegin","timerHideEnd","canCancel","stopTimeouts","message","isError","EventEmitter","_events","_maxListeners","isFunction","arg","isNumber","isObject","isUndefined","defaultMaxListeners","setMaxListeners","isNaN","TypeError","emit","er","handler","len","args","listeners","Error","err","context","slice","addListener","listener","newListener","warned","trace","once","g","removeListener","fired","list","splice","removeAllListeners","listenerCount","evlistener","emitter","_require","rgb255ToHex","themes","fgbgThemes","colorTable256","buildColorTable","fill","red","green","blue","redValue","greenValue","blueValue","gray","SELECTION_FG","SELECTION_BG","themePreview","themeN","forEach","elem","shade","dataset","fg","test","toHex","color","bg","backgroundColor","ensureColorTable256","getColor","palette","substr","Math","floor","now","ATTR_FG","ATTR_BG","ATTR_BOLD","ATTR_UNDERLINE","ATTR_INVERSE","ATTR_BLINK","ATTR_ITALIC","ATTR_STRIKE","ATTR_OVERLINE","ATTR_FAINT","ATTR_FRAKTUR","_toConsumableArray","arr","isArray","arr2","from","_possibleConstructorReturn","self","ReferenceError","_inherits","subClass","superClass","create","writable","setPrototypeOf","__proto__","_classCallCheck","instance","Constructor","_get","receiver","Function","desc","getOwnPropertyDescriptor","parent","getPrototypeOf","_createClass","defineProperties","target","props","descriptor","protoProps","staticProps","_require2","encodeAsCodePoint","fromCodePoint","ANSIParser","reset","joinChunks","currentSequence","sequence","content","numbers","map","numOr1","number","mode","r","b","text","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_step","_iterator","next","done","character","code","codePointAt","match","parseSequence","return","TERM_DEFAULT_STYLE","getRainbowColor","t","sin","PI","ScrollingTerminal","screen","_this","width","height","termScreen","parser","handleParsed","buttonLabels","_lastLoad","loadTimer","showPage","cursor","x","y","visible","trackMouse","theme","defaultFG","defaultBG","rainbow","superRainbow","clear","scroll","newLine","max","moveBack","min","writeChar","deleteForward","insertBlanks","load","clampCursor","write","attributes","join","serialized","lastStyle","index","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_step2","_iterator2","cell","foreground","background","setForeground","setBackground","setAttributes","encodeColor","topicData","screenOpts","getScreenOpts","title","getTitle","buttons","getButtons","getCursor","serializeScreen","_screenOpts","_title","_buttons","_cursor","_screen","_this2","clearInterval","_loadTimer","setInterval","update","getUpdate","Process","_EventEmitter","demoData","mouseReceiver","demoshIndex","Clear","_Process","destroy","screenfetch","Screenfetch","_Process2","_this6","image","location","hostname","devicePixelRatio","filter","line","trim","chars","loop","local-echo","_Process3","LocalEcho","_len","_key","includes","label","shell","info","Info","_Process4","_this9","_len2","_key2","fast","showSplash","then","printText","_this10","splash","levels"," ",".","-","*","#","characters","repeat","cursorX","cursorY","moveTo","moveX","moveY","abs","drawCell","level","Promise","resolve","reject","cycles","dx","parts","colors","PrintColors","_Process5","ls","ListCommands","_Process6","SetTheme","_this13","_Process7","maxnum","Number","isFinite","terminal","drawnScreenFG","ShowThemes","_this14","_Process8","savedCursorStyle","_this15","fgType","bgType","get24FG","set24FG","v","get24BG","set24BG","make24Control","getValue","setValue","getDisplay","shouldShow","parseValue","input","parseInt","moveAfterInput","controls","count","selection","render","selectedX","_iteratorNormalCompletion3","_didIteratorError3","_iteratorError3","_step3","_iterator3","control","_iteratorNormalCompletion4","_didIteratorError4","_iteratorError4","_step4","_iterator4","_iteratorNormalCompletion5","_didIteratorError5","_iteratorError5","_step5","_iterator5","_console","_len3","_key3","log","concat","getControlCount","getSelectedControl","parsed","SetCursor","_Process9","_len4","_key4","steady","ToggleRainbow","_this17","su","_Process10","_didWarnRainbow","mouse","MouseDemo","_this18","_Process11","_this19","boxes","generateRandomBox","grabbedBox","grabOffset","_iteratorNormalCompletion6","_didIteratorError6","_iteratorError6","_step6","_iterator6","box","drawnX","random","reverse","_iteratorNormalCompletion7","_didIteratorError7","_iteratorError7","_step7","_iterator7","button","scrollInsideBox","getBoxAt","_boxes","amount","sudo","Sudo","_this20","didDestroy","_Process12","_this21","_len5","_key5","child","setButtons","run","make","Make","_this22","_Process14","_len6","_key6","h","pwd","cd","whoami","navigator","userAgent","uname","mkdir","rm","cp","mv","ln","touch","exit","github","GoToGithub","_Process15","autocompleteIndex","DemoShell","printInfo","_this24","history","historyIndex","cursorPos","lastInputLength","prompt","success","unshift","current","visual","prefix","startsWith","newInput","copyFromHistoryIndex","completed","getCompleted","words","moveForward","rest","parse","command","inQuote","_iteratorNormalCompletion8","_didIteratorError8","_iteratorError8","_step8","_iterator8","spawn","_this25","_child","writeChars","demoInterface","onButtonPress","row","column","modifiers","mouseMove","mouseDown","mouseUp","didInit","pad","M","TAU","hue2rgb","v1","v2","hsl2rgb","var_1","var_2","rgb2hsl","d_r","d_g","d_b","hex2rgb","hex","groups","bytes","pow","rgb2hex","round","termInit","TermConf","$defineProperty","stringFromCharCode","highSurrogate","lowSurrogate","codeUnits","codePoint","RangeError","pageShown","notify","menuOpen","inp","keyCode","ctrlKey","submit","$x","dots","$this","step","deltaY","evt","createEvent","initEvent","dispatchEvent","fireEvent","preventDefault","errAt","search","errs","decodeURIComponent","humanReadableErrors","lbls","lbl","childNodes","textContent","msgAt","msg","innerWidth","removeAttribute","br","href","vis","noAutoShow","bnr","id","tr","calc_dBm","toFixed","selectSta","password","ip","hasPassword","onScan","resp","rescan","JSON","inProgress","APs","$list","sort","a","rssi","ap","enc","item","$item","essid","curSSID","inner","escapedSSID","rssi_perc","authTypes","$th","conn_ssid","conn_pass","startScanning","scanAPs","_demo","_demo_aps","_root","time","wifiInit","cfg","disp1","disp2","sta_ssid","sta_password","sta_active_ip","sta_active_ssid","WiFi","wifi.connected_ip_is","wifi.not_conn","wifi.enter_passwd","term_nav.fullscreen","term_conn.connecting","term_conn.waiting_content","term_conn.disconnected","term_conn.waiting_server","term_conn.reconnecting","localize","Notify","TermScreen","TermConnection","TermInput","TermUpload","initSoftKeyboard","attachDebugger","initButtons","conn","termUpload","onMouseDown","onMouseMove","onMouseUp","onMouseWheel","setAlts","setMouseMode","touchSelectMenu","rect","getBoundingClientRect","transform","copyButton","copySelectionToClipboard","labels","scr","errmsg","showSplashTimeout","delay","statusScreen","loading","screenFG","screenBG","screenAttrs","onerror","errorMsg","file","col","canvas","fullscreenIcon","isFullscreen","properFullscreen","fitScreen","screenPadding","padding","fitScreenIfNeeded","fitIntoWidth","fitIntoHeight","innerHeight","toggleFitScreen","resizeButtonIcon","Element","requestFullscreen","webkitRequestFullscreen","checkForFullscreen","body","updateSize","span","termUpl","ScreenParser","ScreenRenderer","ctx","getContext","renderer","_debug","audioCtx","AudioContext","webkitAudioContext","warn","blinking","hanging","_window","fontFamily","fontSize","gridScaleX","gridScaleY","debug","graphics","_windowScale","_padding","windowState","selectable","start","end","setSelectable","mouseMode","clicks","movement","Proxy","scheduleSizeUpdate","scheduleDraw","bracketedPaste","blinkingCellCount","reverseVideo","selecting","selectStart","screenToGrid","selectMove","selectEnd","getNormalizedSelection","altKey","offsetX","offsetY","touchPosition","touchDownTime","touchDidMove","getTouchPositionOffset","clientX","left","clientY","top","touches","passive","selectionPos","gridToScreen","aggregateWheelDelta","wheelDeltaY","_scheduledSizeUpdate","weight","rounded","cellSize","getCellSize","_this3","withScale","font","getFont","measureText","charSize","getCharSize","ceil","didChange","realWidth","realHeight","originalWidth","terminalAspect","resetDrawn","draw","_window2","_selection","_ref","_getNormalizedSelecti","colAfterStart","colBeforeEnd","onStartLine","onEndLine","screenLength","lines","previousLineIndex","isInSelection","selectedText","getSelectedText","textarea","select","execCommand","Notification","permission","focus","requestPermission","_lastBeep","_convolver","createConvolver","impulseLength","sampleRate","impulse","createBuffer","getChannelData","buffer","connect","destination","mainOsc","createOscillator","mainGain","createGain","gain","frequency","surrOsc","surrGain","startTime","currentTime","stop","requestAnimationFrame","_parser","updates","topic","resetScreen","loadTheme","setDefaultColors","defFG","defBG","cursorVisible","inputAlts","trackMouseClicks","trackMouseMovement","cursorBlinking","resetCursorBlink","cursorStyle","debugEnabled","showButtons","showConfigLinks","backgroundImage","beep","frameX","frameY","frameWidth","frameHeight","cells","pushFrame","cellXInFrame","cellYInFrame","showNotification","du","str","NaN","num","contentLoaded","ci","strArray","topics","collectOneTerminatedString","cursorShape","flags","cursorAttrs","regionStart","regionEnd","charsetGx","charsetG0","charsetG1","freeHeap","clientCount","attrs","lastChar","frameLength","MASK_LINE_ATTR","MASK_BLINK","pushCell","hasFG","hasBG","cellFG","cellBG","cellAttrs","charCode","parseUpdate","stringify","frakturExceptions","C","H","I","R","Z","CanvasRenderer","_palette","defaultBgNum","defaultFgNum","blinkStyleOn","blinkInterval","cursorBlinkOn","cursorBlinkInterval","resetBlink","drawnScreen","drawnScreenBG","drawnScreenAttrs","drawnCursor","why","aggregateTime","_scheduledDraw","intervals","cellWidth","cellHeight","isDefaultBG","_screen$window","fillStyle","screenX","screenY","isBorderCell","fillX","fillY","fillWidth","fillHeight","right","bottom","clearRect","fillRect","_ref2","underline","strike","overline","globalAlpha","alphaToFraktur","beginPath","cw","ch","c2w","c2h","offset","dotSpacingX","dotSpacingY","dotSize","alignRight","dy","dotSizeY","lineTo","strokeStyle","stroke","fillText","lineWidth","lineCap","lineY","radius","_screen$window2","_this4","_screen$window3","drawStatus","startDrawLoop","stopDrawLoop","_screen$getCellSize","setTransform","drawStart","textAlign","textBaseline","FONT_MASK","fontGroups","Map","updateMap","isCursor","wasCursor","inSelection","_ref3","_ref4","didUpdate","redrawMap","isTextWide","keys","shouldUpdate","isWideCell","checkRadius","adjacentDidUpdate","getAdjacentCells","adjacentCell","save","redrawing","clipRect","clip","drawBackground","setCell","drawCharacter","_ref5","restore","drawEnd","_screen$window4","screenWidth","screenHeight","translate","rotate","_drawTimerThread","threadID","drawTimerLoop","_this5","demo","ws","heartbeatTimeout","pingInterval","xoff","autoXoffTimeout","reconnTimeout","forceClosing","queue","blobReader","FileReader","onDecodedWSMessage","disconnectTimeout","hidden","closeSocket","heartbeat","flushQueue","readAsText","onWSMessage","close","alert","WebSocket","onWSOpen","onWSClose","onHeartbeatFail","_this7","_this8","sendPing","sendString","sendButton","initKeys","allFn","shouldAcceptEvent","metaKey","handleKeyDown","clipboardData","setData","getData","setContent","all_fn","mb1","mb2","mb3","packModifiersForMouse","KEY_NAMES","3","6","8","9","12","13","16","17","18","19","20","27","32","33","34","35","36","37","38","39","40","41","42","43","44","45","46","58","59","60","61","62","63","64","91","92","93","106","107","109","110","111","144","145","160","161","162","163","164","165","166","167","168","169","170","171","172","173","174","175","176","186","187","188","189","190","192","194","219","220","221","222","224","np_alt","cu_alt","fn_alt","mt_click","mt_move","no_keys","crlf_mode","fa","alt","normal","ca","na","keymap","Backspace","Tab","Enter","Control+Enter","Escape","ArrowUp","ArrowDown","ArrowRight","ArrowLeft","Home","Insert","Delete","End","PageUp","PageDown","F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12","Shift+F1","Shift+F2","Shift+F3","Shift+F4","Shift+F5","Shift+F6","Shift+F7","Shift+F8","Shift+F9","Shift+F10","Shift+F11","Shift+F12","Numpad0","Numpad1","Numpad2","Numpad3","Numpad4","Numpad5","Numpad6","Numpad7","Numpad8","Numpad9","Numpad*","Numpad+","Numpad-","Numpad.","Numpad/","Control+]","Control+\\","Control+[","Control+^","Control+_","Control+ArrowLeft","Control+ArrowRight","Control+ArrowUp","Control+ArrowDown","Control+Home","Control+End","Shift+ArrowLeft","Shift+ArrowRight","Shift+ArrowUp","Shift+ArrowDown","Shift+Home","Shift+End","Alt+ArrowLeft","Alt+ArrowRight","Meta+ArrowLeft","Meta+ArrowRight","Alt+Backspace","Meta+Backspace","Control+Shift+C","Control+Insert","Control+F12","activeElement","HTMLTextAreaElement","keyBlacklist","softModifiers","ctrl","meta","shiftKey","binding","itemModifiers","cu","np","crlf","click","move","dir","blockKeys","yes","openUploadDialog","updateStatus","onDialogClose","fuTout","line_i","startUpload","fuClose","inline_pos","send_delay_ms","nl_str","CR","LF","CRLF","uploadLine","canSend","curLine","maxChunk","MAX_LINE_LEN","chunk","pt","closeWhenReady","reader","files","ftype","confirm","txt","_slicedToArray","sliceIterator","_arr","_n","_d","_e","_s","_i","keyInput","shortcutBar","keyboardOpen","updateInputPosition","_screen$gridToScreen","_screen$gridToScreen2","lastCompositionString","sendInputDelta","newValue","resend","stopPropagation","isComposing","inputType","shortcuts","Control","Esc","←","↓","↑","→","touchMoved","shortcut","fakeEvent","connection","debugCanvas","mouseHoverCell","updateToolbar","startDrawing","onMouseOut","addCanvas","removeCanvas","updateCanvasSize","drawInfo","endTime","lastReason","clippedRects","updateFrames","reason","frame","clipPattern","patternCanvas","pctx","createPattern","isDrawing","lastDrawTime","drawLoop","dt","activeCells","_cells$get","_cells$get2","timestamp","elapsedTime","strokeRect","didDrawUpdateFrames","framesToDelete","elapsed","lineJoin","setLineDash","lineDashOffset","toolbar","toolbarAttached","dataDisplay","internalDisplay","redraw","fancyGraphics","attachToolbar","detachToolbar","displayCellAttrs","formatColor","getCellData","fgText","bgText","cellCode","hexcode","setFormattedText","node","pushSpan","internalInfo","container","pushButton","blur","popButton","selectedTheme","showColor","ex","ColorTriangle","uppercase","trianglePointerSize","size","parseColor","initInput","$presets","thm","tit","xfg","xbg","nextTheme","selectedIndex","prevTheme","times","win","doc","triangleSize","wheelPointerColor1","wheelPointerColor2","trianglePointerColor1","trianglePointerColor2","pixelRatio","setOptions","calculateProperties","createContainer","createTriangle","createWheel","createWheelPointer","createTrianglePointer","attachEvents","setHEX","innerSize","wheelThickness","wheelPointerSize","wheelRadius","triangleRadius","triangleSideLength","sqrt","hue","third","saturation","lightness","hx","cos","hy","sx","sy","vx","vy","mx","my","boxShadow","borderRadius","wheel","margin","drawWheel","arc","triangle","triangleCtx","closePath","grad0","createLinearGradient","hsla","addColorStop","grad1","globalCompositeOperation","wheelPointer","drawPointer","trianglePointer","color1","color2","getRGB","setRGB","getHSL","setHSL","initColor","calculatePositions","moveWheelPointer","drawTriangle","moveTrianglePointer","down","mousedown","mousemove","mouseup","xy","getRelativeCoordinates","x0","y0","rad","atan2","rad0","rad1","tan","maxR","rad2","atan","widthShare","dflt","ct","openColorTriangle","offsetWidth","getHEX","fireChangeEvent","offsetTop","offsetHeight","el","getElement","offsetLeft","zIndex","inject","closeColorTriangle","dispose"],"mappings":"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","file":"app.32c889b-en.js","sourcesContent":["/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 10);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n/** Make a node */\nexports.mk = function mk(e) {\n return document.createElement(e);\n};\n\n/** Find one by query */\nexports.qs = function qs(s) {\n return document.querySelector(s);\n};\n\n/** Find all by query */\nexports.qsa = function qsa(s) {\n return document.querySelectorAll(s);\n};\n\n/**\n * Filter 'spacebar' and 'return' from keypress handler,\n * and when they're pressed, fire the callback.\n * use $(...).on('keypress', cr(handler))\n */\nexports.cr = function cr(hdl) {\n return function (e) {\n if (e.which === 10 || e.which === 13 || e.which === 32) {\n hdl();\n }\n };\n};\n\n/** Decode number from 2B encoding */\nexports.parse2B = function parse2B(s) {\n var i = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n\n return s.charCodeAt(i++) - 1 + (s.charCodeAt(i) - 1) * 127;\n};\n\n/** Decode number from 3B encoding */\nexports.parse3B = function parse3B(s) {\n var i = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n\n return s.charCodeAt(i) - 1 + (s.charCodeAt(i + 1) - 1) * 127 + (s.charCodeAt(i + 2) - 1) * 127 * 127;\n};\n\n/** Encode using 2B encoding, returns string. */\nexports.encode2B = function encode2B(n) {\n var lsb = void 0,\n msb = void 0;\n lsb = n % 127;\n n = (n - lsb) / 127;\n lsb += 1;\n msb = n + 1;\n return String.fromCharCode(lsb) + String.fromCharCode(msb);\n};\n\n/** Encode using 3B encoding, returns string. */\nexports.encode3B = function encode3B(n) {\n var lsb = void 0,\n msb = void 0,\n xsb = void 0;\n lsb = n % 127;\n n = (n - lsb) / 127;\n lsb += 1;\n msb = n % 127;\n n = (n - msb) / 127;\n msb += 1;\n xsb = n + 1;\n return String.fromCharCode(lsb) + String.fromCharCode(msb) + String.fromCharCode(xsb);\n};\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\n/*!chibi 3.0.7, Copyright 2012-2016 Kyle Barrow, released under MIT license */\n\n// MODIFIED VERSION.\n(function () {\n\t'use strict';\n\n\tvar readyfn = [],\n\t loadedfn = [],\n\t domready = false,\n\t pageloaded = false,\n\t d = document,\n\t w = window;\n\n\t// Fire any function calls on ready event\n\tfunction fireReady() {\n\t\tvar i;\n\t\tdomready = true;\n\t\tfor (i = 0; i < readyfn.length; i += 1) {\n\t\t\treadyfn[i]();\n\t\t}\n\t\treadyfn = [];\n\t}\n\n\t// Fire any function calls on loaded event\n\tfunction fireLoaded() {\n\t\tvar i;\n\t\tpageloaded = true;\n\t\t// For browsers with no DOM loaded support\n\t\tif (!domready) {\n\t\t\tfireReady();\n\t\t}\n\t\tfor (i = 0; i < loadedfn.length; i += 1) {\n\t\t\tloadedfn[i]();\n\t\t}\n\t\tloadedfn = [];\n\t}\n\n\t// Check DOM ready, page loaded\n\tif (d.addEventListener) {\n\t\t// Standards\n\t\td.addEventListener('DOMContentLoaded', fireReady, false);\n\t\tw.addEventListener('load', fireLoaded, false);\n\t} else if (d.attachEvent) {\n\t\t// IE\n\t\td.attachEvent('onreadystatechange', fireReady);\n\t\t// IE < 9\n\t\tw.attachEvent('onload', fireLoaded);\n\t} else {\n\t\t// Anything else\n\t\tw.onload = fireLoaded;\n\t}\n\n\t// Utility functions\n\n\t// Loop through node array\n\tfunction nodeLoop(fn, nodes) {\n\t\tvar i;\n\t\t// Good idea to walk up the DOM\n\t\tfor (i = nodes.length - 1; i >= 0; i -= 1) {\n\t\t\tfn(nodes[i]);\n\t\t}\n\t}\n\n\t// Convert to camel case\n\tfunction cssCamel(property) {\n\t\treturn property.replace(/-\\w/g, function (result) {\n\t\t\treturn result.charAt(1).toUpperCase();\n\t\t});\n\t}\n\n\t// Get computed style\n\tfunction computeStyle(elm, property) {\n\t\t// IE, everything else or null\n\t\treturn elm.currentStyle ? elm.currentStyle[cssCamel(property)] : w.getComputedStyle ? w.getComputedStyle(elm, null).getPropertyValue(property) : null;\n\t}\n\n\t// Returns URI encoded query string pair\n\tfunction queryPair(name, value) {\n\t\treturn encodeURIComponent(name).replace(/%20/g, '+') + '=' + encodeURIComponent(value).replace(/%20/g, '+');\n\t}\n\n\t// Set CSS, important to wrap in try to prevent error thown on unsupported property\n\tfunction setCss(elm, property, value) {\n\t\ttry {\n\t\t\telm.style[cssCamel(property)] = value;\n\t\t} catch (e) {}\n\t}\n\n\t// Show CSS\n\tfunction showCss(elm) {\n\t\telm.style.display = '';\n\t\t// For elements still hidden by style block\n\t\tif (computeStyle(elm, 'display') === 'none') {\n\t\t\telm.style.display = 'block';\n\t\t}\n\t}\n\n\t// Serialize form & JSON values\n\tfunction serializeData(nodes) {\n\t\tvar querystring = '',\n\t\t subelm,\n\t\t i,\n\t\t j;\n\t\tif (nodes.constructor === Object) {\n\t\t\t// Serialize JSON data\n\t\t\tfor (subelm in nodes) {\n\t\t\t\tif (nodes.hasOwnProperty(subelm)) {\n\t\t\t\t\tif (nodes[subelm].constructor === Array) {\n\t\t\t\t\t\tfor (i = 0; i < nodes[subelm].length; i += 1) {\n\t\t\t\t\t\t\tquerystring += '&' + queryPair(subelm, nodes[subelm][i]);\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tquerystring += '&' + queryPair(subelm, nodes[subelm]);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\t// Serialize node data\n\t\t\tnodeLoop(function (elm) {\n\t\t\t\tif (elm.nodeName === 'FORM') {\n\t\t\t\t\tfor (i = 0; i < elm.elements.length; i += 1) {\n\t\t\t\t\t\tsubelm = elm.elements[i];\n\n\t\t\t\t\t\tif (!subelm.disabled) {\n\t\t\t\t\t\t\tswitch (subelm.type) {\n\t\t\t\t\t\t\t\t// Ignore buttons, unsupported XHR 1 form fields\n\t\t\t\t\t\t\t\tcase 'button':\n\t\t\t\t\t\t\t\tcase 'image':\n\t\t\t\t\t\t\t\tcase 'file':\n\t\t\t\t\t\t\t\tcase 'submit':\n\t\t\t\t\t\t\t\tcase 'reset':\n\t\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\t\tcase 'select-one':\n\t\t\t\t\t\t\t\t\tif (subelm.length > 0) {\n\t\t\t\t\t\t\t\t\t\tquerystring += '&' + queryPair(subelm.name, subelm.value);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\t\tcase 'select-multiple':\n\t\t\t\t\t\t\t\t\tfor (j = 0; j < subelm.length; j += 1) {\n\t\t\t\t\t\t\t\t\t\tif (subelm[j].selected) {\n\t\t\t\t\t\t\t\t\t\t\tquerystring += '&' + queryPair(subelm.name, subelm[j].value);\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\t\tcase 'checkbox':\n\t\t\t\t\t\t\t\tcase 'radio':\n\t\t\t\t\t\t\t\t\tif (subelm.checked) {\n\t\t\t\t\t\t\t\t\t\tquerystring += '&' + queryPair(subelm.name, subelm.value);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\t\t// Everything else including shinny new HTML5 input types\n\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\tquerystring += '&' + queryPair(subelm.name, subelm.value);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}, nodes);\n\t\t}\n\t\t// Tidy up first &\n\t\treturn querystring.length > 0 ? querystring.substring(1) : '';\n\t}\n\n\t// Class helper\n\tfunction classHelper(classes, action, nodes) {\n\t\tvar classarray,\n\t\t search,\n\t\t i,\n\t\t replace,\n\t\t has = false;\n\t\tif (classes) {\n\t\t\t// Trim any whitespace\n\t\t\tclassarray = classes.split(/\\s+/);\n\t\t\tnodeLoop(function (elm) {\n\t\t\t\tfor (i = 0; i < classarray.length; i += 1) {\n\t\t\t\t\tvar clz = classarray[i];\n\t\t\t\t\tif (action === 'remove') {\n\t\t\t\t\t\telm.classList.remove(clz);\n\t\t\t\t\t} else if (action === 'add') {\n\t\t\t\t\t\telm.classList.add(clz);\n\t\t\t\t\t} else if (action === 'toggle') {\n\t\t\t\t\t\telm.classList.toggle(clz);\n\t\t\t\t\t} else if (action === 'has') {\n\t\t\t\t\t\tif (elm.classList.contains(clz)) {\n\t\t\t\t\t\t\thas = true;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// search = new RegExp('\\\\b' + classarray[i] + '\\\\b', 'g');\n\t\t\t\t\t// replace = new RegExp(' *' + classarray[i] + '\\\\b', 'g');\n\t\t\t\t\t// if (action === 'remove') {\n\t\t\t\t\t// \telm.className = elm.className.replace(search, '');\n\t\t\t\t\t// } else if (action === 'toggle') {\n\t\t\t\t\t// \telm.className = (elm.className.match(search)) ? elm.className.replace(replace, '') : elm.className + ' ' + classarray[i];\n\t\t\t\t\t// } else if (action === 'has') {\n\t\t\t\t\t// \tif (elm.className.match(search)) {\n\t\t\t\t\t// \t\thas = true;\n\t\t\t\t\t// \t\tbreak;\n\t\t\t\t\t// \t}\n\t\t\t\t\t// }\n\t\t\t\t}\n\t\t\t}, nodes);\n\t\t}\n\t\treturn has;\n\t}\n\n\t// HTML insertion helper\n\tfunction insertHtml(value, position, nodes) {\n\t\tvar tmpnodes, tmpnode;\n\t\tif (value) {\n\t\t\tnodeLoop(function (elm) {\n\t\t\t\t// No insertAdjacentHTML support for FF < 8 and IE doesn't allow insertAdjacentHTML table manipulation, so use this instead\n\t\t\t\t// Convert string to node. We can't innerHTML on a document fragment\n\t\t\t\ttmpnodes = d.createElement('div');\n\t\t\t\ttmpnodes.innerHTML = value;\n\t\t\t\twhile ((tmpnode = tmpnodes.lastChild) !== null) {\n\t\t\t\t\t// Catch error in unlikely case elm has been removed\n\t\t\t\t\ttry {\n\t\t\t\t\t\tif (position === 'before') {\n\t\t\t\t\t\t\telm.parentNode.insertBefore(tmpnode, elm);\n\t\t\t\t\t\t} else if (position === 'after') {\n\t\t\t\t\t\t\telm.parentNode.insertBefore(tmpnode, elm.nextSibling);\n\t\t\t\t\t\t} else if (position === 'append') {\n\t\t\t\t\t\t\telm.appendChild(tmpnode);\n\t\t\t\t\t\t} else if (position === 'prepend') {\n\t\t\t\t\t\t\telm.insertBefore(tmpnode, elm.firstChild);\n\t\t\t\t\t\t}\n\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}, nodes);\n\t\t}\n\t}\n\n\t// Get nodes and return chibi\n\tfunction chibi(selector) {\n\t\tvar cb,\n\t\t nodes = [],\n\t\t json = false,\n\t\t nodelist,\n\t\t i;\n\n\t\tif (selector) {\n\n\t\t\t// Element node, would prefer to use (selector instanceof HTMLElement) but no IE support\n\t\t\tif (selector.nodeType && selector.nodeType === 1) {\n\t\t\t\tnodes = [selector]; // return element as node list\n\t\t\t} else if ((typeof selector === 'undefined' ? 'undefined' : _typeof(selector)) === 'object') {\n\t\t\t\t// JSON, document object or node list, would prefer to use (selector instanceof NodeList) but no IE support\n\t\t\t\tjson = typeof selector.length !== 'number';\n\t\t\t\tnodes = selector;\n\t\t\t} else if (typeof selector === 'string') {\n\t\t\t\tnodelist = d.querySelectorAll(selector);\n\n\t\t\t\t// Convert node list to array so results have full access to array methods\n\t\t\t\t// Array.prototype.slice.call not supported in IE < 9 and often slower than loop anyway\n\t\t\t\tfor (i = 0; i < nodelist.length; i += 1) {\n\t\t\t\t\tnodes[i] = nodelist[i];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Only attach nodes if not JSON\n\t\tcb = json ? {} : nodes;\n\n\t\t// Public functions\n\n\t\t// Executes a function on nodes\n\t\tcb.each = function (fn) {\n\t\t\tif (typeof fn === 'function') {\n\t\t\t\tnodeLoop(function (elm) {\n\t\t\t\t\t// <= IE 8 loses scope so need to apply\n\t\t\t\t\treturn fn.apply(elm, arguments);\n\t\t\t\t}, nodes);\n\t\t\t}\n\t\t\treturn cb;\n\t\t};\n\t\t// Find first\n\t\tcb.first = function () {\n\t\t\treturn chibi(nodes.shift());\n\t\t};\n\t\t// Find last\n\t\tcb.last = function () {\n\t\t\treturn chibi(nodes.pop());\n\t\t};\n\t\t// Find odd\n\t\tcb.odd = function () {\n\t\t\tvar odds = [],\n\t\t\t i;\n\t\t\tfor (i = 0; i < nodes.length; i += 2) {\n\t\t\t\todds.push(nodes[i]);\n\t\t\t}\n\t\t\treturn chibi(odds);\n\t\t};\n\t\t// Find even\n\t\tcb.even = function () {\n\t\t\tvar evens = [],\n\t\t\t i;\n\t\t\tfor (i = 1; i < nodes.length; i += 2) {\n\t\t\t\tevens.push(nodes[i]);\n\t\t\t}\n\t\t\treturn chibi(evens);\n\t\t};\n\t\t// Hide node\n\t\tcb.hide = function () {\n\t\t\tnodeLoop(function (elm) {\n\t\t\t\telm.style.display = 'none';\n\t\t\t}, nodes);\n\t\t\treturn cb;\n\t\t};\n\t\t// Show node\n\t\tcb.show = function () {\n\t\t\tnodeLoop(function (elm) {\n\t\t\t\tshowCss(elm);\n\t\t\t}, nodes);\n\t\t\treturn cb;\n\t\t};\n\t\t// Toggle node display\n\t\tcb.toggle = function (state) {\n\t\t\tif (typeof state != 'undefined') {\n\t\t\t\t// ADDED\n\t\t\t\tif (state) cb.show();else cb.hide();\n\t\t\t} else {\n\t\t\t\tnodeLoop(function (elm) {\n\t\t\t\t\t// computeStyle instead of style.display == 'none' catches elements that are hidden via style block\n\t\t\t\t\tif (computeStyle(elm, 'display') === 'none') {\n\t\t\t\t\t\tshowCss(elm);\n\t\t\t\t\t} else {\n\t\t\t\t\t\telm.style.display = 'none';\n\t\t\t\t\t}\n\t\t\t\t}, nodes);\n\t\t\t}\n\t\t\treturn cb;\n\t\t};\n\t\t// Remove node\n\t\tcb.remove = function () {\n\t\t\tnodeLoop(function (elm) {\n\t\t\t\t// Catch error in unlikely case elm has been removed\n\t\t\t\ttry {\n\t\t\t\t\telm.parentNode.removeChild(elm);\n\t\t\t\t} catch (e) {}\n\t\t\t}, nodes);\n\t\t\treturn chibi();\n\t\t};\n\t\t// Get/Set CSS\n\t\tcb.css = function (property, value) {\n\t\t\tif (property) {\n\t\t\t\tif (value || value === '') {\n\t\t\t\t\tnodeLoop(function (elm) {\n\t\t\t\t\t\tsetCss(elm, property, value);\n\t\t\t\t\t}, nodes);\n\t\t\t\t\treturn cb;\n\t\t\t\t}\n\t\t\t\tif (nodes[0]) {\n\t\t\t\t\tif (nodes[0].style[cssCamel(property)]) {\n\t\t\t\t\t\treturn nodes[0].style[cssCamel(property)];\n\t\t\t\t\t}\n\t\t\t\t\tif (computeStyle(nodes[0], property)) {\n\t\t\t\t\t\treturn computeStyle(nodes[0], property);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t\t// Get class(es)\n\t\tcb.getClass = function () {\n\t\t\tif (nodes[0] && nodes[0].className.length > 0) {\n\t\t\t\t// Weak IE trim support\n\t\t\t\treturn nodes[0].className.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '').replace(/\\s+/, ' ');\n\t\t\t}\n\t\t};\n\t\t// Set (replaces) classes\n\t\tcb.setClass = function (classes) {\n\t\t\tif (classes || classes === '') {\n\t\t\t\tnodeLoop(function (elm) {\n\t\t\t\t\telm.className = classes;\n\t\t\t\t}, nodes);\n\t\t\t}\n\t\t\treturn cb;\n\t\t};\n\t\t// Add class\n\t\tcb.addClass = function (classes) {\n\t\t\tclassHelper(classes, 'add', nodes);\n\t\t\t// if (classes) {\n\t\t\t// \tnodeLoop(function (elm) {\n\t\t\t// \t\telm.className += ' ' + classes;\n\t\t\t// \t}, nodes);\n\t\t\t// }\n\t\t\treturn cb;\n\t\t};\n\t\t// Remove class\n\t\tcb.removeClass = function (classes) {\n\t\t\tclassHelper(classes, 'remove', nodes);\n\t\t\treturn cb;\n\t\t};\n\t\t// Toggle class\n\t\tcb.toggleClass = function (classes, set) {\n\t\t\tvar method = typeof set === 'undefined' ? 'toggle' : +set ? 'add' : 'remove';\n\t\t\tclassHelper(classes, method, nodes);\n\t\t\treturn cb;\n\t\t};\n\t\t// Has class\n\t\tcb.hasClass = function (classes) {\n\t\t\treturn classHelper(classes, 'has', nodes);\n\t\t};\n\t\t// Get/set HTML\n\t\tcb.html = function (value) {\n\t\t\tif (value || value === '') {\n\t\t\t\tnodeLoop(function (elm) {\n\t\t\t\t\telm.innerHTML = value;\n\t\t\t\t}, nodes);\n\t\t\t\treturn cb;\n\t\t\t}\n\t\t\tif (nodes[0]) {\n\t\t\t\treturn nodes[0].innerHTML;\n\t\t\t}\n\t\t};\n\t\t// Insert HTML before selector\n\t\tcb.htmlBefore = function (value) {\n\t\t\tinsertHtml(value, 'before', nodes);\n\t\t\treturn cb;\n\t\t};\n\t\t// Insert HTML after selector\n\t\tcb.htmlAfter = function (value) {\n\t\t\tinsertHtml(value, 'after', nodes);\n\t\t\treturn cb;\n\t\t};\n\t\t// Insert HTML after selector innerHTML\n\t\tcb.htmlAppend = function (value) {\n\t\t\tinsertHtml(value, 'append', nodes);\n\t\t\treturn cb;\n\t\t};\n\t\t// Insert HTML before selector innerHTML\n\t\tcb.htmlPrepend = function (value) {\n\t\t\tinsertHtml(value, 'prepend', nodes);\n\t\t\treturn cb;\n\t\t};\n\t\t// Get/Set HTML attributes\n\t\tcb.attr = function (property, value) {\n\t\t\tif (property) {\n\t\t\t\tproperty = property.toLowerCase();\n\t\t\t\t// IE < 9 doesn't allow style or class via get/setAttribute so switch. cssText returns prettier CSS anyway\n\t\t\t\tif (typeof value !== 'undefined') {\n\t\t\t\t\t//FIXED BUG HERE\n\t\t\t\t\tnodeLoop(function (elm) {\n\t\t\t\t\t\tif (property === 'style') {\n\t\t\t\t\t\t\telm.style.cssText = value;\n\t\t\t\t\t\t} else if (property === 'class') {\n\t\t\t\t\t\t\telm.className = value;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\telm.setAttribute(property, value);\n\t\t\t\t\t\t}\n\t\t\t\t\t}, nodes);\n\t\t\t\t\treturn cb;\n\t\t\t\t}\n\t\t\t\tif (nodes[0]) {\n\t\t\t\t\tif (property === 'style') {\n\t\t\t\t\t\tif (nodes[0].style.cssText) {\n\t\t\t\t\t\t\treturn nodes[0].style.cssText;\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if (property === 'class') {\n\t\t\t\t\t\tif (nodes[0].className) {\n\t\t\t\t\t\t\treturn nodes[0].className;\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (nodes[0].getAttribute(property)) {\n\t\t\t\t\t\t\treturn nodes[0].getAttribute(property);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t\t// Get/Set HTML data property\n\t\tcb.data = function (key, value) {\n\t\t\tif (key) {\n\t\t\t\treturn cb.attr('data-' + key, value);\n\t\t\t}\n\t\t};\n\t\t// Get/Set form element values\n\t\tcb.val = function (value) {\n\t\t\tvar values, i, j;\n\t\t\tif (typeof value != 'undefined') {\n\t\t\t\t// FIXED A BUG HERE\n\t\t\t\tnodeLoop(function (elm) {\n\t\t\t\t\tswitch (elm.nodeName) {\n\t\t\t\t\t\tcase 'SELECT':\n\t\t\t\t\t\t\tif (typeof value === 'string' || typeof value === 'number') {\n\t\t\t\t\t\t\t\tvalue = [value];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tfor (i = 0; i < elm.length; i += 1) {\n\t\t\t\t\t\t\t\t// Multiple select\n\t\t\t\t\t\t\t\tfor (j = 0; j < value.length; j += 1) {\n\t\t\t\t\t\t\t\t\telm[i].selected = '';\n\t\t\t\t\t\t\t\t\tif (elm[i].value === \"\" + value[j]) {\n\t\t\t\t\t\t\t\t\t\telm[i].selected = 'selected';\n\t\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 'INPUT':\n\t\t\t\t\t\tcase 'TEXTAREA':\n\t\t\t\t\t\tcase 'BUTTON':\n\t\t\t\t\t\t\telm.value = value;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}, nodes);\n\n\t\t\t\treturn cb;\n\t\t\t}\n\t\t\tif (nodes[0]) {\n\t\t\t\tswitch (nodes[0].nodeName) {\n\t\t\t\t\tcase 'SELECT':\n\t\t\t\t\t\tvalues = [];\n\t\t\t\t\t\tfor (i = 0; i < nodes[0].length; i += 1) {\n\t\t\t\t\t\t\tif (nodes[0][i].selected) {\n\t\t\t\t\t\t\t\tvalues.push(nodes[0][i].value);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn values.length > 1 ? values : values[0];\n\t\t\t\t\tcase 'INPUT':\n\t\t\t\t\tcase 'TEXTAREA':\n\t\t\t\t\tcase 'BUTTON':\n\t\t\t\t\t\treturn nodes[0].value;\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t\t// Return matching checked checkbox or radios\n\t\tcb.checked = function (check) {\n\t\t\tif (typeof check === 'boolean') {\n\t\t\t\tnodeLoop(function (elm) {\n\t\t\t\t\tif (elm.nodeName === 'INPUT' && (elm.type === 'checkbox' || elm.type === 'radio')) {\n\t\t\t\t\t\telm.checked = check;\n\t\t\t\t\t}\n\t\t\t\t}, nodes);\n\t\t\t\treturn cb;\n\t\t\t}\n\t\t\tif (nodes[0] && nodes[0].nodeName === 'INPUT' && (nodes[0].type === 'checkbox' || nodes[0].type === 'radio')) {\n\t\t\t\treturn !!nodes[0].checked;\n\t\t\t}\n\t\t};\n\t\t// Add event handler\n\t\tcb.on = function (event, fn) {\n\t\t\tif (selector === w || selector === d) {\n\t\t\t\tnodes = [selector];\n\t\t\t}\n\t\t\tnodeLoop(function (elm) {\n\t\t\t\tif (d.addEventListener) {\n\t\t\t\t\telm.addEventListener(event, fn, false);\n\t\t\t\t} else if (d.attachEvent) {\n\t\t\t\t\t// <= IE 8 loses scope so need to apply, we add this to object so we can detach later (can't detach anonymous functions)\n\t\t\t\t\telm[event + fn] = function () {\n\t\t\t\t\t\treturn fn.apply(elm, arguments);\n\t\t\t\t\t};\n\t\t\t\t\telm.attachEvent('on' + event, elm[event + fn]);\n\t\t\t\t}\n\t\t\t}, nodes);\n\t\t\treturn cb;\n\t\t};\n\t\t// Remove event handler\n\t\tcb.off = function (event, fn) {\n\t\t\tif (selector === w || selector === d) {\n\t\t\t\tnodes = [selector];\n\t\t\t}\n\t\t\tnodeLoop(function (elm) {\n\t\t\t\tif (d.addEventListener) {\n\t\t\t\t\telm.removeEventListener(event, fn, false);\n\t\t\t\t} else if (d.attachEvent) {\n\t\t\t\t\telm.detachEvent('on' + event, elm[event + fn]);\n\t\t\t\t\t// Tidy up\n\t\t\t\t\telm[event + fn] = null;\n\t\t\t\t}\n\t\t\t}, nodes);\n\t\t\treturn cb;\n\t\t};\n\t\treturn cb;\n\t}\n\n\t// Basic XHR\n\tchibi.ajax = function (options) {\n\t\t// if options is a number, it's timeout in ms\n\t\tvar opts = Object.assign({\n\t\t\tmethod: 'GET',\n\t\t\tnocache: true,\n\t\t\ttimeout: 5000,\n\t\t\tloader: true,\n\t\t\tcallback: null\n\t\t}, options);\n\t\topts.method = opts.method.toUpperCase();\n\n\t\tvar loaderFn = opts.loader ? chibi._loader : function () {};\n\t\tvar url = opts.url;\n\t\tvar method = opts.method;\n\t\tvar query = null;\n\n\t\tif (opts.data) {\n\t\t\tquery = serializeData(opts.data);\n\t\t}\n\n\t\tif (query && method === 'GET') {\n\t\t\turl += url.indexOf('?') === -1 ? '?' + query : '&' + query;\n\t\t\tquery = null;\n\t\t}\n\n\t\tvar xhr = new XMLHttpRequest();\n\n\t\t// prevent caching\n\t\tif (opts.nocache) {\n\t\t\tvar ts = (+new Date()).toString(36);\n\t\t\turl += (url.indexOf('?') === -1 ? '?' : '&') + '_=' + ts;\n\t\t}\n\n\t\tloaderFn(true);\n\n\t\txhr.open(method, url, true);\n\t\txhr.timeout = opts.timeout;\n\n\t\t// Abort after given timeout\n\t\tvar abortTmeo = setTimeout(function () {\n\t\t\tconsole.error(\"XHR timed out.\");\n\t\t\txhr.abort();\n\t\t\tloaderFn(false);\n\t\t}, opts.timeout + 10);\n\n\t\txhr.onreadystatechange = function () {\n\t\t\tif (xhr.readyState === 4) {\n\t\t\t\tloaderFn(false);\n\n\t\t\t\topts.callback && opts.callback(xhr.responseText, xhr.status);\n\n\t\t\t\tclearTimeout(abortTmeo);\n\t\t\t}\n\t\t};\n\n\t\txhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest');\n\t\tif (method === 'POST') {\n\t\t\txhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');\n\t\t}\n\n\t\txhr.send(query);\n\t\treturn xhr;\n\t};\n\n\tchibi._loader = function () {};\n\n\t// Alias to cb.ajax(url, 'get', callback)\n\tchibi.get = function (url, callback, opts) {\n\t\topts = opts || {};\n\t\topts.url = url;\n\t\topts.callback = callback;\n\t\topts.method = 'GET';\n\t\treturn chibi.ajax(opts);\n\t};\n\n\t// Alias to cb.ajax(url, 'post', callback)\n\tchibi.post = function (url, callback, opts) {\n\t\topts = opts || {};\n\t\topts.url = url;\n\t\topts.callback = callback;\n\t\topts.method = 'POST';\n\t\treturn chibi.ajax(opts);\n\t};\n\n\t// Fire on DOM ready\n\tchibi.ready = function (fn) {\n\t\tif (fn) {\n\t\t\tif (domready) {\n\t\t\t\tfn();\n\t\t\t\treturn chibi;\n\t\t\t} else {\n\t\t\t\treadyfn.push(fn);\n\t\t\t}\n\t\t}\n\t};\n\n\t// Fire on page loaded\n\tchibi.loaded = function (fn) {\n\t\tif (fn) {\n\t\t\tif (pageloaded) {\n\t\t\t\tfn();\n\t\t\t\treturn chibi;\n\t\t\t} else {\n\t\t\t\tloadedfn.push(fn);\n\t\t\t}\n\t\t}\n\t};\n\n\tvar entityMap = {\n\t\t'&': '&',\n\t\t'<': '<',\n\t\t'>': '>',\n\t\t'\"': '"',\n\t\t\"'\": ''',\n\t\t'/': '/',\n\t\t'`': '`',\n\t\t'=': '='\n\t};\n\n\tchibi.htmlEscape = function (string) {\n\t\treturn String(string).replace(/[&<>\"'`=\\/]/g, function (s) {\n\t\t\treturn entityMap[s];\n\t\t});\n\t};\n\n\t// Set Chibi's global namespace here ($)\n\tmodule.exports = chibi;\n})();\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar $ = __webpack_require__(1);\n\n/** Module for toggling a modal overlay */\nvar modal = {};\nvar curCloseCb = null;\n\nmodal.show = function (sel, closeCb) {\n var $m = $(sel);\n $m.removeClass('hidden visible');\n setTimeout(function () {\n $m.addClass('visible');\n }, 1);\n curCloseCb = closeCb;\n};\n\nmodal.hide = function (sel) {\n var $m = $(sel);\n $m.removeClass('visible');\n setTimeout(function () {\n $m.addClass('hidden');\n if (curCloseCb) curCloseCb();\n }, 500); // transition time\n};\n\nmodal.init = function () {\n // close modal by click outside the dialog\n $('.Modal').on('click', function () {\n if ($(this).hasClass('no-close')) return; // this is a no-close modal\n modal.hide(this);\n });\n\n $('.Dialog').on('click', function (e) {\n e.stopImmediatePropagation();\n });\n\n // Hide all modals on esc\n $(window).on('keydown', function (e) {\n if (e.which === 27) {\n modal.hide('.Modal');\n }\n });\n};\n\nmodule.exports = modal;\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar $ = __webpack_require__(1);\nvar modal = __webpack_require__(2);\n\nvar nt = {};\nvar sel = '#notif';\nvar $balloon = void 0;\n\nvar timerHideBegin = void 0; // timeout to start hiding (transition)\nvar timerHideEnd = void 0; // timeout to add the hidden class\nvar canCancel = false;\n\nvar stopTimeouts = function stopTimeouts() {\n clearTimeout(timerHideBegin);\n clearTimeout(timerHideEnd);\n};\n\nnt.show = function (message, timeout, isError) {\n $balloon.toggleClass('error', isError === true);\n $balloon.html(message);\n modal.show($balloon);\n stopTimeouts();\n\n if (!timeout || timeout <= 0) {\n timeout = 2500;\n }\n\n timerHideBegin = setTimeout(nt.hide, timeout);\n\n canCancel = false;\n setTimeout(function () {\n canCancel = true;\n }, 500);\n};\n\nnt.hide = function () {\n var $m = $(sel);\n $m.removeClass('visible');\n timerHideEnd = setTimeout(function () {\n $m.addClass('hidden');\n }, 250); // transition time\n};\n\nnt.init = function () {\n $balloon = $(sel);\n\n // close by click outside\n $(document).on('click', function () {\n if (!canCancel) return;\n nt.hide(this);\n });\n\n // click caused by selecting, prevent it from bubbling\n $balloon.on('click', function (e) {\n e.stopImmediatePropagation();\n return false;\n });\n\n // stop fading if moused\n $balloon.on('mouseenter', function () {\n stopTimeouts();\n $balloon.removeClass('hidden').addClass('visible');\n });\n};\n\nmodule.exports = nt;\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports) {\n\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nfunction EventEmitter() {\n this._events = this._events || {};\n this._maxListeners = this._maxListeners || undefined;\n}\nmodule.exports = EventEmitter;\n\n// Backwards-compat with node 0.10.x\nEventEmitter.EventEmitter = EventEmitter;\n\nEventEmitter.prototype._events = undefined;\nEventEmitter.prototype._maxListeners = undefined;\n\n// By default EventEmitters will print a warning if more than 10 listeners are\n// added to it. This is a useful default which helps finding memory leaks.\nEventEmitter.defaultMaxListeners = 10;\n\n// Obviously not all Emitters should be limited to 10. This function allows\n// that to be increased. Set to zero for unlimited.\nEventEmitter.prototype.setMaxListeners = function(n) {\n if (!isNumber(n) || n < 0 || isNaN(n))\n throw TypeError('n must be a positive number');\n this._maxListeners = n;\n return this;\n};\n\nEventEmitter.prototype.emit = function(type) {\n var er, handler, len, args, i, listeners;\n\n if (!this._events)\n this._events = {};\n\n // If there is no 'error' event listener then throw.\n if (type === 'error') {\n if (!this._events.error ||\n (isObject(this._events.error) && !this._events.error.length)) {\n er = arguments[1];\n if (er instanceof Error) {\n throw er; // Unhandled 'error' event\n } else {\n // At least give some kind of context to the user\n var err = new Error('Uncaught, unspecified \"error\" event. (' + er + ')');\n err.context = er;\n throw err;\n }\n }\n }\n\n handler = this._events[type];\n\n if (isUndefined(handler))\n return false;\n\n if (isFunction(handler)) {\n switch (arguments.length) {\n // fast cases\n case 1:\n handler.call(this);\n break;\n case 2:\n handler.call(this, arguments[1]);\n break;\n case 3:\n handler.call(this, arguments[1], arguments[2]);\n break;\n // slower\n default:\n args = Array.prototype.slice.call(arguments, 1);\n handler.apply(this, args);\n }\n } else if (isObject(handler)) {\n args = Array.prototype.slice.call(arguments, 1);\n listeners = handler.slice();\n len = listeners.length;\n for (i = 0; i < len; i++)\n listeners[i].apply(this, args);\n }\n\n return true;\n};\n\nEventEmitter.prototype.addListener = function(type, listener) {\n var m;\n\n if (!isFunction(listener))\n throw TypeError('listener must be a function');\n\n if (!this._events)\n this._events = {};\n\n // To avoid recursion in the case that type === \"newListener\"! Before\n // adding it to the listeners, first emit \"newListener\".\n if (this._events.newListener)\n this.emit('newListener', type,\n isFunction(listener.listener) ?\n listener.listener : listener);\n\n if (!this._events[type])\n // Optimize the case of one listener. Don't need the extra array object.\n this._events[type] = listener;\n else if (isObject(this._events[type]))\n // If we've already got an array, just append.\n this._events[type].push(listener);\n else\n // Adding the second element, need to change to array.\n this._events[type] = [this._events[type], listener];\n\n // Check for listener leak\n if (isObject(this._events[type]) && !this._events[type].warned) {\n if (!isUndefined(this._maxListeners)) {\n m = this._maxListeners;\n } else {\n m = EventEmitter.defaultMaxListeners;\n }\n\n if (m && m > 0 && this._events[type].length > m) {\n this._events[type].warned = true;\n console.error('(node) warning: possible EventEmitter memory ' +\n 'leak detected. %d listeners added. ' +\n 'Use emitter.setMaxListeners() to increase limit.',\n this._events[type].length);\n if (typeof console.trace === 'function') {\n // not supported in IE 10\n console.trace();\n }\n }\n }\n\n return this;\n};\n\nEventEmitter.prototype.on = EventEmitter.prototype.addListener;\n\nEventEmitter.prototype.once = function(type, listener) {\n if (!isFunction(listener))\n throw TypeError('listener must be a function');\n\n var fired = false;\n\n function g() {\n this.removeListener(type, g);\n\n if (!fired) {\n fired = true;\n listener.apply(this, arguments);\n }\n }\n\n g.listener = listener;\n this.on(type, g);\n\n return this;\n};\n\n// emits a 'removeListener' event iff the listener was removed\nEventEmitter.prototype.removeListener = function(type, listener) {\n var list, position, length, i;\n\n if (!isFunction(listener))\n throw TypeError('listener must be a function');\n\n if (!this._events || !this._events[type])\n return this;\n\n list = this._events[type];\n length = list.length;\n position = -1;\n\n if (list === listener ||\n (isFunction(list.listener) && list.listener === listener)) {\n delete this._events[type];\n if (this._events.removeListener)\n this.emit('removeListener', type, listener);\n\n } else if (isObject(list)) {\n for (i = length; i-- > 0;) {\n if (list[i] === listener ||\n (list[i].listener && list[i].listener === listener)) {\n position = i;\n break;\n }\n }\n\n if (position < 0)\n return this;\n\n if (list.length === 1) {\n list.length = 0;\n delete this._events[type];\n } else {\n list.splice(position, 1);\n }\n\n if (this._events.removeListener)\n this.emit('removeListener', type, listener);\n }\n\n return this;\n};\n\nEventEmitter.prototype.removeAllListeners = function(type) {\n var key, listeners;\n\n if (!this._events)\n return this;\n\n // not listening for removeListener, no need to emit\n if (!this._events.removeListener) {\n if (arguments.length === 0)\n this._events = {};\n else if (this._events[type])\n delete this._events[type];\n return this;\n }\n\n // emit removeListener for all listeners on all events\n if (arguments.length === 0) {\n for (key in this._events) {\n if (key === 'removeListener') continue;\n this.removeAllListeners(key);\n }\n this.removeAllListeners('removeListener');\n this._events = {};\n return this;\n }\n\n listeners = this._events[type];\n\n if (isFunction(listeners)) {\n this.removeListener(type, listeners);\n } else if (listeners) {\n // LIFO order\n while (listeners.length)\n this.removeListener(type, listeners[listeners.length - 1]);\n }\n delete this._events[type];\n\n return this;\n};\n\nEventEmitter.prototype.listeners = function(type) {\n var ret;\n if (!this._events || !this._events[type])\n ret = [];\n else if (isFunction(this._events[type]))\n ret = [this._events[type]];\n else\n ret = this._events[type].slice();\n return ret;\n};\n\nEventEmitter.prototype.listenerCount = function(type) {\n if (this._events) {\n var evlistener = this._events[type];\n\n if (isFunction(evlistener))\n return 1;\n else if (evlistener)\n return evlistener.length;\n }\n return 0;\n};\n\nEventEmitter.listenerCount = function(emitter, type) {\n return emitter.listenerCount(type);\n};\n\nfunction isFunction(arg) {\n return typeof arg === 'function';\n}\n\nfunction isNumber(arg) {\n return typeof arg === 'number';\n}\n\nfunction isObject(arg) {\n return typeof arg === 'object' && arg !== null;\n}\n\nfunction isUndefined(arg) {\n return arg === void 0;\n}\n\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar $ = __webpack_require__(1);\n\nvar _require = __webpack_require__(8),\n rgb255ToHex = _require.rgb255ToHex;\n\nvar themes = exports.themes = [[// 0 - Tango - terminator\n'#111213', '#CC0000', '#4E9A06', '#C4A000', '#3465A4', '#75507B', '#06989A', '#D3D7CF', '#555753', '#EF2929', '#8AE234', '#FCE94F', '#729FCF', '#AD7FA8', '#34E2E2', '#EEEEEC'], [// 1 - Linux (CGA) - terminator\n'#000000', '#aa0000', '#00aa00', '#aa5500', '#0000aa', '#aa00aa', '#00aaaa', '#aaaaaa', '#555555', '#ff5555', '#55ff55', '#ffff55', '#5555ff', '#ff55ff', '#55ffff', '#ffffff'], [// 2 - xterm - terminator\n'#000000', '#cd0000', '#00cd00', '#cdcd00', '#0000ee', '#cd00cd', '#00cdcd', '#e5e5e5', '#7f7f7f', '#ff0000', '#00ff00', '#ffff00', '#5c5cff', '#ff00ff', '#00ffff', '#ffffff'], [// 3 - rxvt - terminator\n'#000000', '#cd0000', '#00cd00', '#cdcd00', '#0000cd', '#cd00cd', '#00cdcd', '#faebd7', '#404040', '#ff0000', '#00ff00', '#ffff00', '#0000ff', '#ff00ff', '#00ffff', '#ffffff'], [// 4 - Ambience - terminator\n'#2e3436', '#cc0000', '#4e9a06', '#c4a000', '#3465a4', '#75507b', '#06989a', '#d3d7cf', '#555753', '#ef2929', '#8ae234', '#fce94f', '#729fcf', '#ad7fa8', '#34e2e2', '#eeeeec'], [// 5 - Solarized Dark - terminator\n'#073642', '#dc322f', '#859900', '#b58900', '#268bd2', '#d33682', '#2aa198', '#eee8d5', '#002b36', '#cb4b16', '#586e75', '#657b83', '#839496', '#6c71c4', '#93a1a1', '#fdf6e3'], [// 6 - CGA NTSC - wikipedia\n'#000000', '#69001A', '#117800', '#769100', '#1A00A6', '#8019AB', '#289E76', '#A4A4A4', '#484848', '#C54E76', '#6DD441', '#D2ED46', '#765BFF', '#DC75FF', '#84FAD2', '#FFFFFF'], [// 7 - ZX Spectrum - wikipedia\n'#000000', '#aa0000', '#00aa00', '#aaaa00', '#0000aa', '#aa00aa', '#00aaaa', '#aaaaaa', '#000000', '#ff0000', '#00FF00', '#ffff00', '#0000ff', '#ff00ff', '#00ffff', '#ffffff'], [// 8 - Apple II - wikipedia\n'#000000', '#722640', '#0E5940', '#808080', '#40337F', '#E434FE', '#1B9AFE', '#BFB3FF', '#404C00', '#E46501', '#1BCB01', '#BFCC80', '#808080', '#F1A6BF', '#8DD9BF', '#ffffff'], [// 9 - Commodore - wikipedia\n'#000000', '#8D3E37', '#55A049', '#AAB95D', '#40318D', '#80348B', '#72C1C8', '#D59F74', '#8B5429', '#B86962', '#94E089', '#FFFFB2', '#8071CC', '#AA5FB6', '#87D6DD', '#ffffff'], [// 10 - Solarized Light - https://github.com/sgerrand/xfce4-terminal-colors-solarized\n'#eee8d5', '#dc322f', '#859900', '#b58900', '#268bd2', '#d33682', '#2aa198', '#073642', '#fdf6e3', '#cb4b16', '#93a1a1', '#839496', '#657b83', '#6c71c4', '#586e75', '#002b36'], [// 11 - Solarized Dark High contrast - https://github.com/sgerrand/xfce4-terminal-colors-solarized\n'#073642', '#dc322f', '#859900', '#b58900', '#268bd2', '#d33682', '#2aa198', '#fdf6e3', '#002b36', '#cb4b16', '#657b83', '#839496', '#93a1a1', '#6c71c4', '#eee8d5', '#fdf6e3']];\n\nexports.fgbgThemes = [['#AAAAAA', '#000000', 'Lnx', 'Linux'], ['#FFFFFF', '#000000', 'W+K', 'White on Black'], ['#00FF00', '#000000', 'Lim', 'Lime'], ['#E53C00', '#000000', 'Nix', 'Nixie'], ['#EFF0F1', '#31363B', 'Brz', 'Breeze'], ['#FFFFFF', '#300A24', 'Amb', 'Ambiance'], ['#839496', '#002B36', 'SoD', 'Solarized Dark'], ['#93a1a1', '#002b36', 'SoH', 'Solarized Dark (High Contrast)'], ['#657B83', '#FDF6E3', 'SoL', 'Solarized Light'], ['#000000', '#FFD75F', 'Wsp', 'Wasp'], ['#000000', '#FFFFDD', 'K+Y', 'Black on Yellow'], ['#000000', '#FFFFFF', 'K+W', 'Black on White']];\n\nvar colorTable256 = null;\n\nexports.buildColorTable = function () {\n if (colorTable256 !== null) return colorTable256;\n\n // 256color lookup table\n // should not be used to look up 0-15\n colorTable256 = new Array(16).fill('#000000');\n\n // fill color table\n // colors 16-231 are a 6x6x6 color cube\n for (var red = 0; red < 6; red++) {\n for (var green = 0; green < 6; green++) {\n for (var blue = 0; blue < 6; blue++) {\n var redValue = red * 40 + (red ? 55 : 0);\n var greenValue = green * 40 + (green ? 55 : 0);\n var blueValue = blue * 40 + (blue ? 55 : 0);\n colorTable256.push(rgb255ToHex(redValue, greenValue, blueValue));\n }\n }\n }\n // colors 232-255 are a grayscale ramp, sans black and white\n for (var gray = 0; gray < 24; gray++) {\n var value = gray * 10 + 8;\n colorTable256.push(rgb255ToHex(value, value, value));\n }\n\n return colorTable256;\n};\n\nexports.SELECTION_FG = '#333';\nexports.SELECTION_BG = '#b2d7fe';\n\nexports.themePreview = function (themeN) {\n $('[data-fg]').forEach(function (elem) {\n var shade = elem.dataset.fg;\n if (/^\\d+$/.test(shade)) shade = exports.toHex(shade, themeN);\n elem.style.color = shade;\n });\n $('[data-bg]').forEach(function (elem) {\n var shade = elem.dataset.bg;\n if (/^\\d+$/.test(shade)) shade = exports.toHex(shade, themeN);\n elem.style.backgroundColor = shade;\n });\n};\n\nexports.colorTable256 = null;\nexports.ensureColorTable256 = function () {\n if (!exports.colorTable256) exports.colorTable256 = exports.buildColorTable();\n};\n\nexports.getColor = function (i) {\n var palette = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n\n // return palette color if it exists\n if (i < 16 && i in palette) return palette[i];\n\n // -1 for selection foreground, -2 for selection background\n if (i === -1) return exports.SELECTION_FG;\n if (i === -2) return exports.SELECTION_BG;\n\n // 256 color\n if (i > 15 && i < 256) {\n exports.ensureColorTable256();\n return exports.colorTable256[i];\n }\n\n // 24-bit color, encoded as (hex) + 256 (such that #000000 == 256)\n if (i > 255) {\n i -= 256;\n return '#' + ('000000' + i.toString(16)).substr(-6);\n }\n\n // return error color\n return Math.floor(Date.now() / 1000) % 2 === 0 ? '#f0f' : '#0f0';\n};\n\nexports.toHex = function (shade, themeN) {\n if (/^\\d+$/.test(shade)) {\n shade = +shade;\n return exports.getColor(shade, themes[themeN]);\n }\n return shade;\n};\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n// Bits in the cell attribs word\n\n/* eslint-disable no-multi-spaces */\nexports.ATTR_FG = 1 << 0; // 1 if not using default background color (ignore cell bg) - color extension bit\nexports.ATTR_BG = 1 << 1; // 1 if not using default foreground color (ignore cell fg) - color extension bit\nexports.ATTR_BOLD = 1 << 2; // Bold font\nexports.ATTR_UNDERLINE = 1 << 3; // Underline decoration\nexports.ATTR_INVERSE = 1 << 4; // Invert colors - this is useful so we can clear then with SGR manipulation commands\nexports.ATTR_BLINK = 1 << 5; // Blinking\nexports.ATTR_ITALIC = 1 << 6; // Italic font\nexports.ATTR_STRIKE = 1 << 7; // Strike-through decoration\nexports.ATTR_OVERLINE = 1 << 8; // Over-line decoration\nexports.ATTR_FAINT = 1 << 9; // Faint foreground color (reduced alpha)\nexports.ATTR_FRAKTUR = 1 << 10; // Fraktur font (unicode substitution)\n/* eslint-enable no-multi-spaces */\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar EventEmitter = __webpack_require__(4);\n\nvar _require = __webpack_require__(0),\n parse2B = _require.parse2B;\n\nvar _require2 = __webpack_require__(5),\n themes = _require2.themes;\n\nvar encodeAsCodePoint = function encodeAsCodePoint(i) {\n return String.fromCodePoint(i + (i >= 0xD800 ? 0x801 : 1));\n};\n\nvar ANSIParser = function () {\n function ANSIParser(handler) {\n _classCallCheck(this, ANSIParser);\n\n this.reset();\n this.handler = handler;\n this.joinChunks = true;\n }\n\n _createClass(ANSIParser, [{\n key: 'reset',\n value: function reset() {\n this.currentSequence = 0;\n this.sequence = '';\n }\n }, {\n key: 'parseSequence',\n value: function parseSequence(sequence) {\n if (sequence[0] === '[') {\n var type = sequence[sequence.length - 1];\n var content = sequence.substring(1, sequence.length - 1);\n\n var numbers = content ? content.split(';').map(function (i) {\n return +i.replace(/\\D/g, '');\n }) : [];\n var numOr1 = numbers.length ? numbers[0] : 1;\n if (type === 'H') {\n this.handler('set-cursor', (numbers[0] | 0) - 1, (numbers[1] | 0) - 1);\n } else if (type >= 'A' && type <= 'D') {\n this.handler('move-cursor-' + (type <= 'B' ? 'y' : 'x'), (type === 'B' || type === 'C' ? 1 : -1) * numOr1);\n } else if (type === 'E' || type === 'F') {\n this.handler('move-cursor-line', (type === 'E' ? 1 : -1) * numOr1);\n } else if (type === 'G') {\n this.handler('set-cursor-x', numOr1 - 1);\n } else if (type === 'J') {\n var number = numbers.length ? numbers[0] : 2;\n if (number === 2) this.handler('clear');\n } else if (type === 'P') {\n this.handler('delete', numOr1);\n } else if (type === '@') {\n this.handler('insert-blanks', numOr1);\n } else if (type === 'q') this.handler('set-cursor-style', numOr1);else if (type === 'm') {\n if (!numbers.length) {\n this.handler('reset-style');\n return;\n }\n var _type = void 0;\n while (_type = numbers.shift()) {\n if (_type === 0) this.handler('reset-style');else if (_type === 1) this.handler('add-attrs', 1 << 2); // bold\n else if (_type === 2) this.handler('add-attrs', 1 << 9); // faint\n else if (_type === 3) this.handler('add-attrs', 1 << 6); // italic\n else if (_type === 4) this.handler('add-attrs', 1 << 3); // underline\n else if (_type === 5 || _type === 6) this.handler('add-attrs', 1 << 5); // blink\n else if (_type === 7) this.handler('add-attrs', 1 << 4); // invert\n else if (_type === 9) this.handler('add-attrs', 1 << 7); // strike\n else if (_type === 20) this.handler('add-attrs', 1 << 10); // fraktur\n else if (_type >= 30 && _type <= 37) this.handler('set-color-fg', _type % 10);else if (_type >= 40 && _type <= 47) this.handler('set-color-bg', _type % 10);else if (_type === 39) this.handler('reset-color-fg');else if (_type === 49) this.handler('reset-color-bg');else if (_type >= 90 && _type <= 98) this.handler('set-color-fg', _type % 10 + 8);else if (_type >= 100 && _type <= 108) this.handler('set-color-bg', _type % 10 + 8);else if (_type === 38 || _type === 48) {\n var mode = numbers.shift();\n if (mode === 2) {\n var r = numbers.shift();\n var g = numbers.shift();\n var b = numbers.shift();\n var color = (r << 16 | g << 8 | b) + 256;\n if (_type === 38) this.handler('set-color-fg', color);\n if (_type === 48) this.handler('set-color-bg', color);\n } else if (mode === 5) {\n var _color = (numbers.shift() | 0) & 0xFF;\n if (_type === 38) this.handler('set-color-fg', _color);\n if (_type === 48) this.handler('set-color-bg', _color);\n }\n }\n }\n } else if (type === 'h' || type === 'l') {\n if (content === '?25') {\n if (type === 'h') this.handler('show-cursor');else if (type === 'l') this.handler('hide-cursor');\n }\n }\n }\n }\n }, {\n key: 'write',\n value: function write(text) {\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = text.toString()[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var character = _step.value;\n\n var code = character.codePointAt(0);\n if (code === 0x1b) this.currentSequence = 1;else if (this.currentSequence === 1 && character === '[') {\n this.currentSequence = 2;\n this.sequence += '[';\n } else if (this.currentSequence && character.match(/[\\x40-\\x7e]/)) {\n this.parseSequence(this.sequence + character);\n this.currentSequence = 0;\n this.sequence = '';\n } else if (this.currentSequence > 1) this.sequence += character;else if (this.currentSequence === 1) {\n // something something nothing\n this.currentSequence = 0;\n this.handler('write', character);\n } else if (code < 0x03) this.handler('_null');else if (code === 0x03) this.handler('sigint');else if (code <= 0x06) this.handler('_null');else if (code === 0x07) this.handler('bell');else if (code === 0x08) this.handler('back');else if (code === 0x09) this.handler('tab');else if (code === 0x0a) this.handler('new-line');else if (code === 0x0d) this.handler('return');else if (code === 0x15) this.handler('delete-line');else if (code === 0x17) this.handler('delete-word');else this.handler('write', character);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n\n if (!this.joinChunks) this.reset();\n }\n }]);\n\n return ANSIParser;\n}();\n\nvar TERM_DEFAULT_STYLE = [0, 0, 0];\n\nvar getRainbowColor = function getRainbowColor(t) {\n var r = Math.floor(Math.sin(t) * 2.5 + 2.5);\n var g = Math.floor(Math.sin(t + 2 / 3 * Math.PI) * 2.5 + 2.5);\n var b = Math.floor(Math.sin(t + 4 / 3 * Math.PI) * 2.5 + 2.5);\n return 16 + 36 * r + 6 * g + b;\n};\n\nvar ScrollingTerminal = function () {\n function ScrollingTerminal(screen) {\n var _this = this;\n\n _classCallCheck(this, ScrollingTerminal);\n\n this.width = 80;\n this.height = 25;\n this.termScreen = screen;\n this.parser = new ANSIParser(function () {\n return _this.handleParsed.apply(_this, arguments);\n });\n this.buttonLabels = [];\n\n this.reset();\n\n this._lastLoad = Date.now();\n this.loadTimer();\n\n window.showPage();\n }\n\n _createClass(ScrollingTerminal, [{\n key: 'reset',\n value: function reset() {\n this.style = TERM_DEFAULT_STYLE.slice();\n this.cursor = { x: 0, y: 0, style: 1, visible: true };\n this.trackMouse = false;\n this.theme = 0;\n this.defaultFG = 7;\n this.defaultBG = 0;\n this.rainbow = this.superRainbow = false;\n this.parser.reset();\n this.clear();\n }\n }, {\n key: 'clear',\n value: function clear() {\n this.screen = [];\n for (var i = 0; i < this.width * this.height; i++) {\n this.screen.push([' ', this.style.slice()]);\n }\n }\n }, {\n key: 'scroll',\n value: function scroll() {\n this.screen.splice(0, this.width);\n for (var i = 0; i < this.width; i++) {\n this.screen.push([' ', TERM_DEFAULT_STYLE.slice()]);\n }\n this.cursor.y--;\n }\n }, {\n key: 'newLine',\n value: function newLine() {\n this.cursor.y++;\n if (this.cursor.y >= this.height) this.scroll();\n }\n }, {\n key: 'writeChar',\n value: function writeChar(character) {\n this.screen[this.cursor.y * this.width + this.cursor.x] = [character, this.style.slice()];\n this.cursor.x++;\n if (this.cursor.x >= this.width) {\n this.cursor.x = 0;\n this.newLine();\n }\n }\n }, {\n key: 'moveBack',\n value: function moveBack() {\n var n = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1;\n\n for (var i = 0; i < n; i++) {\n this.cursor.x--;\n if (this.cursor.x < 0) {\n if (this.cursor.y > 0) this.cursor.x = this.width - 1;else this.cursor.x = 0;\n this.cursor.y = Math.max(0, this.cursor.y - 1);\n }\n }\n }\n }, {\n key: 'moveForward',\n value: function moveForward() {\n var n = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1;\n\n for (var i = 0; i < n; i++) {\n this.cursor.x++;\n if (this.cursor.x >= this.width) {\n this.cursor.x = 0;\n this.cursor.y++;\n if (this.cursor.y >= this.height) this.scroll();\n }\n }\n }\n }, {\n key: 'deleteChar',\n value: function deleteChar() {\n // FIXME unused?\n this.moveBack();\n this.screen.splice((this.cursor.y + 1) * this.width, 0, [' ', TERM_DEFAULT_STYLE.slice()]);\n this.screen.splice(this.cursor.y * this.width + this.cursor.x, 1);\n }\n }, {\n key: 'deleteForward',\n value: function deleteForward(n) {\n n = Math.min(this.width, n);\n for (var i = 0; i < n; i++) {\n this.screen.splice((this.cursor.y + 1) * this.width, 0, [' ', TERM_DEFAULT_STYLE.slice()]);\n }this.screen.splice(this.cursor.y * this.width + this.cursor.x, n);\n }\n }, {\n key: 'clampCursor',\n value: function clampCursor() {\n if (this.cursor.x < 0) this.cursor.x = 0;\n if (this.cursor.y < 0) this.cursor.y = 0;\n if (this.cursor.x > this.width - 1) this.cursor.x = this.width - 1;\n if (this.cursor.y > this.height - 1) this.cursor.y = this.height - 1;\n }\n }, {\n key: 'handleParsed',\n value: function handleParsed(action) {\n if (action === 'write') {\n this.writeChar(arguments.length <= 1 ? undefined : arguments[1]);\n } else if (action === 'delete') {\n this.deleteForward(arguments.length <= 1 ? undefined : arguments[1]);\n } else if (action === 'insert-blanks') {\n this.insertBlanks(arguments.length <= 1 ? undefined : arguments[1]); // FIXME undefined?\n } else if (action === 'clear') {\n this.clear();\n } else if (action === 'bell') {\n this.termScreen.load('U\\x01B');\n } else if (action === 'back') {\n this.moveBack();\n } else if (action === 'new-line') {\n this.newLine();\n this.cursor.x = 0;\n } else if (action === 'return') {\n this.cursor.x = 0;\n } else if (action === 'set-cursor') {\n this.cursor.x = arguments.length <= 2 ? undefined : arguments[2];\n this.cursor.y = arguments.length <= 1 ? undefined : arguments[1];\n this.clampCursor();\n } else if (action === 'move-cursor-y') {\n this.cursor.y += arguments.length <= 1 ? undefined : arguments[1];\n this.clampCursor();\n } else if (action === 'move-cursor-x') {\n this.cursor.x += arguments.length <= 1 ? undefined : arguments[1];\n this.clampCursor();\n } else if (action === 'move-cursor-line') {\n this.cursor.x = 0;\n this.cursor.y += arguments.length <= 1 ? undefined : arguments[1];\n this.clampCursor();\n } else if (action === 'set-cursor-x') {\n this.cursor.x = arguments.length <= 1 ? undefined : arguments[1];\n } else if (action === 'set-cursor-style') {\n this.cursor.style = Math.max(0, Math.min(6, arguments.length <= 1 ? undefined : arguments[1]));\n } else if (action === 'reset-style') {\n this.style = TERM_DEFAULT_STYLE.slice();\n } else if (action === 'add-attrs') {\n this.style[2] |= arguments.length <= 1 ? undefined : arguments[1];\n } else if (action === 'set-color-fg') {\n this.style[0] = arguments.length <= 1 ? undefined : arguments[1];\n this.style[2] |= 1;\n } else if (action === 'set-color-bg') {\n this.style[1] = arguments.length <= 1 ? undefined : arguments[1];\n this.style[2] |= 1 << 1;\n } else if (action === 'reset-color-fg') {\n this.style[0] = 0;\n if (this.style[2] & 1) this.style[2] ^= 1;\n } else if (action === 'reset-color-bg') {\n this.style[1] = 0;\n if (this.style[2] & 1 << 1) this.style[2] ^= 1 << 1;\n } else if (action === 'hide-cursor') {\n this.cursor.visible = false;\n } else if (action === 'show-cursor') {\n this.cursor.visible = true;\n }\n }\n }, {\n key: 'write',\n value: function write(text) {\n this.parser.write(text);\n }\n }, {\n key: 'getScreenOpts',\n value: function getScreenOpts() {\n var data = 'O';\n data += encodeAsCodePoint(25);\n data += encodeAsCodePoint(80);\n data += encodeAsCodePoint(this.theme);\n data += encodeAsCodePoint(this.defaultFG & 0xFFFF);\n data += encodeAsCodePoint(this.defaultFG >> 16);\n data += encodeAsCodePoint(this.defaultBG & 0xFFFF);\n data += encodeAsCodePoint(this.defaultBG >> 16);\n var attributes = +this.cursor.visible;\n attributes |= (3 << 5) * +this.trackMouse; // track mouse controls both\n attributes |= 3 << 7; // buttons/links always visible\n attributes |= this.cursor.style << 9;\n data += encodeAsCodePoint(attributes);\n return data;\n }\n }, {\n key: 'getButtons',\n value: function getButtons() {\n var data = 'B';\n data += encodeAsCodePoint(this.buttonLabels.length);\n data += this.buttonLabels.map(function (x) {\n return x + '\\x01';\n }).join('');\n return data;\n }\n }, {\n key: 'getTitle',\n value: function getTitle() {\n return 'TESPTerm Web UI Demo\\x01';\n }\n }, {\n key: 'getCursor',\n value: function getCursor() {\n var data = 'C';\n data += encodeAsCodePoint(this.cursor.y);\n data += encodeAsCodePoint(this.cursor.x);\n data += encodeAsCodePoint(0);\n return data;\n }\n }, {\n key: 'encodeColor',\n value: function encodeColor(color) {\n if (color < 256) {\n return encodeAsCodePoint(color);\n } else {\n color -= 256;\n return encodeAsCodePoint(color & 0xFFF | 0x10000) + encodeAsCodePoint(color >> 12);\n }\n }\n }, {\n key: 'serializeScreen',\n value: function serializeScreen() {\n var serialized = 'S';\n serialized += encodeAsCodePoint(0) + encodeAsCodePoint(0);\n serialized += encodeAsCodePoint(this.height) + encodeAsCodePoint(this.width);\n\n var lastStyle = [null, null, null];\n var index = 0;\n var _iteratorNormalCompletion2 = true;\n var _didIteratorError2 = false;\n var _iteratorError2 = undefined;\n\n try {\n for (var _iterator2 = this.screen[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n var cell = _step2.value;\n\n var style = cell[1].slice();\n if (this.rainbow) {\n var x = index % this.width;\n var y = Math.floor(index / this.width);\n // C instead of F in mask and 1 << 8 in attrs to change attr bits 1 and 2\n var t = (x + y) / 10 + Date.now() / 1000;\n if (this.superRainbow) {\n t = (x * y + Date.now()) / 100 + Date.now() / 1000;\n }\n style[0] = getRainbowColor(t);\n style[1] = 0;\n if (this.superRainbow) style[1] = getRainbowColor(t / 10);\n style[2] = style[2] | 1;\n if (!this.superRainbow && style[2] & 1 << 1) style[2] ^= 1 << 1;\n index++;\n }\n\n var foreground = style[0];\n var background = style[1];\n var attributes = style[2];\n var setForeground = foreground !== lastStyle[0];\n var setBackground = background !== lastStyle[1];\n var setAttributes = attributes !== lastStyle[2];\n\n if (setForeground && setBackground) {\n if (foreground < 256 && background < 256) {\n serialized += '\\x03' + encodeAsCodePoint(background << 8 | foreground);\n } else {\n serialized += '\\x05' + this.encodeColor(foreground);\n serialized += '\\x06' + this.encodeColor(background);\n }\n } else if (setForeground) serialized += '\\x05' + this.encodeColor(foreground);else if (setBackground) serialized += '\\x06' + this.encodeColor(background);\n if (setAttributes) serialized += '\\x04' + encodeAsCodePoint(attributes);\n lastStyle = style;\n\n serialized += cell[0];\n }\n } catch (err) {\n _didIteratorError2 = true;\n _iteratorError2 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion2 && _iterator2.return) {\n _iterator2.return();\n }\n } finally {\n if (_didIteratorError2) {\n throw _iteratorError2;\n }\n }\n }\n\n return serialized;\n }\n }, {\n key: 'getUpdate',\n value: function getUpdate() {\n var topics = 0;\n var topicData = [];\n var screenOpts = this.getScreenOpts();\n var title = this.getTitle();\n var buttons = this.getButtons();\n var cursor = this.getCursor();\n var screen = this.serializeScreen();\n if (this._screenOpts !== screenOpts) {\n this._screenOpts = screenOpts;\n topicData.push(screenOpts);\n }\n if (this._title !== title) {\n this._title = title;\n topicData.push(title);\n }\n if (this._buttons !== buttons) {\n this._buttons = buttons;\n topicData.push(buttons);\n }\n if (this._cursor !== cursor) {\n this._cursor = cursor;\n topicData.push(cursor);\n }\n if (this._screen !== screen) {\n this._screen = screen;\n topicData.push(screen);\n }\n if (!topicData.length) return '';\n return 'U' + encodeAsCodePoint(topics) + topicData.join('');\n }\n }, {\n key: 'loadTimer',\n value: function loadTimer() {\n var _this2 = this;\n\n clearInterval(this._loadTimer);\n this._loadTimer = setInterval(function () {\n var update = _this2.getUpdate();\n if (update) _this2.termScreen.load(update);\n }, 30);\n }\n }]);\n\n return ScrollingTerminal;\n}();\n\nvar Process = function (_EventEmitter) {\n _inherits(Process, _EventEmitter);\n\n function Process() {\n _classCallCheck(this, Process);\n\n return _possibleConstructorReturn(this, (Process.__proto__ || Object.getPrototypeOf(Process)).apply(this, arguments));\n }\n\n _createClass(Process, [{\n key: 'write',\n value: function write(data) {\n this.emit('in', data);\n }\n }, {\n key: 'destroy',\n value: function destroy() {\n // death.\n this.emit('exit', 0);\n }\n }, {\n key: 'run',\n value: function run() {\n // noop\n }\n }]);\n\n return Process;\n}(EventEmitter);\n\nvar demoData = {\n buttons: [],\n mouseReceiver: null\n};\n\nvar demoshIndex = {\n clear: function (_Process) {\n _inherits(Clear, _Process);\n\n function Clear() {\n _classCallCheck(this, Clear);\n\n return _possibleConstructorReturn(this, (Clear.__proto__ || Object.getPrototypeOf(Clear)).apply(this, arguments));\n }\n\n _createClass(Clear, [{\n key: 'run',\n value: function run() {\n this.emit('write', '\\x1b[2J\\x1b[1;1H');\n this.destroy();\n }\n }]);\n\n return Clear;\n }(Process),\n screenfetch: function (_Process2) {\n _inherits(Screenfetch, _Process2);\n\n function Screenfetch() {\n _classCallCheck(this, Screenfetch);\n\n return _possibleConstructorReturn(this, (Screenfetch.__proto__ || Object.getPrototypeOf(Screenfetch)).apply(this, arguments));\n }\n\n _createClass(Screenfetch, [{\n key: 'run',\n value: function run() {\n var _this6 = this;\n\n var image = ('\\n ###. ESPTerm Demo\\n \\'###. Hostname: ' + window.location.hostname + '\\n \\'###. Shell: ESPTerm Demo Shell\\n \\'###. Resolution: 80x25@' + window.devicePixelRatio + 'x\\n :###-\\n .###\\'\\n .###\\'\\n .###\\' ###############\\n ###\\' ###############\\n ').split('\\n').filter(function (line) {\n return line.trim();\n });\n\n var chars = '';\n for (var y = 0; y < image.length; y++) {\n for (var x = 0; x < 80; x++) {\n if (image[y][x]) {\n chars += '\\x1B[38;5;' + getRainbowColor((x + y) / 10) + 'm' + image[y][x];\n } else chars += ' ';\n }\n }\n\n this.emit('write', '\\r\\n\\x1b[?25l');\n var loop = function loop() {\n _this6.emit('write', chars.substr(0, 80));\n chars = chars.substr(80);\n if (chars.length) setTimeout(loop, 50);else {\n _this6.emit('write', '\\r\\n\\x1b[?25h');\n _this6.destroy();\n }\n };\n loop();\n }\n }]);\n\n return Screenfetch;\n }(Process),\n 'local-echo': function (_Process3) {\n _inherits(LocalEcho, _Process3);\n\n function LocalEcho() {\n _classCallCheck(this, LocalEcho);\n\n return _possibleConstructorReturn(this, (LocalEcho.__proto__ || Object.getPrototypeOf(LocalEcho)).apply(this, arguments));\n }\n\n _createClass(LocalEcho, [{\n key: 'run',\n value: function run() {\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n if (!args.includes('--suppress-note')) {\n this.emit('write', '\\x1b[38;5;239mNote: not all terminal features are supported and may not work as expected in this demo\\x1b[m\\n');\n }\n this.emit('buttons', [{\n label: 'Exit',\n action: function action(shell) {\n shell.write('\\x03');\n }\n }]);\n }\n }, {\n key: 'write',\n value: function write(data) {\n this.emit('write', data);\n }\n }]);\n\n return LocalEcho;\n }(Process),\n info: function (_Process4) {\n _inherits(Info, _Process4);\n\n function Info() {\n _classCallCheck(this, Info);\n\n return _possibleConstructorReturn(this, (Info.__proto__ || Object.getPrototypeOf(Info)).apply(this, arguments));\n }\n\n _createClass(Info, [{\n key: 'run',\n value: function run() {\n var _this9 = this;\n\n for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n var fast = args.includes('--fast');\n this.showSplash().then(function () {\n _this9.printText(fast);\n });\n }\n }, {\n key: 'showSplash',\n value: function showSplash() {\n var _this10 = this;\n\n var splash = '\\n -#####- -###*..#####- ######-\\n -#* -#- .## .##. *#-\\n -##### .-###*..#####- *#- -*##*- #*-#--#**#-*##-\\n -#* -#-.##. *#- *##@#* ##. -#* *# .#*\\n -#####--####- .##. *#- -*#@@- ##. -#* *# .#*\\n '.split('\\n').filter(function (line) {\n return line.trim();\n });\n var levels = {\n ' ': -231,\n '.': 4,\n '-': 8,\n '*': 17,\n '#': 24\n };\n var characters = {\n ' ': ' ',\n '.': '░',\n '-': '▒',\n '*': '▓',\n '#': '█'\n };\n for (var i in splash) {\n if (splash[i].length < 79) splash[i] += ' '.repeat(79 - splash[i].length);\n }\n this.emit('write', '\\r\\n'.repeat(splash.length + 1));\n this.emit('write', '\\x1b[A'.repeat(splash.length));\n this.emit('write', '\\x1b[?25l');\n\n var cursorX = 0;\n var cursorY = 0;\n var moveTo = function moveTo(x, y) {\n var moveX = x - cursorX;\n var moveY = y - cursorY;\n _this10.emit('write', '\\x1B[' + Math.abs(moveX) + (moveX > 0 ? 'C' : 'D'));\n _this10.emit('write', '\\x1B[' + Math.abs(moveY) + (moveY > 0 ? 'B' : 'A'));\n cursorX = x;\n cursorY = y;\n };\n var drawCell = function drawCell(x, y) {\n moveTo(x, y);\n if (splash[y][x] === '@') {\n _this10.emit('write', '\\x1b[48;5;238m\\x1b[38;5;255m▄\\b');\n } else {\n var level = 231 + levels[splash[y][x]];\n var character = characters[splash[y][x]];\n _this10.emit('write', '\\x1B[48;5;' + level + 'm\\x1B[38;5;' + level + 'm' + character + '\\b');\n }\n };\n return new Promise(function (resolve, reject) {\n var self = _this10;\n var x = 13;\n var cycles = 0;\n var loop = function loop() {\n for (var y = 0; y < splash.length; y++) {\n var dx = x - y;\n if (dx > 0) drawCell(dx, y);\n }\n\n if (++x < 70) {\n if (++cycles >= 3) {\n setTimeout(loop, 50);\n cycles = 0;\n } else loop();\n } else {\n moveTo(0, splash.length);\n self.emit('write', '\\x1b[m\\x1b[?25h');\n resolve();\n }\n };\n loop();\n });\n }\n }, {\n key: 'printText',\n value: function printText() {\n var fast = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n // lots of printing\n var parts = ['', ' ESPTerm is a VT100-like terminal emulator running on the ESP8266 WiFi chip.', '', ' \\x1b[93mThis is an online demo of the web user interface, simulating a simple ', ' terminal in your browser.\\x1b[m', '', ' Type \\x1b[92mls\\x1b[m to list available commands.', ' Use the \\x1b[94mlinks\\x1b[m below this screen for a demo of the options and more info.', ''];\n\n if (fast) {\n this.emit('write', parts.join('\\r\\n') + '\\r\\n');\n this.destroy();\n } else {\n var self = this;\n var loop = function loop() {\n self.emit('write', parts.shift() + '\\r\\n');\n if (parts.length) setTimeout(loop, 17);else self.destroy();\n };\n loop();\n }\n }\n }]);\n\n return Info;\n }(Process),\n colors: function (_Process5) {\n _inherits(PrintColors, _Process5);\n\n function PrintColors() {\n _classCallCheck(this, PrintColors);\n\n return _possibleConstructorReturn(this, (PrintColors.__proto__ || Object.getPrototypeOf(PrintColors)).apply(this, arguments));\n }\n\n _createClass(PrintColors, [{\n key: 'run',\n value: function run() {\n this.emit('write', '\\r\\n');\n var fgtext = 'foreground-color';\n this.emit('write', ' ');\n for (var i = 0; i < 16; i++) {\n this.emit('write', '\\x1b[' + (i < 8 ? '3' + i : '9' + (i - 8)) + 'm');\n this.emit('write', fgtext[i] + ' ');\n }\n this.emit('write', '\\r\\n ');\n for (var _i = 0; _i < 16; _i++) {\n this.emit('write', '\\x1b[' + (_i < 8 ? '4' + _i : '10' + (_i - 8)) + 'm ');\n }\n this.emit('write', '\\x1b[m\\r\\n');\n for (var r = 0; r < 6; r++) {\n this.emit('write', ' ');\n for (var g = 0; g < 6; g++) {\n for (var b = 0; b < 6; b++) {\n this.emit('write', '\\x1B[48;5;' + (16 + r * 36 + g * 6 + b) + 'm ');\n }\n this.emit('write', '\\x1b[m');\n }\n this.emit('write', '\\r\\n');\n }\n this.emit('write', ' ');\n for (var _g = 0; _g < 24; _g++) {\n this.emit('write', '\\x1B[48;5;' + (232 + _g) + 'm ');\n }\n this.emit('write', '\\x1b[m\\r\\n\\n');\n this.destroy();\n }\n }]);\n\n return PrintColors;\n }(Process),\n ls: function (_Process6) {\n _inherits(ListCommands, _Process6);\n\n function ListCommands() {\n _classCallCheck(this, ListCommands);\n\n return _possibleConstructorReturn(this, (ListCommands.__proto__ || Object.getPrototypeOf(ListCommands)).apply(this, arguments));\n }\n\n _createClass(ListCommands, [{\n key: 'run',\n value: function run() {\n this.emit('write', '\\x1b[92mList of demo commands\\x1b[m\\r\\n');\n for (var i in demoshIndex) {\n if (typeof demoshIndex[i] === 'string') continue;\n this.emit('write', i + '\\r\\n');\n }\n this.destroy();\n }\n }]);\n\n return ListCommands;\n }(Process),\n theme: function (_Process7) {\n _inherits(SetTheme, _Process7);\n\n function SetTheme(shell) {\n _classCallCheck(this, SetTheme);\n\n var _this13 = _possibleConstructorReturn(this, (SetTheme.__proto__ || Object.getPrototypeOf(SetTheme)).call(this));\n\n _this13.shell = shell;\n return _this13;\n }\n\n _createClass(SetTheme, [{\n key: 'run',\n value: function run() {\n var theme = +(arguments.length <= 0 ? undefined : arguments[0]) | 0;\n var maxnum = themes.length;\n if (!arguments.length || !Number.isFinite(theme) || theme < 0 || theme >= maxnum) {\n this.emit('write', '\\x1B[31mUsage: theme [0\\u2013' + (maxnum - 1) + ']\\n');\n this.destroy();\n return;\n }\n this.shell.terminal.theme = theme;\n // HACK: reset drawn screen to prevent only partly redrawn screen\n this.shell.terminal.termScreen.drawnScreenFG = [];\n this.emit('write', '');\n this.destroy();\n }\n }]);\n\n return SetTheme;\n }(Process),\n themes: function (_Process8) {\n _inherits(ShowThemes, _Process8);\n\n function ShowThemes(shell) {\n _classCallCheck(this, ShowThemes);\n\n var _this14 = _possibleConstructorReturn(this, (ShowThemes.__proto__ || Object.getPrototypeOf(ShowThemes)).call(this));\n\n _this14.shell = shell;\n _this14.parser = new ANSIParser(function () {\n return _this14.handler.apply(_this14, arguments);\n });\n return _this14;\n }\n\n _createClass(ShowThemes, [{\n key: 'destroy',\n value: function destroy() {\n this.shell.terminal.cursor.style = this.savedCursorStyle;\n this.emit('write', '\\n\\n');\n _get(ShowThemes.prototype.__proto__ || Object.getPrototypeOf(ShowThemes.prototype), 'destroy', this).call(this);\n }\n }, {\n key: 'run',\n value: function run() {\n var _this15 = this;\n\n this.savedCursorStyle = this.shell.terminal.cursor.style;\n this.shell.terminal.cursor.style = 3;\n\n this.fgType = 0;\n this.bgType = 0;\n\n var get24FG = function get24FG() {\n return _this15.shell.terminal.defaultFG - 256;\n };\n var set24FG = function set24FG(v) {\n _this15.shell.terminal.defaultFG = v + 256;\n };\n var get24BG = function get24BG() {\n return _this15.shell.terminal.defaultBG - 256;\n };\n var set24BG = function set24BG(v) {\n _this15.shell.terminal.defaultBG = v + 256;\n };\n\n var make24Control = function make24Control(label, index, _getValue, _setValue, type) {\n index *= 4;\n\n return {\n label: label,\n length: 1,\n getValue: function getValue() {\n return _getValue() >> index & 0xF;\n },\n getDisplay: function getDisplay() {\n return (_getValue() >> index & 0xF).toString(16);\n },\n setValue: function setValue(value) {\n _setValue(_getValue() & (0xFFFFFF ^ 0xF << index) | (value & 0xF) << index);\n },\n shouldShow: function shouldShow() {\n return _this15[type + 'Type'] === 1;\n },\n parseValue: function parseValue(input) {\n return parseInt(input, 16) & 0xF;\n },\n moveAfterInput: index !== 0\n };\n };\n\n this.controls = [{\n label: 'Theme: ',\n length: themes.length.toString().length,\n getValue: function getValue() {\n return _this15.shell.terminal.theme;\n },\n setValue: function setValue(value) {\n var count = themes.length;\n _this15.shell.terminal.theme = (value % count + count) % count;\n }\n }, {\n label: ' Default Foreground: ',\n length: 6,\n getValue: function getValue() {\n return _this15.fgType;\n },\n getDisplay: function getDisplay() {\n return _this15.fgType === 0 ? '256' : '24-bit';\n },\n setValue: function setValue(value) {\n _this15.fgType = (value % 2 + 2) % 2;\n }\n }, {\n label: ' ',\n length: 3,\n getValue: function getValue() {\n return _this15.shell.terminal.defaultFG & 0xFF;\n },\n setValue: function setValue(value) {\n _this15.shell.terminal.defaultFG = value & 0xFF;\n },\n shouldShow: function shouldShow() {\n return _this15.fgType === 0;\n },\n parseValue: function parseValue(input) {\n return parseInt(input, 16);\n }\n }, make24Control(' #', 5, get24FG, set24FG, 'fg'), make24Control('', 4, get24FG, set24FG, 'fg'), make24Control('', 3, get24FG, set24FG, 'fg'), make24Control('', 2, get24FG, set24FG, 'fg'), make24Control('', 1, get24FG, set24FG, 'fg'), make24Control('', 0, get24FG, set24FG, 'fg'), {\n label: ' Default Background: ',\n length: 6,\n getValue: function getValue() {\n return _this15.bgType;\n },\n getDisplay: function getDisplay() {\n return _this15.bgType === 0 ? '256' : '24-bit';\n },\n setValue: function setValue(value) {\n _this15.bgType = (value % 2 + 2) % 2;\n }\n }, {\n label: ' ',\n length: 3,\n getValue: function getValue() {\n return _this15.shell.terminal.defaultBG & 0xFF;\n },\n setValue: function setValue(value) {\n _this15.shell.terminal.defaultBG = value & 0xFF;\n },\n shouldShow: function shouldShow() {\n return _this15.bgType === 0;\n },\n parseValue: function parseValue(input) {\n return parseInt(input, 16);\n }\n }, make24Control(' #', 5, get24BG, set24BG, 'bg'), make24Control('', 4, get24BG, set24BG, 'bg'), make24Control('', 3, get24BG, set24BG, 'bg'), make24Control('', 2, get24BG, set24BG, 'bg'), make24Control('', 1, get24BG, set24BG, 'bg'), make24Control('', 0, get24BG, set24BG, 'bg')];\n this.selection = 0;\n\n this.emit('write', '\\x1b[1mThemes\\x1b[m\\n\\n\\n\\n\\x1b[2A');\n\n this.render();\n }\n }, {\n key: 'render',\n value: function render() {\n this.emit('write', '\\x1b[m\\r');\n // no ^[2K implementation, here's a hack\n this.emit('write', ' '.repeat(this.shell.terminal.width - 1) + '\\r');\n\n var index = 0;\n var selectedX = 0;\n var _iteratorNormalCompletion3 = true;\n var _didIteratorError3 = false;\n var _iteratorError3 = undefined;\n\n try {\n for (var _iterator3 = this.controls[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {\n var control = _step3.value;\n\n if (control.shouldShow && !control.shouldShow()) continue;\n if (control.label) {\n this.emit('write', '\\x1B[1m' + control.label + '\\x1B[m');\n }\n // TODO: colors\n this.emit('write', '\\x1b[38;5;255m\\x1b[48;5;16m');\n var value = control.getDisplay ? control.getDisplay() : control.getValue().toString();\n this.emit('write', (control.fill || ' ').repeat(Math.max(0, control.length - value.length)));\n this.emit('write', value.substr(0, control.length));\n this.emit('write', '\\x1b[m');\n\n if (index === this.selection) {\n selectedX = this.shell.terminal.cursor.x - 1;\n\n // draw arrows\n this.emit('write', '\\x1b[m\\x1b[D\\x1b[A▲\\x1b[D\\x1b[2B▼\\x1b[A');\n } else {\n // clear arrows if they were there\n this.emit('write', '\\x1b[m\\x1b[D\\x1b[A \\x1b[D\\x1b[2B \\x1b[A');\n }\n\n index++;\n }\n } catch (err) {\n _didIteratorError3 = true;\n _iteratorError3 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion3 && _iterator3.return) {\n _iterator3.return();\n }\n } finally {\n if (_didIteratorError3) {\n throw _iteratorError3;\n }\n }\n }\n\n this.shell.terminal.cursor.x = selectedX;\n }\n }, {\n key: 'write',\n value: function write(data) {\n this.parser.write(data);\n }\n }, {\n key: 'getControlCount',\n value: function getControlCount() {\n var count = 0;\n var _iteratorNormalCompletion4 = true;\n var _didIteratorError4 = false;\n var _iteratorError4 = undefined;\n\n try {\n for (var _iterator4 = this.controls[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) {\n var control = _step4.value;\n\n if (control.shouldShow && !control.shouldShow()) continue;\n count++;\n }\n } catch (err) {\n _didIteratorError4 = true;\n _iteratorError4 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion4 && _iterator4.return) {\n _iterator4.return();\n }\n } finally {\n if (_didIteratorError4) {\n throw _iteratorError4;\n }\n }\n }\n\n return count;\n }\n }, {\n key: 'getSelectedControl',\n value: function getSelectedControl() {\n var selected = null;\n var index = 0;\n var _iteratorNormalCompletion5 = true;\n var _didIteratorError5 = false;\n var _iteratorError5 = undefined;\n\n try {\n for (var _iterator5 = this.controls[Symbol.iterator](), _step5; !(_iteratorNormalCompletion5 = (_step5 = _iterator5.next()).done); _iteratorNormalCompletion5 = true) {\n var control = _step5.value;\n\n if (control.shouldShow && !control.shouldShow()) continue;\n if (index === this.selection) {\n selected = control;\n break;\n }\n index++;\n }\n } catch (err) {\n _didIteratorError5 = true;\n _iteratorError5 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion5 && _iterator5.return) {\n _iterator5.return();\n }\n } finally {\n if (_didIteratorError5) {\n throw _iteratorError5;\n }\n }\n }\n\n return selected;\n }\n }, {\n key: 'handler',\n value: function handler(action) {\n var _console;\n\n for (var _len3 = arguments.length, args = Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {\n args[_key3 - 1] = arguments[_key3];\n }\n\n (_console = console).log.apply(_console, [action].concat(args));\n\n if (action === 'move-cursor-x') {\n this.selection += args[0];\n var count = this.getControlCount();\n this.selection = (this.selection % count + count) % count;\n } else if (action === 'move-cursor-y') {\n var control = this.getSelectedControl();\n if (control) control.setValue(control.getValue() - args[0]);\n } else if (action === 'write') {\n var _control = this.getSelectedControl();\n if (_control && _control.parseValue) {\n var parsed = _control.parseValue(args[0]);\n if (Number.isFinite(parsed)) {\n _control.setValue(parsed);\n if (_control.moveAfterInput) {\n if (this.selection < this.getControlCount() - 1) this.selection++;\n }\n }\n }\n }\n\n this.render();\n }\n }]);\n\n return ShowThemes;\n }(Process),\n cursor: function (_Process9) {\n _inherits(SetCursor, _Process9);\n\n function SetCursor() {\n _classCallCheck(this, SetCursor);\n\n return _possibleConstructorReturn(this, (SetCursor.__proto__ || Object.getPrototypeOf(SetCursor)).apply(this, arguments));\n }\n\n _createClass(SetCursor, [{\n key: 'run',\n value: function run() {\n for (var _len4 = arguments.length, args = Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n\n var steady = args.includes('--steady');\n if (args.includes('block')) {\n this.emit('write', '\\x1B[' + 2 * steady + ' q');\n } else if (args.includes('line')) {\n this.emit('write', '\\x1B[' + (3 + steady) + ' q');\n } else if (args.includes('bar') || args.includes('beam')) {\n this.emit('write', '\\x1B[' + (5 + steady) + ' q');\n } else {\n this.emit('write', '\\x1b[31mUsage: cursor [block|line|bar] [--steady]\\r\\n');\n }\n this.destroy();\n }\n }]);\n\n return SetCursor;\n }(Process),\n rainbow: function (_Process10) {\n _inherits(ToggleRainbow, _Process10);\n\n function ToggleRainbow(shell) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, ToggleRainbow);\n\n var _this17 = _possibleConstructorReturn(this, (ToggleRainbow.__proto__ || Object.getPrototypeOf(ToggleRainbow)).call(this));\n\n _this17.shell = shell;\n _this17.su = options.su;\n _this17.abort = false;\n return _this17;\n }\n\n _createClass(ToggleRainbow, [{\n key: 'write',\n value: function write(data) {\n var newLine = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n if (data === 'y') {\n this.shell.terminal.rainbow = !this.shell.terminal.rainbow;\n this.shell.terminal.superRainbow = true;\n demoData._didWarnRainbow = true;\n } else {\n this.emit('write', data);\n }\n if (newLine) this.emit('write', '\\x1b[0;32m\\x1b[G\\x1b[79PRainbow!\\n');\n this.destroy();\n }\n }, {\n key: 'run',\n value: function run() {\n if (this.su && !this.shell.terminal.rainbow) {\n if (!demoData._didWarnRainbow) {\n this.emit('write', '\\x1b[31;1mWarning: flashy colors. Continue? [y/N] ');\n } else {\n this.write('y', false);\n }\n } else {\n this.shell.terminal.rainbow = !this.shell.terminal.rainbow;\n this.shell.terminal.superRainbow = false;\n this.destroy();\n }\n }\n }, {\n key: 'destroy',\n value: function destroy() {\n this.abort = true;\n _get(ToggleRainbow.prototype.__proto__ || Object.getPrototypeOf(ToggleRainbow.prototype), 'destroy', this).call(this);\n }\n }]);\n\n return ToggleRainbow;\n }(Process),\n mouse: function (_Process11) {\n _inherits(MouseDemo, _Process11);\n\n function MouseDemo(shell) {\n _classCallCheck(this, MouseDemo);\n\n var _this18 = _possibleConstructorReturn(this, (MouseDemo.__proto__ || Object.getPrototypeOf(MouseDemo)).call(this));\n\n _this18.shell = shell;\n return _this18;\n }\n\n _createClass(MouseDemo, [{\n key: 'run',\n value: function run() {\n var _this19 = this;\n\n var self = this;\n this.emit('buttons', [{\n label: 'Exit',\n action: function action(shell) {\n shell.write('\\x03');\n }\n }, {\n label: 'Add Box',\n action: function action() {\n self.boxes.push(self.generateRandomBox());\n self.render();\n }\n }]);\n\n this.shell.terminal.trackMouse = true;\n demoData.mouseReceiver = this;\n\n this.boxes = Array(3).fill(0).map(function (x) {\n return _this19.generateRandomBox();\n });\n this.grabbedBox = null;\n this.grabOffset = [0, 0];\n\n this.render();\n }\n }, {\n key: 'render',\n value: function render() {\n this.emit('write', '\\x1b[m\\x1b[2J\\x1b[1;1H');\n this.emit('write', '\\x1b[97m\\x1b[1mMouse Demo\\r\\n\\x1b[mMove boxes around or scroll their contents!');\n\n // draw boxes\n var _iteratorNormalCompletion6 = true;\n var _didIteratorError6 = false;\n var _iteratorError6 = undefined;\n\n try {\n for (var _iterator6 = this.boxes[Symbol.iterator](), _step6; !(_iteratorNormalCompletion6 = (_step6 = _iterator6.next()).done); _iteratorNormalCompletion6 = true) {\n var box = _step6.value;\n\n this.emit('write', '\\x1B[' + (box.y + 1) + ';' + (box.x + 1) + 'H');\n this.emit('write', '\\x1B[m\\x1B[48;2;' + box.color.join(';') + 'm');\n for (var y = box.y; y < box.y + box.height; y++) {\n var drawnX = 0;\n for (var x = box.x; x < box.x + box.width; x++) {\n if (x < 0 || x >= this.shell.terminal.width - 1) continue;\n if (y < 0 || y >= this.shell.terminal.height) continue;\n drawnX++;\n this.emit('write', box.content[y - box.y][x - box.x]);\n }\n this.emit('write', '\\x1b[D'.repeat(drawnX) + '\\x1b[B');\n }\n }\n\n // move cursor to mouse\n } catch (err) {\n _didIteratorError6 = true;\n _iteratorError6 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion6 && _iterator6.return) {\n _iterator6.return();\n }\n } finally {\n if (_didIteratorError6) {\n throw _iteratorError6;\n }\n }\n }\n\n if (this.mouse) {\n this.emit('write', '\\x1B[' + (this.mouse.y + 1) + ';' + (this.mouse.x + 1) + 'H');\n }\n }\n }, {\n key: 'generateRandomBox',\n value: function generateRandomBox() {\n var chars = 'abcdefghijklmnopqrstuvwxyz-*()!@#$%';\n var content = [];\n var width = [5, 10, 15][Math.floor(Math.random() * 3)];\n var height = [4, 5, 6][Math.floor(Math.random() * 3)];\n\n for (var y = 0; y < height; y++) {\n content.push('');\n for (var x = 0; x < width; x++) {\n if (Math.random() > 0.6) {\n content[y] += chars[Math.floor(Math.random() * chars.length)];\n } else content[y] += ' ';\n }\n }\n\n return {\n x: Math.floor(Math.random() * (this.shell.terminal.width - 1)) + 1,\n y: Math.floor(Math.random() * (this.shell.terminal.height - 1)) + 1,\n width: width,\n height: height,\n color: [Math.random(), Math.random(), Math.random()].map(function (x) {\n return Math.floor(x * 255);\n }),\n content: content\n };\n }\n }, {\n key: 'getBoxAt',\n value: function getBoxAt(x, y) {\n var boxes = this.boxes.slice().reverse(); // top to bottom, like drawing order\n var _iteratorNormalCompletion7 = true;\n var _didIteratorError7 = false;\n var _iteratorError7 = undefined;\n\n try {\n for (var _iterator7 = boxes[Symbol.iterator](), _step7; !(_iteratorNormalCompletion7 = (_step7 = _iterator7.next()).done); _iteratorNormalCompletion7 = true) {\n var box = _step7.value;\n\n if (box.x <= x && box.x + box.width > x && box.y <= y && box.y + box.height > y) {\n return box;\n }\n }\n } catch (err) {\n _didIteratorError7 = true;\n _iteratorError7 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion7 && _iterator7.return) {\n _iterator7.return();\n }\n } finally {\n if (_didIteratorError7) {\n throw _iteratorError7;\n }\n }\n }\n }\n }, {\n key: 'mouseMove',\n value: function mouseMove(x, y) {\n this.mouse = { x: x, y: y };\n if (this.grabbedBox) {\n this.grabbedBox.x = x + this.grabOffset[0];\n this.grabbedBox.y = y + this.grabOffset[1];\n }\n this.render();\n }\n }, {\n key: 'mouseDown',\n value: function mouseDown(x, y, button) {\n if (button === 4) this.scrollInsideBox(this.getBoxAt(x, y), -1);else if (button === 5) this.scrollInsideBox(this.getBoxAt(x, y), 1);else {\n var box = this.getBoxAt(x, y);\n if (box) {\n var _boxes;\n\n this.grabbedBox = box;\n this.grabOffset = [box.x - x, box.y - y];\n // move grabbed box to top of stack\n (_boxes = this.boxes).push.apply(_boxes, _toConsumableArray(this.boxes.splice(this.boxes.indexOf(box), 1)));\n }\n }\n this.render();\n }\n }, {\n key: 'mouseUp',\n value: function mouseUp(x, y, button) {\n this.grabbedBox = null;\n }\n }, {\n key: 'scrollInsideBox',\n value: function scrollInsideBox(box, amount) {\n if (!box) return;\n var content = box.content.slice();\n box.content = [];\n for (var i = 0; i < content.length; i++) {\n box.content.push(content[(i + amount % content.length + content.length) % content.length]);\n }\n }\n }, {\n key: 'destroy',\n value: function destroy() {\n this.shell.terminal.write('\\x1b[m\\x1b[2J\\x1b[1;1H');\n this.shell.terminal.trackMouse = false;\n if (demoData.mouseReceiver === this) demoData.mouseReceiver = null;\n _get(MouseDemo.prototype.__proto__ || Object.getPrototypeOf(MouseDemo.prototype), 'destroy', this).call(this);\n }\n }]);\n\n return MouseDemo;\n }(Process),\n sudo: function (_Process12) {\n _inherits(Sudo, _Process12);\n\n function Sudo(shell) {\n _classCallCheck(this, Sudo);\n\n var _this20 = _possibleConstructorReturn(this, (Sudo.__proto__ || Object.getPrototypeOf(Sudo)).call(this));\n\n _this20.shell = shell;\n _this20.didDestroy = false;\n return _this20;\n }\n\n _createClass(Sudo, [{\n key: 'run',\n value: function run() {\n var _this21 = this;\n\n for (var _len5 = arguments.length, args = Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {\n args[_key5] = arguments[_key5];\n }\n\n if (args.length === 0) {\n this.emit('write', '\\x1b[31mUsage: sudo [command]\\x1b[m\\r\\n');\n this.destroy();\n } else {\n var name = args.shift();\n if (this.shell.index[name]) {\n var _Process13 = this.shell.index[name];\n if (_Process13 instanceof Function) {\n var child = this.child = new _Process13(this.shell, { su: true });\n this.on('in', function (data) {\n return child.write(data);\n });\n var write = function write(data) {\n return _this21.emit('write', data);\n };\n var setButtons = function setButtons(buttons) {\n return _this21.emit('buttons', buttons);\n };\n child.on('write', write);\n child.on('buttons', setButtons);\n child.on('exit', function (code) {\n child.removeListener('write', write);\n child.removeListener('buttons', setButtons);\n _this21.destroy();\n });\n child.run.apply(child, args);\n } else {\n this.emit('write', _Process13);\n this.destroy();\n }\n } else {\n this.emit('write', 'sudo: ' + name + ': command not found\\r\\n');\n this.destroy();\n }\n }\n }\n }, {\n key: 'destroy',\n value: function destroy() {\n if (this.didDestroy) return;\n this.didDestroy = true;\n if (this.child) this.child.destroy();\n _get(Sudo.prototype.__proto__ || Object.getPrototypeOf(Sudo.prototype), 'destroy', this).call(this);\n }\n }]);\n\n return Sudo;\n }(Process),\n make: function (_Process14) {\n _inherits(Make, _Process14);\n\n function Make(shell) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, Make);\n\n var _this22 = _possibleConstructorReturn(this, (Make.__proto__ || Object.getPrototypeOf(Make)).call(this));\n\n _this22.su = options.su;\n return _this22;\n }\n\n _createClass(Make, [{\n key: 'run',\n value: function run() {\n for (var _len6 = arguments.length, args = Array(_len6), _key6 = 0; _key6 < _len6; _key6++) {\n args[_key6] = arguments[_key6];\n }\n\n if (args.length === 0) this.emit('write', '\\x1b[31mmake: *** No targets specified. Stop.\\x1b[0m\\r\\n');else if (args.length === 3 && args.join(' ').toLowerCase() === 'me a sandwich') {\n if (this.su) {\n var b = '\\x1b[33m';\n var r = '\\x1b[0m';\n var l = '\\x1b[32m';\n var c = '\\x1b[38;5;229m';\n var h = '\\x1b[38;5;225m';\n this.emit('write', ' ' + b + '_.---._\\r\\n' + ' _.-~ ~-._\\r\\n' + ' _.-~ ~-._\\r\\n' + ' _.-~ ~---._\\r\\n' + ' _.-~ ~\\\\\\r\\n' + ' .-~ _.;\\r\\n' + ' :-._ _.-~ ./\\r\\n' + ' `-._~-._ _..__.-~ _.-~\\r\\n' + (' ' + c + '/ ' + b + '~-._~-._ / .__..--' + c + '~-' + l + '---._\\r\\n') + (c + ' \\\\_____(_' + b + ';-._\\\\. _.-~_/' + c + ' ~)' + l + '.. . \\\\\\r\\n') + (l + ' /(_____ ' + b + '\\\\`--...--~_.-~' + c + '______..-+' + l + '_______)\\r\\n') + (l + ' .(_________/' + b + '`--...--~/' + l + ' _/ ' + h + ' ' + b + '/\\\\\\r\\n') + (b + ' /-._' + h + ' \\\\_ ' + l + '(___./_..-~' + h + '__.....' + b + '__..-~./\\r\\n') + (b + ' `-._~-._' + h + ' ~\\\\--------~ .-~' + b + '_..__.-~ _.-~\\r\\n') + (b + ' ~-._~-._ ' + h + '~---------` ' + b + '/ .__..--~\\r\\n') + (b + ' ~-._\\\\. _.-~_/\\r\\n') + (b + ' \\\\`--...--~_.-~\\r\\n') + (b + ' `--...--~' + r + '\\r\\n'));\n } else {\n this.emit('write', '\\x1b[31mmake: me a sandwich : Permission denied\\x1b[0m\\r\\n');\n }\n } else {\n this.emit('write', '\\x1B[31mmake: *** No rule to make target \\'' + args.join(' ').toLowerCase() + '\\'. Stop.\\x1B[0m\\r\\n');\n }\n this.destroy();\n }\n }]);\n\n return Make;\n }(Process),\n pwd: '/this/is/a/demo\\r\\n',\n cd: '\\x1b[38;5;239mNo directories to change to\\r\\n',\n whoami: window.navigator.userAgent + '\\r\\n',\n hostname: '' + window.location.hostname,\n uname: 'ESPTerm Demo\\r\\n',\n mkdir: '\\x1b[38;5;239mDid not create a directory because this is a demo.\\r\\n',\n rm: '\\x1b[38;5;239mDid not delete anything because this is a demo.\\r\\n',\n cp: '\\x1b[38;5;239mNothing to copy because this is a demo.\\r\\n',\n mv: '\\x1b[38;5;239mNothing to move because this is a demo.\\r\\n',\n ln: '\\x1b[38;5;239mNothing to link because this is a demo.\\r\\n',\n touch: '\\x1b[38;5;239mNothing to touch\\r\\n',\n exit: '\\x1b[38;5;239mNowhere to go\\r\\n',\n github: function (_Process15) {\n _inherits(GoToGithub, _Process15);\n\n function GoToGithub() {\n _classCallCheck(this, GoToGithub);\n\n return _possibleConstructorReturn(this, (GoToGithub.__proto__ || Object.getPrototypeOf(GoToGithub)).apply(this, arguments));\n }\n\n _createClass(GoToGithub, [{\n key: 'run',\n value: function run() {\n window.open('https://github.com/espterm/espterm-firmware');\n this.destroy();\n }\n }]);\n\n return GoToGithub;\n }(Process)\n};\nvar autocompleteIndex = {\n 'local-echo': 'local-echo [--suppress-note]',\n theme: 'theme [n]',\n cursor: 'cursor [block|line|bar] [--steady]',\n sudo: 'sudo [command]'\n};\n\nvar DemoShell = function () {\n function DemoShell(terminal, printInfo) {\n var _this24 = this;\n\n _classCallCheck(this, DemoShell);\n\n this.terminal = terminal;\n this.terminal.reset();\n this.parser = new ANSIParser(function () {\n return _this24.handleParsed.apply(_this24, arguments);\n });\n this.history = [];\n this.historyIndex = 0;\n this.cursorPos = 0;\n this.lastInputLength = 0;\n this.child = null;\n this.index = demoshIndex;\n\n if (printInfo) this.run('info');else this.prompt();\n }\n\n _createClass(DemoShell, [{\n key: 'write',\n value: function write(text) {\n if (this.child) {\n if (text.codePointAt(0) === 3) this.child.destroy();else this.child.write(text);\n } else this.parser.write(text);\n }\n }, {\n key: 'prompt',\n value: function prompt() {\n var success = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n if (this.terminal.cursor.x !== 0) this.terminal.write('\\x1b[m\\x1b[38;5;238m⏎\\r\\n');\n this.terminal.write('\\x1b[34;1mdemosh \\x1b[m');\n if (!success) this.terminal.write('\\x1b[31m');\n this.terminal.write('$ \\x1b[m');\n this.history.unshift('');\n this.cursorPos = 0;\n\n this.setButtons();\n }\n }, {\n key: 'copyFromHistoryIndex',\n value: function copyFromHistoryIndex() {\n if (!this.historyIndex) return;\n var current = this.history[this.historyIndex];\n this.history[0] = current;\n this.historyIndex = 0;\n }\n }, {\n key: 'getCompleted',\n value: function getCompleted() {\n var visual = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n if (this.history[0]) {\n var input = this.history[0];\n var prefix = '';\n if (input.startsWith('sudo ')) {\n var newInput = input.replace(/^(sudo\\s+)+/, '');\n prefix = input.substr(0, input.length - newInput.length);\n input = newInput;\n }\n if (!input) return null;\n for (var name in this.index) {\n if (name.startsWith(input) && name !== input) {\n if (visual && name in autocompleteIndex) return prefix + autocompleteIndex[name];\n return prefix + name;\n }\n }\n return null;\n }\n return null;\n }\n }, {\n key: 'handleParsed',\n value: function handleParsed(action) {\n this.terminal.write('\\x1B[' + (this.lastInputLength - this.cursorPos) + 'P');\n this.terminal.write('\\b\\x1b[P'.repeat(this.cursorPos));\n\n if (action === 'write') {\n this.copyFromHistoryIndex();\n this.history[0] = this.history[0].substr(0, this.cursorPos) + (arguments.length <= 1 ? undefined : arguments[1]) + this.history[0].substr(this.cursorPos);\n this.cursorPos++;\n } else if (action === 'back') {\n this.copyFromHistoryIndex();\n this.history[0] = this.history[0].substr(0, this.cursorPos - 1) + this.history[0].substr(this.cursorPos);\n this.cursorPos--;\n if (this.cursorPos < 0) this.cursorPos = 0;\n } else if (action === 'tab') {\n var _completed = this.getCompleted();\n if (_completed) {\n this.history[0] = _completed;\n this.cursorPos = this.history[0].length;\n }\n } else if (action === 'move-cursor-x') {\n this.cursorPos = Math.max(0, Math.min(this.history[this.historyIndex].length, this.cursorPos + (arguments.length <= 1 ? undefined : arguments[1])));\n } else if (action === 'delete-line') {\n this.copyFromHistoryIndex();\n this.history[0] = '';\n this.cursorPos = 0;\n } else if (action === 'delete-word') {\n this.copyFromHistoryIndex();\n var words = this.history[0].substr(0, this.cursorPos).split(' ');\n words.pop();\n this.history[0] = words.join(' ') + this.history[0].substr(this.cursorPos);\n this.cursorPos = words.join(' ').length;\n } else if (action === 'move-cursor-y') {\n this.historyIndex -= arguments.length <= 1 ? undefined : arguments[1];\n if (this.historyIndex < 0) this.historyIndex = 0;\n if (this.historyIndex >= this.history.length) this.historyIndex = this.history.length - 1;\n this.cursorPos = this.history[this.historyIndex].length;\n }\n\n this.terminal.write(this.history[this.historyIndex]);\n this.terminal.write('\\b'.repeat(this.history[this.historyIndex].length));\n this.terminal.moveForward(this.cursorPos);\n\n this.lastInputLength = this.cursorPos;\n\n var completed = this.getCompleted(true);\n if (this.historyIndex === 0 && completed && action !== 'return') {\n // show closest match faintly\n var rest = completed.substr(this.history[0].length);\n this.terminal.write('\\x1B[2m' + rest + '\\x1B[m' + '\\b'.repeat(rest.length));\n this.lastInputLength += rest.length;\n }\n\n if (action === 'return') {\n this.terminal.write('\\n');\n this.parse(this.history[this.historyIndex]);\n }\n }\n }, {\n key: 'parse',\n value: function parse(input) {\n if (input === 'help') input = 'info';\n // TODO: basic chaining (i.e. semicolon)\n if (input) this.run(input);else this.prompt();\n }\n }, {\n key: 'run',\n value: function run(command) {\n var parts = [''];\n\n var inQuote = false;\n var _iteratorNormalCompletion8 = true;\n var _didIteratorError8 = false;\n var _iteratorError8 = undefined;\n\n try {\n for (var _iterator8 = command.trim()[Symbol.iterator](), _step8; !(_iteratorNormalCompletion8 = (_step8 = _iterator8.next()).done); _iteratorNormalCompletion8 = true) {\n var character = _step8.value;\n\n if (inQuote && character !== inQuote) {\n parts[parts.length - 1] += character;\n } else if (inQuote) {\n inQuote = false;\n } else if (character === '\"' || character === \"'\") {\n inQuote = character;\n } else if (character.match(/\\s/)) {\n if (parts[parts.length - 1]) parts.push('');\n } else parts[parts.length - 1] += character;\n }\n } catch (err) {\n _didIteratorError8 = true;\n _iteratorError8 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion8 && _iterator8.return) {\n _iterator8.return();\n }\n } finally {\n if (_didIteratorError8) {\n throw _iteratorError8;\n }\n }\n }\n\n var name = parts.shift();\n\n if (name in this.index) {\n this.spawn(name, parts);\n } else {\n this.terminal.write('demosh: Unknown command: ' + name + '\\r\\n');\n this.prompt(false);\n }\n }\n }, {\n key: 'spawn',\n value: function spawn(name) {\n var _this25 = this;\n\n var args = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n\n var Process = this.index[name];\n if (Process instanceof Function) {\n var _child;\n\n this.setButtons([]);\n this.child = new Process(this);\n var write = function write(data) {\n return _this25.terminal.write(data);\n };\n var setButtons = function setButtons(buttons) {\n return _this25.setButtons(buttons);\n };\n this.child.on('write', write);\n this.child.on('buttons', setButtons);\n this.child.on('exit', function (code) {\n if (_this25.child) {\n _this25.child.removeListener('write', write);\n _this25.child.removeListener('buttons', setButtons);\n }\n _this25.child = null;\n _this25.prompt(!code);\n });\n (_child = this.child).run.apply(_child, _toConsumableArray(args));\n } else {\n this.terminal.write(Process);\n this.prompt();\n }\n }\n }, {\n key: 'setButtons',\n value: function setButtons(buttons) {\n if (!buttons) {\n var shell = this;\n var writeChars = function writeChars(chars) {\n var loop = function loop() {\n shell.write(chars[0]);\n chars = chars.substr(1);\n if (chars) setTimeout(loop, 100);\n };\n setTimeout(loop, 200);\n };\n\n buttons = [{\n label: 'Open GitHub',\n action: function action(shell) {\n if (shell.child) shell.child.destroy();\n writeChars('github\\r');\n }\n }, {\n label: 'Help',\n action: function action(shell) {\n if (shell.child) shell.child.destroy();\n writeChars('info\\r');\n }\n }];\n }\n if (!buttons.length) buttons.push({ label: '', action: function action() {}\n });\n this.buttons = buttons;\n this.terminal.buttonLabels = buttons.map(function (x) {\n return x.label;\n });\n }\n }, {\n key: 'onButtonPress',\n value: function onButtonPress(index) {\n var button = this.buttons[index];\n if (!button) return;\n button.action(this, this.terminal);\n }\n }]);\n\n return DemoShell;\n}();\n\nwindow.demoInterface = module.exports = {\n input: function input(data) {\n var type = data[0];\n var content = data.substr(1);\n\n if (type === 's') {\n this.shell.write(content);\n } else if (type === 'b') {\n var button = content.charCodeAt(0);\n this.shell.onButtonPress(button - 1);\n } else if (type === 'm' || type === 'p' || type === 'r') {\n var row = parse2B(content, 0);\n var column = parse2B(content, 2);\n var _button = parse2B(content, 4);\n var modifiers = parse2B(content, 6);\n\n if (demoData.mouseReceiver) {\n if (type === 'm') demoData.mouseReceiver.mouseMove(column, row, _button, modifiers);else if (type === 'p') demoData.mouseReceiver.mouseDown(column, row, _button, modifiers);else if (type === 'r') demoData.mouseReceiver.mouseUp(column, row, _button, modifiers);\n }\n }\n },\n\n didInit: false,\n init: function init(screen) {\n if (this.didInit) return;\n this.didInit = true;\n this.terminal = new ScrollingTerminal(screen);\n this.shell = new DemoShell(this.terminal, true);\n }\n};\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n/*\n * Copyright (c) 2010 Tim Baumann\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\n// NOTE:\n// Extracted from ColorTriangle and\n// Converted to ES6 by MightyPork (2017)\n\n/*******************\n * Color conversion *\n *******************/\n\nvar M = Math;\nvar TAU = 2 * M.PI;\n\nexports.hue2rgb = function (v1, v2, h) {\n if (h < 0) h += 1;\n if (h > 1) h -= 1;\n\n if (6 * h < 1) return v1 + (v2 - v1) * 6 * h;\n if (2 * h < 1) return v2;\n if (3 * h < 2) return v1 + (v2 - v1) * (2 / 3 - h) * 6;\n return v1;\n};\n\nexports.hsl2rgb = function (h, s, l) {\n h /= TAU;\n var r = void 0,\n g = void 0,\n b = void 0;\n\n if (s === 0) {\n r = g = b = l;\n } else {\n var var_1 = void 0,\n var_2 = void 0;\n\n if (l < 0.5) var_2 = l * (1 + s);else var_2 = l + s - s * l;\n\n var_1 = 2 * l - var_2;\n\n r = exports.hue2rgb(var_1, var_2, h + 1 / 3);\n g = exports.hue2rgb(var_1, var_2, h);\n b = exports.hue2rgb(var_1, var_2, h - 1 / 3);\n }\n return [r, g, b];\n};\n\nexports.rgb2hsl = function (r, g, b) {\n var min = M.min(r, g, b);\n var max = M.max(r, g, b);\n var d = max - min; // delta\n\n var h = void 0,\n s = void 0,\n l = void 0;\n\n l = (max + min) / 2;\n\n if (d === 0) {\n // gray\n h = s = 0; // HSL results from 0 to 1\n } else {\n // chroma\n if (l < 0.5) s = d / (max + min);else s = d / (2 - max - min);\n\n var d_r = ((max - r) / 6 + d / 2) / d;\n var d_g = ((max - g) / 6 + d / 2) / d;\n var d_b = ((max - b) / 6 + d / 2) / d; // deltas\n\n if (r === max) h = d_b - d_g;else if (g === max) h = 1 / 3 + d_r - d_b;else if (b === max) h = 2 / 3 + d_g - d_r;\n\n if (h < 0) h += 1;else if (h > 1) h -= 1;\n }\n h *= TAU;\n return [h, s, l];\n};\n\nexports.hex2rgb = function (hex) {\n var groups = hex.match(/^#([\\da-f]{3,6})$/i);\n if (groups) {\n hex = groups[1];\n var bytes = hex.length / 3;\n var max = Math.pow(16, bytes) - 1;\n return [0, 1, 2].map(function (x) {\n return parseInt(hex.slice(x * bytes, (x + 1) * bytes), 16) / max;\n });\n }\n return [0, 0, 0];\n};\n\nfunction pad(n) {\n return ('00' + n).substr(-2);\n}\n\nexports.rgb255ToHex = function (r, g, b) {\n return '#' + [r, g, b].map(function (x) {\n return pad(x.toString(16));\n }).join('');\n};\n\nexports.rgb2hex = function (r, g, b) {\n return '#' + [r, g, b].map(function (x) {\n return pad(Math.round(x * 255).toString(16));\n }).join('');\n};\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar data = __webpack_require__(14);\n\nmodule.exports = function localize(key) {\n return data[key] || '?' + key + '?';\n};\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n__webpack_require__(11);\n__webpack_require__(2);\n__webpack_require__(3);\n__webpack_require__(12);\ntry {\n __webpack_require__(7);\n} catch (err) {}\n__webpack_require__(13);\n\nvar $ = __webpack_require__(1);\n\nvar _require = __webpack_require__(0),\n qs = _require.qs;\n\n/* Export stuff to the global scope for inline scripts */\n\n\nwindow.termInit = __webpack_require__(15);\nwindow.$ = $;\nwindow.qs = qs;\n\nwindow.themes = __webpack_require__(5);\n\nwindow.TermConf = __webpack_require__(25);\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n/*! http://mths.be/fromcodepoint v0.1.0 by @mathias */\nif (!String.fromCodePoint) {\n (function () {\n var defineProperty = function () {\n // IE 8 only supports `Object.defineProperty` on DOM elements\n try {\n var object = {};\n var $defineProperty = Object.defineProperty;\n var result = $defineProperty(object, object, object) && $defineProperty;\n } catch (error) {}\n return result;\n }();\n var stringFromCharCode = String.fromCharCode;\n var floor = Math.floor;\n var fromCodePoint = function fromCodePoint() {\n var MAX_SIZE = 0x4000;\n var codeUnits = [];\n var highSurrogate;\n var lowSurrogate;\n var index = -1;\n var length = arguments.length;\n if (!length) {\n return '';\n }\n var result = '';\n while (++index < length) {\n var codePoint = Number(arguments[index]);\n if (!isFinite(codePoint) || // `NaN`, `+Infinity`, or `-Infinity`\n codePoint < 0 || // not a valid Unicode code point\n codePoint > 0x10FFFF || // not a valid Unicode code point\n floor(codePoint) != codePoint // not an integer\n ) {\n throw RangeError('Invalid code point: ' + codePoint);\n }\n if (codePoint <= 0xFFFF) {\n // BMP code point\n codeUnits.push(codePoint);\n } else {\n // Astral code point; split in surrogate halves\n // http://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae\n codePoint -= 0x10000;\n highSurrogate = (codePoint >> 10) + 0xD800;\n lowSurrogate = codePoint % 0x400 + 0xDC00;\n codeUnits.push(highSurrogate, lowSurrogate);\n }\n if (index + 1 == length || codeUnits.length > MAX_SIZE) {\n result += stringFromCharCode.apply(null, codeUnits);\n codeUnits.length = 0;\n }\n }\n return result;\n };\n if (defineProperty) {\n defineProperty(String, 'fromCodePoint', {\n 'value': fromCodePoint,\n 'configurable': true,\n 'writable': true\n });\n } else {\n String.fromCodePoint = fromCodePoint;\n }\n })();\n}\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar $ = __webpack_require__(1);\n\nvar _require = __webpack_require__(0),\n mk = _require.mk,\n qs = _require.qs,\n qsa = _require.qsa,\n cr = _require.cr;\n\nvar modal = __webpack_require__(2);\nvar notify = __webpack_require__(3);\n\n/** Global generic init */\n$.ready(function () {\n // Opening menu on mobile / narrow screen\n function menuOpen() {\n $('#menu').toggleClass('expanded');\n }\n $('#brand').on('click', menuOpen).on('keypress', cr(menuOpen));\n\n // Checkbox UI (checkbox CSS and hidden input with int value)\n $('.Row.checkbox').forEach(function (x) {\n var inp = x.querySelector('input');\n var box = x.querySelector('.box');\n\n $(box).toggleClass('checked', inp.value);\n\n var hdl = function hdl() {\n inp.value = 1 - inp.value;\n $(box).toggleClass('checked', inp.value);\n };\n\n $(x).on('click', hdl).on('keypress', cr(hdl));\n });\n\n // Expanding boxes on mobile\n $('.Box.mobcol,.Box.fold').forEach(function (x) {\n var h = x.querySelector('h2');\n\n var hdl = function hdl() {\n if ($(x).hasClass('d-expanded')) {\n $(x).removeClass('d-expanded');\n } else {\n $(x).toggleClass('expanded');\n }\n };\n $(h).on('click', hdl).on('keypress', cr(hdl));\n });\n\n $('form').forEach(function (x) {\n $(x).on('keypress', function (e) {\n if ((e.keyCode === 10 || e.keyCode === 13) && e.ctrlKey) {\n x.submit();\n }\n });\n });\n\n // loader dots...\n setInterval(function () {\n $('.anim-dots').each(function (x) {\n var $x = $(x);\n var dots = $x.html() + '.';\n if (dots.length === 5) dots = '.';\n $x.html(dots);\n });\n }, 1000);\n\n // flipping number boxes with the mouse wheel\n $('input[type=number]').on('wheel', function (e) {\n var $this = $(this);\n var val = +$this.val();\n if (isNaN(val)) val = 1;\n\n var step = +($this.attr('step') || 1);\n var min = +$this.attr('min');\n var max = +$this.attr('max');\n if (e.deltaY > 0) {\n val += step;\n } else {\n val -= step;\n }\n\n if (Number.isFinite(min)) val = Math.max(val, +min);\n if (Number.isFinite(max)) val = Math.min(val, +max);\n $this.val(val);\n\n if ('createEvent' in document) {\n var evt = document.createEvent('HTMLEvents');\n evt.initEvent('change', false, true);\n $this[0].dispatchEvent(evt);\n } else {\n $this[0].fireEvent('onchange');\n }\n\n e.preventDefault();\n });\n\n // populate the form errors box from GET arg ?err=...\n // (a way to pass errors back from server via redirect)\n var errAt = window.location.search.indexOf('err=');\n if (errAt !== -1 && qs('.Box.errors')) {\n var errs = decodeURIComponent(window.location.search.substr(errAt + 4)).split(',');\n var humanReadableErrors = [];\n errs.forEach(function (er) {\n var lbls = qsa('label[for=\"' + er + '\"]');\n if (lbls) {\n for (var i = 0; i < lbls.length; i++) {\n var lbl = lbls[i];\n lbl.classList.add('error');\n if (i === 0) humanReadableErrors.push(lbl.childNodes[0].textContent.trim().replace(/: ?$/, ''));\n }\n } else {\n humanReadableErrors.push(er);\n }\n });\n\n qs('.Box.errors .list').innerHTML = humanReadableErrors.join(', ');\n qs('.Box.errors').classList.remove('hidden');\n }\n\n var msgAt = window.location.search.indexOf('msg=');\n if (msgAt !== -1 && qs('.Box.message')) {\n var msg = decodeURIComponent(window.location.search.substr(msgAt + 4));\n var box = qs('.Box.message');\n box.innerHTML = msg;\n box.classList.remove('hidden');\n setTimeout(function () {\n box.classList.add('hiding');\n setTimeout(function () {\n box.classList.add('hidden');\n }, 1000);\n }, 2000);\n }\n\n modal.init();\n notify.init();\n\n // remove tabindices from h2 if wide\n if (window.innerWidth > 550) {\n $('.Box h2').forEach(function (x) {\n x.removeAttribute('tabindex');\n });\n\n // brand works as a link back to term in widescreen mode\n var br = qs('#brand');\n br && br.addEventListener('click', function () {\n window.location.href = '/'; // go to terminal\n });\n }\n});\n\n// setup the ajax loader\n$._loader = function (vis) {\n $('#loader').toggleClass('show', vis);\n};\n\nvar pageShown = false;\n// reveal content on load\nfunction showPage() {\n pageShown = true;\n $('#content').addClass('load');\n}\n// HACKITY HACK: fix this later\nwindow.showPage = showPage;\n\n// Auto reveal pages other than the terminal (sets window.noAutoShow)\n$.ready(function () {\n if (window.noAutoShow === true) {\n setTimeout(function () {\n if (!pageShown) {\n var bnr = mk('P');\n bnr.id = 'load-failed';\n bnr.innerHTML = 'Server connection failed! Trying again' + '.';\n qs('#screen').appendChild(bnr);\n qs('#screen').classList.add('failed');\n showPage();\n }\n }, 2000);\n } else {\n setTimeout(function () {\n showPage();\n }, 1);\n }\n});\n\n/***/ }),\n/* 13 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar $ = __webpack_require__(1);\n\nvar _require = __webpack_require__(0),\n mk = _require.mk;\n\nvar tr = __webpack_require__(9);\n\n{\n\n // Get XX % for a slider input\n var calc_dBm = function calc_dBm(inp) {\n return '+' + (inp.value * 0.25).toFixed(2) + ' dBm';\n };\n\n // Display selected STA SSID etc\n\n\n var selectSta = function selectSta(name, password, ip) {\n $('#sta_ssid').val(name);\n $('#sta_password').val(password);\n\n $('#sta-nw').toggleClass('hidden', name.length === 0);\n $('#sta-nw-nil').toggleClass('hidden', name.length > 0);\n\n $('#sta-nw .essid').html($.htmlEscape(name));\n var hasPassword = !!password;\n\n // (the following is kind of confusing with the double-double negations,\n // but it works)\n $('#sta-nw .passwd').toggleClass('hidden', !hasPassword);\n $('#sta-nw .nopasswd').toggleClass('hidden', hasPassword);\n\n $('#sta-nw .ip').html(ip.length > 0 ? tr('wifi.connected_ip_is') + ip : tr('wifi.not_conn'));\n };\n\n /** Update display for received response */\n\n\n var onScan = function onScan(resp, status) {\n // var ap_json = {\n // \"result\": {\n // \"inProgress\": \"0\",\n // \"APs\": [\n // {\"essid\": \"Chlivek\", \"bssid\": \"88:f7:c7:52:b3:99\", \"rssi\": \"204\", \"enc\": \"4\", \"channel\": \"1\"},\n // {\"essid\": \"TyNikdy\", \"bssid\": \"5c:f4:ab:0d:f1:1b\", \"rssi\": \"164\", \"enc\": \"3\", \"channel\": \"1\"},\n // ]\n // }\n // };\n\n if (status !== 200) {\n // bad response\n rescan(5000); // wait 5s then retry\n return;\n }\n\n try {\n resp = JSON.parse(resp);\n } catch (e) {\n console.log(e);\n rescan(5000);\n return;\n }\n\n var done = !resp.result.inProgress && resp.result.APs.length > 0;\n rescan(done ? 15000 : 1000);\n if (!done) return; // no redraw yet\n\n // clear the AP list\n var $list = $('#ap-list');\n // remove old APs\n $('#ap-list .AP').remove();\n\n $list.toggleClass('hidden', !done);\n $('#ap-loader').toggleClass('hidden', done);\n\n // scan done\n resp.result.APs.sort(function (a, b) {\n return b.rssi - a.rssi;\n }).forEach(function (ap) {\n ap.enc = parseInt(ap.enc);\n\n if (ap.enc > 4) return; // hide unsupported auths\n\n var item = mk('div');\n\n var $item = $(item).data('ssid', ap.essid).data('pwd', ap.enc).attr('tabindex', 0).addClass('AP');\n\n // mark current SSID\n if (ap.essid === curSSID) {\n $item.addClass('selected');\n }\n\n var inner = mk('div');\n var escapedSSID = $.htmlEscape(ap.essid);\n $(inner).addClass('inner').htmlAppend('
\\ec
).\n\t\tThey can be changed by the terminal application using escape sequences.\n\t\t',\n\t'term.explain_expert' => '\n\t\tThose are advanced config options that usually don\\'t need to be changed.\n\t\tEdit them only if you know what you\\'re doing.',\n\n\t'term.example' => 'Default colors preview',\n\n\t'term.explain_scheme' => '\n\t\tTo select default text and background color, click on the\n\t\tpreview palette. Alternatively, use numbers 0-15 for theme colors,\n\t\t16-255 for standard colors and hex (#FFFFFF) for True Color (24-bit).\n\t\t',\n\n\t'term.fgbg_presets' => 'Defaults Presets',\n\t'term.color_scheme' => 'Color Scheme',\n\t'term.reset_screen' => 'Reset screen & parser',\n\t'term.term_title' => 'Header Text',\n\t'term.term_width' => 'Width',\n\t'term.term_height' => 'Height',\n\t'term.buttons' => 'Button Labels',\n\t'term.theme' => 'Color Palette',\n\t'term.cursor_shape' => 'Cursor Style',\n\t'term.parser_tout_ms' => 'Parser Timeout',\n\t'term.display_tout_ms' => 'Redraw Delay',\n\t'term.display_cooldown_ms' => 'Redraw Cooldown',\n\t'term.allow_decopt_12' => 'Allow \\e?12h/l',\n\t'term.fn_alt_mode' => 'SS3 Fn keys',\n\t'term.show_config_links' => 'Show nav links',\n\t'term.show_buttons' => 'Show buttons',\n\t'term.loopback' => 'Local Echo (SRM)',\n\t'term.crlf_mode' => 'Enter = CR+LF (LNM)',\n\t'term.want_all_fn' => 'Capture F5, F11, F12',\n\t'term.button_msgs' => 'Button codes