diff --git a/.github/PULL_REQUEST_TEMPLATE b/.github/PULL_REQUEST_TEMPLATE index e51db671..e5c2bc8b 100644 --- a/.github/PULL_REQUEST_TEMPLATE +++ b/.github/PULL_REQUEST_TEMPLATE @@ -1,5 +1,5 @@ diff --git a/CHANGELOG.md b/CHANGELOG.md index 17f89b43..e21346bd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,16 @@ +## 2.40.0 +### Features +* don't force any attributes when using xml (`span`, `img`, and `a` tags) [#913](https://github.com/jcubic/jquery.terminal/issues/913) +* alow using attributes in color xml tags [#924](https://github.com/jcubic/jquery.terminal/issues/924) +### Bugfix +* fix init and resize of long prompt [#919](https://github.com/jcubic/jquery.terminal/issues/919) +* fix occasional selecting Accessibility label (about clipboard textarea) in CMD +* fix sync commands and dynamic prompt [#923](https://github.com/jcubic/jquery.terminal/issues/923) [#922](https://github.com/jcubic/jquery.terminal/issues/922) +* fix calling `onCommandChange` when command don't change +* fix sequence of animations in echo without newline [#930](https://github.com/jcubic/jquery.terminal/issues/930) +* fix flash of old dynamic prompt on enter [#926](https://github.com/jcubic/jquery.terminal/issues/926) +* fix ignoring colors and style when using JSON attributes in formatting + ## 2.39.3 ### Bugfix * fix broken full screen terminal height on Desktop diff --git a/README.md b/README.md index 3ff259ef..b3b7491f 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ [![npm](https://img.shields.io/badge/npm-2.39.3-blue.svg)](https://www.npmjs.com/package/jquery.terminal) ![bower](https://img.shields.io/badge/bower-2.39.3-yellow.svg) [![Build and test](https://github.com/jcubic/jquery.terminal/actions/workflows/build.yaml/badge.svg?branch=master&event=push)](https://github.com/jcubic/jquery.terminal/actions/workflows/build.yaml) -[![Coverage Status](https://coveralls.io/repos/github/jcubic/jquery.terminal/badge.svg?branch=master&ee2a03a16ea250797b28569c122c3138)](https://coveralls.io/github/jcubic/jquery.terminal?branch=master) +[![Coverage Status](https://coveralls.io/repos/github/jcubic/jquery.terminal/badge.svg?branch=master&b68a7df0dd0c8bfd4f7e9bbbc513838b)](https://coveralls.io/github/jcubic/jquery.terminal?branch=master) ![NPM Downloads](https://img.shields.io/npm/dm/jquery.terminal.svg?style=flat) [![jsDelivr Downloads](https://data.jsdelivr.com/v1/package/npm/jquery.terminal/badge?style=rounded&n=1)](https://www.jsdelivr.com/package/npm/jquery.terminal) [![Paid Support](https://img.shields.io/badge/paid-support-354465.svg)](https://support.jcubic.pl/) diff --git a/__tests__/__snapshots__/terminal.spec.js.snap b/__tests__/__snapshots__/terminal.spec.js.snap index 8e67d074..6b2868bc 100644 --- a/__tests__/__snapshots__/terminal.spec.js.snap +++ b/__tests__/__snapshots__/terminal.spec.js.snap @@ -779,6 +779,8 @@ Array [ ] `; +exports[`extensions echo_newline should create sequance of animations (#930) 1`] = `"
Hello, jQuery Terminal
"`; + exports[`extensions echo_newline should print mixed newline with !flush 1`] = ` "foo, bar baz, quux" diff --git a/__tests__/terminal.spec.js b/__tests__/terminal.spec.js index ed7ed37c..93384528 100644 --- a/__tests__/terminal.spec.js +++ b/__tests__/terminal.spec.js @@ -2326,8 +2326,8 @@ describe('Terminal utils', function() { } })); return term.exec('output | grep /foo/').then(function() { - expect(get_lines(term)).toEqual(['foo']); - }).catch(e => console.log(e)); + return expect(get_lines(term)).toEqual(['foo']); + }); }); it('should escape pipe', async function() { var term = $('
').terminal($.terminal.pipe({ @@ -2767,13 +2767,13 @@ describe('extensions', function() { expect(output(term)).toEqual(['hello, world']); } }); - it('finalize with newline : false', function() { + it('finalize with newline: false', function() { term.echo('foo', { - finalize: (a) => a.children().children().css("color", "red"), + finalize: (node) => node.css("color", "red"), newline : false }); - var color = term[0].querySelector(`[data-index='${term.last_index()}`).firstChild.firstChild.style.color; - expect(color).toEqual("red"); + const node = term.find(`[data-index='${term.last_index()}']`).get(0); + expect(node.style.color).toEqual("red"); }); it('should print multiple !flush && !newline', function() { term.echo('foo, ', {newline: false, flush: false}); @@ -2794,6 +2794,12 @@ describe('extensions', function() { expect(term.get_output()).toMatchSnapshot(); expect(output(term)).toMatchSnapshot(); }); + it('should create sequance of animations (#930)', async function() { + await term.echo("Hello, ", { typing: true, delay: 0, newline: false }); + await term.echo("jQuery ", { typing: true, delay: 0, newline: false }); + await term.echo("Terminal", { typing: true, delay: 0 }); + expect(term.find('.terminal-output').html()).toMatchSnapshot(); + }); }); describe('autocomplete_menu', function() { function completion(term) { diff --git a/css/emoji.css b/css/emoji.css index 4c523200..74992c4c 100644 --- a/css/emoji.css +++ b/css/emoji.css @@ -2,7 +2,7 @@ * Autogenerated by mkemoji script from jQuery Terminal * Copyright (C) Jakub T. Jankiewicz * ship with version: 2.39.3 - * build: Wed, 20 Mar 2024 22:51:19 GMT + * build: Sun, 21 Apr 2024 10:20:58 GMT */ .terminal-output .emoji.hash,.cmd .emoji.hash{background-image:url(https://cdn.jsdelivr.net/npm/emoji-datasource-twitter/img/twitter/64/0023-fe0f-20e3.png);} .terminal-output .emoji.keycap_star,.cmd .emoji.keycap_star{background-image:url(https://cdn.jsdelivr.net/npm/emoji-datasource-twitter/img/twitter/64/002a-fe0f-20e3.png);} diff --git a/css/jquery.terminal-2.39.3.css b/css/jquery.terminal-2.39.3.css deleted file mode 100644 index 578b5ae4..00000000 --- a/css/jquery.terminal-2.39.3.css +++ /dev/null @@ -1,1205 +0,0 @@ -/*! - * __ _____ ________ __ - * / // _ /__ __ _____ ___ __ _/__ ___/__ ___ ______ __ __ __ ___ / / - * __ / // // // // // _ // _// // / / // _ // _// // // \/ // _ \/ / - * / / // // // // // ___// / / // / / // ___// / / / / // // /\ // // / /__ - * \___//____ \\___//____//_/ _\_ / /_//____//_/ /_/ /_//_//_/ /_/ \__\_\___/ - * \/ /____/ version 2.39.3 - * http://terminal.jcubic.pl - * - * This file is part of jQuery Terminal. - * - * Copyright (c) 2011-2023 Jakub T. Jankiewicz - * Released under the MIT license - * - * Date: Wed, 20 Mar 2024 22:51:19 +0000 - */ -.terminal .terminal-output .format, .cmd .format, -.cmd-prompt, .cmd-prompt div { - display: inline-block; -} -.terminal h1, .terminal h2, .terminal h3, .terminal h4, .terminal h5, .terminal h6, .terminal pre, .cmd { - margin: 0; -} -.cmd .cmd-clipboard { - position: absolute !important; - let: -16px; - left: calc(-16px / var(--pixel-density, 1)) !important; - top: 0 !important; - width: 16px; - height: 16px; - width: calc(16px / var(--pixel-density, 1)) !important; - height: calc(16px / var(--pixel-density, 1)) !important; - background: transparent !important; - border: none !important; - color: transparent !important; - outline: none !important; - padding: 0 !important; - resize: none !important; - box-shadow: none !important; - z-index: 1000 !important; - overflow: hidden !important; - white-space: pre !important; - text-indent: -9999em !important; /* better cursor hiding for Safari and IE */ - top: calc(var(--cursor-line, 0) * var(--size, 1) * (14px / var(--pixel-density, 1))) !important; -} -.visually-hidden { - clip: rect(0 0 0 0); - clip-path: inset(50%); - height: 1px; - overflow: hidden; - position: absolute; - white-space: nowrap; - width: 1px; - top: 0; - left: 0; -} -.cmd span.cmd-end-line, -.cmd span.cmd-end-line span, -.cmd div.cmd-end-line span[data-text]:last-child, -.cmd div.cmd-end-line span[data-text]:last-child span, -.cmd textarea, -.cmd .cursor + span:empty { - -webkit-touch-callout: none; /* iOS Safari */ - -webkit-user-select: none; /* Safari */ - -khtml-user-select: none; /* Konqueror HTML */ - -moz-user-select: none; /* Firefox */ - -ms-user-select: none; /* Internet Explorer/Edge */ - user-select: none; /* Non-prefixed version, currently supported by Chrome and Opera */ -} -.terminal img, .terminal audio, .terminal object, .terminal canvas { - cursor: default; -} -.terminal { - position: relative; - line-height: initial; - --base-background: var(--background, #000); - --base-color: var(--color); - contain: content; -} -.terminal-scroller { - position: relative; - overflow-y: auto; - scrollbar-gutter: stable; - height: 100%; - box-sizing: border-box; -} -terminal.terminal-temp { - visibility: hidden; -} -body.terminal { - min-height: 100vh; - height: 100%; -} -html { - height: 100%; -} -body.terminal, body.full-screen-terminal { - margin: 0; - height: 100%; -} -body.full-screen-terminal .terminal { - height: 100%; -} -body.full-screen-terminal { - height: 100%; - height: var(--terminal-force-height, 100dvh); -} -.terminal > div.terminal-fill { - min-height: 100%; - height: 100%; -} -.terminal > .terminal-pixel { - position: absolute; - display: inline; - left: -2px; - top: -2px; - width: 1px; - height: 1px; -} -.terminal > .terminal-resizer, -.terminal > .terminal-font .terminal-resizer { - position: absolute !important; - top: 0 !important; - right: 0 !important; - bottom: 0 !important; - left: 0 !important; - overflow: hidden !important; - pointer-events: none !important; - z-index: -1 !important; - height: 100% !important; - border: none !important; - padding: 0 !important; - width: 100% !important; -} -.cmd { - padding: 0; - position: relative; - width: 100%; - z-index: 300; -} -.terminal .cmd, .terminal .cmd div { - background: transparent !important; -} -.terminal a[tabindex="1000"], -.terminal a[tabindex="1000"]:active, -.terminal a[tabindex="1000"]:focus { - outline: none; -} -.terminal .inverted, .cmd.cmd.cmd .inverted, -.terminal .terminal-inverted, .cmd.cmd.cmd .cmd-inverted { - background-color: #aaa !important; - color: #000 !important; -} -.terminal .terminal-output > :not(.raw) a[href], -.cmd a[href], -.terminal.external a[href] { - color: #3377FF; - color: var(--link-color, #3377FF); - cursor: pointer; -} -.cmd a[href]:not(.terminal-inverted), -.terminal .terminal-output > :not(.raw) a[href]:not(.terminal-inverted), -.terminal.external a[href]:not(.terminal-inverted) { - --color: var(--link-color, #3377FF); - /* conditionals: https://www.kizu.ru/conditions-for-css-variables/ */ - /* --glow: 0; */ - text-shadow: 0 0 calc(var(--glow) * 5px) var(--color, #ccc); -} -.terminal .terminal-output > :not(.raw) a[href].terminal-inverted, -.terminal.external a[href].terminal-inverted { - background: var(--color, #ccc); - /* conditionals: https://www.kizu.ru/conditions-for-css-variables/ */ - /* --glow: 0; */ - text-shadow: 0 0 calc(var(--glow) * 5px) var(--background, #000); -} -.terminal .terminal-output > :not(.raw) a[href]:hover, -.cmd a[href]:hover, -.terminal.external a[href]:hover { - background-color: #3377FF; - background-color: var(--link-color, #3377FF) !important; - color: #000; - color: var(--base-background, #000) !important; - text-decoration: none; -} -.terminal .terminal-output > :not(.raw) a[href] span, -.cmd a[href] span, -.terminal.external a[href] span { - /* - * shorter and simple solution - * it's hard to overwrite long :not selector (:not(a span) don't work) - */ - color: #3377FF !important; - --color: var(--link-color, #3377FF); - color: var(--link-color, #3377FF) !important; - text-decoration: underline; -} -.terminal .terminal-output > :not(.raw) a[href]:hover span, -.cmd a[href]:hover span, -.terminal.external a[href]:hover span { - background-color: #3377FF !important; - background-color: var(--link-color, #3377FF) !important; - color: #000 !important; - color: var(--background, #000) !important; - text-decoration: none; -} -.terminal a[href] { - transition-property: color, background-color; - transition-duration: 0.2s; - transition-timing-function: ease-out; -} -.cmd .cmd-cursor { - display: inline-block; -} -.cmd .cmd-cursor-line > span, -.cmd .cmd-cursor-line img { - display: inline-block; -} -.cmd .cmd-cursor.cmd-blink > span[data-text]:not(.emoji):not(.fa):not(.far):not(.fas) span, -.cmd .cmd-cursor.cmd-blink a, -.cmd .cmd-cursor.cmd-blink .fa, -.cmd .cmd-cursor.cmd-blink .far, -.cmd .cmd-cursor.cmd-blink .fas, -.cmd .cmd-cursor .emoji { - -webkit-animation: terminal-blink 1s infinite linear; - -moz-animation: terminal-blink 1s infinite linear; - -ms-animation: terminal-blink 1s infinite linear; - animation: terminal-blink 1s infinite linear; -} -.bar.terminal .inverted, .bar.cmd .cmd-inverted { - box-shadow: -2px 0 0 -1px #aaa; - box-shadow: -2px 0 0 -1px var(--original-color, #aaa); -} -.terminal, .terminal .terminal-output > div > div, .cmd .cmd-prompt { - display: block; - height: auto; -} -.terminal .terminal-output > div:not(.raw) div { - white-space: nowrap; - clear: both; -} -.cmd .cmd-prompt > span, .cmd .cmd-prompt > a, .cmd .cmd-prompt:empty { - float: left; -} -.cmd-prompt [data-text] > span { - white-space: pre; -} -.cmd [data-text] span, -.terminal [data-text] span { - display: inline-block; -} -.terminal-ouput span[style*="width"] { - min-height: 14px; - min-height: calc(var(--size, 1) * (14px / var(--pixel-density, 1))); -} -.terminal .terminal-output > :not(.raw) > div, -.cmd div, -.terminal.external div { - line-height: 1em; - line-height: calc((var(--size) * (16px / var(--pixel-density, 1))) + (1px / var(--pixel-density, 1))); -} -.cmd .cmd-prompt span.fa::before, -.cmd .cmd-prompt span.fab::before, -.cmd .cmd-prompt span.fad::before, -.cmd .cmd-prompt span.fal::before, -.cmd .cmd-prompt span.far::before, -.cmd .cmd-prompt span.fas { - position: relative; - top: 2px; -} -.terminal, -.terminal-output > :not(.raw), -.terminal-output > :not(.raw) span:not(.fas):not(.far):not(.fa), -.terminal-output > :not(.raw) a, -.cmd, -.terminal-font-forcer, -.cmd span:not(.fas):not(.far):not(.fa) { - font-family: monospace; - font-family: var(--font, monospace); -} -.terminal, -.cmd { - font-size: 12px; -} -.terminal-output > div:not(.raw) div::before, -.cmd .cmd-line::before { - content: '\0200B'; - width: 0; - display: inline-block; -} -.terminal span[data-text], -.cmd span[data-text] { - display: inline-block; -} -.terminal, terminal-output > div:not(.raw) div > span:not(.token):not(.inverted):not(.terminal-inverted):not(.cmd-inverted):not(.terminal-error):not(.emoji), -.cmd span[data-text]:not(.cmd-inverted):not(.token):not(.emoji) { - color: #aaa; - background-color: #000; -} -.terminal span[data-text] span, .cmd span[data-text] span { - text-decoration: inherit; -} -.terminal .ansi > div { - line-height: 13px !important; - line-height: calc(var(--size, 1) * (13px / var(--pixel-density, 1))) !important; -} -.cmd span.cmd-prompt, .cmd .cmd-prompt span { - --background: transparent; -} -.terminal-output .emoji, .cmd .emoji { - height: 12px; - height: calc(12px / var(--pixel-density, 1)); - background-size: contain; - background-repeat: no-repeat; - color: transparent; - position: relative; -} -.terminal .terminal-output .fa span, -.terminal .terminal-output .fas span, -.terminal .terminal-output .far span, -.cmd .fa span, -.cmd .fas span, -.cmd .far span { - background: transparent !important; - color: transparent !important; - clip: rect(1px,1px,1px,1px); - position: absolute; -} -.terminal-output .emoji, -.terminal-output .emoji span, -.cmd .emoji, .cmd .emoji span { - display: inline-block; - width: 2ch; -} -.terminal, .cmd { - box-sizing: border-box; -} -.cmd .cmd-cursor span:not(.token):not(.inverted) { - color: inherit; - background-color: inherit; -} -.cmd .emoji.emoji.emoji.emoji, .cmd .emoji.emoji.emoji.emoji span { - color: transparent; - background-color: transparent; -} -.cmd .cmd-cursor * { - background-color: transparent; -} -.terminal span[style*="width"] span, -.cmd span[style*="width"] span { - width: inherit; -} -.cmd div { - clear: both; -} -.cmd .cmd-prompt + div { - clear: right; -} -terminal .terminal-output > div { - margin-top: -1px; -} -.terminal-output > div.raw > div * { - overflow-wrap: break-word; - word-wrap: break-word; -} -.terminal .terminal-font { - position: absolute; - float: left; - font-size: inherit; - line-height: inherit; - top: -100%; - left: 0; - margin-bottom: 1px; -} -.cmd > span:not(.cmd-prompt) { - float: left; -} -.cmd .cmd-prompt span.cmd-line { - display: block; - float: none; -} -.terminal table { - border-collapse: collapse; -} -.terminal td { - border: 1px solid #aaa; -} -.cmd span[data-text]:not(.emoji):not(.fa):not(.fas):not(.far) span { - background-color: inherit; - color: inherit; -} -/* fix for underline on middle line */ -.cmd [role="presentation"].cmd-cursor-line { - position: relative; - z-index: 100; - cursor: text; -} -/* prompt above cursor line */ -.cmd .cmd-prompt { - position: relative; - z-index: 200; -} -.cmd [role="presentation"]:not(.cmd-cursor-line) { - overflow: hidden; -} -/* - * this is set so animation can select original color as backgound for cursor - * so span can have --color for selection - */ -.cmd { - --original-color: var( - --color, #aaa); ---original-background: var( - --background); -} -.cmd a[href] { - --original-color: var(--link-color, #3377FF); -} -/* DEFAULT ANIMATION */ -@-webkit-keyframes terminal-blink { - 0%, 50% { - background-color: #aaa; - background-color: var(--original-color, #aaa); - color: #000; - color: var(--original-background, #000); - -webkit-box-shadow: 0 0 calc(var(--glow) * 3px) var(--color, #aaa); - box-shadow: 0 0 calc(var(--glow) * 3px) var(--color, #aaa); - } - 50.1%, 100% { - background-color: inherit; - /* original background is set in emoji that need different style */ - color: inherit; - color: var(--original-color, #aaa) - } -} -@-moz-keyframes terminal-blink { - 0%, 50% { - background-color: #aaa; - background-color: var(--original-color, #aaa); - color: #000; - color: var(--original-background, #000); - -webkit-box-shadow: 0 0 calc(var(--glow) * 3px) var(--color, #aaa); - box-shadow: 0 0 calc(var(--glow) * 3px) var(--color, #aaa); - } - 50.1%, 100% { - background-color: inherit; - color: inherit; - color: var(--original-color, #aaa); - } -} -@keyframes terminal-blink { - 0%, 50% { - background-color: #aaa; - background-color: var(--original-color, #aaa); - color: #000; - color: var(--original-background, #000); - -webkit-box-shadow: 0 0 calc(var(--glow) * 3px) var(--color, #aaa); - box-shadow: 0 0 calc(var(--glow) * 3px) var(--color, #aaa); - } - 50.1%, 100% { - background-color: inherit; - color: inherit; - color: var(--original-color, #aaa); - -webkit-box-shadow: none; - box-shadow: none; - } -} -/* GLOW ANIMATION */ -@-webkit-keyframes terminal-glow { - 0%, 50% { - background-color: #aaa; - background-color: var(--original-color, #aaa); - color: #000; - color: var(--original-background, #000); - box-shadow: 0 0 3px #aaa; - -webkit-box-shadow: 0 0 3px var(--color, #aaa); - box-shadow: 0 0 3px var(--color, #aaa); - } - 50.1%, 100% { - background-color: inherit; - color: inherit; - -webkit-box-shadow: none; - box-shadow: none; - } -} -@-moz-keyframes terminal-glow { - 0%, 50% { - background-color: #aaa; - background-color: var(--original-color, #aaa); - color: #000; - color: var(--original-background, #000); - box-shadow: 0 0 3px #aaa; - -moz-box-shadow: 0 0 3px var(--color, #aaa); - box-shadow: 0 0 3px var(--color, #aaa); - } - 50.1%, 100% { - background-color: inherit; - color: inherit; - -moz-box-shadow: none; - box-shadow: none; - } -} -@keyframes terminal-glow { - 0%, 50% { - background-color: #aaa; - background-color: var(--original-color, #aaa); - color: #000; - color: var(--original-background, #000); - box-shadow: 0 0 3px #aaa; - box-shadow: 0 0 3px var(--color, #aaa); - } - 50.1%, 100% { - background-color: inherit; - color: inherit; - box-shadow: none; - } -} -/* BAR ANIMATION */ -@-webkit-keyframes terminal-bar { - 0%, 50% { - box-shadow: -2px 0 0 -1px #aaa; - box-shadow: calc(var(--line-thickness, 2) * -1px) 0 0 -1px var(--original-color, #aaa); - } - 50.1%, 100% { - box-shadow: none; - } -} -@-moz-keyframes terminal-bar { - 0%, 50% { - box-shadow: -2px 0 0 -1px #aaa; - box-shadow: calc(var(--line-thickness, 2) * -1px) 0 0 -1px var(--original-color, #aaa); - } - 50.1%, 100% { - box-shadow: none; - } -} -@keyframes terminal-bar { - 0%, 50% { - box-shadow: -2px 0 0 -1px #aaa; - box-shadow: calc(var(--line-thickness, 2) * -1px) 0 0 -1px var(--original-color, #aaa); - } - 50.1%, 100% { - box-shadow: none; - } -} -/* UNDERLINE ANIMATION */ -@-webkit-keyframes terminal-underline { - 0%, 50% { - box-shadow: 0 2px 0 #aaa; - box-shadow: 0 calc(var(--line-thickness, 2) * 1px) 0 var(--original-color, #aaa); - } - 50.1%, 100% { - box-shadow: none; - } -} -@-moz-keyframes terminal-underline { - 0%, 50% { - box-shadow: 0 2px 0 #aaa; - box-shadow: 0 calc(var(--line-thickness, 2) * 1px) 0 var(--original-color, #aaa); - } - 50.1%, 100% { - box-shadow: none; - } -} -@keyframes terminal-underline { - 0%, 50% { - box-shadow: 0 2px 0 #aaa; - box-shadow: 0 calc(var(--line-thickness, 2) * 1px) 0 var(--original-color, #aaa); - } - 50.1%, 100% { - box-shadow: none; - } -} -/* NONE ANIMATION */ -@-webkit-keyframes terminal-none { - 0%, 100% { - background-color: #aaa; - background-color: var(--original-color, #aaa); - color: #000; - color: var(--original-background, #000); - -webkit-box-shadow: 0 0 calc(var(--glow) * 3px) var(--color, #aaa); - box-shadow: 0 0 calc(var(--glow) * 3px) var(--color, #aaa); - } -} -@-moz-keyframes terminal-none { - 0%, 100% { - background-color: #aaa; - background-color: var(--original-color, #aaa); - color: #000; - color: var(--background, #000); - -webkit-box-shadow: 0 0 calc(var(--glow) * 3px) var(--color, #aaa); - box-shadow: 0 0 calc(var(--glow) * 3px) var(--color, #aaa); - } -} -@keyframes terminal-none { - 0%, 100% { - background-color: #aaa; - background-color: var(--original-color, #aaa); - color: #000; - color: var(--original-background, #000); - -webkit-box-shadow: 0 0 calc(var(--glow) * 3px) var(--color, #aaa); - box-shadow: 0 0 calc(var(--glow) * 3px) var(--color, #aaa); - } -} -.underline-animation .cmd .cmd-cursor.cmd-blink > span[data-text]:not(.emoji):not(.fa):not(.far):not(.fas) span, -.underline-animation .cmd .cmd-cursor.cmd-blink a, -.underline-animation .cmd .cmd-cursor.cmd-blink .fa, -.underline-animation .cmd .cmd-cursor.cmd-blink .far, -.underline-animation .cmd .cmd-cursor.cmd-blink .fas, -.underline-animation .cmd .cmd-cursor .emoji { - -webkit-animation-name: terminal-underline; - -moz-animation-name: terminal-underline; - -ms-animation-name: terminal-underline; - animation-name: terminal-underline; -} -.glow-animation .cmd .cmd-cursor.cmd-blink > span[data-text]:not(.emoji):not(.fa):not(.far):not(.fas) span, -.glow-animation .cmd .cmd-cursor.cmd-blink a, -.glow-animation .cmd .cmd-cursor.cmd-blink .fa, -.glow-animation .cmd .cmd-cursor.cmd-blink .far, -.glow-animation .cmd .cmd-cursor.cmd-blink .fas, -.glow-animation .cmd .cmd-cursor .emoji { - -webkit-animation-name: terminal-glow; - -moz-animation-name: terminal-glow; - -ms-animation-name: terminal-glow; - animation-name: terminal-glow; -} -.bar-animation .cmd .cmd-cursor.cmd-blink > span[data-text]:not(.emoji):not(.fa):not(.far):not(.fas) span, -.bar-animation .cmd .cmd-cursor.cmd-blink a, -.bar-animation .cmd .cmd-cursor.cmd-blink .fa, -.bar-animation .cmd .cmd-cursor.cmd-blink .far, -.bar-animation .cmd .cmd-cursor.cmd-blink .fas, -.bar-animation .cmd .cmd-cursor .emoji { - -webkit-animation-name: terminal-bar; - -moz-animation-name: terminal-bar; - -ms-animation-name: terminal-bar; - animation-name: terminal-bar; -} -/* - Internet Explorer & Edge *, Safari ≤ 6 - source: https://w3reign.com/internet-explorer-edge-css-hacks/ -*/ - - -@supports (-ms-ime-align:auto) { - .cmd .cmd-clipboard { - margin-left: -9999px; - } - @keyframes terminal-blink { - 0%, 50% { - background-color: var(--original-color, #aaa); - color: var(--background, #000); - } - 50.1%, 100% { - background-color: var(--background, #000); - color: var(--original-color, #aaa); - } - } - @keyframes terminal-bar { - 0%, 50% { - border-left-color: var(--color, #aaa); - } - 50.1%, 100% { - border-left-color: var(--background, #000); - } - } - @keyframes terminal-underline { - 0%, 50% { - border-bottom-color: var(--color, #aaa); - line-height: 12px; - line-height: calc(var(--size, 1) * (12px / var(--pixel-density, 1))); - } - 50.1%, 100% { - border-bottom-color: var(--background, #000); - line-height: 12px; - line-height: calc(var(--size, 1) * (12px / var(--pixel-density, 1))); - } - } -} -/* IE hack Edge one don't work in IE11 */ -@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) { - .cmd .cmd-clipboard { - margin-left: -9999px; - } - .underline-animation .cursor.blink span span { - margin-top: 1px; - } - @-ms-keyframes terminal-blink { - 0%, 50% { - background-color: #aaa; - color: #000; - } - 50.1%, 100% { - background-color: #000; - color: #aaa; - } - } -} -.terminal h1::-moz-selection, -.terminal h2::-moz-selection, -.terminal h3::-moz-selection, -.terminal h4::-moz-selection, -.terminal h5::-moz-selection, -.terminal h6::-moz-selection, -.terminal pre::-moz-selection, -.terminal td::-moz-selection, -.terminal .terminal-output::-moz-selection, -.terminal .terminal-output div div::-moz-selection, -.terminal .terminal-output div div a::-moz-selection, -.terminal .terminal-output span[data-text]::-moz-selection, -.terminal .terminal-output span[data-text]:not(.far):not(.fa):not(.fas) span::-moz-selection, -.terminal .terminal-output .raw div::-moz-selection, -.cmd span[data-text]::-moz-selection, -.cmd span[data-text]:not(.far):not(.fa):not(.fas) span::-moz-selection { - background-color: #aaa; - color: #000; -} -/* this don't work in Chrome -.terminal tr td::-moz-selection { - border-color: #000; -} -.terminal tr td::selection { - border-color: #000; -} -*/ -/* fix selection/click on text that was echo without newline while prompt is relocated */ -.terminal .cmd { - pointer-events: none; -} -.terminal .cmd-prompt * { - pointer-events: visible; -} -.cmd-prompt > span:first-child { - margin-left: var(--prompt-offset); -} -.terminal .cmd-wrapper > div:not(.cmd-cursor-line), -.terminal .cmd-cursor-line > span, -.terminal .cmd textarea { - pointer-events: visible; -} -.terminal h1::selection, -.terminal h2::selection, -.terminal h3::selection, -.terminal h4::selection, -.terminal h5::selection, -.terminal h6::selection, -.terminal pre::selection, -.terminal td::selection, -.terminal .terminal-output::selection, -.terminal .terminal-output div div::selection, -.terminal .terminal-output div div a::selection, -.terminal .terminal-output span[data-text]::selection, -.terminal .terminal-output span[data-text]:not(.far):not(.fa):not(.fas) span::selection, -.terminal .terminal-output .raw div::selection, -.cmd span[data-text]:not(.far):not(.fa):not(.fas) span::selection { - /* - * use rgba to fix transparent selection in chrome - * http://stackoverflow.com/questions/7224445/css3-selection-behaves-differently-in-ff-chrome - */ - background-color: rgba(170, 170, 170, 0.99); - color: #000; -} -.terminal-output .emoji::-moz-selection, -.terminal-output .emoji span::-moz-selection, -.cmd .emoji::-moz-selection, -.cmd .emoji span::-moz-selection, -.cmd textarea::-moz-selection { - background-color: transparent !important; - color: transparent !important; -} -.terminal-output .emoji::selection, -.terminal-output .emoji span::selection, -.cmd .emoji span::selection, -.cmd .emoji::selection, -.cmd textarea::selection { - background-color: transparent !important; - color: transparent !important; -} - -.terminal .terminal-output > :not(.raw) .terminal-error, -.terminal .terminal-output > :not(.raw) .terminal-error * { - color: red; - color: var(--error-color, red); -} -.tilda { - position: fixed; - top: 0; - left: 0; - width: 100%; - z-index: 1100; -} -.ui-dialog-content .terminal { - width: 100%; - height: 100%; - box-sizing: border-box; -} -.ui-dialog .ui-dialog-content.dterm { - padding: 0; -} -.clear { - clear: both; -} -.terminal .terminal-fill { - position: absolute; - left: 0; - top: -100%; - width: 100%; - height: 100%; - margin: 1px 0 0; - border: none; - opacity: 0.01; - pointer-events: none; - box-sizing: border-box; -} -.terminal-scroller, .terminal .terminal-fill, .cmd-editable { - padding: calc(1px * var(--padding, 10) / var(--pixel-density, 1)); -} -.cmd-editable { - padding-top: 0; -} -/* padding added as margin to .cmd to fix FireFox bug see: https://stackoverflow.com/q/29986977/387194 */ -.terminal-scroller { - padding-bottom: 0; -} -.terminal .terminal-output > :not(.raw) .terminal-error, -.terminal .terminal-output > :not(.raw) .terminal-error * { - --color: var(--error-color, red); - text-shadow: 0 0 calc(var(--glow) * 5px) var(--color); -} -.terminal .terminal-output > :not(.raw) a[href] { - text-shadow: 0 0 calc(var(--glow) * 5px) var(--color); -} -.terminal .cmd { - margin-bottom: calc(1px * var(--padding, 10) / var(--pixel-density, 1)); - position: relative; -} -.terminal .partial, .terminal .partial > div { - display: inline-block; -} -@supports (--css: variables) { - .terminal, - .terminal-output > :not(.raw) span[data-text]:not(.token):not(.inverted):not(.terminal-inverted):not(.cmd-inverted):not(.terminal-error):not(.emoji), - .terminal-output > :not(.raw) a, - .terminal-output > :not(.raw) div, - .cmd, - .cmd span[data-text]:not(.cmd-inverted):not(.token):not(.emoji), - .terminal.external [data-text], - .cmd div { - color: var(--color, #aaa); - background-color: var(--background, #000); - } - .terminal [data-text], .cmd [data-text] { - /* conditionals: https://www.kizu.ru/conditions-for-css-variables/ */ - /* --glow: 0; */ - text-shadow: var(--text-shadow, 0 0 calc(var(--glow) * 5px) var(--color, #ccc)); - } - .terminal span[style*="--length"] { - /* - * default value for char-width taken from Google Chrome for default font - * to silence warning in webpack #371 - */ - width: calc(var(--length, 1) * var(--char-width, 7.23438) * 1px); - display: inline-block; - } - .terminal, - .terminal-output > :not(.raw) span, - .terminal-output > :not(.raw) a, - .terminal-output > :not(.raw) div, - .cmd, - .cmd span, - .cmd div { - font-size: calc(var(--size, 1) * (12px / var(--pixel-density, 1))); - } - .terminal-output .emoji, .cmd .emoji { - height: calc(var(--size, 1) * (12px / var(--pixel-density, 1))); - } - .cmd .clipboard { - top: calc(var(--size, 1) * (14 / var(--pixel-density, 1)) * var(--cursor-line, 0) * 1px); - } - .terminal .inverted, .cmd.cmd.cmd .inverted, .cmd.cmd.cmd .cmd-inverted { - --background: #000; - background-color: var(--color, #aaa) !important; - color: var(--background, #000) !important; - } - .cmd .cmd-cursor.cmd-blink { - color: var(--color, #aaa); - background-color: var(--background, #000); - } - .cmd .cmd-cursor.cmd-blink > span[data-text]:not(.emoji):not(.fa):not(.far):not(.fas) span, - .cmd .cmd-cursor.cmd-blink a, - .cmd .cmd-cursor.cmd-blink .fa, - .cmd .cmd-cursor.cmd-blink .far, - .cmd .cmd-cursor.cmd-blink .fas, - .cmd .cmd-cursor.cmd-blink .emoji { - -webkit-animation: var(--animation, terminal-blink) 1s infinite linear; - -moz-animation: var(--animation, terminal-blink) 1s infinite linear; - -ms-animation: var(--animation, terminal-blink) 1s infinite linear; - animation: var(--animation, terminal-blink) 1s infinite linear; - --original-background: inherit; - } - .cmd .cmd-cursor.cmd-blink .emoji span { - color: transparent; - background: transparent; - } - .terminal h1::-moz-selection, - .terminal h2::-moz-selection, - .terminal h3::-moz-selection, - .terminal h4::-moz-selection, - .terminal h5::-moz-selection, - .terminal h6::-moz-selection, - .terminal pre::-moz-selection, - .terminal td::-moz-selection, - .terminal .terminal-output::-moz-selection, - .terminal .terminal-output div div::-moz-selection, - .terminal .terminal-output div div a::-moz-selection, - .terminal .terminal-output span[data-text]::-moz-selection, - /* - * font icons (fontawesome) don't render selection we make emoji the same becuase, - * selection on emoji looks weird - */ - .terminal .terminal-output span[data-text]:not(.far):not(.fa):not(.fas):not(.emoji) span::-moz-selection, - .terminal .terminal-output .raw div::-moz-selection, - .cmd span[data-text]:not(.far):not(.fa):not(.fas):not(.emoji) span::-moz-selection { - background-color: var(--color, #aaa); - color: var(--background, #000); - } - .terminal .terminal-output div div a::-moz-selection { - background-color: var(--link-color, rgba(15, 96, 255, 0.99)) !important; - color: var(--background, #000) !important; - } - .terminal .terminal-output div div a:hover::-moz-selection { - background-color: var(--link-color, rgba(2, 50, 144, 0.99)) !important; - } - .terminal h1::selection, - .terminal h2::selection, - .terminal h3::selection, - .terminal h4::selection, - .terminal h5::selection, - .terminal h6::selection, - .terminal pre::selection, - .terminal td::selection, - .terminal .terminal-output::selection, - .terminal .terminal-output div div::selection, - .terminal .terminal-output div div a::selection, - .terminal .terminal-output span[data-text]:not(.emoji)::selection, - .terminal .terminal-output span[data-text]:not(.far):not(.fa):not(.fas):not(.emoji) span::selection, - .terminal .terminal-output .raw div::selection, - .cmd span[data-text]:not(.far):not(.fa):not(.fas):not(.emoji) span::selection { - background-color: var(--color, rgba(170, 170, 170, 0.99)) !important; - color: var(--background, #000) !important; - } - .terminal .terminal-output div div a::selection { - background-color: var(--link-color, rgba(15, 96, 255, 0.99)) !important; - color: var(--background, #000) !important; - } - .terminal .terminal-output div div a:hover::selection { - background-color: var(--link-color, rgba(2, 50, 144, 0.99)) !important; - } -} -/* - * overwrite css variables that don't work with selection in Edge - */ -@property --color { - syntax: ''; - inherits: true; - initial-value: rgba(170, 170, 170, 0.99); -} -@property --background { - syntax: ''; - inherits: true; - initial-value: #000; -} -@property --link-color { - syntax: ''; - inherits: true; - initial-value: #3377FF; -} -@property --size { - syntax: ''; - inherits: true; - initial-value: 1; -} -@property --padding { - syntax: ''; - inherits: true; - initial-value: 10; -} -@supports (-ms-ime-align:auto) { - .terminal h1::selection, - .terminal h2::selection, - .terminal h3::selection, - .terminal h4::selection, - .terminal h5::selection, - .terminal h6::selection, - .terminal pre::selection, - .terminal td::selection, - .terminal .terminal-output div div::selection, - .terminal .terminal-output div div a::selection, - .cmd span[data-text]::selection { - background-color: rgba(170, 170, 170, 0.99); - color: #000; - } -} -/* PrismJS style overwrites */ -.terminal .token.token, -.terminal .token.operator, -.terminal .token.entity, -.terminal .token.variable, -.terminal .token.url, -.terminal .token.string, -.terminal .style .token.string, -.terminal .token.token, -.cmd .token.operator, -.cmd .token.entity, -.cmd .token.variable, -.cmd .token.url, -.cmd .token.string, -.cmd .style .token.string, -.cmd .token.token { - background-color: inherit; -} -/* FireFox hack -@supports (-moz-animation: foo) { - .terminal, - .terminal .terminal-output > :not(.raw) span, - .terminal .terminal-output > :not(.raw) a, - .terminal .terminal-output > :not(.raw) div, - .cmd, - .cmd span, - .cmd div { - line-height: calc(var(--size, 1) * 13px); - } -} -*/ -/* style for autocomplete menu */ -.cmd .cursor-wrapper ul { - list-style: none; - margin: 0; - padding: 0; - float: left; - position: absolute; - top: 14px; - left: 0; -} -.cmd .cursor-wrapper li { - cursor: pointer; - white-space: nowrap; -} -.cmd .cursor-wrapper li:hover { - background: #aaa; - color: #000; -} -.cursor-wrapper { - position: relative; -} -.terminal-output img { - vertical-align: top; -} -.cmd img { - height: 14px; - height: calc(var(--size, 1) * (14px / var(--pixel-density, 1))); - border: 1px solid transparent; -} -.cmd-cursor img { - border-color: #ccc; - border-color: var(--color, #ccc); -} -.terminal-output svg.terminal-broken-image { - height: calc(var(--size, 1) * (14px / var(--pixel-density, 1))); -} -.terminal-output svg.terminal-broken-image use { - fill: var(--color, #ccc); -} -.terminal-error { - --color: var(--error-color); -} -.terminal-glow { - --animation: terminal-glow; -} -.terminal-glow span[data-text], -.terminal-glow .cmd-prompt > span, -.terminal-glow a[data-text], -.terminal-glow [data-text] span, -.terminal-glow .terminal-output > div span, -.terminal-glow .terminal-output > div a[href] { - text-shadow: 1px 1px 5px #ccc; - text-shadow: 1px 1px 5px var(--color, #ccc); -} -/* is_bottom detection */ -.terminal-scroll-marker { - position: relative; - height: 1px; - height: calc(1px / var(--pixel-density, 1)); - margin-top: -1px; - margin-top: calc(-1px / var(--pixel-density, 1)); - z-index: 100; -} -.terminal-scroll-marker div { - position: absolute; - bottom: 0; - left: 0; - right: 0; - z-index: 200; -} -.terminal-less { - touch-action: none; - overscroll-behavior-y: contain; -} -/* - * mobile scroll fix, with help from StackOverflow - * https://stackoverflow.com/a/60535925/387194 - */ -.terminal-mobile.terminal-less .terminal-wrapper { - pointer-events: none; -} -.terminal-mobile.terminal-less .terminal-output a, .cmd-editable { - pointer-events: visible; -} -.cmd-editable::before { - content: attr(data-cmd-prompt); - display: inline-block; -} -.cmd-editable { - position: absolute; - top: calc(var(--cmd-top) * 1px); - bottom: 0; - right: 0; - left: 0; - z-index: 500; - color: transparent; - background: transparent; - opacity: 0.01; - outline: 0px solid transparent; -} -/* Scrollbar */ -.terminal-scroller::-webkit-scrollbar { - width: calc(6px / var(--pixel-density, 1)); - height: calc(6px / var(--pixel-density, 1)); - background: var(--background, #000); -} -.terminal-scroller::-webkit-scrollbar-thumb { - background: var(--color, #aaa); -} -.terminal-scroller::-webkit-scrollbar-thumb:hover { - background: var(--color, #aaa); -} -.terminal-scroller { - scrollbar-color: #aaa #000; - scrollbar-color: var(--color, #aaa) var(--background, #000); - scrollbar-width: thin; -} - -/* visially hidden */ -.terminal-hidden { - position: absolute !important; - width: 1px !important; - height: 1px !important; - padding: 0 !important; - margin: -1px !important; - overflow: hidden !important; - clip: rect(0,0,0,0) !important; - white-space: nowrap !important; - border: 0 !important; -} -/* - * Allow to change scrollbar color - */ -.terminal-wrapper { - --color: var(--base-color); - --background: var(--base-background); -} -.cmd .token { - --original-color: var(--color); -} -.terminal .terminal-blink, .cmd .terminal-blink { - animation: terminal-ansi-blink 1s steps(2, start) infinite; - -webkit-animation: terminal-ansi-blink 1s steps(2, start) infinite; -} -/* Allow transparent background #698 */ -.terminal .terminal-output, -.terminal .terminal-output * { - --background: transparent; -} -.terminal .cmd * { - --background: transparent; -} -.terminal .cmd::selection, -.terminal .cmd *::selection, -.terminal .terminal-output::selection, -.terminal .terminal-output *::selection { - --background: var(--base-background); -} -@keyframes terminal-ansi-blink { - to { - color: var(--background); - } -} -@-webkit-keyframes terminal-ansi-blink { - to { - color: var(--background); - } -} -@media (prefers-reduced-motion) { - :root { - --animation: terminal-none; - } -} diff --git a/css/jquery.terminal-2.39.3.min.css b/css/jquery.terminal-2.39.3.min.css deleted file mode 100644 index 85c68f46..00000000 --- a/css/jquery.terminal-2.39.3.min.css +++ /dev/null @@ -1,19 +0,0 @@ -/*! - * __ _____ ________ __ - * / // _ /__ __ _____ ___ __ _/__ ___/__ ___ ______ __ __ __ ___ / / - * __ / // // // // // _ // _// // / / // _ // _// // // \/ // _ \/ / - * / / // // // // // ___// / / // / / // ___// / / / / // // /\ // // / /__ - * \___//____ \\___//____//_/ _\_ / /_//____//_/ /_/ /_//_//_/ /_/ \__\_\___/ - * \/ /____/ version 2.39.3 - * http://terminal.jcubic.pl - * - * This file is part of jQuery Terminal. - * - * Copyright (c) 2011-2023 Jakub T. Jankiewicz - * Released under the MIT license - * - * Date: Wed, 20 Mar 2024 22:51:19 +0000 - */.cmd .format,.cmd-prompt,.cmd-prompt div,.terminal .terminal-output .format{display:inline-block}.cmd,.terminal h1,.terminal h2,.terminal h3,.terminal h4,.terminal h5,.terminal h6,.terminal pre{margin:0}.cmd .cmd-clipboard{let:-16px;background:transparent!important;border:none!important;box-shadow:none!important;color:transparent!important;height:16px;height:calc(16px/var(--pixel-density, 1))!important;left:calc(-16px/var(--pixel-density, 1))!important;outline:none!important;overflow:hidden!important;padding:0!important;position:absolute!important;resize:none!important;text-indent:-9999em!important;top:0!important;top:calc(var(--cursor-line, 0)*var(--size, 1)*(14px/var(--pixel-density, 1)))!important;white-space:pre!important;width:16px;width:calc(16px/var(--pixel-density, 1))!important;z-index:1000!important}.visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;left:0;overflow:hidden;position:absolute;top:0;white-space:nowrap;width:1px}.cmd .cursor+span:empty,.cmd div.cmd-end-line span[data-text]:last-child,.cmd div.cmd-end-line span[data-text]:last-child span,.cmd span.cmd-end-line,.cmd span.cmd-end-line span,.cmd textarea{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.terminal audio,.terminal canvas,.terminal img,.terminal object{cursor:default}.terminal{--base-background:var(--background,#000);--base-color:var(--color);contain:content;line-height:normal;position:relative}.terminal-scroller{scrollbar-gutter:stable;box-sizing:border-box;height:100%;overflow-y:auto;position:relative}terminal.terminal-temp{visibility:hidden}body.terminal{height:100%;min-height:100vh}html{height:100%}body.full-screen-terminal,body.terminal{height:100%;margin:0}body.full-screen-terminal .terminal{height:100%}body.full-screen-terminal{height:100%;height:var(--terminal-force-height,100dvh)}.terminal>div.terminal-fill{height:100%;min-height:100%}.terminal>.terminal-pixel{display:inline;height:1px;left:-2px;position:absolute;top:-2px;width:1px}.terminal>.terminal-font .terminal-resizer,.terminal>.terminal-resizer{border:none!important;bottom:0!important;height:100%!important;left:0!important;overflow:hidden!important;padding:0!important;pointer-events:none!important;position:absolute!important;right:0!important;top:0!important;width:100%!important;z-index:-1!important}.cmd{padding:0;position:relative;width:100%;z-index:300}.terminal .cmd,.terminal .cmd div{background:transparent!important}.terminal a[tabindex="1000"],.terminal a[tabindex="1000"]:active,.terminal a[tabindex="1000"]:focus{outline:none}.cmd.cmd.cmd .cmd-inverted,.cmd.cmd.cmd .inverted,.terminal .inverted,.terminal .terminal-inverted{background-color:#aaa!important;color:#000!important}.cmd a[href],.terminal .terminal-output>:not(.raw) a[href],.terminal.external a[href]{color:#37f;color:var(--link-color,#37f);cursor:pointer}.cmd a[href]:not(.terminal-inverted),.terminal .terminal-output>:not(.raw) a[href]:not(.terminal-inverted),.terminal.external a[href]:not(.terminal-inverted){--color:var(--link-color,#37f);text-shadow:0 0 calc(var(--glow)*5px) var(--color,#ccc)}.terminal .terminal-output>:not(.raw) a[href].terminal-inverted,.terminal.external a[href].terminal-inverted{background:var(--color,#ccc);text-shadow:0 0 calc(var(--glow)*5px) var(--background,#000)}.cmd a[href]:hover,.terminal .terminal-output>:not(.raw) a[href]:hover,.terminal.external a[href]:hover{background-color:#37f;background-color:var(--link-color,#37f)!important;color:#000;color:var(--base-background,#000)!important;text-decoration:none}.cmd a[href] span,.terminal .terminal-output>:not(.raw) a[href] span,.terminal.external a[href] span{--color:var(--link-color,#37f);color:#37f!important;color:var(--link-color,#37f)!important;text-decoration:underline}.cmd a[href]:hover span,.terminal .terminal-output>:not(.raw) a[href]:hover span,.terminal.external a[href]:hover span{background-color:#37f!important;background-color:var(--link-color,#37f)!important;color:#000!important;color:var(--background,#000)!important;text-decoration:none}.terminal a[href]{transition-duration:.2s;transition-property:color,background-color;transition-timing-function:ease-out}.cmd .cmd-cursor,.cmd .cmd-cursor-line img,.cmd .cmd-cursor-line>span{display:inline-block}.cmd .cmd-cursor .emoji,.cmd .cmd-cursor.cmd-blink .fa,.cmd .cmd-cursor.cmd-blink .far,.cmd .cmd-cursor.cmd-blink .fas,.cmd .cmd-cursor.cmd-blink a,.cmd .cmd-cursor.cmd-blink>span[data-text]:not(.emoji):not(.fa):not(.far):not(.fas) span{-webkit-animation:terminal-blink 1s linear infinite;-moz-animation:terminal-blink 1s linear infinite;-ms-animation:terminal-blink 1s linear infinite;animation:terminal-blink 1s linear infinite}.bar.cmd .cmd-inverted,.bar.terminal .inverted{box-shadow:-2px 0 0 -1px #aaa;box-shadow:-2px 0 0 -1px var(--original-color,#aaa)}.cmd .cmd-prompt,.terminal,.terminal .terminal-output>div>div{display:block;height:auto}.terminal .terminal-output>div:not(.raw) div{clear:both;white-space:nowrap}.cmd .cmd-prompt:empty,.cmd .cmd-prompt>a,.cmd .cmd-prompt>span{float:left}.cmd-prompt [data-text]>span{white-space:pre}.cmd [data-text] span,.terminal [data-text] span{display:inline-block}.terminal-ouput span[style*=width]{min-height:14px;min-height:calc(var(--size, 1)*(14px/var(--pixel-density, 1)))}.cmd div,.terminal .terminal-output>:not(.raw)>div,.terminal.external div{line-height:1em;line-height:calc(var(--size)*(16px/var(--pixel-density, 1)) + 1px/var(--pixel-density, 1))}.cmd .cmd-prompt span.fa:before,.cmd .cmd-prompt span.fab:before,.cmd .cmd-prompt span.fad:before,.cmd .cmd-prompt span.fal:before,.cmd .cmd-prompt span.far:before,.cmd .cmd-prompt span.fas{position:relative;top:2px}.cmd,.cmd span:not(.fas):not(.far):not(.fa),.terminal,.terminal-font-forcer,.terminal-output>:not(.raw),.terminal-output>:not(.raw) a,.terminal-output>:not(.raw) span:not(.fas):not(.far):not(.fa){font-family:monospace;font-family:var(--font,monospace)}.cmd,.terminal{font-size:12px}.cmd .cmd-line:before,.terminal-output>div:not(.raw) div:before{content:"\0200B";display:inline-block;width:0}.cmd span[data-text],.terminal span[data-text]{display:inline-block}.cmd span[data-text]:not(.cmd-inverted):not(.token):not(.emoji),.terminal,terminal-output>div:not(.raw) div>span:not(.token):not(.inverted):not(.terminal-inverted):not(.cmd-inverted):not(.terminal-error):not(.emoji){background-color:#000;color:#aaa}.cmd span[data-text] span,.terminal span[data-text] span{text-decoration:inherit}.terminal .ansi>div{line-height:13px!important;line-height:calc(var(--size, 1)*(13px/var(--pixel-density, 1)))!important}.cmd .cmd-prompt span,.cmd span.cmd-prompt{--background:transparent}.cmd .emoji,.terminal-output .emoji{background-repeat:no-repeat;background-size:contain;color:transparent;height:12px;height:calc(12px/var(--pixel-density, 1));position:relative}.cmd .fa span,.cmd .far span,.cmd .fas span,.terminal .terminal-output .fa span,.terminal .terminal-output .far span,.terminal .terminal-output .fas span{clip:rect(1px,1px,1px,1px);background:transparent!important;color:transparent!important;position:absolute}.cmd .emoji,.cmd .emoji span,.terminal-output .emoji,.terminal-output .emoji span{display:inline-block;width:2ch}.cmd,.terminal{box-sizing:border-box}.cmd .cmd-cursor span:not(.token):not(.inverted){background-color:inherit;color:inherit}.cmd .emoji.emoji.emoji.emoji,.cmd .emoji.emoji.emoji.emoji span{background-color:transparent;color:transparent}.cmd .cmd-cursor *{background-color:transparent}.cmd span[style*=width] span,.terminal span[style*=width] span{width:inherit}.cmd div{clear:both}.cmd .cmd-prompt+div{clear:right}terminal .terminal-output>div{margin-top:-1px}.terminal-output>div.raw>div *{word-wrap:break-word;overflow-wrap:break-word}.terminal .terminal-font{float:left;font-size:inherit;left:0;line-height:inherit;margin-bottom:1px;position:absolute;top:-100%}.cmd>span:not(.cmd-prompt){float:left}.cmd .cmd-prompt span.cmd-line{display:block;float:none}.terminal table{border-collapse:collapse}.terminal td{border:1px solid #aaa}.cmd span[data-text]:not(.emoji):not(.fa):not(.fas):not(.far) span{background-color:inherit;color:inherit}.cmd [role=presentation].cmd-cursor-line{cursor:text;position:relative;z-index:100}.cmd .cmd-prompt{position:relative;z-index:200}.cmd [role=presentation]:not(.cmd-cursor-line){overflow:hidden}.cmd{--original-color:var( - --color,#aaa);--original-background:var( - --background)}.cmd a[href]{--original-color:var(--link-color,#37f)}@-webkit-keyframes terminal-blink{0%,50%{background-color:#aaa;background-color:var(--original-color,#aaa);-webkit-box-shadow:0 0 calc(var(--glow)*3px) var(--color,#aaa);box-shadow:0 0 calc(var(--glow)*3px) var(--color,#aaa);color:#000;color:var(--original-background,#000)}50.1%,to{background-color:inherit;color:inherit;color:var(--original-color,#aaa)}}@-moz-keyframes terminal-blink{0%,50%{background-color:#aaa;background-color:var(--original-color,#aaa);-webkit-box-shadow:0 0 calc(var(--glow)*3px) var(--color,#aaa);box-shadow:0 0 calc(var(--glow)*3px) var(--color,#aaa);color:#000;color:var(--original-background,#000)}50.1%,to{background-color:inherit;color:inherit;color:var(--original-color,#aaa)}}@keyframes terminal-blink{0%,50%{background-color:#aaa;background-color:var(--original-color,#aaa);-webkit-box-shadow:0 0 calc(var(--glow)*3px) var(--color,#aaa);box-shadow:0 0 calc(var(--glow)*3px) var(--color,#aaa);color:#000;color:var(--original-background,#000)}50.1%,to{background-color:inherit;-webkit-box-shadow:none;box-shadow:none;color:inherit;color:var(--original-color,#aaa)}}@-webkit-keyframes terminal-glow{0%,50%{background-color:#aaa;background-color:var(--original-color,#aaa);box-shadow:0 0 3px #aaa;-webkit-box-shadow:0 0 3px var(--color,#aaa);box-shadow:0 0 3px var(--color,#aaa);color:#000;color:var(--original-background,#000)}50.1%,to{background-color:inherit;-webkit-box-shadow:none;box-shadow:none;color:inherit}}@-moz-keyframes terminal-glow{0%,50%{background-color:#aaa;background-color:var(--original-color,#aaa);box-shadow:0 0 3px #aaa;-moz-box-shadow:0 0 3px var(--color,#aaa);box-shadow:0 0 3px var(--color,#aaa);color:#000;color:var(--original-background,#000)}50.1%,to{background-color:inherit;-moz-box-shadow:none;box-shadow:none;color:inherit}}@keyframes terminal-glow{0%,50%{background-color:#aaa;background-color:var(--original-color,#aaa);box-shadow:0 0 3px #aaa;box-shadow:0 0 3px var(--color,#aaa);color:#000;color:var(--original-background,#000)}50.1%,to{background-color:inherit;box-shadow:none;color:inherit}}@-webkit-keyframes terminal-bar{0%,50%{box-shadow:-2px 0 0 -1px #aaa;box-shadow:calc(var(--line-thickness, 2)*-1px) 0 0 -1px var(--original-color,#aaa)}50.1%,to{box-shadow:none}}@-moz-keyframes terminal-bar{0%,50%{box-shadow:-2px 0 0 -1px #aaa;box-shadow:calc(var(--line-thickness, 2)*-1px) 0 0 -1px var(--original-color,#aaa)}50.1%,to{box-shadow:none}}@keyframes terminal-bar{0%,50%{box-shadow:-2px 0 0 -1px #aaa;box-shadow:calc(var(--line-thickness, 2)*-1px) 0 0 -1px var(--original-color,#aaa)}50.1%,to{box-shadow:none}}@-webkit-keyframes terminal-underline{0%,50%{box-shadow:0 2px 0 #aaa;box-shadow:0 calc(var(--line-thickness, 2)*1px) 0 var(--original-color,#aaa)}50.1%,to{box-shadow:none}}@-moz-keyframes terminal-underline{0%,50%{box-shadow:0 2px 0 #aaa;box-shadow:0 calc(var(--line-thickness, 2)*1px) 0 var(--original-color,#aaa)}50.1%,to{box-shadow:none}}@keyframes terminal-underline{0%,50%{box-shadow:0 2px 0 #aaa;box-shadow:0 calc(var(--line-thickness, 2)*1px) 0 var(--original-color,#aaa)}50.1%,to{box-shadow:none}}@-webkit-keyframes terminal-none{0%,to{background-color:#aaa;background-color:var(--original-color,#aaa);-webkit-box-shadow:0 0 calc(var(--glow)*3px) var(--color,#aaa);box-shadow:0 0 calc(var(--glow)*3px) var(--color,#aaa);color:#000;color:var(--original-background,#000)}}@-moz-keyframes terminal-none{0%,to{background-color:#aaa;background-color:var(--original-color,#aaa);-webkit-box-shadow:0 0 calc(var(--glow)*3px) var(--color,#aaa);box-shadow:0 0 calc(var(--glow)*3px) var(--color,#aaa);color:#000;color:var(--background,#000)}}@keyframes terminal-none{0%,to{background-color:#aaa;background-color:var(--original-color,#aaa);-webkit-box-shadow:0 0 calc(var(--glow)*3px) var(--color,#aaa);box-shadow:0 0 calc(var(--glow)*3px) var(--color,#aaa);color:#000;color:var(--original-background,#000)}}.underline-animation .cmd .cmd-cursor .emoji,.underline-animation .cmd .cmd-cursor.cmd-blink .fa,.underline-animation .cmd .cmd-cursor.cmd-blink .far,.underline-animation .cmd .cmd-cursor.cmd-blink .fas,.underline-animation .cmd .cmd-cursor.cmd-blink a,.underline-animation .cmd .cmd-cursor.cmd-blink>span[data-text]:not(.emoji):not(.fa):not(.far):not(.fas) span{-webkit-animation-name:terminal-underline;-moz-animation-name:terminal-underline;-ms-animation-name:terminal-underline;animation-name:terminal-underline}.glow-animation .cmd .cmd-cursor .emoji,.glow-animation .cmd .cmd-cursor.cmd-blink .fa,.glow-animation .cmd .cmd-cursor.cmd-blink .far,.glow-animation .cmd .cmd-cursor.cmd-blink .fas,.glow-animation .cmd .cmd-cursor.cmd-blink a,.glow-animation .cmd .cmd-cursor.cmd-blink>span[data-text]:not(.emoji):not(.fa):not(.far):not(.fas) span{-webkit-animation-name:terminal-glow;-moz-animation-name:terminal-glow;-ms-animation-name:terminal-glow;animation-name:terminal-glow}.bar-animation .cmd .cmd-cursor .emoji,.bar-animation .cmd .cmd-cursor.cmd-blink .fa,.bar-animation .cmd .cmd-cursor.cmd-blink .far,.bar-animation .cmd .cmd-cursor.cmd-blink .fas,.bar-animation .cmd .cmd-cursor.cmd-blink a,.bar-animation .cmd .cmd-cursor.cmd-blink>span[data-text]:not(.emoji):not(.fa):not(.far):not(.fas) span{-webkit-animation-name:terminal-bar;-moz-animation-name:terminal-bar;-ms-animation-name:terminal-bar;animation-name:terminal-bar}@supports (-ms-ime-align:auto){.cmd .cmd-clipboard{margin-left:-9999px}@keyframes terminal-blink{0%,50%{background-color:var(--original-color,#aaa);color:var(--background,#000)}50.1%,to{background-color:var(--background,#000);color:var(--original-color,#aaa)}}@keyframes terminal-bar{0%,50%{border-left-color:var(--color,#aaa)}50.1%,to{border-left-color:var(--background,#000)}}@keyframes terminal-underline{0%,50%{border-bottom-color:var(--color,#aaa);line-height:12px;line-height:calc(var(--size, 1)*(12px/var(--pixel-density, 1)))}50.1%,to{border-bottom-color:var(--background,#000);line-height:12px;line-height:calc(var(--size, 1)*(12px/var(--pixel-density, 1)))}}}@media (-ms-high-contrast:active),(-ms-high-contrast:none){.cmd .cmd-clipboard{margin-left:-9999px}.underline-animation .cursor.blink span span{margin-top:1px}@-ms-keyframes terminal-blink{0%,50%{background-color:#aaa;color:#000}50.1%,to{background-color:#000;color:#aaa}}}.cmd span[data-text]::-moz-selection,.cmd span[data-text]:not(.far):not(.fa):not(.fas) span::-moz-selection,.terminal .terminal-output .raw div::-moz-selection,.terminal .terminal-output div div a::-moz-selection,.terminal .terminal-output div div::-moz-selection,.terminal .terminal-output span[data-text]::-moz-selection,.terminal .terminal-output span[data-text]:not(.far):not(.fa):not(.fas) span::-moz-selection,.terminal .terminal-output::-moz-selection,.terminal h1::-moz-selection,.terminal h2::-moz-selection,.terminal h3::-moz-selection,.terminal h4::-moz-selection,.terminal h5::-moz-selection,.terminal h6::-moz-selection,.terminal pre::-moz-selection,.terminal td::-moz-selection{background-color:#aaa;color:#000}.terminal .cmd{pointer-events:none}.terminal .cmd-prompt *{pointer-events:visible}.cmd-prompt>span:first-child{margin-left:var(--prompt-offset)}.terminal .cmd textarea,.terminal .cmd-cursor-line>span,.terminal .cmd-wrapper>div:not(.cmd-cursor-line){pointer-events:visible}.cmd span[data-text]:not(.far):not(.fa):not(.fas) span::selection,.terminal .terminal-output .raw div::selection,.terminal .terminal-output div div a::selection,.terminal .terminal-output div div::selection,.terminal .terminal-output span[data-text]::selection,.terminal .terminal-output span[data-text]:not(.far):not(.fa):not(.fas) span::selection,.terminal .terminal-output::selection,.terminal h1::selection,.terminal h2::selection,.terminal h3::selection,.terminal h4::selection,.terminal h5::selection,.terminal h6::selection,.terminal pre::selection,.terminal td::selection{background-color:hsla(0,0%,67%,.99);color:#000}.cmd .emoji span::-moz-selection,.cmd .emoji::-moz-selection,.cmd textarea::-moz-selection,.terminal-output .emoji span::-moz-selection,.terminal-output .emoji::-moz-selection{background-color:transparent!important;color:transparent!important}.cmd .emoji span::selection,.cmd .emoji::selection,.cmd textarea::selection,.terminal-output .emoji span::selection,.terminal-output .emoji::selection{background-color:transparent!important;color:transparent!important}.terminal .terminal-output>:not(.raw) .terminal-error,.terminal .terminal-output>:not(.raw) .terminal-error *{color:red;color:var(--error-color,red)}.tilda{left:0;position:fixed;top:0;width:100%;z-index:1100}.ui-dialog-content .terminal{box-sizing:border-box;height:100%;width:100%}.ui-dialog .ui-dialog-content.dterm{padding:0}.clear{clear:both}.terminal .terminal-fill{border:none;box-sizing:border-box;height:100%;left:0;margin:1px 0 0;opacity:.01;pointer-events:none;position:absolute;top:-100%;width:100%}.cmd-editable,.terminal .terminal-fill,.terminal-scroller{padding:calc(1px*var(--padding, 10)/var(--pixel-density, 1))}.cmd-editable{padding-top:0}.terminal-scroller{padding-bottom:0}.terminal .terminal-output>:not(.raw) .terminal-error,.terminal .terminal-output>:not(.raw) .terminal-error *{--color:var(--error-color,red);text-shadow:0 0 calc(var(--glow)*5px) var(--color)}.terminal .terminal-output>:not(.raw) a[href]{text-shadow:0 0 calc(var(--glow)*5px) var(--color)}.terminal .cmd{margin-bottom:calc(1px*var(--padding, 10)/var(--pixel-density, 1));position:relative}.terminal .partial,.terminal .partial>div{display:inline-block}@supports (--css:variables){.cmd,.cmd div,.cmd span[data-text]:not(.cmd-inverted):not(.token):not(.emoji),.terminal,.terminal-output>:not(.raw) a,.terminal-output>:not(.raw) div,.terminal-output>:not(.raw) span[data-text]:not(.token):not(.inverted):not(.terminal-inverted):not(.cmd-inverted):not(.terminal-error):not(.emoji),.terminal.external [data-text]{background-color:var(--background,#000);color:var(--color,#aaa)}.cmd [data-text],.terminal [data-text]{text-shadow:var(--text-shadow,0 0 calc(var(--glow)*5px) var(--color,#ccc))}.terminal span[style*="--length"]{display:inline-block;width:calc(var(--length, 1)*var(--char-width, 7.23438)*1px)}.cmd,.cmd div,.cmd span,.terminal,.terminal-output>:not(.raw) a,.terminal-output>:not(.raw) div,.terminal-output>:not(.raw) span{font-size:calc(var(--size, 1)*(12px/var(--pixel-density, 1)))}.cmd .emoji,.terminal-output .emoji{height:calc(var(--size, 1)*(12px/var(--pixel-density, 1)))}.cmd .clipboard{top:calc(var(--size, 1)*(14/var(--pixel-density, 1))*var(--cursor-line, 0)*1px)}.cmd.cmd.cmd .cmd-inverted,.cmd.cmd.cmd .inverted,.terminal .inverted{--background:#000;background-color:var(--color,#aaa)!important;color:var(--background,#000)!important}.cmd .cmd-cursor.cmd-blink{background-color:var(--background,#000);color:var(--color,#aaa)}.cmd .cmd-cursor.cmd-blink .emoji,.cmd .cmd-cursor.cmd-blink .fa,.cmd .cmd-cursor.cmd-blink .far,.cmd .cmd-cursor.cmd-blink .fas,.cmd .cmd-cursor.cmd-blink a,.cmd .cmd-cursor.cmd-blink>span[data-text]:not(.emoji):not(.fa):not(.far):not(.fas) span{--original-background:inherit;-webkit-animation:var(--animation,terminal-blink) 1s infinite linear;-moz-animation:var(--animation,terminal-blink) 1s infinite linear;-ms-animation:var(--animation,terminal-blink) 1s infinite linear;animation:var(--animation,terminal-blink) 1s infinite linear}.cmd .cmd-cursor.cmd-blink .emoji span{background:transparent;color:transparent}.cmd span[data-text]:not(.far):not(.fa):not(.fas):not(.emoji) span::-moz-selection,.terminal .terminal-output .raw div::-moz-selection,.terminal .terminal-output div div a::-moz-selection,.terminal .terminal-output div div::-moz-selection,.terminal .terminal-output span[data-text]::-moz-selection,.terminal .terminal-output span[data-text]:not(.far):not(.fa):not(.fas):not(.emoji) span::-moz-selection,.terminal .terminal-output::-moz-selection,.terminal h1::-moz-selection,.terminal h2::-moz-selection,.terminal h3::-moz-selection,.terminal h4::-moz-selection,.terminal h5::-moz-selection,.terminal h6::-moz-selection,.terminal pre::-moz-selection,.terminal td::-moz-selection{background-color:var(--color,#aaa);color:var(--background,#000)}.terminal .terminal-output div div a::-moz-selection{background-color:var(--link-color,rgba(15,96,255,.99))!important;color:var(--background,#000)!important}.terminal .terminal-output div div a:hover::-moz-selection{background-color:var(--link-color,rgba(2,50,144,.99))!important}.cmd span[data-text]:not(.far):not(.fa):not(.fas):not(.emoji) span::selection,.terminal .terminal-output .raw div::selection,.terminal .terminal-output div div a::selection,.terminal .terminal-output div div::selection,.terminal .terminal-output span[data-text]:not(.emoji)::selection,.terminal .terminal-output span[data-text]:not(.far):not(.fa):not(.fas):not(.emoji) span::selection,.terminal .terminal-output::selection,.terminal h1::selection,.terminal h2::selection,.terminal h3::selection,.terminal h4::selection,.terminal h5::selection,.terminal h6::selection,.terminal pre::selection,.terminal td::selection{background-color:var(--color,hsla(0,0%,67%,.99))!important;color:var(--background,#000)!important}.terminal .terminal-output div div a::selection{background-color:var(--link-color,rgba(15,96,255,.99))!important;color:var(--background,#000)!important}.terminal .terminal-output div div a:hover::selection{background-color:var(--link-color,rgba(2,50,144,.99))!important}}@property --color{syntax:"";inherits:true;initial-value:hsla(0,0%,67%,.99)}@property --background{syntax:"";inherits:true;initial-value:#000}@property --link-color{syntax:"";inherits:true;initial-value:#37f}@property --size{syntax:"";inherits:true;initial-value:1}@property --padding{syntax:"";inherits:true;initial-value:10}@supports (-ms-ime-align:auto){.cmd span[data-text]::selection,.terminal .terminal-output div div a::selection,.terminal .terminal-output div div::selection,.terminal h1::selection,.terminal h2::selection,.terminal h3::selection,.terminal h4::selection,.terminal h5::selection,.terminal h6::selection,.terminal pre::selection,.terminal td::selection{background-color:hsla(0,0%,67%,.99);color:#000}}.cmd .style .token.string,.cmd .token.entity,.cmd .token.operator,.cmd .token.string,.cmd .token.token,.cmd .token.url,.cmd .token.variable,.terminal .style .token.string,.terminal .token.entity,.terminal .token.operator,.terminal .token.string,.terminal .token.token,.terminal .token.url,.terminal .token.variable{background-color:inherit}.cmd .cursor-wrapper ul{float:left;left:0;list-style:none;margin:0;padding:0;position:absolute;top:14px}.cmd .cursor-wrapper li{cursor:pointer;white-space:nowrap}.cmd .cursor-wrapper li:hover{background:#aaa;color:#000}.cursor-wrapper{position:relative}.terminal-output img{vertical-align:top}.cmd img{border:1px solid transparent;height:14px;height:calc(var(--size, 1)*(14px/var(--pixel-density, 1)))}.cmd-cursor img{border-color:#ccc;border-color:var(--color,#ccc)}.terminal-output svg.terminal-broken-image{height:calc(var(--size, 1)*(14px/var(--pixel-density, 1)))}.terminal-output svg.terminal-broken-image use{fill:var(--color,#ccc)}.terminal-error{--color:var(--error-color)}.terminal-glow{--animation:terminal-glow}.terminal-glow .cmd-prompt>span,.terminal-glow .terminal-output>div a[href],.terminal-glow .terminal-output>div span,.terminal-glow [data-text] span,.terminal-glow a[data-text],.terminal-glow span[data-text]{text-shadow:1px 1px 5px #ccc;text-shadow:1px 1px 5px var(--color,#ccc)}.terminal-scroll-marker{height:1px;height:calc(1px/var(--pixel-density, 1));margin-top:-1px;margin-top:calc(-1px/var(--pixel-density, 1));position:relative;z-index:100}.terminal-scroll-marker div{bottom:0;left:0;position:absolute;right:0;z-index:200}.terminal-less{overscroll-behavior-y:contain;touch-action:none}.terminal-mobile.terminal-less .terminal-wrapper{pointer-events:none}.cmd-editable,.terminal-mobile.terminal-less .terminal-output a{pointer-events:visible}.cmd-editable:before{content:attr(data-cmd-prompt);display:inline-block}.cmd-editable{background:transparent;bottom:0;color:transparent;left:0;opacity:.01;outline:0 solid transparent;position:absolute;right:0;top:calc(var(--cmd-top)*1px);z-index:500}.terminal-scroller::-webkit-scrollbar{background:var(--background,#000);height:calc(6px/var(--pixel-density, 1));width:calc(6px/var(--pixel-density, 1))}.terminal-scroller::-webkit-scrollbar-thumb,.terminal-scroller::-webkit-scrollbar-thumb:hover{background:var(--color,#aaa)}.terminal-scroller{scrollbar-color:#aaa #000;scrollbar-color:var(--color,#aaa) var(--background,#000);scrollbar-width:thin}.terminal-hidden{clip:rect(0,0,0,0)!important;border:0!important;height:1px!important;margin:-1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;white-space:nowrap!important;width:1px!important}.terminal-wrapper{--color:var(--base-color);--background:var(--base-background)}.cmd .token{--original-color:var(--color)}.cmd .terminal-blink,.terminal .terminal-blink{animation:terminal-ansi-blink 1s steps(2,start) infinite;-webkit-animation:terminal-ansi-blink 1s steps(2,start) infinite}.terminal .cmd *,.terminal .terminal-output,.terminal .terminal-output *{--background:transparent}.terminal .cmd ::selection,.terminal .cmd::selection,.terminal .terminal-output ::selection,.terminal .terminal-output::selection{--background:var(--base-background)}@keyframes terminal-ansi-blink{to{color:var(--background)}}@-webkit-keyframes terminal-ansi-blink{to{color:var(--background)}}@media (prefers-reduced-motion){:root{--animation:terminal-none}} -/*# sourceMappingURL=jquery.terminal.min.css.map */ \ No newline at end of file diff --git a/css/jquery.terminal-src.css b/css/jquery.terminal-src.css index 38afcc35..e4419f14 100644 --- a/css/jquery.terminal-src.css +++ b/css/jquery.terminal-src.css @@ -50,6 +50,7 @@ overflow: hidden; position: absolute; white-space: nowrap; + user-select: none; width: 1px; top: 0; left: 0; @@ -83,6 +84,7 @@ scrollbar-gutter: stable; height: 100%; box-sizing: border-box; + overflow-x: hidden; } terminal.terminal-temp { visibility: hidden; @@ -241,7 +243,7 @@ body.full-screen-terminal { .cmd .cmd-prompt > span, .cmd .cmd-prompt > a, .cmd .cmd-prompt:empty { float: left; } -.cmd-prompt [data-text] > span { +.cmd-prompt [data-text] > span, .cmd-wrapper > div { white-space: pre; } .cmd [data-text] span, @@ -287,6 +289,9 @@ body.full-screen-terminal { width: 0; display: inline-block; } +.cmd .cmd-line { + white-space: nowrap; +} .terminal span[data-text], .cmd span[data-text] { display: inline-block; diff --git a/css/jquery.terminal.css b/css/jquery.terminal.css index 578b5ae4..dd1450c3 100644 --- a/css/jquery.terminal.css +++ b/css/jquery.terminal.css @@ -12,7 +12,7 @@ * Copyright (c) 2011-2023 Jakub T. Jankiewicz * Released under the MIT license * - * Date: Wed, 20 Mar 2024 22:51:19 +0000 + * Date: Sun, 21 Apr 2024 10:20:57 +0000 */ .terminal .terminal-output .format, .cmd .format, .cmd-prompt, .cmd-prompt div { @@ -50,6 +50,7 @@ overflow: hidden; position: absolute; white-space: nowrap; + user-select: none; width: 1px; top: 0; left: 0; @@ -83,6 +84,7 @@ scrollbar-gutter: stable; height: 100%; box-sizing: border-box; + overflow-x: hidden; } terminal.terminal-temp { visibility: hidden; @@ -241,7 +243,7 @@ body.full-screen-terminal { .cmd .cmd-prompt > span, .cmd .cmd-prompt > a, .cmd .cmd-prompt:empty { float: left; } -.cmd-prompt [data-text] > span { +.cmd-prompt [data-text] > span, .cmd-wrapper > div { white-space: pre; } .cmd [data-text] span, @@ -287,6 +289,9 @@ body.full-screen-terminal { width: 0; display: inline-block; } +.cmd .cmd-line { + white-space: nowrap; +} .terminal span[data-text], .cmd span[data-text] { display: inline-block; diff --git a/css/jquery.terminal.min.css b/css/jquery.terminal.min.css index 85c68f46..c2a792da 100644 --- a/css/jquery.terminal.min.css +++ b/css/jquery.terminal.min.css @@ -12,8 +12,8 @@ * Copyright (c) 2011-2023 Jakub T. Jankiewicz * Released under the MIT license * - * Date: Wed, 20 Mar 2024 22:51:19 +0000 - */.cmd .format,.cmd-prompt,.cmd-prompt div,.terminal .terminal-output .format{display:inline-block}.cmd,.terminal h1,.terminal h2,.terminal h3,.terminal h4,.terminal h5,.terminal h6,.terminal pre{margin:0}.cmd .cmd-clipboard{let:-16px;background:transparent!important;border:none!important;box-shadow:none!important;color:transparent!important;height:16px;height:calc(16px/var(--pixel-density, 1))!important;left:calc(-16px/var(--pixel-density, 1))!important;outline:none!important;overflow:hidden!important;padding:0!important;position:absolute!important;resize:none!important;text-indent:-9999em!important;top:0!important;top:calc(var(--cursor-line, 0)*var(--size, 1)*(14px/var(--pixel-density, 1)))!important;white-space:pre!important;width:16px;width:calc(16px/var(--pixel-density, 1))!important;z-index:1000!important}.visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;left:0;overflow:hidden;position:absolute;top:0;white-space:nowrap;width:1px}.cmd .cursor+span:empty,.cmd div.cmd-end-line span[data-text]:last-child,.cmd div.cmd-end-line span[data-text]:last-child span,.cmd span.cmd-end-line,.cmd span.cmd-end-line span,.cmd textarea{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.terminal audio,.terminal canvas,.terminal img,.terminal object{cursor:default}.terminal{--base-background:var(--background,#000);--base-color:var(--color);contain:content;line-height:normal;position:relative}.terminal-scroller{scrollbar-gutter:stable;box-sizing:border-box;height:100%;overflow-y:auto;position:relative}terminal.terminal-temp{visibility:hidden}body.terminal{height:100%;min-height:100vh}html{height:100%}body.full-screen-terminal,body.terminal{height:100%;margin:0}body.full-screen-terminal .terminal{height:100%}body.full-screen-terminal{height:100%;height:var(--terminal-force-height,100dvh)}.terminal>div.terminal-fill{height:100%;min-height:100%}.terminal>.terminal-pixel{display:inline;height:1px;left:-2px;position:absolute;top:-2px;width:1px}.terminal>.terminal-font .terminal-resizer,.terminal>.terminal-resizer{border:none!important;bottom:0!important;height:100%!important;left:0!important;overflow:hidden!important;padding:0!important;pointer-events:none!important;position:absolute!important;right:0!important;top:0!important;width:100%!important;z-index:-1!important}.cmd{padding:0;position:relative;width:100%;z-index:300}.terminal .cmd,.terminal .cmd div{background:transparent!important}.terminal a[tabindex="1000"],.terminal a[tabindex="1000"]:active,.terminal a[tabindex="1000"]:focus{outline:none}.cmd.cmd.cmd .cmd-inverted,.cmd.cmd.cmd .inverted,.terminal .inverted,.terminal .terminal-inverted{background-color:#aaa!important;color:#000!important}.cmd a[href],.terminal .terminal-output>:not(.raw) a[href],.terminal.external a[href]{color:#37f;color:var(--link-color,#37f);cursor:pointer}.cmd a[href]:not(.terminal-inverted),.terminal .terminal-output>:not(.raw) a[href]:not(.terminal-inverted),.terminal.external a[href]:not(.terminal-inverted){--color:var(--link-color,#37f);text-shadow:0 0 calc(var(--glow)*5px) var(--color,#ccc)}.terminal .terminal-output>:not(.raw) a[href].terminal-inverted,.terminal.external a[href].terminal-inverted{background:var(--color,#ccc);text-shadow:0 0 calc(var(--glow)*5px) var(--background,#000)}.cmd a[href]:hover,.terminal .terminal-output>:not(.raw) a[href]:hover,.terminal.external a[href]:hover{background-color:#37f;background-color:var(--link-color,#37f)!important;color:#000;color:var(--base-background,#000)!important;text-decoration:none}.cmd a[href] span,.terminal .terminal-output>:not(.raw) a[href] span,.terminal.external a[href] span{--color:var(--link-color,#37f);color:#37f!important;color:var(--link-color,#37f)!important;text-decoration:underline}.cmd a[href]:hover span,.terminal .terminal-output>:not(.raw) a[href]:hover span,.terminal.external a[href]:hover span{background-color:#37f!important;background-color:var(--link-color,#37f)!important;color:#000!important;color:var(--background,#000)!important;text-decoration:none}.terminal a[href]{transition-duration:.2s;transition-property:color,background-color;transition-timing-function:ease-out}.cmd .cmd-cursor,.cmd .cmd-cursor-line img,.cmd .cmd-cursor-line>span{display:inline-block}.cmd .cmd-cursor .emoji,.cmd .cmd-cursor.cmd-blink .fa,.cmd .cmd-cursor.cmd-blink .far,.cmd .cmd-cursor.cmd-blink .fas,.cmd .cmd-cursor.cmd-blink a,.cmd .cmd-cursor.cmd-blink>span[data-text]:not(.emoji):not(.fa):not(.far):not(.fas) span{-webkit-animation:terminal-blink 1s linear infinite;-moz-animation:terminal-blink 1s linear infinite;-ms-animation:terminal-blink 1s linear infinite;animation:terminal-blink 1s linear infinite}.bar.cmd .cmd-inverted,.bar.terminal .inverted{box-shadow:-2px 0 0 -1px #aaa;box-shadow:-2px 0 0 -1px var(--original-color,#aaa)}.cmd .cmd-prompt,.terminal,.terminal .terminal-output>div>div{display:block;height:auto}.terminal .terminal-output>div:not(.raw) div{clear:both;white-space:nowrap}.cmd .cmd-prompt:empty,.cmd .cmd-prompt>a,.cmd .cmd-prompt>span{float:left}.cmd-prompt [data-text]>span{white-space:pre}.cmd [data-text] span,.terminal [data-text] span{display:inline-block}.terminal-ouput span[style*=width]{min-height:14px;min-height:calc(var(--size, 1)*(14px/var(--pixel-density, 1)))}.cmd div,.terminal .terminal-output>:not(.raw)>div,.terminal.external div{line-height:1em;line-height:calc(var(--size)*(16px/var(--pixel-density, 1)) + 1px/var(--pixel-density, 1))}.cmd .cmd-prompt span.fa:before,.cmd .cmd-prompt span.fab:before,.cmd .cmd-prompt span.fad:before,.cmd .cmd-prompt span.fal:before,.cmd .cmd-prompt span.far:before,.cmd .cmd-prompt span.fas{position:relative;top:2px}.cmd,.cmd span:not(.fas):not(.far):not(.fa),.terminal,.terminal-font-forcer,.terminal-output>:not(.raw),.terminal-output>:not(.raw) a,.terminal-output>:not(.raw) span:not(.fas):not(.far):not(.fa){font-family:monospace;font-family:var(--font,monospace)}.cmd,.terminal{font-size:12px}.cmd .cmd-line:before,.terminal-output>div:not(.raw) div:before{content:"\0200B";display:inline-block;width:0}.cmd span[data-text],.terminal span[data-text]{display:inline-block}.cmd span[data-text]:not(.cmd-inverted):not(.token):not(.emoji),.terminal,terminal-output>div:not(.raw) div>span:not(.token):not(.inverted):not(.terminal-inverted):not(.cmd-inverted):not(.terminal-error):not(.emoji){background-color:#000;color:#aaa}.cmd span[data-text] span,.terminal span[data-text] span{text-decoration:inherit}.terminal .ansi>div{line-height:13px!important;line-height:calc(var(--size, 1)*(13px/var(--pixel-density, 1)))!important}.cmd .cmd-prompt span,.cmd span.cmd-prompt{--background:transparent}.cmd .emoji,.terminal-output .emoji{background-repeat:no-repeat;background-size:contain;color:transparent;height:12px;height:calc(12px/var(--pixel-density, 1));position:relative}.cmd .fa span,.cmd .far span,.cmd .fas span,.terminal .terminal-output .fa span,.terminal .terminal-output .far span,.terminal .terminal-output .fas span{clip:rect(1px,1px,1px,1px);background:transparent!important;color:transparent!important;position:absolute}.cmd .emoji,.cmd .emoji span,.terminal-output .emoji,.terminal-output .emoji span{display:inline-block;width:2ch}.cmd,.terminal{box-sizing:border-box}.cmd .cmd-cursor span:not(.token):not(.inverted){background-color:inherit;color:inherit}.cmd .emoji.emoji.emoji.emoji,.cmd .emoji.emoji.emoji.emoji span{background-color:transparent;color:transparent}.cmd .cmd-cursor *{background-color:transparent}.cmd span[style*=width] span,.terminal span[style*=width] span{width:inherit}.cmd div{clear:both}.cmd .cmd-prompt+div{clear:right}terminal .terminal-output>div{margin-top:-1px}.terminal-output>div.raw>div *{word-wrap:break-word;overflow-wrap:break-word}.terminal .terminal-font{float:left;font-size:inherit;left:0;line-height:inherit;margin-bottom:1px;position:absolute;top:-100%}.cmd>span:not(.cmd-prompt){float:left}.cmd .cmd-prompt span.cmd-line{display:block;float:none}.terminal table{border-collapse:collapse}.terminal td{border:1px solid #aaa}.cmd span[data-text]:not(.emoji):not(.fa):not(.fas):not(.far) span{background-color:inherit;color:inherit}.cmd [role=presentation].cmd-cursor-line{cursor:text;position:relative;z-index:100}.cmd .cmd-prompt{position:relative;z-index:200}.cmd [role=presentation]:not(.cmd-cursor-line){overflow:hidden}.cmd{--original-color:var( + * Date: Sun, 21 Apr 2024 10:20:57 +0000 + */.cmd .format,.cmd-prompt,.cmd-prompt div,.terminal .terminal-output .format{display:inline-block}.cmd,.terminal h1,.terminal h2,.terminal h3,.terminal h4,.terminal h5,.terminal h6,.terminal pre{margin:0}.cmd .cmd-clipboard{let:-16px;background:transparent!important;border:none!important;box-shadow:none!important;color:transparent!important;height:16px;height:calc(16px/var(--pixel-density, 1))!important;left:calc(-16px/var(--pixel-density, 1))!important;outline:none!important;overflow:hidden!important;padding:0!important;position:absolute!important;resize:none!important;text-indent:-9999em!important;top:0!important;top:calc(var(--cursor-line, 0)*var(--size, 1)*(14px/var(--pixel-density, 1)))!important;white-space:pre!important;width:16px;width:calc(16px/var(--pixel-density, 1))!important;z-index:1000!important}.visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;left:0;overflow:hidden;position:absolute;top:0;user-select:none;white-space:nowrap;width:1px}.cmd .cursor+span:empty,.cmd div.cmd-end-line span[data-text]:last-child,.cmd div.cmd-end-line span[data-text]:last-child span,.cmd span.cmd-end-line,.cmd span.cmd-end-line span,.cmd textarea{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.terminal audio,.terminal canvas,.terminal img,.terminal object{cursor:default}.terminal{--base-background:var(--background,#000);--base-color:var(--color);contain:content;line-height:normal;position:relative}.terminal-scroller{scrollbar-gutter:stable;box-sizing:border-box;height:100%;overflow-x:hidden;overflow-y:auto;position:relative}terminal.terminal-temp{visibility:hidden}body.terminal{height:100%;min-height:100vh}html{height:100%}body.full-screen-terminal,body.terminal{height:100%;margin:0}body.full-screen-terminal .terminal{height:100%}body.full-screen-terminal{height:100%;height:var(--terminal-force-height,100dvh)}.terminal>div.terminal-fill{height:100%;min-height:100%}.terminal>.terminal-pixel{display:inline;height:1px;left:-2px;position:absolute;top:-2px;width:1px}.terminal>.terminal-font .terminal-resizer,.terminal>.terminal-resizer{border:none!important;bottom:0!important;height:100%!important;left:0!important;overflow:hidden!important;padding:0!important;pointer-events:none!important;position:absolute!important;right:0!important;top:0!important;width:100%!important;z-index:-1!important}.cmd{padding:0;position:relative;width:100%;z-index:300}.terminal .cmd,.terminal .cmd div{background:transparent!important}.terminal a[tabindex="1000"],.terminal a[tabindex="1000"]:active,.terminal a[tabindex="1000"]:focus{outline:none}.cmd.cmd.cmd .cmd-inverted,.cmd.cmd.cmd .inverted,.terminal .inverted,.terminal .terminal-inverted{background-color:#aaa!important;color:#000!important}.cmd a[href],.terminal .terminal-output>:not(.raw) a[href],.terminal.external a[href]{color:#37f;color:var(--link-color,#37f);cursor:pointer}.cmd a[href]:not(.terminal-inverted),.terminal .terminal-output>:not(.raw) a[href]:not(.terminal-inverted),.terminal.external a[href]:not(.terminal-inverted){--color:var(--link-color,#37f);text-shadow:0 0 calc(var(--glow)*5px) var(--color,#ccc)}.terminal .terminal-output>:not(.raw) a[href].terminal-inverted,.terminal.external a[href].terminal-inverted{background:var(--color,#ccc);text-shadow:0 0 calc(var(--glow)*5px) var(--background,#000)}.cmd a[href]:hover,.terminal .terminal-output>:not(.raw) a[href]:hover,.terminal.external a[href]:hover{background-color:#37f;background-color:var(--link-color,#37f)!important;color:#000;color:var(--base-background,#000)!important;text-decoration:none}.cmd a[href] span,.terminal .terminal-output>:not(.raw) a[href] span,.terminal.external a[href] span{--color:var(--link-color,#37f);color:#37f!important;color:var(--link-color,#37f)!important;text-decoration:underline}.cmd a[href]:hover span,.terminal .terminal-output>:not(.raw) a[href]:hover span,.terminal.external a[href]:hover span{background-color:#37f!important;background-color:var(--link-color,#37f)!important;color:#000!important;color:var(--background,#000)!important;text-decoration:none}.terminal a[href]{transition-duration:.2s;transition-property:color,background-color;transition-timing-function:ease-out}.cmd .cmd-cursor,.cmd .cmd-cursor-line img,.cmd .cmd-cursor-line>span{display:inline-block}.cmd .cmd-cursor .emoji,.cmd .cmd-cursor.cmd-blink .fa,.cmd .cmd-cursor.cmd-blink .far,.cmd .cmd-cursor.cmd-blink .fas,.cmd .cmd-cursor.cmd-blink a,.cmd .cmd-cursor.cmd-blink>span[data-text]:not(.emoji):not(.fa):not(.far):not(.fas) span{-webkit-animation:terminal-blink 1s linear infinite;-moz-animation:terminal-blink 1s linear infinite;-ms-animation:terminal-blink 1s linear infinite;animation:terminal-blink 1s linear infinite}.bar.cmd .cmd-inverted,.bar.terminal .inverted{box-shadow:-2px 0 0 -1px #aaa;box-shadow:-2px 0 0 -1px var(--original-color,#aaa)}.cmd .cmd-prompt,.terminal,.terminal .terminal-output>div>div{display:block;height:auto}.terminal .terminal-output>div:not(.raw) div{clear:both;white-space:nowrap}.cmd .cmd-prompt:empty,.cmd .cmd-prompt>a,.cmd .cmd-prompt>span{float:left}.cmd-prompt [data-text]>span,.cmd-wrapper>div{white-space:pre}.cmd [data-text] span,.terminal [data-text] span{display:inline-block}.terminal-ouput span[style*=width]{min-height:14px;min-height:calc(var(--size, 1)*(14px/var(--pixel-density, 1)))}.cmd div,.terminal .terminal-output>:not(.raw)>div,.terminal.external div{line-height:1em;line-height:calc(var(--size)*(16px/var(--pixel-density, 1)) + 1px/var(--pixel-density, 1))}.cmd .cmd-prompt span.fa:before,.cmd .cmd-prompt span.fab:before,.cmd .cmd-prompt span.fad:before,.cmd .cmd-prompt span.fal:before,.cmd .cmd-prompt span.far:before,.cmd .cmd-prompt span.fas{position:relative;top:2px}.cmd,.cmd span:not(.fas):not(.far):not(.fa),.terminal,.terminal-font-forcer,.terminal-output>:not(.raw),.terminal-output>:not(.raw) a,.terminal-output>:not(.raw) span:not(.fas):not(.far):not(.fa){font-family:monospace;font-family:var(--font,monospace)}.cmd,.terminal{font-size:12px}.cmd .cmd-line:before,.terminal-output>div:not(.raw) div:before{content:"\0200B";display:inline-block;width:0}.cmd .cmd-line{white-space:nowrap}.cmd span[data-text],.terminal span[data-text]{display:inline-block}.cmd span[data-text]:not(.cmd-inverted):not(.token):not(.emoji),.terminal,terminal-output>div:not(.raw) div>span:not(.token):not(.inverted):not(.terminal-inverted):not(.cmd-inverted):not(.terminal-error):not(.emoji){background-color:#000;color:#aaa}.cmd span[data-text] span,.terminal span[data-text] span{text-decoration:inherit}.terminal .ansi>div{line-height:13px!important;line-height:calc(var(--size, 1)*(13px/var(--pixel-density, 1)))!important}.cmd .cmd-prompt span,.cmd span.cmd-prompt{--background:transparent}.cmd .emoji,.terminal-output .emoji{background-repeat:no-repeat;background-size:contain;color:transparent;height:12px;height:calc(12px/var(--pixel-density, 1));position:relative}.cmd .fa span,.cmd .far span,.cmd .fas span,.terminal .terminal-output .fa span,.terminal .terminal-output .far span,.terminal .terminal-output .fas span{clip:rect(1px,1px,1px,1px);background:transparent!important;color:transparent!important;position:absolute}.cmd .emoji,.cmd .emoji span,.terminal-output .emoji,.terminal-output .emoji span{display:inline-block;width:2ch}.cmd,.terminal{box-sizing:border-box}.cmd .cmd-cursor span:not(.token):not(.inverted){background-color:inherit;color:inherit}.cmd .emoji.emoji.emoji.emoji,.cmd .emoji.emoji.emoji.emoji span{background-color:transparent;color:transparent}.cmd .cmd-cursor *{background-color:transparent}.cmd span[style*=width] span,.terminal span[style*=width] span{width:inherit}.cmd div{clear:both}.cmd .cmd-prompt+div{clear:right}terminal .terminal-output>div{margin-top:-1px}.terminal-output>div.raw>div *{word-wrap:break-word;overflow-wrap:break-word}.terminal .terminal-font{float:left;font-size:inherit;left:0;line-height:inherit;margin-bottom:1px;position:absolute;top:-100%}.cmd>span:not(.cmd-prompt){float:left}.cmd .cmd-prompt span.cmd-line{display:block;float:none}.terminal table{border-collapse:collapse}.terminal td{border:1px solid #aaa}.cmd span[data-text]:not(.emoji):not(.fa):not(.fas):not(.far) span{background-color:inherit;color:inherit}.cmd [role=presentation].cmd-cursor-line{cursor:text;position:relative;z-index:100}.cmd .cmd-prompt{position:relative;z-index:200}.cmd [role=presentation]:not(.cmd-cursor-line){overflow:hidden}.cmd{--original-color:var( --color,#aaa);--original-background:var( --background)}.cmd a[href]{--original-color:var(--link-color,#37f)}@-webkit-keyframes terminal-blink{0%,50%{background-color:#aaa;background-color:var(--original-color,#aaa);-webkit-box-shadow:0 0 calc(var(--glow)*3px) var(--color,#aaa);box-shadow:0 0 calc(var(--glow)*3px) var(--color,#aaa);color:#000;color:var(--original-background,#000)}50.1%,to{background-color:inherit;color:inherit;color:var(--original-color,#aaa)}}@-moz-keyframes terminal-blink{0%,50%{background-color:#aaa;background-color:var(--original-color,#aaa);-webkit-box-shadow:0 0 calc(var(--glow)*3px) var(--color,#aaa);box-shadow:0 0 calc(var(--glow)*3px) var(--color,#aaa);color:#000;color:var(--original-background,#000)}50.1%,to{background-color:inherit;color:inherit;color:var(--original-color,#aaa)}}@keyframes terminal-blink{0%,50%{background-color:#aaa;background-color:var(--original-color,#aaa);-webkit-box-shadow:0 0 calc(var(--glow)*3px) var(--color,#aaa);box-shadow:0 0 calc(var(--glow)*3px) var(--color,#aaa);color:#000;color:var(--original-background,#000)}50.1%,to{background-color:inherit;-webkit-box-shadow:none;box-shadow:none;color:inherit;color:var(--original-color,#aaa)}}@-webkit-keyframes terminal-glow{0%,50%{background-color:#aaa;background-color:var(--original-color,#aaa);box-shadow:0 0 3px #aaa;-webkit-box-shadow:0 0 3px var(--color,#aaa);box-shadow:0 0 3px var(--color,#aaa);color:#000;color:var(--original-background,#000)}50.1%,to{background-color:inherit;-webkit-box-shadow:none;box-shadow:none;color:inherit}}@-moz-keyframes terminal-glow{0%,50%{background-color:#aaa;background-color:var(--original-color,#aaa);box-shadow:0 0 3px #aaa;-moz-box-shadow:0 0 3px var(--color,#aaa);box-shadow:0 0 3px var(--color,#aaa);color:#000;color:var(--original-background,#000)}50.1%,to{background-color:inherit;-moz-box-shadow:none;box-shadow:none;color:inherit}}@keyframes terminal-glow{0%,50%{background-color:#aaa;background-color:var(--original-color,#aaa);box-shadow:0 0 3px #aaa;box-shadow:0 0 3px var(--color,#aaa);color:#000;color:var(--original-background,#000)}50.1%,to{background-color:inherit;box-shadow:none;color:inherit}}@-webkit-keyframes terminal-bar{0%,50%{box-shadow:-2px 0 0 -1px #aaa;box-shadow:calc(var(--line-thickness, 2)*-1px) 0 0 -1px var(--original-color,#aaa)}50.1%,to{box-shadow:none}}@-moz-keyframes terminal-bar{0%,50%{box-shadow:-2px 0 0 -1px #aaa;box-shadow:calc(var(--line-thickness, 2)*-1px) 0 0 -1px var(--original-color,#aaa)}50.1%,to{box-shadow:none}}@keyframes terminal-bar{0%,50%{box-shadow:-2px 0 0 -1px #aaa;box-shadow:calc(var(--line-thickness, 2)*-1px) 0 0 -1px var(--original-color,#aaa)}50.1%,to{box-shadow:none}}@-webkit-keyframes terminal-underline{0%,50%{box-shadow:0 2px 0 #aaa;box-shadow:0 calc(var(--line-thickness, 2)*1px) 0 var(--original-color,#aaa)}50.1%,to{box-shadow:none}}@-moz-keyframes terminal-underline{0%,50%{box-shadow:0 2px 0 #aaa;box-shadow:0 calc(var(--line-thickness, 2)*1px) 0 var(--original-color,#aaa)}50.1%,to{box-shadow:none}}@keyframes terminal-underline{0%,50%{box-shadow:0 2px 0 #aaa;box-shadow:0 calc(var(--line-thickness, 2)*1px) 0 var(--original-color,#aaa)}50.1%,to{box-shadow:none}}@-webkit-keyframes terminal-none{0%,to{background-color:#aaa;background-color:var(--original-color,#aaa);-webkit-box-shadow:0 0 calc(var(--glow)*3px) var(--color,#aaa);box-shadow:0 0 calc(var(--glow)*3px) var(--color,#aaa);color:#000;color:var(--original-background,#000)}}@-moz-keyframes terminal-none{0%,to{background-color:#aaa;background-color:var(--original-color,#aaa);-webkit-box-shadow:0 0 calc(var(--glow)*3px) var(--color,#aaa);box-shadow:0 0 calc(var(--glow)*3px) var(--color,#aaa);color:#000;color:var(--background,#000)}}@keyframes terminal-none{0%,to{background-color:#aaa;background-color:var(--original-color,#aaa);-webkit-box-shadow:0 0 calc(var(--glow)*3px) var(--color,#aaa);box-shadow:0 0 calc(var(--glow)*3px) var(--color,#aaa);color:#000;color:var(--original-background,#000)}}.underline-animation .cmd .cmd-cursor .emoji,.underline-animation .cmd .cmd-cursor.cmd-blink .fa,.underline-animation .cmd .cmd-cursor.cmd-blink .far,.underline-animation .cmd .cmd-cursor.cmd-blink .fas,.underline-animation .cmd .cmd-cursor.cmd-blink a,.underline-animation .cmd .cmd-cursor.cmd-blink>span[data-text]:not(.emoji):not(.fa):not(.far):not(.fas) span{-webkit-animation-name:terminal-underline;-moz-animation-name:terminal-underline;-ms-animation-name:terminal-underline;animation-name:terminal-underline}.glow-animation .cmd .cmd-cursor .emoji,.glow-animation .cmd .cmd-cursor.cmd-blink .fa,.glow-animation .cmd .cmd-cursor.cmd-blink .far,.glow-animation .cmd .cmd-cursor.cmd-blink .fas,.glow-animation .cmd .cmd-cursor.cmd-blink a,.glow-animation .cmd .cmd-cursor.cmd-blink>span[data-text]:not(.emoji):not(.fa):not(.far):not(.fas) span{-webkit-animation-name:terminal-glow;-moz-animation-name:terminal-glow;-ms-animation-name:terminal-glow;animation-name:terminal-glow}.bar-animation .cmd .cmd-cursor .emoji,.bar-animation .cmd .cmd-cursor.cmd-blink .fa,.bar-animation .cmd .cmd-cursor.cmd-blink .far,.bar-animation .cmd .cmd-cursor.cmd-blink .fas,.bar-animation .cmd .cmd-cursor.cmd-blink a,.bar-animation .cmd .cmd-cursor.cmd-blink>span[data-text]:not(.emoji):not(.fa):not(.far):not(.fas) span{-webkit-animation-name:terminal-bar;-moz-animation-name:terminal-bar;-ms-animation-name:terminal-bar;animation-name:terminal-bar}@supports (-ms-ime-align:auto){.cmd .cmd-clipboard{margin-left:-9999px}@keyframes terminal-blink{0%,50%{background-color:var(--original-color,#aaa);color:var(--background,#000)}50.1%,to{background-color:var(--background,#000);color:var(--original-color,#aaa)}}@keyframes terminal-bar{0%,50%{border-left-color:var(--color,#aaa)}50.1%,to{border-left-color:var(--background,#000)}}@keyframes terminal-underline{0%,50%{border-bottom-color:var(--color,#aaa);line-height:12px;line-height:calc(var(--size, 1)*(12px/var(--pixel-density, 1)))}50.1%,to{border-bottom-color:var(--background,#000);line-height:12px;line-height:calc(var(--size, 1)*(12px/var(--pixel-density, 1)))}}}@media (-ms-high-contrast:active),(-ms-high-contrast:none){.cmd .cmd-clipboard{margin-left:-9999px}.underline-animation .cursor.blink span span{margin-top:1px}@-ms-keyframes terminal-blink{0%,50%{background-color:#aaa;color:#000}50.1%,to{background-color:#000;color:#aaa}}}.cmd span[data-text]::-moz-selection,.cmd span[data-text]:not(.far):not(.fa):not(.fas) span::-moz-selection,.terminal .terminal-output .raw div::-moz-selection,.terminal .terminal-output div div a::-moz-selection,.terminal .terminal-output div div::-moz-selection,.terminal .terminal-output span[data-text]::-moz-selection,.terminal .terminal-output span[data-text]:not(.far):not(.fa):not(.fas) span::-moz-selection,.terminal .terminal-output::-moz-selection,.terminal h1::-moz-selection,.terminal h2::-moz-selection,.terminal h3::-moz-selection,.terminal h4::-moz-selection,.terminal h5::-moz-selection,.terminal h6::-moz-selection,.terminal pre::-moz-selection,.terminal td::-moz-selection{background-color:#aaa;color:#000}.terminal .cmd{pointer-events:none}.terminal .cmd-prompt *{pointer-events:visible}.cmd-prompt>span:first-child{margin-left:var(--prompt-offset)}.terminal .cmd textarea,.terminal .cmd-cursor-line>span,.terminal .cmd-wrapper>div:not(.cmd-cursor-line){pointer-events:visible}.cmd span[data-text]:not(.far):not(.fa):not(.fas) span::selection,.terminal .terminal-output .raw div::selection,.terminal .terminal-output div div a::selection,.terminal .terminal-output div div::selection,.terminal .terminal-output span[data-text]::selection,.terminal .terminal-output span[data-text]:not(.far):not(.fa):not(.fas) span::selection,.terminal .terminal-output::selection,.terminal h1::selection,.terminal h2::selection,.terminal h3::selection,.terminal h4::selection,.terminal h5::selection,.terminal h6::selection,.terminal pre::selection,.terminal td::selection{background-color:hsla(0,0%,67%,.99);color:#000}.cmd .emoji span::-moz-selection,.cmd .emoji::-moz-selection,.cmd textarea::-moz-selection,.terminal-output .emoji span::-moz-selection,.terminal-output .emoji::-moz-selection{background-color:transparent!important;color:transparent!important}.cmd .emoji span::selection,.cmd .emoji::selection,.cmd textarea::selection,.terminal-output .emoji span::selection,.terminal-output .emoji::selection{background-color:transparent!important;color:transparent!important}.terminal .terminal-output>:not(.raw) .terminal-error,.terminal .terminal-output>:not(.raw) .terminal-error *{color:red;color:var(--error-color,red)}.tilda{left:0;position:fixed;top:0;width:100%;z-index:1100}.ui-dialog-content .terminal{box-sizing:border-box;height:100%;width:100%}.ui-dialog .ui-dialog-content.dterm{padding:0}.clear{clear:both}.terminal .terminal-fill{border:none;box-sizing:border-box;height:100%;left:0;margin:1px 0 0;opacity:.01;pointer-events:none;position:absolute;top:-100%;width:100%}.cmd-editable,.terminal .terminal-fill,.terminal-scroller{padding:calc(1px*var(--padding, 10)/var(--pixel-density, 1))}.cmd-editable{padding-top:0}.terminal-scroller{padding-bottom:0}.terminal .terminal-output>:not(.raw) .terminal-error,.terminal .terminal-output>:not(.raw) .terminal-error *{--color:var(--error-color,red);text-shadow:0 0 calc(var(--glow)*5px) var(--color)}.terminal .terminal-output>:not(.raw) a[href]{text-shadow:0 0 calc(var(--glow)*5px) var(--color)}.terminal .cmd{margin-bottom:calc(1px*var(--padding, 10)/var(--pixel-density, 1));position:relative}.terminal .partial,.terminal .partial>div{display:inline-block}@supports (--css:variables){.cmd,.cmd div,.cmd span[data-text]:not(.cmd-inverted):not(.token):not(.emoji),.terminal,.terminal-output>:not(.raw) a,.terminal-output>:not(.raw) div,.terminal-output>:not(.raw) span[data-text]:not(.token):not(.inverted):not(.terminal-inverted):not(.cmd-inverted):not(.terminal-error):not(.emoji),.terminal.external [data-text]{background-color:var(--background,#000);color:var(--color,#aaa)}.cmd [data-text],.terminal [data-text]{text-shadow:var(--text-shadow,0 0 calc(var(--glow)*5px) var(--color,#ccc))}.terminal span[style*="--length"]{display:inline-block;width:calc(var(--length, 1)*var(--char-width, 7.23438)*1px)}.cmd,.cmd div,.cmd span,.terminal,.terminal-output>:not(.raw) a,.terminal-output>:not(.raw) div,.terminal-output>:not(.raw) span{font-size:calc(var(--size, 1)*(12px/var(--pixel-density, 1)))}.cmd .emoji,.terminal-output .emoji{height:calc(var(--size, 1)*(12px/var(--pixel-density, 1)))}.cmd .clipboard{top:calc(var(--size, 1)*(14/var(--pixel-density, 1))*var(--cursor-line, 0)*1px)}.cmd.cmd.cmd .cmd-inverted,.cmd.cmd.cmd .inverted,.terminal .inverted{--background:#000;background-color:var(--color,#aaa)!important;color:var(--background,#000)!important}.cmd .cmd-cursor.cmd-blink{background-color:var(--background,#000);color:var(--color,#aaa)}.cmd .cmd-cursor.cmd-blink .emoji,.cmd .cmd-cursor.cmd-blink .fa,.cmd .cmd-cursor.cmd-blink .far,.cmd .cmd-cursor.cmd-blink .fas,.cmd .cmd-cursor.cmd-blink a,.cmd .cmd-cursor.cmd-blink>span[data-text]:not(.emoji):not(.fa):not(.far):not(.fas) span{--original-background:inherit;-webkit-animation:var(--animation,terminal-blink) 1s infinite linear;-moz-animation:var(--animation,terminal-blink) 1s infinite linear;-ms-animation:var(--animation,terminal-blink) 1s infinite linear;animation:var(--animation,terminal-blink) 1s infinite linear}.cmd .cmd-cursor.cmd-blink .emoji span{background:transparent;color:transparent}.cmd span[data-text]:not(.far):not(.fa):not(.fas):not(.emoji) span::-moz-selection,.terminal .terminal-output .raw div::-moz-selection,.terminal .terminal-output div div a::-moz-selection,.terminal .terminal-output div div::-moz-selection,.terminal .terminal-output span[data-text]::-moz-selection,.terminal .terminal-output span[data-text]:not(.far):not(.fa):not(.fas):not(.emoji) span::-moz-selection,.terminal .terminal-output::-moz-selection,.terminal h1::-moz-selection,.terminal h2::-moz-selection,.terminal h3::-moz-selection,.terminal h4::-moz-selection,.terminal h5::-moz-selection,.terminal h6::-moz-selection,.terminal pre::-moz-selection,.terminal td::-moz-selection{background-color:var(--color,#aaa);color:var(--background,#000)}.terminal .terminal-output div div a::-moz-selection{background-color:var(--link-color,rgba(15,96,255,.99))!important;color:var(--background,#000)!important}.terminal .terminal-output div div a:hover::-moz-selection{background-color:var(--link-color,rgba(2,50,144,.99))!important}.cmd span[data-text]:not(.far):not(.fa):not(.fas):not(.emoji) span::selection,.terminal .terminal-output .raw div::selection,.terminal .terminal-output div div a::selection,.terminal .terminal-output div div::selection,.terminal .terminal-output span[data-text]:not(.emoji)::selection,.terminal .terminal-output span[data-text]:not(.far):not(.fa):not(.fas):not(.emoji) span::selection,.terminal .terminal-output::selection,.terminal h1::selection,.terminal h2::selection,.terminal h3::selection,.terminal h4::selection,.terminal h5::selection,.terminal h6::selection,.terminal pre::selection,.terminal td::selection{background-color:var(--color,hsla(0,0%,67%,.99))!important;color:var(--background,#000)!important}.terminal .terminal-output div div a::selection{background-color:var(--link-color,rgba(15,96,255,.99))!important;color:var(--background,#000)!important}.terminal .terminal-output div div a:hover::selection{background-color:var(--link-color,rgba(2,50,144,.99))!important}}@property --color{syntax:"";inherits:true;initial-value:hsla(0,0%,67%,.99)}@property --background{syntax:"";inherits:true;initial-value:#000}@property --link-color{syntax:"";inherits:true;initial-value:#37f}@property --size{syntax:"";inherits:true;initial-value:1}@property --padding{syntax:"";inherits:true;initial-value:10}@supports (-ms-ime-align:auto){.cmd span[data-text]::selection,.terminal .terminal-output div div a::selection,.terminal .terminal-output div div::selection,.terminal h1::selection,.terminal h2::selection,.terminal h3::selection,.terminal h4::selection,.terminal h5::selection,.terminal h6::selection,.terminal pre::selection,.terminal td::selection{background-color:hsla(0,0%,67%,.99);color:#000}}.cmd .style .token.string,.cmd .token.entity,.cmd .token.operator,.cmd .token.string,.cmd .token.token,.cmd .token.url,.cmd .token.variable,.terminal .style .token.string,.terminal .token.entity,.terminal .token.operator,.terminal .token.string,.terminal .token.token,.terminal .token.url,.terminal .token.variable{background-color:inherit}.cmd .cursor-wrapper ul{float:left;left:0;list-style:none;margin:0;padding:0;position:absolute;top:14px}.cmd .cursor-wrapper li{cursor:pointer;white-space:nowrap}.cmd .cursor-wrapper li:hover{background:#aaa;color:#000}.cursor-wrapper{position:relative}.terminal-output img{vertical-align:top}.cmd img{border:1px solid transparent;height:14px;height:calc(var(--size, 1)*(14px/var(--pixel-density, 1)))}.cmd-cursor img{border-color:#ccc;border-color:var(--color,#ccc)}.terminal-output svg.terminal-broken-image{height:calc(var(--size, 1)*(14px/var(--pixel-density, 1)))}.terminal-output svg.terminal-broken-image use{fill:var(--color,#ccc)}.terminal-error{--color:var(--error-color)}.terminal-glow{--animation:terminal-glow}.terminal-glow .cmd-prompt>span,.terminal-glow .terminal-output>div a[href],.terminal-glow .terminal-output>div span,.terminal-glow [data-text] span,.terminal-glow a[data-text],.terminal-glow span[data-text]{text-shadow:1px 1px 5px #ccc;text-shadow:1px 1px 5px var(--color,#ccc)}.terminal-scroll-marker{height:1px;height:calc(1px/var(--pixel-density, 1));margin-top:-1px;margin-top:calc(-1px/var(--pixel-density, 1));position:relative;z-index:100}.terminal-scroll-marker div{bottom:0;left:0;position:absolute;right:0;z-index:200}.terminal-less{overscroll-behavior-y:contain;touch-action:none}.terminal-mobile.terminal-less .terminal-wrapper{pointer-events:none}.cmd-editable,.terminal-mobile.terminal-less .terminal-output a{pointer-events:visible}.cmd-editable:before{content:attr(data-cmd-prompt);display:inline-block}.cmd-editable{background:transparent;bottom:0;color:transparent;left:0;opacity:.01;outline:0 solid transparent;position:absolute;right:0;top:calc(var(--cmd-top)*1px);z-index:500}.terminal-scroller::-webkit-scrollbar{background:var(--background,#000);height:calc(6px/var(--pixel-density, 1));width:calc(6px/var(--pixel-density, 1))}.terminal-scroller::-webkit-scrollbar-thumb,.terminal-scroller::-webkit-scrollbar-thumb:hover{background:var(--color,#aaa)}.terminal-scroller{scrollbar-color:#aaa #000;scrollbar-color:var(--color,#aaa) var(--background,#000);scrollbar-width:thin}.terminal-hidden{clip:rect(0,0,0,0)!important;border:0!important;height:1px!important;margin:-1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;white-space:nowrap!important;width:1px!important}.terminal-wrapper{--color:var(--base-color);--background:var(--base-background)}.cmd .token{--original-color:var(--color)}.cmd .terminal-blink,.terminal .terminal-blink{animation:terminal-ansi-blink 1s steps(2,start) infinite;-webkit-animation:terminal-ansi-blink 1s steps(2,start) infinite}.terminal .cmd *,.terminal .terminal-output,.terminal .terminal-output *{--background:transparent}.terminal .cmd ::selection,.terminal .cmd::selection,.terminal .terminal-output ::selection,.terminal .terminal-output::selection{--background:var(--base-background)}@keyframes terminal-ansi-blink{to{color:var(--background)}}@-webkit-keyframes terminal-ansi-blink{to{color:var(--background)}}@media (prefers-reduced-motion){:root{--animation:terminal-none}} /*# sourceMappingURL=jquery.terminal.min.css.map */ \ No newline at end of file diff --git a/css/jquery.terminal.min.css.map b/css/jquery.terminal.min.css.map index 8722be36..47c1158e 100644 --- a/css/jquery.terminal.min.css.map +++ b/css/jquery.terminal.min.css.map @@ -1 +1 @@ -{"version":3,"sources":["jquery.terminal.css"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;EAeE,CACF,4EAEI,oBACJ,CACA,iGACI,QACJ,CACA,oBAEI,SAAU,CAOV,gCAAkC,CAClC,qBAAuB,CAKvB,yBAA2B,CAJ3B,2BAA6B,CAL7B,WAAY,CAEZ,mDAAuD,CALvD,kDAAsD,CAStD,sBAAwB,CAKxB,yBAA2B,CAJ3B,mBAAqB,CAZrB,2BAA6B,CAa7B,qBAAuB,CAKvB,6BAA+B,CAf/B,eAAiB,CAgBjB,uFAA+F,CAF/F,yBAA2B,CAb3B,UAAW,CAEX,kDAAsD,CAStD,sBAKJ,CACA,iBACI,kBAAmB,CACnB,oBAAqB,CACrB,UAAW,CAMX,MAAO,CALP,eAAgB,CAChB,iBAAkB,CAGlB,KAAM,CAFN,kBAAmB,CACnB,SAGJ,CACA,gMAMI,0BAA2B,CACzB,wBAAyB,CACxB,uBAAwB,CACtB,qBAAsB,CACrB,oBAAqB,CACjB,gBACd,CACA,gEACI,cACJ,CACA,UAGI,wCAA0C,CAC1C,yBAA0B,CAC1B,eAAgB,CAHhB,kBAAoB,CADpB,iBAKJ,CACA,mBAGI,uBAAwB,CAExB,qBAAsB,CADtB,WAAY,CAFZ,eAAgB,CADhB,iBAKJ,CACA,uBACI,iBACJ,CACA,cAEI,WAAY,CADZ,gBAEJ,CACA,KACI,WACJ,CACA,wCAEI,WAAY,CADZ,QAEJ,CACA,oCACI,WACJ,CACA,0BACI,WAAY,CACZ,0CACJ,CACA,4BAEI,WAAY,CADZ,eAEJ,CACA,0BAEI,cAAe,CAIf,UAAW,CAHX,SAAU,CAFV,iBAAkB,CAGlB,QAAS,CACT,SAEJ,CACA,uEAWI,qBAAuB,CANvB,kBAAoB,CAKpB,qBAAuB,CAJvB,gBAAkB,CAClB,yBAA2B,CAK3B,mBAAqB,CAJrB,6BAA+B,CAN/B,2BAA6B,CAE7B,iBAAmB,CADnB,eAAiB,CAUjB,oBAAsB,CAJtB,oBAKJ,CACA,KACI,SAAU,CACV,iBAAkB,CAClB,UAAW,CACX,WACJ,CACA,kCACI,gCACJ,CACA,oGAGI,YACJ,CACA,mGAEI,+BAAiC,CACjC,oBACJ,CACA,sFAGI,UAAc,CACd,4BAAiC,CACjC,cACJ,CACA,8JAGI,8BAAmC,CAGnC,uDACJ,CACA,6GAEI,4BAA8B,CAG9B,4DACJ,CACA,wGAGI,qBAAyB,CACzB,iDAAuD,CACvD,UAAW,CACX,2CAA8C,CAC9C,oBACJ,CACA,qGAQI,8BAAmC,CADnC,oBAAyB,CAEzB,sCAA4C,CAC5C,yBACJ,CACA,uHAGI,+BAAoC,CACpC,iDAAuD,CACvD,oBAAsB,CACtB,sCAAyC,CACzC,oBACJ,CACA,kBAEI,uBAAyB,CADzB,0CAA4C,CAE5C,mCACJ,CAIA,sEAEI,oBACJ,CACA,6OAMQ,mDAAoD,CACjD,gDAAiD,CAChD,+CAAgD,CAC5C,2CAChB,CACA,+CACI,6BAA8B,CAC9B,mDACJ,CACA,8DACI,aAAc,CACd,WACJ,CACA,6CAEI,UAAW,CADX,kBAEJ,CACA,gEACI,UACJ,CACA,6BACI,eACJ,CACA,iDAEI,oBACJ,CACA,mCACI,eAAgB,CAChB,8DACJ,CACA,0EAGI,eAAgB,CAChB,0FACJ,CACA,8LAMI,iBAAkB,CAClB,OACJ,CACA,oMAOI,qBAAsB,CACtB,iCACJ,CACA,eAEI,cACJ,CACA,gEAEI,gBAAiB,CAEjB,oBAAqB,CADrB,OAEJ,CACA,+CAEI,oBACJ,CACA,wNAGI,qBAAsB,CADtB,UAEJ,CACA,yDACI,uBACJ,CACA,oBACI,0BAA4B,CAC5B,yEACJ,CACA,2CACI,wBACJ,CACA,oCAII,2BAA4B,CAD5B,uBAAwB,CAExB,iBAAkB,CAJlB,WAAY,CACZ,yCAA4C,CAI5C,iBACJ,CACA,0JAQI,0BAA2B,CAF3B,gCAAkC,CAClC,2BAA6B,CAE7B,iBACJ,CACA,kFAGI,oBAAqB,CACrB,SACJ,CACA,eACI,qBACJ,CACA,iDAEI,wBAAyB,CADzB,aAEJ,CACA,iEAEI,4BAA6B,CAD7B,iBAEJ,CACA,mBACI,4BACJ,CACA,+DAEI,aACJ,CACA,SACI,UACJ,CACA,qBACI,WACJ,CACA,8BACI,eACJ,CACA,+BAEI,oBAAqB,CADrB,wBAEJ,CACA,yBAEI,UAAW,CACX,iBAAkB,CAGlB,MAAO,CAFP,mBAAoB,CAGpB,iBAAkB,CANlB,iBAAkB,CAIlB,SAGJ,CACA,2BACI,UACJ,CACA,+BACI,aAAc,CACd,UACJ,CACA,gBACI,wBACJ,CACA,aACI,qBACJ,CACA,mEACI,wBAAyB,CACzB,aACJ,CAEA,yCAGI,WAAY,CAFZ,iBAAkB,CAClB,WAEJ,CAEA,iBACI,iBAAkB,CAClB,WACJ,CACA,+CACI,eACJ,CAKA,KACI;iBACc,CAClB;iBAEA,CACA,aACI,uCACJ,CAEA,kCACI,OACI,qBAAsB,CACtB,2CAA6C,CAG7C,8DAAkE,CAClE,sDAA0D,CAH1D,UAAW,CACX,qCAGJ,CACA,SACI,wBAAyB,CAEzB,aAAc,CACd,gCACJ,CACJ,CACA,+BACI,OACI,qBAAsB,CACtB,2CAA6C,CAG7C,8DAAkE,CAClE,sDAA0D,CAH1D,UAAW,CACX,qCAGJ,CACA,SACI,wBAAyB,CACzB,aAAc,CACd,gCACJ,CACJ,CACA,0BACI,OACI,qBAAsB,CACtB,2CAA6C,CAG7C,8DAAkE,CAClE,sDAA0D,CAH1D,UAAW,CACX,qCAGJ,CACA,SACI,wBAAyB,CAGzB,uBAAwB,CACxB,eAAgB,CAHhB,aAAc,CACd,gCAGJ,CACJ,CAEA,iCACI,OACI,qBAAsB,CACtB,2CAA6C,CAG7C,uBAAwB,CACxB,4CAA8C,CAC9C,oCAAsC,CAJtC,UAAW,CACX,qCAIJ,CACA,SACI,wBAAyB,CAEzB,uBAAwB,CACxB,eAAgB,CAFhB,aAGJ,CACJ,CACA,8BACI,OACI,qBAAsB,CACtB,2CAA6C,CAG7C,uBAAwB,CACxB,yCAA2C,CAC3C,oCAAsC,CAJtC,UAAW,CACX,qCAIJ,CACA,SACI,wBAAyB,CAEzB,oBAAqB,CACrB,eAAgB,CAFhB,aAGJ,CACJ,CACA,yBACI,OACI,qBAAsB,CACtB,2CAA6C,CAG7C,uBAAwB,CACxB,oCAAsC,CAHtC,UAAW,CACX,qCAGJ,CACA,SACI,wBAAyB,CAEzB,eAAgB,CADhB,aAEJ,CACJ,CAEA,gCACE,OACI,6BAA8B,CAC9B,kFACJ,CACA,SACI,eACJ,CACF,CACA,6BACE,OACI,6BAA8B,CAC9B,kFACJ,CACA,SACI,eACJ,CACF,CACA,wBACE,OACI,6BAA8B,CAC9B,kFACJ,CACA,SACI,eACJ,CACF,CAEA,sCACE,OACI,uBAAwB,CACxB,4EACJ,CACA,SACI,eACJ,CACF,CACA,mCACE,OACI,uBAAwB,CACxB,4EACJ,CACA,SACI,eACJ,CACF,CACA,8BACE,OACI,uBAAwB,CACxB,4EACJ,CACA,SACI,eACJ,CACF,CAEA,iCACI,MACI,qBAAsB,CACtB,2CAA6C,CAG7C,8DAAkE,CAClE,sDAA0D,CAH1D,UAAW,CACX,qCAGJ,CACJ,CACA,8BACI,MACI,qBAAsB,CACtB,2CAA6C,CAG7C,8DAAkE,CAClE,sDAA0D,CAH1D,UAAW,CACX,4BAGJ,CACJ,CACA,yBACI,MACI,qBAAsB,CACtB,2CAA6C,CAG7C,8DAAkE,CAClE,sDAA0D,CAH1D,UAAW,CACX,qCAGJ,CACJ,CACA,2WAMI,yCAA0C,CACvC,sCAAuC,CACtC,qCAAsC,CAClC,iCACZ,CACA,6UAMI,oCAAqC,CAClC,iCAAkC,CACjC,gCAAiC,CAC7B,4BACZ,CACA,uUAMI,mCAAoC,CACjC,gCAAiC,CAChC,+BAAgC,CAC5B,2BACZ,CAOA,+BACI,oBACI,mBACJ,CACA,0BACI,OACI,2CAA6C,CAC7C,4BACJ,CACA,SACI,uCAAyC,CACzC,gCACJ,CACJ,CACA,wBACI,OACI,mCACJ,CACA,SACI,wCACJ,CACJ,CACA,8BACI,OACI,qCAAuC,CACvC,gBAAiB,CACjB,+DACJ,CACA,SACI,0CAA4C,CAC5C,gBAAiB,CACjB,+DACJ,CACJ,CACJ,CAEA,2DACI,oBACI,mBACJ,CACA,6CACI,cACJ,CACA,8BACI,OACI,qBAAsB,CACtB,UACJ,CACA,SACI,qBAAsB,CACtB,UACJ,CACJ,CACJ,CACA,orBAgBI,qBAAsB,CACtB,UACJ,CAUA,eACI,mBACJ,CACA,wBACI,sBACJ,CACA,6BACI,gCACJ,CACA,yGAGI,sBACJ,CACA,okBAmBI,mCAA2C,CAC3C,UACJ,CACA,gLAKI,sCAAwC,CACxC,2BACJ,CACA,uJAKI,sCAAwC,CACxC,2BACJ,CAEA,8GAEI,SAAU,CACV,4BACJ,CACA,OAGI,MAAO,CAFP,cAAe,CACf,KAAM,CAEN,UAAW,CACX,YACJ,CACA,6BAGI,qBAAsB,CADtB,WAAY,CADZ,UAGJ,CACA,oCACI,SACJ,CACA,OACI,UACJ,CACA,yBAOI,WAAY,CAGZ,qBAAsB,CALtB,WAAY,CAHZ,MAAO,CAIP,cAAe,CAEf,WAAa,CACb,mBAAoB,CARpB,iBAAkB,CAElB,SAAU,CACV,UAOJ,CACA,0DACI,4DACJ,CACA,cACI,aACJ,CAEA,mBACI,gBACJ,CACA,8GAEI,8BAAgC,CAChC,kDACJ,CACA,8CACI,kDACJ,CACA,eACI,kEAAuE,CACvE,iBACJ,CACA,0CACI,oBACJ,CACA,4BACI,wUASI,uCAAyC,CADzC,uBAEJ,CACA,uCAGI,0EACJ,CACA,kCAMI,oBAAqB,CADrB,2DAEJ,CACA,iIAOI,6DACJ,CACA,oCACI,0DACJ,CACA,gBACI,+EACJ,CACA,sEACI,iBAAkB,CAClB,4CAA+C,CAC/C,sCACJ,CACA,2BAEI,uCAAyC,CADzC,uBAEJ,CACA,uPAUI,6BAA8B,CAJ9B,oEAAsE,CACnE,iEAAmE,CAClE,gEAAkE,CAC9D,4DAEZ,CACA,uCAEI,sBAAuB,CADvB,iBAEJ,CACA,uqBAmBI,kCAAoC,CACpC,4BACJ,CACA,qDACI,gEAAuE,CACvE,sCACJ,CACA,2DACI,+DACJ,CACA,wmBAeI,0DAAoE,CACpE,sCACJ,CACA,gDACI,gEAAuE,CACvE,sCACJ,CACA,sDACI,+DACJ,CACJ,CAIA,kBACE,gBAAiB,CACjB,aAAc,CACd,gCACF,CACA,uBACE,gBAAiB,CACjB,aAAc,CACd,kBACF,CACA,uBACE,gBAAiB,CACjB,aAAc,CACd,kBACF,CACA,iBACE,iBAAkB,CAClB,aAAc,CACd,eACF,CACA,oBACE,iBAAkB,CAClB,aAAc,CACd,gBACF,CACA,+BACI,+TAWI,mCAA2C,CAC3C,UACJ,CACJ,CAEA,2TAeI,wBACJ,CAeA,wBAII,UAAW,CAGX,MAAO,CANP,eAAgB,CAChB,QAAS,CACT,SAAU,CAEV,iBAAkB,CAClB,QAEJ,CACA,wBACI,cAAe,CACf,kBACJ,CACA,8BACI,eAAgB,CAChB,UACJ,CACA,gBACI,iBACJ,CACA,qBACI,kBACJ,CACA,SAGI,4BAA6B,CAF7B,WAAY,CACZ,0DAEJ,CACA,gBACI,iBAAkB,CAClB,8BACJ,CACA,2CACI,0DACJ,CACA,+CACI,sBACJ,CACA,gBACI,0BACJ,CACA,eACI,yBACJ,CACA,gNAMI,4BAA6B,CAC7B,yCACJ,CAEA,wBAEI,UAAW,CACX,wCAA2C,CAC3C,eAAgB,CAChB,6CAAgD,CAJhD,iBAAkB,CAKlB,WACJ,CACA,4BAEI,QAAS,CACT,MAAO,CAFP,iBAAkB,CAGlB,OAAQ,CACR,WACJ,CACA,eAEI,6BAA8B,CAD9B,iBAEJ,CAKA,iDACI,mBACJ,CACA,gEACI,sBACJ,CACA,qBACI,6BAA8B,CAC9B,oBACJ,CACA,cAQI,sBAAuB,CALvB,QAAS,CAIT,iBAAkB,CAFlB,MAAO,CAIP,WAAa,CACb,2BAA8B,CAT9B,iBAAkB,CAGlB,OAAQ,CAFR,4BAA+B,CAI/B,WAKJ,CAEA,sCAGI,iCAAmC,CADnC,wCAA2C,CAD3C,uCAGJ,CAIA,8FACI,4BACJ,CACA,mBACI,yBAA0B,CAC1B,wDAA2D,CAC3D,oBACJ,CAGA,iBAOI,4BAA8B,CAE9B,kBAAoB,CANpB,oBAAsB,CAEtB,qBAAuB,CACvB,yBAA2B,CAF3B,mBAAqB,CAHrB,2BAA6B,CAO7B,4BAA8B,CAN9B,mBAQJ,CAIA,kBACI,yBAA0B,CAC1B,mCACJ,CACA,YACI,6BACJ,CACA,+CACI,wDAA0D,CAC1D,gEACJ,CAMA,yEACE,wBACF,CACA,kIAIE,mCACF,CACA,+BACI,GACI,uBACJ,CACJ,CACA,uCACI,GACI,uBACH,CACL,CACA,gCACI,MACI,yBACJ,CACJ","file":"jquery.terminal.min.css","sourcesContent":["/*!\n * __ _____ ________ __\n * / // _ /__ __ _____ ___ __ _/__ ___/__ ___ ______ __ __ __ ___ / /\n * __ / // // // // // _ // _// // / / // _ // _// // // \\/ // _ \\/ /\n * / / // // // // // ___// / / // / / // ___// / / / / // // /\\ // // / /__\n * \\___//____ \\\\___//____//_/ _\\_ / /_//____//_/ /_/ /_//_//_/ /_/ \\__\\_\\___/\n * \\/ /____/ version 2.39.3\n * http://terminal.jcubic.pl\n *\n * This file is part of jQuery Terminal.\n *\n * Copyright (c) 2011-2023 Jakub T. Jankiewicz \n * Released under the MIT license\n *\n * Date: Wed, 20 Mar 2024 22:51:19 +0000\n */\n.terminal .terminal-output .format, .cmd .format,\n.cmd-prompt, .cmd-prompt div {\n display: inline-block;\n}\n.terminal h1, .terminal h2, .terminal h3, .terminal h4, .terminal h5, .terminal h6, .terminal pre, .cmd {\n margin: 0;\n}\n.cmd .cmd-clipboard {\n position: absolute !important;\n let: -16px;\n left: calc(-16px / var(--pixel-density, 1)) !important;\n top: 0 !important;\n width: 16px;\n height: 16px;\n width: calc(16px / var(--pixel-density, 1)) !important;\n height: calc(16px / var(--pixel-density, 1)) !important;\n background: transparent !important;\n border: none !important;\n color: transparent !important;\n outline: none !important;\n padding: 0 !important;\n resize: none !important;\n box-shadow: none !important;\n z-index: 1000 !important;\n overflow: hidden !important;\n white-space: pre !important;\n text-indent: -9999em !important; /* better cursor hiding for Safari and IE */\n top: calc(var(--cursor-line, 0) * var(--size, 1) * (14px / var(--pixel-density, 1))) !important;\n}\n.visually-hidden {\n clip: rect(0 0 0 0);\n clip-path: inset(50%);\n height: 1px;\n overflow: hidden;\n position: absolute;\n white-space: nowrap;\n width: 1px;\n top: 0;\n left: 0;\n}\n.cmd span.cmd-end-line,\n.cmd span.cmd-end-line span,\n.cmd div.cmd-end-line span[data-text]:last-child,\n.cmd div.cmd-end-line span[data-text]:last-child span,\n.cmd textarea,\n.cmd .cursor + span:empty {\n -webkit-touch-callout: none; /* iOS Safari */\n -webkit-user-select: none; /* Safari */\n -khtml-user-select: none; /* Konqueror HTML */\n -moz-user-select: none; /* Firefox */\n -ms-user-select: none; /* Internet Explorer/Edge */\n user-select: none; /* Non-prefixed version, currently supported by Chrome and Opera */\n}\n.terminal img, .terminal audio, .terminal object, .terminal canvas {\n cursor: default;\n}\n.terminal {\n position: relative;\n line-height: initial;\n --base-background: var(--background, #000);\n --base-color: var(--color);\n contain: content;\n}\n.terminal-scroller {\n position: relative;\n overflow-y: auto;\n scrollbar-gutter: stable;\n height: 100%;\n box-sizing: border-box;\n}\nterminal.terminal-temp {\n visibility: hidden;\n}\nbody.terminal {\n min-height: 100vh;\n height: 100%;\n}\nhtml {\n height: 100%;\n}\nbody.terminal, body.full-screen-terminal {\n margin: 0;\n height: 100%;\n}\nbody.full-screen-terminal .terminal {\n height: 100%;\n}\nbody.full-screen-terminal {\n height: 100%;\n height: var(--terminal-force-height, 100dvh);\n}\n.terminal > div.terminal-fill {\n min-height: 100%;\n height: 100%;\n}\n.terminal > .terminal-pixel {\n position: absolute;\n display: inline;\n left: -2px;\n top: -2px;\n width: 1px;\n height: 1px;\n}\n.terminal > .terminal-resizer,\n.terminal > .terminal-font .terminal-resizer {\n position: absolute !important;\n top: 0 !important;\n right: 0 !important;\n bottom: 0 !important;\n left: 0 !important;\n overflow: hidden !important;\n pointer-events: none !important;\n z-index: -1 !important;\n height: 100% !important;\n border: none !important;\n padding: 0 !important;\n width: 100% !important;\n}\n.cmd {\n padding: 0;\n position: relative;\n width: 100%;\n z-index: 300;\n}\n.terminal .cmd, .terminal .cmd div {\n background: transparent !important;\n}\n.terminal a[tabindex=\"1000\"],\n.terminal a[tabindex=\"1000\"]:active,\n.terminal a[tabindex=\"1000\"]:focus {\n outline: none;\n}\n.terminal .inverted, .cmd.cmd.cmd .inverted,\n.terminal .terminal-inverted, .cmd.cmd.cmd .cmd-inverted {\n background-color: #aaa !important;\n color: #000 !important;\n}\n.terminal .terminal-output > :not(.raw) a[href],\n.cmd a[href],\n.terminal.external a[href] {\n color: #3377FF;\n color: var(--link-color, #3377FF);\n cursor: pointer;\n}\n.cmd a[href]:not(.terminal-inverted),\n.terminal .terminal-output > :not(.raw) a[href]:not(.terminal-inverted),\n.terminal.external a[href]:not(.terminal-inverted) {\n --color: var(--link-color, #3377FF);\n /* conditionals: https://www.kizu.ru/conditions-for-css-variables/ */\n /* --glow: 0; */\n text-shadow: 0 0 calc(var(--glow) * 5px) var(--color, #ccc);\n}\n.terminal .terminal-output > :not(.raw) a[href].terminal-inverted,\n.terminal.external a[href].terminal-inverted {\n background: var(--color, #ccc);\n /* conditionals: https://www.kizu.ru/conditions-for-css-variables/ */\n /* --glow: 0; */\n text-shadow: 0 0 calc(var(--glow) * 5px) var(--background, #000);\n}\n.terminal .terminal-output > :not(.raw) a[href]:hover,\n.cmd a[href]:hover,\n.terminal.external a[href]:hover {\n background-color: #3377FF;\n background-color: var(--link-color, #3377FF) !important;\n color: #000;\n color: var(--base-background, #000) !important;\n text-decoration: none;\n}\n.terminal .terminal-output > :not(.raw) a[href] span,\n.cmd a[href] span,\n.terminal.external a[href] span {\n /*\n * shorter and simple solution\n * it's hard to overwrite long :not selector (:not(a span) don't work)\n */\n color: #3377FF !important;\n --color: var(--link-color, #3377FF);\n color: var(--link-color, #3377FF) !important;\n text-decoration: underline;\n}\n.terminal .terminal-output > :not(.raw) a[href]:hover span,\n.cmd a[href]:hover span,\n.terminal.external a[href]:hover span {\n background-color: #3377FF !important;\n background-color: var(--link-color, #3377FF) !important;\n color: #000 !important;\n color: var(--background, #000) !important;\n text-decoration: none;\n}\n.terminal a[href] {\n transition-property: color, background-color;\n transition-duration: 0.2s;\n transition-timing-function: ease-out;\n}\n.cmd .cmd-cursor {\n display: inline-block;\n}\n.cmd .cmd-cursor-line > span,\n.cmd .cmd-cursor-line img {\n display: inline-block;\n}\n.cmd .cmd-cursor.cmd-blink > span[data-text]:not(.emoji):not(.fa):not(.far):not(.fas) span,\n.cmd .cmd-cursor.cmd-blink a,\n.cmd .cmd-cursor.cmd-blink .fa,\n.cmd .cmd-cursor.cmd-blink .far,\n.cmd .cmd-cursor.cmd-blink .fas,\n.cmd .cmd-cursor .emoji {\n -webkit-animation: terminal-blink 1s infinite linear;\n -moz-animation: terminal-blink 1s infinite linear;\n -ms-animation: terminal-blink 1s infinite linear;\n animation: terminal-blink 1s infinite linear;\n}\n.bar.terminal .inverted, .bar.cmd .cmd-inverted {\n box-shadow: -2px 0 0 -1px #aaa;\n box-shadow: -2px 0 0 -1px var(--original-color, #aaa);\n}\n.terminal, .terminal .terminal-output > div > div, .cmd .cmd-prompt {\n display: block;\n height: auto;\n}\n.terminal .terminal-output > div:not(.raw) div {\n white-space: nowrap;\n clear: both;\n}\n.cmd .cmd-prompt > span, .cmd .cmd-prompt > a, .cmd .cmd-prompt:empty {\n float: left;\n}\n.cmd-prompt [data-text] > span {\n white-space: pre;\n}\n.cmd [data-text] span,\n.terminal [data-text] span {\n display: inline-block;\n}\n.terminal-ouput span[style*=\"width\"] {\n min-height: 14px;\n min-height: calc(var(--size, 1) * (14px / var(--pixel-density, 1)));\n}\n.terminal .terminal-output > :not(.raw) > div,\n.cmd div,\n.terminal.external div {\n line-height: 1em;\n line-height: calc((var(--size) * (16px / var(--pixel-density, 1))) + (1px / var(--pixel-density, 1)));\n}\n.cmd .cmd-prompt span.fa::before,\n.cmd .cmd-prompt span.fab::before,\n.cmd .cmd-prompt span.fad::before,\n.cmd .cmd-prompt span.fal::before,\n.cmd .cmd-prompt span.far::before,\n.cmd .cmd-prompt span.fas {\n position: relative;\n top: 2px;\n}\n.terminal,\n.terminal-output > :not(.raw),\n.terminal-output > :not(.raw) span:not(.fas):not(.far):not(.fa),\n.terminal-output > :not(.raw) a,\n.cmd,\n.terminal-font-forcer,\n.cmd span:not(.fas):not(.far):not(.fa) {\n font-family: monospace;\n font-family: var(--font, monospace);\n}\n.terminal,\n.cmd {\n font-size: 12px;\n}\n.terminal-output > div:not(.raw) div::before,\n.cmd .cmd-line::before {\n content: '\\0200B';\n width: 0;\n display: inline-block;\n}\n.terminal span[data-text],\n.cmd span[data-text] {\n display: inline-block;\n}\n.terminal, terminal-output > div:not(.raw) div > span:not(.token):not(.inverted):not(.terminal-inverted):not(.cmd-inverted):not(.terminal-error):not(.emoji),\n.cmd span[data-text]:not(.cmd-inverted):not(.token):not(.emoji) {\n color: #aaa;\n background-color: #000;\n}\n.terminal span[data-text] span, .cmd span[data-text] span {\n text-decoration: inherit;\n}\n.terminal .ansi > div {\n line-height: 13px !important;\n line-height: calc(var(--size, 1) * (13px / var(--pixel-density, 1))) !important;\n}\n.cmd span.cmd-prompt, .cmd .cmd-prompt span {\n --background: transparent;\n}\n.terminal-output .emoji, .cmd .emoji {\n height: 12px;\n height: calc(12px / var(--pixel-density, 1));\n background-size: contain;\n background-repeat: no-repeat;\n color: transparent;\n position: relative;\n}\n.terminal .terminal-output .fa span,\n.terminal .terminal-output .fas span,\n.terminal .terminal-output .far span,\n.cmd .fa span,\n.cmd .fas span,\n.cmd .far span {\n background: transparent !important;\n color: transparent !important;\n clip: rect(1px,1px,1px,1px);\n position: absolute;\n}\n.terminal-output .emoji,\n.terminal-output .emoji span,\n.cmd .emoji, .cmd .emoji span {\n display: inline-block;\n width: 2ch;\n}\n.terminal, .cmd {\n box-sizing: border-box;\n}\n.cmd .cmd-cursor span:not(.token):not(.inverted) {\n color: inherit;\n background-color: inherit;\n}\n.cmd .emoji.emoji.emoji.emoji, .cmd .emoji.emoji.emoji.emoji span {\n color: transparent;\n background-color: transparent;\n}\n.cmd .cmd-cursor * {\n background-color: transparent;\n}\n.terminal span[style*=\"width\"] span,\n.cmd span[style*=\"width\"] span {\n width: inherit;\n}\n.cmd div {\n clear: both;\n}\n.cmd .cmd-prompt + div {\n clear: right;\n}\nterminal .terminal-output > div {\n margin-top: -1px;\n}\n.terminal-output > div.raw > div * {\n overflow-wrap: break-word;\n word-wrap: break-word;\n}\n.terminal .terminal-font {\n position: absolute;\n float: left;\n font-size: inherit;\n line-height: inherit;\n top: -100%;\n left: 0;\n margin-bottom: 1px;\n}\n.cmd > span:not(.cmd-prompt) {\n float: left;\n}\n.cmd .cmd-prompt span.cmd-line {\n display: block;\n float: none;\n}\n.terminal table {\n border-collapse: collapse;\n}\n.terminal td {\n border: 1px solid #aaa;\n}\n.cmd span[data-text]:not(.emoji):not(.fa):not(.fas):not(.far) span {\n background-color: inherit;\n color: inherit;\n}\n/* fix for underline on middle line */\n.cmd [role=\"presentation\"].cmd-cursor-line {\n position: relative;\n z-index: 100;\n cursor: text;\n}\n/* prompt above cursor line */\n.cmd .cmd-prompt {\n position: relative;\n z-index: 200;\n}\n.cmd [role=\"presentation\"]:not(.cmd-cursor-line) {\n overflow: hidden;\n}\n/*\n * this is set so animation can select original color as backgound for cursor\n * so span can have --color for selection\n */\n.cmd {\n --original-color: var(\n --color, #aaa);\n--original-background: var(\n --background);\n}\n.cmd a[href] {\n --original-color: var(--link-color, #3377FF);\n}\n/* DEFAULT ANIMATION */\n@-webkit-keyframes terminal-blink {\n 0%, 50% {\n background-color: #aaa;\n background-color: var(--original-color, #aaa);\n color: #000;\n color: var(--original-background, #000);\n -webkit-box-shadow: 0 0 calc(var(--glow) * 3px) var(--color, #aaa);\n box-shadow: 0 0 calc(var(--glow) * 3px) var(--color, #aaa);\n }\n 50.1%, 100% {\n background-color: inherit;\n /* original background is set in emoji that need different style */\n color: inherit;\n color: var(--original-color, #aaa)\n }\n}\n@-moz-keyframes terminal-blink {\n 0%, 50% {\n background-color: #aaa;\n background-color: var(--original-color, #aaa);\n color: #000;\n color: var(--original-background, #000);\n -webkit-box-shadow: 0 0 calc(var(--glow) * 3px) var(--color, #aaa);\n box-shadow: 0 0 calc(var(--glow) * 3px) var(--color, #aaa);\n }\n 50.1%, 100% {\n background-color: inherit;\n color: inherit;\n color: var(--original-color, #aaa);\n }\n}\n@keyframes terminal-blink {\n 0%, 50% {\n background-color: #aaa;\n background-color: var(--original-color, #aaa);\n color: #000;\n color: var(--original-background, #000);\n -webkit-box-shadow: 0 0 calc(var(--glow) * 3px) var(--color, #aaa);\n box-shadow: 0 0 calc(var(--glow) * 3px) var(--color, #aaa);\n }\n 50.1%, 100% {\n background-color: inherit;\n color: inherit;\n color: var(--original-color, #aaa);\n -webkit-box-shadow: none;\n box-shadow: none;\n }\n}\n/* GLOW ANIMATION */\n@-webkit-keyframes terminal-glow {\n 0%, 50% {\n background-color: #aaa;\n background-color: var(--original-color, #aaa);\n color: #000;\n color: var(--original-background, #000);\n box-shadow: 0 0 3px #aaa;\n -webkit-box-shadow: 0 0 3px var(--color, #aaa);\n box-shadow: 0 0 3px var(--color, #aaa);\n }\n 50.1%, 100% {\n background-color: inherit;\n color: inherit;\n -webkit-box-shadow: none;\n box-shadow: none;\n }\n}\n@-moz-keyframes terminal-glow {\n 0%, 50% {\n background-color: #aaa;\n background-color: var(--original-color, #aaa);\n color: #000;\n color: var(--original-background, #000);\n box-shadow: 0 0 3px #aaa;\n -moz-box-shadow: 0 0 3px var(--color, #aaa);\n box-shadow: 0 0 3px var(--color, #aaa);\n }\n 50.1%, 100% {\n background-color: inherit;\n color: inherit;\n -moz-box-shadow: none;\n box-shadow: none;\n }\n}\n@keyframes terminal-glow {\n 0%, 50% {\n background-color: #aaa;\n background-color: var(--original-color, #aaa);\n color: #000;\n color: var(--original-background, #000);\n box-shadow: 0 0 3px #aaa;\n box-shadow: 0 0 3px var(--color, #aaa);\n }\n 50.1%, 100% {\n background-color: inherit;\n color: inherit;\n box-shadow: none;\n }\n}\n/* BAR ANIMATION */\n@-webkit-keyframes terminal-bar {\n 0%, 50% {\n box-shadow: -2px 0 0 -1px #aaa;\n box-shadow: calc(var(--line-thickness, 2) * -1px) 0 0 -1px var(--original-color, #aaa);\n }\n 50.1%, 100% {\n box-shadow: none;\n }\n}\n@-moz-keyframes terminal-bar {\n 0%, 50% {\n box-shadow: -2px 0 0 -1px #aaa;\n box-shadow: calc(var(--line-thickness, 2) * -1px) 0 0 -1px var(--original-color, #aaa);\n }\n 50.1%, 100% {\n box-shadow: none;\n }\n}\n@keyframes terminal-bar {\n 0%, 50% {\n box-shadow: -2px 0 0 -1px #aaa;\n box-shadow: calc(var(--line-thickness, 2) * -1px) 0 0 -1px var(--original-color, #aaa);\n }\n 50.1%, 100% {\n box-shadow: none;\n }\n}\n/* UNDERLINE ANIMATION */\n@-webkit-keyframes terminal-underline {\n 0%, 50% {\n box-shadow: 0 2px 0 #aaa;\n box-shadow: 0 calc(var(--line-thickness, 2) * 1px) 0 var(--original-color, #aaa);\n }\n 50.1%, 100% {\n box-shadow: none;\n }\n}\n@-moz-keyframes terminal-underline {\n 0%, 50% {\n box-shadow: 0 2px 0 #aaa;\n box-shadow: 0 calc(var(--line-thickness, 2) * 1px) 0 var(--original-color, #aaa);\n }\n 50.1%, 100% {\n box-shadow: none;\n }\n}\n@keyframes terminal-underline {\n 0%, 50% {\n box-shadow: 0 2px 0 #aaa;\n box-shadow: 0 calc(var(--line-thickness, 2) * 1px) 0 var(--original-color, #aaa);\n }\n 50.1%, 100% {\n box-shadow: none;\n }\n}\n/* NONE ANIMATION */\n@-webkit-keyframes terminal-none {\n 0%, 100% {\n background-color: #aaa;\n background-color: var(--original-color, #aaa);\n color: #000;\n color: var(--original-background, #000);\n -webkit-box-shadow: 0 0 calc(var(--glow) * 3px) var(--color, #aaa);\n box-shadow: 0 0 calc(var(--glow) * 3px) var(--color, #aaa);\n }\n}\n@-moz-keyframes terminal-none {\n 0%, 100% {\n background-color: #aaa;\n background-color: var(--original-color, #aaa);\n color: #000;\n color: var(--background, #000);\n -webkit-box-shadow: 0 0 calc(var(--glow) * 3px) var(--color, #aaa);\n box-shadow: 0 0 calc(var(--glow) * 3px) var(--color, #aaa);\n }\n}\n@keyframes terminal-none {\n 0%, 100% {\n background-color: #aaa;\n background-color: var(--original-color, #aaa);\n color: #000;\n color: var(--original-background, #000);\n -webkit-box-shadow: 0 0 calc(var(--glow) * 3px) var(--color, #aaa);\n box-shadow: 0 0 calc(var(--glow) * 3px) var(--color, #aaa);\n }\n}\n.underline-animation .cmd .cmd-cursor.cmd-blink > span[data-text]:not(.emoji):not(.fa):not(.far):not(.fas) span,\n.underline-animation .cmd .cmd-cursor.cmd-blink a,\n.underline-animation .cmd .cmd-cursor.cmd-blink .fa,\n.underline-animation .cmd .cmd-cursor.cmd-blink .far,\n.underline-animation .cmd .cmd-cursor.cmd-blink .fas,\n.underline-animation .cmd .cmd-cursor .emoji {\n -webkit-animation-name: terminal-underline;\n -moz-animation-name: terminal-underline;\n -ms-animation-name: terminal-underline;\n animation-name: terminal-underline;\n}\n.glow-animation .cmd .cmd-cursor.cmd-blink > span[data-text]:not(.emoji):not(.fa):not(.far):not(.fas) span,\n.glow-animation .cmd .cmd-cursor.cmd-blink a,\n.glow-animation .cmd .cmd-cursor.cmd-blink .fa,\n.glow-animation .cmd .cmd-cursor.cmd-blink .far,\n.glow-animation .cmd .cmd-cursor.cmd-blink .fas,\n.glow-animation .cmd .cmd-cursor .emoji {\n -webkit-animation-name: terminal-glow;\n -moz-animation-name: terminal-glow;\n -ms-animation-name: terminal-glow;\n animation-name: terminal-glow;\n}\n.bar-animation .cmd .cmd-cursor.cmd-blink > span[data-text]:not(.emoji):not(.fa):not(.far):not(.fas) span,\n.bar-animation .cmd .cmd-cursor.cmd-blink a,\n.bar-animation .cmd .cmd-cursor.cmd-blink .fa,\n.bar-animation .cmd .cmd-cursor.cmd-blink .far,\n.bar-animation .cmd .cmd-cursor.cmd-blink .fas,\n.bar-animation .cmd .cmd-cursor .emoji {\n -webkit-animation-name: terminal-bar;\n -moz-animation-name: terminal-bar;\n -ms-animation-name: terminal-bar;\n animation-name: terminal-bar;\n}\n/*\n Internet Explorer & Edge *, Safari ≤ 6\n source: https://w3reign.com/internet-explorer-edge-css-hacks/\n*/\n\n\n@supports (-ms-ime-align:auto) {\n .cmd .cmd-clipboard {\n margin-left: -9999px;\n }\n @keyframes terminal-blink {\n 0%, 50% {\n background-color: var(--original-color, #aaa);\n color: var(--background, #000);\n }\n 50.1%, 100% {\n background-color: var(--background, #000);\n color: var(--original-color, #aaa);\n }\n }\n @keyframes terminal-bar {\n 0%, 50% {\n border-left-color: var(--color, #aaa);\n }\n 50.1%, 100% {\n border-left-color: var(--background, #000);\n }\n }\n @keyframes terminal-underline {\n 0%, 50% {\n border-bottom-color: var(--color, #aaa);\n line-height: 12px;\n line-height: calc(var(--size, 1) * (12px / var(--pixel-density, 1)));\n }\n 50.1%, 100% {\n border-bottom-color: var(--background, #000);\n line-height: 12px;\n line-height: calc(var(--size, 1) * (12px / var(--pixel-density, 1)));\n }\n }\n}\n/* IE hack Edge one don't work in IE11 */\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .cmd .cmd-clipboard {\n margin-left: -9999px;\n }\n .underline-animation .cursor.blink span span {\n margin-top: 1px;\n }\n @-ms-keyframes terminal-blink {\n 0%, 50% {\n background-color: #aaa;\n color: #000;\n }\n 50.1%, 100% {\n background-color: #000;\n color: #aaa;\n }\n }\n}\n.terminal h1::-moz-selection,\n.terminal h2::-moz-selection,\n.terminal h3::-moz-selection,\n.terminal h4::-moz-selection,\n.terminal h5::-moz-selection,\n.terminal h6::-moz-selection,\n.terminal pre::-moz-selection,\n.terminal td::-moz-selection,\n.terminal .terminal-output::-moz-selection,\n.terminal .terminal-output div div::-moz-selection,\n.terminal .terminal-output div div a::-moz-selection,\n.terminal .terminal-output span[data-text]::-moz-selection,\n.terminal .terminal-output span[data-text]:not(.far):not(.fa):not(.fas) span::-moz-selection,\n.terminal .terminal-output .raw div::-moz-selection,\n.cmd span[data-text]::-moz-selection,\n.cmd span[data-text]:not(.far):not(.fa):not(.fas) span::-moz-selection {\n background-color: #aaa;\n color: #000;\n}\n/* this don't work in Chrome\n.terminal tr td::-moz-selection {\n border-color: #000;\n}\n.terminal tr td::selection {\n border-color: #000;\n}\n*/\n/* fix selection/click on text that was echo without newline while prompt is relocated */\n.terminal .cmd {\n pointer-events: none;\n}\n.terminal .cmd-prompt * {\n pointer-events: visible;\n}\n.cmd-prompt > span:first-child {\n margin-left: var(--prompt-offset);\n}\n.terminal .cmd-wrapper > div:not(.cmd-cursor-line),\n.terminal .cmd-cursor-line > span,\n.terminal .cmd textarea {\n pointer-events: visible;\n}\n.terminal h1::selection,\n.terminal h2::selection,\n.terminal h3::selection,\n.terminal h4::selection,\n.terminal h5::selection,\n.terminal h6::selection,\n.terminal pre::selection,\n.terminal td::selection,\n.terminal .terminal-output::selection,\n.terminal .terminal-output div div::selection,\n.terminal .terminal-output div div a::selection,\n.terminal .terminal-output span[data-text]::selection,\n.terminal .terminal-output span[data-text]:not(.far):not(.fa):not(.fas) span::selection,\n.terminal .terminal-output .raw div::selection,\n.cmd span[data-text]:not(.far):not(.fa):not(.fas) span::selection {\n /*\n * use rgba to fix transparent selection in chrome\n * http://stackoverflow.com/questions/7224445/css3-selection-behaves-differently-in-ff-chrome\n */\n background-color: rgba(170, 170, 170, 0.99);\n color: #000;\n}\n.terminal-output .emoji::-moz-selection,\n.terminal-output .emoji span::-moz-selection,\n.cmd .emoji::-moz-selection,\n.cmd .emoji span::-moz-selection,\n.cmd textarea::-moz-selection {\n background-color: transparent !important;\n color: transparent !important;\n}\n.terminal-output .emoji::selection,\n.terminal-output .emoji span::selection,\n.cmd .emoji span::selection,\n.cmd .emoji::selection,\n.cmd textarea::selection {\n background-color: transparent !important;\n color: transparent !important;\n}\n\n.terminal .terminal-output > :not(.raw) .terminal-error,\n.terminal .terminal-output > :not(.raw) .terminal-error * {\n color: red;\n color: var(--error-color, red);\n}\n.tilda {\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n z-index: 1100;\n}\n.ui-dialog-content .terminal {\n width: 100%;\n height: 100%;\n box-sizing: border-box;\n}\n.ui-dialog .ui-dialog-content.dterm {\n padding: 0;\n}\n.clear {\n clear: both;\n}\n.terminal .terminal-fill {\n position: absolute;\n left: 0;\n top: -100%;\n width: 100%;\n height: 100%;\n margin: 1px 0 0;\n border: none;\n opacity: 0.01;\n pointer-events: none;\n box-sizing: border-box;\n}\n.terminal-scroller, .terminal .terminal-fill, .cmd-editable {\n padding: calc(1px * var(--padding, 10) / var(--pixel-density, 1));\n}\n.cmd-editable {\n padding-top: 0;\n}\n/* padding added as margin to .cmd to fix FireFox bug see: https://stackoverflow.com/q/29986977/387194 */\n.terminal-scroller {\n padding-bottom: 0;\n}\n.terminal .terminal-output > :not(.raw) .terminal-error,\n.terminal .terminal-output > :not(.raw) .terminal-error * {\n --color: var(--error-color, red);\n text-shadow: 0 0 calc(var(--glow) * 5px) var(--color);\n}\n.terminal .terminal-output > :not(.raw) a[href] {\n text-shadow: 0 0 calc(var(--glow) * 5px) var(--color);\n}\n.terminal .cmd {\n margin-bottom: calc(1px * var(--padding, 10) / var(--pixel-density, 1));\n position: relative;\n}\n.terminal .partial, .terminal .partial > div {\n display: inline-block;\n}\n@supports (--css: variables) {\n .terminal,\n .terminal-output > :not(.raw) span[data-text]:not(.token):not(.inverted):not(.terminal-inverted):not(.cmd-inverted):not(.terminal-error):not(.emoji),\n .terminal-output > :not(.raw) a,\n .terminal-output > :not(.raw) div,\n .cmd,\n .cmd span[data-text]:not(.cmd-inverted):not(.token):not(.emoji),\n .terminal.external [data-text],\n .cmd div {\n color: var(--color, #aaa);\n background-color: var(--background, #000);\n }\n .terminal [data-text], .cmd [data-text] {\n /* conditionals: https://www.kizu.ru/conditions-for-css-variables/ */\n /* --glow: 0; */\n text-shadow: var(--text-shadow, 0 0 calc(var(--glow) * 5px) var(--color, #ccc));\n }\n .terminal span[style*=\"--length\"] {\n /*\n * default value for char-width taken from Google Chrome for default font\n * to silence warning in webpack #371\n */\n width: calc(var(--length, 1) * var(--char-width, 7.23438) * 1px);\n display: inline-block;\n }\n .terminal,\n .terminal-output > :not(.raw) span,\n .terminal-output > :not(.raw) a,\n .terminal-output > :not(.raw) div,\n .cmd,\n .cmd span,\n .cmd div {\n font-size: calc(var(--size, 1) * (12px / var(--pixel-density, 1)));\n }\n .terminal-output .emoji, .cmd .emoji {\n height: calc(var(--size, 1) * (12px / var(--pixel-density, 1)));\n }\n .cmd .clipboard {\n top: calc(var(--size, 1) * (14 / var(--pixel-density, 1)) * var(--cursor-line, 0) * 1px);\n }\n .terminal .inverted, .cmd.cmd.cmd .inverted, .cmd.cmd.cmd .cmd-inverted {\n --background: #000;\n background-color: var(--color, #aaa) !important;\n color: var(--background, #000) !important;\n }\n .cmd .cmd-cursor.cmd-blink {\n color: var(--color, #aaa);\n background-color: var(--background, #000);\n }\n .cmd .cmd-cursor.cmd-blink > span[data-text]:not(.emoji):not(.fa):not(.far):not(.fas) span,\n .cmd .cmd-cursor.cmd-blink a,\n .cmd .cmd-cursor.cmd-blink .fa,\n .cmd .cmd-cursor.cmd-blink .far,\n .cmd .cmd-cursor.cmd-blink .fas,\n .cmd .cmd-cursor.cmd-blink .emoji {\n -webkit-animation: var(--animation, terminal-blink) 1s infinite linear;\n -moz-animation: var(--animation, terminal-blink) 1s infinite linear;\n -ms-animation: var(--animation, terminal-blink) 1s infinite linear;\n animation: var(--animation, terminal-blink) 1s infinite linear;\n --original-background: inherit;\n }\n .cmd .cmd-cursor.cmd-blink .emoji span {\n color: transparent;\n background: transparent;\n }\n .terminal h1::-moz-selection,\n .terminal h2::-moz-selection,\n .terminal h3::-moz-selection,\n .terminal h4::-moz-selection,\n .terminal h5::-moz-selection,\n .terminal h6::-moz-selection,\n .terminal pre::-moz-selection,\n .terminal td::-moz-selection,\n .terminal .terminal-output::-moz-selection,\n .terminal .terminal-output div div::-moz-selection,\n .terminal .terminal-output div div a::-moz-selection,\n .terminal .terminal-output span[data-text]::-moz-selection,\n /*\n * font icons (fontawesome) don't render selection we make emoji the same becuase,\n * selection on emoji looks weird\n */\n .terminal .terminal-output span[data-text]:not(.far):not(.fa):not(.fas):not(.emoji) span::-moz-selection,\n .terminal .terminal-output .raw div::-moz-selection,\n .cmd span[data-text]:not(.far):not(.fa):not(.fas):not(.emoji) span::-moz-selection {\n background-color: var(--color, #aaa);\n color: var(--background, #000);\n }\n .terminal .terminal-output div div a::-moz-selection {\n background-color: var(--link-color, rgba(15, 96, 255, 0.99)) !important;\n color: var(--background, #000) !important;\n }\n .terminal .terminal-output div div a:hover::-moz-selection {\n background-color: var(--link-color, rgba(2, 50, 144, 0.99)) !important;\n }\n .terminal h1::selection,\n .terminal h2::selection,\n .terminal h3::selection,\n .terminal h4::selection,\n .terminal h5::selection,\n .terminal h6::selection,\n .terminal pre::selection,\n .terminal td::selection,\n .terminal .terminal-output::selection,\n .terminal .terminal-output div div::selection,\n .terminal .terminal-output div div a::selection,\n .terminal .terminal-output span[data-text]:not(.emoji)::selection,\n .terminal .terminal-output span[data-text]:not(.far):not(.fa):not(.fas):not(.emoji) span::selection,\n .terminal .terminal-output .raw div::selection,\n .cmd span[data-text]:not(.far):not(.fa):not(.fas):not(.emoji) span::selection {\n background-color: var(--color, rgba(170, 170, 170, 0.99)) !important;\n color: var(--background, #000) !important;\n }\n .terminal .terminal-output div div a::selection {\n background-color: var(--link-color, rgba(15, 96, 255, 0.99)) !important;\n color: var(--background, #000) !important;\n }\n .terminal .terminal-output div div a:hover::selection {\n background-color: var(--link-color, rgba(2, 50, 144, 0.99)) !important;\n }\n}\n/*\n * overwrite css variables that don't work with selection in Edge\n */\n@property --color {\n syntax: '';\n inherits: true;\n initial-value: rgba(170, 170, 170, 0.99);\n}\n@property --background {\n syntax: '';\n inherits: true;\n initial-value: #000;\n}\n@property --link-color {\n syntax: '';\n inherits: true;\n initial-value: #3377FF;\n}\n@property --size {\n syntax: '';\n inherits: true;\n initial-value: 1;\n}\n@property --padding {\n syntax: '';\n inherits: true;\n initial-value: 10;\n}\n@supports (-ms-ime-align:auto) {\n .terminal h1::selection,\n .terminal h2::selection,\n .terminal h3::selection,\n .terminal h4::selection,\n .terminal h5::selection,\n .terminal h6::selection,\n .terminal pre::selection,\n .terminal td::selection,\n .terminal .terminal-output div div::selection,\n .terminal .terminal-output div div a::selection,\n .cmd span[data-text]::selection {\n background-color: rgba(170, 170, 170, 0.99);\n color: #000;\n }\n}\n/* PrismJS style overwrites */\n.terminal .token.token,\n.terminal .token.operator,\n.terminal .token.entity,\n.terminal .token.variable,\n.terminal .token.url,\n.terminal .token.string,\n.terminal .style .token.string,\n.terminal .token.token,\n.cmd .token.operator,\n.cmd .token.entity,\n.cmd .token.variable,\n.cmd .token.url,\n.cmd .token.string,\n.cmd .style .token.string,\n.cmd .token.token {\n background-color: inherit;\n}\n/* FireFox hack\n@supports (-moz-animation: foo) {\n .terminal,\n .terminal .terminal-output > :not(.raw) span,\n .terminal .terminal-output > :not(.raw) a,\n .terminal .terminal-output > :not(.raw) div,\n .cmd,\n .cmd span,\n .cmd div {\n line-height: calc(var(--size, 1) * 13px);\n }\n}\n*/\n/* style for autocomplete menu */\n.cmd .cursor-wrapper ul {\n list-style: none;\n margin: 0;\n padding: 0;\n float: left;\n position: absolute;\n top: 14px;\n left: 0;\n}\n.cmd .cursor-wrapper li {\n cursor: pointer;\n white-space: nowrap;\n}\n.cmd .cursor-wrapper li:hover {\n background: #aaa;\n color: #000;\n}\n.cursor-wrapper {\n position: relative;\n}\n.terminal-output img {\n vertical-align: top;\n}\n.cmd img {\n height: 14px;\n height: calc(var(--size, 1) * (14px / var(--pixel-density, 1)));\n border: 1px solid transparent;\n}\n.cmd-cursor img {\n border-color: #ccc;\n border-color: var(--color, #ccc);\n}\n.terminal-output svg.terminal-broken-image {\n height: calc(var(--size, 1) * (14px / var(--pixel-density, 1)));\n}\n.terminal-output svg.terminal-broken-image use {\n fill: var(--color, #ccc);\n}\n.terminal-error {\n --color: var(--error-color);\n}\n.terminal-glow {\n --animation: terminal-glow;\n}\n.terminal-glow span[data-text],\n.terminal-glow .cmd-prompt > span,\n.terminal-glow a[data-text],\n.terminal-glow [data-text] span,\n.terminal-glow .terminal-output > div span,\n.terminal-glow .terminal-output > div a[href] {\n text-shadow: 1px 1px 5px #ccc;\n text-shadow: 1px 1px 5px var(--color, #ccc);\n}\n/* is_bottom detection */\n.terminal-scroll-marker {\n position: relative;\n height: 1px;\n height: calc(1px / var(--pixel-density, 1));\n margin-top: -1px;\n margin-top: calc(-1px / var(--pixel-density, 1));\n z-index: 100;\n}\n.terminal-scroll-marker div {\n position: absolute;\n bottom: 0;\n left: 0;\n right: 0;\n z-index: 200;\n}\n.terminal-less {\n touch-action: none;\n overscroll-behavior-y: contain;\n}\n/*\n * mobile scroll fix, with help from StackOverflow\n * https://stackoverflow.com/a/60535925/387194\n */\n.terminal-mobile.terminal-less .terminal-wrapper {\n pointer-events: none;\n}\n.terminal-mobile.terminal-less .terminal-output a, .cmd-editable {\n pointer-events: visible;\n}\n.cmd-editable::before {\n content: attr(data-cmd-prompt);\n display: inline-block;\n}\n.cmd-editable {\n position: absolute;\n top: calc(var(--cmd-top) * 1px);\n bottom: 0;\n right: 0;\n left: 0;\n z-index: 500;\n color: transparent;\n background: transparent;\n opacity: 0.01;\n outline: 0px solid transparent;\n}\n/* Scrollbar */\n.terminal-scroller::-webkit-scrollbar {\n width: calc(6px / var(--pixel-density, 1));\n height: calc(6px / var(--pixel-density, 1));\n background: var(--background, #000);\n}\n.terminal-scroller::-webkit-scrollbar-thumb {\n background: var(--color, #aaa);\n}\n.terminal-scroller::-webkit-scrollbar-thumb:hover {\n background: var(--color, #aaa);\n}\n.terminal-scroller {\n scrollbar-color: #aaa #000;\n scrollbar-color: var(--color, #aaa) var(--background, #000);\n scrollbar-width: thin;\n}\n\n/* visially hidden */\n.terminal-hidden {\n position: absolute !important;\n width: 1px !important;\n height: 1px !important;\n padding: 0 !important;\n margin: -1px !important;\n overflow: hidden !important;\n clip: rect(0,0,0,0) !important;\n white-space: nowrap !important;\n border: 0 !important;\n}\n/*\n * Allow to change scrollbar color\n */\n.terminal-wrapper {\n --color: var(--base-color);\n --background: var(--base-background);\n}\n.cmd .token {\n --original-color: var(--color);\n}\n.terminal .terminal-blink, .cmd .terminal-blink {\n animation: terminal-ansi-blink 1s steps(2, start) infinite;\n -webkit-animation: terminal-ansi-blink 1s steps(2, start) infinite;\n}\n/* Allow transparent background #698 */\n.terminal .terminal-output,\n.terminal .terminal-output * {\n --background: transparent;\n}\n.terminal .cmd * {\n --background: transparent;\n}\n.terminal .cmd::selection,\n.terminal .cmd *::selection,\n.terminal .terminal-output::selection,\n.terminal .terminal-output *::selection {\n --background: var(--base-background);\n}\n@keyframes terminal-ansi-blink {\n to {\n color: var(--background);\n }\n}\n@-webkit-keyframes terminal-ansi-blink {\n to {\n color: var(--background);\n }\n}\n@media (prefers-reduced-motion) {\n :root {\n --animation: terminal-none;\n }\n}\n"]} \ No newline at end of file +{"version":3,"sources":["jquery.terminal.css"],"names":[],"mappings":"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","file":"jquery.terminal.min.css","sourcesContent":["/*!\n * __ _____ ________ __\n * / // _ /__ __ _____ ___ __ _/__ ___/__ ___ ______ __ __ __ ___ / /\n * __ / // // // // // _ // _// // / / // _ // _// // // \\/ // _ \\/ /\n * / / // // // // // ___// / / // / / // ___// / / / / // // /\\ // // / /__\n * \\___//____ \\\\___//____//_/ _\\_ / /_//____//_/ /_/ /_//_//_/ /_/ \\__\\_\\___/\n * \\/ /____/ version 2.39.3\n * http://terminal.jcubic.pl\n *\n * This file is part of jQuery Terminal.\n *\n * Copyright (c) 2011-2023 Jakub T. Jankiewicz \n * Released under the MIT license\n *\n * Date: Sun, 21 Apr 2024 10:20:57 +0000\n */\n.terminal .terminal-output .format, .cmd .format,\n.cmd-prompt, .cmd-prompt div {\n display: inline-block;\n}\n.terminal h1, .terminal h2, .terminal h3, .terminal h4, .terminal h5, .terminal h6, .terminal pre, .cmd {\n margin: 0;\n}\n.cmd .cmd-clipboard {\n position: absolute !important;\n let: -16px;\n left: calc(-16px / var(--pixel-density, 1)) !important;\n top: 0 !important;\n width: 16px;\n height: 16px;\n width: calc(16px / var(--pixel-density, 1)) !important;\n height: calc(16px / var(--pixel-density, 1)) !important;\n background: transparent !important;\n border: none !important;\n color: transparent !important;\n outline: none !important;\n padding: 0 !important;\n resize: none !important;\n box-shadow: none !important;\n z-index: 1000 !important;\n overflow: hidden !important;\n white-space: pre !important;\n text-indent: -9999em !important; /* better cursor hiding for Safari and IE */\n top: calc(var(--cursor-line, 0) * var(--size, 1) * (14px / var(--pixel-density, 1))) !important;\n}\n.visually-hidden {\n clip: rect(0 0 0 0);\n clip-path: inset(50%);\n height: 1px;\n overflow: hidden;\n position: absolute;\n white-space: nowrap;\n user-select: none;\n width: 1px;\n top: 0;\n left: 0;\n}\n.cmd span.cmd-end-line,\n.cmd span.cmd-end-line span,\n.cmd div.cmd-end-line span[data-text]:last-child,\n.cmd div.cmd-end-line span[data-text]:last-child span,\n.cmd textarea,\n.cmd .cursor + span:empty {\n -webkit-touch-callout: none; /* iOS Safari */\n -webkit-user-select: none; /* Safari */\n -khtml-user-select: none; /* Konqueror HTML */\n -moz-user-select: none; /* Firefox */\n -ms-user-select: none; /* Internet Explorer/Edge */\n user-select: none; /* Non-prefixed version, currently supported by Chrome and Opera */\n}\n.terminal img, .terminal audio, .terminal object, .terminal canvas {\n cursor: default;\n}\n.terminal {\n position: relative;\n line-height: initial;\n --base-background: var(--background, #000);\n --base-color: var(--color);\n contain: content;\n}\n.terminal-scroller {\n position: relative;\n overflow-y: auto;\n scrollbar-gutter: stable;\n height: 100%;\n box-sizing: border-box;\n overflow-x: hidden;\n}\nterminal.terminal-temp {\n visibility: hidden;\n}\nbody.terminal {\n min-height: 100vh;\n height: 100%;\n}\nhtml {\n height: 100%;\n}\nbody.terminal, body.full-screen-terminal {\n margin: 0;\n height: 100%;\n}\nbody.full-screen-terminal .terminal {\n height: 100%;\n}\nbody.full-screen-terminal {\n height: 100%;\n height: var(--terminal-force-height, 100dvh);\n}\n.terminal > div.terminal-fill {\n min-height: 100%;\n height: 100%;\n}\n.terminal > .terminal-pixel {\n position: absolute;\n display: inline;\n left: -2px;\n top: -2px;\n width: 1px;\n height: 1px;\n}\n.terminal > .terminal-resizer,\n.terminal > .terminal-font .terminal-resizer {\n position: absolute !important;\n top: 0 !important;\n right: 0 !important;\n bottom: 0 !important;\n left: 0 !important;\n overflow: hidden !important;\n pointer-events: none !important;\n z-index: -1 !important;\n height: 100% !important;\n border: none !important;\n padding: 0 !important;\n width: 100% !important;\n}\n.cmd {\n padding: 0;\n position: relative;\n width: 100%;\n z-index: 300;\n}\n.terminal .cmd, .terminal .cmd div {\n background: transparent !important;\n}\n.terminal a[tabindex=\"1000\"],\n.terminal a[tabindex=\"1000\"]:active,\n.terminal a[tabindex=\"1000\"]:focus {\n outline: none;\n}\n.terminal .inverted, .cmd.cmd.cmd .inverted,\n.terminal .terminal-inverted, .cmd.cmd.cmd .cmd-inverted {\n background-color: #aaa !important;\n color: #000 !important;\n}\n.terminal .terminal-output > :not(.raw) a[href],\n.cmd a[href],\n.terminal.external a[href] {\n color: #3377FF;\n color: var(--link-color, #3377FF);\n cursor: pointer;\n}\n.cmd a[href]:not(.terminal-inverted),\n.terminal .terminal-output > :not(.raw) a[href]:not(.terminal-inverted),\n.terminal.external a[href]:not(.terminal-inverted) {\n --color: var(--link-color, #3377FF);\n /* conditionals: https://www.kizu.ru/conditions-for-css-variables/ */\n /* --glow: 0; */\n text-shadow: 0 0 calc(var(--glow) * 5px) var(--color, #ccc);\n}\n.terminal .terminal-output > :not(.raw) a[href].terminal-inverted,\n.terminal.external a[href].terminal-inverted {\n background: var(--color, #ccc);\n /* conditionals: https://www.kizu.ru/conditions-for-css-variables/ */\n /* --glow: 0; */\n text-shadow: 0 0 calc(var(--glow) * 5px) var(--background, #000);\n}\n.terminal .terminal-output > :not(.raw) a[href]:hover,\n.cmd a[href]:hover,\n.terminal.external a[href]:hover {\n background-color: #3377FF;\n background-color: var(--link-color, #3377FF) !important;\n color: #000;\n color: var(--base-background, #000) !important;\n text-decoration: none;\n}\n.terminal .terminal-output > :not(.raw) a[href] span,\n.cmd a[href] span,\n.terminal.external a[href] span {\n /*\n * shorter and simple solution\n * it's hard to overwrite long :not selector (:not(a span) don't work)\n */\n color: #3377FF !important;\n --color: var(--link-color, #3377FF);\n color: var(--link-color, #3377FF) !important;\n text-decoration: underline;\n}\n.terminal .terminal-output > :not(.raw) a[href]:hover span,\n.cmd a[href]:hover span,\n.terminal.external a[href]:hover span {\n background-color: #3377FF !important;\n background-color: var(--link-color, #3377FF) !important;\n color: #000 !important;\n color: var(--background, #000) !important;\n text-decoration: none;\n}\n.terminal a[href] {\n transition-property: color, background-color;\n transition-duration: 0.2s;\n transition-timing-function: ease-out;\n}\n.cmd .cmd-cursor {\n display: inline-block;\n}\n.cmd .cmd-cursor-line > span,\n.cmd .cmd-cursor-line img {\n display: inline-block;\n}\n.cmd .cmd-cursor.cmd-blink > span[data-text]:not(.emoji):not(.fa):not(.far):not(.fas) span,\n.cmd .cmd-cursor.cmd-blink a,\n.cmd .cmd-cursor.cmd-blink .fa,\n.cmd .cmd-cursor.cmd-blink .far,\n.cmd .cmd-cursor.cmd-blink .fas,\n.cmd .cmd-cursor .emoji {\n -webkit-animation: terminal-blink 1s infinite linear;\n -moz-animation: terminal-blink 1s infinite linear;\n -ms-animation: terminal-blink 1s infinite linear;\n animation: terminal-blink 1s infinite linear;\n}\n.bar.terminal .inverted, .bar.cmd .cmd-inverted {\n box-shadow: -2px 0 0 -1px #aaa;\n box-shadow: -2px 0 0 -1px var(--original-color, #aaa);\n}\n.terminal, .terminal .terminal-output > div > div, .cmd .cmd-prompt {\n display: block;\n height: auto;\n}\n.terminal .terminal-output > div:not(.raw) div {\n white-space: nowrap;\n clear: both;\n}\n.cmd .cmd-prompt > span, .cmd .cmd-prompt > a, .cmd .cmd-prompt:empty {\n float: left;\n}\n.cmd-prompt [data-text] > span, .cmd-wrapper > div {\n white-space: pre;\n}\n.cmd [data-text] span,\n.terminal [data-text] span {\n display: inline-block;\n}\n.terminal-ouput span[style*=\"width\"] {\n min-height: 14px;\n min-height: calc(var(--size, 1) * (14px / var(--pixel-density, 1)));\n}\n.terminal .terminal-output > :not(.raw) > div,\n.cmd div,\n.terminal.external div {\n line-height: 1em;\n line-height: calc((var(--size) * (16px / var(--pixel-density, 1))) + (1px / var(--pixel-density, 1)));\n}\n.cmd .cmd-prompt span.fa::before,\n.cmd .cmd-prompt span.fab::before,\n.cmd .cmd-prompt span.fad::before,\n.cmd .cmd-prompt span.fal::before,\n.cmd .cmd-prompt span.far::before,\n.cmd .cmd-prompt span.fas {\n position: relative;\n top: 2px;\n}\n.terminal,\n.terminal-output > :not(.raw),\n.terminal-output > :not(.raw) span:not(.fas):not(.far):not(.fa),\n.terminal-output > :not(.raw) a,\n.cmd,\n.terminal-font-forcer,\n.cmd span:not(.fas):not(.far):not(.fa) {\n font-family: monospace;\n font-family: var(--font, monospace);\n}\n.terminal,\n.cmd {\n font-size: 12px;\n}\n.terminal-output > div:not(.raw) div::before,\n.cmd .cmd-line::before {\n content: '\\0200B';\n width: 0;\n display: inline-block;\n}\n.cmd .cmd-line {\n white-space: nowrap;\n}\n.terminal span[data-text],\n.cmd span[data-text] {\n display: inline-block;\n}\n.terminal, terminal-output > div:not(.raw) div > span:not(.token):not(.inverted):not(.terminal-inverted):not(.cmd-inverted):not(.terminal-error):not(.emoji),\n.cmd span[data-text]:not(.cmd-inverted):not(.token):not(.emoji) {\n color: #aaa;\n background-color: #000;\n}\n.terminal span[data-text] span, .cmd span[data-text] span {\n text-decoration: inherit;\n}\n.terminal .ansi > div {\n line-height: 13px !important;\n line-height: calc(var(--size, 1) * (13px / var(--pixel-density, 1))) !important;\n}\n.cmd span.cmd-prompt, .cmd .cmd-prompt span {\n --background: transparent;\n}\n.terminal-output .emoji, .cmd .emoji {\n height: 12px;\n height: calc(12px / var(--pixel-density, 1));\n background-size: contain;\n background-repeat: no-repeat;\n color: transparent;\n position: relative;\n}\n.terminal .terminal-output .fa span,\n.terminal .terminal-output .fas span,\n.terminal .terminal-output .far span,\n.cmd .fa span,\n.cmd .fas span,\n.cmd .far span {\n background: transparent !important;\n color: transparent !important;\n clip: rect(1px,1px,1px,1px);\n position: absolute;\n}\n.terminal-output .emoji,\n.terminal-output .emoji span,\n.cmd .emoji, .cmd .emoji span {\n display: inline-block;\n width: 2ch;\n}\n.terminal, .cmd {\n box-sizing: border-box;\n}\n.cmd .cmd-cursor span:not(.token):not(.inverted) {\n color: inherit;\n background-color: inherit;\n}\n.cmd .emoji.emoji.emoji.emoji, .cmd .emoji.emoji.emoji.emoji span {\n color: transparent;\n background-color: transparent;\n}\n.cmd .cmd-cursor * {\n background-color: transparent;\n}\n.terminal span[style*=\"width\"] span,\n.cmd span[style*=\"width\"] span {\n width: inherit;\n}\n.cmd div {\n clear: both;\n}\n.cmd .cmd-prompt + div {\n clear: right;\n}\nterminal .terminal-output > div {\n margin-top: -1px;\n}\n.terminal-output > div.raw > div * {\n overflow-wrap: break-word;\n word-wrap: break-word;\n}\n.terminal .terminal-font {\n position: absolute;\n float: left;\n font-size: inherit;\n line-height: inherit;\n top: -100%;\n left: 0;\n margin-bottom: 1px;\n}\n.cmd > span:not(.cmd-prompt) {\n float: left;\n}\n.cmd .cmd-prompt span.cmd-line {\n display: block;\n float: none;\n}\n.terminal table {\n border-collapse: collapse;\n}\n.terminal td {\n border: 1px solid #aaa;\n}\n.cmd span[data-text]:not(.emoji):not(.fa):not(.fas):not(.far) span {\n background-color: inherit;\n color: inherit;\n}\n/* fix for underline on middle line */\n.cmd [role=\"presentation\"].cmd-cursor-line {\n position: relative;\n z-index: 100;\n cursor: text;\n}\n/* prompt above cursor line */\n.cmd .cmd-prompt {\n position: relative;\n z-index: 200;\n}\n.cmd [role=\"presentation\"]:not(.cmd-cursor-line) {\n overflow: hidden;\n}\n/*\n * this is set so animation can select original color as backgound for cursor\n * so span can have --color for selection\n */\n.cmd {\n --original-color: var(\n --color, #aaa);\n--original-background: var(\n --background);\n}\n.cmd a[href] {\n --original-color: var(--link-color, #3377FF);\n}\n/* DEFAULT ANIMATION */\n@-webkit-keyframes terminal-blink {\n 0%, 50% {\n background-color: #aaa;\n background-color: var(--original-color, #aaa);\n color: #000;\n color: var(--original-background, #000);\n -webkit-box-shadow: 0 0 calc(var(--glow) * 3px) var(--color, #aaa);\n box-shadow: 0 0 calc(var(--glow) * 3px) var(--color, #aaa);\n }\n 50.1%, 100% {\n background-color: inherit;\n /* original background is set in emoji that need different style */\n color: inherit;\n color: var(--original-color, #aaa)\n }\n}\n@-moz-keyframes terminal-blink {\n 0%, 50% {\n background-color: #aaa;\n background-color: var(--original-color, #aaa);\n color: #000;\n color: var(--original-background, #000);\n -webkit-box-shadow: 0 0 calc(var(--glow) * 3px) var(--color, #aaa);\n box-shadow: 0 0 calc(var(--glow) * 3px) var(--color, #aaa);\n }\n 50.1%, 100% {\n background-color: inherit;\n color: inherit;\n color: var(--original-color, #aaa);\n }\n}\n@keyframes terminal-blink {\n 0%, 50% {\n background-color: #aaa;\n background-color: var(--original-color, #aaa);\n color: #000;\n color: var(--original-background, #000);\n -webkit-box-shadow: 0 0 calc(var(--glow) * 3px) var(--color, #aaa);\n box-shadow: 0 0 calc(var(--glow) * 3px) var(--color, #aaa);\n }\n 50.1%, 100% {\n background-color: inherit;\n color: inherit;\n color: var(--original-color, #aaa);\n -webkit-box-shadow: none;\n box-shadow: none;\n }\n}\n/* GLOW ANIMATION */\n@-webkit-keyframes terminal-glow {\n 0%, 50% {\n background-color: #aaa;\n background-color: var(--original-color, #aaa);\n color: #000;\n color: var(--original-background, #000);\n box-shadow: 0 0 3px #aaa;\n -webkit-box-shadow: 0 0 3px var(--color, #aaa);\n box-shadow: 0 0 3px var(--color, #aaa);\n }\n 50.1%, 100% {\n background-color: inherit;\n color: inherit;\n -webkit-box-shadow: none;\n box-shadow: none;\n }\n}\n@-moz-keyframes terminal-glow {\n 0%, 50% {\n background-color: #aaa;\n background-color: var(--original-color, #aaa);\n color: #000;\n color: var(--original-background, #000);\n box-shadow: 0 0 3px #aaa;\n -moz-box-shadow: 0 0 3px var(--color, #aaa);\n box-shadow: 0 0 3px var(--color, #aaa);\n }\n 50.1%, 100% {\n background-color: inherit;\n color: inherit;\n -moz-box-shadow: none;\n box-shadow: none;\n }\n}\n@keyframes terminal-glow {\n 0%, 50% {\n background-color: #aaa;\n background-color: var(--original-color, #aaa);\n color: #000;\n color: var(--original-background, #000);\n box-shadow: 0 0 3px #aaa;\n box-shadow: 0 0 3px var(--color, #aaa);\n }\n 50.1%, 100% {\n background-color: inherit;\n color: inherit;\n box-shadow: none;\n }\n}\n/* BAR ANIMATION */\n@-webkit-keyframes terminal-bar {\n 0%, 50% {\n box-shadow: -2px 0 0 -1px #aaa;\n box-shadow: calc(var(--line-thickness, 2) * -1px) 0 0 -1px var(--original-color, #aaa);\n }\n 50.1%, 100% {\n box-shadow: none;\n }\n}\n@-moz-keyframes terminal-bar {\n 0%, 50% {\n box-shadow: -2px 0 0 -1px #aaa;\n box-shadow: calc(var(--line-thickness, 2) * -1px) 0 0 -1px var(--original-color, #aaa);\n }\n 50.1%, 100% {\n box-shadow: none;\n }\n}\n@keyframes terminal-bar {\n 0%, 50% {\n box-shadow: -2px 0 0 -1px #aaa;\n box-shadow: calc(var(--line-thickness, 2) * -1px) 0 0 -1px var(--original-color, #aaa);\n }\n 50.1%, 100% {\n box-shadow: none;\n }\n}\n/* UNDERLINE ANIMATION */\n@-webkit-keyframes terminal-underline {\n 0%, 50% {\n box-shadow: 0 2px 0 #aaa;\n box-shadow: 0 calc(var(--line-thickness, 2) * 1px) 0 var(--original-color, #aaa);\n }\n 50.1%, 100% {\n box-shadow: none;\n }\n}\n@-moz-keyframes terminal-underline {\n 0%, 50% {\n box-shadow: 0 2px 0 #aaa;\n box-shadow: 0 calc(var(--line-thickness, 2) * 1px) 0 var(--original-color, #aaa);\n }\n 50.1%, 100% {\n box-shadow: none;\n }\n}\n@keyframes terminal-underline {\n 0%, 50% {\n box-shadow: 0 2px 0 #aaa;\n box-shadow: 0 calc(var(--line-thickness, 2) * 1px) 0 var(--original-color, #aaa);\n }\n 50.1%, 100% {\n box-shadow: none;\n }\n}\n/* NONE ANIMATION */\n@-webkit-keyframes terminal-none {\n 0%, 100% {\n background-color: #aaa;\n background-color: var(--original-color, #aaa);\n color: #000;\n color: var(--original-background, #000);\n -webkit-box-shadow: 0 0 calc(var(--glow) * 3px) var(--color, #aaa);\n box-shadow: 0 0 calc(var(--glow) * 3px) var(--color, #aaa);\n }\n}\n@-moz-keyframes terminal-none {\n 0%, 100% {\n background-color: #aaa;\n background-color: var(--original-color, #aaa);\n color: #000;\n color: var(--background, #000);\n -webkit-box-shadow: 0 0 calc(var(--glow) * 3px) var(--color, #aaa);\n box-shadow: 0 0 calc(var(--glow) * 3px) var(--color, #aaa);\n }\n}\n@keyframes terminal-none {\n 0%, 100% {\n background-color: #aaa;\n background-color: var(--original-color, #aaa);\n color: #000;\n color: var(--original-background, #000);\n -webkit-box-shadow: 0 0 calc(var(--glow) * 3px) var(--color, #aaa);\n box-shadow: 0 0 calc(var(--glow) * 3px) var(--color, #aaa);\n }\n}\n.underline-animation .cmd .cmd-cursor.cmd-blink > span[data-text]:not(.emoji):not(.fa):not(.far):not(.fas) span,\n.underline-animation .cmd .cmd-cursor.cmd-blink a,\n.underline-animation .cmd .cmd-cursor.cmd-blink .fa,\n.underline-animation .cmd .cmd-cursor.cmd-blink .far,\n.underline-animation .cmd .cmd-cursor.cmd-blink .fas,\n.underline-animation .cmd .cmd-cursor .emoji {\n -webkit-animation-name: terminal-underline;\n -moz-animation-name: terminal-underline;\n -ms-animation-name: terminal-underline;\n animation-name: terminal-underline;\n}\n.glow-animation .cmd .cmd-cursor.cmd-blink > span[data-text]:not(.emoji):not(.fa):not(.far):not(.fas) span,\n.glow-animation .cmd .cmd-cursor.cmd-blink a,\n.glow-animation .cmd .cmd-cursor.cmd-blink .fa,\n.glow-animation .cmd .cmd-cursor.cmd-blink .far,\n.glow-animation .cmd .cmd-cursor.cmd-blink .fas,\n.glow-animation .cmd .cmd-cursor .emoji {\n -webkit-animation-name: terminal-glow;\n -moz-animation-name: terminal-glow;\n -ms-animation-name: terminal-glow;\n animation-name: terminal-glow;\n}\n.bar-animation .cmd .cmd-cursor.cmd-blink > span[data-text]:not(.emoji):not(.fa):not(.far):not(.fas) span,\n.bar-animation .cmd .cmd-cursor.cmd-blink a,\n.bar-animation .cmd .cmd-cursor.cmd-blink .fa,\n.bar-animation .cmd .cmd-cursor.cmd-blink .far,\n.bar-animation .cmd .cmd-cursor.cmd-blink .fas,\n.bar-animation .cmd .cmd-cursor .emoji {\n -webkit-animation-name: terminal-bar;\n -moz-animation-name: terminal-bar;\n -ms-animation-name: terminal-bar;\n animation-name: terminal-bar;\n}\n/*\n Internet Explorer & Edge *, Safari ≤ 6\n source: https://w3reign.com/internet-explorer-edge-css-hacks/\n*/\n\n\n@supports (-ms-ime-align:auto) {\n .cmd .cmd-clipboard {\n margin-left: -9999px;\n }\n @keyframes terminal-blink {\n 0%, 50% {\n background-color: var(--original-color, #aaa);\n color: var(--background, #000);\n }\n 50.1%, 100% {\n background-color: var(--background, #000);\n color: var(--original-color, #aaa);\n }\n }\n @keyframes terminal-bar {\n 0%, 50% {\n border-left-color: var(--color, #aaa);\n }\n 50.1%, 100% {\n border-left-color: var(--background, #000);\n }\n }\n @keyframes terminal-underline {\n 0%, 50% {\n border-bottom-color: var(--color, #aaa);\n line-height: 12px;\n line-height: calc(var(--size, 1) * (12px / var(--pixel-density, 1)));\n }\n 50.1%, 100% {\n border-bottom-color: var(--background, #000);\n line-height: 12px;\n line-height: calc(var(--size, 1) * (12px / var(--pixel-density, 1)));\n }\n }\n}\n/* IE hack Edge one don't work in IE11 */\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .cmd .cmd-clipboard {\n margin-left: -9999px;\n }\n .underline-animation .cursor.blink span span {\n margin-top: 1px;\n }\n @-ms-keyframes terminal-blink {\n 0%, 50% {\n background-color: #aaa;\n color: #000;\n }\n 50.1%, 100% {\n background-color: #000;\n color: #aaa;\n }\n }\n}\n.terminal h1::-moz-selection,\n.terminal h2::-moz-selection,\n.terminal h3::-moz-selection,\n.terminal h4::-moz-selection,\n.terminal h5::-moz-selection,\n.terminal h6::-moz-selection,\n.terminal pre::-moz-selection,\n.terminal td::-moz-selection,\n.terminal .terminal-output::-moz-selection,\n.terminal .terminal-output div div::-moz-selection,\n.terminal .terminal-output div div a::-moz-selection,\n.terminal .terminal-output span[data-text]::-moz-selection,\n.terminal .terminal-output span[data-text]:not(.far):not(.fa):not(.fas) span::-moz-selection,\n.terminal .terminal-output .raw div::-moz-selection,\n.cmd span[data-text]::-moz-selection,\n.cmd span[data-text]:not(.far):not(.fa):not(.fas) span::-moz-selection {\n background-color: #aaa;\n color: #000;\n}\n/* this don't work in Chrome\n.terminal tr td::-moz-selection {\n border-color: #000;\n}\n.terminal tr td::selection {\n border-color: #000;\n}\n*/\n/* fix selection/click on text that was echo without newline while prompt is relocated */\n.terminal .cmd {\n pointer-events: none;\n}\n.terminal .cmd-prompt * {\n pointer-events: visible;\n}\n.cmd-prompt > span:first-child {\n margin-left: var(--prompt-offset);\n}\n.terminal .cmd-wrapper > div:not(.cmd-cursor-line),\n.terminal .cmd-cursor-line > span,\n.terminal .cmd textarea {\n pointer-events: visible;\n}\n.terminal h1::selection,\n.terminal h2::selection,\n.terminal h3::selection,\n.terminal h4::selection,\n.terminal h5::selection,\n.terminal h6::selection,\n.terminal pre::selection,\n.terminal td::selection,\n.terminal .terminal-output::selection,\n.terminal .terminal-output div div::selection,\n.terminal .terminal-output div div a::selection,\n.terminal .terminal-output span[data-text]::selection,\n.terminal .terminal-output span[data-text]:not(.far):not(.fa):not(.fas) span::selection,\n.terminal .terminal-output .raw div::selection,\n.cmd span[data-text]:not(.far):not(.fa):not(.fas) span::selection {\n /*\n * use rgba to fix transparent selection in chrome\n * http://stackoverflow.com/questions/7224445/css3-selection-behaves-differently-in-ff-chrome\n */\n background-color: rgba(170, 170, 170, 0.99);\n color: #000;\n}\n.terminal-output .emoji::-moz-selection,\n.terminal-output .emoji span::-moz-selection,\n.cmd .emoji::-moz-selection,\n.cmd .emoji span::-moz-selection,\n.cmd textarea::-moz-selection {\n background-color: transparent !important;\n color: transparent !important;\n}\n.terminal-output .emoji::selection,\n.terminal-output .emoji span::selection,\n.cmd .emoji span::selection,\n.cmd .emoji::selection,\n.cmd textarea::selection {\n background-color: transparent !important;\n color: transparent !important;\n}\n\n.terminal .terminal-output > :not(.raw) .terminal-error,\n.terminal .terminal-output > :not(.raw) .terminal-error * {\n color: red;\n color: var(--error-color, red);\n}\n.tilda {\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n z-index: 1100;\n}\n.ui-dialog-content .terminal {\n width: 100%;\n height: 100%;\n box-sizing: border-box;\n}\n.ui-dialog .ui-dialog-content.dterm {\n padding: 0;\n}\n.clear {\n clear: both;\n}\n.terminal .terminal-fill {\n position: absolute;\n left: 0;\n top: -100%;\n width: 100%;\n height: 100%;\n margin: 1px 0 0;\n border: none;\n opacity: 0.01;\n pointer-events: none;\n box-sizing: border-box;\n}\n.terminal-scroller, .terminal .terminal-fill, .cmd-editable {\n padding: calc(1px * var(--padding, 10) / var(--pixel-density, 1));\n}\n.cmd-editable {\n padding-top: 0;\n}\n/* padding added as margin to .cmd to fix FireFox bug see: https://stackoverflow.com/q/29986977/387194 */\n.terminal-scroller {\n padding-bottom: 0;\n}\n.terminal .terminal-output > :not(.raw) .terminal-error,\n.terminal .terminal-output > :not(.raw) .terminal-error * {\n --color: var(--error-color, red);\n text-shadow: 0 0 calc(var(--glow) * 5px) var(--color);\n}\n.terminal .terminal-output > :not(.raw) a[href] {\n text-shadow: 0 0 calc(var(--glow) * 5px) var(--color);\n}\n.terminal .cmd {\n margin-bottom: calc(1px * var(--padding, 10) / var(--pixel-density, 1));\n position: relative;\n}\n.terminal .partial, .terminal .partial > div {\n display: inline-block;\n}\n@supports (--css: variables) {\n .terminal,\n .terminal-output > :not(.raw) span[data-text]:not(.token):not(.inverted):not(.terminal-inverted):not(.cmd-inverted):not(.terminal-error):not(.emoji),\n .terminal-output > :not(.raw) a,\n .terminal-output > :not(.raw) div,\n .cmd,\n .cmd span[data-text]:not(.cmd-inverted):not(.token):not(.emoji),\n .terminal.external [data-text],\n .cmd div {\n color: var(--color, #aaa);\n background-color: var(--background, #000);\n }\n .terminal [data-text], .cmd [data-text] {\n /* conditionals: https://www.kizu.ru/conditions-for-css-variables/ */\n /* --glow: 0; */\n text-shadow: var(--text-shadow, 0 0 calc(var(--glow) * 5px) var(--color, #ccc));\n }\n .terminal span[style*=\"--length\"] {\n /*\n * default value for char-width taken from Google Chrome for default font\n * to silence warning in webpack #371\n */\n width: calc(var(--length, 1) * var(--char-width, 7.23438) * 1px);\n display: inline-block;\n }\n .terminal,\n .terminal-output > :not(.raw) span,\n .terminal-output > :not(.raw) a,\n .terminal-output > :not(.raw) div,\n .cmd,\n .cmd span,\n .cmd div {\n font-size: calc(var(--size, 1) * (12px / var(--pixel-density, 1)));\n }\n .terminal-output .emoji, .cmd .emoji {\n height: calc(var(--size, 1) * (12px / var(--pixel-density, 1)));\n }\n .cmd .clipboard {\n top: calc(var(--size, 1) * (14 / var(--pixel-density, 1)) * var(--cursor-line, 0) * 1px);\n }\n .terminal .inverted, .cmd.cmd.cmd .inverted, .cmd.cmd.cmd .cmd-inverted {\n --background: #000;\n background-color: var(--color, #aaa) !important;\n color: var(--background, #000) !important;\n }\n .cmd .cmd-cursor.cmd-blink {\n color: var(--color, #aaa);\n background-color: var(--background, #000);\n }\n .cmd .cmd-cursor.cmd-blink > span[data-text]:not(.emoji):not(.fa):not(.far):not(.fas) span,\n .cmd .cmd-cursor.cmd-blink a,\n .cmd .cmd-cursor.cmd-blink .fa,\n .cmd .cmd-cursor.cmd-blink .far,\n .cmd .cmd-cursor.cmd-blink .fas,\n .cmd .cmd-cursor.cmd-blink .emoji {\n -webkit-animation: var(--animation, terminal-blink) 1s infinite linear;\n -moz-animation: var(--animation, terminal-blink) 1s infinite linear;\n -ms-animation: var(--animation, terminal-blink) 1s infinite linear;\n animation: var(--animation, terminal-blink) 1s infinite linear;\n --original-background: inherit;\n }\n .cmd .cmd-cursor.cmd-blink .emoji span {\n color: transparent;\n background: transparent;\n }\n .terminal h1::-moz-selection,\n .terminal h2::-moz-selection,\n .terminal h3::-moz-selection,\n .terminal h4::-moz-selection,\n .terminal h5::-moz-selection,\n .terminal h6::-moz-selection,\n .terminal pre::-moz-selection,\n .terminal td::-moz-selection,\n .terminal .terminal-output::-moz-selection,\n .terminal .terminal-output div div::-moz-selection,\n .terminal .terminal-output div div a::-moz-selection,\n .terminal .terminal-output span[data-text]::-moz-selection,\n /*\n * font icons (fontawesome) don't render selection we make emoji the same becuase,\n * selection on emoji looks weird\n */\n .terminal .terminal-output span[data-text]:not(.far):not(.fa):not(.fas):not(.emoji) span::-moz-selection,\n .terminal .terminal-output .raw div::-moz-selection,\n .cmd span[data-text]:not(.far):not(.fa):not(.fas):not(.emoji) span::-moz-selection {\n background-color: var(--color, #aaa);\n color: var(--background, #000);\n }\n .terminal .terminal-output div div a::-moz-selection {\n background-color: var(--link-color, rgba(15, 96, 255, 0.99)) !important;\n color: var(--background, #000) !important;\n }\n .terminal .terminal-output div div a:hover::-moz-selection {\n background-color: var(--link-color, rgba(2, 50, 144, 0.99)) !important;\n }\n .terminal h1::selection,\n .terminal h2::selection,\n .terminal h3::selection,\n .terminal h4::selection,\n .terminal h5::selection,\n .terminal h6::selection,\n .terminal pre::selection,\n .terminal td::selection,\n .terminal .terminal-output::selection,\n .terminal .terminal-output div div::selection,\n .terminal .terminal-output div div a::selection,\n .terminal .terminal-output span[data-text]:not(.emoji)::selection,\n .terminal .terminal-output span[data-text]:not(.far):not(.fa):not(.fas):not(.emoji) span::selection,\n .terminal .terminal-output .raw div::selection,\n .cmd span[data-text]:not(.far):not(.fa):not(.fas):not(.emoji) span::selection {\n background-color: var(--color, rgba(170, 170, 170, 0.99)) !important;\n color: var(--background, #000) !important;\n }\n .terminal .terminal-output div div a::selection {\n background-color: var(--link-color, rgba(15, 96, 255, 0.99)) !important;\n color: var(--background, #000) !important;\n }\n .terminal .terminal-output div div a:hover::selection {\n background-color: var(--link-color, rgba(2, 50, 144, 0.99)) !important;\n }\n}\n/*\n * overwrite css variables that don't work with selection in Edge\n */\n@property --color {\n syntax: '';\n inherits: true;\n initial-value: rgba(170, 170, 170, 0.99);\n}\n@property --background {\n syntax: '';\n inherits: true;\n initial-value: #000;\n}\n@property --link-color {\n syntax: '';\n inherits: true;\n initial-value: #3377FF;\n}\n@property --size {\n syntax: '';\n inherits: true;\n initial-value: 1;\n}\n@property --padding {\n syntax: '';\n inherits: true;\n initial-value: 10;\n}\n@supports (-ms-ime-align:auto) {\n .terminal h1::selection,\n .terminal h2::selection,\n .terminal h3::selection,\n .terminal h4::selection,\n .terminal h5::selection,\n .terminal h6::selection,\n .terminal pre::selection,\n .terminal td::selection,\n .terminal .terminal-output div div::selection,\n .terminal .terminal-output div div a::selection,\n .cmd span[data-text]::selection {\n background-color: rgba(170, 170, 170, 0.99);\n color: #000;\n }\n}\n/* PrismJS style overwrites */\n.terminal .token.token,\n.terminal .token.operator,\n.terminal .token.entity,\n.terminal .token.variable,\n.terminal .token.url,\n.terminal .token.string,\n.terminal .style .token.string,\n.terminal .token.token,\n.cmd .token.operator,\n.cmd .token.entity,\n.cmd .token.variable,\n.cmd .token.url,\n.cmd .token.string,\n.cmd .style .token.string,\n.cmd .token.token {\n background-color: inherit;\n}\n/* FireFox hack\n@supports (-moz-animation: foo) {\n .terminal,\n .terminal .terminal-output > :not(.raw) span,\n .terminal .terminal-output > :not(.raw) a,\n .terminal .terminal-output > :not(.raw) div,\n .cmd,\n .cmd span,\n .cmd div {\n line-height: calc(var(--size, 1) * 13px);\n }\n}\n*/\n/* style for autocomplete menu */\n.cmd .cursor-wrapper ul {\n list-style: none;\n margin: 0;\n padding: 0;\n float: left;\n position: absolute;\n top: 14px;\n left: 0;\n}\n.cmd .cursor-wrapper li {\n cursor: pointer;\n white-space: nowrap;\n}\n.cmd .cursor-wrapper li:hover {\n background: #aaa;\n color: #000;\n}\n.cursor-wrapper {\n position: relative;\n}\n.terminal-output img {\n vertical-align: top;\n}\n.cmd img {\n height: 14px;\n height: calc(var(--size, 1) * (14px / var(--pixel-density, 1)));\n border: 1px solid transparent;\n}\n.cmd-cursor img {\n border-color: #ccc;\n border-color: var(--color, #ccc);\n}\n.terminal-output svg.terminal-broken-image {\n height: calc(var(--size, 1) * (14px / var(--pixel-density, 1)));\n}\n.terminal-output svg.terminal-broken-image use {\n fill: var(--color, #ccc);\n}\n.terminal-error {\n --color: var(--error-color);\n}\n.terminal-glow {\n --animation: terminal-glow;\n}\n.terminal-glow span[data-text],\n.terminal-glow .cmd-prompt > span,\n.terminal-glow a[data-text],\n.terminal-glow [data-text] span,\n.terminal-glow .terminal-output > div span,\n.terminal-glow .terminal-output > div a[href] {\n text-shadow: 1px 1px 5px #ccc;\n text-shadow: 1px 1px 5px var(--color, #ccc);\n}\n/* is_bottom detection */\n.terminal-scroll-marker {\n position: relative;\n height: 1px;\n height: calc(1px / var(--pixel-density, 1));\n margin-top: -1px;\n margin-top: calc(-1px / var(--pixel-density, 1));\n z-index: 100;\n}\n.terminal-scroll-marker div {\n position: absolute;\n bottom: 0;\n left: 0;\n right: 0;\n z-index: 200;\n}\n.terminal-less {\n touch-action: none;\n overscroll-behavior-y: contain;\n}\n/*\n * mobile scroll fix, with help from StackOverflow\n * https://stackoverflow.com/a/60535925/387194\n */\n.terminal-mobile.terminal-less .terminal-wrapper {\n pointer-events: none;\n}\n.terminal-mobile.terminal-less .terminal-output a, .cmd-editable {\n pointer-events: visible;\n}\n.cmd-editable::before {\n content: attr(data-cmd-prompt);\n display: inline-block;\n}\n.cmd-editable {\n position: absolute;\n top: calc(var(--cmd-top) * 1px);\n bottom: 0;\n right: 0;\n left: 0;\n z-index: 500;\n color: transparent;\n background: transparent;\n opacity: 0.01;\n outline: 0px solid transparent;\n}\n/* Scrollbar */\n.terminal-scroller::-webkit-scrollbar {\n width: calc(6px / var(--pixel-density, 1));\n height: calc(6px / var(--pixel-density, 1));\n background: var(--background, #000);\n}\n.terminal-scroller::-webkit-scrollbar-thumb {\n background: var(--color, #aaa);\n}\n.terminal-scroller::-webkit-scrollbar-thumb:hover {\n background: var(--color, #aaa);\n}\n.terminal-scroller {\n scrollbar-color: #aaa #000;\n scrollbar-color: var(--color, #aaa) var(--background, #000);\n scrollbar-width: thin;\n}\n\n/* visially hidden */\n.terminal-hidden {\n position: absolute !important;\n width: 1px !important;\n height: 1px !important;\n padding: 0 !important;\n margin: -1px !important;\n overflow: hidden !important;\n clip: rect(0,0,0,0) !important;\n white-space: nowrap !important;\n border: 0 !important;\n}\n/*\n * Allow to change scrollbar color\n */\n.terminal-wrapper {\n --color: var(--base-color);\n --background: var(--base-background);\n}\n.cmd .token {\n --original-color: var(--color);\n}\n.terminal .terminal-blink, .cmd .terminal-blink {\n animation: terminal-ansi-blink 1s steps(2, start) infinite;\n -webkit-animation: terminal-ansi-blink 1s steps(2, start) infinite;\n}\n/* Allow transparent background #698 */\n.terminal .terminal-output,\n.terminal .terminal-output * {\n --background: transparent;\n}\n.terminal .cmd * {\n --background: transparent;\n}\n.terminal .cmd::selection,\n.terminal .cmd *::selection,\n.terminal .terminal-output::selection,\n.terminal .terminal-output *::selection {\n --background: var(--base-background);\n}\n@keyframes terminal-ansi-blink {\n to {\n color: var(--background);\n }\n}\n@-webkit-keyframes terminal-ansi-blink {\n to {\n color: var(--background);\n }\n}\n@media (prefers-reduced-motion) {\n :root {\n --animation: terminal-none;\n }\n}\n"]} \ No newline at end of file diff --git a/js/jquery.terminal-2.39.3.js b/js/jquery.terminal-2.39.3.js deleted file mode 100644 index 16237bfa..00000000 --- a/js/jquery.terminal-2.39.3.js +++ /dev/null @@ -1,12583 +0,0 @@ -/**@license - * __ _____ ________ __ - * / // _ /__ __ _____ ___ __ _/__ ___/__ ___ ______ __ __ __ ___ / / - * __ / // // // // // _ // _// // / / // _ // _// // // \/ // _ \/ / - * / / // // // // // ___// / / // / / // ___// / / / / // // /\ // // / /__ - * \___//____ \\___//____//_/ _\_ / /_//____//_/ /_/ /_//_//_/ /_/ \__\_\___/ - * \/ /____/ version 2.39.3 - * - * This file is part of jQuery Terminal. https://terminal.jcubic.pl - * - * Copyright (c) 2010-2023 Jakub T. Jankiewicz - * Released under the MIT license - * - * Contains: - * - * Storage plugin Distributed under the MIT License - * modified to work from Data URIs that block storage and cookies in Chrome - * Copyright (c) 2010 Dave Schindler - * - * jQuery Timers licenced with the WTFPL - * - * - * Cross-Browser Split 1.1.1 - * Copyright 2007-2012 Steven Levithan - * Available under the MIT License - * - * jQuery Caret - * Copyright (c) 2009, Gideon Sireling - * 3 clause BSD License - * - * sprintf.js - * Copyright (c) 2007-2013 Alexandru Marasteanu - * licensed under 3 clause BSD license - * - * debounce function from Lodash - * Copyright JS Foundation and other contributors - * The MIT License - * - * emoji regex v9.0.0 by Mathias Bynens - * MIT license - * - * broken image by Sophia Bai from the Noun Project (CC-BY) - * - * Date: Wed, 20 Mar 2024 22:51:18 +0000 - */ -/* global define, Map, BigInt */ -/* eslint-disable */ -/* istanbul ignore next */ -(function(ctx) { - var sprintf = function() { - if (!sprintf.cache.hasOwnProperty(arguments[0])) { - sprintf.cache[arguments[0]] = sprintf.parse(arguments[0]); - } - return sprintf.format.call(null, sprintf.cache[arguments[0]], arguments); - }; - sprintf.format = function(parse_tree, argv) { - var cursor = 1, tree_length = parse_tree.length, node_type = '', arg, output = [], i, k, match, pad, pad_character, pad_length; - for (i = 0; i < tree_length; i++) { - node_type = get_type(parse_tree[i]); - if (node_type === 'string') { - output.push(parse_tree[i]); - } - else if (node_type === 'array') { - match = parse_tree[i]; // convenience purposes only - if (match[2]) { // keyword argument - arg = argv[cursor]; - for (k = 0; k < match[2].length; k++) { - if (!arg.hasOwnProperty(match[2][k])) { - throw(sprintf('[sprintf] property "%s" does not exist', match[2][k])); - } - arg = arg[match[2][k]]; - } - } - else if (match[1]) { // positional argument (explicit) - arg = argv[match[1]]; - } - else { // positional argument (implicit) - arg = argv[cursor++]; - } - - if (/[^s]/.test(match[8]) && (get_type(arg) !== 'number')) { - throw(sprintf('[sprintf] expecting number but found %s', get_type(arg))); - } - switch (match[8]) { - case 'b': arg = arg.toString(2); break; - case 'c': arg = String.fromCharCode(arg); break; - case 'd': arg = parseInt(arg, 10); break; - case 'e': arg = match[7] ? arg.toExponential(match[7]) : arg.toExponential(); break; - case 'f': arg = match[7] ? parseFloat(arg).toFixed(match[7]) : parseFloat(arg); break; - case 'o': arg = arg.toString(8); break; - case 's': arg = ((arg = String(arg)) && match[7] ? arg.slice(0, match[7]) : arg); break; - case 'u': arg = arg >>> 0; break; - case 'x': arg = arg.toString(16); break; - case 'X': arg = arg.toString(16).toUpperCase(); break; - } - arg = (/[def]/.test(match[8]) && match[3] && arg >= 0 ? ' +' + arg : arg); - pad_character = match[4] ? match[4] === '0' ? '0' : match[4].charAt(1) : ' '; - pad_length = match[6] - String(arg).length; - pad = match[6] ? str_repeat(pad_character, pad_length) : ''; - output.push(match[5] ? arg + pad : pad + arg); - } - } - return output.join(''); - }; - - sprintf.cache = {}; - - sprintf.parse = function(fmt) { - var _fmt = fmt, match = [], parse_tree = [], arg_names = 0; - while (_fmt) { - if ((match = /^[^\x25]+/.exec(_fmt)) !== null) { - parse_tree.push(match[0]); - } - else if ((match = /^\x25{2}/.exec(_fmt)) !== null) { - parse_tree.push('%'); - } - else if ((match = /^\x25(?:([1-9]\d*)\$|\(([^\)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-fosuxX])/.exec(_fmt)) !== null) { - if (match[2]) { - arg_names |= 1; - var field_list = [], replacement_field = match[2], field_match = []; - if ((field_match = /^([a-z_][a-z_\d]*)/i.exec(replacement_field)) !== null) { - field_list.push(field_match[1]); - while ((replacement_field = replacement_field.slice(field_match[0].length)) !== '') { - if ((field_match = /^\.([a-z_][a-z_\d]*)/i.exec(replacement_field)) !== null) { - field_list.push(field_match[1]); - } - else if ((field_match = /^\[(\d+)\]/.exec(replacement_field)) !== null) { - field_list.push(field_match[1]); - } - else { - throw('[sprintf] huh?'); - } - } - } - else { - throw('[sprintf] huh?'); - } - match[2] = field_list; - } - else { - arg_names |= 2; - } - if (arg_names === 3) { - throw('[sprintf] mixing positional and named placeholders is not (yet) supported'); - } - parse_tree.push(match); - } - else { - throw('[sprintf] huh?'); - } - _fmt = _fmt.slice(match[0].length); - } - return parse_tree; - }; - - var vsprintf = function(fmt, argv, _argv) { - _argv = argv.slice(0); - _argv.splice(0, 0, fmt); - return sprintf.apply(null, _argv); - }; - - /** - * helpers - */ - function get_type(variable) { - return Object.prototype.toString.call(variable).slice(8, -1).toLowerCase(); - } - - function str_repeat(input, multiplier) { - for (var output = []; multiplier > 0; output[--multiplier] = input) {/* do nothing */} - return output.join(''); - } - - /** - * export to either browser or node.js - */ - ctx.sprintf = sprintf; - ctx.vsprintf = vsprintf; -})(typeof global !== "undefined" ? global : self || window); -// ----------------------------------------------------------------------- -/* eslint-enable */ -// UMD taken from https://github.com/umdjs/umd -(function(factory, undefined) { - var root; - if (typeof window !== 'undefined') { - root = window; - } else if (typeof self !== 'undefined') { - root = self; - } else if (typeof global !== 'undefined') { - root = global; - } else { - throw new Error('Unknow context'); - } - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - // istanbul ignore next - define(['jquery', 'wcwidth'], function(jquery, wcwidth) { - factory(jquery, wcwidth, root); - return jquery; - }); - } else if (typeof module === 'object' && module.exports) { - // Node/CommonJS - module.exports = function(root, jQuery, wcwidth) { - if (jQuery === undefined) { - // require('jQuery') returns a factory that requires window to - // build a jQuery instance, we normalize how we use modules - // that require this pattern but the window provided is a noop - // if it's defined (how jquery works) - if (typeof window !== 'undefined') { - jQuery = require('jquery'); - } else { - jQuery = require('jquery')(root); - } - } - if (wcwidth === undefined) { - wcwidth = require('wcwidth'); - } - factory(jQuery, wcwidth, root); - return jQuery; - }; - } else { - // Browser - // istanbul ignore next - if (!root.jQuery) { - root.$ = root.cash; - } - factory(root.jQuery || root.cash, root.wcwidth, root); - } -})(function($, wcwidth, root, undefined) { - 'use strict'; - // ----------------------------------------------------------------------- - // :: debug functions - // ----------------------------------------------------------------------- - /* eslint-disable */ - /* istanbul ignore next */ - function debug(str) { - if (false) { - console.log(str); - //$.terminal.active().echo(str); - } - } - /* eslint-enable */ - // ----------------------------------------------------------------------- - // :: Replacemenet for jQuery 2 deferred objects - // ----------------------------------------------------------------------- - function DelayQueue() { - var callbacks = $.Callbacks(); - var resolved = false; - var self = this; - this.resolve = function() { - callbacks.fire(); - self.resolved = resolved = true; - }; - this.add = function(fn) { - if (resolved) { - fn(); - } else { - callbacks.add(fn); - } - }; - } - // ----------------------------------------------------------------------- - // :: map object to object - // ----------------------------------------------------------------------- - $.omap = function(o, fn) { - var result = {}; - $.each(o, function(k, v) { - result[k] = fn.call(o, k, v); - }); - return result; - }; - $.fn.text_length = function() { - return this.map(function() { - return $(this).text().length; - }).get().reduce(function(a, b) { - return a + b; - }, 0); - }; - // ----------------------------------------------------------------------- - // :: Deep clone of objects and arrays - // ----------------------------------------------------------------------- - var Clone = { - clone_object: function(object) { - var tmp = {}; - if (typeof object === 'object') { - if (Array.isArray(object)) { - return this.clone_array(object); - } else if (object === null) { - return object; - } else { - for (var key in object) { - if (Array.isArray(object[key])) { - tmp[key] = this.clone_array(object[key]); - } else if (typeof object[key] === 'object') { - tmp[key] = this.clone_object(object[key]); - } else { - tmp[key] = object[key]; - } - } - } - } - return tmp; - }, - clone_array: function(array) { - if (!is_function(Array.prototype.map)) { - throw new Error("Your browser don't support ES5 array map " + - 'use es5-shim'); - } - return array.slice(0).map(function(item) { - if (typeof item === 'object') { - return this.clone_object(item); - } else { - return item; - } - }.bind(this)); - } - }; - var clone = function(object) { - return Clone.clone_object(object); - }; - // ----------------------------------------------------------------------- - // IE11 polyfill - // ----------------------------------------------------------------------- - /* eslint-disable */ - if ('Map' in root && !('clear' in Map.prototype)) { - Map.prototype.clear = function() { - this.forEach(function(value, key, map) { - map.delete(key); - }); - }; - } - // ----------------------------------------------------------------------- - // :: Storage plugin - // ----------------------------------------------------------------------- - var localStorage; - /* istanbul ignore next */ - (function() { - var hasLS = function() { - try { - var testKey = 'test', storage = window.localStorage; - storage.setItem(testKey, '1'); - storage.removeItem(testKey); - return true; - } catch (error) { - return false; - } - }; - var hasCookies = function() { - try { - document.cookie.split(';'); - return true; - } catch (e) { - return false; - } - }; - // Private data - var isLS = hasLS(); - // Private functions - function wls(n, v) { - var c; - if (typeof n === 'string' && typeof v === 'string') { - localStorage[n] = v; - return true; - } else if (typeof n === 'object' && typeof v === 'undefined') { - for (c in n) { - if (n.hasOwnProperty(c)) { - localStorage[c] = n[c]; - } - } - return true; - } - return false; - } - function wc(n, v) { - var dt, e, c; - dt = new Date(); - dt.setTime(dt.getTime() + 31536000000); - e = '; expires=' + dt.toGMTString(); - if (typeof n === 'string' && typeof v === 'string') { - document.cookie = n + '=' + v + e + '; path=/'; - return true; - } else if (typeof n === 'object' && typeof v === 'undefined') { - for (c in n) { - if (n.hasOwnProperty(c)) { - document.cookie = c + '=' + n[c] + e + '; path=/'; - } - } - return true; - } - return false; - } - function rls(n) { - return localStorage[n]; - } - function rc(n) { - var nn, ca, i, c; - nn = n + '='; - ca = document.cookie.split(';'); - for (i = 0; i < ca.length; i++) { - c = ca[i]; - while (c.charAt(0) === ' ') { - c = c.slice(1, c.length); - } - if (c.indexOf(nn) === 0) { - return c.slice(nn.length, c.length); - } - } - return null; - } - function dls(n) { - return delete localStorage[n]; - } - function dc(n) { - return wc(n, '', -1); - } - /** - * Public API - * $.Storage.set("name", "value") - * $.Storage.set({"name1":"value1", "name2":"value2", etc}) - * $.Storage.get("name") - * $.Storage.remove("name") - */ - if (!hasCookies() && !isLS) { - localStorage = {}; - $.extend({ - Storage: { - set: wls, - get: rls, - remove: dls - } - }); - } else { - if (isLS) { - localStorage = window.localStorage; - } - $.extend({ - Storage: { - set: isLS ? wls : wc, - get: isLS ? rls : rc, - remove: isLS ? dls : dc - } - }); - } - })(); - // ----------------------------------------------------------------------- - // :: Debounce from Lodash - // ----------------------------------------------------------------------- - /* istanbul ignore next */ - var debounce = (function() { - var FUNC_ERROR_TEXT = 'Expected a function'; - function isObject(value) { - var type = typeof value; - return value != null && (type == 'object' || type == 'function'); - } - function now() { - return Date.now(); - } - return function debounce(func, wait, options) { - var nativeMax = Math.max, - nativeMin = Math.min; - - var lastArgs, - lastThis, - maxWait, - result, - timerId, - lastCallTime, - lastInvokeTime = 0, - leading = false, - maxing = false, - trailing = true; - - if (typeof func != 'function') { - throw new TypeError(FUNC_ERROR_TEXT); - } - wait = wait || 0; - if (isObject(options)) { - leading = !!options.leading; - maxing = 'maxWait' in options; - maxWait = maxing ? nativeMax(options.maxWait || 0, wait) : maxWait; - trailing = 'trailing' in options ? !!options.trailing : trailing; - } - - function invokeFunc(time) { - var args = lastArgs, - thisArg = lastThis; - - lastArgs = lastThis = undefined; - lastInvokeTime = time; - result = func.apply(thisArg, args); - return result; - } - - function leadingEdge(time) { - // Reset any `maxWait` timer. - lastInvokeTime = time; - // Start the timer for the trailing edge. - timerId = setTimeout(timerExpired, wait); - // Invoke the leading edge. - return leading ? invokeFunc(time) : result; - } - - function remainingWait(time) { - var timeSinceLastCall = time - lastCallTime, - timeSinceLastInvoke = time - lastInvokeTime, - timeWaiting = wait - timeSinceLastCall; - - return maxing - ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke) - : timeWaiting; - } - - function shouldInvoke(time) { - var timeSinceLastCall = time - lastCallTime, - timeSinceLastInvoke = time - lastInvokeTime; - - // Either this is the first call, activity has stopped and we're at the - // trailing edge, the system time has gone backwards and we're treating - // it as the trailing edge, or we've hit the `maxWait` limit. - return (lastCallTime === undefined || (timeSinceLastCall >= wait) || - (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait)); - } - - function timerExpired() { - var time = now(); - if (shouldInvoke(time)) { - return trailingEdge(time); - } - // Restart the timer. - timerId = setTimeout(timerExpired, remainingWait(time)); - } - - function trailingEdge(time) { - timerId = undefined; - - // Only invoke if we have `lastArgs` which means `func` has been - // debounced at least once. - if (trailing && lastArgs) { - return invokeFunc(time); - } - lastArgs = lastThis = undefined; - return result; - } - - function cancel() { - if (timerId !== undefined) { - clearTimeout(timerId); - } - lastInvokeTime = 0; - lastArgs = lastCallTime = lastThis = timerId = undefined; - } - - function flush() { - return timerId === undefined ? result : trailingEdge(now()); - } - - function debounced() { - var time = now(), - isInvoking = shouldInvoke(time); - - lastArgs = arguments; - lastThis = this; - lastCallTime = time; - - if (isInvoking) { - if (timerId === undefined) { - return leadingEdge(lastCallTime); - } - if (maxing) { - // Handle invocations in a tight loop. - timerId = setTimeout(timerExpired, wait); - return invokeFunc(lastCallTime); - } - } - if (timerId === undefined) { - timerId = setTimeout(timerExpired, wait); - } - return result; - } - debounced.cancel = cancel; - debounced.flush = flush; - return debounced; - }; - })(); - // ----------------------------------------------------------------------- - // :: jQuery Timers - // ----------------------------------------------------------------------- - var jQuery = $; - /* istanbul ignore next */ - (function($) { - jQuery.fn.extend({ - everyTime: function(interval, label, fn, times, belay) { - return this.each(function() { - jQuery.timer.add(this, interval, label, fn, times, belay); - }); - }, - oneTime: function(interval, label, fn) { - return this.each(function() { - jQuery.timer.add(this, interval, label, fn, 1); - }); - }, - stopTime: function(label, fn) { - return this.each(function() { - jQuery.timer.remove(this, label, fn); - }); - } - }); - - jQuery.extend({ - timer: { - guid: 1, - global: {}, - regex: /^([0-9]+)\s*(.*s)?$/, - powers: { - // Yeah this is major overkill... - 'ms': 1, - 'cs': 10, - 'ds': 100, - 's': 1000, - 'das': 10000, - 'hs': 100000, - 'ks': 1000000 - }, - timeParse: function(value) { - if (value === undefined || value === null) { - return null; - } - var result = this.regex.exec(value.toString().trim()); - if (result[2]) { - var num = parseInt(result[1], 10); - var mult = this.powers[result[2]] || 1; - return num * mult; - } else { - return value; - } - }, - add: function(element, interval, label, fn, times, belay) { - var counter = 0; - - if (typeof label === 'function') { - if (!times) { - times = fn; - } - fn = label; - label = interval; - } - - interval = jQuery.timer.timeParse(interval); - - if (typeof interval !== 'number' || - isNaN(interval) || - interval <= 0) { - return; - } - if (times && times.constructor !== Number) { - belay = !!times; - times = 0; - } - - times = times || 0; - belay = belay || false; - - if (!element.$timers) { - element.$timers = {}; - } - if (!element.$timers[label]) { - element.$timers[label] = {}; - } - fn.$timerID = fn.$timerID || this.guid++; - - var handler = function() { - if (belay && handler.inProgress) { - return; - } - handler.inProgress = true; - if ((++counter > times && times !== 0) || - fn.call(element, counter) === false) { - jQuery.timer.remove(element, label, fn); - } - handler.inProgress = false; - }; - - handler.$timerID = fn.$timerID; - - if (!element.$timers[label][fn.$timerID]) { - element.$timers[label][fn.$timerID] = setInterval(handler, interval); - } - - if (!this.global[label]) { - this.global[label] = []; - } - this.global[label].push(element); - - }, - remove: function(element, label, fn) { - var timers = element.$timers, ret; - - if (timers) { - - if (!label) { - for (var lab in timers) { - if (timers.hasOwnProperty(lab)) { - this.remove(element, lab, fn); - } - } - } else if (timers[label]) { - if (fn) { - if (fn.$timerID) { - clearInterval(timers[label][fn.$timerID]); - delete timers[label][fn.$timerID]; - } - } else { - for (var _fn in timers[label]) { - if (timers[label].hasOwnProperty(_fn)) { - clearInterval(timers[label][_fn]); - delete timers[label][_fn]; - } - } - } - - for (ret in timers[label]) { - if (timers[label].hasOwnProperty(ret)) { - break; - } - } - if (!ret) { - ret = null; - delete timers[label]; - } - } - - for (ret in timers) { - if (timers.hasOwnProperty(ret)) { - break; - } - } - if (!ret) { - element.$timers = null; - } - } - } - } - }); - if (/(msie) ([\w.]+)/.exec(navigator.userAgent.toLowerCase())) { - $(window).one('unload', function() { - var global = jQuery.timer.global; - for (var label in global) { - if (global.hasOwnProperty(label)) { - var els = global[label], i = els.length; - while (--i) { - jQuery.timer.remove(els[i], label); - } - } - } - }); - } - })(jQuery); - // ----------------------------------------------------------------------- - // :: CROSS BROWSER SPLIT - // ----------------------------------------------------------------------- - /* istanbul ignore next */ - (function(undef) { - // prevent double include - - if (!String.prototype.split.toString().match(/\[native/)) { - return; - } - - var nativeSplit = String.prototype.split, - compliantExecNpcg = /()??/.exec("")[1] === undef, // NPCG: nonparticipating capturing group - self; - - self = function(str, separator, limit) { - // If `separator` is not a regex, use `nativeSplit` - if (Object.prototype.toString.call(separator) !== "[object RegExp]") { - return nativeSplit.call(str, separator, limit); - } - var output = [], - flags = (separator.ignoreCase ? "i" : "") + - (separator.multiline ? "m" : "") + - (separator.extended ? "x" : "") + // Proposed for ES6 - (separator.sticky ? "y" : ""), // Firefox 3+ - lastLastIndex = 0, - // Make `global` and avoid `lastIndex` issues by working with a copy - separator2, match, lastIndex, lastLength; - separator = new RegExp(separator.source, flags + "g"); - str += ""; // Type-convert - if (!compliantExecNpcg) { - // Doesn't need flags gy, but they don't hurt - separator2 = new RegExp("^" + separator.source + "$(?!\\s)", flags); - } - /* Values for `limit`, per the spec: - * If undefined: 4294967295 // Math.pow(2, 32) - 1 - * If 0, Infinity, or NaN: 0 - * If positive number: limit = Math.floor(limit); if (limit > 4294967295) limit -= 4294967296; - * If negative number: 4294967296 - Math.floor(Math.abs(limit)) - * If other: Type-convert, then use the above rules - */ - // ? Math.pow(2, 32) - 1 : ToUint32(limit) - limit = limit === undef ? -1 >>> 0 : limit >>> 0; - while (match = separator.exec(str)) { - // `separator.lastIndex` is not reliable cross-browser - lastIndex = match.index + match[0].length; - if (lastIndex > lastLastIndex) { - output.push(str.slice(lastLastIndex, match.index)); - // Fix browsers whose `exec` methods don't consistently return `undefined` for - // nonparticipating capturing groups - if (!compliantExecNpcg && match.length > 1) { - match[0].replace(separator2, function() { - for (var i = 1; i < arguments.length - 2; i++) { - if (arguments[i] === undef) { - match[i] = undef; - } - } - }); - } - if (match.length > 1 && match.index < str.length) { - Array.prototype.push.apply(output, match.slice(1)); - } - lastLength = match[0].length; - lastLastIndex = lastIndex; - if (output.length >= limit) { - break; - } - } - if (separator.lastIndex === match.index) { - separator.lastIndex++; // Avoid an infinite loop - } - } - if (lastLastIndex === str.length) { - if (lastLength || !separator.test("")) { - output.push(""); - } - } else { - output.push(str.slice(lastLastIndex)); - } - return output.length > limit ? output.slice(0, limit) : output; - }; - - // For convenience - String.prototype.split = function(separator, limit) { - return self(this, separator, limit); - }; - - return self; - - })(); - // ----------------------------------------------------------------------- - // :: jQuery Caret - // ----------------------------------------------------------------------- - /* istanbul ignore next */ - $.fn.caret = function(pos) { - var target = this[0]; - var isContentEditable = target.contentEditable === 'true'; - //get - if (arguments.length === 0) { - //HTML5 - if (window.getSelection) { - //contenteditable - if (isContentEditable) { - if (!this.is(':focus')) { - target.focus(); - } - var range1 = window.getSelection().getRangeAt(0), - range2 = range1.cloneRange(); - range2.selectNodeContents(target); - range2.setEnd(range1.endContainer, range1.endOffset); - return range2.toString().length; - } - //textarea - return target.selectionStart; - } - //IE<9 - if (document.selection) { - target.focus(); - //contenteditable - if (isContentEditable) { - var range1 = document.selection.createRange(), - range2 = document.body.createTextRange(); - range2.moveToElementText(target); - range2.setEndPoint('EndToEnd', range1); - return range2.text.length; - } - //textarea - var pos = 0, - range = target.createTextRange(), - range2 = document.selection.createRange().duplicate(), - bookmark = range2.getBookmark(); - range.moveToBookmark(bookmark); - while (range.moveStart('character', -1) !== 0) pos++; - return pos; - } - //not supported - return 0; - } - //set - if (pos === -1) - pos = this[isContentEditable? 'text' : 'val']().length; - //HTML5 - if (window.getSelection) { - //contenteditable - if (isContentEditable) { - if (!this.is(':focus')) { - target.focus(); - } - var selection = window.getSelection(); - selection.collapse(selection.focusNode, pos); - } - //textarea - else - target.setSelectionRange(pos, pos); - } - //IE<9 - else if (document.body.createTextRange) { - var range = document.body.createTextRange(); - range.moveToElementText(target); - range.moveStart('character', pos); - range.collapse(true); - range.select(); - } - if (!isContentEditable && !this.is(':focus')) { - target.focus(); - } - return pos; - }; - /* eslint-enable */ - // ----------------------------------------------------------------------- - // :: callback based event handler plugin generator - // ----------------------------------------------------------------------- - function make_callback_plugin(options) { - var factory_settings = $.extend({ - init: $.noop, - destroy: $.noop, - name: 'event' - }, options); - return function(callback, options) { - var trigger = arguments.length === 0; - var unbind = arguments[0] === "unbind"; - if (!trigger && !unbind && !is_function(callback)) { - throw new Error('Invalid argument, it need to a function or string ' + - '"unbind" or no arguments.'); - } - if (unbind) { - callback = is_function(arguments[1]) ? arguments[1] : null; - } - var data_name = 'callbacks_' + factory_settings.name; - return this.each(function() { - var $this = $(this); - var callbacks; - function handler(arg) { - callbacks.fireWith($this, [arg]); - } - if (trigger || unbind) { - callbacks = $this.data(data_name); - if (trigger) { - callbacks && callbacks.fire(); - } else { - if (callback && callbacks) { - callbacks.remove(callback); - if (!callbacks.has()) { - callbacks = null; - } - } else { - callbacks = null; - } - if (!callbacks) { - $this.removeData(data_name); - factory_settings.destroy.call(this, handler, options); - } - } - } else if ($this.data(data_name)) { - $(this).data(data_name).add(callback); - } else { - callbacks = $.Callbacks(); - callbacks.add(callback); - $this.data(data_name, callbacks); - factory_settings.init.call(this, handler, options); - } - }); - }; - } - // ----------------------------------------------------------------------- - // :: Cross-browser resize element plugin using sentinel iframe or - // :: resizeObserver - // ----------------------------------------------------------------------- - $.fn.resizer = make_callback_plugin({ - name: 'resize', - init: function(handler, options) { - var settings = $.extend({ - prefix: '' - }, options); - var $this = $(this); - var resizer; - var first = true; - if ($this.is('body')) { - $(window).on('resize.resizer', handler); - } else if (window.ResizeObserver) { - resizer = new ResizeObserver(function() { - if (!first) { - setTimeout(handler, 0); - } - first = false; - }); - resizer.observe(this); - $this.data('observer', resizer); - } else { - var iframe = $('