diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 00000000..e69de29b diff --git a/404.html b/404.html new file mode 100644 index 00000000..c0cbdee1 --- /dev/null +++ b/404.html @@ -0,0 +1,161 @@ + + + + + + + + battlenet-lancache-prefill wiki + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+ +
+
+ +
+
+ + +

404

+ +

Page not found

+ + +
+
+ + +
+
+ +
+ +
+ +
+ + + + GitHub + + + + + +
+ + + + + + + + + diff --git a/assets/external/CascadiaMono.ttf b/assets/external/CascadiaMono.ttf new file mode 100644 index 00000000..d15637ef Binary files /dev/null and b/assets/external/CascadiaMono.ttf differ diff --git a/assets/external/asciinema-player.css b/assets/external/asciinema-player.css new file mode 100644 index 00000000..24005f61 --- /dev/null +++ b/assets/external/asciinema-player.css @@ -0,0 +1,2636 @@ +.asciinema-player-wrapper { + outline: none; + height: 100%; + display: flex; + justify-content: center; +} +.asciinema-player-wrapper .title-bar { + display: none; + top: -78px; + transition: top 0.15s linear; + position: absolute; + left: 0; + right: 0; + box-sizing: content-box; + font-size: 20px; + line-height: 1em; + padding: 15px; + font-family: sans-serif; + color: white; + background-color: rgba(0, 0, 0, 0.8); +} +.asciinema-player-wrapper .title-bar img { + vertical-align: middle; + height: 48px; + margin-right: 16px; +} +.asciinema-player-wrapper .title-bar a { + color: white; + text-decoration: underline; +} +.asciinema-player-wrapper .title-bar a:hover { + text-decoration: none; +} +.asciinema-player-wrapper:fullscreen { + background-color: #000; + width: 100%; + -webkit-align-items: center; + align-items: center; +} +.asciinema-player-wrapper:fullscreen .asciinema-player { + position: static; +} +.asciinema-player-wrapper:fullscreen .title-bar { + display: initial; +} +.asciinema-player-wrapper:fullscreen.hud .title-bar { + top: 0; +} +.asciinema-player-wrapper:-webkit-full-screen { + background-color: #000; + width: 100%; + -webkit-align-items: center; + align-items: center; +} +.asciinema-player-wrapper:-webkit-full-screen .asciinema-player { + position: static; +} +.asciinema-player-wrapper:-webkit-full-screen .title-bar { + display: initial; +} +.asciinema-player-wrapper:-webkit-full-screen.hud .title-bar { + top: 0; +} +.asciinema-player-wrapper:-moz-full-screen { + background-color: #000; + width: 100%; + -webkit-align-items: center; + align-items: center; +} +.asciinema-player-wrapper:-moz-full-screen .asciinema-player { + position: static; +} +.asciinema-player-wrapper:-moz-full-screen .title-bar { + display: initial; +} +.asciinema-player-wrapper:-moz-full-screen.hud .title-bar { + top: 0; +} +.asciinema-player-wrapper:-ms-fullscreen { + background-color: #000; + width: 100%; + -webkit-align-items: center; + align-items: center; +} +.asciinema-player-wrapper:-ms-fullscreen .asciinema-player { + position: static; +} +.asciinema-player-wrapper:-ms-fullscreen .title-bar { + display: initial; +} +.asciinema-player-wrapper:-ms-fullscreen.hud .title-bar { + top: 0; +} +.asciinema-player-wrapper .asciinema-player { + text-align: left; + display: inline-block; + padding: 0px; + position: relative; + box-sizing: content-box; + -moz-box-sizing: content-box; + -webkit-box-sizing: content-box; + overflow: hidden; + max-width: 100%; + border-radius: 4px; + font-size: 12px; +} +.asciinema-terminal { + box-sizing: content-box; + -moz-box-sizing: content-box; + -webkit-box-sizing: content-box; + overflow: hidden; + padding: 0; + margin: 0px; + display: block; + white-space: pre; + border: 0; + word-wrap: normal; + word-break: normal; + border-radius: 0; + border-style: solid; + cursor: text; + border-width: 0.75em; + font-family: Consolas, Menlo, 'Bitstream Vera Sans Mono', monospace, 'Powerline Symbols'; +} +.asciinema-terminal .line { + letter-spacing: normal; + overflow: hidden; +} +.asciinema-terminal .line span { + padding: 0; + display: inline-block; + height: 100%; +} +.asciinema-terminal .line { + display: block; + width: 200%; +} +.asciinema-terminal .line .cursor-a { + display: inline-block; +} +.asciinema-terminal .line .cursor-b { + display: none; + border-radius: 0.05em; +} +.asciinema-terminal .line .blink { + visibility: hidden; +} +.asciinema-terminal.cursor .line .cursor-a { + display: none; +} +.asciinema-terminal.cursor .line .cursor-b { + display: inline-block; +} +.asciinema-terminal.blink .line .blink { + visibility: visible; +} +.asciinema-terminal .bright { + font-weight: bold; +} +.asciinema-terminal .faint { + opacity: 0.5; +} +.asciinema-terminal .underline { + text-decoration: underline; +} +.asciinema-terminal .italic { + font-style: italic; +} +.asciinema-terminal .strikethrough { + text-decoration: line-through; +} +.asciinema-player .loading > .asciinema-terminal { + background-color: transparent; +} +.asciinema-player .control-bar { + width: 100%; + height: 32px; + background: rgba(0, 0, 0, 0.8); + /* no gradient fallback */ + background: -moz-linear-gradient(top, rgba(0, 0, 0, 0.5) 0%, #000000 25%, #000000 100%); + /* FF3.6-15 */ + background: -webkit-linear-gradient(top, rgba(0, 0, 0, 0.5) 0%, #000000 25%, #000000 100%); + /* Chrome10-25,Safari5.1-6 */ + background: linear-gradient(to bottom, rgba(0, 0, 0, 0.5) 0%, #000000 25%, #000000 100%); + /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */ + color: #bbb; + box-sizing: content-box; + line-height: 1; + position: absolute; + bottom: 0; + left: 0; + opacity: 0; + transition: opacity 0.15s linear; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + z-index: 30; +} +.asciinema-player .control-bar * { + box-sizing: inherit; + font-size: 0; +} +.asciinema-player .control-bar svg.icon path { + fill: #bbb; +} +.asciinema-player .control-bar .playback-button { + display: block; + float: left; + cursor: pointer; + height: 12px; + width: 12px; + padding: 10px; +} +.asciinema-player .control-bar .playback-button svg { + height: 12px; + width: 12px; +} +.asciinema-player .control-bar .timer { + display: block; + float: left; + width: 50px; + height: 100%; + text-align: center; + font-family: Helvetica, Arial, sans-serif; + font-size: 11px; + font-weight: bold; + line-height: 32px; + cursor: default; +} +.asciinema-player .control-bar .timer span { + display: inline-block; + font-size: inherit; +} +.asciinema-player .control-bar .timer .time-remaining { + display: none; +} +.asciinema-player .control-bar .timer:hover .time-elapsed { + display: none; +} +.asciinema-player .control-bar .timer:hover .time-remaining { + display: inline; +} +.asciinema-player .control-bar .progressbar { + display: block; + overflow: hidden; + height: 100%; + padding: 0 10px; +} +.asciinema-player .control-bar .progressbar .bar { + display: block; + cursor: default; + height: 100%; + padding-top: 15px; + font-size: 0; +} +.asciinema-player .control-bar .progressbar .bar .gutter { + display: block; + height: 3px; + background-color: #333; +} +.asciinema-player .control-bar .progressbar .bar .gutter span { + display: inline-block; + height: 100%; + background-color: #bbb; + border-radius: 3px; +} +.asciinema-player .control-bar.seekable .progressbar .bar { + cursor: pointer; +} +.asciinema-player .control-bar .fullscreen-button { + display: block; + float: right; + width: 14px; + height: 14px; + padding: 9px; + cursor: pointer; +} +.asciinema-player .control-bar .fullscreen-button svg { + width: 14px; + height: 14px; +} +.asciinema-player .control-bar .fullscreen-button svg:first-child { + display: inline; +} +.asciinema-player .control-bar .fullscreen-button svg:last-child { + display: none; +} +.asciinema-player-wrapper.hud .control-bar { + opacity: 1; +} +.asciinema-player-wrapper:fullscreen .fullscreen-button svg:first-child { + display: none; +} +.asciinema-player-wrapper:fullscreen .fullscreen-button svg:last-child { + display: inline; +} +.asciinema-player-wrapper:-webkit-full-screen .fullscreen-button svg:first-child { + display: none; +} +.asciinema-player-wrapper:-webkit-full-screen .fullscreen-button svg:last-child { + display: inline; +} +.asciinema-player-wrapper:-moz-full-screen .fullscreen-button svg:first-child { + display: none; +} +.asciinema-player-wrapper:-moz-full-screen .fullscreen-button svg:last-child { + display: inline; +} +.asciinema-player-wrapper:-ms-fullscreen .fullscreen-button svg:first-child { + display: none; +} +.asciinema-player-wrapper:-ms-fullscreen .fullscreen-button svg:last-child { + display: inline; +} +.asciinema-player .loading { + z-index: 10; + background-repeat: no-repeat; + background-position: center; + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + display: flex; + justify-content: center; + align-items: center; +} +.asciinema-player .start-prompt { + z-index: 10; + background-repeat: no-repeat; + background-position: center; + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + z-index: 20; + cursor: pointer; +} +.asciinema-player .start-prompt .play-button { + font-size: 0px; + position: absolute; + left: 0; + top: 0; + right: 0; + bottom: 0; + text-align: center; + color: white; + height: 80px; + max-height: 66%; + margin: auto; +} +.asciinema-player .start-prompt .play-button div { + height: 100%; +} +.asciinema-player .start-prompt .play-button div span { + height: 100%; + display: block; +} +.asciinema-player .start-prompt .play-button div span svg { + height: 100%; +} +.asciinema-terminal .fg-16 { + color: #000000; +} +.asciinema-terminal .bg-16 { + background-color: #000000; +} +.asciinema-terminal .fg-17 { + color: #00005f; +} +.asciinema-terminal .bg-17 { + background-color: #00005f; +} +.asciinema-terminal .fg-18 { + color: #000087; +} +.asciinema-terminal .bg-18 { + background-color: #000087; +} +.asciinema-terminal .fg-19 { + color: #0000af; +} +.asciinema-terminal .bg-19 { + background-color: #0000af; +} +.asciinema-terminal .fg-20 { + color: #0000d7; +} +.asciinema-terminal .bg-20 { + background-color: #0000d7; +} +.asciinema-terminal .fg-21 { + color: #0000ff; +} +.asciinema-terminal .bg-21 { + background-color: #0000ff; +} +.asciinema-terminal .fg-22 { + color: #005f00; +} +.asciinema-terminal .bg-22 { + background-color: #005f00; +} +.asciinema-terminal .fg-23 { + color: #005f5f; +} +.asciinema-terminal .bg-23 { + background-color: #005f5f; +} +.asciinema-terminal .fg-24 { + color: #005f87; +} +.asciinema-terminal .bg-24 { + background-color: #005f87; +} +.asciinema-terminal .fg-25 { + color: #005faf; +} +.asciinema-terminal .bg-25 { + background-color: #005faf; +} +.asciinema-terminal .fg-26 { + color: #005fd7; +} +.asciinema-terminal .bg-26 { + background-color: #005fd7; +} +.asciinema-terminal .fg-27 { + color: #005fff; +} +.asciinema-terminal .bg-27 { + background-color: #005fff; +} +.asciinema-terminal .fg-28 { + color: #008700; +} +.asciinema-terminal .bg-28 { + background-color: #008700; +} +.asciinema-terminal .fg-29 { + color: #00875f; +} +.asciinema-terminal .bg-29 { + background-color: #00875f; +} +.asciinema-terminal .fg-30 { + color: #008787; +} +.asciinema-terminal .bg-30 { + background-color: #008787; +} +.asciinema-terminal .fg-31 { + color: #0087af; +} +.asciinema-terminal .bg-31 { + background-color: #0087af; +} +.asciinema-terminal .fg-32 { + color: #0087d7; +} +.asciinema-terminal .bg-32 { + background-color: #0087d7; +} +.asciinema-terminal .fg-33 { + color: #0087ff; +} +.asciinema-terminal .bg-33 { + background-color: #0087ff; +} +.asciinema-terminal .fg-34 { + color: #00af00; +} +.asciinema-terminal .bg-34 { + background-color: #00af00; +} +.asciinema-terminal .fg-35 { + color: #00af5f; +} +.asciinema-terminal .bg-35 { + background-color: #00af5f; +} +.asciinema-terminal .fg-36 { + color: #00af87; +} +.asciinema-terminal .bg-36 { + background-color: #00af87; +} +.asciinema-terminal .fg-37 { + color: #00afaf; +} +.asciinema-terminal .bg-37 { + background-color: #00afaf; +} +.asciinema-terminal .fg-38 { + color: #00afd7; +} +.asciinema-terminal .bg-38 { + background-color: #00afd7; +} +.asciinema-terminal .fg-39 { + color: #00afff; +} +.asciinema-terminal .bg-39 { + background-color: #00afff; +} +.asciinema-terminal .fg-40 { + color: #00d700; +} +.asciinema-terminal .bg-40 { + background-color: #00d700; +} +.asciinema-terminal .fg-41 { + color: #00d75f; +} +.asciinema-terminal .bg-41 { + background-color: #00d75f; +} +.asciinema-terminal .fg-42 { + color: #00d787; +} +.asciinema-terminal .bg-42 { + background-color: #00d787; +} +.asciinema-terminal .fg-43 { + color: #00d7af; +} +.asciinema-terminal .bg-43 { + background-color: #00d7af; +} +.asciinema-terminal .fg-44 { + color: #00d7d7; +} +.asciinema-terminal .bg-44 { + background-color: #00d7d7; +} +.asciinema-terminal .fg-45 { + color: #00d7ff; +} +.asciinema-terminal .bg-45 { + background-color: #00d7ff; +} +.asciinema-terminal .fg-46 { + color: #00ff00; +} +.asciinema-terminal .bg-46 { + background-color: #00ff00; +} +.asciinema-terminal .fg-47 { + color: #00ff5f; +} +.asciinema-terminal .bg-47 { + background-color: #00ff5f; +} +.asciinema-terminal .fg-48 { + color: #00ff87; +} +.asciinema-terminal .bg-48 { + background-color: #00ff87; +} +.asciinema-terminal .fg-49 { + color: #00ffaf; +} +.asciinema-terminal .bg-49 { + background-color: #00ffaf; +} +.asciinema-terminal .fg-50 { + color: #00ffd7; +} +.asciinema-terminal .bg-50 { + background-color: #00ffd7; +} +.asciinema-terminal .fg-51 { + color: #00ffff; +} +.asciinema-terminal .bg-51 { + background-color: #00ffff; +} +.asciinema-terminal .fg-52 { + color: #5f0000; +} +.asciinema-terminal .bg-52 { + background-color: #5f0000; +} +.asciinema-terminal .fg-53 { + color: #5f005f; +} +.asciinema-terminal .bg-53 { + background-color: #5f005f; +} +.asciinema-terminal .fg-54 { + color: #5f0087; +} +.asciinema-terminal .bg-54 { + background-color: #5f0087; +} +.asciinema-terminal .fg-55 { + color: #5f00af; +} +.asciinema-terminal .bg-55 { + background-color: #5f00af; +} +.asciinema-terminal .fg-56 { + color: #5f00d7; +} +.asciinema-terminal .bg-56 { + background-color: #5f00d7; +} +.asciinema-terminal .fg-57 { + color: #5f00ff; +} +.asciinema-terminal .bg-57 { + background-color: #5f00ff; +} +.asciinema-terminal .fg-58 { + color: #5f5f00; +} +.asciinema-terminal .bg-58 { + background-color: #5f5f00; +} +.asciinema-terminal .fg-59 { + color: #5f5f5f; +} +.asciinema-terminal .bg-59 { + background-color: #5f5f5f; +} +.asciinema-terminal .fg-60 { + color: #5f5f87; +} +.asciinema-terminal .bg-60 { + background-color: #5f5f87; +} +.asciinema-terminal .fg-61 { + color: #5f5faf; +} +.asciinema-terminal .bg-61 { + background-color: #5f5faf; +} +.asciinema-terminal .fg-62 { + color: #5f5fd7; +} +.asciinema-terminal .bg-62 { + background-color: #5f5fd7; +} +.asciinema-terminal .fg-63 { + color: #5f5fff; +} +.asciinema-terminal .bg-63 { + background-color: #5f5fff; +} +.asciinema-terminal .fg-64 { + color: #5f8700; +} +.asciinema-terminal .bg-64 { + background-color: #5f8700; +} +.asciinema-terminal .fg-65 { + color: #5f875f; +} +.asciinema-terminal .bg-65 { + background-color: #5f875f; +} +.asciinema-terminal .fg-66 { + color: #5f8787; +} +.asciinema-terminal .bg-66 { + background-color: #5f8787; +} +.asciinema-terminal .fg-67 { + color: #5f87af; +} +.asciinema-terminal .bg-67 { + background-color: #5f87af; +} +.asciinema-terminal .fg-68 { + color: #5f87d7; +} +.asciinema-terminal .bg-68 { + background-color: #5f87d7; +} +.asciinema-terminal .fg-69 { + color: #5f87ff; +} +.asciinema-terminal .bg-69 { + background-color: #5f87ff; +} +.asciinema-terminal .fg-70 { + color: #5faf00; +} +.asciinema-terminal .bg-70 { + background-color: #5faf00; +} +.asciinema-terminal .fg-71 { + color: #5faf5f; +} +.asciinema-terminal .bg-71 { + background-color: #5faf5f; +} +.asciinema-terminal .fg-72 { + color: #5faf87; +} +.asciinema-terminal .bg-72 { + background-color: #5faf87; +} +.asciinema-terminal .fg-73 { + color: #5fafaf; +} +.asciinema-terminal .bg-73 { + background-color: #5fafaf; +} +.asciinema-terminal .fg-74 { + color: #5fafd7; +} +.asciinema-terminal .bg-74 { + background-color: #5fafd7; +} +.asciinema-terminal .fg-75 { + color: #5fafff; +} +.asciinema-terminal .bg-75 { + background-color: #5fafff; +} +.asciinema-terminal .fg-76 { + color: #5fd700; +} +.asciinema-terminal .bg-76 { + background-color: #5fd700; +} +.asciinema-terminal .fg-77 { + color: #5fd75f; +} +.asciinema-terminal .bg-77 { + background-color: #5fd75f; +} +.asciinema-terminal .fg-78 { + color: #5fd787; +} +.asciinema-terminal .bg-78 { + background-color: #5fd787; +} +.asciinema-terminal .fg-79 { + color: #5fd7af; +} +.asciinema-terminal .bg-79 { + background-color: #5fd7af; +} +.asciinema-terminal .fg-80 { + color: #5fd7d7; +} +.asciinema-terminal .bg-80 { + background-color: #5fd7d7; +} +.asciinema-terminal .fg-81 { + color: #5fd7ff; +} +.asciinema-terminal .bg-81 { + background-color: #5fd7ff; +} +.asciinema-terminal .fg-82 { + color: #5fff00; +} +.asciinema-terminal .bg-82 { + background-color: #5fff00; +} +.asciinema-terminal .fg-83 { + color: #5fff5f; +} +.asciinema-terminal .bg-83 { + background-color: #5fff5f; +} +.asciinema-terminal .fg-84 { + color: #5fff87; +} +.asciinema-terminal .bg-84 { + background-color: #5fff87; +} +.asciinema-terminal .fg-85 { + color: #5fffaf; +} +.asciinema-terminal .bg-85 { + background-color: #5fffaf; +} +.asciinema-terminal .fg-86 { + color: #5fffd7; +} +.asciinema-terminal .bg-86 { + background-color: #5fffd7; +} +.asciinema-terminal .fg-87 { + color: #5fffff; +} +.asciinema-terminal .bg-87 { + background-color: #5fffff; +} +.asciinema-terminal .fg-88 { + color: #870000; +} +.asciinema-terminal .bg-88 { + background-color: #870000; +} +.asciinema-terminal .fg-89 { + color: #87005f; +} +.asciinema-terminal .bg-89 { + background-color: #87005f; +} +.asciinema-terminal .fg-90 { + color: #870087; +} +.asciinema-terminal .bg-90 { + background-color: #870087; +} +.asciinema-terminal .fg-91 { + color: #8700af; +} +.asciinema-terminal .bg-91 { + background-color: #8700af; +} +.asciinema-terminal .fg-92 { + color: #8700d7; +} +.asciinema-terminal .bg-92 { + background-color: #8700d7; +} +.asciinema-terminal .fg-93 { + color: #8700ff; +} +.asciinema-terminal .bg-93 { + background-color: #8700ff; +} +.asciinema-terminal .fg-94 { + color: #875f00; +} +.asciinema-terminal .bg-94 { + background-color: #875f00; +} +.asciinema-terminal .fg-95 { + color: #875f5f; +} +.asciinema-terminal .bg-95 { + background-color: #875f5f; +} +.asciinema-terminal .fg-96 { + color: #875f87; +} +.asciinema-terminal .bg-96 { + background-color: #875f87; +} +.asciinema-terminal .fg-97 { + color: #875faf; +} +.asciinema-terminal .bg-97 { + background-color: #875faf; +} +.asciinema-terminal .fg-98 { + color: #875fd7; +} +.asciinema-terminal .bg-98 { + background-color: #875fd7; +} +.asciinema-terminal .fg-99 { + color: #875fff; +} +.asciinema-terminal .bg-99 { + background-color: #875fff; +} +.asciinema-terminal .fg-100 { + color: #878700; +} +.asciinema-terminal .bg-100 { + background-color: #878700; +} +.asciinema-terminal .fg-101 { + color: #87875f; +} +.asciinema-terminal .bg-101 { + background-color: #87875f; +} +.asciinema-terminal .fg-102 { + color: #878787; +} +.asciinema-terminal .bg-102 { + background-color: #878787; +} +.asciinema-terminal .fg-103 { + color: #8787af; +} +.asciinema-terminal .bg-103 { + background-color: #8787af; +} +.asciinema-terminal .fg-104 { + color: #8787d7; +} +.asciinema-terminal .bg-104 { + background-color: #8787d7; +} +.asciinema-terminal .fg-105 { + color: #8787ff; +} +.asciinema-terminal .bg-105 { + background-color: #8787ff; +} +.asciinema-terminal .fg-106 { + color: #87af00; +} +.asciinema-terminal .bg-106 { + background-color: #87af00; +} +.asciinema-terminal .fg-107 { + color: #87af5f; +} +.asciinema-terminal .bg-107 { + background-color: #87af5f; +} +.asciinema-terminal .fg-108 { + color: #87af87; +} +.asciinema-terminal .bg-108 { + background-color: #87af87; +} +.asciinema-terminal .fg-109 { + color: #87afaf; +} +.asciinema-terminal .bg-109 { + background-color: #87afaf; +} +.asciinema-terminal .fg-110 { + color: #87afd7; +} +.asciinema-terminal .bg-110 { + background-color: #87afd7; +} +.asciinema-terminal .fg-111 { + color: #87afff; +} +.asciinema-terminal .bg-111 { + background-color: #87afff; +} +.asciinema-terminal .fg-112 { + color: #87d700; +} +.asciinema-terminal .bg-112 { + background-color: #87d700; +} +.asciinema-terminal .fg-113 { + color: #87d75f; +} +.asciinema-terminal .bg-113 { + background-color: #87d75f; +} +.asciinema-terminal .fg-114 { + color: #87d787; +} +.asciinema-terminal .bg-114 { + background-color: #87d787; +} +.asciinema-terminal .fg-115 { + color: #87d7af; +} +.asciinema-terminal .bg-115 { + background-color: #87d7af; +} +.asciinema-terminal .fg-116 { + color: #87d7d7; +} +.asciinema-terminal .bg-116 { + background-color: #87d7d7; +} +.asciinema-terminal .fg-117 { + color: #87d7ff; +} +.asciinema-terminal .bg-117 { + background-color: #87d7ff; +} +.asciinema-terminal .fg-118 { + color: #87ff00; +} +.asciinema-terminal .bg-118 { + background-color: #87ff00; +} +.asciinema-terminal .fg-119 { + color: #87ff5f; +} +.asciinema-terminal .bg-119 { + background-color: #87ff5f; +} +.asciinema-terminal .fg-120 { + color: #87ff87; +} +.asciinema-terminal .bg-120 { + background-color: #87ff87; +} +.asciinema-terminal .fg-121 { + color: #87ffaf; +} +.asciinema-terminal .bg-121 { + background-color: #87ffaf; +} +.asciinema-terminal .fg-122 { + color: #87ffd7; +} +.asciinema-terminal .bg-122 { + background-color: #87ffd7; +} +.asciinema-terminal .fg-123 { + color: #87ffff; +} +.asciinema-terminal .bg-123 { + background-color: #87ffff; +} +.asciinema-terminal .fg-124 { + color: #af0000; +} +.asciinema-terminal .bg-124 { + background-color: #af0000; +} +.asciinema-terminal .fg-125 { + color: #af005f; +} +.asciinema-terminal .bg-125 { + background-color: #af005f; +} +.asciinema-terminal .fg-126 { + color: #af0087; +} +.asciinema-terminal .bg-126 { + background-color: #af0087; +} +.asciinema-terminal .fg-127 { + color: #af00af; +} +.asciinema-terminal .bg-127 { + background-color: #af00af; +} +.asciinema-terminal .fg-128 { + color: #af00d7; +} +.asciinema-terminal .bg-128 { + background-color: #af00d7; +} +.asciinema-terminal .fg-129 { + color: #af00ff; +} +.asciinema-terminal .bg-129 { + background-color: #af00ff; +} +.asciinema-terminal .fg-130 { + color: #af5f00; +} +.asciinema-terminal .bg-130 { + background-color: #af5f00; +} +.asciinema-terminal .fg-131 { + color: #af5f5f; +} +.asciinema-terminal .bg-131 { + background-color: #af5f5f; +} +.asciinema-terminal .fg-132 { + color: #af5f87; +} +.asciinema-terminal .bg-132 { + background-color: #af5f87; +} +.asciinema-terminal .fg-133 { + color: #af5faf; +} +.asciinema-terminal .bg-133 { + background-color: #af5faf; +} +.asciinema-terminal .fg-134 { + color: #af5fd7; +} +.asciinema-terminal .bg-134 { + background-color: #af5fd7; +} +.asciinema-terminal .fg-135 { + color: #af5fff; +} +.asciinema-terminal .bg-135 { + background-color: #af5fff; +} +.asciinema-terminal .fg-136 { + color: #af8700; +} +.asciinema-terminal .bg-136 { + background-color: #af8700; +} +.asciinema-terminal .fg-137 { + color: #af875f; +} +.asciinema-terminal .bg-137 { + background-color: #af875f; +} +.asciinema-terminal .fg-138 { + color: #af8787; +} +.asciinema-terminal .bg-138 { + background-color: #af8787; +} +.asciinema-terminal .fg-139 { + color: #af87af; +} +.asciinema-terminal .bg-139 { + background-color: #af87af; +} +.asciinema-terminal .fg-140 { + color: #af87d7; +} +.asciinema-terminal .bg-140 { + background-color: #af87d7; +} +.asciinema-terminal .fg-141 { + color: #af87ff; +} +.asciinema-terminal .bg-141 { + background-color: #af87ff; +} +.asciinema-terminal .fg-142 { + color: #afaf00; +} +.asciinema-terminal .bg-142 { + background-color: #afaf00; +} +.asciinema-terminal .fg-143 { + color: #afaf5f; +} +.asciinema-terminal .bg-143 { + background-color: #afaf5f; +} +.asciinema-terminal .fg-144 { + color: #afaf87; +} +.asciinema-terminal .bg-144 { + background-color: #afaf87; +} +.asciinema-terminal .fg-145 { + color: #afafaf; +} +.asciinema-terminal .bg-145 { + background-color: #afafaf; +} +.asciinema-terminal .fg-146 { + color: #afafd7; +} +.asciinema-terminal .bg-146 { + background-color: #afafd7; +} +.asciinema-terminal .fg-147 { + color: #afafff; +} +.asciinema-terminal .bg-147 { + background-color: #afafff; +} +.asciinema-terminal .fg-148 { + color: #afd700; +} +.asciinema-terminal .bg-148 { + background-color: #afd700; +} +.asciinema-terminal .fg-149 { + color: #afd75f; +} +.asciinema-terminal .bg-149 { + background-color: #afd75f; +} +.asciinema-terminal .fg-150 { + color: #afd787; +} +.asciinema-terminal .bg-150 { + background-color: #afd787; +} +.asciinema-terminal .fg-151 { + color: #afd7af; +} +.asciinema-terminal .bg-151 { + background-color: #afd7af; +} +.asciinema-terminal .fg-152 { + color: #afd7d7; +} +.asciinema-terminal .bg-152 { + background-color: #afd7d7; +} +.asciinema-terminal .fg-153 { + color: #afd7ff; +} +.asciinema-terminal .bg-153 { + background-color: #afd7ff; +} +.asciinema-terminal .fg-154 { + color: #afff00; +} +.asciinema-terminal .bg-154 { + background-color: #afff00; +} +.asciinema-terminal .fg-155 { + color: #afff5f; +} +.asciinema-terminal .bg-155 { + background-color: #afff5f; +} +.asciinema-terminal .fg-156 { + color: #afff87; +} +.asciinema-terminal .bg-156 { + background-color: #afff87; +} +.asciinema-terminal .fg-157 { + color: #afffaf; +} +.asciinema-terminal .bg-157 { + background-color: #afffaf; +} +.asciinema-terminal .fg-158 { + color: #afffd7; +} +.asciinema-terminal .bg-158 { + background-color: #afffd7; +} +.asciinema-terminal .fg-159 { + color: #afffff; +} +.asciinema-terminal .bg-159 { + background-color: #afffff; +} +.asciinema-terminal .fg-160 { + color: #d70000; +} +.asciinema-terminal .bg-160 { + background-color: #d70000; +} +.asciinema-terminal .fg-161 { + color: #d7005f; +} +.asciinema-terminal .bg-161 { + background-color: #d7005f; +} +.asciinema-terminal .fg-162 { + color: #d70087; +} +.asciinema-terminal .bg-162 { + background-color: #d70087; +} +.asciinema-terminal .fg-163 { + color: #d700af; +} +.asciinema-terminal .bg-163 { + background-color: #d700af; +} +.asciinema-terminal .fg-164 { + color: #d700d7; +} +.asciinema-terminal .bg-164 { + background-color: #d700d7; +} +.asciinema-terminal .fg-165 { + color: #d700ff; +} +.asciinema-terminal .bg-165 { + background-color: #d700ff; +} +.asciinema-terminal .fg-166 { + color: #d75f00; +} +.asciinema-terminal .bg-166 { + background-color: #d75f00; +} +.asciinema-terminal .fg-167 { + color: #d75f5f; +} +.asciinema-terminal .bg-167 { + background-color: #d75f5f; +} +.asciinema-terminal .fg-168 { + color: #d75f87; +} +.asciinema-terminal .bg-168 { + background-color: #d75f87; +} +.asciinema-terminal .fg-169 { + color: #d75faf; +} +.asciinema-terminal .bg-169 { + background-color: #d75faf; +} +.asciinema-terminal .fg-170 { + color: #d75fd7; +} +.asciinema-terminal .bg-170 { + background-color: #d75fd7; +} +.asciinema-terminal .fg-171 { + color: #d75fff; +} +.asciinema-terminal .bg-171 { + background-color: #d75fff; +} +.asciinema-terminal .fg-172 { + color: #d78700; +} +.asciinema-terminal .bg-172 { + background-color: #d78700; +} +.asciinema-terminal .fg-173 { + color: #d7875f; +} +.asciinema-terminal .bg-173 { + background-color: #d7875f; +} +.asciinema-terminal .fg-174 { + color: #d78787; +} +.asciinema-terminal .bg-174 { + background-color: #d78787; +} +.asciinema-terminal .fg-175 { + color: #d787af; +} +.asciinema-terminal .bg-175 { + background-color: #d787af; +} +.asciinema-terminal .fg-176 { + color: #d787d7; +} +.asciinema-terminal .bg-176 { + background-color: #d787d7; +} +.asciinema-terminal .fg-177 { + color: #d787ff; +} +.asciinema-terminal .bg-177 { + background-color: #d787ff; +} +.asciinema-terminal .fg-178 { + color: #d7af00; +} +.asciinema-terminal .bg-178 { + background-color: #d7af00; +} +.asciinema-terminal .fg-179 { + color: #d7af5f; +} +.asciinema-terminal .bg-179 { + background-color: #d7af5f; +} +.asciinema-terminal .fg-180 { + color: #d7af87; +} +.asciinema-terminal .bg-180 { + background-color: #d7af87; +} +.asciinema-terminal .fg-181 { + color: #d7afaf; +} +.asciinema-terminal .bg-181 { + background-color: #d7afaf; +} +.asciinema-terminal .fg-182 { + color: #d7afd7; +} +.asciinema-terminal .bg-182 { + background-color: #d7afd7; +} +.asciinema-terminal .fg-183 { + color: #d7afff; +} +.asciinema-terminal .bg-183 { + background-color: #d7afff; +} +.asciinema-terminal .fg-184 { + color: #d7d700; +} +.asciinema-terminal .bg-184 { + background-color: #d7d700; +} +.asciinema-terminal .fg-185 { + color: #d7d75f; +} +.asciinema-terminal .bg-185 { + background-color: #d7d75f; +} +.asciinema-terminal .fg-186 { + color: #d7d787; +} +.asciinema-terminal .bg-186 { + background-color: #d7d787; +} +.asciinema-terminal .fg-187 { + color: #d7d7af; +} +.asciinema-terminal .bg-187 { + background-color: #d7d7af; +} +.asciinema-terminal .fg-188 { + color: #d7d7d7; +} +.asciinema-terminal .bg-188 { + background-color: #d7d7d7; +} +.asciinema-terminal .fg-189 { + color: #d7d7ff; +} +.asciinema-terminal .bg-189 { + background-color: #d7d7ff; +} +.asciinema-terminal .fg-190 { + color: #d7ff00; +} +.asciinema-terminal .bg-190 { + background-color: #d7ff00; +} +.asciinema-terminal .fg-191 { + color: #d7ff5f; +} +.asciinema-terminal .bg-191 { + background-color: #d7ff5f; +} +.asciinema-terminal .fg-192 { + color: #d7ff87; +} +.asciinema-terminal .bg-192 { + background-color: #d7ff87; +} +.asciinema-terminal .fg-193 { + color: #d7ffaf; +} +.asciinema-terminal .bg-193 { + background-color: #d7ffaf; +} +.asciinema-terminal .fg-194 { + color: #d7ffd7; +} +.asciinema-terminal .bg-194 { + background-color: #d7ffd7; +} +.asciinema-terminal .fg-195 { + color: #d7ffff; +} +.asciinema-terminal .bg-195 { + background-color: #d7ffff; +} +.asciinema-terminal .fg-196 { + color: #ff0000; +} +.asciinema-terminal .bg-196 { + background-color: #ff0000; +} +.asciinema-terminal .fg-197 { + color: #ff005f; +} +.asciinema-terminal .bg-197 { + background-color: #ff005f; +} +.asciinema-terminal .fg-198 { + color: #ff0087; +} +.asciinema-terminal .bg-198 { + background-color: #ff0087; +} +.asciinema-terminal .fg-199 { + color: #ff00af; +} +.asciinema-terminal .bg-199 { + background-color: #ff00af; +} +.asciinema-terminal .fg-200 { + color: #ff00d7; +} +.asciinema-terminal .bg-200 { + background-color: #ff00d7; +} +.asciinema-terminal .fg-201 { + color: #ff00ff; +} +.asciinema-terminal .bg-201 { + background-color: #ff00ff; +} +.asciinema-terminal .fg-202 { + color: #ff5f00; +} +.asciinema-terminal .bg-202 { + background-color: #ff5f00; +} +.asciinema-terminal .fg-203 { + color: #ff5f5f; +} +.asciinema-terminal .bg-203 { + background-color: #ff5f5f; +} +.asciinema-terminal .fg-204 { + color: #ff5f87; +} +.asciinema-terminal .bg-204 { + background-color: #ff5f87; +} +.asciinema-terminal .fg-205 { + color: #ff5faf; +} +.asciinema-terminal .bg-205 { + background-color: #ff5faf; +} +.asciinema-terminal .fg-206 { + color: #ff5fd7; +} +.asciinema-terminal .bg-206 { + background-color: #ff5fd7; +} +.asciinema-terminal .fg-207 { + color: #ff5fff; +} +.asciinema-terminal .bg-207 { + background-color: #ff5fff; +} +.asciinema-terminal .fg-208 { + color: #ff8700; +} +.asciinema-terminal .bg-208 { + background-color: #ff8700; +} +.asciinema-terminal .fg-209 { + color: #ff875f; +} +.asciinema-terminal .bg-209 { + background-color: #ff875f; +} +.asciinema-terminal .fg-210 { + color: #ff8787; +} +.asciinema-terminal .bg-210 { + background-color: #ff8787; +} +.asciinema-terminal .fg-211 { + color: #ff87af; +} +.asciinema-terminal .bg-211 { + background-color: #ff87af; +} +.asciinema-terminal .fg-212 { + color: #ff87d7; +} +.asciinema-terminal .bg-212 { + background-color: #ff87d7; +} +.asciinema-terminal .fg-213 { + color: #ff87ff; +} +.asciinema-terminal .bg-213 { + background-color: #ff87ff; +} +.asciinema-terminal .fg-214 { + color: #ffaf00; +} +.asciinema-terminal .bg-214 { + background-color: #ffaf00; +} +.asciinema-terminal .fg-215 { + color: #ffaf5f; +} +.asciinema-terminal .bg-215 { + background-color: #ffaf5f; +} +.asciinema-terminal .fg-216 { + color: #ffaf87; +} +.asciinema-terminal .bg-216 { + background-color: #ffaf87; +} +.asciinema-terminal .fg-217 { + color: #ffafaf; +} +.asciinema-terminal .bg-217 { + background-color: #ffafaf; +} +.asciinema-terminal .fg-218 { + color: #ffafd7; +} +.asciinema-terminal .bg-218 { + background-color: #ffafd7; +} +.asciinema-terminal .fg-219 { + color: #ffafff; +} +.asciinema-terminal .bg-219 { + background-color: #ffafff; +} +.asciinema-terminal .fg-220 { + color: #ffd700; +} +.asciinema-terminal .bg-220 { + background-color: #ffd700; +} +.asciinema-terminal .fg-221 { + color: #ffd75f; +} +.asciinema-terminal .bg-221 { + background-color: #ffd75f; +} +.asciinema-terminal .fg-222 { + color: #ffd787; +} +.asciinema-terminal .bg-222 { + background-color: #ffd787; +} +.asciinema-terminal .fg-223 { + color: #ffd7af; +} +.asciinema-terminal .bg-223 { + background-color: #ffd7af; +} +.asciinema-terminal .fg-224 { + color: #ffd7d7; +} +.asciinema-terminal .bg-224 { + background-color: #ffd7d7; +} +.asciinema-terminal .fg-225 { + color: #ffd7ff; +} +.asciinema-terminal .bg-225 { + background-color: #ffd7ff; +} +.asciinema-terminal .fg-226 { + color: #ffff00; +} +.asciinema-terminal .bg-226 { + background-color: #ffff00; +} +.asciinema-terminal .fg-227 { + color: #ffff5f; +} +.asciinema-terminal .bg-227 { + background-color: #ffff5f; +} +.asciinema-terminal .fg-228 { + color: #ffff87; +} +.asciinema-terminal .bg-228 { + background-color: #ffff87; +} +.asciinema-terminal .fg-229 { + color: #ffffaf; +} +.asciinema-terminal .bg-229 { + background-color: #ffffaf; +} +.asciinema-terminal .fg-230 { + color: #ffffd7; +} +.asciinema-terminal .bg-230 { + background-color: #ffffd7; +} +.asciinema-terminal .fg-231 { + color: #ffffff; +} +.asciinema-terminal .bg-231 { + background-color: #ffffff; +} +.asciinema-terminal .fg-232 { + color: #080808; +} +.asciinema-terminal .bg-232 { + background-color: #080808; +} +.asciinema-terminal .fg-233 { + color: #121212; +} +.asciinema-terminal .bg-233 { + background-color: #121212; +} +.asciinema-terminal .fg-234 { + color: #1c1c1c; +} +.asciinema-terminal .bg-234 { + background-color: #1c1c1c; +} +.asciinema-terminal .fg-235 { + color: #262626; +} +.asciinema-terminal .bg-235 { + background-color: #262626; +} +.asciinema-terminal .fg-236 { + color: #303030; +} +.asciinema-terminal .bg-236 { + background-color: #303030; +} +.asciinema-terminal .fg-237 { + color: #3a3a3a; +} +.asciinema-terminal .bg-237 { + background-color: #3a3a3a; +} +.asciinema-terminal .fg-238 { + color: #444444; +} +.asciinema-terminal .bg-238 { + background-color: #444444; +} +.asciinema-terminal .fg-239 { + color: #4e4e4e; +} +.asciinema-terminal .bg-239 { + background-color: #4e4e4e; +} +.asciinema-terminal .fg-240 { + color: #585858; +} +.asciinema-terminal .bg-240 { + background-color: #585858; +} +.asciinema-terminal .fg-241 { + color: #626262; +} +.asciinema-terminal .bg-241 { + background-color: #626262; +} +.asciinema-terminal .fg-242 { + color: #6c6c6c; +} +.asciinema-terminal .bg-242 { + background-color: #6c6c6c; +} +.asciinema-terminal .fg-243 { + color: #767676; +} +.asciinema-terminal .bg-243 { + background-color: #767676; +} +.asciinema-terminal .fg-244 { + color: #808080; +} +.asciinema-terminal .bg-244 { + background-color: #808080; +} +.asciinema-terminal .fg-245 { + color: #8a8a8a; +} +.asciinema-terminal .bg-245 { + background-color: #8a8a8a; +} +.asciinema-terminal .fg-246 { + color: #949494; +} +.asciinema-terminal .bg-246 { + background-color: #949494; +} +.asciinema-terminal .fg-247 { + color: #9e9e9e; +} +.asciinema-terminal .bg-247 { + background-color: #9e9e9e; +} +.asciinema-terminal .fg-248 { + color: #a8a8a8; +} +.asciinema-terminal .bg-248 { + background-color: #a8a8a8; +} +.asciinema-terminal .fg-249 { + color: #b2b2b2; +} +.asciinema-terminal .bg-249 { + background-color: #b2b2b2; +} +.asciinema-terminal .fg-250 { + color: #bcbcbc; +} +.asciinema-terminal .bg-250 { + background-color: #bcbcbc; +} +.asciinema-terminal .fg-251 { + color: #c6c6c6; +} +.asciinema-terminal .bg-251 { + background-color: #c6c6c6; +} +.asciinema-terminal .fg-252 { + color: #d0d0d0; +} +.asciinema-terminal .bg-252 { + background-color: #d0d0d0; +} +.asciinema-terminal .fg-253 { + color: #dadada; +} +.asciinema-terminal .bg-253 { + background-color: #dadada; +} +.asciinema-terminal .fg-254 { + color: #e4e4e4; +} +.asciinema-terminal .bg-254 { + background-color: #e4e4e4; +} +.asciinema-terminal .fg-255 { + color: #eeeeee; +} +.asciinema-terminal .bg-255 { + background-color: #eeeeee; +} +.asciinema-theme-asciinema { + background-color: #121314; +} +.asciinema-theme-asciinema .asciinema-terminal { + color: #CCCCCC; + background-color: #121314; + border-color: #121314; +} +.asciinema-theme-asciinema .fg-bg { + color: #121314; +} +.asciinema-theme-asciinema .bg-fg { + background-color: #CCCCCC; +} +.asciinema-theme-asciinema .fg-0 { + color: hsl(0, 0%, 0%); +} +.asciinema-theme-asciinema .bg-0 { + background-color: hsl(0, 0%, 0%); +} +.asciinema-theme-asciinema .fg-1 { + color: hsl(343, 70%, 55%); +} +.asciinema-theme-asciinema .bg-1 { + background-color: hsl(343, 70%, 55%); +} +.asciinema-theme-asciinema .fg-2 { + color: hsl(103, 70%, 44%); +} +.asciinema-theme-asciinema .bg-2 { + background-color: hsl(103, 70%, 44%); +} +.asciinema-theme-asciinema .fg-3 { + color: hsl(43, 70%, 55%); +} +.asciinema-theme-asciinema .bg-3 { + background-color: hsl(43, 70%, 55%); +} +.asciinema-theme-asciinema .fg-4 { + color: hsl(193, 70%, 49.5%); +} +.asciinema-theme-asciinema .bg-4 { + background-color: hsl(193, 70%, 49.5%); +} +.asciinema-theme-asciinema .fg-5 { + color: hsl(283, 70%, 60.5%); +} +.asciinema-theme-asciinema .bg-5 { + background-color: hsl(283, 70%, 60.5%); +} +.asciinema-theme-asciinema .fg-6 { + color: hsl(163, 70%, 60.5%); +} +.asciinema-theme-asciinema .bg-6 { + background-color: hsl(163, 70%, 60.5%); +} +.asciinema-theme-asciinema .fg-7 { + color: hsl(0, 0%, 85%); +} +.asciinema-theme-asciinema .bg-7 { + background-color: hsl(0, 0%, 85%); +} +.asciinema-theme-asciinema .fg-8 { + color: hsl(0, 0%, 30%); +} +.asciinema-theme-asciinema .bg-8 { + background-color: hsl(0, 0%, 30%); +} +.asciinema-theme-asciinema .fg-9 { + color: hsl(343, 70%, 55%); +} +.asciinema-theme-asciinema .bg-9 { + background-color: hsl(343, 70%, 55%); +} +.asciinema-theme-asciinema .fg-10 { + color: hsl(103, 70%, 44%); +} +.asciinema-theme-asciinema .bg-10 { + background-color: hsl(103, 70%, 44%); +} +.asciinema-theme-asciinema .fg-11 { + color: hsl(43, 70%, 55%); +} +.asciinema-theme-asciinema .bg-11 { + background-color: hsl(43, 70%, 55%); +} +.asciinema-theme-asciinema .fg-12 { + color: hsl(193, 70%, 49.5%); +} +.asciinema-theme-asciinema .bg-12 { + background-color: hsl(193, 70%, 49.5%); +} +.asciinema-theme-asciinema .fg-13 { + color: hsl(283, 70%, 60.5%); +} +.asciinema-theme-asciinema .bg-13 { + background-color: hsl(283, 70%, 60.5%); +} +.asciinema-theme-asciinema .fg-14 { + color: hsl(163, 70%, 60.5%); +} +.asciinema-theme-asciinema .bg-14 { + background-color: hsl(163, 70%, 60.5%); +} +.asciinema-theme-asciinema .fg-15 { + color: hsl(0, 0%, 100%); +} +.asciinema-theme-asciinema .bg-15 { + background-color: hsl(0, 0%, 100%); +} +.asciinema-theme-asciinema .fg-8, +.asciinema-theme-asciinema .fg-9, +.asciinema-theme-asciinema .fg-10, +.asciinema-theme-asciinema .fg-11, +.asciinema-theme-asciinema .fg-12, +.asciinema-theme-asciinema .fg-13, +.asciinema-theme-asciinema .fg-14, +.asciinema-theme-asciinema .fg-15 { + font-weight: bold; +} +.asciinema-theme-tango { + background-color: #121314; +} +.asciinema-theme-tango .asciinema-terminal { + color: #CCCCCC; + background-color: #121314; + border-color: #121314; +} +.asciinema-theme-tango .fg-bg { + color: #121314; +} +.asciinema-theme-tango .bg-fg { + background-color: #CCCCCC; +} +.asciinema-theme-tango .fg-0 { + color: #000000; +} +.asciinema-theme-tango .bg-0 { + background-color: #000000; +} +.asciinema-theme-tango .fg-1 { + color: #CC0000; +} +.asciinema-theme-tango .bg-1 { + background-color: #CC0000; +} +.asciinema-theme-tango .fg-2 { + color: #4E9A06; +} +.asciinema-theme-tango .bg-2 { + background-color: #4E9A06; +} +.asciinema-theme-tango .fg-3 { + color: #C4A000; +} +.asciinema-theme-tango .bg-3 { + background-color: #C4A000; +} +.asciinema-theme-tango .fg-4 { + color: #3465A4; +} +.asciinema-theme-tango .bg-4 { + background-color: #3465A4; +} +.asciinema-theme-tango .fg-5 { + color: #75507B; +} +.asciinema-theme-tango .bg-5 { + background-color: #75507B; +} +.asciinema-theme-tango .fg-6 { + color: #06989A; +} +.asciinema-theme-tango .bg-6 { + background-color: #06989A; +} +.asciinema-theme-tango .fg-7 { + color: #D3D7CF; +} +.asciinema-theme-tango .bg-7 { + background-color: #D3D7CF; +} +.asciinema-theme-tango .fg-8 { + color: #555753; +} +.asciinema-theme-tango .bg-8 { + background-color: #555753; +} +.asciinema-theme-tango .fg-9 { + color: #EF2929; +} +.asciinema-theme-tango .bg-9 { + background-color: #EF2929; +} +.asciinema-theme-tango .fg-10 { + color: #8AE234; +} +.asciinema-theme-tango .bg-10 { + background-color: #8AE234; +} +.asciinema-theme-tango .fg-11 { + color: #FCE94F; +} +.asciinema-theme-tango .bg-11 { + background-color: #FCE94F; +} +.asciinema-theme-tango .fg-12 { + color: #729FCF; +} +.asciinema-theme-tango .bg-12 { + background-color: #729FCF; +} +.asciinema-theme-tango .fg-13 { + color: #AD7FA8; +} +.asciinema-theme-tango .bg-13 { + background-color: #AD7FA8; +} +.asciinema-theme-tango .fg-14 { + color: #34E2E2; +} +.asciinema-theme-tango .bg-14 { + background-color: #34E2E2; +} +.asciinema-theme-tango .fg-15 { + color: #EEEEEC; +} +.asciinema-theme-tango .bg-15 { + background-color: #EEEEEC; +} +.asciinema-theme-tango .fg-8, +.asciinema-theme-tango .fg-9, +.asciinema-theme-tango .fg-10, +.asciinema-theme-tango .fg-11, +.asciinema-theme-tango .fg-12, +.asciinema-theme-tango .fg-13, +.asciinema-theme-tango .fg-14, +.asciinema-theme-tango .fg-15 { + font-weight: bold; +} +.asciinema-theme-solarized-dark { + background-color: #002b36; +} +.asciinema-theme-solarized-dark .asciinema-terminal { + color: #839496; + background-color: #002b36; + border-color: #002b36; +} +.asciinema-theme-solarized-dark .fg-bg { + color: #002b36; +} +.asciinema-theme-solarized-dark .bg-fg { + background-color: #839496; +} +.asciinema-theme-solarized-dark .fg-0 { + color: #073642; +} +.asciinema-theme-solarized-dark .bg-0 { + background-color: #073642; +} +.asciinema-theme-solarized-dark .fg-1 { + color: #dc322f; +} +.asciinema-theme-solarized-dark .bg-1 { + background-color: #dc322f; +} +.asciinema-theme-solarized-dark .fg-2 { + color: #859900; +} +.asciinema-theme-solarized-dark .bg-2 { + background-color: #859900; +} +.asciinema-theme-solarized-dark .fg-3 { + color: #b58900; +} +.asciinema-theme-solarized-dark .bg-3 { + background-color: #b58900; +} +.asciinema-theme-solarized-dark .fg-4 { + color: #268bd2; +} +.asciinema-theme-solarized-dark .bg-4 { + background-color: #268bd2; +} +.asciinema-theme-solarized-dark .fg-5 { + color: #d33682; +} +.asciinema-theme-solarized-dark .bg-5 { + background-color: #d33682; +} +.asciinema-theme-solarized-dark .fg-6 { + color: #2aa198; +} +.asciinema-theme-solarized-dark .bg-6 { + background-color: #2aa198; +} +.asciinema-theme-solarized-dark .fg-7 { + color: #eee8d5; +} +.asciinema-theme-solarized-dark .bg-7 { + background-color: #eee8d5; +} +.asciinema-theme-solarized-dark .fg-8 { + color: #002b36; +} +.asciinema-theme-solarized-dark .bg-8 { + background-color: #002b36; +} +.asciinema-theme-solarized-dark .fg-9 { + color: #cb4b16; +} +.asciinema-theme-solarized-dark .bg-9 { + background-color: #cb4b16; +} +.asciinema-theme-solarized-dark .fg-10 { + color: #586e75; +} +.asciinema-theme-solarized-dark .bg-10 { + background-color: #586e75; +} +.asciinema-theme-solarized-dark .fg-11 { + color: #657b83; +} +.asciinema-theme-solarized-dark .bg-11 { + background-color: #657b83; +} +.asciinema-theme-solarized-dark .fg-12 { + color: #839496; +} +.asciinema-theme-solarized-dark .bg-12 { + background-color: #839496; +} +.asciinema-theme-solarized-dark .fg-13 { + color: #6c71c4; +} +.asciinema-theme-solarized-dark .bg-13 { + background-color: #6c71c4; +} +.asciinema-theme-solarized-dark .fg-14 { + color: #93a1a1; +} +.asciinema-theme-solarized-dark .bg-14 { + background-color: #93a1a1; +} +.asciinema-theme-solarized-dark .fg-15 { + color: #fdf6e3; +} +.asciinema-theme-solarized-dark .bg-15 { + background-color: #fdf6e3; +} +.asciinema-theme-solarized-light { + background-color: #fdf6e3; +} +.asciinema-theme-solarized-light .asciinema-terminal { + color: #657b83; + background-color: #fdf6e3; + border-color: #fdf6e3; +} +.asciinema-theme-solarized-light .fg-bg { + color: #fdf6e3; +} +.asciinema-theme-solarized-light .bg-fg { + background-color: #657b83; +} +.asciinema-theme-solarized-light .fg-0 { + color: #073642; +} +.asciinema-theme-solarized-light .bg-0 { + background-color: #073642; +} +.asciinema-theme-solarized-light .fg-1 { + color: #dc322f; +} +.asciinema-theme-solarized-light .bg-1 { + background-color: #dc322f; +} +.asciinema-theme-solarized-light .fg-2 { + color: #859900; +} +.asciinema-theme-solarized-light .bg-2 { + background-color: #859900; +} +.asciinema-theme-solarized-light .fg-3 { + color: #b58900; +} +.asciinema-theme-solarized-light .bg-3 { + background-color: #b58900; +} +.asciinema-theme-solarized-light .fg-4 { + color: #268bd2; +} +.asciinema-theme-solarized-light .bg-4 { + background-color: #268bd2; +} +.asciinema-theme-solarized-light .fg-5 { + color: #d33682; +} +.asciinema-theme-solarized-light .bg-5 { + background-color: #d33682; +} +.asciinema-theme-solarized-light .fg-6 { + color: #2aa198; +} +.asciinema-theme-solarized-light .bg-6 { + background-color: #2aa198; +} +.asciinema-theme-solarized-light .fg-7 { + color: #eee8d5; +} +.asciinema-theme-solarized-light .bg-7 { + background-color: #eee8d5; +} +.asciinema-theme-solarized-light .fg-8 { + color: #002b36; +} +.asciinema-theme-solarized-light .bg-8 { + background-color: #002b36; +} +.asciinema-theme-solarized-light .fg-9 { + color: #cb4b16; +} +.asciinema-theme-solarized-light .bg-9 { + background-color: #cb4b16; +} +.asciinema-theme-solarized-light .fg-10 { + color: #586e75; +} +.asciinema-theme-solarized-light .bg-10 { + background-color: #586e75; +} +.asciinema-theme-solarized-light .fg-11 { + color: #657c83; +} +.asciinema-theme-solarized-light .bg-11 { + background-color: #657c83; +} +.asciinema-theme-solarized-light .fg-12 { + color: #839496; +} +.asciinema-theme-solarized-light .bg-12 { + background-color: #839496; +} +.asciinema-theme-solarized-light .fg-13 { + color: #6c71c4; +} +.asciinema-theme-solarized-light .bg-13 { + background-color: #6c71c4; +} +.asciinema-theme-solarized-light .fg-14 { + color: #93a1a1; +} +.asciinema-theme-solarized-light .bg-14 { + background-color: #93a1a1; +} +.asciinema-theme-solarized-light .fg-15 { + color: #fdf6e3; +} +.asciinema-theme-solarized-light .bg-15 { + background-color: #fdf6e3; +} +.asciinema-theme-solarized-light .start-prompt .play-button svg .play-btn-fill { + fill: #dc322f; +} +.asciinema-theme-solarized-light .start-prompt .play-button svg .play-btn-stroke { + stroke: #dc322f; +} +.asciinema-theme-seti { + background-color: #111213; +} +.asciinema-theme-seti .asciinema-terminal { + color: #cacecd; + background-color: #111213; + border-color: #111213; +} +.asciinema-theme-seti .fg-bg { + color: #111213; +} +.asciinema-theme-seti .bg-fg { + background-color: #cacecd; +} +.asciinema-theme-seti .fg-0 { + color: #323232; +} +.asciinema-theme-seti .bg-0 { + background-color: #323232; +} +.asciinema-theme-seti .fg-1 { + color: #c22832; +} +.asciinema-theme-seti .bg-1 { + background-color: #c22832; +} +.asciinema-theme-seti .fg-2 { + color: #8ec43d; +} +.asciinema-theme-seti .bg-2 { + background-color: #8ec43d; +} +.asciinema-theme-seti .fg-3 { + color: #e0c64f; +} +.asciinema-theme-seti .bg-3 { + background-color: #e0c64f; +} +.asciinema-theme-seti .fg-4 { + color: #43a5d5; +} +.asciinema-theme-seti .bg-4 { + background-color: #43a5d5; +} +.asciinema-theme-seti .fg-5 { + color: #8b57b5; +} +.asciinema-theme-seti .bg-5 { + background-color: #8b57b5; +} +.asciinema-theme-seti .fg-6 { + color: #8ec43d; +} +.asciinema-theme-seti .bg-6 { + background-color: #8ec43d; +} +.asciinema-theme-seti .fg-7 { + color: #eeeeee; +} +.asciinema-theme-seti .bg-7 { + background-color: #eeeeee; +} +.asciinema-theme-seti .fg-8 { + color: #323232; +} +.asciinema-theme-seti .bg-8 { + background-color: #323232; +} +.asciinema-theme-seti .fg-9 { + color: #c22832; +} +.asciinema-theme-seti .bg-9 { + background-color: #c22832; +} +.asciinema-theme-seti .fg-10 { + color: #8ec43d; +} +.asciinema-theme-seti .bg-10 { + background-color: #8ec43d; +} +.asciinema-theme-seti .fg-11 { + color: #e0c64f; +} +.asciinema-theme-seti .bg-11 { + background-color: #e0c64f; +} +.asciinema-theme-seti .fg-12 { + color: #43a5d5; +} +.asciinema-theme-seti .bg-12 { + background-color: #43a5d5; +} +.asciinema-theme-seti .fg-13 { + color: #8b57b5; +} +.asciinema-theme-seti .bg-13 { + background-color: #8b57b5; +} +.asciinema-theme-seti .fg-14 { + color: #8ec43d; +} +.asciinema-theme-seti .bg-14 { + background-color: #8ec43d; +} +.asciinema-theme-seti .fg-15 { + color: #ffffff; +} +.asciinema-theme-seti .bg-15 { + background-color: #ffffff; +} +.asciinema-theme-seti .fg-8, +.asciinema-theme-seti .fg-9, +.asciinema-theme-seti .fg-10, +.asciinema-theme-seti .fg-11, +.asciinema-theme-seti .fg-12, +.asciinema-theme-seti .fg-13, +.asciinema-theme-seti .fg-14, +.asciinema-theme-seti .fg-15 { + font-weight: bold; +} +/* Based on Monokai from base16 collection - https://github.com/chriskempson/base16 */ +.asciinema-theme-monokai { + background-color: #272822; +} +.asciinema-theme-monokai .asciinema-terminal { + color: #f8f8f2; + background-color: #272822; + border-color: #272822; +} +.asciinema-theme-monokai .fg-bg { + color: #272822; +} +.asciinema-theme-monokai .bg-fg { + background-color: #f8f8f2; +} +.asciinema-theme-monokai .fg-0 { + color: #272822; +} +.asciinema-theme-monokai .bg-0 { + background-color: #272822; +} +.asciinema-theme-monokai .fg-1 { + color: #f92672; +} +.asciinema-theme-monokai .bg-1 { + background-color: #f92672; +} +.asciinema-theme-monokai .fg-2 { + color: #a6e22e; +} +.asciinema-theme-monokai .bg-2 { + background-color: #a6e22e; +} +.asciinema-theme-monokai .fg-3 { + color: #f4bf75; +} +.asciinema-theme-monokai .bg-3 { + background-color: #f4bf75; +} +.asciinema-theme-monokai .fg-4 { + color: #66d9ef; +} +.asciinema-theme-monokai .bg-4 { + background-color: #66d9ef; +} +.asciinema-theme-monokai .fg-5 { + color: #ae81ff; +} +.asciinema-theme-monokai .bg-5 { + background-color: #ae81ff; +} +.asciinema-theme-monokai .fg-6 { + color: #a1efe4; +} +.asciinema-theme-monokai .bg-6 { + background-color: #a1efe4; +} +.asciinema-theme-monokai .fg-7 { + color: #f8f8f2; +} +.asciinema-theme-monokai .bg-7 { + background-color: #f8f8f2; +} +.asciinema-theme-monokai .fg-8 { + color: #75715e; +} +.asciinema-theme-monokai .bg-8 { + background-color: #75715e; +} +.asciinema-theme-monokai .fg-9 { + color: #f92672; +} +.asciinema-theme-monokai .bg-9 { + background-color: #f92672; +} +.asciinema-theme-monokai .fg-10 { + color: #a6e22e; +} +.asciinema-theme-monokai .bg-10 { + background-color: #a6e22e; +} +.asciinema-theme-monokai .fg-11 { + color: #f4bf75; +} +.asciinema-theme-monokai .bg-11 { + background-color: #f4bf75; +} +.asciinema-theme-monokai .fg-12 { + color: #66d9ef; +} +.asciinema-theme-monokai .bg-12 { + background-color: #66d9ef; +} +.asciinema-theme-monokai .fg-13 { + color: #ae81ff; +} +.asciinema-theme-monokai .bg-13 { + background-color: #ae81ff; +} +.asciinema-theme-monokai .fg-14 { + color: #a1efe4; +} +.asciinema-theme-monokai .bg-14 { + background-color: #a1efe4; +} +.asciinema-theme-monokai .fg-15 { + color: #f9f8f5; +} +.asciinema-theme-monokai .bg-15 { + background-color: #f9f8f5; +} +.asciinema-theme-monokai .fg-8, +.asciinema-theme-monokai .fg-9, +.asciinema-theme-monokai .fg-10, +.asciinema-theme-monokai .fg-11, +.asciinema-theme-monokai .fg-12, +.asciinema-theme-monokai .fg-13, +.asciinema-theme-monokai .fg-14, +.asciinema-theme-monokai .fg-15 { + font-weight: bold; +} +/* + Based on Nord: https://github.com/arcticicestudio/nord + Via: https://github.com/neilotoole/asciinema-theme-nord + */ +.asciinema-theme-nord { + background-color: #2E3440; +} +.asciinema-theme-nord .asciinema-terminal { + color: #ECEFF4; + background-color: #2E3440; + border-color: #2E3440; +} +.asciinema-theme-nord .fg-bg { + color: #2E3440; +} +.asciinema-theme-nord .bg-fg { + background-color: #ECEFF4; +} +.asciinema-theme-nord .fg-0 { + color: #3B4252; +} +.asciinema-theme-nord .bg-0 { + background-color: #3B4252; +} +.asciinema-theme-nord .fg-1 { + color: #BF616A; +} +.asciinema-theme-nord .bg-1 { + background-color: #BF616A; +} +.asciinema-theme-nord .fg-2 { + color: #A3BE8C; +} +.asciinema-theme-nord .bg-2 { + background-color: #A3BE8C; +} +.asciinema-theme-nord .fg-3 { + color: #EBCB8B; +} +.asciinema-theme-nord .bg-3 { + background-color: #EBCB8B; +} +.asciinema-theme-nord .fg-4 { + color: #81A1C1; +} +.asciinema-theme-nord .bg-4 { + background-color: #81A1C1; +} +.asciinema-theme-nord .fg-5 { + color: #B48EAD; +} +.asciinema-theme-nord .bg-5 { + background-color: #B48EAD; +} +.asciinema-theme-nord .fg-6 { + color: #88C0D0; +} +.asciinema-theme-nord .bg-6 { + background-color: #88C0D0; +} +.asciinema-theme-nord .fg-7 { + color: #ECEFF4; +} +.asciinema-theme-nord .bg-7 { + background-color: #ECEFF4; +} +.asciinema-theme-nord .fg-8 { + color: #3B4252; +} +.asciinema-theme-nord .bg-8 { + background-color: #3B4252; +} +.asciinema-theme-nord .fg-9 { + color: #BF616A; +} +.asciinema-theme-nord .bg-9 { + background-color: #BF616A; +} +.asciinema-theme-nord .fg-10 { + color: #A3BE8C; +} +.asciinema-theme-nord .bg-10 { + background-color: #A3BE8C; +} +.asciinema-theme-nord .fg-11 { + color: #EBCB8B; +} +.asciinema-theme-nord .bg-11 { + background-color: #EBCB8B; +} +.asciinema-theme-nord .fg-12 { + color: #81A1C1; +} +.asciinema-theme-nord .bg-12 { + background-color: #81A1C1; +} +.asciinema-theme-nord .fg-13 { + color: #B48EAD; +} +.asciinema-theme-nord .bg-13 { + background-color: #B48EAD; +} +.asciinema-theme-nord .fg-14 { + color: #88C0D0; +} +.asciinema-theme-nord .bg-14 { + background-color: #88C0D0; +} +.asciinema-theme-nord .fg-15 { + color: #ECEFF4; +} +.asciinema-theme-nord .bg-15 { + background-color: #ECEFF4; +} +.asciinema-theme-nord .fg-8, +.asciinema-theme-nord .fg-9, +.asciinema-theme-nord .fg-10, +.asciinema-theme-nord .fg-11, +.asciinema-theme-nord .fg-12, +.asciinema-theme-nord .fg-13, +.asciinema-theme-nord .fg-14, +.asciinema-theme-nord .fg-15 { + font-weight: bold; +} diff --git a/assets/external/asciinema-player.min.js b/assets/external/asciinema-player.min.js new file mode 100644 index 00000000..c81329b3 --- /dev/null +++ b/assets/external/asciinema-player.min.js @@ -0,0 +1 @@ +var AsciinemaPlayer=function(A){"use strict";const g={};const I=Symbol("solid-proxy"),B=Symbol("solid-track"),Q={equals:(A,g)=>A===g};let C=f;const E=1,i=2,e={owned:null,cleanups:null,context:null,owner:null};var t=null;let o=null,s=null,n=null,r=null,a=0;function c(A,g){const I=s,B=t,Q=0===A.length,C=Q?e:{owned:null,cleanups:null,context:null,owner:void 0===g?B:g},E=Q?A:()=>A((()=>y((()=>U(C)))));t=C,s=null;try{return J(E,!0)}finally{s=I,t=B}}function D(A,g){const I={value:A,observers:null,observerSlots:null,comparator:(g=g?Object.assign({},Q,g):Q).equals||void 0};return[R.bind(I),A=>("function"==typeof A&&(A=A(I.value)),M(I,A))]}function w(A,g,I){u(d(A,g,!1,E))}function h(A,g,I){C=S;const B=d(A,g,!1,E);B.user=!0,r?r.push(B):u(B)}function l(A,g,I){I=I?Object.assign({},Q,I):Q;const B=d(A,g,!0,0);return B.observers=null,B.observerSlots=null,B.comparator=I.equals||void 0,u(B),R.bind(B)}function y(A){if(null===s)return A();const g=s;s=null;try{return A()}finally{s=g}}function G(A){h((()=>y(A)))}function N(A){return null===t||(null===t.cleanups?t.cleanups=[A]:t.cleanups.push(A)),A}function k(){return s}function F(A){const g=l(A),I=l((()=>H(g())));return I.toArray=()=>{const A=I();return Array.isArray(A)?A:null!=A?[A]:[]},I}function R(){const A=o;if(this.sources&&(this.state||A))if(this.state===E||A)u(this);else{const A=n;n=null,J((()=>L(this)),!1),n=A}if(s){const A=this.observers?this.observers.length:0;s.sources?(s.sources.push(this),s.sourceSlots.push(A)):(s.sources=[this],s.sourceSlots=[A]),this.observers?(this.observers.push(s),this.observerSlots.push(s.sources.length-1)):(this.observers=[s],this.observerSlots=[s.sources.length-1])}return this.value}function M(A,g,I){let B=A.value;return A.comparator&&A.comparator(B,g)||(A.value=g,A.observers&&A.observers.length&&J((()=>{for(let g=0;g1e6)throw n=[],new Error}),!1)),g}function u(A){if(!A.fn)return;U(A);const g=t,I=s,B=a;s=t=A,function(A,g,I){let B;try{B=A.fn(g)}catch(g){A.pure&&(A.state=E,A.owned&&A.owned.forEach(U),A.owned=null),K(g)}(!A.updatedAt||A.updatedAt<=I)&&(null!=A.updatedAt&&"observers"in A?M(A,B):A.value=B,A.updatedAt=I)}(A,A.value,B),s=I,t=g}function d(A,g,I,B=E,Q){const C={fn:A,state:B,updatedAt:null,owned:null,sources:null,sourceSlots:null,cleanups:null,value:g,owner:t,context:null,pure:I};return null===t||t!==e&&(t.owned?t.owned.push(C):t.owned=[C]),C}function Y(A){const g=o;if(0===A.state||g)return;if(A.state===i||g)return L(A);if(A.suspense&&y(A.suspense.inFallback))return A.suspense.effects.push(A);const I=[A];for(;(A=A.owner)&&(!A.updatedAt||A.updatedAt=0;B--)if((A=I[B]).state===E||g)u(A);else if(A.state===i||g){const g=n;n=null,J((()=>L(A,I[0])),!1),n=g}}function J(A,g){if(n)return A();let I=!1;g||(n=[]),r?I=!0:r=[],a++;try{const g=A();return function(A){n&&(f(n),n=null);if(A)return;const g=r;r=null,g.length&&J((()=>C(g)),!1)}(I),g}catch(A){I||(r=null),n=null,K(A)}}function f(A){for(let g=0;gA(g||{})))}function m(A){const g="fallback"in A&&{fallback:()=>A.fallback};return l(function(A,g,I={}){let Q=[],C=[],E=[],i=0,e=g.length>1?[]:null;return N((()=>q(E))),()=>{let t,o,s=A()||[];return s[B],y((()=>{let A,g,B,r,a,D,w,h,l,y=s.length;if(0===y)0!==i&&(q(E),E=[],Q=[],C=[],i=0,e&&(e=[])),I.fallback&&(Q=[b],C[0]=c((A=>(E[0]=A,I.fallback()))),i=1);else if(0===i){for(C=new Array(y),o=0;o=D&&h>=D&&Q[w]===s[h];w--,h--)B[h]=C[w],r[h]=E[w],e&&(a[h]=e[w]);for(A=new Map,g=new Array(h+1),o=h;o>=D;o--)l=s[o],t=A.get(l),g[o]=void 0===t?-1:t,A.set(l,o);for(t=D;t<=w;t++)l=Q[t],o=A.get(l),void 0!==o&&-1!==o?(B[o]=C[t],r[o]=E[t],e&&(a[o]=e[t]),o=g[o],A.set(l,o)):E[t]();for(o=D;oA.each),A.children,g||void 0))}function j(A){const g="fallback"in A&&{fallback:()=>A.fallback};return l(function(A,g,I={}){let Q,C=[],E=[],i=[],e=[],t=0;return N((()=>q(i))),()=>{const o=A()||[];return o[B],y((()=>{if(0===o.length)return 0!==t&&(q(i),i=[],C=[],E=[],t=0,e=[]),I.fallback&&(C=[b],E[0]=c((A=>(i[0]=A,I.fallback()))),t=1),E;for(C[0]===b&&(i[0](),i=[],C=[],E=[],t=0),Q=0;Qo[Q])):Q>=C.length&&(E[Q]=c(s));for(;QA.each),A.children,g||void 0))}function x(A){let g=!1;const I=A.keyed,B=l((()=>A.when),void 0,{equals:(A,I)=>g?A===I:!A==!I});return l((()=>{const Q=B();if(Q){const B=A.children,C="function"==typeof B&&B.length>0;return g=I||C,C?y((()=>B(Q))):B}return A.fallback}),void 0,void 0)}function W(A){let g=!1,I=!1;const B=F((()=>A.children)),Q=l((()=>{let A=B();Array.isArray(A)||(A=[A]);for(let g=0;gA[0]===I[0]&&(g?A[1]===I[1]:!A[1]==!I[1])&&A[2]===I[2]});return l((()=>{const[B,C,E]=Q();if(B<0)return A.fallback;const i=E.children,e="function"==typeof i&&i.length>0;return g=I||e,e?y((()=>i(C))):i}),void 0,void 0)}function T(A){return A}const Z="_$DX_DELEGATE";function X(A,g,I){const B=document.createElement("template");B.innerHTML=A;let Q=B.content.firstChild;return I&&(Q=Q.firstChild),Q}function O(A,g=window.document){const I=g[Z]||(g[Z]=new Set);for(let B=0,Q=A.length;BB.call(A,I[1],g))}else A.addEventListener(g,I)}function P(A,g,I){if(!g)return I?function(A,g,I){null==I?A.removeAttribute(g):A.setAttribute(g,I)}(A,"style"):g;const B=A.style;if("string"==typeof g)return B.cssText=g;let Q,C;for(C in"string"==typeof I&&(B.cssText=I=void 0),I||(I={}),g||(g={}),I)null==g[C]&&B.removeProperty(C),delete I[C];for(C in g)Q=g[C],Q!==I[C]&&(B.setProperty(C,Q),I[C]=Q);return I}function _(A,g,I){return y((()=>A(g,I)))}function $(A,g,I,B){if(void 0===I||B||(B=[]),"function"!=typeof g)return gA(A,g,B,I);w((B=>gA(A,g(),B,I)),B)}function AA(A){const I=`$$${A.type}`;let B=A.composedPath&&A.composedPath()[0]||A.target;for(A.target!==B&&Object.defineProperty(A,"target",{configurable:!0,value:B}),Object.defineProperty(A,"currentTarget",{configurable:!0,get:()=>B||document}),g.registry&&!g.done&&(g.done=!0,document.querySelectorAll("[id^=pl-]").forEach((g=>{for(;g&&8!==g.nodeType&&g.nodeValue!=="pl-"+A;){let A=g.nextSibling;g.remove(),g=A}g&&g.remove()})));B;){const g=B[I];if(g&&!B.disabled){const Q=B[`${I}Data`];if(void 0!==Q?g.call(B,Q,A):g.call(B,A),A.cancelBubble)return}B=B._$host||B.parentNode||B.host}}function gA(A,I,B,Q,C){for(g.context&&!B&&(B=[...A.childNodes]);"function"==typeof B;)B=B();if(I===B)return B;const E=typeof I,i=void 0!==Q;if(A=i&&B[0]&&B[0].parentNode||A,"string"===E||"number"===E){if(g.context)return B;if("number"===E&&(I=I.toString()),i){let g=B[0];g&&3===g.nodeType?g.data=I:g=document.createTextNode(I),B=QA(A,B,Q,g)}else B=""!==B&&"string"==typeof B?A.firstChild.data=I:A.textContent=I}else if(null==I||"boolean"===E){if(g.context)return B;B=QA(A,B,Q)}else{if("function"===E)return w((()=>{let g=I();for(;"function"==typeof g;)g=g();B=gA(A,g,B,Q)})),()=>B;if(Array.isArray(I)){const E=[],e=B&&Array.isArray(B);if(IA(E,I,B,C))return w((()=>B=gA(A,E,B,Q,!0))),()=>B;if(g.context){if(!E.length)return B;for(let A=0;AB-i){const Q=g[E];for(;i=0;C--){const E=g[C];if(Q!==E){const g=E.parentNode===A;B||C?g&&E.remove():g?A.replaceChild(Q,E):A.insertBefore(Q,I)}else B=!0}}else A.insertBefore(Q,I);return[Q]}let CA;const EA=new Array(128).fill(void 0);function iA(A){return EA[A]}EA.push(void 0,null,!0,!1);let eA=EA.length;function tA(A){const g=iA(A);return function(A){A<132||(EA[A]=eA,eA=A)}(A),g}const oA=new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0});oA.decode();let sA=null;function nA(){return null!==sA&&0!==sA.byteLength||(sA=new Uint8Array(CA.memory.buffer)),sA}function rA(A,g){return oA.decode(nA().subarray(A,A+g))}function aA(A){eA===EA.length&&EA.push(EA.length+1);const g=eA;return eA=EA[g],EA[g]=A,g}function cA(A){const g=typeof A;if("number"==g||"boolean"==g||null==A)return`${A}`;if("string"==g)return`"${A}"`;if("symbol"==g){const g=A.description;return null==g?"Symbol":`Symbol(${g})`}if("function"==g){const g=A.name;return"string"==typeof g&&g.length>0?`Function(${g})`:"Function"}if(Array.isArray(A)){const g=A.length;let I="[";g>0&&(I+=cA(A[0]));for(let B=1;B1))return toString.call(A);if(B=I[1],"Object"==B)try{return"Object("+JSON.stringify(A)+")"}catch(A){return"Object"}return A instanceof Error?`${A.name}: ${A.message}\n${A.stack}`:B}let DA=0;const wA=new TextEncoder("utf-8"),hA="function"==typeof wA.encodeInto?function(A,g){return wA.encodeInto(A,g)}:function(A,g){const I=wA.encode(A);return g.set(I),{read:A.length,written:I.length}};function lA(A,g,I){if(void 0===I){const I=wA.encode(A),B=g(I.length);return nA().subarray(B,B+I.length).set(I),DA=I.length,B}let B=A.length,Q=g(B);const C=nA();let E=0;for(;E127)break;C[Q+E]=g}if(E!==B){0!==E&&(A=A.slice(E)),Q=I(Q,B,B=E+3*A.length);const g=nA().subarray(Q+E,Q+B);E+=hA(A,g).written}return DA=E,Q}let yA=null;function GA(){return null!==yA&&0!==yA.byteLength||(yA=new Int32Array(CA.memory.buffer)),yA}let NA=null;function kA(A,g){return(null!==NA&&0!==NA.byteLength||(NA=new Uint32Array(CA.memory.buffer)),NA).subarray(A/4,A/4+g)}class FA{static __wrap(A){const g=Object.create(FA.prototype);return g.ptr=A,g}__destroy_into_raw(){const A=this.ptr;return this.ptr=0,A}free(){const A=this.__destroy_into_raw();CA.__wbg_vtwrapper_free(A)}feed(A){try{const Q=CA.__wbindgen_add_to_stack_pointer(-16),C=lA(A,CA.__wbindgen_malloc,CA.__wbindgen_realloc),E=DA;CA.vtwrapper_feed(Q,this.ptr,C,E);var g=GA()[Q/4+0],I=GA()[Q/4+1],B=kA(g,I).slice();return CA.__wbindgen_free(g,4*I),B}finally{CA.__wbindgen_add_to_stack_pointer(16)}}inspect(){try{const I=CA.__wbindgen_add_to_stack_pointer(-16);CA.vtwrapper_inspect(I,this.ptr);var A=GA()[I/4+0],g=GA()[I/4+1];return rA(A,g)}finally{CA.__wbindgen_add_to_stack_pointer(16),CA.__wbindgen_free(A,g)}}get_line(A){return tA(CA.vtwrapper_get_line(this.ptr,A))}get_cursor(){return tA(CA.vtwrapper_get_cursor(this.ptr))}}function RA(){const A={wbg:{}};return A.wbg.__wbindgen_object_drop_ref=function(A){tA(A)},A.wbg.__wbindgen_error_new=function(A,g){return aA(new Error(rA(A,g)))},A.wbg.__wbindgen_number_new=function(A){return aA(A)},A.wbg.__wbindgen_bigint_from_u64=function(A){return aA(BigInt.asUintN(64,A))},A.wbg.__wbindgen_string_new=function(A,g){return aA(rA(A,g))},A.wbg.__wbg_set_20cbc34131e76824=function(A,g,I){iA(A)[tA(g)]=tA(I)},A.wbg.__wbg_new_b525de17f44a8943=function(){return aA(new Array)},A.wbg.__wbg_new_f841cc6f2098f4b5=function(){return aA(new Map)},A.wbg.__wbg_new_f9876326328f45ed=function(){return aA(new Object)},A.wbg.__wbindgen_is_string=function(A){return"string"==typeof iA(A)},A.wbg.__wbg_set_17224bc548dd1d7b=function(A,g,I){iA(A)[g>>>0]=tA(I)},A.wbg.__wbg_set_388c4c6422704173=function(A,g,I){return aA(iA(A).set(iA(g),iA(I)))},A.wbg.__wbindgen_debug_string=function(A,g){const I=lA(cA(iA(g)),CA.__wbindgen_malloc,CA.__wbindgen_realloc),B=DA;GA()[A/4+1]=B,GA()[A/4+0]=I},A.wbg.__wbindgen_throw=function(A,g){throw new Error(rA(A,g))},A}function MA(A,g){return CA=A.exports,uA.__wbindgen_wasm_module=g,yA=null,NA=null,sA=null,CA}async function uA(A){const g=RA();("string"==typeof A||"function"==typeof Request&&A instanceof Request||"function"==typeof URL&&A instanceof URL)&&(A=fetch(A));const{instance:I,module:B}=await async function(A,g){if("function"==typeof Response&&A instanceof Response){if("function"==typeof WebAssembly.instantiateStreaming)try{return await WebAssembly.instantiateStreaming(A,g)}catch(g){if("application/wasm"==A.headers.get("Content-Type"))throw g;console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n",g)}const I=await A.arrayBuffer();return await WebAssembly.instantiate(I,g)}{const I=await WebAssembly.instantiate(A,g);return I instanceof WebAssembly.Instance?{instance:I,module:A}:I}}(await A,g);return MA(I,B)}var dA=Object.freeze({__proto__:null,VtWrapper:FA,create:function(A,g){const I=CA.create(A,g);return FA.__wrap(I)},default:uA,initSync:function(A){const g=RA();return A instanceof WebAssembly.Module||(A=new WebAssembly.Module(A)),MA(new WebAssembly.Instance(A,g),A)}});const YA=[62,0,0,0,63,52,53,54,55,56,57,58,59,60,61,0,0,0,0,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,0,0,0,0,0,0,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51];function JA(A){return YA[A-43]}const fA=function(A){let g,I=A.endsWith("==")?2:A.endsWith("=")?1:0,B=A.length,Q=new Uint8Array(B/4*3);for(let I=0,C=0;I>16,Q[C+1]=g>>8&255,Q[C+2]=255&g;return Q.subarray(0,Q.length-I)}("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KAIAIAMoAggiAmtLBEAgAyACIAAQMSADKAIIIQILIAMoAgQgAmogBEEMaiAAEL0BGiADIAAgAmo2AggLIARBEGokAEEAC7wCAAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAFBCGsOCAECAwQFDwYHAAsgAUGEAWsOCgcICwsJCwsLCwoLCyAAQQA6AKsBIABBACAAKAI4QQFrIgEgACgCMCIAQQFrIAAgAUsbIAFBAEgbNgI4DwsgAEEBECgPCyAAEF0gAC0AqgFFDQgMCwsgABBdIAAtAKoBRQ0HDAoLIAAQXSAALQCqAUUNBgwJCyAAQQE2AkAPCyAAQQA2AkAPCyAAEF0gAC0AqgFFDQMMBgsgABBdDAULIAAQVA8LIAAoAjwiASAAKAJERg0BIAENAgsPCyAAQQEQRg8LIABBADoAqwEgACABQQFrNgI8IAAgACgCOCIBIAAoAjBBAWsiACAAIAFLGzYCOA8LIABBADoAqwEgAEEANgI4C8ACAgV/AX4jAEEwayIEJABBJyECAkAgAEKQzgBUBEAgACEHDAELA0AgBEEJaiACaiIDQQRrIAAgAEKQzgCAIgdCkM4Afn2nIgVB//8DcUHkAG4iBkEBdEHGpMAAai8AADsAACADQQJrIAUgBkHkAGxrQf//A3FBAXRBxqTAAGovAAA7AAAgAkEEayECIABC/8HXL1YgByEADQALCyAHpyIDQeMASwRAIAenIgVB//8DcUHkAG4hAyACQQJrIgIgBEEJamogBSADQeQAbGtB//8DcUEBdEHGpMAAai8AADsAAAsCQCADQQpPBEAgAkECayICIARBCWpqIANBAXRBxqTAAGovAAA7AAAMAQsgAkEBayICIARBCWpqIANBMGo6AAALIAFByKHAAEEAIARBCWogAmpBJyACaxAUIARBMGokAAuwAgEDfyMAQUBqIgMkACADQRBqIAAoAjAiBBBFIANBADYCICADIAMpAxA3AxggA0EyaiAAQZoBaikBADcBACADQSA2AiggAyAAKQKUATcCLCADQRhqIAQgA0EoahAwAkAgASACTQRAIABB7ABqKAIAIgQgAkkNASABIAJHBEAgAEHoAGooAgAgAUEMbGoiACACIAFrQQxsaiECA0AgAygCHCEEIANBCGogAygCICIBEEUgAygCCCEFIAMoAgwg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MCAEKAI0EC0gA0EwaiACEDUgBEEAOgCkASAEQcwAaiAEKAJMBEAgBEHQAGooAgAQEAsgBEKAgICAIDcCTCAEQdQAaiICQQA2AgBBABBmIARB0ABqKAIAIAIoAgBBAXRqQQA7AQAgAiACKAIAQQFqNgIAIAQoAlgEQCAEKAJcEBALIARBADYCYCAEQoCAgIDAADcCWCADQRBqIgUgA0EoaigCADYCACADIAMpAyA3AwggBEHkAGoiAhBgIAQoAmQEQCAEQegAaigCABAQCyACIAMpAwg3AgAgAkEIaiAFKAIANgIAIARB8ABqIgIQYCAEKAJwBEAgBEH0AGooAgAQEAsgAiADKQMwNwIAIARBADoApQEgAkEIaiADQThqKAIANgIAIANBCGogBCgCMBA/IARB/ABqIQIgBCgCfARAIARBgAFqKAIAEBALIAIgAykDCDcCACACQQhqIANBCGoiCUEIaiICKAIANgIAIARBAToApgEgBEIANwI4IANBD2oiBUEAOwAAIARBmAFqQQI6AAAgBEECOgCUASADQQA2AAsgBEGZAWogAykACDcAACAEQaEBaiACLQAAOgAAIARBADoAqwEgBEGAgAQ2AKcBIARBADsBogEgBEIANwJAIAQgBCgCNCIGQQFrNgJIIAVBADsAACADQQA2AAsgBCADKQAINwANIARBFWogAi0AADoAACAEQYACOwEWIARBAjoADCAEQQI6AAggBEIANwIAIAVBADsAACADQQA2AAsgBEElaiADKQAINwAAIARBLWogAi0AADoAACAEQS5qQYACOwEAIARBJGpBAjoAACAEQSBqQQI6AAAgBEIANwIYIAMgBhBZIAJBADYCACADIAMpAwA3AwggCSAGEEkgA0HIAGogAigCADYCACADIAMpAwg3A0AgBEGIAWohAiAEKAKIAQRAIARBjAFqKAIAEBALIAIgAykDQDcCACACQQhqIANByABqKAIANgIADAILIAIgAkGwjsAAEEoACwJAAkAgBUEoaw4CAAECCyAEQQA6AKIBDAELIAJBMEYEQCAEQQE6AKMBDAELIARBADoAowELIANB0ABqJAALIAggFEcNAAsLIAQoApABIQMgBCgCjAEhAiANQQA2AgggDSACNgIEIA0gAiADajYCACMAQTBrIgUkACANKAIEIQIgDSgCACEGAkACQANA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IAJBvIDAADYCMCACQQA2AiggAiACQSBqNgI4IAJBEGoiBCACQShqIgMQGCABIAEoAgBBAWs2AgAgA0EIaiAEQQhqKAIANgIAIAIgAikDEDcDKCACQQhqIAMQeyAAIAIpAwg3AwAgAkFAayQADwsQtQEACxC2AQALugEAAkAgAgRAAkACQAJ/AkACQCABQQBOBEAgAygCCA0BIAENAkEBIQIMBAsMBgsgAygCBCICRQRAIAFFBEBBASECDAQLIAFBARCWAQwCCyADKAIAIAJBASABEIoBDAELIAFBARCWAQsiAkUNAQsgACACNgIEIABBCGogATYCACAAQQA2AgAPCyAAIAE2AgQgAEEIakEBNgIAIABBATYCAA8LIAAgATYCBAsgAEEIakEANgIAIABBATYCAAvOAQEBfyMAQRBrIgUkACAFIAAoAgAgASACIAAoAgQoAgwRAAA6AAggBSAANgIEIAUgAkU6AAkgBUEANgIAIAUgAyAEECIhAQJ/IAUtAAgiACABKAIAIgJFDQAaIABB/wFxIQFBASABDQAaIAUoAgQhAQJAIAJBAUcNACAFLQAJRQ0AIAEtABhBBHENAEEBIAEoAgBBlKTAAEEBIAEoAgQoAgwRAAANARoLIAEoAgBB86HAAEEBIAEoAgQoAgwRAAALIAVBEGokAEH/AXFBAEcLxAEBAn8CQAJAIABB7ABqKAIAIgQgACgCPCIDSwRAIAEgAksNASAAQegAaigCACADQQxsaiIDKAIIIgQgAkkNAiABIAJHBEAgAkEUbCADKAIEIgJqIQMgAiABQRRsaiECIABBlAFqIgBBBmohAQNAIAJBIDYCACACIAApAgA3AgQgAkEKaiABKQEANwEAIAMgAkEUaiICRw0ACwsPCyADIARBzI3AABBKAAsgASACQcyNwAAQowEACyACIARBzI3AABCiAQALsAEBAX8gACIEAn8CQAJ/AkAgAgRAAkACQAJAIAFBAE4EQCADKAIIRQ0CIAMoAgQiAA0BIAENAwwFCyAEQQhqQQA2AgAMBgsgAygCACAAIAIgARCKAQwECyABRQ0CCyABIAIQlgEMAgsgBCABNgIEIARBCGpBADYCAAwCCyACCyIABEAgBCAANgIEIARBCGogATYCAEEADAILIAQgATYCBCAEQQhqIAI2AgALQQELNgIAC60BAQF/AkAg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5syZM0sNACABQRRsIgJBAEgNACABQefMmTNJQQJ0IQMgAkUNASACIAMQlgEMAgsQbgALIAMLIgQNACACIANBgLzAACgCACIAQcIAIAAbEQIAAAsgACAENgIEIAAgATYCAAuAAQEDfwJAIAAoAkhBAWoiAyAAKAJEIgJPBEAgAEHsAGooAgAiBCADSQ0BIAEgAyACayIEIAEgBEkbIQEgAEHoAGooAgAgAkEMbGogBCABEHcgACACIAEgAmoQISAAIAIgAxBVDwsgAiADQYCOwAAQowEACyADIARBgI7AABCiAQALgAEBA38CQCAAKAJIQQFqIgIgACgCRCIDTwRAIABB7ABqKAIAIgQgAkkNASABIAIgA2siBCABIARJGyEBIABB6ABqKAIAIANBDGxqIAQgARB6IAAgAiABayACECEgACADIAIQVQ8LIAMgAkHwjcAAEKMBAAsgAiAEQfCNwAAQogEAC4EBAQF/AkAgAiAAQewAaigCACIESQRAIABB6ABqKAIAIAJBDGxqIgAoAggiAiABTQ0BIAAoAgQgAUEUbGoiACADKQIANwIAIABBEGogA0EQaigCADYCACAAQQhqIANBCGopAgA3AgAPCyACIARBrI3AABBKAAsgASACQayNwAAQSgALdgEDfyABIAAoAgAgACgCCCICa0sEQCAAIAIgARBnIAAoAgghAgsgACgCBCIEIAJqIQMCQAJAIAFBAk8EQCADQQEgAUEBayIBEL4BIAQgASACaiICaiEDDAELIAFFDQELIANBAToAACACQQFqIQILIAAgAjYCCAt8AQF/IwBBMGsiAyQAIAMgATYCBCADIAA2AgAgA0EIaiIAQQxqQQI2AgAgA0EcakECNgIAIANBIGoiAUEMakHBADYCACADQaiiwAA2AhAgA0EANgIIIANBwQA2AiQgAyABNgIYIAMgAzYCKCADIANBBGo2AiAgACACEHIAC80BAQJ/IwBBsAFrIgEkACMAQbABayICJAACQAJAIAAEQCAAKAIADQEgAEEANgIAIAEgAiAAQbABEL0BIgJBBHJBrAEQvQEaIAAQECACQbABaiQADAILELUBAAsQtgEACyABQcwAaiIAKAIABEAgACgCBBAQCyABQdgAaiIAKAIABEAgACgCBBAQCyABQeQAaiIAEGAgABCFASABQfAAaiIAEGAgABCFASABQfwAaiIAKAIABEAgACgCBBAQCyABQYgBahCFASABQbABaiQAC3UBAn8jAEEQayIEJAAgBEEIaiABKAIQIAIgAxCLASAEKAIMIQIgBCgCCCIDRQRAAkAgASgCCEUNACABQQxqKAIAIgVBhAFJDQAgBRAACyABQQE2AgggAUEMaiACNgIACyAAIAM2AgAgACACNgIEIARBEGokAAtyACMAQTBrIgEkAEHcu8AALQAABEAgAUEUakECNgIAIAFBHGpBATYCACABQfycwAA2AhAgAUEANgIIIAFBwQA2AiQgASAANgIsIAEgAUEgajYCGCABIAFBLGo2AiAgAUEIakGkncAAEHIACyABQTBqJAALWwEBfyMAQSBrIgIkACACIAAoAgA2AgQgAkEIaiIAQRBqIAFBEGopAgA3AwAgAEEIaiABQQhqKQIANwMAIAIgASkCADcDCCACQQRqQdiZwAAgABAWIAJBIGokAAtbAQF/IwBBIGsiAiQAIAIgACgCADYCBCACQQhqIgBBEGogAUEQaikCADcDACAAQQhqIAFBCGopAgA3AwAgAiABKQIANwMIIAJBBGpB9JrAACAAEBYgAkEgaiQAC1sBAX8jAEEgayICJAAgAiAAKAIANgIEIAJBCGoiAEEQaiABQRBqKQIANwMAIABBCGogAUEIaikCADcDACACIAEpAgA3AwggAkEEakGUnMAAIAAQFiACQSBqJAALWwEBfyMAQSBrIgIkACACIAAoAgA2AgQgAkEIaiIAQRBqIAFBEGopAgA3AwAgAEEIaiABQQhqKQIANwMAIAIgASkCADcDCCACQQRqQciewAAgABAWIAJBIGokAAtVAQN/IwBBIGsiAiQAIAEoAgQhAyABKAIAIAJBCGoiAUEQaiAAQRBqKQIANwMAIAFBCGogAEEIaikCADcDACACIAApAgA3AwggAyABEBYgAkEgaiQAC1sBAX8jAEEgayICJAAgAiAAKAIANgIEIAJBCGoiAEEQaiABQRBqKQIANwMAIABBCGogAUEIaikCADcDACACIAEpAgA3AwggAkEEakGQpsAAIAAQFiACQSBqJAALswIBBX8jAEEQayIDJAACQCAAKAI4IgRFDQAgBCAAKAIwTw0AIANBCGogAEGAAWooAgAgAEGEAWooAgAgAEE4ahA9IAMoAghFDQAgAygCDCECIABB/ABqIgAoAgghASABIAAoAgBGBEAgACABEGMLIAAoAgQgAkECdGohBQJAIAEgAk0EQCABIAJGDQEjAEEwayIAJAAgACABNgIEIAAgAjYCACAAQQhqIgRBDGpBAzYCACAAQRxqQQI2AgAgAEEgaiIBQQxqQcEANgIAIABB9KDAADYCECAAQQA2AgggAEHBADYCJCAAIAE2AhggACAAQQRqNgIoIAAgADYCICAEQYyhwAAQcgALIAVBBGogBSABIAJrQQJ0ELwBCyAFIAQ2AgAgACABQQFqNgIICyADQRBqJAALXwEBfwJAIAEgAk0EQCAAQZABaigCACIDIAJJDQEgASACRwRAIABBjAFqKAIAIgAgAWoiAUEBIAAgAmogAWsQvgELDwsgASACQaCOwAAQowEACyACIANBoI7AABCiAQALWAEBfyMAQSBrIgIkACACIAA2AgQgAkEIaiIAQRBqIAFBEGopAgA3AwAgAEEIaiABQQhqKQIANwMAIAIgASkCADcDCCACQQRqQdiZwAAgABAWIAJBIGokAAtYAQF/IwBBIGsiAiQAIAIgADYCBCACQQhqIgBBEGogAUEQaikCADcDACAAQQhqIAFBCGopAgA3AwAgAiABKQIANwMIIAJBBGpB9JrAACAAEBYgAkEgaiQAC1gBAX8jAEEgayICJAAgAiAANgIEIAJBCGoiAEEQaiABQRBqKQIANwMAIABBCGogAUEIaikCADcDACACIAEpAgA3AwggAkEEakGQpsAAIAAQFiACQSBqJAALVwECfwJAIAFFBEBBASECDAELIAFBAE4EQCABIAFBf3NBH3YiAxCWASICDQEgASADQYC8wAAoAgAiAEHCACAAGxECAAALEG4ACyAAIAI2AgQgACABNgIAC+MEAQZ/IwBBEGsiBiQAIAZBCGogASACQQIQTAJ/IAYoAggEQEEBIQIgBigCDAwBCyMAQSBrIgUkACABKAIIIQIgAUEANgIIAn8CQAJAIAIEQCAFIAFBDGooAgAiAjYCGCAFQRBqIQggASgCECEHIwBB0ABrIgQkAAJAIAMtAABFBEAgBCADLQABuBACNgIEIARBADYCACAEKAIEIQMgBCgCACEHDAELIARBNGpBCjYCACAEQSxqQQo2AgAgBCADQQNqNgIwIAQgA0ECajYCKCAEQQo2AiQgBCADQQFq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QQA2AgAgA0HIocAANgIQIANBADYCACADIAE2AhwgAyAANgIYIAMgA0EYajYCCCADIAIQcgALVwEBfyMAQRBrIgIkACACQQhqIAAgARAvAkAgAigCDCIAQYGAgIB4RwRAIABFDQEgAigCCCAAQYC8wAAoAgAiAEHCACAAGxECAAALIAJBEGokAA8LEG4AC5cCAQZ/IwBBEGsiAyQAIwBBIGsiAiQAIANBCGoiBgJ/QQAgASABQQFqIgFLDQAaIAAoAgAiBUEBdCIEIAEgASAESRsiAUEEIAFBBEsbIgRBHGwhASAEQaWSySRJQQJ0IQcCQCAFBEAgAkEENgIYIAIgBUEcbDYCFCACIAAoAgQ2AhAMAQsgAkEANgIYCyACIAEgByACQRBqEDogAigCBCEBIAIoAgAEQCACQQhqKAIADAELIAAgBDYCACAAIAE2AgRBgYCAgHgLNgIEIAYgATYCACACQSBqJAACQCADKAIMIgBBgYCAgHhHBEAgAEUNASADKAIIIABBgLzAACgCACIAQcIAIAAbEQIAAAsgA0EQaiQADwsQbgALWQEBfyMAQRBrIgIkACACQQhqIAAgAUEBEDQCQCACKAIMIgBBgYCAgHhHBEAgAEUNASACKAIIIABBgLzAACgCACIAQcIAIAAbEQIAAAsgAkEQaiQADwsQbgALlQIBB38jAEEQayIDJAAjAEEgayICJAAgA0EIaiIGAn9BACABIAFBAWoiAUsNABogACgCACIHQQF0IgQgASABIARJGyIBQQQgAUEESxsiBUEBdCEBIAVBgICAgARJQQF0IQgCQCAHBEAgAkECNgIYIAIgBDYCFCACIAAoAgQ2AhAMAQsgAkEANgIYCyACIAEgCCACQRBqEDogAigCBCEBIAIoAgAEQCACQQhqKAIADAELIAAgBTYCACAAIAE2AgRBgYCAgHgLNgIEIAYgATYCACACQSBqJAACQCADKAIMIgBBgYCAgHhHBEAgAEUNASADKAIIIABBgLzAACgCACIAQcIAIAAbEQIAAAsgA0EQaiQADwsQbgALWQEBfyMAQRBrIgMkACADQQhqIAAgASACEDQCQCADKAIMIgBBgYCAgHhHBEAgAEUNASADKAIIIABBgLzAACgCACIAQcIAIAAbEQIAAAsgA0EQaiQADwsQbgALiBwBHH8CQCAABEAgACgCACICQX9GDQEgACACQQFqNgIAIwBBIGsiCyQAIAtBCGohBiAAQQRqIgJB7ABqKAIAIgMgAU0EQCABIANBkI7AABBKAAsgAkHoAGooAgAgAUEMbGohAiMAQdAAayIBJAACQAJAAkAgAigCCCIDRQRAIAZBADYCCCAGQoCAgIDAADcCAAwBCwJAAkACQEEEQQQQlgEiBwRAIAcgAigCBCIJKAIANgIAIAEgCUEKaikAADcBNiABIAkpAAQ3AzAgAUESaiABKQE2NwEAIAFBATYCACABQQE2AgggASAHNgIEIAEgASkDMDcCDCABQQA2AiggAUKAgICAwAA3AyAgA0EBRgRAIAFBMGoiAkEYaiABQRhqKAIANgIAIAJBEGogAUEQaikDADcDACACQQhqIAFBCGopAwA3AwAgASABKQMANwMwQQAhAgwDCyABQQxqIQcgA0EUbEEUayEOQQEhAgNAIAEtAAwhCAJAAkACQAJAAkAgBCAJaiIDQRhqIgwtAAAiBUECRg0AIAhBAkYNACAFIAhHDQIgBUUEQCADQRlqLQAAIAEtAA1GDQIMAwsgA0EZai0AACABLQANRw0CIANBGmotAAAgAS0ADkcNAiADQRtqLQAAIAEtAA9GDQEMAgsgBUECRw0BIAhBAkcNAQsgAS0AECEIAkACQCADQRxqLQAAIgVBAkYNACAIQQJGDQAgBSAIRw0CIAVFBEAgA0Edai0AACABLQARRg0CDAMLIANBHWotAAAgAS0AEUcNAiADQR5qLQAAIAEtABJHDQIgA0Efai0AACABLQATRg0BDAILIAVBAkcNASAIQQJHDQELIANBIGotAAAgAS0AFEcNACADQSFqLQAARSABLQAVQQBHRg0AIANBImotAABFIAEtABZBAEdGDQAgA0Ejai0AAEUgAS0AF0EAR0YNACADQSRqLQAARSABLQAYQQBHRg0AIANBJWotAABFIAEtABlBAEdzDQELIAFBMGoiAkEYaiIFIAFBGGooAgA2AgAgAkEQaiINIAFBEGopAwA3AwAgAkEIaiIKIAFBCGopAwA3AwAgASABKQMANwMwIAEoAigiAiABKAIgRgRAIAFBIGogAhBkIAEoAighAgsgASgCJCACQRxsaiIIIAEpAzA3AgAgCEEIaiAKKQMANwIAIAhBEGogDSkDADcCACAIQRhqIAUoAgA2AgAgASACQQFqNgIoQQRBBBCWASIIRQ0IIAggA0EUaigCADYCAEEBIQIgAUEBNgIIIAEgCDYCBCABQQE2AgAgDEEMai8BACEDIAxBCGooAgAhCCAHIAwpAgA3AgAgB0EIaiAINgIAIAdBDGogAzsBAAwBCyADQRRqKAIAIQMgASgCACACRgRAIAEgAhBjIAEoAgghAgsgASgCBCACQQJ0aiADNgIAIAEgASgCCEEBaiICNgIICyAOIARBFGoiBEcNAAsMAQsMBAsgASgCICEEIAEoAighAiABQTBqIgNBGGogAUEYaigCADYCACADQRBqIAFBEGopAwA3AwAgA0EIaiABQQhqKQMANwMAIAEgASkDADcDMCACIARHDQELIAFBIGogAhBkIAEoAighAgsgASgCJCACQRxsaiIDIAEpAzA3AgAgA0EIaiABQTBqIgRBCGopAwA3AgAgA0EQaiAEQRBqKQMANwIAIANBGGogBEEYaigCADYCACABQShqIAJBAWoiAjYCACAGQQhqIAI2AgAgBiABKQMgNwIACyABQdAAaiQAIAtBADsBGCALQQA6ABojAEEwayIEJAAgBigCBCEJIAYoAgghAhAGIQMgBEEgaiIBIAtBGGo2AgggAUEANgIEIAEgAzYCAAJ/AkACQCAEKAIoBEAgBEEYaiAEQShqKAIANgIAIAQgBCkDIDcDECACQRxsIQ4DQCAORQ0DIA5BHGshDiAEIAk2AiAgCUEcaiEJIARBCGohDyMAQRBrIggkACAEQRBqIgwoAgQhFCAIQQhqIRAgBEEgaigCACENIAwoAgghAUEAIREjAEHQAGsiAyQAIANBQGsgARCIASADKAJAIQECQAJAAkAgAygCSCICRQ0AIAMgAjYCKCADIAMoAkQ2AiQgAyABNgIgIA0oAgQiASANKAIIQQJ0aiEFIANBMGoiBkEANgIIIAZCgICAgBA3AgAgBSABa0ECdiIHIAYoAgAgBigCCCICa0sEQCAGIAIgBxBnCyMAQRBrIgckACABIAVHBEADQCABQQRqIQIgB0EMaiEKAkACfwJAAkAgASgCACIBQYABTwRAIAdBADYCDCABQYAQSQ0BIAFBgIAETw0CIAcgAUE/cUGAAXI6AA4gByABQQx2QeABcjoADCAHIAFBBnZBP3FBgAFyOgANQQMMAwsgBigCCCIKIAYoAgBG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ACACQQFqNgIAIwBBIGsiBCQAIARBEGoiAiAAQQRqIgEtAKYBBH8gAiABKQI4NwIEQQEFQQALNgIAIwBBIGsiAyQAIANBADsBGCADQQA6ABogBEEIaiIHAn8gAigCAEUEQCADQQhqIgJBADYCACACQYEBQYABIANBGGotAAAbNgIEIAMoAgghASADKAIMDAELIANBEGohBiACQQRqIQIjAEFAaiIBJAAgAUEwaiADQRhqEIgBAn8CQAJAAn8CQCABKAI4BEAgAUEgaiIFQQhqIAFBOGooAgA2AgAgASABKQMwNwMgIAFBGGogBSACEFwgASgCGEUNASABKAIcDAILIAEoAjAhAgwDCyABQRBqIAFBIGogAkEEahBcIAEoAhBFDQEgASgCFAshAiABKAIgIgVBhAFJDQEgBRAADAELIAFBMGoiAkEIaiABQShqKAIANgIAIAEgASkDIDcDMCABQQhqIgUgAigCADYCBCAFQQA2AgAgASgCDCECIAEoAggMAQtBAQshBSAGIAI2AgQgBiAFNgIAIAFBQGskACADKAIQIQEgAygCFAs2AgQgByABNgIAIANBIGokACAEKAIMIQIgBCgCCARAIAQgAjYCHEGAgMAAQSsgBEEcakGsgMAAQeCAwAAQQAALIARBIGokACAAIAAoAgBBAWs2AgAgAg8LELUBAAsQtgEAC4ACAQJ/IwBBEGsiAyQAIAMgACgCACIANgIIIAMgAEEEajYCDCMAQRBrIgIkACACIAEoAgBBx5HAAEEEIAEoAgQoAgwRAAA6AAggAiABNgIEIAJBADoACSACQQA2AgAgAiADQQhqQcyRwAAQIiADQQxqQdyRwAAQIiEAAn8gAi0ACCIBIAAoAgAiAEUNABpBASABDQAaIAIoAgQhAQJAIABBAUcNACACLQAJRQ0AIAEtABhBBHENAEEBIAEoAgBBlKTAAEEBIAEoAgQoAgwRAAANARoLIAEoAgBB86HAAEEBIAEoAgQoAgwRAAALIAJBEGokACADQRBqJABB/wFxQQBHC0kBAX8gACgCACIAKAIIIQMgAiAAKAIAIANrSwRAIAAgAyACEDEgACgCCCEDCyAAKAIEIANqIAEgAhC9ARogACACIANqNgIIQQALSQEBfyAAKAIAIgAoAgghAyACIAAoAgAgA2tLBEAgACADIAIQMiAAKAIIIQMLIAAoAgQgA2ogASACEL0BGiAAIAIgA2o2AghBAAtAAQF/IAIgACgCACAAKAIIIgNrSwRAIAAgAyACEGcgACgCCCEDCyAAKAIEIANqIAEgAhC9ARogACACIANqNgIIC0kBAX8jAEEgayIAJAAgAEEUakEBNgIAIABBHGpBADYCACAAQZCfwAA2AhAgAEHgnsAANgIYIABBADYCCCAAQQhqQZifwAAQcgALVgECfyABKAIEIQIgASgCACEDQQhBBBCWASIBRQRAQQhBBEGAvMAAKAIAIgBBwgAgABsRAgAACyABIAI2AgQgASADNgIAIABBgJ7AADYCBCAAIAE2AgALOQACQAJ/IAJBgIDEAEcEQEEBIAAgAiABKAIQEQEADQEaCyADDQFBAAsPCyAAIAMgBCABKAIMEQAAC/AEAQZ/IwBB4AJrIgIkACMAQTBrIgMkAAJAIAAEQCABDQFB0IvAAEEaQeyLwAAQYgALQaGLwABBHUHAi8AAEGIACyADQQhqIgQgACABEC0gAkHwAGogBBA1IAJB7ABqIARBCGooAgA2AgAgAiADKQMINwJkIAJB/ABqIAAQPyADQRdqIgZBB2pBADsAACADQQA2ABogA0EgaiIFQQdqIgdBADsAACADQQA2ACMgAiADKQAgNwANIAJBFWogBUEIaiIELQAAOgAAIAdBADsAACADQQA2ACMgAkElaiADKQAgNwAAIAJBLWogBC0AADoAACADIAEQWSAEQQA2AgAgAyADKQMANwMgIAUgARBJIAJBkAFqIAQoAgA2AgAgAiADKQMgNwKIASACQdwAakIENwIAIAJB1ABqQgA3AgAgAkKAgICAIDcCTCACQQA7AaQBIAIgATYCNCACIAA2AjAgAkEBOgCmASACQgA3AjggAkGYAWpBAjoAACACQQI6AJQBIAJBmQFqIAMpABc3AAAgAkGhAWogBkEIai0AADoAACACQQA7AaIBIAJBgIAENgCnASACQQA6AKsBIAJBADYCQCACIAFBAWs2AkggAkEANgJEIAJBLmpBgAI7AQAgAkEgakECOgAAIAJCADcCGCACQYACOwEWIAJBAjoADCACQQI6AAggAkIANwIAIAJBJGpBAjoAACADQTBqJAAgAkGwAWoiASACQawBEL0BGkGwAUEEEJYBIgBFBEBBsAFBBEGAvMAAKAIAIgBBwgAgABsRAgAACyAAQQA2AgAgAEEEaiABQawBEL0BGiACQeACaiQAIAAL4AIBAn8jAEEgayICJAAgAkEBOgAYIAIgATYCFCACIAA2AhAgAkG4osAANgIMIAJByKHAADYCCCMAQRBrIgEkAAJAIAJBCGoiACgCDCICBEAgACgCCCIDRQ0BIAEgAjYCCCABIAA2AgQgASADNgIAIwBBEGsiACQAIABBCGogAUEIaigCADYCACAAIAEpAgA3AwAjAEEQayIBJAAgACgCACICQRRqKAIAIQMCQAJ/AkACQCACQQxqKAIADgIAAQMLIAMNAkEAIQJBrJzAAAwBCyADDQEgAigCCCIDKAIEIQIgAygCAAshAyABIAI2AgQgASADNgIAIAFBpJ7AACAAKAIEIgEoAgggACgCCCABLQAQEDMACyABQQA2AgQgASACNgIMIAFBkJ7AACAAKAIEIgEoAgggACgCCCABLQAQEDMAC0GsnMAAQStB4J3AABBiAAtBrJzAAEErQdCdwAAQYgALMwACQCAAQfz///8HSw0AIABFBEBBBA8LIAAgAEH9////B0lBAnQQlgEiAEUNACAADwsACzABAX8jAEEQayICJAAgAiAANgIMIAFB1IbAAEEFIAJBDGpB3IbAABA4IAJBEGokAAstACABIAJPBEAgASACayIBIAAgAUEUbGogAhAVDwtBqInAAEEhQcyJwAAQYgALxQIBA38gACgCACECIAEtABhBEHFBBHZFBEAgAS0AGEEgcUEFdkUEQCACIAEQpAEPC0EAIQAjAEGAAWsiAyQAIAIoAgAhAgNAIAAgA2pB/wBqQTBBNyACQQ9xIgRBCkkbIARqOgAAIABBAWshACACQQ9LIAJBBHYhAg0ACyAAQYABaiICQYEBTwRAIAJBgAFBtKTAABChAQALIAFBxKTAAEECIAAgA2pBgAFqQQAgAGsQFCADQYABaiQADwtBACEAIwBBgAFrIgMkACACKAIAIQIDQCAAIANqQf8AakEwQdcAIAJBD3EiBEEKSRsgBGo6AAAgAEEBayEAIAJBD0sgAkEEdiECDQALIABBgAFqIgJBgQFPBEAgAkGAAUG0pMAAEKEBAAsgAUHEpMAAQQIgACADakGAAWpBACAAaxAUIANBgAFqJAALLQAgASACTwRAIAEgAmsiASAAIAFBDGxqIAIQEg8LQbSYwABBIUHYmMAAEGIAC9ECAQN/IAAoAgAhACABLQAYQRBxQQR2RQRAIAEtABhBIHFBBXZFBEAgACABEKcBDwsjAEGAAWsiAyQAIAAtAAAhAkEAIQADQCAAIANqQf8AakEwQTcgAkEPcSIEQQpJGyAEajoAACAAQQFrIQAgAkH/AXEiBEEEdiECIARBD0sNAAsgAEGAAWoiAkGBAU8EQCACQYABQbSkwAAQoQEACyABQcSkwABBAiAAIANqQYABakEAIABrEBQgA0GAAWokAA8LIwBBgAFrIgMkACAALQAAIQJBACEAA0AgACADakH/AGpBMEHXACACQQ9xIgRBCkkbIARqOgAAIABBAWshACACQf8BcSIEQQR2IQIgBEEPSw0ACyAAQYABaiICQYEBTwRAIAJBgAFBtKTAABChAQALIAFBxKTAAEECIAAgA2pBgAFqQQAgAGsQFCADQYABaiQAC9UCAQN/IAAoAgAhACABLQAYQRBxQQR2RQRAIAEtABhBIHFBBXZFBEAgADMBACABECAPCyMAQYABayIDJAAgAC8BACECQQAhAANAIAAgA2pB/wBqQTBBNyACQQ9xIgRBCkkbIARqOgAAIABBAWshACACQf//A3EiBEEEdiECIARBD0sNAAsgAEGAAWoiAkGBAU8EQCACQYABQbSkwAAQoQEACyABQcSkwABBAiAAIANqQYABakEAIABrEBQgA0GAAWokAA8LIwBBgAFrIgMkACAALwEAIQJBACEAA0AgACADakH/AGpBMEHXACACQQ9xIgRBCkkbIARqOgAAIABBAWshACACQf//A3EiBEEEdiECIARBD0sNAAsgAEGAAWoiAkGBAU8EQCACQYABQbSkwAAQoQEACyABQcSkwABBAiAAIANqQYABakEAIABrEBQgA0GAAWokAAsrACABIAJPBEAgAiAAIAJBDGxqIAEgAmsQEg8LQbKXwABBI0GkmMAAEGIAC84CAQh/IAEoAggiAiABKAIASQRAIwBBEGsiBCQAIARBCGohCCMAQSBrIgMkAAJAAkAgASgCACIJIAJPBEBBgYCAgHghBSAJRQ0CIAEoAgQhB0EBIQYCQCACBEAgAkEATg0BQQEhBSACQQEQlgEiBkUNBCAGIAcgAhC9ARoLIAcQEAwCC0EBIQUgByAJQQEgAhCKASIGDQEMAgsgA0EUakEB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ACAAKAIAIAEgACgCBCgCDBEBAAsIACAAIAEQGwsPACAAKAIAIAEgAhBtQQALEQAgACgCBCAAKAIIIAEQugELEwAgAEGAnsAANgIEIAAgATYCAAsQACABIAAoAgAgACgCBBARCwwAIAAgASACEG1BAAsNACAAKAIAIAEgAhAFCw0AIAAoAgAgASACEAoLoAEBA38gACgCACECQQIhAyMAQRBrIgAkACABKAIAQZakwABBASABKAIEKAIMEQAAIQQgAEEAOgAFIAAgBDoABCAAIAE2AgADQCAAIAI2AgwgACAAQQxqQbiZwAAQpQEgAkEBaiECIANBAWsiAw0ACyAALQAEBH9BAQUgACgCACIBKAIAQZekwABBASABQQRqKAIAKAIMEQAACyAAQRBqJAALowQBBX8gACgCACEDIwBBEGsiBCQAAkACfwJAAkAgAUGAAU8EQCAEQQA2AgwgAUGAEEkNASABQYCABE8NAiAEIAFBP3FBgAFyOgAOIAQgAUEMdkHgAXI6AAwgBCABQQZ2QT9xQYABcjoADUEDDAMLIAMoAggiAiADKAIARgRAIwBBIGsiACQAAkACQCACQQFqIgJFDQAgAygCACIFQQF0IgYgAiACIAZJGyICQQggAkEISxsiAkF/c0EfdiEGAkAgBQRAIABBATYCGCAAIAU2AhQgACADQQRqKAIANgIQDAELIABBADYCGAsgACACIAYgAEEQahA3IAAoAgQhBSAAKAIARQRAIAMgAjYCACADIAU2AgQMAgsgAEEIaigCACICQYGAgIB4Rg0BIAJFDQAgBSACQYC8wAAoAgAiAEHCACAAGxECAAALEG4ACyAAQSBqJAAgAygCCCECCyADIAJBAWo2AgggAygCBCACaiABOgAADAMLIAQgAUE/cUGAAXI6AA0gBCABQQZ2QcABcjoADEECDAELIAQgAUE/cUGAAXI6AA8gBCABQQZ2QT9xQYABcjoADiAEIAFBDHZBP3FBgAFyOgANIAQgAUESdkEHcUHwAXI6AAxBBAshACAAIAMoAgAgAygCCCICa0sEQCADIAIgABAyIAMoAgghAgsgAygCBCACaiAEQQxqIAAQvQEaIAMgACACajYCCAsgBEEQaiQAQQALDgAgACgCABoDQAwACwALfAEBfyMAQTBrIgMkACADIAE2AgQgAyAANgIAIANBCGoiAEEMakECNgIAIANBHGpBAjYCACADQSBqIgFBDGpBwQA2AgAgA0HUp8AANgIQIANBADYCCCADQcEANgIkIAMgATYCGCADIANBBGo2AiggAyADNgIgIAAgAhByAAt8AQF/IwBBMGsiAyQAIAMgATYCBCADIAA2AgAgA0EIaiIAQQxqQQI2AgAgA0EcakECNgIAIANBIGoiAUEMakHBADYCACADQfSnwAA2AhAgA0EANgIIIANBwQA2AiQgAyABNgIYIAMgA0EEajYCKCADIAM2AiAgACACEHIAC3wBAX8jAEEwayIDJAAgAyABNgIEIAMgADYCACADQQhqIgBBDGpBAjYCACADQRxqQQI2AgAgA0EgaiIBQQxqQcEANgIAIANBqKjAADYCECADQQA2AgggA0HBADYCJCADIAE2AhggAyADQQRqNgIoIAMgAzYCICAAIAIQcgALCwAgADUCACABECALyQICBH8CfiMAQUBqIgMkAEEBIQUCQCAALQAEDQAgAC0ABSEFAkACQAJAIAAoAgAiBCgCGCIGQQRxRQRAIAUNAQwDCyAFDQFBASEFIAQoAgBBlaTAAEEBIAQoAgQoAgwRAAANAyAEKAIYIQYMAQtBASEFIAQoAgBBiaTAAEECIAQoAgQoAgwRAABFDQEMAgtBASEFIANBAToAFyADQeijwAA2AhwgAyAEKQIANwMIIAMgA0EXajYCECAEKQIIIQcgBCkCECEIIAMgBC0AIDoAOCADIAQoAhw2AjQgAyAGNgIwIAMgCDcDKCADIAc3AyAgAyADQQhqNgIYIAEgA0EYaiACKAIMEQEADQEgAygCGEGHpMAAQQIgAygCHCgCDBEAACEFDAELIAEgBCACKAIMEQEAIQULIABBAToABSAAIAU6AAQgA0FAayQACw0AIAAoAgAgASACEBoLCwAgADEAACABECALCwAgACkDACABECALCwAgACMAaiQAIwALBwAgABCFAQvoAQEFfyAAKAIAIQIjAEFAaiIAJAAgAEIANwM4IABBOGogAigCABAMIABBFGpBAjYCACAAQRxqQQE2AgAgACAAKAI8IgI2AjAgACAAKAI4NgIsIAAgAjYCKCAAQTw2AiQgAEHkmsAANgIQIABBADYCCCAAIABBKGoiBDYCICAAIABBIGo2AhgjAEEgayICJAAgASgCBCEFIAEoAgAg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04l/CwwAQrO29/Gi3KL+BAsDAAELC+M7AQBBgIDAAAvZO2NhbGxlZCBgUmVzdWx0Ojp1bndyYXAoKWAgb24gYW4gYEVycmAgdmFsdWUAAgAAAAQAAAAEAAAAAwAAAAAAEAAAAAAAc3JjL2xpYi5ycwAARAAQAAoAAAAjAAAALQAAAEQAEAAKAAAAKAAAAC8AAABNYXAga2V5IGlzIG5vdCBhIHN0cmluZyBhbmQgY2Fubm90IGJlIGFuIG9iamVjdCBrZXkAVHJpZWQgdG8gc2hyaW5rIHRvIGEgbGFyZ2VyIGNhcGFjaXR5pAAQACQAAAAvcnVzdGMvZmM1OTRmMTU2Njk2ODBmYTcwZDI1NWZhZWMzY2EzZmI1MDdjMzQwNS9saWJyYXJ5L2FsbG9jL3NyYy9yYXdfdmVjLnJz0AAQAEwAAACqAQAACQAAAGB1bndyYXBfdGhyb3dgIGZhaWxlZAAAAAQAAAAMAAAABAAAAAUAAAAGAAAABwAAAGEgRGlzcGxheSBpbXBsZW1lbnRhdGlvbiByZXR1cm5lZCBhbiBlcnJvciB1bmV4cGVjdGVkbHkACAAAAAAAAAABAAAACQAAAC9ydXN0Yy9mYzU5NGYxNTY2OTY4MGZhNzBkMjU1ZmFlYzNjYTNmYjUwN2MzNDA1L2xpYnJhcnkvYWxsb2Mvc3JjL3N0cmluZy5ycwCkARAASwAAAOgJAAAJAAAAZmdiZ2ZhaW50AWJvbGRpdGFsaWN1bmRlcmxpbmVzdHJpa2V0aHJvdWdoYmxpbmtpbnZlcnNlcmdiKCwpNgIQAAQAAAA6AhAAAQAAADoCEAABAAAAOwIQAAEAAAAgY2FuJ3QgYmUgcmVwcmVzZW50ZWQgYXMgYSBKYXZhU2NyaXB0IG51bWJlclwCEAAAAAAAXAIQACwAAAAMAAAADAAAAAQAAAANAAAADgAAAA8AAABhIERpc3BsYXkgaW1wbGVtZW50YXRpb24gcmV0dXJuZWQgYW4gZXJyb3IgdW5leHBlY3RlZGx5ABAAAAAAAAAAAQAAAAkAAAAvcnVzdGMvZmM1OTRmMTU2Njk2ODBmYTcwZDI1NWZhZWMzY2EzZmI1MDdjMzQwNS9saWJyYXJ5L2FsbG9jL3NyYy9zdHJpbmcucnMA+AIQAEsAAADoCQAACQAAAEVycm9yAAAAEAAAAAQAAAAEAAAAEQAAAFRyaWVkIHRvIHNocmluayB0byBhIGxhcmdlciBjYXBhY2l0eWwDEAAkAAAAL3J1c3RjL2ZjNTk0ZjE1NjY5NjgwZmE3MGQyNTVmYWVjM2NhM2ZiNTA3YzM0MDUvbGlicmFyeS9hbGxvYy9zcmMvcmF3X3ZlYy5yc5gDEABMAAAAqgEAAAkAAABjbG9zdXJlIGludm9rZWQgcmVjdXJzaXZlbHkgb3IgYWZ0ZXIgYmVpbmcgZHJvcHBlZGFzc2VydGlvbiBmYWlsZWQ6IG1pZCA8PSBzZWxmLmxlbigpL3J1c3RjL2ZjNTk0ZjE1NjY5NjgwZmE3MGQyNTVmYWVjM2NhM2ZiNTA3YzM0MDUvbGlicmFyeS9jb3JlL3NyYy9zbGljZS9tb2QucnMAAEkEEABNAAAA7AsAAAkAAABhc3NlcnRpb24gZmFpbGVkOiBrIDw9IHNlbGYubGVuKCkAAABJBBAATQAAABcMAAAJAAAAZiYAAJIlAAAJJAAADCQAAA0kAAAKJAAAsAAAALEAAAAkJAAACyQAABglAAAQJQAADCUAABQlAAA8JQAAuiMAALsjAAAAJQAAvCMAAL0jAAAcJQAAJCUAADQlAAAsJQAAAiUAAGQiAABlIgAAwAMAAGAiAACjAAAAxSIAAC9ob21lL21hcmNpbi8uY2FyZ28vZ2l0L2NoZWNrb3V0cy9hdnQtNjgzMzk3ODhiYTdkNjczZS85MTdhM2I4L3NyYy9saWIucnNhc3NlcnRpb24gZmFpbGVkOiBjb2x1bW5zID4gMAAAWAUQAEkAAAA4AQAACQAAAGFzc2VydGlvbiBmYWlsZWQ6IHJvd3MgPiAwAABYBRAASQAAADkBAAAJAAAAWAUQAEkAAADaAgAAEQAAAFgFEABJAAAA6AIAABEAAABYBRAASQAAAA0DAAAaAAAAWAUQAEkAAACVAwAAGgAAAFgFEABJAAAAmAMAABoAAABYBRAASQAAAP0DAAANAAAAWAUQAEkAAAACBAAADQAAAFgFEABJAAAADgQAAA0AAABYBRAASQAAABMEAAANAAAAWAUQAEkAAAAgBAAACQAAAFgFEABJAAAAQAQAABgAAABYBRAASQAAAFkFAAAJAAAAWAUQAEkAAABnBQAAJAAAAFgFEABJAAAAcwUAABoAAABYBRAASQAAAHsFAAAaAAAAAAAAAFgFEABJAAAAEgYAAAkAAABYBRAASQAAABoGAAAJAAAAWAUQAEkAAACOBwAAGgAAAFgFEABJAAAAsQcAABcAAABYBRAASQAAALcHAAAJAAAAU29zUG1BcGNTdHJpbmdPc2NTdHJpbmdEY3NJZ25vcmVEY3NQYXNzdGhyb3VnaERjc0ludGVybWVkaWF0ZURjc1BhcmFtRGNzRW50cnlDc2lJZ25vcmVDc2lJbnRlcm1lZGlhdGVDc2lQYXJhbUNzaUVudHJ5RXNjYXBlSW50ZXJtZWRpYXRlRXNjYXBlR3JvdW5kUkdCAAAeAAAABAAAAAQAAAAfAAAASW5kZXhlZAAeAAAABAAAAAQAAAAgAAAARmFpbnRCb2xkTm9ybWFsZm9yZWdyb3VuZGJhY2tncm91bmRpbnRlbnNpdHlpdGFsaWN1bmRlcmxpbmVzdHJpa2V0aHJvdWdoYmxpbmtpbnZlcnNlDwgQAAoAAAAZCBAACgAAACMIEAAJAAAALAgQAAYAAAAyCBAACQAAADsIEAANAAAASAgQAAUAAABNCBAABwAAAB4AAAAEAAAABAAAACEAAAAeAAAABAAAAAQAAAAiAAAAHgAAAAQAAAAEAAAAIwAAAFBlbkNlbGwAHgAAAAQAAAAEAAAAJAAAAB4AAAAEAAAABAAAACUAAAAeAAAABAAAAAQAAAAmAAAARHJhd2luZ0FzY2lpQWx0ZXJuYXRlUHJpbWFyeVNhdmVkQ3R4Y3Vyc29yX3geAAAABAAAAAQAAAAnAAAAY3Vyc29yX3lwZW5vcmlnaW5fbW9kZWF1dG9fd3JhcF9tb2Rlc3RhdGVwYXJhbXNpbnRlcm1lZGlhdGVzY29sdW1uc3Jvd3NidWZmZXJhbHRlcm5hdGVfYnVmZmVyYWN0aXZlX2J1ZmZlcl90eXBlY3Vyc29yX3Zpc2libGVjaGFyc2V0c2FjdGl2ZV9jaGFyc2V0dGFic2luc2VydF9tb2RlbmV3X2xpbmVfbW9kZW5leHRfcHJpbnRfd3JhcHN0b3BfbWFyZ2luYm90dG9tX21hcmdpbnNhdmVkX2N0eGFsdGVybmF0ZV9zYXZlZF9jdHhhZmZlY3RlZF9saW5lc1wJEAAFAAAAYQkQAAYAAABnCRAADQAAAHQJEAAHAAAAewkQAAQAAAB/CRAABgAAAIUJ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");function SA(A){return"number"==typeof A?A:"string"==typeof A?A.split(":").reverse().map(parseFloat).reduce(((A,g,I)=>A+g*Math.pow(60,I))):void 0}class LA{constructor(){let A=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;this.speed=A,this.startTime=performance.now()}getTime(){return this.speed*(performance.now()-this.startTime)/1e3}setTime(A){this.startTime=performance.now()-A/this.speed*1e3}}const pA=(async()=>(await uA(fA),dA))();class UA{constructor(A,g){this.logger=g.logger,this.state="initial",this.driver=null,this.driverFn=A,this.changedLines=new Set,this.cursor=void 0,this.duration=null,this.cols=g.cols,this.rows=g.rows,this.speed=g.speed??1,this.clock=void 0,this.loop=g.loop,this.idleTimeLimit=g.idleTimeLimit,this.preload=g.preload,this.startAt=SA(g.startAt),this.poster=g.poster,this.eventHandlers=new Map([["starting",[]],["loading",[]],["reset",[]],["play",[]],["pause",[]],["terminalUpdate",[]],["seeked",[]],["ended",[]]])}addEventListener(A,g){this.eventHandlers.get(A).push(g)}dispatchEvent(A){let g=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};for(const I of this.eventHandlers.get(A))I(g)}async init(){const A=this.feed.bind(this),g=this.now.bind(this),I=this.resetVt.bind(this);let B=!1;return this.wasm=await pA,this.driver=this.driverFn({feed:A,now:g,setTimeout:(A,g)=>window.setTimeout(A,g/this.speed),setInterval:(A,g)=>window.setInterval(A,g/this.speed),onFinish:()=>{this.state="ended",this.dispatchEvent("ended")},reset:I,setLoading:A=>{A&&!B?(B=!0,this.dispatchEvent("loading")):!A&&B&&(B=!1,this.dispatchEvent("play"))},logger:this.logger},{cols:this.cols,rows:this.rows,idleTimeLimit:this.idleTimeLimit,startAt:this.startAt,loop:this.loop}),"function"==typeof this.driver&&(this.driver={start:this.driver}),this.duration=this.driver.duration,this.cols=this.cols??this.driver.cols,this.rows=this.rows??this.driver.rows,this.preload&&this.initializeDriver(),{isPausable:!!this.driver.pauseOrResume,isSeekable:!!this.driver.seek,poster:await this.renderPoster()}}async play(){"initial"==this.state?await this.start():"paused"==this.state?this.resume():"ended"==this.state&&await this.restart()}pause(){"playing"==this.state&&this.doPause()}async pauseOrResume(){"initial"==this.state?await this.start():"playing"==this.state?this.doPause():"paused"==this.state?this.resume():"ended"==this.state&&await this.restart()}stop(){"function"==typeof this.driver.stop&&this.driver.stop()}async seek(A){if("initial"==this.state)return!1;if("function"!=typeof this.driver.seek)return!1;const g=this.driver.seek(A);return g&&("ended"==this.state&&(this.state="paused"),this.dispatchEvent("seeked")),g}step(){"paused"==this.state&&"function"==typeof this.driver.step&&this.driver.step()}getChangedLines(){if(this.changedLines.size>0){const A=new Map;for(const g of this.changedLines)A.set(g,{id:g,segments:this.vt.get_line(g)});return this.changedLines.clear(),A}}getCursor(){return void 0===this.cursor&&this.vt&&(this.cursor=this.vt.get_cursor()??!1),this.cursor}getCurrentTime(){return"function"==typeof this.driver.getCurrentTime?this.driver.getCurrentTime():void 0!==this.clock?this.clock.getTime():void 0}getRemainingTime(){if("number"==typeof this.duration)return this.duration-Math.min(this.getCurrentTime(),this.duration)}getProgress(){if("number"==typeof this.duration)return Math.min(this.getCurrentTime(),this.duration)/this.duration}getDuration(){return this.duration}async start(){this.dispatchEvent("starting");const A=setTimeout((()=>{this.dispatchEvent("loading")}),2e3);await this.initializeDriver(),this.dispatchEvent("terminalUpdate");const g=await this.driver.start();clearTimeout(A),"function"==typeof g&&(this.driver.stop=g),this.clock=new LA(this.speed),this.state="playing",this.dispatchEvent("play")}doPause(){"function"==typeof this.driver.pauseOrResume&&(this.driver.pauseOrResume(),this.state="paused",this.dispatchEvent("pause"))}resume(){"function"==typeof this.driver.pauseOrResume&&(this.state="playing",this.driver.pauseOrResume(),this.dispatchEvent("play"))}async restart(){if("function"==typeof this.driver.restart){await this.driver.restart()&&(this.state="playing",this.dispatchEvent("play"))}}feed(A){this.doFeed(A),this.dispatchEvent("terminalUpdate")}doFeed(A){this.vt.feed(A).forEach((A=>this.changedLines.add(A))),this.cursor=void 0}now(){return performance.now()*this.speed}initializeDriver(){return void 0===this.initializeDriverPromise&&(this.initializeDriverPromise=this.doInitializeDriver()),this.initializeDriverPromise}async doInitializeDriver(){if("function"==typeof this.driver.init){const A=await this.driver.init();this.duration=this.duration??A.duration,this.cols=this.cols??A.cols,this.rows=this.rows??A.rows}this.ensureVt()}ensureVt(){const A=this.cols??80,g=this.rows??24;void 0!==this.vt&&this.vt.cols===A&&this.vt.rows===g||(this.initializeVt(A,g),this.dispatchEvent("reset",{cols:A,rows:g}))}resetVt(A,g){let I=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0;this.cols=A,this.rows=g,this.cursor=void 0,this.initializeVt(A,g),void 0!==I&&""!==I&&this.doFeed(I),this.dispatchEvent("reset",{cols:A,rows:g})}initializeVt(A,g){this.vt=this.wasm.create(A,g),this.vt.cols=A,this.vt.rows=g,this.changedLines.clear();for(let A=0;Athis.vt.feed(A)));const g=this.vt.get_cursor()??!1,I=[];for(let A=0;A!0,deleteProperty:()=>!0,ownKeys:function(A){return WA(A),Reflect.ownKeys(A)},getOwnPropertyDescriptor:function(A,g){const B=Reflect.getOwnPropertyDescriptor(A,g);return B&&!B.get&&B.configurable&&g!==I&&g!==HA&&g!==bA?(delete B.value,delete B.writable,B.get=()=>A[I][g],B):B}};function XA(A,g,I,B=!1){if(!B&&A[g]===I)return;const Q=A[g],C=A.length;void 0===I?delete A[g]:A[g]=I;let E,i=jA(A);(E=xA(i,g,Q))&&E.$((()=>I)),Array.isArray(A)&&A.length!==C&&(E=xA(i,"length",C))&&E.$(A.length),(E=i._)&&E.$()}function OA(A,g){const I=Object.keys(g);for(let B=0;B1){B=g.shift();const C=typeof B,E=Array.isArray(A);if(Array.isArray(B)){for(let Q=0;Q1)return void VA(A[B],g,[B].concat(I));Q=A[B],I=[B].concat(I)}let C=g[0];"function"==typeof C&&(C=C(Q,I),C===Q)||void 0===B&&null==C||(C=mA(C),void 0===B||vA(Q)&&vA(C)&&!Array.isArray(C)?OA(Q,C):XA(A,B,C))}function zA(...[A,g]){const I=mA(A||{}),B=Array.isArray(I);return[qA(I),function(...A){J((()=>{B&&1===A.length?function(A,g){if("function"==typeof g&&(g=g(A)),g=mA(g),Array.isArray(g)){if(A===g)return;let I=0,B=g.length;for(;I=E&&e>=E&&(C[i]===A[e]||Q&&C[E]&&A[E]&&C[i][Q]===A[e][Q]);i--,e--)n[e]=C[i];if(E>e||E>i){for(I=E;I<=e;I++)XA(C,I,A[I]);for(;IA.length&&XA(C,"length",A.length))}for(o=new Array(e+1),I=e;I>=E;I--)t=A[I],s=Q&&t?t[Q]:t,g=r.get(s),o[I]=void 0===g?-1:g,r.set(s,I);for(g=E;g<=i;g++)t=C[g],s=Q&&t?t[Q]:t,I=r.get(s),void 0!==I&&-1!==I&&(n[I]=C[g],I=o[I],r.set(s,I));for(I=E;IA.length&&XA(C,"length",A.length))}const E=Object.keys(A);for(let g=0,I=E.length;g{if(!vA(A)||!vA(Q))return Q;const g=_A(Q,{[PA]:A},PA,I,B);return void 0===g?A:g}}const Ag=X("");var gg=A=>(()=>{const g=Ag.cloneNode(!0);return $(g,(()=>A.text)),w((I=>{const B=function(A,g){const I=A.get("inverse")?A.has("bg")?A.get("bg"):"bg":A.get("fg"),B=A.get("inverse")?A.has("fg")?A.get("fg"):"fg":A.get("bg"),Q=Ig(I,A.get("bold"),"fg-"),C=Ig(B,A.get("blink"),"bg-");let E=g??"";Q&&(E+=" "+Q);C&&(E+=" "+C);A.has("bold")&&(E+=" bright");A.has("faint")&&(E+=" faint");A.has("italic")&&(E+=" italic");A.has("underline")&&(E+=" underline");A.has("blink")&&(E+=" blink");return E}(A.attrs,A.extraClass),Q=function(A){const g=A.get("inverse")?A.get("bg"):A.get("fg"),I=A.get("inverse")?A.get("fg"):A.get("bg");let B={};"string"==typeof g&&(B.color=g);"string"==typeof I&&(B["background-color"]=I);return B}(A.attrs);return B!==I._v$&&V(g,I._v$=B),I._v$2=P(g,Q,I._v$2),I}),{_v$:void 0,_v$2:void 0}),g})();function Ig(A,g,I){return"number"==typeof A?(g&&A<8&&(A+=8),`${I}${A}`):"fg"==A||"bg"==A?`${I}${A}`:void 0}const Bg=X('');var Qg=A=>(()=>{const g=Bg.cloneNode(!0);return $(g,v(j,{get each(){return(()=>{if("number"==typeof A.cursor){const g=[];let I=0,B=0;for(;B0&&g.push([Q[0].substring(0,i),Q[1]]),g.push([Q[0][i],C," cursor-a"]),g.push([Q[0][i],E," cursor-b"]),iv(gg,{get text(){return A()[0]},get attrs(){return A()[1]},get extraClass(){return A()[2]}})})),w((()=>g.style.setProperty("height",A.height))),g})();const Cg=X('
');var Eg=A=>{const g=()=>A.lineHeight??1.3333333333,I=l((()=>({width:`${A.cols}ch`,height:g()*A.rows+"em","font-size":100*(A.scale||1)+"%","font-family":A.fontFamily,"line-height":`${g()}em`})));return(()=>{const B=Cg.cloneNode(!0),Q=A.ref;return"function"==typeof Q?_(Q,B):A.ref=B,$(B,v(m,{get each(){return A.lines},children:(I,B)=>v(Qg,{get segments(){return I.segments},get cursor(){return l((()=>B()===A.cursor?.[1]))()?A.cursor?.[0]:null},get height(){return`${g()}em`}})})),w((g=>{const Q=!(!A.blink&&!A.cursorHold),C=!!A.blink,E=I();return Q!==g._v$&&B.classList.toggle("cursor",g._v$=Q),C!==g._v$2&&B.classList.toggle("blink",g._v$2=C),g._v$3=P(B,E,g._v$3),g}),{_v$:void 0,_v$2:void 0,_v$3:void 0}),B})()};const ig=X(''),eg=X(''),tg=X(''),og=X(''),sg=X('
');function ng(A){A=Math.floor(A);const g=Math.floor(A/60),I=A%60;let B="";return g<10&&(B+="0"),B+=`${g}:`,I<10&&(B+="0"),B+=`${I}`,B}var rg=A=>{const g=A=>g=>{g.preventDefault(),A(g)},I=()=>"number"==typeof A.currentTime?ng(A.currentTime):"--:--",B=()=>"number"==typeof A.remainingTime?"-"+ng(A.remainingTime):I(),Q=g=>{if(g.altKey||g.shiftKey||g.metaKey||g.ctrlKey)return;const I=g.currentTarget.offsetWidth,B=g.currentTarget.getBoundingClientRect(),Q=(g.clientX-B.left)/I;return A.onSeekClick(100*Q+"%")};return(()=>{const C=sg.cloneNode(!0),E=C.firstChild,i=E.firstChild,e=i.nextSibling,t=E.nextSibling,o=A.ref;return"function"==typeof o?_(o,C):A.ref=C,$(C,v(x,{get when(){return A.isPausable},get children(){const I=tg.cloneNode(!0);return z(I,"click",g(A.onPlayClick),!0),$(I,v(W,{get children(){return[v(T,{get when(){return A.isPlaying},get children(){return ig.cloneNode(!0)}}),v(T,{get when(){return!A.isPlaying},get children(){return eg.cloneNode(!0)}})]}})),I}}),E),$(i,I),$(e,B),z(t,"click",g(A.onFullscreenClick),!0),$(C,v(x,{get when(){return"number"==typeof A.progress||A.isSeekable},get children(){const g=og.cloneNode(!0),I=g.firstChild,B=I.firstChild.firstChild;return I.$$mousedown=Q,w((g=>P(B,{width:"100%",transform:`scaleX(${A.progress||0}`,"transform-origin":"left center"},g))),g}}),null),w((()=>C.classList.toggle("seekable",!!A.isSeekable))),C})()};O(["click","mousedown"]);const ag=X('
');var cg=A=>{const g=["▓","▒","░","▒"];let I,B=1,Q="";for(let g=0;g{I=setInterval((()=>{t("lines",0,{segments:[C,[g[B%g.length],E]]}),B++}),250)})),N((()=>{clearInterval(I)})),(()=>{const g=ag.cloneNode(!0);return $(g,v(Eg,{get cols(){return A.cols},get rows(){return A.rows},get scale(){return A.scale},get lines(){return e.lines},get fontFamily(){return A.terminalFontFamily},get lineHeight(){return A.terminalLineHeight}})),g})()};const Dg=X('
');var wg=A=>(()=>{const g=Dg.cloneNode(!0);var I;return z(g,"click",(I=A.onClick,A=>{A.preventDefault(),I(A)}),!0),g})();O(["click"]);const hg=X('
');var lg=A=>{const g=A.logger,I=A.core,B=A.autoPlay,[Q,C]=zA({coreState:"initial",cols:A.cols,rows:A.rows,lines:[],cursor:void 0,charW:null,charH:null,bordersW:null,bordersH:null,controlBarH:null,containerW:null,containerH:null,showControls:!1,showStartOverlay:!B,isPausable:!0,isSeekable:!0,isFullscreen:!1,currentTime:null,remainingTime:null,progress:null,blink:!0,cursorHold:!1}),E=()=>Q.cols||80,i=()=>Q.rows||24;let e,t,o,s,n,r,a,c,D;I.addEventListener("starting",(()=>{C("showStartOverlay",!1)})),I.addEventListener("loading",(()=>{C("coreState","loading")})),I.addEventListener("reset",(A=>{let{cols:g,rows:I}=A;I{C({coreState:"playing",showStartOverlay:!1})})),I.addEventListener("pause",(()=>{C("coreState","paused")})),I.addEventListener("seeked",(()=>{S()})),I.addEventListener("ended",(()=>{C("coreState","paused")})),I.addEventListener("terminalUpdate",(()=>{void 0===e&&(e=requestAnimationFrame(k))}));const y=()=>{D=new ResizeObserver(function(A,g){let I;return function(){for(var B=arguments.length,Q=new Array(B),C=0;CA.apply(this,Q)),g)}}((A=>{C({containerW:n.offsetWidth,containerH:n.offsetHeight}),n.dispatchEvent(new CustomEvent("resize",{detail:{el:r}}))}),10)),D.observe(n)};G((async()=>{g.info("player mounted"),C({charW:a.clientWidth/E(),charH:a.clientHeight/i(),bordersW:a.offsetWidth-a.clientWidth,bordersH:a.offsetHeight-a.clientHeight,controlBarH:c.offsetHeight,containerW:n.offsetWidth,containerH:n.offsetHeight}),y();const{isPausable:A,isSeekable:Q,poster:e}=await I.init();C({isPausable:A,isSeekable:Q}),void 0===e||B||C({lines:e.lines,cursor:e.cursor}),B&&I.play()})),N((()=>{I.stop(),p(),f(),D.disconnect()})),h((()=>{const A=Q.coreState;"playing"===A?(L(),J()):"initial"!==A&&(p(),f(),S())}));const k=()=>{const A=I.getChangedLines();A&&A.forEach(((A,g)=>{C("lines",g,$A(A))})),C("cursor",$A(I.getCursor())),C("cursorHold",!0),e=void 0},F=l((()=>{if(!Q.charW)return;g.debug(`containerW = ${Q.containerW}`);const I=Q.charW*E()+Q.bordersW,B=Q.charH*i()+Q.bordersH;let C=A.fit??"width";if("both"===C||Q.isFullscreen){C=Q.containerW/(Q.containerH-Q.controlBarH)>I/B?"height":"width"}if(!1===C||"none"===C)return{};if("width"===C){const A=Q.containerW/I;return{scale:A,width:Q.containerW,height:B*A+Q.controlBarH}}if("height"===C){const A=(Q.containerH-Q.controlBarH)/B;return{scale:A,width:I*A,height:Q.containerH}}throw`unsupported fit mode: ${C}`})),R=()=>{C("isFullscreen",document.fullscreenElement??document.webkitFullscreenElement)},M=()=>{Q.isFullscreen?(document.exitFullscreen??document.webkitExitFullscreen??(()=>{})).apply(document):(n.requestFullscreen??n.webkitRequestFullscreen??(()=>{})).apply(n)},u=A=>{if(!(A.altKey||A.metaKey||A.ctrlKey))if(A.shiftKey){if("ArrowLeft"==A.key)I.seek("<<<");else{if("ArrowRight"!=A.key)return;I.seek(">>>")}A.preventDefault()}else{if(" "==A.key)I.pauseOrResume();else if("."==A.key)I.step(),S();else if("f"==A.key)M();else if("ArrowLeft"==A.key)I.seek("<<");else if("ArrowRight"==A.key)I.seek(">>");else{if(!(A.key.charCodeAt(0)>=48&&A.key.charCodeAt(0)<=57))return;{const g=(A.key.charCodeAt(0)-48)/10;I.seek(100*g+"%")}}A.preventDefault()}},d=()=>{Q.isFullscreen&&U(!0)},Y=()=>{Q.isFullscreen||U(!1)},J=()=>{o=setInterval(S,100)},f=()=>{clearInterval(o)},S=()=>{const A=I.getCurrentTime(),g=I.getRemainingTime(),B=I.getProgress();C({currentTime:A,remainingTime:g,progress:B})},L=()=>{s=setInterval((()=>{C((A=>{const g={blink:!A.blink};return g.blink&&(g.cursorHold=!1),g}))}),500)},p=()=>{clearInterval(s),C("blink",!0)},U=A=>{clearTimeout(t),A&&(t=setTimeout((()=>U(!1)),2e3)),C("showControls",A)},K=()=>F()?.scale,H=(()=>{const g=hg.cloneNode(!0),B=g.firstChild;"function"==typeof n?_(n,g):n=g,g.addEventListener("webkitfullscreenchange",R),g.addEventListener("fullscreenchange",R),g.$$mousemove=d,g.$$keydown=u,g.addEventListener("keypress",u);return"function"==typeof r?_(r,B):r=B,B.$$mousemove=()=>U(!0),B.addEventListener("mouseleave",Y),$(B,v(Eg,{get cols(){return E()},get rows(){return i()},get scale(){return K()},get blink(){return Q.blink},get lines(){return Q.lines},get cursor(){return Q.cursor},get cursorHold(){return Q.cursorHold},get fontFamily(){return A.terminalFontFamily},get lineHeight(){return A.terminalLineHeight},ref(A){"function"==typeof a?a(A):a=A}}),null),$(B,v(rg,{get currentTime(){return Q.currentTime},get remainingTime(){return Q.remainingTime},get progress(){return Q.progress},get isPlaying(){return"playing"==Q.coreState},get isPausable(){return Q.isPausable},get isSeekable(){return Q.isSeekable},onPlayClick:()=>I.pauseOrResume(),onFullscreenClick:M,onSeekClick:A=>I.seek(A),ref(A){"function"==typeof c?c(A):c=A}}),null),$(B,v(W,{get children(){return[v(T,{get when(){return Q.showStartOverlay},get children(){return v(wg,{onClick:()=>I.play()})}}),v(T,{get when(){return"loading"==Q.coreState},get children(){return v(cg,{get cols(){return E()},get rows(){return i()},get scale(){return K()},get terminalFontFamily(){return A.terminalFontFamily},get terminalLineHeight(){return A.terminalLineHeight}})}})]}}),null),w((I=>{const C=!!Q.showControls,E=`asciinema-player asciinema-theme-${A.theme??"asciinema"}`,i=(()=>{const g={};!1!==A.fit&&"none"!==A.fit||void 0===A.terminalFontSize||("small"===A.terminalFontSize?g["font-size"]="12px":"medium"===A.terminalFontSize?g["font-size"]="18px":"big"===A.terminalFontSize?g["font-size"]="24px":g["font-size"]=A.terminalFontSize);const I=F();return void 0===I?(g.height=0,g):(void 0!==I.width&&(g.width=`${I.width}px`,g.height=`${I.height}px`),g)})();return C!==I._v$&&g.classList.toggle("hud",I._v$=C),E!==I._v$2&&V(B,I._v$2=E),I._v$3=P(B,i,I._v$3),I}),{_v$:void 0,_v$2:void 0,_v$3:void 0}),g})();return H};O(["keydown","mousemove"]);class yg{log(){}debug(){}info(){}warn(){}error(){}}class Gg{constructor(A,g){this.input="function"==typeof A.next?A:A[Symbol.iterator](),this.xfs=g??[]}map(A){return this.transform(function(A){return g=>I=>{g(A(I))}}(A))}flatMap(A){return this.transform(function(A){return g=>I=>{A(I).forEach(g)}}(A))}filter(A){return this.transform(function(A){return g=>I=>{A(I)&&g(I)}}(A))}take(A){return this.transform(function(A){let g=0;return I=>B=>{gB=>{g+=1,g>A&&I(B)}}(A))}transform(A){return new Gg(this.input,this.xfs.concat([A]))}toArray(){return Array.from(this)}[Symbol.iterator](){let A=0,g=[],I=!1;const B=(Q=this.xfs,C=A=>g.push(A),Q.reverse().reduce(((A,g)=>{const I=Ng(g(A.step));return{step:I.step,flush:()=>{I.flush(),A.flush()}}}),Ng(C)));var Q,C;return{next:()=>{for(A===g.length&&(g=[],A=0);0===g.length;){const A=this.input.next();if(A.done)break;B.step(A.value)}return 0!==g.length||I||(B.flush(),I=!0),g.length>0?{done:!1,value:g[A++]}:{done:!0}}}}}function Ng(A){return"function"==typeof A?{step:A,flush:()=>{}}:A}function kg(A,g,I){let B,Q,C,E,i,e,t,o,{feed:s,now:n,setTimeout:r,onFinish:a,logger:c}=g,{idleTimeLimit:D,startAt:w,loop:h}=I,l=0,y=0,G=0;async function N(){if(C)return;const g=A.parser(await async function(A){let{url:g,data:I,fetchOpts:B={}}=A;if(void 0!==g){const A=await fetch(g,B);if(!A.ok)throw`failed fetching recording file: ${A.statusText} (${A.status})`;return await A.text()}if(void 0!==I)return"function"==typeof I&&(I=I()),await I;throw"failed fetching recording file: url/data missing in src"}(A));B=g.cols,Q=g.rows,D=D??g.idleTimeLimit;const I=function(A,g){let I=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1/0,B=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,Q=0,C=0,E=B;A instanceof Gg||(A=new Gg(A));const i=Array.from(function(A,g){const I=1/60;let B;return A.transform((A=>{let Q=0,C=0;return{step:g=>{Q++,void 0!==B?g[0]-B[0]{void 0!==B&&(A(B),C++),g.debug(`batched ${Q} frames to ${C} frames`)}}}))}(A,g).map((A=>{const g=A[0]-Q-I;return Q=A[0],g>0&&(C+=g,A[0]1e3*g[0]);k()}function R(){clearTimeout(e),e=null,o=n()-t}function M(){t=n()-o,o=null,k()}function u(A){const g=!!e;if(g&&R(),"string"==typeof A){const g=(o??0)/1e3;"<<"===A?A=g-5:">>"===A?A=g+5:"<<<"===A?A=g-.1*E:">>>"===A?A=g+.1*E:"%"===A[A.length-1]&&(A=parseFloat(A.substring(0,A.length-1))/100*E)}const I=1e3*Math.min(Math.max(A,0),E);I(await N(),{cols:B,rows:Q,duration:E}),start:async()=>{u(i),M()},stop:()=>{clearTimeout(e)},restart:()=>!e&&(u(0),M(),!0),pauseOrResume:()=>e?(R(),!1):(M(),!0),seek:u,step:function(){let A=C[l];void 0!==A?(s(A[1]),y=1e3*A[0],o=y,l++):(o=1e3*E,a())},getPoster:A=>function(A){const g=1e3*A,I=[];let B=0,Q=C[0];for(;Q&&1e3*Q[0]e?(n()-t)/1e3:(o??0)/1e3}}function Fg(A,g,I){let{kind:B}=A;return"random"==B?function(A){let{feed:g,setTimeout:I}=A;const B=" ".charCodeAt(0),Q="~".charCodeAt(0)-B;let C;const E=()=>{const A=Math.pow(5,4*Math.random());C=I(i,A)},i=()=>{E();const A=String.fromCharCode(B+Math.floor(Math.random()*Q));g(A)};return()=>(E(),()=>clearInterval(C))}(g):"clock"==B?function(A,g){let{feed:I}=A,{cols:B=5,rows:Q=1}=g;const C=Math.floor(Q/2),E=Math.floor(B/2)-2;let i;return{cols:B,rows:Q,duration:1440,start:()=>{setTimeout((()=>{I(`[?25l[${C}B`)}),0),i=setInterval((()=>{const A=new Date,g=A.getHours(),B=A.getMinutes();I("\r");for(let A=0;A{clearInterval(i)},getCurrentTime:()=>{const A=new Date;return 60*A.getHours()+A.getMinutes()}}}(g,I):void 0}class Rg{constructor(){this.items=[],this.onPush=void 0}push(A){this.items.push(A),void 0!==this.onPush&&(this.onPush(this.popAll()),this.onPush=void 0)}popAll(){if(this.items.length>0){const A=this.items;return this.items=[],A}{const A=this;return new Promise((g=>{A.onPush=g}))}}}function Mg(A,g){return g>0?function(A,g){const I=new Rg,B=1e3/60;let Q,C,E=!1,i=-B;return setTimeout((async()=>{for(;!E;){const e=await I.popAll();if(E)return;for(const I of e){const e=1e3*(I[0]-C+g);if(e-it&&(await dg(e-t),E))return;A(I[2]),i=e}}}),0),{pushEvent(A){void 0===Q&&(Q=ug(),C=A[0]),"o"==A[1]&&I.push(A)},pushText(A){void 0===Q&&(Q=ug(),C=0);const g=(ug()-Q)/1e3;I.push([g,"o",A])},stop(){E=!0,I.push(void 0)}}}(A,g):function(A){return{pushEvent(g){"o"===g[1]&&A(g[2])},pushText(g){A(g)},stop(){}}}(A)}function ug(){return(new Date).getTime()}function dg(A){return new Promise((g=>{setTimeout(g,A)}))}function Yg(A){return Math.min(500*Math.pow(2,A),5e3)}function Jg(A,g){let{url:I,bufferTime:B=0,reconnectDelay:Q=Yg}=A,{feed:C,reset:E,setLoading:i,onFinish:e,logger:t}=g;const o=new TextDecoder;let s,n,r,a,c=0,D=!1;function w(){void 0!==n&&n.stop(),n=Mg(C,B)}function h(){s=new WebSocket(I),s.binaryType="arraybuffer",s.onopen=()=>{t.info("websocket: opened"),i(!1),w(),a=setTimeout((()=>{c=0}),1e3)},s.onmessage=A=>{if("string"==typeof A.data){const g=JSON.parse(A.data);if(Array.isArray(g))n.pushEvent(g),void 0!==r&&r.setTime(g[0]);else if(void 0!==g.cols||void 0!==g.width){const A=g.cols??g.width,I=g.rows??g.height;t.debug(`websocket: vt reset (${A}x${I})`),w(),E(A,I,g.init??void 0),r=new LA,"number"==typeof g.time&&r.setTime(g.time)}else"offline"===g.state&&(t.info("websocket: stream offline"),r=void 0)}else n.pushText(o.decode(A.data))},s.onclose=A=>{if(D||1e3===A.code||1005===A.code)t.info("websocket: closed"),e();else{clearTimeout(a);const A=Q(c++);t.info(`websocket: unclean close, reconnecting in ${A}...`),i(!0),setTimeout(h,A)}}}return{start:()=>{h()},stop:()=>{D=!0,void 0!==n&&n.stop(),void 0!==s&&s.close()},getCurrentTime:()=>void 0===r?void 0:r.getTime()}}function fg(A,g){let I,B,Q,{url:C,bufferTime:E=0}=A,{feed:i,reset:e,setLoading:t,onFinish:o,logger:s}=g;function n(){void 0!==B&&B.stop(),B=Mg(i,E)}return{start:()=>{I=new EventSource(C),I.addEventListener("open",(()=>{s.info("eventsource: opened"),t(!1),n()})),I.addEventListener("error",(A=>{s.info("eventsource: errored"),s.debug({e:A}),t(!0)})),I.addEventListener("message",(A=>{const g=JSON.parse(A.data);if(Array.isArray(g))B.pushEvent(g),void 0!==Q&&Q.setTime(g[0]);else if(void 0!==g.cols||void 0!==g.width){const A=g.cols??g.width,I=g.rows??g.height;s.debug(`eventsource: vt reset (${A}x${I})`),n(),e(A,I,g.init??void 0),Q=new LA,"number"==typeof g.time&&Q.setTime(g.time)}else"offline"===g.state&&(s.info("eventsource: stream offline"),Q=void 0)})),I.addEventListener("done",(()=>{s.info("eventsource: closed"),I.close(),o()}))},stop:()=>{void 0!==B&&B.stop(),void 0!==I&&I.close()},getCurrentTime:()=>void 0===Q?void 0:Q.getTime()}}function Sg(A){let g,I=new Gg([]);if("string"==typeof A){const B=function(A){const g=A.split("\n");let I;try{I=JSON.parse(g[0])}catch(A){return}const B=new Gg(g).drop(1).filter((A=>"["===A[0])).map((A=>JSON.parse(A)));return{header:I,events:B}}(A);void 0!==B?(g=B.header,I=B.events):g=JSON.parse(A)}else if("object"==typeof A&&"number"==typeof A.version)g=A;else{if(!Array.isArray(A))throw"invalid data";g=A[0],I=new Gg(A).drop(1)}if(1===g.version)return function(A){let g=0;const I=new Gg(A.stdout).map((A=>(g+=A[0],[g,A[1]])));return{cols:A.width,rows:A.height,frames:I}}(g);if(2===g.version)return function(A,g){const I=g.filter((A=>"o"===A[1])).map((A=>[A[0],A[2]]));return{cols:A.width,rows:A.height,idleTimeLimit:A.idle_time_limit,frames:I}}(g,I);throw`asciicast v${g.version} format not supported`}return A.create=function(A,g){let I=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const B=I.logger??new yg,Q=new UA(function(A){if("function"==typeof A)return A;"string"==typeof A&&(A="ws://"==A.substring(0,5)||"wss://"==A.substring(0,6)?{driver:"websocket",url:A}:"test://"==A.substring(0,7)?{driver:"test",kind:A.substring(7)}:{driver:"recording",url:A});void 0===A.driver&&(A.driver="recording");"recording"==A.driver&&void 0===A.parser&&(A.parser=Sg);const g=new Map([["recording",kg],["websocket",Jg],["eventsource",fg],["test",Fg]]);if(g.has(A.driver)){const I=g.get(A.driver);return(g,B)=>I(A,g,B)}throw`unsupported driver: ${JSON.stringify(A)}`}(A),{logger:B,cols:I.cols,rows:I.rows,loop:I.loop,speed:I.speed,preload:I.preload,startAt:I.startAt,poster:I.poster,idleTimeLimit:I.idleTimeLimit}),C={logger:B,core:Q,cols:I.cols,rows:I.rows,fit:I.fit,autoPlay:I.autoPlay??I.autoplay,terminalFontSize:I.terminalFontSize,terminalFontFamily:I.terminalFontFamily,terminalLineHeight:I.terminalLineHeight,theme:I.theme};let E;const i=function(A,g,I,B={}){let Q;return c((B=>{Q=B,g===document?A():$(g,A(),g.firstChild?null:void 0,I)}),B.owner),()=>{Q(),g.textContent=""}}((()=>(E=v(lg,C),E)),g),e={el:E,dispose:i,getCurrentTime:()=>Q.getCurrentTime(),getDuration:()=>Q.getDuration(),play:()=>Q.play(),pause:()=>Q.pause(),seek:A=>Q.seek(A),addEventListener:(A,g)=>Q.addEventListener(A,g.bind(e))};return e},A}({}); diff --git a/assets/extra.css b/assets/extra.css new file mode 100644 index 00000000..4dfa0acb --- /dev/null +++ b/assets/extra.css @@ -0,0 +1,55 @@ +/* Increase H1 size */ +h1 { + font-size: 36px; +} + +/* Increases default font size */ +p { + font-size: 18px !important; +} + +/* Increases content width */ +.wy-nav-content { + max-width: 71% !important; +} + +/* Makes long text in a table wrap around */ +.wy-table-responsive table td { + white-space: normal !important; +} + +/* Increases font size on tables to a readable size */ +.rst-content table.docutils td, .rst-content table.docutils th { + font-size: 100% !important; +} + +/* Code block font is too small by default */ +code { + font-size: 14px !important; +} + +/* #region Asciinema Overrides */ + +/* Custom font to match Windows Terminal's default */ +@font-face { + font-family: "Cascadia Mono"; + src: local(CascadiaMono), + url("external/CascadiaMono.ttf") format("truetype"); + font-stretch: normal; + font-style: normal; + font-weight: 700; +} + +@font-face { + font-family: "Cascadia Mono"; + src: local(CascadiaMono), + url("external/CascadiaMono.ttf") format("truetype"); + font-stretch: normal; +} + +/* Makes the color for Spectre.Console's progress bar more closely match the other yellows */ +.fg-11 { + color: rgb(249,241,165) !important; +} + +/* #endregion */ \ No newline at end of file diff --git a/assets/extra.js b/assets/extra.js new file mode 100644 index 00000000..94c93af3 --- /dev/null +++ b/assets/extra.js @@ -0,0 +1,54 @@ +/* + Example Usage: +
+ + Defaults: + data-cli-rows - 14 +*/ +(function () +{ + // Asciinema will throw a null exception when being loaded from the browser's cache. Appears to be related to how quickly the .js library is loaded locally, + // versus there being a longer delay when loading over the network. + // Scheduling initPlayers() with setTimeout() adds just enough delay to fix the issue. + window.addEventListener('load', function () { setTimeout(initPlayers, 0) }, false); + + // Default settings used by all Asciinema players + const asciinemaOpts = { + terminalFontSize: "15px", + fit: 'none', + terminalFontFamily: "'Cascadia Mono', monospace", + cols: 120 + }; + + const defaultObserverOpts = { + threshold: .5 + }; + + function initPlayers() + { + let playerElements = document.querySelectorAll('[data-cli-player]'); + playerElements.forEach((playerElement) => + { + // Collect needed properties from the player's DOM element attributes + var asciiOpts = { ...asciinemaOpts }; + let castFileSource = playerElement.getAttribute('data-cli-player'); + asciiOpts.rows = playerElement.getAttribute('data-rows') ?? 14; + + let player = AsciinemaPlayer.create(castFileSource, playerElement, asciiOpts); + + // Use IntersectionObserver to trigger the player only when the user scrolls scrolled into the viewport + let observer = new IntersectionObserver((entries) => + { + if (entries[0].isIntersecting) + { + console.log("triggered"); + player.play(); + // Removing the observer so that the player doesn't restart if the user scrolls up/down + observer.unobserve(playerElement); + } + }, defaultObserverOpts); + + observer.observe(playerElement); + }); + }; +})(); diff --git a/assets/flags/en.svg b/assets/flags/en.svg new file mode 100644 index 00000000..dbac25ea --- /dev/null +++ b/assets/flags/en.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/assets/flags/gr.svg b/assets/flags/gr.svg new file mode 100644 index 00000000..599741ee --- /dev/null +++ b/assets/flags/gr.svg @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/assets/language-picker.css b/assets/language-picker.css new file mode 100644 index 00000000..d40f213a --- /dev/null +++ b/assets/language-picker.css @@ -0,0 +1,43 @@ +.dropdown-container { + position: relative; + display: inline-block; +} + +.dropdown-container:hover .dropdown-content { + display: block; +} + +/* Change the background color of the dropdown button when the dropdown content is shown */ +.dropdown-container:hover { + fill: #808080; +} + +.dropdown-container button { + background-color: inherit; + border: none; +} + +/* Dropdown Content (Hidden by Default) */ +.dropdown-content { + display: none; + position: absolute; + background-color: #f1f1f1; + min-width: 160px; + box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2); + z-index: 1; +} + +/* Links inside the dropdown */ +.dropdown-content a { + color: black; + padding: 10px 16px !important; + display: block !important; +} + +.dropdown-content a:hover { + background-color: #ddd; +} + +.flagIcon { + height: 20px !important; +} \ No newline at end of file diff --git a/css/fonts/Roboto-Slab-Bold.woff b/css/fonts/Roboto-Slab-Bold.woff new file mode 100644 index 00000000..6cb60000 Binary files /dev/null and b/css/fonts/Roboto-Slab-Bold.woff differ diff --git a/css/fonts/Roboto-Slab-Bold.woff2 b/css/fonts/Roboto-Slab-Bold.woff2 new file mode 100644 index 00000000..7059e231 Binary files /dev/null and b/css/fonts/Roboto-Slab-Bold.woff2 differ diff --git a/css/fonts/Roboto-Slab-Regular.woff b/css/fonts/Roboto-Slab-Regular.woff new file mode 100644 index 00000000..f815f63f Binary files /dev/null and b/css/fonts/Roboto-Slab-Regular.woff differ diff --git a/css/fonts/Roboto-Slab-Regular.woff2 b/css/fonts/Roboto-Slab-Regular.woff2 new file mode 100644 index 00000000..f2c76e5b Binary files /dev/null and b/css/fonts/Roboto-Slab-Regular.woff2 differ diff --git a/css/fonts/fontawesome-webfont.eot b/css/fonts/fontawesome-webfont.eot new file mode 100644 index 00000000..e9f60ca9 Binary files /dev/null and b/css/fonts/fontawesome-webfont.eot differ diff --git a/css/fonts/fontawesome-webfont.svg b/css/fonts/fontawesome-webfont.svg new file mode 100644 index 00000000..855c845e --- /dev/null +++ b/css/fonts/fontawesome-webfont.svg @@ -0,0 +1,2671 @@ + + + + +Created by FontForge 20120731 at Mon Oct 24 17:37:40 2016 + By ,,, +Copyright Dave Gandy 2016. All rights reserved. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/css/fonts/fontawesome-webfont.ttf b/css/fonts/fontawesome-webfont.ttf new file mode 100644 index 00000000..35acda2f Binary files /dev/null and b/css/fonts/fontawesome-webfont.ttf differ diff --git a/css/fonts/fontawesome-webfont.woff b/css/fonts/fontawesome-webfont.woff new file mode 100644 index 00000000..400014a4 Binary files /dev/null and b/css/fonts/fontawesome-webfont.woff differ diff --git a/css/fonts/fontawesome-webfont.woff2 b/css/fonts/fontawesome-webfont.woff2 new file mode 100644 index 00000000..4d13fc60 Binary files /dev/null and b/css/fonts/fontawesome-webfont.woff2 differ diff --git a/css/fonts/lato-bold-italic.woff b/css/fonts/lato-bold-italic.woff new file mode 100644 index 00000000..88ad05b9 Binary files /dev/null and b/css/fonts/lato-bold-italic.woff differ diff --git a/css/fonts/lato-bold-italic.woff2 b/css/fonts/lato-bold-italic.woff2 new file mode 100644 index 00000000..c4e3d804 Binary files /dev/null and b/css/fonts/lato-bold-italic.woff2 differ diff --git a/css/fonts/lato-bold.woff b/css/fonts/lato-bold.woff new file mode 100644 index 00000000..c6dff51f Binary files /dev/null and b/css/fonts/lato-bold.woff differ diff --git a/css/fonts/lato-bold.woff2 b/css/fonts/lato-bold.woff2 new file mode 100644 index 00000000..bb195043 Binary files /dev/null and b/css/fonts/lato-bold.woff2 differ diff --git a/css/fonts/lato-normal-italic.woff b/css/fonts/lato-normal-italic.woff new file mode 100644 index 00000000..76114bc0 Binary files /dev/null and b/css/fonts/lato-normal-italic.woff differ diff --git a/css/fonts/lato-normal-italic.woff2 b/css/fonts/lato-normal-italic.woff2 new file mode 100644 index 00000000..3404f37e Binary files /dev/null and b/css/fonts/lato-normal-italic.woff2 differ diff --git a/css/fonts/lato-normal.woff b/css/fonts/lato-normal.woff new file mode 100644 index 00000000..ae1307ff Binary files /dev/null and b/css/fonts/lato-normal.woff differ diff --git a/css/fonts/lato-normal.woff2 b/css/fonts/lato-normal.woff2 new file mode 100644 index 00000000..3bf98433 Binary files /dev/null and b/css/fonts/lato-normal.woff2 differ diff --git a/css/theme.css b/css/theme.css new file mode 100644 index 00000000..7e03995c --- /dev/null +++ b/css/theme.css @@ -0,0 +1,13 @@ +/* + * This file is copied from the upstream ReadTheDocs Sphinx + * theme. To aid upgradability this file should *not* be edited. + * modifications we need should be included in theme_extra.css. + * + * https://github.com/readthedocs/sphinx_rtd_theme + */ + + /* sphinx_rtd_theme version 1.0.0 | MIT license */ +html{box-sizing:border-box}*,:after,:before{box-sizing:inherit}article,aside,details,figcaption,figure,footer,header,hgroup,nav,section{display:block}audio,canvas,video{display:inline-block;*display:inline;*zoom:1}[hidden],audio:not([controls]){display:none}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}blockquote{margin:0}dfn{font-style:italic}ins{background:#ff9;text-decoration:none}ins,mark{color:#000}mark{background:#ff0;font-style:italic;font-weight:700}.rst-content code,.rst-content tt,code,kbd,pre,samp{font-family:monospace,serif;_font-family:courier new,monospace;font-size:1em}pre{white-space:pre}q{quotes:none}q:after,q:before{content:"";content:none}small{font-size:85%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}dl,ol,ul{margin:0;padding:0;list-style:none;list-style-image:none}li{list-style:none}dd{margin:0}img{border:0;-ms-interpolation-mode:bicubic;vertical-align:middle;max-width:100%}svg:not(:root){overflow:hidden}figure,form{margin:0}label{cursor:pointer}button,input,select,textarea{font-size:100%;margin:0;vertical-align:baseline;*vertical-align:middle}button,input{line-height:normal}button,input[type=button],input[type=reset],input[type=submit]{cursor:pointer;-webkit-appearance:button;*overflow:visible}button[disabled],input[disabled]{cursor:default}input[type=search]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}textarea{resize:vertical}table{border-collapse:collapse;border-spacing:0}td{vertical-align:top}.chromeframe{margin:.2em 0;background:#ccc;color:#000;padding:.2em 0}.ir{display:block;border:0;text-indent:-999em;overflow:hidden;background-color:transparent;background-repeat:no-repeat;text-align:left;direction:ltr;*line-height:0}.ir br{display:none}.hidden{display:none!important;visibility:hidden}.visuallyhidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.visuallyhidden.focusable:active,.visuallyhidden.focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}.invisible{visibility:hidden}.relative{position:relative}big,small{font-size:100%}@media print{body,html,section{background:none!important}*{box-shadow:none!important;text-shadow:none!important;filter:none!important;-ms-filter:none!important}a,a:visited{text-decoration:underline}.ir a:after,a[href^="#"]:after,a[href^="javascript:"]:after{content:""}blockquote,pre{page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}img{max-width:100%!important}@page{margin:.5cm}.rst-content .toctree-wrapper>p.caption,h2,h3,p{orphans:3;widows:3}.rst-content .toctree-wrapper>p.caption,h2,h3{page-break-after:avoid}}.btn,.fa:before,.icon:before,.rst-content .admonition,.rst-content .admonition-title:before,.rst-content .admonition-todo,.rst-content .attention,.rst-content .caution,.rst-content .code-block-caption .headerlink:before,.rst-content .danger,.rst-content .eqno .headerlink:before,.rst-content .error,.rst-content .hint,.rst-content .important,.rst-content .note,.rst-content .seealso,.rst-content .tip,.rst-content .warning,.rst-content code.download span:first-child:before,.rst-content dl dt .headerlink:before,.rst-content h1 .headerlink:before,.rst-content h2 .headerlink:before,.rst-content h3 .headerlink:before,.rst-content h4 .headerlink:before,.rst-content h5 .headerlink:before,.rst-content h6 .headerlink:before,.rst-content p.caption .headerlink:before,.rst-content p .headerlink:before,.rst-content table>caption .headerlink:before,.rst-content tt.download span:first-child:before,.wy-alert,.wy-dropdown .caret:before,.wy-inline-validate.wy-inline-validate-danger .wy-input-context:before,.wy-inline-validate.wy-inline-validate-info .wy-input-context:before,.wy-inline-validate.wy-inline-validate-success .wy-input-context:before,.wy-inline-validate.wy-inline-validate-warning .wy-input-context:before,.wy-menu-vertical li.current>a,.wy-menu-vertical li.current>a button.toctree-expand:before,.wy-menu-vertical li.on a,.wy-menu-vertical li.on a button.toctree-expand:before,.wy-menu-vertical li button.toctree-expand:before,.wy-nav-top a,.wy-side-nav-search .wy-dropdown>a,.wy-side-nav-search>a,input[type=color],input[type=date],input[type=datetime-local],input[type=datetime],input[type=email],input[type=month],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week],select,textarea{-webkit-font-smoothing:antialiased}.clearfix{*zoom:1}.clearfix:after,.clearfix:before{display:table;content:""}.clearfix:after{clear:both}/*! + * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome + * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) + */@font-face{font-family:FontAwesome;src:url(fonts/fontawesome-webfont.eot?674f50d287a8c48dc19ba404d20fe713);src:url(fonts/fontawesome-webfont.eot?674f50d287a8c48dc19ba404d20fe713?#iefix&v=4.7.0) format("embedded-opentype"),url(fonts/fontawesome-webfont.woff2?af7ae505a9eed503f8b8e6982036873e) format("woff2"),url(fonts/fontawesome-webfont.woff?fee66e712a8a08eef5805a46892932ad) format("woff"),url(fonts/fontawesome-webfont.ttf?b06871f281fee6b241d60582ae9369b9) format("truetype"),url(fonts/fontawesome-webfont.svg?912ec66d7572ff821749319396470bde#fontawesomeregular) format("svg");font-weight:400;font-style:normal}.fa,.icon,.rst-content .admonition-title,.rst-content .code-block-caption .headerlink,.rst-content .eqno .headerlink,.rst-content code.download span:first-child,.rst-content dl dt .headerlink,.rst-content h1 .headerlink,.rst-content h2 .headerlink,.rst-content h3 .headerlink,.rst-content h4 .headerlink,.rst-content h5 .headerlink,.rst-content h6 .headerlink,.rst-content p.caption .headerlink,.rst-content p .headerlink,.rst-content table>caption .headerlink,.rst-content tt.download span:first-child,.wy-menu-vertical li.current>a button.toctree-expand,.wy-menu-vertical li.on a button.toctree-expand,.wy-menu-vertical li button.toctree-expand{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14286em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14286em;width:2.14286em;top:.14286em;text-align:center}.fa-li.fa-lg{left:-1.85714em}.fa-border{padding:.2em .25em .15em;border:.08em solid #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa-pull-left.icon,.fa.fa-pull-left,.rst-content .code-block-caption .fa-pull-left.headerlink,.rst-content .eqno .fa-pull-left.headerlink,.rst-content .fa-pull-left.admonition-title,.rst-content code.download span.fa-pull-left:first-child,.rst-content dl dt .fa-pull-left.headerlink,.rst-content h1 .fa-pull-left.headerlink,.rst-content h2 .fa-pull-left.headerlink,.rst-content h3 .fa-pull-left.headerlink,.rst-content h4 .fa-pull-left.headerlink,.rst-content h5 .fa-pull-left.headerlink,.rst-content h6 .fa-pull-left.headerlink,.rst-content p .fa-pull-left.headerlink,.rst-content table>caption .fa-pull-left.headerlink,.rst-content tt.download span.fa-pull-left:first-child,.wy-menu-vertical li.current>a button.fa-pull-left.toctree-expand,.wy-menu-vertical li.on a button.fa-pull-left.toctree-expand,.wy-menu-vertical li button.fa-pull-left.toctree-expand{margin-right:.3em}.fa-pull-right.icon,.fa.fa-pull-right,.rst-content .code-block-caption .fa-pull-right.headerlink,.rst-content .eqno .fa-pull-right.headerlink,.rst-content .fa-pull-right.admonition-title,.rst-content code.download span.fa-pull-right:first-child,.rst-content dl dt .fa-pull-right.headerlink,.rst-content h1 .fa-pull-right.headerlink,.rst-content h2 .fa-pull-right.headerlink,.rst-content h3 .fa-pull-right.headerlink,.rst-content h4 .fa-pull-right.headerlink,.rst-content h5 .fa-pull-right.headerlink,.rst-content h6 .fa-pull-right.headerlink,.rst-content p .fa-pull-right.headerlink,.rst-content table>caption .fa-pull-right.headerlink,.rst-content tt.download span.fa-pull-right:first-child,.wy-menu-vertical li.current>a button.fa-pull-right.toctree-expand,.wy-menu-vertical li.on a button.fa-pull-right.toctree-expand,.wy-menu-vertical li button.fa-pull-right.toctree-expand{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left,.pull-left.icon,.rst-content .code-block-caption .pull-left.headerlink,.rst-content .eqno .pull-left.headerlink,.rst-content .pull-left.admonition-title,.rst-content code.download span.pull-left:first-child,.rst-content dl dt .pull-left.headerlink,.rst-content h1 .pull-left.headerlink,.rst-content h2 .pull-left.headerlink,.rst-content h3 .pull-left.headerlink,.rst-content h4 .pull-left.headerlink,.rst-content h5 .pull-left.headerlink,.rst-content h6 .pull-left.headerlink,.rst-content p .pull-left.headerlink,.rst-content table>caption .pull-left.headerlink,.rst-content tt.download span.pull-left:first-child,.wy-menu-vertical li.current>a button.pull-left.toctree-expand,.wy-menu-vertical li.on a button.pull-left.toctree-expand,.wy-menu-vertical li button.pull-left.toctree-expand{margin-right:.3em}.fa.pull-right,.pull-right.icon,.rst-content .code-block-caption .pull-right.headerlink,.rst-content .eqno .pull-right.headerlink,.rst-content .pull-right.admonition-title,.rst-content code.download span.pull-right:first-child,.rst-content dl dt .pull-right.headerlink,.rst-content h1 .pull-right.headerlink,.rst-content h2 .pull-right.headerlink,.rst-content h3 .pull-right.headerlink,.rst-content h4 .pull-right.headerlink,.rst-content h5 .pull-right.headerlink,.rst-content h6 .pull-right.headerlink,.rst-content p .pull-right.headerlink,.rst-content table>caption .pull-right.headerlink,.rst-content tt.download span.pull-right:first-child,.wy-menu-vertical li.current>a button.pull-right.toctree-expand,.wy-menu-vertical li.on a button.pull-right.toctree-expand,.wy-menu-vertical li button.pull-right.toctree-expand{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s linear infinite;animation:fa-spin 2s linear infinite}.fa-pulse{-webkit-animation:fa-spin 1s steps(8) infinite;animation:fa-spin 1s steps(8) infinite}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scaleX(-1);-ms-transform:scaleX(-1);transform:scaleX(-1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";-webkit-transform:scaleY(-1);-ms-transform:scaleY(-1);transform:scaleY(-1)}:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:""}.fa-music:before{content:""}.fa-search:before,.icon-search:before{content:""}.fa-envelope-o:before{content:""}.fa-heart:before{content:""}.fa-star:before{content:""}.fa-star-o:before{content:""}.fa-user:before{content:""}.fa-film:before{content:""}.fa-th-large:before{content:""}.fa-th:before{content:""}.fa-th-list:before{content:""}.fa-check:before{content:""}.fa-close:before,.fa-remove:before,.fa-times:before{content:""}.fa-search-plus:before{content:""}.fa-search-minus:before{content:""}.fa-power-off:before{content:""}.fa-signal:before{content:""}.fa-cog:before,.fa-gear:before{content:""}.fa-trash-o:before{content:""}.fa-home:before,.icon-home:before{content:""}.fa-file-o:before{content:""}.fa-clock-o:before{content:""}.fa-road:before{content:""}.fa-download:before,.rst-content code.download span:first-child:before,.rst-content tt.download span:first-child:before{content:""}.fa-arrow-circle-o-down:before{content:""}.fa-arrow-circle-o-up:before{content:""}.fa-inbox:before{content:""}.fa-play-circle-o:before{content:""}.fa-repeat:before,.fa-rotate-right:before{content:""}.fa-refresh:before{content:""}.fa-list-alt:before{content:""}.fa-lock:before{content:""}.fa-flag:before{content:""}.fa-headphones:before{content:""}.fa-volume-off:before{content:""}.fa-volume-down:before{content:""}.fa-volume-up:before{content:""}.fa-qrcode:before{content:""}.fa-barcode:before{content:""}.fa-tag:before{content:""}.fa-tags:before{content:""}.fa-book:before,.icon-book:before{content:""}.fa-bookmark:before{content:""}.fa-print:before{content:""}.fa-camera:before{content:""}.fa-font:before{content:""}.fa-bold:before{content:""}.fa-italic:before{content:""}.fa-text-height:before{content:""}.fa-text-width:before{content:""}.fa-align-left:before{content:""}.fa-align-center:before{content:""}.fa-align-right:before{content:""}.fa-align-justify:before{content:""}.fa-list:before{content:""}.fa-dedent:before,.fa-outdent:before{content:""}.fa-indent:before{content:""}.fa-video-camera:before{content:""}.fa-image:before,.fa-photo:before,.fa-picture-o:before{content:""}.fa-pencil:before{content:""}.fa-map-marker:before{content:""}.fa-adjust:before{content:""}.fa-tint:before{content:""}.fa-edit:before,.fa-pencil-square-o:before{content:""}.fa-share-square-o:before{content:""}.fa-check-square-o:before{content:""}.fa-arrows:before{content:""}.fa-step-backward:before{content:""}.fa-fast-backward:before{content:""}.fa-backward:before{content:""}.fa-play:before{content:""}.fa-pause:before{content:""}.fa-stop:before{content:""}.fa-forward:before{content:""}.fa-fast-forward:before{content:""}.fa-step-forward:before{content:""}.fa-eject:before{content:""}.fa-chevron-left:before{content:""}.fa-chevron-right:before{content:""}.fa-plus-circle:before{content:""}.fa-minus-circle:before{content:""}.fa-times-circle:before,.wy-inline-validate.wy-inline-validate-danger .wy-input-context:before{content:""}.fa-check-circle:before,.wy-inline-validate.wy-inline-validate-success .wy-input-context:before{content:""}.fa-question-circle:before{content:""}.fa-info-circle:before{content:""}.fa-crosshairs:before{content:""}.fa-times-circle-o:before{content:""}.fa-check-circle-o:before{content:""}.fa-ban:before{content:""}.fa-arrow-left:before{content:""}.fa-arrow-right:before{content:""}.fa-arrow-up:before{content:""}.fa-arrow-down:before{content:""}.fa-mail-forward:before,.fa-share:before{content:""}.fa-expand:before{content:""}.fa-compress:before{content:""}.fa-plus:before{content:""}.fa-minus:before{content:""}.fa-asterisk:before{content:""}.fa-exclamation-circle:before,.rst-content .admonition-title:before,.wy-inline-validate.wy-inline-validate-info .wy-input-context:before,.wy-inline-validate.wy-inline-validate-warning .wy-input-context:before{content:""}.fa-gift:before{content:""}.fa-leaf:before{content:""}.fa-fire:before,.icon-fire:before{content:""}.fa-eye:before{content:""}.fa-eye-slash:before{content:""}.fa-exclamation-triangle:before,.fa-warning:before{content:""}.fa-plane:before{content:""}.fa-calendar:before{content:""}.fa-random:before{content:""}.fa-comment:before{content:""}.fa-magnet:before{content:""}.fa-chevron-up:before{content:""}.fa-chevron-down:before{content:""}.fa-retweet:before{content:""}.fa-shopping-cart:before{content:""}.fa-folder:before{content:""}.fa-folder-open:before{content:""}.fa-arrows-v:before{content:""}.fa-arrows-h:before{content:""}.fa-bar-chart-o:before,.fa-bar-chart:before{content:""}.fa-twitter-square:before{content:""}.fa-facebook-square:before{content:""}.fa-camera-retro:before{content:""}.fa-key:before{content:""}.fa-cogs:before,.fa-gears:before{content:""}.fa-comments:before{content:""}.fa-thumbs-o-up:before{content:""}.fa-thumbs-o-down:before{content:""}.fa-star-half:before{content:""}.fa-heart-o:before{content:""}.fa-sign-out:before{content:""}.fa-linkedin-square:before{content:""}.fa-thumb-tack:before{content:""}.fa-external-link:before{content:""}.fa-sign-in:before{content:""}.fa-trophy:before{content:""}.fa-github-square:before{content:""}.fa-upload:before{content:""}.fa-lemon-o:before{content:""}.fa-phone:before{content:""}.fa-square-o:before{content:""}.fa-bookmark-o:before{content:""}.fa-phone-square:before{content:""}.fa-twitter:before{content:""}.fa-facebook-f:before,.fa-facebook:before{content:""}.fa-github:before,.icon-github:before{content:""}.fa-unlock:before{content:""}.fa-credit-card:before{content:""}.fa-feed:before,.fa-rss:before{content:""}.fa-hdd-o:before{content:""}.fa-bullhorn:before{content:""}.fa-bell:before{content:""}.fa-certificate:before{content:""}.fa-hand-o-right:before{content:""}.fa-hand-o-left:before{content:""}.fa-hand-o-up:before{content:""}.fa-hand-o-down:before{content:""}.fa-arrow-circle-left:before,.icon-circle-arrow-left:before{content:""}.fa-arrow-circle-right:before,.icon-circle-arrow-right:before{content:""}.fa-arrow-circle-up:before{content:""}.fa-arrow-circle-down:before{content:""}.fa-globe:before{content:""}.fa-wrench:before{content:""}.fa-tasks:before{content:""}.fa-filter:before{content:""}.fa-briefcase:before{content:""}.fa-arrows-alt:before{content:""}.fa-group:before,.fa-users:before{content:""}.fa-chain:before,.fa-link:before,.icon-link:before{content:""}.fa-cloud:before{content:""}.fa-flask:before{content:""}.fa-cut:before,.fa-scissors:before{content:""}.fa-copy:before,.fa-files-o:before{content:""}.fa-paperclip:before{content:""}.fa-floppy-o:before,.fa-save:before{content:""}.fa-square:before{content:""}.fa-bars:before,.fa-navicon:before,.fa-reorder:before{content:""}.fa-list-ul:before{content:""}.fa-list-ol:before{content:""}.fa-strikethrough:before{content:""}.fa-underline:before{content:""}.fa-table:before{content:""}.fa-magic:before{content:""}.fa-truck:before{content:""}.fa-pinterest:before{content:""}.fa-pinterest-square:before{content:""}.fa-google-plus-square:before{content:""}.fa-google-plus:before{content:""}.fa-money:before{content:""}.fa-caret-down:before,.icon-caret-down:before,.wy-dropdown .caret:before{content:""}.fa-caret-up:before{content:""}.fa-caret-left:before{content:""}.fa-caret-right:before{content:""}.fa-columns:before{content:""}.fa-sort:before,.fa-unsorted:before{content:""}.fa-sort-desc:before,.fa-sort-down:before{content:""}.fa-sort-asc:before,.fa-sort-up:before{content:""}.fa-envelope:before{content:""}.fa-linkedin:before{content:""}.fa-rotate-left:before,.fa-undo:before{content:""}.fa-gavel:before,.fa-legal:before{content:""}.fa-dashboard:before,.fa-tachometer:before{content:""}.fa-comment-o:before{content:""}.fa-comments-o:before{content:""}.fa-bolt:before,.fa-flash:before{content:""}.fa-sitemap:before{content:""}.fa-umbrella:before{content:""}.fa-clipboard:before,.fa-paste:before{content:""}.fa-lightbulb-o:before{content:""}.fa-exchange:before{content:""}.fa-cloud-download:before{content:""}.fa-cloud-upload:before{content:""}.fa-user-md:before{content:""}.fa-stethoscope:before{content:""}.fa-suitcase:before{content:""}.fa-bell-o:before{content:""}.fa-coffee:before{content:""}.fa-cutlery:before{content:""}.fa-file-text-o:before{content:""}.fa-building-o:before{content:""}.fa-hospital-o:before{content:""}.fa-ambulance:before{content:""}.fa-medkit:before{content:""}.fa-fighter-jet:before{content:""}.fa-beer:before{content:""}.fa-h-square:before{content:""}.fa-plus-square:before{content:""}.fa-angle-double-left:before{content:""}.fa-angle-double-right:before{content:""}.fa-angle-double-up:before{content:""}.fa-angle-double-down:before{content:""}.fa-angle-left:before{content:""}.fa-angle-right:before{content:""}.fa-angle-up:before{content:""}.fa-angle-down:before{content:""}.fa-desktop:before{content:""}.fa-laptop:before{content:""}.fa-tablet:before{content:""}.fa-mobile-phone:before,.fa-mobile:before{content:""}.fa-circle-o:before{content:""}.fa-quote-left:before{content:""}.fa-quote-right:before{content:""}.fa-spinner:before{content:""}.fa-circle:before{content:""}.fa-mail-reply:before,.fa-reply:before{content:""}.fa-github-alt:before{content:""}.fa-folder-o:before{content:""}.fa-folder-open-o:before{content:""}.fa-smile-o:before{content:""}.fa-frown-o:before{content:""}.fa-meh-o:before{content:""}.fa-gamepad:before{content:""}.fa-keyboard-o:before{content:""}.fa-flag-o:before{content:""}.fa-flag-checkered:before{content:""}.fa-terminal:before{content:""}.fa-code:before{content:""}.fa-mail-reply-all:before,.fa-reply-all:before{content:""}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:""}.fa-location-arrow:before{content:""}.fa-crop:before{content:""}.fa-code-fork:before{content:""}.fa-chain-broken:before,.fa-unlink:before{content:""}.fa-question:before{content:""}.fa-info:before{content:""}.fa-exclamation:before{content:""}.fa-superscript:before{content:""}.fa-subscript:before{content:""}.fa-eraser:before{content:""}.fa-puzzle-piece:before{content:""}.fa-microphone:before{content:""}.fa-microphone-slash:before{content:""}.fa-shield:before{content:""}.fa-calendar-o:before{content:""}.fa-fire-extinguisher:before{content:""}.fa-rocket:before{content:""}.fa-maxcdn:before{content:""}.fa-chevron-circle-left:before{content:""}.fa-chevron-circle-right:before{content:""}.fa-chevron-circle-up:before{content:""}.fa-chevron-circle-down:before{content:""}.fa-html5:before{content:""}.fa-css3:before{content:""}.fa-anchor:before{content:""}.fa-unlock-alt:before{content:""}.fa-bullseye:before{content:""}.fa-ellipsis-h:before{content:""}.fa-ellipsis-v:before{content:""}.fa-rss-square:before{content:""}.fa-play-circle:before{content:""}.fa-ticket:before{content:""}.fa-minus-square:before{content:""}.fa-minus-square-o:before,.wy-menu-vertical li.current>a button.toctree-expand:before,.wy-menu-vertical li.on a button.toctree-expand:before{content:""}.fa-level-up:before{content:""}.fa-level-down:before{content:""}.fa-check-square:before{content:""}.fa-pencil-square:before{content:""}.fa-external-link-square:before{content:""}.fa-share-square:before{content:""}.fa-compass:before{content:""}.fa-caret-square-o-down:before,.fa-toggle-down:before{content:""}.fa-caret-square-o-up:before,.fa-toggle-up:before{content:""}.fa-caret-square-o-right:before,.fa-toggle-right:before{content:""}.fa-eur:before,.fa-euro:before{content:""}.fa-gbp:before{content:""}.fa-dollar:before,.fa-usd:before{content:""}.fa-inr:before,.fa-rupee:before{content:""}.fa-cny:before,.fa-jpy:before,.fa-rmb:before,.fa-yen:before{content:""}.fa-rouble:before,.fa-rub:before,.fa-ruble:before{content:""}.fa-krw:before,.fa-won:before{content:""}.fa-bitcoin:before,.fa-btc:before{content:""}.fa-file:before{content:""}.fa-file-text:before{content:""}.fa-sort-alpha-asc:before{content:""}.fa-sort-alpha-desc:before{content:""}.fa-sort-amount-asc:before{content:""}.fa-sort-amount-desc:before{content:""}.fa-sort-numeric-asc:before{content:""}.fa-sort-numeric-desc:before{content:""}.fa-thumbs-up:before{content:""}.fa-thumbs-down:before{content:""}.fa-youtube-square:before{content:""}.fa-youtube:before{content:""}.fa-xing:before{content:""}.fa-xing-square:before{content:""}.fa-youtube-play:before{content:""}.fa-dropbox:before{content:""}.fa-stack-overflow:before{content:""}.fa-instagram:before{content:""}.fa-flickr:before{content:""}.fa-adn:before{content:""}.fa-bitbucket:before,.icon-bitbucket:before{content:""}.fa-bitbucket-square:before{content:""}.fa-tumblr:before{content:""}.fa-tumblr-square:before{content:""}.fa-long-arrow-down:before{content:""}.fa-long-arrow-up:before{content:""}.fa-long-arrow-left:before{content:""}.fa-long-arrow-right:before{content:""}.fa-apple:before{content:""}.fa-windows:before{content:""}.fa-android:before{content:""}.fa-linux:before{content:""}.fa-dribbble:before{content:""}.fa-skype:before{content:""}.fa-foursquare:before{content:""}.fa-trello:before{content:""}.fa-female:before{content:""}.fa-male:before{content:""}.fa-gittip:before,.fa-gratipay:before{content:""}.fa-sun-o:before{content:""}.fa-moon-o:before{content:""}.fa-archive:before{content:""}.fa-bug:before{content:""}.fa-vk:before{content:""}.fa-weibo:before{content:""}.fa-renren:before{content:""}.fa-pagelines:before{content:""}.fa-stack-exchange:before{content:""}.fa-arrow-circle-o-right:before{content:""}.fa-arrow-circle-o-left:before{content:""}.fa-caret-square-o-left:before,.fa-toggle-left:before{content:""}.fa-dot-circle-o:before{content:""}.fa-wheelchair:before{content:""}.fa-vimeo-square:before{content:""}.fa-try:before,.fa-turkish-lira:before{content:""}.fa-plus-square-o:before,.wy-menu-vertical li button.toctree-expand:before{content:""}.fa-space-shuttle:before{content:""}.fa-slack:before{content:""}.fa-envelope-square:before{content:""}.fa-wordpress:before{content:""}.fa-openid:before{content:""}.fa-bank:before,.fa-institution:before,.fa-university:before{content:""}.fa-graduation-cap:before,.fa-mortar-board:before{content:""}.fa-yahoo:before{content:""}.fa-google:before{content:""}.fa-reddit:before{content:""}.fa-reddit-square:before{content:""}.fa-stumbleupon-circle:before{content:""}.fa-stumbleupon:before{content:""}.fa-delicious:before{content:""}.fa-digg:before{content:""}.fa-pied-piper-pp:before{content:""}.fa-pied-piper-alt:before{content:""}.fa-drupal:before{content:""}.fa-joomla:before{content:""}.fa-language:before{content:""}.fa-fax:before{content:""}.fa-building:before{content:""}.fa-child:before{content:""}.fa-paw:before{content:""}.fa-spoon:before{content:""}.fa-cube:before{content:""}.fa-cubes:before{content:""}.fa-behance:before{content:""}.fa-behance-square:before{content:""}.fa-steam:before{content:""}.fa-steam-square:before{content:""}.fa-recycle:before{content:""}.fa-automobile:before,.fa-car:before{content:""}.fa-cab:before,.fa-taxi:before{content:""}.fa-tree:before{content:""}.fa-spotify:before{content:""}.fa-deviantart:before{content:""}.fa-soundcloud:before{content:""}.fa-database:before{content:""}.fa-file-pdf-o:before{content:""}.fa-file-word-o:before{content:""}.fa-file-excel-o:before{content:""}.fa-file-powerpoint-o:before{content:""}.fa-file-image-o:before,.fa-file-photo-o:before,.fa-file-picture-o:before{content:""}.fa-file-archive-o:before,.fa-file-zip-o:before{content:""}.fa-file-audio-o:before,.fa-file-sound-o:before{content:""}.fa-file-movie-o:before,.fa-file-video-o:before{content:""}.fa-file-code-o:before{content:""}.fa-vine:before{content:""}.fa-codepen:before{content:""}.fa-jsfiddle:before{content:""}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-ring:before,.fa-life-saver:before,.fa-support:before{content:""}.fa-circle-o-notch:before{content:""}.fa-ra:before,.fa-rebel:before,.fa-resistance:before{content:""}.fa-empire:before,.fa-ge:before{content:""}.fa-git-square:before{content:""}.fa-git:before{content:""}.fa-hacker-news:before,.fa-y-combinator-square:before,.fa-yc-square:before{content:""}.fa-tencent-weibo:before{content:""}.fa-qq:before{content:""}.fa-wechat:before,.fa-weixin:before{content:""}.fa-paper-plane:before,.fa-send:before{content:""}.fa-paper-plane-o:before,.fa-send-o:before{content:""}.fa-history:before{content:""}.fa-circle-thin:before{content:""}.fa-header:before{content:""}.fa-paragraph:before{content:""}.fa-sliders:before{content:""}.fa-share-alt:before{content:""}.fa-share-alt-square:before{content:""}.fa-bomb:before{content:""}.fa-futbol-o:before,.fa-soccer-ball-o:before{content:""}.fa-tty:before{content:""}.fa-binoculars:before{content:""}.fa-plug:before{content:""}.fa-slideshare:before{content:""}.fa-twitch:before{content:""}.fa-yelp:before{content:""}.fa-newspaper-o:before{content:""}.fa-wifi:before{content:""}.fa-calculator:before{content:""}.fa-paypal:before{content:""}.fa-google-wallet:before{content:""}.fa-cc-visa:before{content:""}.fa-cc-mastercard:before{content:""}.fa-cc-discover:before{content:""}.fa-cc-amex:before{content:""}.fa-cc-paypal:before{content:""}.fa-cc-stripe:before{content:""}.fa-bell-slash:before{content:""}.fa-bell-slash-o:before{content:""}.fa-trash:before{content:""}.fa-copyright:before{content:""}.fa-at:before{content:""}.fa-eyedropper:before{content:""}.fa-paint-brush:before{content:""}.fa-birthday-cake:before{content:""}.fa-area-chart:before{content:""}.fa-pie-chart:before{content:""}.fa-line-chart:before{content:""}.fa-lastfm:before{content:""}.fa-lastfm-square:before{content:""}.fa-toggle-off:before{content:""}.fa-toggle-on:before{content:""}.fa-bicycle:before{content:""}.fa-bus:before{content:""}.fa-ioxhost:before{content:""}.fa-angellist:before{content:""}.fa-cc:before{content:""}.fa-ils:before,.fa-shekel:before,.fa-sheqel:before{content:""}.fa-meanpath:before{content:""}.fa-buysellads:before{content:""}.fa-connectdevelop:before{content:""}.fa-dashcube:before{content:""}.fa-forumbee:before{content:""}.fa-leanpub:before{content:""}.fa-sellsy:before{content:""}.fa-shirtsinbulk:before{content:""}.fa-simplybuilt:before{content:""}.fa-skyatlas:before{content:""}.fa-cart-plus:before{content:""}.fa-cart-arrow-down:before{content:""}.fa-diamond:before{content:""}.fa-ship:before{content:""}.fa-user-secret:before{content:""}.fa-motorcycle:before{content:""}.fa-street-view:before{content:""}.fa-heartbeat:before{content:""}.fa-venus:before{content:""}.fa-mars:before{content:""}.fa-mercury:before{content:""}.fa-intersex:before,.fa-transgender:before{content:""}.fa-transgender-alt:before{content:""}.fa-venus-double:before{content:""}.fa-mars-double:before{content:""}.fa-venus-mars:before{content:""}.fa-mars-stroke:before{content:""}.fa-mars-stroke-v:before{content:""}.fa-mars-stroke-h:before{content:""}.fa-neuter:before{content:""}.fa-genderless:before{content:""}.fa-facebook-official:before{content:""}.fa-pinterest-p:before{content:""}.fa-whatsapp:before{content:""}.fa-server:before{content:""}.fa-user-plus:before{content:""}.fa-user-times:before{content:""}.fa-bed:before,.fa-hotel:before{content:""}.fa-viacoin:before{content:""}.fa-train:before{content:""}.fa-subway:before{content:""}.fa-medium:before{content:""}.fa-y-combinator:before,.fa-yc:before{content:""}.fa-optin-monster:before{content:""}.fa-opencart:before{content:""}.fa-expeditedssl:before{content:""}.fa-battery-4:before,.fa-battery-full:before,.fa-battery:before{content:""}.fa-battery-3:before,.fa-battery-three-quarters:before{content:""}.fa-battery-2:before,.fa-battery-half:before{content:""}.fa-battery-1:before,.fa-battery-quarter:before{content:""}.fa-battery-0:before,.fa-battery-empty:before{content:""}.fa-mouse-pointer:before{content:""}.fa-i-cursor:before{content:""}.fa-object-group:before{content:""}.fa-object-ungroup:before{content:""}.fa-sticky-note:before{content:""}.fa-sticky-note-o:before{content:""}.fa-cc-jcb:before{content:""}.fa-cc-diners-club:before{content:""}.fa-clone:before{content:""}.fa-balance-scale:before{content:""}.fa-hourglass-o:before{content:""}.fa-hourglass-1:before,.fa-hourglass-start:before{content:""}.fa-hourglass-2:before,.fa-hourglass-half:before{content:""}.fa-hourglass-3:before,.fa-hourglass-end:before{content:""}.fa-hourglass:before{content:""}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:""}.fa-hand-paper-o:before,.fa-hand-stop-o:before{content:""}.fa-hand-scissors-o:before{content:""}.fa-hand-lizard-o:before{content:""}.fa-hand-spock-o:before{content:""}.fa-hand-pointer-o:before{content:""}.fa-hand-peace-o:before{content:""}.fa-trademark:before{content:""}.fa-registered:before{content:""}.fa-creative-commons:before{content:""}.fa-gg:before{content:""}.fa-gg-circle:before{content:""}.fa-tripadvisor:before{content:""}.fa-odnoklassniki:before{content:""}.fa-odnoklassniki-square:before{content:""}.fa-get-pocket:before{content:""}.fa-wikipedia-w:before{content:""}.fa-safari:before{content:""}.fa-chrome:before{content:""}.fa-firefox:before{content:""}.fa-opera:before{content:""}.fa-internet-explorer:before{content:""}.fa-television:before,.fa-tv:before{content:""}.fa-contao:before{content:""}.fa-500px:before{content:""}.fa-amazon:before{content:""}.fa-calendar-plus-o:before{content:""}.fa-calendar-minus-o:before{content:""}.fa-calendar-times-o:before{content:""}.fa-calendar-check-o:before{content:""}.fa-industry:before{content:""}.fa-map-pin:before{content:""}.fa-map-signs:before{content:""}.fa-map-o:before{content:""}.fa-map:before{content:""}.fa-commenting:before{content:""}.fa-commenting-o:before{content:""}.fa-houzz:before{content:""}.fa-vimeo:before{content:""}.fa-black-tie:before{content:""}.fa-fonticons:before{content:""}.fa-reddit-alien:before{content:""}.fa-edge:before{content:""}.fa-credit-card-alt:before{content:""}.fa-codiepie:before{content:""}.fa-modx:before{content:""}.fa-fort-awesome:before{content:""}.fa-usb:before{content:""}.fa-product-hunt:before{content:""}.fa-mixcloud:before{content:""}.fa-scribd:before{content:""}.fa-pause-circle:before{content:""}.fa-pause-circle-o:before{content:""}.fa-stop-circle:before{content:""}.fa-stop-circle-o:before{content:""}.fa-shopping-bag:before{content:""}.fa-shopping-basket:before{content:""}.fa-hashtag:before{content:""}.fa-bluetooth:before{content:""}.fa-bluetooth-b:before{content:""}.fa-percent:before{content:""}.fa-gitlab:before,.icon-gitlab:before{content:""}.fa-wpbeginner:before{content:""}.fa-wpforms:before{content:""}.fa-envira:before{content:""}.fa-universal-access:before{content:""}.fa-wheelchair-alt:before{content:""}.fa-question-circle-o:before{content:""}.fa-blind:before{content:""}.fa-audio-description:before{content:""}.fa-volume-control-phone:before{content:""}.fa-braille:before{content:""}.fa-assistive-listening-systems:before{content:""}.fa-american-sign-language-interpreting:before,.fa-asl-interpreting:before{content:""}.fa-deaf:before,.fa-deafness:before,.fa-hard-of-hearing:before{content:""}.fa-glide:before{content:""}.fa-glide-g:before{content:""}.fa-sign-language:before,.fa-signing:before{content:""}.fa-low-vision:before{content:""}.fa-viadeo:before{content:""}.fa-viadeo-square:before{content:""}.fa-snapchat:before{content:""}.fa-snapchat-ghost:before{content:""}.fa-snapchat-square:before{content:""}.fa-pied-piper:before{content:""}.fa-first-order:before{content:""}.fa-yoast:before{content:""}.fa-themeisle:before{content:""}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:""}.fa-fa:before,.fa-font-awesome:before{content:""}.fa-handshake-o:before{content:""}.fa-envelope-open:before{content:""}.fa-envelope-open-o:before{content:""}.fa-linode:before{content:""}.fa-address-book:before{content:""}.fa-address-book-o:before{content:""}.fa-address-card:before,.fa-vcard:before{content:""}.fa-address-card-o:before,.fa-vcard-o:before{content:""}.fa-user-circle:before{content:""}.fa-user-circle-o:before{content:""}.fa-user-o:before{content:""}.fa-id-badge:before{content:""}.fa-drivers-license:before,.fa-id-card:before{content:""}.fa-drivers-license-o:before,.fa-id-card-o:before{content:""}.fa-quora:before{content:""}.fa-free-code-camp:before{content:""}.fa-telegram:before{content:""}.fa-thermometer-4:before,.fa-thermometer-full:before,.fa-thermometer:before{content:""}.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:""}.fa-thermometer-2:before,.fa-thermometer-half:before{content:""}.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:""}.fa-thermometer-0:before,.fa-thermometer-empty:before{content:""}.fa-shower:before{content:""}.fa-bath:before,.fa-bathtub:before,.fa-s15:before{content:""}.fa-podcast:before{content:""}.fa-window-maximize:before{content:""}.fa-window-minimize:before{content:""}.fa-window-restore:before{content:""}.fa-times-rectangle:before,.fa-window-close:before{content:""}.fa-times-rectangle-o:before,.fa-window-close-o:before{content:""}.fa-bandcamp:before{content:""}.fa-grav:before{content:""}.fa-etsy:before{content:""}.fa-imdb:before{content:""}.fa-ravelry:before{content:""}.fa-eercast:before{content:""}.fa-microchip:before{content:""}.fa-snowflake-o:before{content:""}.fa-superpowers:before{content:""}.fa-wpexplorer:before{content:""}.fa-meetup:before{content:""}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}.fa,.icon,.rst-content .admonition-title,.rst-content .code-block-caption .headerlink,.rst-content .eqno .headerlink,.rst-content code.download span:first-child,.rst-content dl dt .headerlink,.rst-content h1 .headerlink,.rst-content h2 .headerlink,.rst-content h3 .headerlink,.rst-content h4 .headerlink,.rst-content h5 .headerlink,.rst-content h6 .headerlink,.rst-content p.caption .headerlink,.rst-content p .headerlink,.rst-content table>caption .headerlink,.rst-content tt.download span:first-child,.wy-dropdown .caret,.wy-inline-validate.wy-inline-validate-danger .wy-input-context,.wy-inline-validate.wy-inline-validate-info .wy-input-context,.wy-inline-validate.wy-inline-validate-success .wy-input-context,.wy-inline-validate.wy-inline-validate-warning .wy-input-context,.wy-menu-vertical li.current>a button.toctree-expand,.wy-menu-vertical li.on a button.toctree-expand,.wy-menu-vertical li button.toctree-expand{font-family:inherit}.fa:before,.icon:before,.rst-content .admonition-title:before,.rst-content .code-block-caption .headerlink:before,.rst-content .eqno .headerlink:before,.rst-content code.download span:first-child:before,.rst-content dl dt .headerlink:before,.rst-content h1 .headerlink:before,.rst-content h2 .headerlink:before,.rst-content h3 .headerlink:before,.rst-content h4 .headerlink:before,.rst-content h5 .headerlink:before,.rst-content h6 .headerlink:before,.rst-content p.caption .headerlink:before,.rst-content p .headerlink:before,.rst-content table>caption .headerlink:before,.rst-content tt.download span:first-child:before,.wy-dropdown .caret:before,.wy-inline-validate.wy-inline-validate-danger .wy-input-context:before,.wy-inline-validate.wy-inline-validate-info .wy-input-context:before,.wy-inline-validate.wy-inline-validate-success .wy-input-context:before,.wy-inline-validate.wy-inline-validate-warning .wy-input-context:before,.wy-menu-vertical li.current>a button.toctree-expand:before,.wy-menu-vertical li.on a button.toctree-expand:before,.wy-menu-vertical li button.toctree-expand:before{font-family:FontAwesome;display:inline-block;font-style:normal;font-weight:400;line-height:1;text-decoration:inherit}.rst-content .code-block-caption a .headerlink,.rst-content .eqno a .headerlink,.rst-content a .admonition-title,.rst-content code.download a span:first-child,.rst-content dl dt a .headerlink,.rst-content h1 a .headerlink,.rst-content h2 a .headerlink,.rst-content h3 a .headerlink,.rst-content h4 a .headerlink,.rst-content h5 a .headerlink,.rst-content h6 a .headerlink,.rst-content p.caption a .headerlink,.rst-content p a .headerlink,.rst-content table>caption a .headerlink,.rst-content tt.download a span:first-child,.wy-menu-vertical li.current>a button.toctree-expand,.wy-menu-vertical li.on a button.toctree-expand,.wy-menu-vertical li a button.toctree-expand,a .fa,a .icon,a .rst-content .admonition-title,a .rst-content .code-block-caption .headerlink,a .rst-content .eqno .headerlink,a .rst-content code.download span:first-child,a .rst-content dl dt .headerlink,a .rst-content h1 .headerlink,a .rst-content h2 .headerlink,a .rst-content h3 .headerlink,a .rst-content h4 .headerlink,a .rst-content h5 .headerlink,a .rst-content h6 .headerlink,a .rst-content p.caption .headerlink,a .rst-content p .headerlink,a .rst-content table>caption .headerlink,a .rst-content tt.download span:first-child,a .wy-menu-vertical li button.toctree-expand{display:inline-block;text-decoration:inherit}.btn .fa,.btn .icon,.btn .rst-content .admonition-title,.btn .rst-content .code-block-caption .headerlink,.btn .rst-content .eqno .headerlink,.btn .rst-content code.download span:first-child,.btn .rst-content dl dt .headerlink,.btn .rst-content h1 .headerlink,.btn .rst-content h2 .headerlink,.btn .rst-content h3 .headerlink,.btn .rst-content h4 .headerlink,.btn .rst-content h5 .headerlink,.btn .rst-content h6 .headerlink,.btn .rst-content p .headerlink,.btn .rst-content table>caption .headerlink,.btn .rst-content tt.download span:first-child,.btn .wy-menu-vertical li.current>a button.toctree-expand,.btn .wy-menu-vertical li.on a button.toctree-expand,.btn .wy-menu-vertical li button.toctree-expand,.nav .fa,.nav .icon,.nav .rst-content .admonition-title,.nav .rst-content .code-block-caption .headerlink,.nav .rst-content .eqno .headerlink,.nav .rst-content code.download span:first-child,.nav .rst-content dl dt .headerlink,.nav .rst-content h1 .headerlink,.nav .rst-content h2 .headerlink,.nav .rst-content h3 .headerlink,.nav .rst-content h4 .headerlink,.nav .rst-content h5 .headerlink,.nav .rst-content h6 .headerlink,.nav .rst-content p .headerlink,.nav .rst-content table>caption .headerlink,.nav .rst-content tt.download span:first-child,.nav .wy-menu-vertical li.current>a button.toctree-expand,.nav .wy-menu-vertical li.on a button.toctree-expand,.nav .wy-menu-vertical li button.toctree-expand,.rst-content .btn .admonition-title,.rst-content .code-block-caption .btn .headerlink,.rst-content .code-block-caption .nav .headerlink,.rst-content .eqno .btn .headerlink,.rst-content .eqno .nav .headerlink,.rst-content .nav .admonition-title,.rst-content code.download .btn span:first-child,.rst-content code.download .nav span:first-child,.rst-content dl dt .btn .headerlink,.rst-content dl dt .nav .headerlink,.rst-content h1 .btn .headerlink,.rst-content h1 .nav .headerlink,.rst-content h2 .btn .headerlink,.rst-content h2 .nav .headerlink,.rst-content h3 .btn .headerlink,.rst-content h3 .nav .headerlink,.rst-content h4 .btn .headerlink,.rst-content h4 .nav .headerlink,.rst-content h5 .btn .headerlink,.rst-content h5 .nav .headerlink,.rst-content h6 .btn .headerlink,.rst-content h6 .nav .headerlink,.rst-content p .btn .headerlink,.rst-content p .nav .headerlink,.rst-content table>caption .btn .headerlink,.rst-content table>caption .nav .headerlink,.rst-content tt.download .btn span:first-child,.rst-content tt.download .nav span:first-child,.wy-menu-vertical li .btn button.toctree-expand,.wy-menu-vertical li.current>a .btn button.toctree-expand,.wy-menu-vertical li.current>a .nav button.toctree-expand,.wy-menu-vertical li .nav button.toctree-expand,.wy-menu-vertical li.on a .btn button.toctree-expand,.wy-menu-vertical li.on a .nav button.toctree-expand{display:inline}.btn .fa-large.icon,.btn .fa.fa-large,.btn .rst-content .code-block-caption .fa-large.headerlink,.btn .rst-content .eqno .fa-large.headerlink,.btn .rst-content .fa-large.admonition-title,.btn .rst-content code.download span.fa-large:first-child,.btn .rst-content dl dt .fa-large.headerlink,.btn .rst-content h1 .fa-large.headerlink,.btn .rst-content h2 .fa-large.headerlink,.btn .rst-content h3 .fa-large.headerlink,.btn .rst-content h4 .fa-large.headerlink,.btn .rst-content h5 .fa-large.headerlink,.btn .rst-content h6 .fa-large.headerlink,.btn .rst-content p .fa-large.headerlink,.btn .rst-content table>caption .fa-large.headerlink,.btn .rst-content tt.download span.fa-large:first-child,.btn .wy-menu-vertical li button.fa-large.toctree-expand,.nav .fa-large.icon,.nav .fa.fa-large,.nav .rst-content .code-block-caption .fa-large.headerlink,.nav .rst-content .eqno .fa-large.headerlink,.nav .rst-content .fa-large.admonition-title,.nav .rst-content code.download span.fa-large:first-child,.nav .rst-content dl dt .fa-large.headerlink,.nav .rst-content h1 .fa-large.headerlink,.nav .rst-content h2 .fa-large.headerlink,.nav .rst-content h3 .fa-large.headerlink,.nav .rst-content h4 .fa-large.headerlink,.nav .rst-content h5 .fa-large.headerlink,.nav .rst-content h6 .fa-large.headerlink,.nav .rst-content p .fa-large.headerlink,.nav .rst-content table>caption .fa-large.headerlink,.nav .rst-content tt.download span.fa-large:first-child,.nav .wy-menu-vertical li button.fa-large.toctree-expand,.rst-content .btn .fa-large.admonition-title,.rst-content .code-block-caption .btn .fa-large.headerlink,.rst-content .code-block-caption .nav .fa-large.headerlink,.rst-content .eqno .btn .fa-large.headerlink,.rst-content .eqno .nav .fa-large.headerlink,.rst-content .nav .fa-large.admonition-title,.rst-content code.download .btn span.fa-large:first-child,.rst-content code.download .nav span.fa-large:first-child,.rst-content dl dt .btn .fa-large.headerlink,.rst-content dl dt .nav .fa-large.headerlink,.rst-content h1 .btn .fa-large.headerlink,.rst-content h1 .nav .fa-large.headerlink,.rst-content h2 .btn .fa-large.headerlink,.rst-content h2 .nav .fa-large.headerlink,.rst-content h3 .btn .fa-large.headerlink,.rst-content h3 .nav .fa-large.headerlink,.rst-content h4 .btn .fa-large.headerlink,.rst-content h4 .nav .fa-large.headerlink,.rst-content h5 .btn .fa-large.headerlink,.rst-content h5 .nav .fa-large.headerlink,.rst-content h6 .btn .fa-large.headerlink,.rst-content h6 .nav .fa-large.headerlink,.rst-content p .btn .fa-large.headerlink,.rst-content p .nav .fa-large.headerlink,.rst-content table>caption .btn .fa-large.headerlink,.rst-content table>caption .nav .fa-large.headerlink,.rst-content tt.download .btn span.fa-large:first-child,.rst-content tt.download .nav span.fa-large:first-child,.wy-menu-vertical li .btn button.fa-large.toctree-expand,.wy-menu-vertical li .nav button.fa-large.toctree-expand{line-height:.9em}.btn .fa-spin.icon,.btn .fa.fa-spin,.btn .rst-content .code-block-caption .fa-spin.headerlink,.btn .rst-content .eqno .fa-spin.headerlink,.btn .rst-content .fa-spin.admonition-title,.btn .rst-content code.download span.fa-spin:first-child,.btn .rst-content dl dt .fa-spin.headerlink,.btn .rst-content h1 .fa-spin.headerlink,.btn .rst-content h2 .fa-spin.headerlink,.btn .rst-content h3 .fa-spin.headerlink,.btn .rst-content h4 .fa-spin.headerlink,.btn .rst-content h5 .fa-spin.headerlink,.btn .rst-content h6 .fa-spin.headerlink,.btn .rst-content p .fa-spin.headerlink,.btn .rst-content table>caption .fa-spin.headerlink,.btn .rst-content tt.download span.fa-spin:first-child,.btn .wy-menu-vertical li button.fa-spin.toctree-expand,.nav .fa-spin.icon,.nav .fa.fa-spin,.nav .rst-content .code-block-caption .fa-spin.headerlink,.nav .rst-content .eqno .fa-spin.headerlink,.nav .rst-content .fa-spin.admonition-title,.nav .rst-content code.download span.fa-spin:first-child,.nav .rst-content dl dt .fa-spin.headerlink,.nav .rst-content h1 .fa-spin.headerlink,.nav .rst-content h2 .fa-spin.headerlink,.nav .rst-content h3 .fa-spin.headerlink,.nav .rst-content h4 .fa-spin.headerlink,.nav .rst-content h5 .fa-spin.headerlink,.nav .rst-content h6 .fa-spin.headerlink,.nav .rst-content p .fa-spin.headerlink,.nav .rst-content table>caption .fa-spin.headerlink,.nav .rst-content tt.download span.fa-spin:first-child,.nav .wy-menu-vertical li button.fa-spin.toctree-expand,.rst-content .btn .fa-spin.admonition-title,.rst-content .code-block-caption .btn .fa-spin.headerlink,.rst-content .code-block-caption .nav .fa-spin.headerlink,.rst-content .eqno .btn .fa-spin.headerlink,.rst-content .eqno .nav .fa-spin.headerlink,.rst-content .nav .fa-spin.admonition-title,.rst-content code.download .btn span.fa-spin:first-child,.rst-content code.download .nav span.fa-spin:first-child,.rst-content dl dt .btn .fa-spin.headerlink,.rst-content dl dt .nav .fa-spin.headerlink,.rst-content h1 .btn .fa-spin.headerlink,.rst-content h1 .nav .fa-spin.headerlink,.rst-content h2 .btn .fa-spin.headerlink,.rst-content h2 .nav .fa-spin.headerlink,.rst-content h3 .btn .fa-spin.headerlink,.rst-content h3 .nav .fa-spin.headerlink,.rst-content h4 .btn .fa-spin.headerlink,.rst-content h4 .nav .fa-spin.headerlink,.rst-content h5 .btn .fa-spin.headerlink,.rst-content h5 .nav .fa-spin.headerlink,.rst-content h6 .btn .fa-spin.headerlink,.rst-content h6 .nav .fa-spin.headerlink,.rst-content p .btn .fa-spin.headerlink,.rst-content p .nav .fa-spin.headerlink,.rst-content table>caption .btn .fa-spin.headerlink,.rst-content table>caption .nav .fa-spin.headerlink,.rst-content tt.download .btn span.fa-spin:first-child,.rst-content tt.download .nav span.fa-spin:first-child,.wy-menu-vertical li .btn button.fa-spin.toctree-expand,.wy-menu-vertical li .nav button.fa-spin.toctree-expand{display:inline-block}.btn.fa:before,.btn.icon:before,.rst-content .btn.admonition-title:before,.rst-content .code-block-caption .btn.headerlink:before,.rst-content .eqno .btn.headerlink:before,.rst-content code.download span.btn:first-child:before,.rst-content dl dt .btn.headerlink:before,.rst-content h1 .btn.headerlink:before,.rst-content h2 .btn.headerlink:before,.rst-content h3 .btn.headerlink:before,.rst-content h4 .btn.headerlink:before,.rst-content h5 .btn.headerlink:before,.rst-content h6 .btn.headerlink:before,.rst-content p .btn.headerlink:before,.rst-content table>caption .btn.headerlink:before,.rst-content tt.download span.btn:first-child:before,.wy-menu-vertical li button.btn.toctree-expand:before{opacity:.5;-webkit-transition:opacity .05s ease-in;-moz-transition:opacity .05s ease-in;transition:opacity .05s ease-in}.btn.fa:hover:before,.btn.icon:hover:before,.rst-content .btn.admonition-title:hover:before,.rst-content .code-block-caption .btn.headerlink:hover:before,.rst-content .eqno .btn.headerlink:hover:before,.rst-content code.download span.btn:first-child:hover:before,.rst-content dl dt .btn.headerlink:hover:before,.rst-content h1 .btn.headerlink:hover:before,.rst-content h2 .btn.headerlink:hover:before,.rst-content h3 .btn.headerlink:hover:before,.rst-content h4 .btn.headerlink:hover:before,.rst-content h5 .btn.headerlink:hover:before,.rst-content h6 .btn.headerlink:hover:before,.rst-content p .btn.headerlink:hover:before,.rst-content table>caption .btn.headerlink:hover:before,.rst-content tt.download span.btn:first-child:hover:before,.wy-menu-vertical li button.btn.toctree-expand:hover:before{opacity:1}.btn-mini .fa:before,.btn-mini .icon:before,.btn-mini .rst-content .admonition-title:before,.btn-mini .rst-content .code-block-caption .headerlink:before,.btn-mini .rst-content .eqno .headerlink:before,.btn-mini .rst-content code.download span:first-child:before,.btn-mini .rst-content dl dt .headerlink:before,.btn-mini .rst-content h1 .headerlink:before,.btn-mini .rst-content h2 .headerlink:before,.btn-mini .rst-content h3 .headerlink:before,.btn-mini .rst-content h4 .headerlink:before,.btn-mini .rst-content h5 .headerlink:before,.btn-mini .rst-content h6 .headerlink:before,.btn-mini .rst-content p .headerlink:before,.btn-mini .rst-content table>caption .headerlink:before,.btn-mini .rst-content tt.download span:first-child:before,.btn-mini .wy-menu-vertical li button.toctree-expand:before,.rst-content .btn-mini .admonition-title:before,.rst-content .code-block-caption .btn-mini .headerlink:before,.rst-content .eqno .btn-mini .headerlink:before,.rst-content code.download .btn-mini span:first-child:before,.rst-content dl dt .btn-mini .headerlink:before,.rst-content h1 .btn-mini .headerlink:before,.rst-content h2 .btn-mini .headerlink:before,.rst-content h3 .btn-mini .headerlink:before,.rst-content h4 .btn-mini .headerlink:before,.rst-content h5 .btn-mini .headerlink:before,.rst-content h6 .btn-mini .headerlink:before,.rst-content p .btn-mini .headerlink:before,.rst-content table>caption .btn-mini .headerlink:before,.rst-content tt.download .btn-mini span:first-child:before,.wy-menu-vertical li .btn-mini button.toctree-expand:before{font-size:14px;vertical-align:-15%}.rst-content .admonition,.rst-content .admonition-todo,.rst-content .attention,.rst-content .caution,.rst-content .danger,.rst-content .error,.rst-content .hint,.rst-content .important,.rst-content .note,.rst-content .seealso,.rst-content .tip,.rst-content .warning,.wy-alert{padding:12px;line-height:24px;margin-bottom:24px;background:#e7f2fa}.rst-content .admonition-title,.wy-alert-title{font-weight:700;display:block;color:#fff;background:#6ab0de;padding:6px 12px;margin:-12px -12px 12px}.rst-content .danger,.rst-content .error,.rst-content .wy-alert-danger.admonition,.rst-content .wy-alert-danger.admonition-todo,.rst-content .wy-alert-danger.attention,.rst-content .wy-alert-danger.caution,.rst-content .wy-alert-danger.hint,.rst-content .wy-alert-danger.important,.rst-content .wy-alert-danger.note,.rst-content .wy-alert-danger.seealso,.rst-content .wy-alert-danger.tip,.rst-content .wy-alert-danger.warning,.wy-alert.wy-alert-danger{background:#fdf3f2}.rst-content .danger .admonition-title,.rst-content .danger .wy-alert-title,.rst-content .error .admonition-title,.rst-content .error .wy-alert-title,.rst-content .wy-alert-danger.admonition-todo .admonition-title,.rst-content .wy-alert-danger.admonition-todo .wy-alert-title,.rst-content .wy-alert-danger.admonition .admonition-title,.rst-content .wy-alert-danger.admonition .wy-alert-title,.rst-content .wy-alert-danger.attention .admonition-title,.rst-content .wy-alert-danger.attention .wy-alert-title,.rst-content .wy-alert-danger.caution .admonition-title,.rst-content .wy-alert-danger.caution .wy-alert-title,.rst-content .wy-alert-danger.hint .admonition-title,.rst-content .wy-alert-danger.hint .wy-alert-title,.rst-content .wy-alert-danger.important .admonition-title,.rst-content .wy-alert-danger.important .wy-alert-title,.rst-content .wy-alert-danger.note .admonition-title,.rst-content .wy-alert-danger.note .wy-alert-title,.rst-content .wy-alert-danger.seealso .admonition-title,.rst-content .wy-alert-danger.seealso .wy-alert-title,.rst-content .wy-alert-danger.tip .admonition-title,.rst-content .wy-alert-danger.tip .wy-alert-title,.rst-content .wy-alert-danger.warning .admonition-title,.rst-content .wy-alert-danger.warning .wy-alert-title,.rst-content .wy-alert.wy-alert-danger .admonition-title,.wy-alert.wy-alert-danger .rst-content .admonition-title,.wy-alert.wy-alert-danger .wy-alert-title{background:#f29f97}.rst-content .admonition-todo,.rst-content .attention,.rst-content .caution,.rst-content .warning,.rst-content .wy-alert-warning.admonition,.rst-content .wy-alert-warning.danger,.rst-content .wy-alert-warning.error,.rst-content .wy-alert-warning.hint,.rst-content .wy-alert-warning.important,.rst-content .wy-alert-warning.note,.rst-content .wy-alert-warning.seealso,.rst-content .wy-alert-warning.tip,.wy-alert.wy-alert-warning{background:#ffedcc}.rst-content .admonition-todo .admonition-title,.rst-content .admonition-todo .wy-alert-title,.rst-content .attention .admonition-title,.rst-content .attention .wy-alert-title,.rst-content .caution .admonition-title,.rst-content .caution .wy-alert-title,.rst-content .warning .admonition-title,.rst-content .warning .wy-alert-title,.rst-content .wy-alert-warning.admonition .admonition-title,.rst-content .wy-alert-warning.admonition .wy-alert-title,.rst-content .wy-alert-warning.danger .admonition-title,.rst-content .wy-alert-warning.danger .wy-alert-title,.rst-content .wy-alert-warning.error .admonition-title,.rst-content .wy-alert-warning.error .wy-alert-title,.rst-content .wy-alert-warning.hint .admonition-title,.rst-content .wy-alert-warning.hint .wy-alert-title,.rst-content .wy-alert-warning.important .admonition-title,.rst-content .wy-alert-warning.important .wy-alert-title,.rst-content .wy-alert-warning.note .admonition-title,.rst-content .wy-alert-warning.note .wy-alert-title,.rst-content .wy-alert-warning.seealso .admonition-title,.rst-content .wy-alert-warning.seealso .wy-alert-title,.rst-content .wy-alert-warning.tip .admonition-title,.rst-content .wy-alert-warning.tip .wy-alert-title,.rst-content .wy-alert.wy-alert-warning .admonition-title,.wy-alert.wy-alert-warning .rst-content .admonition-title,.wy-alert.wy-alert-warning .wy-alert-title{background:#f0b37e}.rst-content .note,.rst-content .seealso,.rst-content .wy-alert-info.admonition,.rst-content .wy-alert-info.admonition-todo,.rst-content .wy-alert-info.attention,.rst-content .wy-alert-info.caution,.rst-content .wy-alert-info.danger,.rst-content .wy-alert-info.error,.rst-content .wy-alert-info.hint,.rst-content .wy-alert-info.important,.rst-content .wy-alert-info.tip,.rst-content .wy-alert-info.warning,.wy-alert.wy-alert-info{background:#e7f2fa}.rst-content .note .admonition-title,.rst-content .note .wy-alert-title,.rst-content .seealso .admonition-title,.rst-content .seealso .wy-alert-title,.rst-content .wy-alert-info.admonition-todo .admonition-title,.rst-content .wy-alert-info.admonition-todo .wy-alert-title,.rst-content .wy-alert-info.admonition .admonition-title,.rst-content .wy-alert-info.admonition .wy-alert-title,.rst-content .wy-alert-info.attention .admonition-title,.rst-content .wy-alert-info.attention .wy-alert-title,.rst-content .wy-alert-info.caution .admonition-title,.rst-content .wy-alert-info.caution .wy-alert-title,.rst-content .wy-alert-info.danger .admonition-title,.rst-content .wy-alert-info.danger .wy-alert-title,.rst-content .wy-alert-info.error .admonition-title,.rst-content .wy-alert-info.error .wy-alert-title,.rst-content .wy-alert-info.hint .admonition-title,.rst-content .wy-alert-info.hint .wy-alert-title,.rst-content .wy-alert-info.important .admonition-title,.rst-content .wy-alert-info.important .wy-alert-title,.rst-content .wy-alert-info.tip .admonition-title,.rst-content .wy-alert-info.tip .wy-alert-title,.rst-content .wy-alert-info.warning .admonition-title,.rst-content .wy-alert-info.warning .wy-alert-title,.rst-content .wy-alert.wy-alert-info .admonition-title,.wy-alert.wy-alert-info .rst-content .admonition-title,.wy-alert.wy-alert-info .wy-alert-title{background:#6ab0de}.rst-content .hint,.rst-content .important,.rst-content .tip,.rst-content .wy-alert-success.admonition,.rst-content .wy-alert-success.admonition-todo,.rst-content .wy-alert-success.attention,.rst-content .wy-alert-success.caution,.rst-content .wy-alert-success.danger,.rst-content .wy-alert-success.error,.rst-content .wy-alert-success.note,.rst-content .wy-alert-success.seealso,.rst-content .wy-alert-success.warning,.wy-alert.wy-alert-success{background:#dbfaf4}.rst-content .hint .admonition-title,.rst-content .hint .wy-alert-title,.rst-content .important .admonition-title,.rst-content .important .wy-alert-title,.rst-content .tip .admonition-title,.rst-content .tip .wy-alert-title,.rst-content .wy-alert-success.admonition-todo .admonition-title,.rst-content .wy-alert-success.admonition-todo .wy-alert-title,.rst-content .wy-alert-success.admonition .admonition-title,.rst-content .wy-alert-success.admonition .wy-alert-title,.rst-content .wy-alert-success.attention .admonition-title,.rst-content .wy-alert-success.attention .wy-alert-title,.rst-content .wy-alert-success.caution .admonition-title,.rst-content .wy-alert-success.caution .wy-alert-title,.rst-content .wy-alert-success.danger .admonition-title,.rst-content .wy-alert-success.danger .wy-alert-title,.rst-content .wy-alert-success.error .admonition-title,.rst-content .wy-alert-success.error .wy-alert-title,.rst-content .wy-alert-success.note .admonition-title,.rst-content .wy-alert-success.note .wy-alert-title,.rst-content .wy-alert-success.seealso .admonition-title,.rst-content .wy-alert-success.seealso .wy-alert-title,.rst-content .wy-alert-success.warning .admonition-title,.rst-content .wy-alert-success.warning .wy-alert-title,.rst-content .wy-alert.wy-alert-success .admonition-title,.wy-alert.wy-alert-success .rst-content .admonition-title,.wy-alert.wy-alert-success .wy-alert-title{background:#1abc9c}.rst-content .wy-alert-neutral.admonition,.rst-content .wy-alert-neutral.admonition-todo,.rst-content .wy-alert-neutral.attention,.rst-content .wy-alert-neutral.caution,.rst-content .wy-alert-neutral.danger,.rst-content .wy-alert-neutral.error,.rst-content .wy-alert-neutral.hint,.rst-content .wy-alert-neutral.important,.rst-content .wy-alert-neutral.note,.rst-content .wy-alert-neutral.seealso,.rst-content .wy-alert-neutral.tip,.rst-content .wy-alert-neutral.warning,.wy-alert.wy-alert-neutral{background:#f3f6f6}.rst-content .wy-alert-neutral.admonition-todo .admonition-title,.rst-content .wy-alert-neutral.admonition-todo .wy-alert-title,.rst-content .wy-alert-neutral.admonition .admonition-title,.rst-content .wy-alert-neutral.admonition .wy-alert-title,.rst-content .wy-alert-neutral.attention .admonition-title,.rst-content .wy-alert-neutral.attention .wy-alert-title,.rst-content .wy-alert-neutral.caution .admonition-title,.rst-content .wy-alert-neutral.caution .wy-alert-title,.rst-content .wy-alert-neutral.danger .admonition-title,.rst-content .wy-alert-neutral.danger .wy-alert-title,.rst-content .wy-alert-neutral.error .admonition-title,.rst-content .wy-alert-neutral.error .wy-alert-title,.rst-content .wy-alert-neutral.hint .admonition-title,.rst-content .wy-alert-neutral.hint .wy-alert-title,.rst-content .wy-alert-neutral.important .admonition-title,.rst-content .wy-alert-neutral.important .wy-alert-title,.rst-content .wy-alert-neutral.note .admonition-title,.rst-content .wy-alert-neutral.note .wy-alert-title,.rst-content .wy-alert-neutral.seealso .admonition-title,.rst-content .wy-alert-neutral.seealso .wy-alert-title,.rst-content .wy-alert-neutral.tip .admonition-title,.rst-content .wy-alert-neutral.tip .wy-alert-title,.rst-content .wy-alert-neutral.warning .admonition-title,.rst-content .wy-alert-neutral.warning .wy-alert-title,.rst-content .wy-alert.wy-alert-neutral .admonition-title,.wy-alert.wy-alert-neutral .rst-content .admonition-title,.wy-alert.wy-alert-neutral .wy-alert-title{color:#404040;background:#e1e4e5}.rst-content .wy-alert-neutral.admonition-todo a,.rst-content .wy-alert-neutral.admonition a,.rst-content .wy-alert-neutral.attention a,.rst-content .wy-alert-neutral.caution a,.rst-content .wy-alert-neutral.danger a,.rst-content .wy-alert-neutral.error a,.rst-content .wy-alert-neutral.hint a,.rst-content .wy-alert-neutral.important a,.rst-content .wy-alert-neutral.note a,.rst-content .wy-alert-neutral.seealso a,.rst-content .wy-alert-neutral.tip a,.rst-content .wy-alert-neutral.warning a,.wy-alert.wy-alert-neutral a{color:#2980b9}.rst-content .admonition-todo p:last-child,.rst-content .admonition p:last-child,.rst-content .attention p:last-child,.rst-content .caution p:last-child,.rst-content .danger p:last-child,.rst-content .error p:last-child,.rst-content .hint p:last-child,.rst-content .important p:last-child,.rst-content .note p:last-child,.rst-content .seealso p:last-child,.rst-content .tip p:last-child,.rst-content .warning p:last-child,.wy-alert p:last-child{margin-bottom:0}.wy-tray-container{position:fixed;bottom:0;left:0;z-index:600}.wy-tray-container li{display:block;width:300px;background:transparent;color:#fff;text-align:center;box-shadow:0 5px 5px 0 rgba(0,0,0,.1);padding:0 24px;min-width:20%;opacity:0;height:0;line-height:56px;overflow:hidden;-webkit-transition:all .3s ease-in;-moz-transition:all .3s ease-in;transition:all .3s ease-in}.wy-tray-container li.wy-tray-item-success{background:#27ae60}.wy-tray-container li.wy-tray-item-info{background:#2980b9}.wy-tray-container li.wy-tray-item-warning{background:#e67e22}.wy-tray-container li.wy-tray-item-danger{background:#e74c3c}.wy-tray-container li.on{opacity:1;height:56px}@media screen and (max-width:768px){.wy-tray-container{bottom:auto;top:0;width:100%}.wy-tray-container li{width:100%}}button{font-size:100%;margin:0;vertical-align:baseline;*vertical-align:middle;cursor:pointer;line-height:normal;-webkit-appearance:button;*overflow:visible}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}button[disabled]{cursor:default}.btn{display:inline-block;border-radius:2px;line-height:normal;white-space:nowrap;text-align:center;cursor:pointer;font-size:100%;padding:6px 12px 8px;color:#fff;border:1px solid rgba(0,0,0,.1);background-color:#27ae60;text-decoration:none;font-weight:400;font-family:Lato,proxima-nova,Helvetica Neue,Arial,sans-serif;box-shadow:inset 0 1px 2px -1px hsla(0,0%,100%,.5),inset 0 -2px 0 0 rgba(0,0,0,.1);outline-none:false;vertical-align:middle;*display:inline;zoom:1;-webkit-user-drag:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-transition:all .1s linear;-moz-transition:all .1s linear;transition:all .1s linear}.btn-hover{background:#2e8ece;color:#fff}.btn:hover{background:#2cc36b;color:#fff}.btn:focus{background:#2cc36b;outline:0}.btn:active{box-shadow:inset 0 -1px 0 0 rgba(0,0,0,.05),inset 0 2px 0 0 rgba(0,0,0,.1);padding:8px 12px 6px}.btn:visited{color:#fff}.btn-disabled,.btn-disabled:active,.btn-disabled:focus,.btn-disabled:hover,.btn:disabled{background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);filter:alpha(opacity=40);opacity:.4;cursor:not-allowed;box-shadow:none}.btn::-moz-focus-inner{padding:0;border:0}.btn-small{font-size:80%}.btn-info{background-color:#2980b9!important}.btn-info:hover{background-color:#2e8ece!important}.btn-neutral{background-color:#f3f6f6!important;color:#404040!important}.btn-neutral:hover{background-color:#e5ebeb!important;color:#404040}.btn-neutral:visited{color:#404040!important}.btn-success{background-color:#27ae60!important}.btn-success:hover{background-color:#295!important}.btn-danger{background-color:#e74c3c!important}.btn-danger:hover{background-color:#ea6153!important}.btn-warning{background-color:#e67e22!important}.btn-warning:hover{background-color:#e98b39!important}.btn-invert{background-color:#222}.btn-invert:hover{background-color:#2f2f2f!important}.btn-link{background-color:transparent!important;color:#2980b9;box-shadow:none;border-color:transparent!important}.btn-link:active,.btn-link:hover{background-color:transparent!important;color:#409ad5!important;box-shadow:none}.btn-link:visited{color:#9b59b6}.wy-btn-group .btn,.wy-control .btn{vertical-align:middle}.wy-btn-group{margin-bottom:24px;*zoom:1}.wy-btn-group:after,.wy-btn-group:before{display:table;content:""}.wy-btn-group:after{clear:both}.wy-dropdown{position:relative;display:inline-block}.wy-dropdown-active .wy-dropdown-menu{display:block}.wy-dropdown-menu{position:absolute;left:0;display:none;float:left;top:100%;min-width:100%;background:#fcfcfc;z-index:100;border:1px solid #cfd7dd;box-shadow:0 2px 2px 0 rgba(0,0,0,.1);padding:12px}.wy-dropdown-menu>dd>a{display:block;clear:both;color:#404040;white-space:nowrap;font-size:90%;padding:0 12px;cursor:pointer}.wy-dropdown-menu>dd>a:hover{background:#2980b9;color:#fff}.wy-dropdown-menu>dd.divider{border-top:1px solid #cfd7dd;margin:6px 0}.wy-dropdown-menu>dd.search{padding-bottom:12px}.wy-dropdown-menu>dd.search input[type=search]{width:100%}.wy-dropdown-menu>dd.call-to-action{background:#e3e3e3;text-transform:uppercase;font-weight:500;font-size:80%}.wy-dropdown-menu>dd.call-to-action:hover{background:#e3e3e3}.wy-dropdown-menu>dd.call-to-action .btn{color:#fff}.wy-dropdown.wy-dropdown-up .wy-dropdown-menu{bottom:100%;top:auto;left:auto;right:0}.wy-dropdown.wy-dropdown-bubble .wy-dropdown-menu{background:#fcfcfc;margin-top:2px}.wy-dropdown.wy-dropdown-bubble .wy-dropdown-menu a{padding:6px 12px}.wy-dropdown.wy-dropdown-bubble .wy-dropdown-menu a:hover{background:#2980b9;color:#fff}.wy-dropdown.wy-dropdown-left .wy-dropdown-menu{right:0;left:auto;text-align:right}.wy-dropdown-arrow:before{content:" ";border-bottom:5px solid #f5f5f5;border-left:5px solid transparent;border-right:5px solid transparent;position:absolute;display:block;top:-4px;left:50%;margin-left:-3px}.wy-dropdown-arrow.wy-dropdown-arrow-left:before{left:11px}.wy-form-stacked select{display:block}.wy-form-aligned .wy-help-inline,.wy-form-aligned input,.wy-form-aligned label,.wy-form-aligned select,.wy-form-aligned textarea{display:inline-block;*display:inline;*zoom:1;vertical-align:middle}.wy-form-aligned .wy-control-group>label{display:inline-block;vertical-align:middle;width:10em;margin:6px 12px 0 0;float:left}.wy-form-aligned .wy-control{float:left}.wy-form-aligned .wy-control label{display:block}.wy-form-aligned .wy-control select{margin-top:6px}fieldset{margin:0}fieldset,legend{border:0;padding:0}legend{width:100%;white-space:normal;margin-bottom:24px;font-size:150%;*margin-left:-7px}label,legend{display:block}label{margin:0 0 .3125em;color:#333;font-size:90%}input,select,textarea{font-size:100%;margin:0;vertical-align:baseline;*vertical-align:middle}.wy-control-group{margin-bottom:24px;max-width:1200px;margin-left:auto;margin-right:auto;*zoom:1}.wy-control-group:after,.wy-control-group:before{display:table;content:""}.wy-control-group:after{clear:both}.wy-control-group.wy-control-group-required>label:after{content:" *";color:#e74c3c}.wy-control-group .wy-form-full,.wy-control-group .wy-form-halves,.wy-control-group .wy-form-thirds{padding-bottom:12px}.wy-control-group .wy-form-full input[type=color],.wy-control-group .wy-form-full input[type=date],.wy-control-group .wy-form-full input[type=datetime-local],.wy-control-group .wy-form-full input[type=datetime],.wy-control-group .wy-form-full input[type=email],.wy-control-group .wy-form-full input[type=month],.wy-control-group .wy-form-full input[type=number],.wy-control-group .wy-form-full input[type=password],.wy-control-group .wy-form-full input[type=search],.wy-control-group .wy-form-full input[type=tel],.wy-control-group .wy-form-full input[type=text],.wy-control-group .wy-form-full input[type=time],.wy-control-group .wy-form-full input[type=url],.wy-control-group .wy-form-full input[type=week],.wy-control-group .wy-form-full select,.wy-control-group .wy-form-halves input[type=color],.wy-control-group .wy-form-halves input[type=date],.wy-control-group .wy-form-halves input[type=datetime-local],.wy-control-group .wy-form-halves input[type=datetime],.wy-control-group .wy-form-halves input[type=email],.wy-control-group .wy-form-halves input[type=month],.wy-control-group .wy-form-halves input[type=number],.wy-control-group .wy-form-halves input[type=password],.wy-control-group .wy-form-halves input[type=search],.wy-control-group .wy-form-halves input[type=tel],.wy-control-group .wy-form-halves input[type=text],.wy-control-group .wy-form-halves input[type=time],.wy-control-group .wy-form-halves input[type=url],.wy-control-group .wy-form-halves input[type=week],.wy-control-group .wy-form-halves select,.wy-control-group .wy-form-thirds input[type=color],.wy-control-group .wy-form-thirds input[type=date],.wy-control-group .wy-form-thirds input[type=datetime-local],.wy-control-group .wy-form-thirds input[type=datetime],.wy-control-group .wy-form-thirds input[type=email],.wy-control-group .wy-form-thirds input[type=month],.wy-control-group .wy-form-thirds input[type=number],.wy-control-group .wy-form-thirds input[type=password],.wy-control-group .wy-form-thirds input[type=search],.wy-control-group .wy-form-thirds input[type=tel],.wy-control-group .wy-form-thirds input[type=text],.wy-control-group .wy-form-thirds input[type=time],.wy-control-group .wy-form-thirds input[type=url],.wy-control-group .wy-form-thirds input[type=week],.wy-control-group .wy-form-thirds select{width:100%}.wy-control-group .wy-form-full{float:left;display:block;width:100%;margin-right:0}.wy-control-group .wy-form-full:last-child{margin-right:0}.wy-control-group .wy-form-halves{float:left;display:block;margin-right:2.35765%;width:48.82117%}.wy-control-group .wy-form-halves:last-child,.wy-control-group .wy-form-halves:nth-of-type(2n){margin-right:0}.wy-control-group .wy-form-halves:nth-of-type(odd){clear:left}.wy-control-group .wy-form-thirds{float:left;display:block;margin-right:2.35765%;width:31.76157%}.wy-control-group .wy-form-thirds:last-child,.wy-control-group .wy-form-thirds:nth-of-type(3n){margin-right:0}.wy-control-group .wy-form-thirds:nth-of-type(3n+1){clear:left}.wy-control-group.wy-control-group-no-input .wy-control,.wy-control-no-input{margin:6px 0 0;font-size:90%}.wy-control-no-input{display:inline-block}.wy-control-group.fluid-input input[type=color],.wy-control-group.fluid-input input[type=date],.wy-control-group.fluid-input input[type=datetime-local],.wy-control-group.fluid-input input[type=datetime],.wy-control-group.fluid-input input[type=email],.wy-control-group.fluid-input input[type=month],.wy-control-group.fluid-input input[type=number],.wy-control-group.fluid-input input[type=password],.wy-control-group.fluid-input input[type=search],.wy-control-group.fluid-input input[type=tel],.wy-control-group.fluid-input input[type=text],.wy-control-group.fluid-input input[type=time],.wy-control-group.fluid-input input[type=url],.wy-control-group.fluid-input input[type=week]{width:100%}.wy-form-message-inline{padding-left:.3em;color:#666;font-size:90%}.wy-form-message{display:block;color:#999;font-size:70%;margin-top:.3125em;font-style:italic}.wy-form-message p{font-size:inherit;font-style:italic;margin-bottom:6px}.wy-form-message p:last-child{margin-bottom:0}input{line-height:normal}input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer;font-family:Lato,proxima-nova,Helvetica Neue,Arial,sans-serif;*overflow:visible}input[type=color],input[type=date],input[type=datetime-local],input[type=datetime],input[type=email],input[type=month],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week]{-webkit-appearance:none;padding:6px;display:inline-block;border:1px solid #ccc;font-size:80%;font-family:Lato,proxima-nova,Helvetica Neue,Arial,sans-serif;box-shadow:inset 0 1px 3px #ddd;border-radius:0;-webkit-transition:border .3s linear;-moz-transition:border .3s linear;transition:border .3s linear}input[type=datetime-local]{padding:.34375em .625em}input[disabled]{cursor:default}input[type=checkbox],input[type=radio]{padding:0;margin-right:.3125em;*height:13px;*width:13px}input[type=checkbox],input[type=radio],input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}input[type=color]:focus,input[type=date]:focus,input[type=datetime-local]:focus,input[type=datetime]:focus,input[type=email]:focus,input[type=month]:focus,input[type=number]:focus,input[type=password]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=text]:focus,input[type=time]:focus,input[type=url]:focus,input[type=week]:focus{outline:0;outline:thin dotted\9;border-color:#333}input.no-focus:focus{border-color:#ccc!important}input[type=checkbox]:focus,input[type=file]:focus,input[type=radio]:focus{outline:thin dotted #333;outline:1px auto #129fea}input[type=color][disabled],input[type=date][disabled],input[type=datetime-local][disabled],input[type=datetime][disabled],input[type=email][disabled],input[type=month][disabled],input[type=number][disabled],input[type=password][disabled],input[type=search][disabled],input[type=tel][disabled],input[type=text][disabled],input[type=time][disabled],input[type=url][disabled],input[type=week][disabled]{cursor:not-allowed;background-color:#fafafa}input:focus:invalid,select:focus:invalid,textarea:focus:invalid{color:#e74c3c;border:1px solid #e74c3c}input:focus:invalid:focus,select:focus:invalid:focus,textarea:focus:invalid:focus{border-color:#e74c3c}input[type=checkbox]:focus:invalid:focus,input[type=file]:focus:invalid:focus,input[type=radio]:focus:invalid:focus{outline-color:#e74c3c}input.wy-input-large{padding:12px;font-size:100%}textarea{overflow:auto;vertical-align:top;width:100%;font-family:Lato,proxima-nova,Helvetica Neue,Arial,sans-serif}select,textarea{padding:.5em .625em;display:inline-block;border:1px solid #ccc;font-size:80%;box-shadow:inset 0 1px 3px #ddd;-webkit-transition:border .3s linear;-moz-transition:border .3s linear;transition:border .3s linear}select{border:1px solid #ccc;background-color:#fff}select[multiple]{height:auto}select:focus,textarea:focus{outline:0}input[readonly],select[disabled],select[readonly],textarea[disabled],textarea[readonly]{cursor:not-allowed;background-color:#fafafa}input[type=checkbox][disabled],input[type=radio][disabled]{cursor:not-allowed}.wy-checkbox,.wy-radio{margin:6px 0;color:#404040;display:block}.wy-checkbox input,.wy-radio input{vertical-align:baseline}.wy-form-message-inline{display:inline-block;*display:inline;*zoom:1;vertical-align:middle}.wy-input-prefix,.wy-input-suffix{white-space:nowrap;padding:6px}.wy-input-prefix .wy-input-context,.wy-input-suffix .wy-input-context{line-height:27px;padding:0 8px;display:inline-block;font-size:80%;background-color:#f3f6f6;border:1px solid #ccc;color:#999}.wy-input-suffix .wy-input-context{border-left:0}.wy-input-prefix .wy-input-context{border-right:0}.wy-switch{position:relative;display:block;height:24px;margin-top:12px;cursor:pointer}.wy-switch:before{left:0;top:0;width:36px;height:12px;background:#ccc}.wy-switch:after,.wy-switch:before{position:absolute;content:"";display:block;border-radius:4px;-webkit-transition:all .2s ease-in-out;-moz-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.wy-switch:after{width:18px;height:18px;background:#999;left:-3px;top:-3px}.wy-switch span{position:absolute;left:48px;display:block;font-size:12px;color:#ccc;line-height:1}.wy-switch.active:before{background:#1e8449}.wy-switch.active:after{left:24px;background:#27ae60}.wy-switch.disabled{cursor:not-allowed;opacity:.8}.wy-control-group.wy-control-group-error .wy-form-message,.wy-control-group.wy-control-group-error>label{color:#e74c3c}.wy-control-group.wy-control-group-error input[type=color],.wy-control-group.wy-control-group-error input[type=date],.wy-control-group.wy-control-group-error input[type=datetime-local],.wy-control-group.wy-control-group-error input[type=datetime],.wy-control-group.wy-control-group-error input[type=email],.wy-control-group.wy-control-group-error input[type=month],.wy-control-group.wy-control-group-error input[type=number],.wy-control-group.wy-control-group-error input[type=password],.wy-control-group.wy-control-group-error input[type=search],.wy-control-group.wy-control-group-error input[type=tel],.wy-control-group.wy-control-group-error input[type=text],.wy-control-group.wy-control-group-error input[type=time],.wy-control-group.wy-control-group-error input[type=url],.wy-control-group.wy-control-group-error input[type=week],.wy-control-group.wy-control-group-error textarea{border:1px solid #e74c3c}.wy-inline-validate{white-space:nowrap}.wy-inline-validate .wy-input-context{padding:.5em .625em;display:inline-block;font-size:80%}.wy-inline-validate.wy-inline-validate-success .wy-input-context{color:#27ae60}.wy-inline-validate.wy-inline-validate-danger .wy-input-context{color:#e74c3c}.wy-inline-validate.wy-inline-validate-warning .wy-input-context{color:#e67e22}.wy-inline-validate.wy-inline-validate-info .wy-input-context{color:#2980b9}.rotate-90{-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg)}.rotate-180{-webkit-transform:rotate(180deg);-moz-transform:rotate(180deg);-ms-transform:rotate(180deg);-o-transform:rotate(180deg);transform:rotate(180deg)}.rotate-270{-webkit-transform:rotate(270deg);-moz-transform:rotate(270deg);-ms-transform:rotate(270deg);-o-transform:rotate(270deg);transform:rotate(270deg)}.mirror{-webkit-transform:scaleX(-1);-moz-transform:scaleX(-1);-ms-transform:scaleX(-1);-o-transform:scaleX(-1);transform:scaleX(-1)}.mirror.rotate-90{-webkit-transform:scaleX(-1) rotate(90deg);-moz-transform:scaleX(-1) rotate(90deg);-ms-transform:scaleX(-1) rotate(90deg);-o-transform:scaleX(-1) rotate(90deg);transform:scaleX(-1) rotate(90deg)}.mirror.rotate-180{-webkit-transform:scaleX(-1) rotate(180deg);-moz-transform:scaleX(-1) rotate(180deg);-ms-transform:scaleX(-1) rotate(180deg);-o-transform:scaleX(-1) rotate(180deg);transform:scaleX(-1) rotate(180deg)}.mirror.rotate-270{-webkit-transform:scaleX(-1) rotate(270deg);-moz-transform:scaleX(-1) rotate(270deg);-ms-transform:scaleX(-1) rotate(270deg);-o-transform:scaleX(-1) rotate(270deg);transform:scaleX(-1) rotate(270deg)}@media only screen and (max-width:480px){.wy-form button[type=submit]{margin:.7em 0 0}.wy-form input[type=color],.wy-form input[type=date],.wy-form input[type=datetime-local],.wy-form input[type=datetime],.wy-form input[type=email],.wy-form input[type=month],.wy-form input[type=number],.wy-form input[type=password],.wy-form input[type=search],.wy-form input[type=tel],.wy-form input[type=text],.wy-form input[type=time],.wy-form input[type=url],.wy-form input[type=week],.wy-form label{margin-bottom:.3em;display:block}.wy-form input[type=color],.wy-form input[type=date],.wy-form input[type=datetime-local],.wy-form input[type=datetime],.wy-form input[type=email],.wy-form input[type=month],.wy-form input[type=number],.wy-form input[type=password],.wy-form input[type=search],.wy-form input[type=tel],.wy-form input[type=time],.wy-form input[type=url],.wy-form input[type=week]{margin-bottom:0}.wy-form-aligned .wy-control-group label{margin-bottom:.3em;text-align:left;display:block;width:100%}.wy-form-aligned .wy-control{margin:1.5em 0 0}.wy-form-message,.wy-form-message-inline,.wy-form .wy-help-inline{display:block;font-size:80%;padding:6px 0}}@media screen and (max-width:768px){.tablet-hide{display:none}}@media screen and (max-width:480px){.mobile-hide{display:none}}.float-left{float:left}.float-right{float:right}.full-width{width:100%}.rst-content table.docutils,.rst-content table.field-list,.wy-table{border-collapse:collapse;border-spacing:0;empty-cells:show;margin-bottom:24px}.rst-content table.docutils caption,.rst-content table.field-list caption,.wy-table caption{color:#000;font:italic 85%/1 arial,sans-serif;padding:1em 0;text-align:center}.rst-content table.docutils td,.rst-content table.docutils th,.rst-content table.field-list td,.rst-content table.field-list th,.wy-table td,.wy-table th{font-size:90%;margin:0;overflow:visible;padding:8px 16px}.rst-content table.docutils td:first-child,.rst-content table.docutils th:first-child,.rst-content table.field-list td:first-child,.rst-content table.field-list th:first-child,.wy-table td:first-child,.wy-table th:first-child{border-left-width:0}.rst-content table.docutils thead,.rst-content table.field-list thead,.wy-table thead{color:#000;text-align:left;vertical-align:bottom;white-space:nowrap}.rst-content table.docutils thead th,.rst-content table.field-list thead th,.wy-table thead th{font-weight:700;border-bottom:2px solid #e1e4e5}.rst-content table.docutils td,.rst-content table.field-list td,.wy-table td{background-color:transparent;vertical-align:middle}.rst-content table.docutils td p,.rst-content table.field-list td p,.wy-table td p{line-height:18px}.rst-content table.docutils td p:last-child,.rst-content table.field-list td p:last-child,.wy-table td p:last-child{margin-bottom:0}.rst-content table.docutils .wy-table-cell-min,.rst-content table.field-list .wy-table-cell-min,.wy-table .wy-table-cell-min{width:1%;padding-right:0}.rst-content table.docutils .wy-table-cell-min input[type=checkbox],.rst-content table.field-list .wy-table-cell-min input[type=checkbox],.wy-table .wy-table-cell-min input[type=checkbox]{margin:0}.wy-table-secondary{color:grey;font-size:90%}.wy-table-tertiary{color:grey;font-size:80%}.rst-content table.docutils:not(.field-list) tr:nth-child(2n-1) td,.wy-table-backed,.wy-table-odd td,.wy-table-striped tr:nth-child(2n-1) td{background-color:#f3f6f6}.rst-content table.docutils,.wy-table-bordered-all{border:1px solid #e1e4e5}.rst-content table.docutils td,.wy-table-bordered-all td{border-bottom:1px solid #e1e4e5;border-left:1px solid #e1e4e5}.rst-content table.docutils tbody>tr:last-child td,.wy-table-bordered-all tbody>tr:last-child td{border-bottom-width:0}.wy-table-bordered{border:1px solid #e1e4e5}.wy-table-bordered-rows td{border-bottom:1px solid #e1e4e5}.wy-table-bordered-rows tbody>tr:last-child td{border-bottom-width:0}.wy-table-horizontal td,.wy-table-horizontal th{border-width:0 0 1px;border-bottom:1px solid #e1e4e5}.wy-table-horizontal tbody>tr:last-child td{border-bottom-width:0}.wy-table-responsive{margin-bottom:24px;max-width:100%;overflow:auto}.wy-table-responsive table{margin-bottom:0!important}.wy-table-responsive table td,.wy-table-responsive table th{white-space:nowrap}a{color:#2980b9;text-decoration:none;cursor:pointer}a:hover{color:#3091d1}a:visited{color:#9b59b6}html{height:100%}body,html{overflow-x:hidden}body{font-family:Lato,proxima-nova,Helvetica Neue,Arial,sans-serif;font-weight:400;color:#404040;min-height:100%;background:#edf0f2}.wy-text-left{text-align:left}.wy-text-center{text-align:center}.wy-text-right{text-align:right}.wy-text-large{font-size:120%}.wy-text-normal{font-size:100%}.wy-text-small,small{font-size:80%}.wy-text-strike{text-decoration:line-through}.wy-text-warning{color:#e67e22!important}a.wy-text-warning:hover{color:#eb9950!important}.wy-text-info{color:#2980b9!important}a.wy-text-info:hover{color:#409ad5!important}.wy-text-success{color:#27ae60!important}a.wy-text-success:hover{color:#36d278!important}.wy-text-danger{color:#e74c3c!important}a.wy-text-danger:hover{color:#ed7669!important}.wy-text-neutral{color:#404040!important}a.wy-text-neutral:hover{color:#595959!important}.rst-content .toctree-wrapper>p.caption,h1,h2,h3,h4,h5,h6,legend{margin-top:0;font-weight:700;font-family:Roboto Slab,ff-tisa-web-pro,Georgia,Arial,sans-serif}p{line-height:24px;font-size:16px;margin:0 0 24px}h1{font-size:175%}.rst-content .toctree-wrapper>p.caption,h2{font-size:150%}h3{font-size:125%}h4{font-size:115%}h5{font-size:110%}h6{font-size:100%}hr{display:block;height:1px;border:0;border-top:1px solid #e1e4e5;margin:24px 0;padding:0}.rst-content code,.rst-content tt,code{white-space:nowrap;max-width:100%;background:#fff;border:1px solid #e1e4e5;font-size:75%;padding:0 5px;font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,Courier,monospace;color:#e74c3c;overflow-x:auto}.rst-content tt.code-large,code.code-large{font-size:90%}.rst-content .section ul,.rst-content .toctree-wrapper ul,.rst-content section ul,.wy-plain-list-disc,article ul{list-style:disc;line-height:24px;margin-bottom:24px}.rst-content .section ul li,.rst-content .toctree-wrapper ul li,.rst-content section ul li,.wy-plain-list-disc li,article ul li{list-style:disc;margin-left:24px}.rst-content .section ul li p:last-child,.rst-content .section ul li ul,.rst-content .toctree-wrapper ul li p:last-child,.rst-content .toctree-wrapper ul li ul,.rst-content section ul li p:last-child,.rst-content section ul li ul,.wy-plain-list-disc li p:last-child,.wy-plain-list-disc li ul,article ul li p:last-child,article ul li ul{margin-bottom:0}.rst-content .section ul li li,.rst-content .toctree-wrapper ul li li,.rst-content section ul li li,.wy-plain-list-disc li li,article ul li li{list-style:circle}.rst-content .section ul li li li,.rst-content .toctree-wrapper ul li li li,.rst-content section ul li li li,.wy-plain-list-disc li li li,article ul li li li{list-style:square}.rst-content .section ul li ol li,.rst-content .toctree-wrapper ul li ol li,.rst-content section ul li ol li,.wy-plain-list-disc li ol li,article ul li ol li{list-style:decimal}.rst-content .section ol,.rst-content .section ol.arabic,.rst-content .toctree-wrapper ol,.rst-content .toctree-wrapper ol.arabic,.rst-content section ol,.rst-content section ol.arabic,.wy-plain-list-decimal,article ol{list-style:decimal;line-height:24px;margin-bottom:24px}.rst-content .section ol.arabic li,.rst-content .section ol li,.rst-content .toctree-wrapper ol.arabic li,.rst-content .toctree-wrapper ol li,.rst-content section ol.arabic li,.rst-content section ol li,.wy-plain-list-decimal li,article ol li{list-style:decimal;margin-left:24px}.rst-content .section ol.arabic li ul,.rst-content .section ol li p:last-child,.rst-content .section ol li ul,.rst-content .toctree-wrapper ol.arabic li ul,.rst-content .toctree-wrapper ol li p:last-child,.rst-content .toctree-wrapper ol li ul,.rst-content section ol.arabic li ul,.rst-content section ol li p:last-child,.rst-content section ol li ul,.wy-plain-list-decimal li p:last-child,.wy-plain-list-decimal li ul,article ol li p:last-child,article ol li ul{margin-bottom:0}.rst-content .section ol.arabic li ul li,.rst-content .section ol li ul li,.rst-content .toctree-wrapper ol.arabic li ul li,.rst-content .toctree-wrapper ol li ul li,.rst-content section ol.arabic li ul li,.rst-content section ol li ul li,.wy-plain-list-decimal li ul li,article ol li ul li{list-style:disc}.wy-breadcrumbs{*zoom:1}.wy-breadcrumbs:after,.wy-breadcrumbs:before{display:table;content:""}.wy-breadcrumbs:after{clear:both}.wy-breadcrumbs li{display:inline-block}.wy-breadcrumbs li.wy-breadcrumbs-aside{float:right}.wy-breadcrumbs li a{display:inline-block;padding:5px}.wy-breadcrumbs li a:first-child{padding-left:0}.rst-content .wy-breadcrumbs li tt,.wy-breadcrumbs li .rst-content tt,.wy-breadcrumbs li code{padding:5px;border:none;background:none}.rst-content .wy-breadcrumbs li tt.literal,.wy-breadcrumbs li .rst-content tt.literal,.wy-breadcrumbs li code.literal{color:#404040}.wy-breadcrumbs-extra{margin-bottom:0;color:#b3b3b3;font-size:80%;display:inline-block}@media screen and (max-width:480px){.wy-breadcrumbs-extra,.wy-breadcrumbs li.wy-breadcrumbs-aside{display:none}}@media print{.wy-breadcrumbs li.wy-breadcrumbs-aside{display:none}}html{font-size:16px}.wy-affix{position:fixed;top:1.618em}.wy-menu a:hover{text-decoration:none}.wy-menu-horiz{*zoom:1}.wy-menu-horiz:after,.wy-menu-horiz:before{display:table;content:""}.wy-menu-horiz:after{clear:both}.wy-menu-horiz li,.wy-menu-horiz ul{display:inline-block}.wy-menu-horiz li:hover{background:hsla(0,0%,100%,.1)}.wy-menu-horiz li.divide-left{border-left:1px solid #404040}.wy-menu-horiz li.divide-right{border-right:1px solid #404040}.wy-menu-horiz a{height:32px;display:inline-block;line-height:32px;padding:0 16px}.wy-menu-vertical{width:300px}.wy-menu-vertical header,.wy-menu-vertical p.caption{color:#55a5d9;height:32px;line-height:32px;padding:0 1.618em;margin:12px 0 0;display:block;font-weight:700;text-transform:uppercase;font-size:85%;white-space:nowrap}.wy-menu-vertical ul{margin-bottom:0}.wy-menu-vertical li.divide-top{border-top:1px solid #404040}.wy-menu-vertical li.divide-bottom{border-bottom:1px solid #404040}.wy-menu-vertical li.current{background:#e3e3e3}.wy-menu-vertical li.current a{color:grey;border-right:1px solid #c9c9c9;padding:.4045em 2.427em}.wy-menu-vertical li.current a:hover{background:#d6d6d6}.rst-content .wy-menu-vertical li tt,.wy-menu-vertical li .rst-content tt,.wy-menu-vertical li code{border:none;background:inherit;color:inherit;padding-left:0;padding-right:0}.wy-menu-vertical li button.toctree-expand{display:block;float:left;margin-left:-1.2em;line-height:18px;color:#4d4d4d;border:none;background:none;padding:0}.wy-menu-vertical li.current>a,.wy-menu-vertical li.on a{color:#404040;font-weight:700;position:relative;background:#fcfcfc;border:none;padding:.4045em 1.618em}.wy-menu-vertical li.current>a:hover,.wy-menu-vertical li.on a:hover{background:#fcfcfc}.wy-menu-vertical li.current>a:hover button.toctree-expand,.wy-menu-vertical li.on a:hover button.toctree-expand{color:grey}.wy-menu-vertical li.current>a button.toctree-expand,.wy-menu-vertical li.on a button.toctree-expand{display:block;line-height:18px;color:#333}.wy-menu-vertical li.toctree-l1.current>a{border-bottom:1px solid #c9c9c9;border-top:1px solid #c9c9c9}.wy-menu-vertical .toctree-l1.current .toctree-l2>ul,.wy-menu-vertical .toctree-l2.current .toctree-l3>ul,.wy-menu-vertical .toctree-l3.current .toctree-l4>ul,.wy-menu-vertical .toctree-l4.current .toctree-l5>ul,.wy-menu-vertical .toctree-l5.current .toctree-l6>ul,.wy-menu-vertical .toctree-l6.current .toctree-l7>ul,.wy-menu-vertical .toctree-l7.current .toctree-l8>ul,.wy-menu-vertical .toctree-l8.current .toctree-l9>ul,.wy-menu-vertical .toctree-l9.current .toctree-l10>ul,.wy-menu-vertical .toctree-l10.current .toctree-l11>ul{display:none}.wy-menu-vertical .toctree-l1.current .current.toctree-l2>ul,.wy-menu-vertical .toctree-l2.current .current.toctree-l3>ul,.wy-menu-vertical .toctree-l3.current .current.toctree-l4>ul,.wy-menu-vertical .toctree-l4.current .current.toctree-l5>ul,.wy-menu-vertical .toctree-l5.current .current.toctree-l6>ul,.wy-menu-vertical .toctree-l6.current .current.toctree-l7>ul,.wy-menu-vertical .toctree-l7.current .current.toctree-l8>ul,.wy-menu-vertical .toctree-l8.current .current.toctree-l9>ul,.wy-menu-vertical .toctree-l9.current .current.toctree-l10>ul,.wy-menu-vertical .toctree-l10.current .current.toctree-l11>ul{display:block}.wy-menu-vertical li.toctree-l3,.wy-menu-vertical li.toctree-l4{font-size:.9em}.wy-menu-vertical li.toctree-l2 a,.wy-menu-vertical li.toctree-l3 a,.wy-menu-vertical li.toctree-l4 a,.wy-menu-vertical li.toctree-l5 a,.wy-menu-vertical li.toctree-l6 a,.wy-menu-vertical li.toctree-l7 a,.wy-menu-vertical li.toctree-l8 a,.wy-menu-vertical li.toctree-l9 a,.wy-menu-vertical li.toctree-l10 a{color:#404040}.wy-menu-vertical li.toctree-l2 a:hover button.toctree-expand,.wy-menu-vertical li.toctree-l3 a:hover button.toctree-expand,.wy-menu-vertical li.toctree-l4 a:hover button.toctree-expand,.wy-menu-vertical li.toctree-l5 a:hover button.toctree-expand,.wy-menu-vertical li.toctree-l6 a:hover button.toctree-expand,.wy-menu-vertical li.toctree-l7 a:hover button.toctree-expand,.wy-menu-vertical li.toctree-l8 a:hover button.toctree-expand,.wy-menu-vertical li.toctree-l9 a:hover button.toctree-expand,.wy-menu-vertical li.toctree-l10 a:hover button.toctree-expand{color:grey}.wy-menu-vertical li.toctree-l2.current li.toctree-l3>a,.wy-menu-vertical li.toctree-l3.current li.toctree-l4>a,.wy-menu-vertical li.toctree-l4.current li.toctree-l5>a,.wy-menu-vertical li.toctree-l5.current li.toctree-l6>a,.wy-menu-vertical li.toctree-l6.current li.toctree-l7>a,.wy-menu-vertical li.toctree-l7.current li.toctree-l8>a,.wy-menu-vertical li.toctree-l8.current li.toctree-l9>a,.wy-menu-vertical li.toctree-l9.current li.toctree-l10>a,.wy-menu-vertical li.toctree-l10.current li.toctree-l11>a{display:block}.wy-menu-vertical li.toctree-l2.current>a{padding:.4045em 2.427em}.wy-menu-vertical li.toctree-l2.current li.toctree-l3>a{padding:.4045em 1.618em .4045em 4.045em}.wy-menu-vertical li.toctree-l3.current>a{padding:.4045em 4.045em}.wy-menu-vertical li.toctree-l3.current li.toctree-l4>a{padding:.4045em 1.618em .4045em 5.663em}.wy-menu-vertical li.toctree-l4.current>a{padding:.4045em 5.663em}.wy-menu-vertical li.toctree-l4.current li.toctree-l5>a{padding:.4045em 1.618em .4045em 7.281em}.wy-menu-vertical li.toctree-l5.current>a{padding:.4045em 7.281em}.wy-menu-vertical li.toctree-l5.current li.toctree-l6>a{padding:.4045em 1.618em .4045em 8.899em}.wy-menu-vertical li.toctree-l6.current>a{padding:.4045em 8.899em}.wy-menu-vertical li.toctree-l6.current li.toctree-l7>a{padding:.4045em 1.618em .4045em 10.517em}.wy-menu-vertical li.toctree-l7.current>a{padding:.4045em 10.517em}.wy-menu-vertical li.toctree-l7.current li.toctree-l8>a{padding:.4045em 1.618em .4045em 12.135em}.wy-menu-vertical li.toctree-l8.current>a{padding:.4045em 12.135em}.wy-menu-vertical li.toctree-l8.current li.toctree-l9>a{padding:.4045em 1.618em .4045em 13.753em}.wy-menu-vertical li.toctree-l9.current>a{padding:.4045em 13.753em}.wy-menu-vertical li.toctree-l9.current li.toctree-l10>a{padding:.4045em 1.618em .4045em 15.371em}.wy-menu-vertical li.toctree-l10.current>a{padding:.4045em 15.371em}.wy-menu-vertical li.toctree-l10.current li.toctree-l11>a{padding:.4045em 1.618em .4045em 16.989em}.wy-menu-vertical li.toctree-l2.current>a,.wy-menu-vertical li.toctree-l2.current li.toctree-l3>a{background:#c9c9c9}.wy-menu-vertical li.toctree-l2 button.toctree-expand{color:#a3a3a3}.wy-menu-vertical li.toctree-l3.current>a,.wy-menu-vertical li.toctree-l3.current li.toctree-l4>a{background:#bdbdbd}.wy-menu-vertical li.toctree-l3 button.toctree-expand{color:#969696}.wy-menu-vertical li.current ul{display:block}.wy-menu-vertical li ul{margin-bottom:0;display:none}.wy-menu-vertical li ul li a{margin-bottom:0;color:#d9d9d9;font-weight:400}.wy-menu-vertical a{line-height:18px;padding:.4045em 1.618em;display:block;position:relative;font-size:90%;color:#d9d9d9}.wy-menu-vertical a:hover{background-color:#4e4a4a;cursor:pointer}.wy-menu-vertical a:hover button.toctree-expand{color:#d9d9d9}.wy-menu-vertical a:active{background-color:#2980b9;cursor:pointer;color:#fff}.wy-menu-vertical a:active button.toctree-expand{color:#fff}.wy-side-nav-search{display:block;width:300px;padding:.809em;margin-bottom:.809em;z-index:200;background-color:#2980b9;text-align:center;color:#fcfcfc}.wy-side-nav-search input[type=text]{width:100%;border-radius:50px;padding:6px 12px;border-color:#2472a4}.wy-side-nav-search img{display:block;margin:auto auto .809em;height:45px;width:45px;background-color:#2980b9;padding:5px;border-radius:100%}.wy-side-nav-search .wy-dropdown>a,.wy-side-nav-search>a{color:#fcfcfc;font-size:100%;font-weight:700;display:inline-block;padding:4px 6px;margin-bottom:.809em;max-width:100%}.wy-side-nav-search .wy-dropdown>a:hover,.wy-side-nav-search>a:hover{background:hsla(0,0%,100%,.1)}.wy-side-nav-search .wy-dropdown>a img.logo,.wy-side-nav-search>a img.logo{display:block;margin:0 auto;height:auto;width:auto;border-radius:0;max-width:100%;background:transparent}.wy-side-nav-search .wy-dropdown>a.icon img.logo,.wy-side-nav-search>a.icon img.logo{margin-top:.85em}.wy-side-nav-search>div.version{margin-top:-.4045em;margin-bottom:.809em;font-weight:400;color:hsla(0,0%,100%,.3)}.wy-nav .wy-menu-vertical header{color:#2980b9}.wy-nav .wy-menu-vertical a{color:#b3b3b3}.wy-nav .wy-menu-vertical a:hover{background-color:#2980b9;color:#fff}[data-menu-wrap]{-webkit-transition:all .2s ease-in;-moz-transition:all .2s ease-in;transition:all .2s ease-in;position:absolute;opacity:1;width:100%;opacity:0}[data-menu-wrap].move-center{left:0;right:auto;opacity:1}[data-menu-wrap].move-left{right:auto;left:-100%;opacity:0}[data-menu-wrap].move-right{right:-100%;left:auto;opacity:0}.wy-body-for-nav{background:#fcfcfc}.wy-grid-for-nav{position:absolute;width:100%;height:100%}.wy-nav-side{position:fixed;top:0;bottom:0;left:0;padding-bottom:2em;width:300px;overflow-x:hidden;overflow-y:hidden;min-height:100%;color:#9b9b9b;background:#343131;z-index:200}.wy-side-scroll{width:320px;position:relative;overflow-x:hidden;overflow-y:scroll;height:100%}.wy-nav-top{display:none;background:#2980b9;color:#fff;padding:.4045em .809em;position:relative;line-height:50px;text-align:center;font-size:100%;*zoom:1}.wy-nav-top:after,.wy-nav-top:before{display:table;content:""}.wy-nav-top:after{clear:both}.wy-nav-top a{color:#fff;font-weight:700}.wy-nav-top img{margin-right:12px;height:45px;width:45px;background-color:#2980b9;padding:5px;border-radius:100%}.wy-nav-top i{font-size:30px;float:left;cursor:pointer;padding-top:inherit}.wy-nav-content-wrap{margin-left:300px;background:#fcfcfc;min-height:100%}.wy-nav-content{padding:1.618em 3.236em;height:100%;max-width:800px;margin:auto}.wy-body-mask{position:fixed;width:100%;height:100%;background:rgba(0,0,0,.2);display:none;z-index:499}.wy-body-mask.on{display:block}footer{color:grey}footer p{margin-bottom:12px}.rst-content footer span.commit tt,footer span.commit .rst-content tt,footer span.commit code{padding:0;font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,Courier,monospace;font-size:1em;background:none;border:none;color:grey}.rst-footer-buttons{*zoom:1}.rst-footer-buttons:after,.rst-footer-buttons:before{width:100%;display:table;content:""}.rst-footer-buttons:after{clear:both}.rst-breadcrumbs-buttons{margin-top:12px;*zoom:1}.rst-breadcrumbs-buttons:after,.rst-breadcrumbs-buttons:before{display:table;content:""}.rst-breadcrumbs-buttons:after{clear:both}#search-results .search li{margin-bottom:24px;border-bottom:1px solid #e1e4e5;padding-bottom:24px}#search-results .search li:first-child{border-top:1px solid #e1e4e5;padding-top:24px}#search-results .search li a{font-size:120%;margin-bottom:12px;display:inline-block}#search-results .context{color:grey;font-size:90%}.genindextable li>ul{margin-left:24px}@media screen and (max-width:768px){.wy-body-for-nav{background:#fcfcfc}.wy-nav-top{display:block}.wy-nav-side{left:-300px}.wy-nav-side.shift{width:85%;left:0}.wy-menu.wy-menu-vertical,.wy-side-nav-search,.wy-side-scroll{width:auto}.wy-nav-content-wrap{margin-left:0}.wy-nav-content-wrap .wy-nav-content{padding:1.618em}.wy-nav-content-wrap.shift{position:fixed;min-width:100%;left:85%;top:0;height:100%;overflow:hidden}}@media screen and (min-width:1100px){.wy-nav-content-wrap{background:rgba(0,0,0,.05)}.wy-nav-content{margin:0;background:#fcfcfc}}@media print{.rst-versions,.wy-nav-side,footer{display:none}.wy-nav-content-wrap{margin-left:0}}.rst-versions{position:fixed;bottom:0;left:0;width:300px;color:#fcfcfc;background:#1f1d1d;font-family:Lato,proxima-nova,Helvetica Neue,Arial,sans-serif;z-index:400}.rst-versions a{color:#2980b9;text-decoration:none}.rst-versions .rst-badge-small{display:none}.rst-versions .rst-current-version{padding:12px;background-color:#272525;display:block;text-align:right;font-size:90%;cursor:pointer;color:#27ae60;*zoom:1}.rst-versions .rst-current-version:after,.rst-versions .rst-current-version:before{display:table;content:""}.rst-versions .rst-current-version:after{clear:both}.rst-content .code-block-caption .rst-versions .rst-current-version .headerlink,.rst-content .eqno .rst-versions .rst-current-version .headerlink,.rst-content .rst-versions .rst-current-version .admonition-title,.rst-content code.download .rst-versions .rst-current-version span:first-child,.rst-content dl dt .rst-versions .rst-current-version .headerlink,.rst-content h1 .rst-versions .rst-current-version .headerlink,.rst-content h2 .rst-versions .rst-current-version .headerlink,.rst-content h3 .rst-versions .rst-current-version .headerlink,.rst-content h4 .rst-versions .rst-current-version .headerlink,.rst-content h5 .rst-versions .rst-current-version .headerlink,.rst-content h6 .rst-versions .rst-current-version .headerlink,.rst-content p .rst-versions .rst-current-version .headerlink,.rst-content table>caption .rst-versions .rst-current-version .headerlink,.rst-content tt.download .rst-versions .rst-current-version span:first-child,.rst-versions .rst-current-version .fa,.rst-versions .rst-current-version .icon,.rst-versions .rst-current-version .rst-content .admonition-title,.rst-versions .rst-current-version .rst-content .code-block-caption .headerlink,.rst-versions .rst-current-version .rst-content .eqno .headerlink,.rst-versions .rst-current-version .rst-content code.download span:first-child,.rst-versions .rst-current-version .rst-content dl dt .headerlink,.rst-versions .rst-current-version .rst-content h1 .headerlink,.rst-versions .rst-current-version .rst-content h2 .headerlink,.rst-versions .rst-current-version .rst-content h3 .headerlink,.rst-versions .rst-current-version .rst-content h4 .headerlink,.rst-versions .rst-current-version .rst-content h5 .headerlink,.rst-versions .rst-current-version .rst-content h6 .headerlink,.rst-versions .rst-current-version .rst-content p .headerlink,.rst-versions .rst-current-version .rst-content table>caption .headerlink,.rst-versions .rst-current-version .rst-content tt.download span:first-child,.rst-versions .rst-current-version .wy-menu-vertical li button.toctree-expand,.wy-menu-vertical li .rst-versions .rst-current-version button.toctree-expand{color:#fcfcfc}.rst-versions .rst-current-version .fa-book,.rst-versions .rst-current-version .icon-book{float:left}.rst-versions .rst-current-version.rst-out-of-date{background-color:#e74c3c;color:#fff}.rst-versions .rst-current-version.rst-active-old-version{background-color:#f1c40f;color:#000}.rst-versions.shift-up{height:auto;max-height:100%;overflow-y:scroll}.rst-versions.shift-up .rst-other-versions{display:block}.rst-versions .rst-other-versions{font-size:90%;padding:12px;color:grey;display:none}.rst-versions .rst-other-versions hr{display:block;height:1px;border:0;margin:20px 0;padding:0;border-top:1px solid #413d3d}.rst-versions .rst-other-versions dd{display:inline-block;margin:0}.rst-versions .rst-other-versions dd a{display:inline-block;padding:6px;color:#fcfcfc}.rst-versions.rst-badge{width:auto;bottom:20px;right:20px;left:auto;border:none;max-width:300px;max-height:90%}.rst-versions.rst-badge .fa-book,.rst-versions.rst-badge .icon-book{float:none;line-height:30px}.rst-versions.rst-badge.shift-up .rst-current-version{text-align:right}.rst-versions.rst-badge.shift-up .rst-current-version .fa-book,.rst-versions.rst-badge.shift-up .rst-current-version .icon-book{float:left}.rst-versions.rst-badge>.rst-current-version{width:auto;height:30px;line-height:30px;padding:0 6px;display:block;text-align:center}@media screen and (max-width:768px){.rst-versions{width:85%;display:none}.rst-versions.shift{display:block}}.rst-content .toctree-wrapper>p.caption,.rst-content h1,.rst-content h2,.rst-content h3,.rst-content h4,.rst-content h5,.rst-content h6{margin-bottom:24px}.rst-content img{max-width:100%;height:auto}.rst-content div.figure,.rst-content figure{margin-bottom:24px}.rst-content div.figure .caption-text,.rst-content figure .caption-text{font-style:italic}.rst-content div.figure p:last-child.caption,.rst-content figure p:last-child.caption{margin-bottom:0}.rst-content div.figure.align-center,.rst-content figure.align-center{text-align:center}.rst-content .section>a>img,.rst-content .section>img,.rst-content section>a>img,.rst-content section>img{margin-bottom:24px}.rst-content abbr[title]{text-decoration:none}.rst-content.style-external-links a.reference.external:after{font-family:FontAwesome;content:"\f08e";color:#b3b3b3;vertical-align:super;font-size:60%;margin:0 .2em}.rst-content blockquote{margin-left:24px;line-height:24px;margin-bottom:24px}.rst-content pre.literal-block{white-space:pre;margin:0;padding:12px;font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,Courier,monospace;display:block;overflow:auto}.rst-content div[class^=highlight],.rst-content pre.literal-block{border:1px solid #e1e4e5;overflow-x:auto;margin:1px 0 24px}.rst-content div[class^=highlight] div[class^=highlight],.rst-content pre.literal-block div[class^=highlight]{padding:0;border:none;margin:0}.rst-content div[class^=highlight] td.code{width:100%}.rst-content .linenodiv pre{border-right:1px solid #e6e9ea;margin:0;padding:12px;font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,Courier,monospace;user-select:none;pointer-events:none}.rst-content div[class^=highlight] pre{white-space:pre;margin:0;padding:12px;display:block;overflow:auto}.rst-content div[class^=highlight] pre .hll{display:block;margin:0 -12px;padding:0 12px}.rst-content .linenodiv pre,.rst-content div[class^=highlight] pre,.rst-content pre.literal-block{font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,Courier,monospace;font-size:12px;line-height:1.4}.rst-content div.highlight .gp,.rst-content div.highlight span.linenos{user-select:none;pointer-events:none}.rst-content div.highlight span.linenos{display:inline-block;padding-left:0;padding-right:12px;margin-right:12px;border-right:1px solid #e6e9ea}.rst-content .code-block-caption{font-style:italic;font-size:85%;line-height:1;padding:1em 0;text-align:center}@media print{.rst-content .codeblock,.rst-content div[class^=highlight],.rst-content div[class^=highlight] pre{white-space:pre-wrap}}.rst-content .admonition,.rst-content .admonition-todo,.rst-content .attention,.rst-content .caution,.rst-content .danger,.rst-content .error,.rst-content .hint,.rst-content .important,.rst-content .note,.rst-content .seealso,.rst-content .tip,.rst-content .warning{clear:both}.rst-content .admonition-todo .last,.rst-content .admonition-todo>:last-child,.rst-content .admonition .last,.rst-content .admonition>:last-child,.rst-content .attention .last,.rst-content .attention>:last-child,.rst-content .caution .last,.rst-content .caution>:last-child,.rst-content .danger .last,.rst-content .danger>:last-child,.rst-content .error .last,.rst-content .error>:last-child,.rst-content .hint .last,.rst-content .hint>:last-child,.rst-content .important .last,.rst-content .important>:last-child,.rst-content .note .last,.rst-content .note>:last-child,.rst-content .seealso .last,.rst-content .seealso>:last-child,.rst-content .tip .last,.rst-content .tip>:last-child,.rst-content .warning .last,.rst-content .warning>:last-child{margin-bottom:0}.rst-content .admonition-title:before{margin-right:4px}.rst-content .admonition table{border-color:rgba(0,0,0,.1)}.rst-content .admonition table td,.rst-content .admonition table th{background:transparent!important;border-color:rgba(0,0,0,.1)!important}.rst-content .section ol.loweralpha,.rst-content .section ol.loweralpha>li,.rst-content .toctree-wrapper ol.loweralpha,.rst-content .toctree-wrapper ol.loweralpha>li,.rst-content section ol.loweralpha,.rst-content section ol.loweralpha>li{list-style:lower-alpha}.rst-content .section ol.upperalpha,.rst-content .section ol.upperalpha>li,.rst-content .toctree-wrapper ol.upperalpha,.rst-content .toctree-wrapper ol.upperalpha>li,.rst-content section ol.upperalpha,.rst-content section ol.upperalpha>li{list-style:upper-alpha}.rst-content .section ol li>*,.rst-content .section ul li>*,.rst-content .toctree-wrapper ol li>*,.rst-content .toctree-wrapper ul li>*,.rst-content section ol li>*,.rst-content section ul li>*{margin-top:12px;margin-bottom:12px}.rst-content .section ol li>:first-child,.rst-content .section ul li>:first-child,.rst-content .toctree-wrapper ol li>:first-child,.rst-content .toctree-wrapper ul li>:first-child,.rst-content section ol li>:first-child,.rst-content section ul li>:first-child{margin-top:0}.rst-content .section ol li>p,.rst-content .section ol li>p:last-child,.rst-content .section ul li>p,.rst-content .section ul li>p:last-child,.rst-content .toctree-wrapper ol li>p,.rst-content .toctree-wrapper ol li>p:last-child,.rst-content .toctree-wrapper ul li>p,.rst-content .toctree-wrapper ul li>p:last-child,.rst-content section ol li>p,.rst-content section ol li>p:last-child,.rst-content section ul li>p,.rst-content section ul li>p:last-child{margin-bottom:12px}.rst-content .section ol li>p:only-child,.rst-content .section ol li>p:only-child:last-child,.rst-content .section ul li>p:only-child,.rst-content .section ul li>p:only-child:last-child,.rst-content .toctree-wrapper ol li>p:only-child,.rst-content .toctree-wrapper ol li>p:only-child:last-child,.rst-content .toctree-wrapper ul li>p:only-child,.rst-content .toctree-wrapper ul li>p:only-child:last-child,.rst-content section ol li>p:only-child,.rst-content section ol li>p:only-child:last-child,.rst-content section ul li>p:only-child,.rst-content section ul li>p:only-child:last-child{margin-bottom:0}.rst-content .section ol li>ol,.rst-content .section ol li>ul,.rst-content .section ul li>ol,.rst-content .section ul li>ul,.rst-content .toctree-wrapper ol li>ol,.rst-content .toctree-wrapper ol li>ul,.rst-content .toctree-wrapper ul li>ol,.rst-content .toctree-wrapper ul li>ul,.rst-content section ol li>ol,.rst-content section ol li>ul,.rst-content section ul li>ol,.rst-content section ul li>ul{margin-bottom:12px}.rst-content .section ol.simple li>*,.rst-content .section ol.simple li ol,.rst-content .section ol.simple li ul,.rst-content .section ul.simple li>*,.rst-content .section ul.simple li ol,.rst-content .section ul.simple li ul,.rst-content .toctree-wrapper ol.simple li>*,.rst-content .toctree-wrapper ol.simple li ol,.rst-content .toctree-wrapper ol.simple li ul,.rst-content .toctree-wrapper ul.simple li>*,.rst-content .toctree-wrapper ul.simple li ol,.rst-content .toctree-wrapper ul.simple li ul,.rst-content section ol.simple li>*,.rst-content section ol.simple li ol,.rst-content section ol.simple li ul,.rst-content section ul.simple li>*,.rst-content section ul.simple li ol,.rst-content section ul.simple li ul{margin-top:0;margin-bottom:0}.rst-content .line-block{margin-left:0;margin-bottom:24px;line-height:24px}.rst-content .line-block .line-block{margin-left:24px;margin-bottom:0}.rst-content .topic-title{font-weight:700;margin-bottom:12px}.rst-content .toc-backref{color:#404040}.rst-content .align-right{float:right;margin:0 0 24px 24px}.rst-content .align-left{float:left;margin:0 24px 24px 0}.rst-content .align-center{margin:auto}.rst-content .align-center:not(table){display:block}.rst-content .code-block-caption .headerlink,.rst-content .eqno .headerlink,.rst-content .toctree-wrapper>p.caption .headerlink,.rst-content dl dt .headerlink,.rst-content h1 .headerlink,.rst-content h2 .headerlink,.rst-content h3 .headerlink,.rst-content h4 .headerlink,.rst-content h5 .headerlink,.rst-content h6 .headerlink,.rst-content p.caption .headerlink,.rst-content p .headerlink,.rst-content table>caption .headerlink{opacity:0;font-size:14px;font-family:FontAwesome;margin-left:.5em}.rst-content .code-block-caption .headerlink:focus,.rst-content .code-block-caption:hover .headerlink,.rst-content .eqno .headerlink:focus,.rst-content .eqno:hover .headerlink,.rst-content .toctree-wrapper>p.caption .headerlink:focus,.rst-content .toctree-wrapper>p.caption:hover .headerlink,.rst-content dl dt .headerlink:focus,.rst-content dl dt:hover .headerlink,.rst-content h1 .headerlink:focus,.rst-content h1:hover .headerlink,.rst-content h2 .headerlink:focus,.rst-content h2:hover .headerlink,.rst-content h3 .headerlink:focus,.rst-content h3:hover .headerlink,.rst-content h4 .headerlink:focus,.rst-content h4:hover .headerlink,.rst-content h5 .headerlink:focus,.rst-content h5:hover .headerlink,.rst-content h6 .headerlink:focus,.rst-content h6:hover .headerlink,.rst-content p.caption .headerlink:focus,.rst-content p.caption:hover .headerlink,.rst-content p .headerlink:focus,.rst-content p:hover .headerlink,.rst-content table>caption .headerlink:focus,.rst-content table>caption:hover .headerlink{opacity:1}.rst-content .btn:focus{outline:2px solid}.rst-content table>caption .headerlink:after{font-size:12px}.rst-content .centered{text-align:center}.rst-content .sidebar{float:right;width:40%;display:block;margin:0 0 24px 24px;padding:24px;background:#f3f6f6;border:1px solid #e1e4e5}.rst-content .sidebar dl,.rst-content .sidebar p,.rst-content .sidebar ul{font-size:90%}.rst-content .sidebar .last,.rst-content .sidebar>:last-child{margin-bottom:0}.rst-content .sidebar .sidebar-title{display:block;font-family:Roboto Slab,ff-tisa-web-pro,Georgia,Arial,sans-serif;font-weight:700;background:#e1e4e5;padding:6px 12px;margin:-24px -24px 24px;font-size:100%}.rst-content .highlighted{background:#f1c40f;box-shadow:0 0 0 2px #f1c40f;display:inline;font-weight:700}.rst-content .citation-reference,.rst-content .footnote-reference{vertical-align:baseline;position:relative;top:-.4em;line-height:0;font-size:90%}.rst-content .hlist{width:100%}.rst-content dl dt span.classifier:before{content:" : "}.rst-content dl dt span.classifier-delimiter{display:none!important}html.writer-html4 .rst-content table.docutils.citation,html.writer-html4 .rst-content table.docutils.footnote{background:none;border:none}html.writer-html4 .rst-content table.docutils.citation td,html.writer-html4 .rst-content table.docutils.citation tr,html.writer-html4 .rst-content table.docutils.footnote td,html.writer-html4 .rst-content table.docutils.footnote tr{border:none;background-color:transparent!important;white-space:normal}html.writer-html4 .rst-content table.docutils.citation td.label,html.writer-html4 .rst-content table.docutils.footnote td.label{padding-left:0;padding-right:0;vertical-align:top}html.writer-html5 .rst-content dl.field-list,html.writer-html5 .rst-content dl.footnote{display:grid;grid-template-columns:max-content auto}html.writer-html5 .rst-content dl.field-list>dt,html.writer-html5 .rst-content dl.footnote>dt{padding-left:1rem}html.writer-html5 .rst-content dl.field-list>dt:after,html.writer-html5 .rst-content dl.footnote>dt:after{content:":"}html.writer-html5 .rst-content dl.field-list>dd,html.writer-html5 .rst-content dl.field-list>dt,html.writer-html5 .rst-content dl.footnote>dd,html.writer-html5 .rst-content dl.footnote>dt{margin-bottom:0}html.writer-html5 .rst-content dl.footnote{font-size:.9rem}html.writer-html5 .rst-content dl.footnote>dt{margin:0 .5rem .5rem 0;line-height:1.2rem;word-break:break-all;font-weight:400}html.writer-html5 .rst-content dl.footnote>dt>span.brackets{margin-right:.5rem}html.writer-html5 .rst-content dl.footnote>dt>span.brackets:before{content:"["}html.writer-html5 .rst-content dl.footnote>dt>span.brackets:after{content:"]"}html.writer-html5 .rst-content dl.footnote>dt>span.fn-backref{font-style:italic}html.writer-html5 .rst-content dl.footnote>dd{margin:0 0 .5rem;line-height:1.2rem}html.writer-html5 .rst-content dl.footnote>dd p,html.writer-html5 .rst-content dl.option-list kbd{font-size:.9rem}.rst-content table.docutils.footnote,html.writer-html4 .rst-content table.docutils.citation,html.writer-html5 .rst-content dl.footnote{color:grey}.rst-content table.docutils.footnote code,.rst-content table.docutils.footnote tt,html.writer-html4 .rst-content table.docutils.citation code,html.writer-html4 .rst-content table.docutils.citation tt,html.writer-html5 .rst-content dl.footnote code,html.writer-html5 .rst-content dl.footnote tt{color:#555}.rst-content .wy-table-responsive.citation,.rst-content .wy-table-responsive.footnote{margin-bottom:0}.rst-content .wy-table-responsive.citation+:not(.citation),.rst-content .wy-table-responsive.footnote+:not(.footnote){margin-top:24px}.rst-content .wy-table-responsive.citation:last-child,.rst-content .wy-table-responsive.footnote:last-child{margin-bottom:24px}.rst-content table.docutils th{border-color:#e1e4e5}html.writer-html5 .rst-content table.docutils th{border:1px solid #e1e4e5}html.writer-html5 .rst-content table.docutils td>p,html.writer-html5 .rst-content table.docutils th>p{line-height:1rem;margin-bottom:0;font-size:.9rem}.rst-content table.docutils td .last,.rst-content table.docutils td .last>:last-child{margin-bottom:0}.rst-content table.field-list,.rst-content table.field-list td{border:none}.rst-content table.field-list td p{font-size:inherit;line-height:inherit}.rst-content table.field-list td>strong{display:inline-block}.rst-content table.field-list .field-name{padding-right:10px;text-align:left;white-space:nowrap}.rst-content table.field-list .field-body{text-align:left}.rst-content code,.rst-content tt{color:#000;font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,Courier,monospace;padding:2px 5px}.rst-content code big,.rst-content code em,.rst-content tt big,.rst-content tt em{font-size:100%!important;line-height:normal}.rst-content code.literal,.rst-content tt.literal{color:#e74c3c;white-space:normal}.rst-content code.xref,.rst-content tt.xref,a .rst-content code,a .rst-content tt{font-weight:700;color:#404040}.rst-content kbd,.rst-content pre,.rst-content samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,Courier,monospace}.rst-content a code,.rst-content a tt{color:#2980b9}.rst-content dl{margin-bottom:24px}.rst-content dl dt{font-weight:700;margin-bottom:12px}.rst-content dl ol,.rst-content dl p,.rst-content dl table,.rst-content dl ul{margin-bottom:12px}.rst-content dl dd{margin:0 0 12px 24px;line-height:24px}html.writer-html4 .rst-content dl:not(.docutils),html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple){margin-bottom:24px}html.writer-html4 .rst-content dl:not(.docutils)>dt,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple)>dt{display:table;margin:6px 0;font-size:90%;line-height:normal;background:#e7f2fa;color:#2980b9;border-top:3px solid #6ab0de;padding:6px;position:relative}html.writer-html4 .rst-content dl:not(.docutils)>dt:before,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple)>dt:before{color:#6ab0de}html.writer-html4 .rst-content dl:not(.docutils)>dt .headerlink,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple)>dt .headerlink{color:#404040;font-size:100%!important}html.writer-html4 .rst-content dl:not(.docutils) dl:not(.field-list)>dt,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) dl:not(.field-list)>dt{margin-bottom:6px;border:none;border-left:3px solid #ccc;background:#f0f0f0;color:#555}html.writer-html4 .rst-content dl:not(.docutils) dl:not(.field-list)>dt .headerlink,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) dl:not(.field-list)>dt .headerlink{color:#404040;font-size:100%!important}html.writer-html4 .rst-content dl:not(.docutils)>dt:first-child,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple)>dt:first-child{margin-top:0}html.writer-html4 .rst-content dl:not(.docutils) code.descclassname,html.writer-html4 .rst-content dl:not(.docutils) code.descname,html.writer-html4 .rst-content dl:not(.docutils) tt.descclassname,html.writer-html4 .rst-content dl:not(.docutils) tt.descname,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) code.descclassname,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) code.descname,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) tt.descclassname,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) tt.descname{background-color:transparent;border:none;padding:0;font-size:100%!important}html.writer-html4 .rst-content dl:not(.docutils) code.descname,html.writer-html4 .rst-content dl:not(.docutils) tt.descname,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) code.descname,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) tt.descname{font-weight:700}html.writer-html4 .rst-content dl:not(.docutils) .optional,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) .optional{display:inline-block;padding:0 4px;color:#000;font-weight:700}html.writer-html4 .rst-content dl:not(.docutils) .property,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) .property{display:inline-block;padding-right:8px;max-width:100%}html.writer-html4 .rst-content dl:not(.docutils) .k,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) .k{font-style:italic}html.writer-html4 .rst-content dl:not(.docutils) .descclassname,html.writer-html4 .rst-content dl:not(.docutils) .descname,html.writer-html4 .rst-content dl:not(.docutils) .sig-name,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) .descclassname,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) .descname,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) .sig-name{font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,Courier,monospace;color:#000}.rst-content .viewcode-back,.rst-content .viewcode-link{display:inline-block;color:#27ae60;font-size:80%;padding-left:24px}.rst-content .viewcode-back{display:block;float:right}.rst-content p.rubric{margin-bottom:12px;font-weight:700}.rst-content code.download,.rst-content tt.download{background:inherit;padding:inherit;font-weight:400;font-family:inherit;font-size:inherit;color:inherit;border:inherit;white-space:inherit}.rst-content code.download span:first-child,.rst-content tt.download span:first-child{-webkit-font-smoothing:subpixel-antialiased}.rst-content code.download span:first-child:before,.rst-content tt.download span:first-child:before{margin-right:4px}.rst-content .guilabel{border:1px solid #7fbbe3;background:#e7f2fa;font-size:80%;font-weight:700;border-radius:4px;padding:2.4px 6px;margin:auto 2px}.rst-content .versionmodified{font-style:italic}@media screen and (max-width:480px){.rst-content .sidebar{width:100%}}span[id*=MathJax-Span]{color:#404040}.math{text-align:center}@font-face{font-family:Lato;src:url(fonts/lato-normal.woff2?bd03a2cc277bbbc338d464e679fe9942) format("woff2"),url(fonts/lato-normal.woff?27bd77b9162d388cb8d4c4217c7c5e2a) format("woff");font-weight:400;font-style:normal;font-display:block}@font-face{font-family:Lato;src:url(fonts/lato-bold.woff2?cccb897485813c7c256901dbca54ecf2) format("woff2"),url(fonts/lato-bold.woff?d878b6c29b10beca227e9eef4246111b) format("woff");font-weight:700;font-style:normal;font-display:block}@font-face{font-family:Lato;src:url(fonts/lato-bold-italic.woff2?0b6bb6725576b072c5d0b02ecdd1900d) format("woff2"),url(fonts/lato-bold-italic.woff?9c7e4e9eb485b4a121c760e61bc3707c) format("woff");font-weight:700;font-style:italic;font-display:block}@font-face{font-family:Lato;src:url(fonts/lato-normal-italic.woff2?4eb103b4d12be57cb1d040ed5e162e9d) format("woff2"),url(fonts/lato-normal-italic.woff?f28f2d6482446544ef1ea1ccc6dd5892) format("woff");font-weight:400;font-style:italic;font-display:block}@font-face{font-family:Roboto Slab;font-style:normal;font-weight:400;src:url(fonts/Roboto-Slab-Regular.woff2?7abf5b8d04d26a2cafea937019bca958) format("woff2"),url(fonts/Roboto-Slab-Regular.woff?c1be9284088d487c5e3ff0a10a92e58c) format("woff");font-display:block}@font-face{font-family:Roboto Slab;font-style:normal;font-weight:700;src:url(fonts/Roboto-Slab-Bold.woff2?9984f4a9bda09be08e83f2506954adbe) format("woff2"),url(fonts/Roboto-Slab-Bold.woff?bed5564a116b05148e3b3bea6fb1162a) format("woff");font-display:block} diff --git a/css/theme_extra.css b/css/theme_extra.css new file mode 100644 index 00000000..9f4b063c --- /dev/null +++ b/css/theme_extra.css @@ -0,0 +1,191 @@ +/* + * Wrap inline code samples otherwise they shoot of the side and + * can't be read at all. + * + * https://github.com/mkdocs/mkdocs/issues/313 + * https://github.com/mkdocs/mkdocs/issues/233 + * https://github.com/mkdocs/mkdocs/issues/834 + */ +.rst-content code { + white-space: pre-wrap; + word-wrap: break-word; + padding: 2px 5px; +} + +/** + * Make code blocks display as blocks and give them the appropriate + * font size and padding. + * + * https://github.com/mkdocs/mkdocs/issues/855 + * https://github.com/mkdocs/mkdocs/issues/834 + * https://github.com/mkdocs/mkdocs/issues/233 + */ +.rst-content pre code { + white-space: pre; + word-wrap: normal; + display: block; + padding: 12px; + font-size: 12px; +} + +/** + * Fix code colors + * + * https://github.com/mkdocs/mkdocs/issues/2027 + */ +.rst-content code { + color: #E74C3C; +} + +.rst-content pre code { + color: #000; + background: #f8f8f8; +} + +/* + * Fix link colors when the link text is inline code. + * + * https://github.com/mkdocs/mkdocs/issues/718 + */ +a code { + color: #2980B9; +} +a:hover code { + color: #3091d1; +} +a:visited code { + color: #9B59B6; +} + +/* + * The CSS classes from highlight.js seem to clash with the + * ReadTheDocs theme causing some code to be incorrectly made + * bold and italic. + * + * https://github.com/mkdocs/mkdocs/issues/411 + */ +pre .cs, pre .c { + font-weight: inherit; + font-style: inherit; +} + +/* + * Fix some issues with the theme and non-highlighted code + * samples. Without and highlighting styles attached the + * formatting is broken. + * + * https://github.com/mkdocs/mkdocs/issues/319 + */ +.rst-content .no-highlight { + display: block; + padding: 0.5em; + color: #333; +} + + +/* + * Additions specific to the search functionality provided by MkDocs + */ + +.search-results { + margin-top: 23px; +} + +.search-results article { + border-top: 1px solid #E1E4E5; + padding-top: 24px; +} + +.search-results article:first-child { + border-top: none; +} + +form .search-query { + width: 100%; + border-radius: 50px; + padding: 6px 12px; /* csslint allow: box-model */ + border-color: #D1D4D5; +} + +/* + * Improve inline code blocks within admonitions. + * + * https://github.com/mkdocs/mkdocs/issues/656 + */ + .rst-content .admonition code { + color: #404040; + border: 1px solid #c7c9cb; + border: 1px solid rgba(0, 0, 0, 0.2); + background: #f8fbfd; + background: rgba(255, 255, 255, 0.7); +} + +/* + * Account for wide tables which go off the side. + * Override borders to avoid weirdness on narrow tables. + * + * https://github.com/mkdocs/mkdocs/issues/834 + * https://github.com/mkdocs/mkdocs/pull/1034 + */ +.rst-content .section .docutils { + width: 100%; + overflow: auto; + display: block; + border: none; +} + +td, th { + border: 1px solid #e1e4e5 !important; /* csslint allow: important */ + border-collapse: collapse; +} + +/* + * Without the following amendments, the navigation in the theme will be + * slightly cut off. This is due to the fact that the .wy-nav-side has a + * padding-bottom of 2em, which must not necessarily align with the font-size of + * 90 % on the .rst-current-version container, combined with the padding of 12px + * above and below. These amendments fix this in two steps: First, make sure the + * .rst-current-version container has a fixed height of 40px, achieved using + * line-height, and then applying a padding-bottom of 40px to this container. In + * a second step, the items within that container are re-aligned using flexbox. + * + * https://github.com/mkdocs/mkdocs/issues/2012 + */ + .wy-nav-side { + padding-bottom: 40px; +} + +/* + * The second step of above amendment: Here we make sure the items are aligned + * correctly within the .rst-current-version container. Using flexbox, we + * achieve it in such a way that it will look like the following: + * + * [No repo_name] + * Next >> // On the first page + * << Previous Next >> // On all subsequent pages + * + * [With repo_name] + * Next >> // On the first page + * << Previous Next >> // On all subsequent pages + * + * https://github.com/mkdocs/mkdocs/issues/2012 + */ +.rst-versions .rst-current-version { + padding: 0 12px; + display: flex; + font-size: initial; + justify-content: space-between; + align-items: center; + line-height: 40px; +} + +/* + * Please note that this amendment also involves removing certain inline-styles + * from the file ./mkdocs/themes/readthedocs/versions.html. + * + * https://github.com/mkdocs/mkdocs/issues/2012 + */ +.rst-current-version span { + flex: 1; + text-align: center; +} diff --git a/detailed-command-usage/Clear-Cache/index.html b/detailed-command-usage/Clear-Cache/index.html new file mode 100644 index 00000000..0b994ff0 --- /dev/null +++ b/detailed-command-usage/Clear-Cache/index.html @@ -0,0 +1,204 @@ + + + + + + + + clear-cache - battlenet-lancache-prefill wiki + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+ +
+
+ +
+
+ +

clear-cache

+
+


+

Overview

+

Deletes temporary cached manifests stored in the /Cache directory.
+These files are cached in order to dramatically speed up future prefill runs (in some cases 3X faster).
+For most users it isn't necessary to use this command, however it may be useful to free up some disk space if you are running low on storage.

+

These cached manifests will also build up over time, as newer versions of games are released, leaving unused manifests behind that will never be used again.

+

Options

+ + + + + + + + + + + + + + + +
Option
--yes-ySkips the prompt asking to clear the cache, and immediately begins clearing the cache.
+ +
+
+ + +
+
+ +
+ +
+ +
+ + + + GitHub + + + + « Previous + + + Next » + + +
+ + + + + + + + + diff --git a/detailed-command-usage/Prefill/index.html b/detailed-command-usage/Prefill/index.html new file mode 100644 index 00000000..ecb8fcf0 --- /dev/null +++ b/detailed-command-usage/Prefill/index.html @@ -0,0 +1,263 @@ + + + + + + + + prefill - battlenet-lancache-prefill wiki + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+ +
+
+ +
+
+ +

prefill

+ + +
+


+

Overview

+

Automatically fills a Lancache with games from BattleNet so that subsequent downloads will be served from the Lancache, improving speeds and reducing load on your internet connection.

+

Keeps track of which games have been previously downloaded, and will only download games that have updates.

+
+

Example usage

+
+

Note

+

This command will automatically include any apps that have been selected using select-apps, regardless of any additional optional flags specified.

+
+

Initiating a prefill run is as simple as running the following from the terminal:

+
./BattleNetPrefill prefill
+
+

At the beginning of a prefill run, BattleNetPrefill will check to see which apps have new updates since the last prefill run, as well as checking to see if any apps have never been successfully prefilled. If prefill detects that there are any apps that need to be downloaded, it will begin doing so. If there are no apps that need to be downloaded, then the prefill run will simply finish immediately.

+

Prefilling your entire BattleNet library

+

Depending on the size of your library, and which apps you want to prefill, it may be easier to simply prefill the entire library instead. This will also automatically include any new games you may have purchased, without having to use select-apps to select the newly purchased game.

+
./BattleNetPrefill prefill --all
+
+

Ensuring your cache is fully primed

+

Suppose that you have an event coming up, and you want to be 100% certain that your Lancache is prefilled. Normally running prefill will ensure that you have the latest update data primed, however you may want to have complete certainty that it is. Adding the --force flag will make BattleNetPrefill re-download every app, ignoring the fact that they may have already been up to date from a previous run. Because BattleNetPrefill will be re-downloading every app again from start to finish, any data that may be missing will be filled in again.

+
./BattleNetPrefill prefill --force
+
+
+

Options

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
OptionValuesDefault
--allDownloads all owned apps, useful for prefilling a completely empty cache.
--force-fBy default, BattleNetPrefill will keep track of the most recently prefilled apps, and will only attempt to prefill if there it determines there a newer version available for download. This default behavior will work best for most use cases, as no time will be wasted re-downloading files that have been previously prefilled.

Running with the flag --force will override this behavior, and instead will always run the prefill, re-downloading all files for the selected apps. This flag may be useful for diagnostics, or benchmarking network performance.
--verboseProduces more detailed log output. By default, games that are already up to date will not be displayed at all. Specifying this option will make it so that all games, even ones up to date, will be logged.
--unitbits, bytesbitsSpecifies which unit to use to display download speed.
--no-ansiApplication output will be in plain text, rather than using the visually appealing colors and progress bars. Should only be used if terminal does not support Ansi Escape sequences, or when redirecting output to a file.
+ +
+
+ + +
+
+ +
+ +
+ +
+ + + + GitHub + + + + « Previous + + + Next » + + +
+ + + + + + + + + diff --git a/detailed-command-usage/Select-Apps/index.html b/detailed-command-usage/Select-Apps/index.html new file mode 100644 index 00000000..3c564ceb --- /dev/null +++ b/detailed-command-usage/Select-Apps/index.html @@ -0,0 +1,180 @@ + + + + + + + + select-apps - battlenet-lancache-prefill wiki + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+ +
+
+ +
+
+ +

select-apps

+ + +
+


+ +
+
+ + +
+
+ +
+ +
+ +
+ + + + GitHub + + + + « Previous + + + Next » + + +
+ + + + + + + + + diff --git a/detailed-command-usage/casts/clear-cache.cast b/detailed-command-usage/casts/clear-cache.cast new file mode 100644 index 00000000..1e4b8d1e --- /dev/null +++ b/detailed-command-usage/casts/clear-cache.cast @@ -0,0 +1,10 @@ +{"version": 2, "width": 120, "height": 30, "timestamp": 1680890897, "env": {"SHELL": "/bin/bash", "TERM": "xterm-256color"}} +[0.070479, "o", "\u001b[?1h\u001b="] +[0.070977, "o", "\u001b[39;49m"] +[0.097002, "o", "\u001b[?25l"] +[0.124736, "o", " \r\n\u001b[38;5;2m⣾\u001b[0m Scanning \u001b[38;5;80mCache\u001b[0m directory...\r\n "] +[0.124955, "o", "\r\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K"] +[0.125015, "o", "\u001b[?25h"] +[0.125779, "o", "[6:08:17 PM] Found \u001b[38;5;229m142\u001b[0m cached files, totaling \u001b[38;5;170m26.49 MiB\u001b[0m\r\n"] +[0.137423, "o", "\u001b[?25lContinue to empty cache?\r\n \r\n\u001b[38;5;12m> Yes\u001b[0m \r\n No "] +[0.13761, "o", "\r\u001b[3AContinue to empty cache?\r\n \r\n\u001b[38;5;12m> Yes\u001b[0m \r\n No "] diff --git a/detailed-command-usage/casts/prefill.cast b/detailed-command-usage/casts/prefill.cast new file mode 100644 index 00000000..2000d9f8 --- /dev/null +++ b/detailed-command-usage/casts/prefill.cast @@ -0,0 +1,222 @@ +{"version": 2, "width": 120, "height": 30, "timestamp": 1680891644, "env": {"SHELL": "/bin/bash", "TERM": "xterm-256color"}} +[0.076498, "o", "\u001b[?1h\u001b="] +[0.077032, "o", "\u001b[39;49m"] +[0.214041, "o", "[6:20:44 PM] Starting login!\r\n"] +[0.320093, "o", "\u001b[?25l"] +[0.43462, "o", " \r\n\u001b[38;5;2m⣾\u001b[0m Connecting to Steam...\r\n "] +[0.535604, "o", "\r\u001b[2A \r\n\u001b[38;5;2m⣽\u001b[0m Connecting to Steam...\r\n "] +[0.635894, "o", "\r\u001b[2A \r\n\u001b[38;5;2m⣻\u001b[0m Connecting to Steam...\r\n "] +[0.736245, "o", "\r\u001b[2A \r\n\u001b[38;5;2m⢿\u001b[0m Connecting to Steam...\r\n "] +[0.787611, "o", "\r\u001b[2A[6:20:44 PM] Connected to Steam!\r\n \r\n\u001b[38;5;2m⢿\u001b[0m Connecting to Steam...\r\n "] +[0.836583, "o", "\r\u001b[2A \r\n\u001b[38;5;2m⡿\u001b[0m Logging in to Steam...\r\n "] +[0.936932, "o", "\r\u001b[2A \r\n\u001b[38;5;2m⣟\u001b[0m Logging in to Steam...\r\n "] +[1.037365, "o", "\r\u001b[2A \r\n\u001b[38;5;2m⣯\u001b[0m Logging in to Steam...\r\n "] +[1.137815, "o", "\r\u001b[2A \r\n\u001b[38;5;2m⣷\u001b[0m Logging in to Steam...\r\n "] +[1.143811, "o", "\r\u001b[2A \r\n\u001b[38;5;2m⣷\u001b[0m Logging in to Steam...\r\n "] +[1.144332, "o", "\r\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K"] +[1.144397, "o", "\u001b[?25h"] +[1.144717, "o", "[6:20:45 PM] Logged into Steam\r\n"] +[1.144994, "o", "\u001b[?25l"] +[1.177482, "o", " \r\n\u001b[38;5;2m⣾\u001b[0m Retrieving owned apps...\r\n "] +[1.177606, "o", "\r\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[?25h[6:20:45 PM] Steam session initialization complete!\r\n"] +[1.180662, "o", "\u001b[?25l"] +[1.281165, "o", " \r\n\u001b[38;5;2m⣾\u001b[0m Retrieving latest App metadata...\r\n "] +[1.381466, "o", "\r\u001b[2A \r\n\u001b[38;5;2m⣽\u001b[0m Retrieving latest App metadata...\r\n "] +[1.481842, "o", "\r\u001b[2A \r\n\u001b[38;5;2m⣻\u001b[0m Retrieving latest App metadata...\r\n "] +[1.58216, "o", "\r\u001b[2A \r\n\u001b[38;5;2m⢿\u001b[0m Retrieving latest App metadata...\r\n "] +[1.682468, "o", "\r\u001b[2A \r\n\u001b[38;5;2m⡿\u001b[0m Retrieving latest App metadata...\r\n "] +[1.782822, "o", "\r\u001b[2A \r\n\u001b[38;5;2m⣟\u001b[0m Retrieving latest App metadata...\r\n "] +[1.883163, "o", "\r\u001b[2A \r\n\u001b[38;5;2m⣯\u001b[0m Retrieving latest App metadata...\r\n "] +[1.983585, "o", "\r\u001b[2A \r\n\u001b[38;5;2m⣷\u001b[0m Retrieving latest App metadata...\r\n "] +[2.083924, "o", "\r\u001b[2A \r\n\u001b[38;5;2m⣾\u001b[0m Retrieving latest App metadata...\r\n "] +[2.184184, "o", "\r\u001b[2A \r\n\u001b[38;5;2m⣽\u001b[0m Retrieving latest App metadata...\r\n "] +[2.284589, "o", "\r\u001b[2A \r\n\u001b[38;5;2m⣻\u001b[0m Retrieving latest App metadata...\r\n "] +[2.384892, "o", "\r\u001b[2A \r\n\u001b[38;5;2m⢿\u001b[0m Retrieving latest App metadata...\r\n "] +[2.420083, "o", "\r\u001b[2A \r\n\u001b[38;5;2m⢿\u001b[0m Retrieving latest App metadata...\r\n \r\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[?25h"] +[2.423594, "o", "\r\n"] +[2.43129, "o", "[6:20:46 PM] Starting \u001b[38;5;80mCall of Duty®: Modern Warfare® II | Warzone™ 2.0\u001b[0m\r\n"] +[2.431601, "o", "\u001b[?25l"] +[2.532107, "o", " \r\n\u001b[38;5;2m⣾\u001b[0m \u001b[38;5;15m Getting available CDN Servers... \u001b[0m\r\n "] +[2.632409, "o", "\r\u001b[2A \r\n\u001b[38;5;2m⣽\u001b[0m \u001b[38;5;15m Getting available CDN Servers... \u001b[0m\r\n "] +[2.680464, "o", "\r\u001b[2A \r\n\u001b[38;5;2m⣽\u001b[0m \u001b[38;5;15m Getting available CDN Servers... \u001b[0m\r\n \r\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[?25h"] +[2.682091, "o", "\u001b[?25l"] +[2.737734, "o", " \r\n\u001b[38;5;2m⣾\u001b[0m Fetching depot manifests...\r\n \r\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[?25h"] +[2.739511, "o", "[6:20:46 PM] Downloading \u001b[38;5;170m35.56 GiB\u001b[0m\r\n"] +[2.740191, "o", "\u001b[?25l"] +[2.796716, "o", " \r\n\u001b[38;5;2m⣾\u001b[0m Detecting Lancache server...\r\n \r\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[?25h"] +[2.7976, "o", "[6:20:46 PM] Detected Lancache server at \u001b[38;5;80mlancache\u001b[0m [\u001b[38;5;141m192.168.1.223\u001b[0m]\r\n"] +[2.799457, "o", "\u001b[?25l"] +[2.902111, "o", " \r\nDownloading.. \u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 0% \u001b[38;5;12m00:00:12\u001b[0m 0.2\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 24.1 Gbit/s\r\n "] +[3.002496, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 1% \u001b[38;5;12m00:00:12\u001b[0m 0.5\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 24.0 Gbit/s\r\n "] +[3.106735, "o", "\r\u001b[2A "] +[3.107413, "o", "\r\n"] +[3.107816, "o", "Downloading.. \u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 2% \u001b[38;5;12m00:00:11\u001b[0m 0.8\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.0 Gbit/s"] +[3.1081, "o", "\r\n"] +[3.108499, "o", " "] +[3.108963, "o", " "] +[3.209401, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 3% \u001b[38;5;12m00:00:11\u001b[0m 1.1\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 24.7 Gbit/s\r\n "] +[3.309661, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 4% \u001b[38;5;12m00:00:11\u001b[0m 1.4\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.1 Gbit/s\r\n "] +[3.410249, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 4% \u001b[38;5;12m00:00:11\u001b[0m 1.7\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.5 Gbit/s\r\n "] +[3.510562, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 5% \u001b[38;5;12m00:00:11\u001b[0m 2.0\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.4 Gbit/s\r\n "] +[3.611077, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 6% \u001b[38;5;12m00:00:11\u001b[0m 2.3\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.4 Gbit/s\r\n "] +[3.711987, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 7% \u001b[38;5;12m00:00:11\u001b[0m 2.6\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.7 Gbit/s\r\n "] +[3.812515, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 8% \u001b[38;5;12m00:00:11\u001b[0m 2.9\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.6 Gbit/s\r\n "] +[3.912863, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 9% \u001b[38;5;12m00:00:10\u001b[0m 3.2\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.9 Gbit/s\r\n "] +[4.013376, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 9% \u001b[38;5;12m00:00:10\u001b[0m 3.5\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.7 Gbit/s\r\n "] +[4.113715, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 10% \u001b[38;5;12m00:00:10\u001b[0m 3.8\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.7 Gbit/s\r\n "] +[4.214206, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 11% \u001b[38;5;12m00:00:10\u001b[0m 4.1\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.6 Gbit/s\r\n "] +[4.314555, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 12% \u001b[38;5;12m00:00:10\u001b[0m 4.4\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.8 Gbit/s\r\n "] +[4.414946, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 13% \u001b[38;5;12m00:00:10\u001b[0m 4.7\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.6 Gbit/s\r\n "] +[4.515382, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 14% \u001b[38;5;12m00:00:10\u001b[0m 5.0\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.7 Gbit/s\r\n "] +[4.616017, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 14% \u001b[38;5;12m00:00:10\u001b[0m 5.3\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.8 Gbit/s\r\n "] +[4.717039, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 15% \u001b[38;5;12m00:00:09\u001b[0m 5.6\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.9 Gbit/s\r\n "] +[4.817328, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 16% \u001b[38;5;12m00:00:10\u001b[0m 5.9\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 24.7 Gbit/s\r\n "] +[4.917763, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 17% \u001b[38;5;12m00:00:10\u001b[0m 6.2\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 24.9 Gbit/s\r\n "] +[5.018088, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 18% \u001b[38;5;12m00:00:09\u001b[0m 6.5\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.7 Gbit/s\r\n "] +[5.118547, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 19% \u001b[38;5;12m00:00:09\u001b[0m 6.8\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.0 Gbit/s\r\n "] +[5.218827, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 19% \u001b[38;5;12m00:00:09\u001b[0m 7.1\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.0 Gbit/s\r\n "] +[5.319327, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 20% \u001b[38;5;12m00:00:09\u001b[0m 7.4\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.8 Gbit/s\r\n "] +[5.4198, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 21% \u001b[38;5;12m00:00:09\u001b[0m 7.7\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.0 Gbit/s\r\n "] +[5.520154, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 22% \u001b[38;5;12m00:00:09\u001b[0m 8.0\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.3 Gbit/s\r\n "] +[5.620525, "o", "\r\u001b[2A "] +[5.62083, "o", "\r\n"] +[5.620893, "o", "Downloading.. \u001b[38;5;11m━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 23% \u001b[38;5;12m00:00:08\u001b[0m 8.3\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.0 Gbi"] +[5.620979, "o", "t/s"] +[5.621025, "o", "\r\n"] +[5.621082, "o", " "] +[5.721558, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 24% \u001b[38;5;12m00:00:08\u001b[0m 8.6\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.9 Gbit/s\r\n "] +[5.822033, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 25% \u001b[38;5;12m00:00:08\u001b[0m 8.9\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.0 Gbit/s\r\n "] +[5.922354, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 25% \u001b[38;5;12m00:00:08\u001b[0m 9.2\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.7 Gbit/s\r\n "] +[6.022754, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 26% \u001b[38;5;12m00:00:08\u001b[0m 9.5\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.7 Gbit/s\r\n "] +[6.123083, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 27% \u001b[38;5;12m00:00:08\u001b[0m 9.8\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.2 Gbit/s\r\n "] +[6.223847, "o", "\r\u001b[2A "] +[6.22408, "o", "\r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 28% \u001b[38;5;12m00:00:08\u001b[0m 10.1\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.2 Gbit/s\r\n "] +[6.324342, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 29% \u001b[38;5;12m00:00:08\u001b[0m 10.4\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.3 Gbit/s\r\n "] +[6.42476, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 30% \u001b[38;5;12m00:00:08\u001b[0m 10.7\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.7 Gbit/s\r\n "] +[6.525026, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 30% \u001b[38;5;12m00:00:08\u001b[0m 11.0\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.9 Gbit/s\r\n "] +[6.625381, "o", "\r\u001b[2A "] +[6.62552, "o", "\r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 31% \u001b[38;5;12m00:00:07\u001b[0m 11.3\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.1 Gbit/s\r\n "] +[6.725883, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 32% \u001b[38;5;12m00:00:07\u001b[0m 11.6\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.9 Gbit/s\r\n "] +[6.826188, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 33% \u001b[38;5;12m00:00:07\u001b[0m 11.9\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.0 Gbit/s\r\n "] +[6.926531, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 34% \u001b[38;5;12m00:00:07\u001b[0m 12.2\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.9 Gbit/s\r\n "] +[7.026976, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 35% \u001b[38;5;12m00:00:07\u001b[0m 12.5\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.1 Gbit/s\r\n "] +[7.12808, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 36% \u001b[38;5;12m00:00:07\u001b[0m 12.8\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.1 Gbit/s\r\n "] +[7.228377, "o", "\r\u001b[2A "] +[7.228437, "o", "\r\n"] +[7.22847, "o", "Downloading.. \u001b[38;5;11m━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 36% \u001b[38;5;12m00:00:07\u001b[0m 13.1\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.9 G"] +[7.228514, "o", "bit/s\r\n "] +[7.328829, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 37% \u001b[38;5;12m00:00:07\u001b[0m 13.4\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.1 Gbit/s\r\n "] +[7.42912, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 38% \u001b[38;5;12m00:00:07\u001b[0m 13.7\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.8 Gbit/s\r\n "] +[7.529413, "o", "\r\u001b[2A "] +[7.529465, "o", "\r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 39% \u001b[38;5;12m00:00:07\u001b[0m 14.0\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.0 G"] +[7.529484, "o", "bit/s\r\n "] +[7.629813, "o", "\r\u001b[2A "] +[7.629935, "o", "\r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 40% \u001b[38;5;12m00:00:07\u001b[0m 14.4\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.0 Gbit/s\r\n "] +[7.730365, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 41% \u001b[38;5;12m00:00:06\u001b[0m 14.7\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.1 Gbit/s\r\n "] +[7.830627, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 42% \u001b[38;5;12m00:00:06\u001b[0m 15.0\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.3 Gbit/s\r\n "] +[7.931055, "o", "\r\u001b[2A "] +[7.931459, "o", "\r\n"] +[7.931631, "o", "Downloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 42% \u001b[38;5;12m00:00:06\u001b[0m 15.3\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.0 Gbit/s"] +[7.931688, "o", "\r\n "] +[8.032002, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 43% \u001b[38;5;12m00:00:06\u001b[0m 15.6\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.9 Gbit/s\r\n "] +[8.133061, "o", "\r\u001b[2A "] +[8.133752, "o", "\r\n"] +[8.133917, "o", "Downloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 44% \u001b[38;5;12m00:00:06\u001b[0m 15.9\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.7 G"] +[8.133997, "o", "bit/s\r\n "] +[8.234373, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 45% \u001b[38;5;12m00:00:06\u001b[0m 16.2\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.1 Gbit/s\r\n "] +[8.33459, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 46% \u001b[38;5;12m00:00:06\u001b[0m 16.5\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.8 Gbit/s\r\n "] +[8.434968, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 47% \u001b[38;5;12m00:00:06\u001b[0m 16.8\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.8 Gbit/s\r\n "] +[8.535287, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━\u001b[0m 48% \u001b[38;5;12m00:00:06\u001b[0m 17.1\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.0 Gbit/s\r\n "] +[8.635531, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━\u001b[0m 48% \u001b[38;5;12m00:00:05\u001b[0m 17.4\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.2 Gbit/s\r\n "] +[8.735832, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━\u001b[0m 49% \u001b[38;5;12m00:00:05\u001b[0m 17.7\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.3 Gbit/s\r\n "] +[8.83615, "o", "\r\u001b[2A "] +[8.836455, "o", "\r\n"] +[8.836517, "o", "Downloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━\u001b[0m 50% \u001b[38;5;12m00:00:05\u001b[0m 18.0\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.0 Gbit/s\r\n "] +[8.936881, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━\u001b[0m 51% \u001b[38;5;12m00:00:05\u001b[0m 18.3\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.8 Gbit/s\r\n "] +[9.03721, "o", "\r\u001b[2A "] +[9.037686, "o", "\r\n"] +[9.037731, "o", "Downloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━\u001b[0m 52% \u001b[38;5;12m00:00:05\u001b[0m 18.6\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.9 Gbit/s\r\n "] +[9.139092, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━\u001b[0m 53% \u001b[38;5;12m00:00:05\u001b[0m 18.9\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.0 Gbit/s\r\n "] +[9.239372, "o", "\r\u001b[2A "] +[9.23951, "o", "\r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━\u001b[0m 54% \u001b[38;5;12m00:00:05\u001b[0m 19.2\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.8 Gbit/s\r\n "] +[9.339986, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━\u001b[0m 54% \u001b[38;5;12m00:00:05\u001b[0m 19.5\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.8 Gbit/s\r\n "] +[9.440563, "o", "\r\u001b[2A "] +[9.440644, "o", "\r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━\u001b[0m 55% \u001b[38;5;12m00:00:05\u001b[0m 19.8\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.2 Gbit/s"] +[9.440686, "o", "\r\n"] +[9.440712, "o", " "] +[9.541075, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━\u001b[0m 56% \u001b[38;5;12m00:00:04\u001b[0m 20.1\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 27.0 Gbit/s\r\n "] +[9.641433, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━\u001b[0m 57% \u001b[38;5;12m00:00:04\u001b[0m 20.4\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.5 Gbit/s\r\n "] +[9.741807, "o", "\r\u001b[2A \r\n"] +[9.742119, "o", "Downloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━\u001b[0m 58% \u001b[38;5;12m00:00:04\u001b[0m 20.8\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.5 Gbit/s\r\n"] +[9.742148, "o", " "] +[9.842817, "o", "\r\u001b[2A "] +[9.84297, "o", "\r\n"] +[9.843035, "o", "Downloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━\u001b[0m 59% \u001b[38;5;12m00:00:04\u001b[0m 21.1\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.4 Gbit/s\r\n "] +[9.943404, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━\u001b[0m 60% \u001b[38;5;12m00:00:04\u001b[0m 21.4\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.8 Gbit/s\r\n "] +[10.043759, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━\u001b[0m 61% \u001b[38;5;12m00:00:04\u001b[0m 21.7\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.8 Gbit/s\r\n "] +[10.14424, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━\u001b[0m 61% \u001b[38;5;12m00:00:04\u001b[0m 22.0\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.8 Gbit/s\r\n "] +[10.244665, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━\u001b[0m 62% \u001b[38;5;12m00:00:04\u001b[0m 22.3\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.5 Gbit/s\r\n "] +[10.345156, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━\u001b[0m 63% \u001b[38;5;12m00:00:04\u001b[0m 22.6\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.5 Gbit/s\r\n "] +[10.445609, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━\u001b[0m 64% \u001b[38;5;12m00:00:04\u001b[0m 22.9\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.7 Gbit/s\r\n "] +[10.546051, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━\u001b[0m 65% \u001b[38;5;12m00:00:03\u001b[0m 23.2\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.5 Gbit/s\r\n "] +[10.646317, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━\u001b[0m 66% \u001b[38;5;12m00:00:03\u001b[0m 23.6\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.6 Gbit/s\r\n "] +[10.746648, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━\u001b[0m 67% \u001b[38;5;12m00:00:03\u001b[0m 23.9\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.4 Gbit/s\r\n "] +[10.846949, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━\u001b[0m 68% \u001b[38;5;12m00:00:03\u001b[0m 24.2\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.8 Gbit/s\r\n "] +[10.947204, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━\u001b[0m 68% \u001b[38;5;12m00:00:03\u001b[0m 24.5\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.8 Gbit/s\r\n "] +[11.047614, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━\u001b[0m 69% \u001b[38;5;12m00:00:03\u001b[0m 24.8\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.9 G"] +[11.047674, "o", "bit/s\r\n "] +[11.147965, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━\u001b[0m 70% \u001b[38;5;12m00:00:03\u001b[0m 25.1\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.8 Gbit/s\r\n "] +[11.248295, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━\u001b[0m 71% \u001b[38;5;12m00:00:03\u001b[0m 25.4\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.5 Gbit/s\r\n "] +[11.348586, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━\u001b[0m 72% \u001b[38;5;12m00:00:03\u001b[0m 25.7\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.6 Gbit/s\r\n "] +[11.449077, "o", "\r\u001b[2A "] +[11.449282, "o", "\r\n"] +[11.449365, "o", "Downloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━\u001b[0m 73% \u001b[38;5;12m00:00:03\u001b[0m 26.0\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.7 Gbit/s\r\n "] +[11.549786, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━\u001b[0m 74% \u001b[38;5;12m00:00:02\u001b[0m 26.4\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.6 Gbit/s\r\n "] +[11.649995, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━\u001b[0m 74% \u001b[38;5;12m00:00:02\u001b[0m 26.7\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.3 Gbit/s\r\n "] +[11.750287, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━\u001b[0m 75% \u001b[38;5;12m00:00:02\u001b[0m 27.0\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.9 Gbit/s\r\n "] +[11.850775, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━\u001b[0m 76% \u001b[38;5;12m00:00:02\u001b[0m 27.3\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.1 Gbit/s\r\n "] +[11.951064, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━\u001b[0m 77% \u001b[38;5;12m00:00:02\u001b[0m 27.6\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.3 Gbit/s\r\n "] +[12.051296, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━\u001b[0m 78% \u001b[38;5;12m00:00:02\u001b[0m 27.9\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.4 Gbit/s\r\n "] +[12.151728, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━\u001b[0m 79% \u001b[38;5;12m00:00:02\u001b[0m 28.2\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.5 Gbit/s\r\n "] +[12.251998, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━\u001b[0m 80% \u001b[38;5;12m00:00:02\u001b[0m 28.5\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.4 Gbit/s\r\n "] +[12.352298, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━\u001b[0m 81% \u001b[38;5;12m00:00:02\u001b[0m 28.8\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.5 Gbit/s\r\n "] +[12.45272, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━\u001b[0m 81% \u001b[38;5;12m00:00:02\u001b[0m 29.1\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.5 Gbit/s\r\n "] +[12.553375, "o", "\r\u001b[2A "] +[12.553808, "o", "\r\n"] +[12.554049, "o", "Downloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━\u001b[0m 82% \u001b[38;5;12m00:00:01\u001b[0m 29.4\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.4 G"] +[12.554268, "o", "bit/s"] +[12.55447, "o", "\r\n"] +[12.554686, "o", " "] +[12.655267, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━\u001b[0m 83% \u001b[38;5;12m00:00:01\u001b[0m 29.8\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.7 Gbit/s\r\n "] +[12.755653, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━\u001b[0m 84% \u001b[38;5;12m00:00:01\u001b[0m 30.1\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.7 Gbit/s\r\n "] +[12.856025, "o", "\r\u001b[2A "] +[12.856614, "o", "\r\n"] +[12.857207, "o", "Downloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━\u001b[0m 85% \u001b[38;5;12m00:00:01\u001b[0m 30.4\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.8 G"] +[12.857431, "o", "bit/s"] +[12.857687, "o", "\r\n "] +[12.958085, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━\u001b[0m 86% \u001b[38;5;12m00:00:01\u001b[0m 30.7\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.7 Gbit/s\r\n "] +[13.058565, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━\u001b[0m 87% \u001b[38;5;12m00:00:01\u001b[0m 31.0\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.2 Gbit/s\r\n "] +[13.158871, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━\u001b[0m 87% \u001b[38;5;12m00:00:01\u001b[0m 31.3\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.7 Gbit/s\r\n "] +[13.25934, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━\u001b[0m 88% \u001b[38;5;12m00:00:01\u001b[0m 31.6\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.5 Gbit/s\r\n "] +[13.359694, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━\u001b[0m 89% \u001b[38;5;12m00:00:01\u001b[0m 31.9\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.4 Gbit/s\r\n "] +[13.459978, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━\u001b[0m 90% \u001b[38;5;12m00:00:01\u001b[0m 32.2\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.3 Gbit/s\r\n "] +[13.560452, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━\u001b[0m 91% \u001b[38;5;12m00:00:01\u001b[0m 32.5\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.3 Gbit/s\r\n "] +[13.660928, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━\u001b[0m 92% \u001b[38;5;12m00:00:00\u001b[0m 32.8\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.6 Gbit/s\r\n "] +[13.761205, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━\u001b[0m 92% \u001b[38;5;12m00:00:00\u001b[0m 33.1\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.5 Gbit/s\r\n "] +[13.861561, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━\u001b[0m 93% \u001b[38;5;12m00:00:00\u001b[0m 33.4\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.5 Gbit/s\r\n "] +[13.961923, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━\u001b[0m 94% \u001b[38;5;12m00:00:00\u001b[0m 33.7\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.5 Gbit/s\r\n "] +[14.062357, "o", "\r\u001b[2A "] +[14.062584, "o", "\r\n"] +[14.062773, "o", "Downloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━\u001b[0m 95% \u001b[38;5;12m00:00:00\u001b[0m 34.0\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.5 Gbit/s\r\n "] +[14.163089, "o", "\r\u001b[2A "] +[14.163224, "o", "\r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━\u001b[0m 96% \u001b[38;5;12m00:00:00\u001b[0m 34.3\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.8 Gbit/s\r\n "] +[14.2634, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━\u001b[0m 97% \u001b[38;5;12m00:00:00\u001b[0m 34.6\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.8 Gbit/s\r\n "] +[14.363771, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━\u001b[0m 98% \u001b[38;5;12m00:00:00\u001b[0m 34.9\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.4 Gbit/s\r\n "] +[14.464156, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━\u001b[0m 98% \u001b[38;5;12m00:00:00\u001b[0m 35.2\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.7 Gbit/s\r\n "] +[14.564441, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━\u001b[0m 99% \u001b[38;5;12m00:00:00\u001b[0m 35.5\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.7 Gbit/s\r\n "] +[14.59875, "o", "\r\u001b[2A \r\n… \r\n \r\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[?25h"] +[14.603585, "o", "[6:20:58 PM] Finished in \u001b[38;5;229m11.8656\u001b[0m - \u001b[38;5;170m25.75 Gbit/s\u001b[0m\r\n"] +[14.603696, "o", "\r\n"] +[14.605315, "o", "[6:20:58 PM] Prefill complete!\r\n"] +[14.605769, "o", "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\r\n"] +[14.606312, "o", " Prefilled \u001b[38;5;170m1\u001b[0m apps in \u001b[38;5;229m14.5102\u001b[0m \r\n \r\n \u001b[38;5;80mUpdated\u001b[0m │ \u001b[38;5;2mUp To Date\u001b[0m \r\n ━━━━━━━━━┿━━━━━━━━━━━━ \r\n 1 │ 0 \r\n \u001b[?25l"] diff --git a/detailed-command-usage/casts/select-apps.cast b/detailed-command-usage/casts/select-apps.cast new file mode 100644 index 00000000..812d440e --- /dev/null +++ b/detailed-command-usage/casts/select-apps.cast @@ -0,0 +1,21 @@ +{"version":2,"width":113,"height":30,"timestamp":1680911872,"theme":{},"env":{"SHELL":"/bin/bash","TERM":"xterm-256color"}} +[0.068,"o","\u001b[?25l"] +[0.077,"o","\u001b[?12l\u001b[?25h"] +[0.084,"o","\u001b[?25l"] +[0.085,"o","\u001b[1;1H"] +[0.085,"o","\u001b[1;1H"] +[0.085,"o","\u001b[40;92m┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────┐"] +[0.085,"o","\u001b[2;1H"] +[0.085,"o","\u001b[2;1H│ \u001b[40;97mSort:\u001b[40;92m \u001b[40;97m[ Selected ]\u001b[40;92m \u001b[40;97m[ Name ]\u001b[40;92m \u001b[40;97m \u001b[40;92m \u001b[40;97m \u001b[40;92m │\u001b[3;1H\u001b[3;1H│ │"] +[0.085,"o","\u001b[4;1H\u001b[4;1H│ Search: \u001b[46;97m \u001b[40;92m │\u001b[5;1H\u001b[5;1H│───────────────────────────────────────────────────────────────────────────────────────────────────────────────│\u001b[6;1H\u001b[6;1H│ Title │\u001b[7;1H\u001b[7;1H"] +[0.085,"o","│───────────────────────────────────────────────────────────────────────────────────────────────────────────────│\u001b[8;1H\u001b[8;1H│ \u001b[40;37m Blizzard Arcade Collection \u001b[40;92m │\u001b[9;1H"] +[0.085,"o","\u001b[9;1H│ \u001b[40;37m Diablo: Immortal \u001b[40;92m │\u001b[10;1H\u001b[10;1H│ \u001b[40;37m Diablo 2: Resurrected \u001b[40;92m │\u001b[11;1H\u001b[11;1H│ \u001b[40;37m Diablo 3 \u001b[40;92m │\u001b[12;1H"] +[0.086,"o","\u001b[12;1H│ \u001b[40;37m Diablo 4 \u001b[40;92m │\u001b[13;1H\u001b[13;1H│ \u001b[40;37m Hearthstone \u001b[40;92m │\u001b[14;1H\u001b[14;1H│ \u001b[40;37m Heroes of the Storm \u001b[40;92m │\u001b[15;1H"] +[0.086,"o","\u001b[15;1H│ \u001b[40;37m Starcraft Remastered \u001b[40;92m │\u001b[16;1H"] +[0.086,"o","\u001b[16;1H│ \u001b[40;37m Starcraft 2 \u001b[40;92m │\u001b[17;1H\u001b[17;1H│ \u001b[40;37m Overwatch 2 \u001b[40;92m │\u001b[18;1H\u001b[18;1H│ \u001b[40;37m Warcraft 3: Reforged \u001b[40;92m │\u001b[19;1H\u001b[19;1H│ \u001b[40;37m World of Warcraft \u001b[40;92m │\u001b[20;1H"] +[0.086,"o","\u001b[20;1H│ \u001b[40;37m WoW Classic \u001b[40;92m │\u001b[21;1H\u001b[21;1H│ \u001b[40;37m Call of Duty: Black Ops 4 \u001b[40;92m │\u001b[22;1H\u001b[22;1H│ \u001b[40;37m Call of Duty: Black Ops Cold War \u001b[40;92m │\u001b[23;1H"] +[0.086,"o","\u001b[23;1H│ \u001b[40;37m Call of Duty: Warzone \u001b[40;92m │\u001b[24;1H\u001b[24;1H│ \u001b[40;37m Call of Duty: Modern Warfare 2 \u001b[40;92m │\u001b[25;1H"] +[0.086,"o","\u001b[25;1H│ \u001b[40;37m Call of Duty: MW2 Remastered \u001b[40;92m │\u001b[26;1H\u001b[26;1H│ \u001b[40;37m Call of Duty: Vanguard \u001b[40;92m │\u001b[27;1H\u001b[27;1H│ \u001b[40;37m Crash Bandicoot 4: It's About Time \u001b[40;92m │\u001b[28;1H"] +[0.086,"o","\u001b[28;1H│ \u001b[40;37m \u001b[40;92m │\u001b[29;1H\u001b[29;1H└───────────────────────────────────────────────────────────────────────────────────────────────────────────────┘\u001b[30;1H"] +[0.086,"o","\u001b[30;1H\u001b[40;97m \u001b[40;92mESC\u001b[40;97m to Quit │ \u001b[40;92m↑/↓/PgUp/PgDn\u001b[40;97m to navigate │ \u001b[40;92mSpace\u001b[40;97m to select │ \u001b[40;92mCTRL-A\u001b[40;97m Select All │ \u001b[40;92mCTRL-C\u001b[40;97m Clear All │ \u001b[40;92mEnter\u001b[40;97m to Save\u001b[?25l"] +[0.086,"o","\u001b[?25l\u001b[?25l"] diff --git a/dev-guides/Compiling-from-source/index.html b/dev-guides/Compiling-from-source/index.html new file mode 100644 index 00000000..a26d7138 --- /dev/null +++ b/dev-guides/Compiling-from-source/index.html @@ -0,0 +1,238 @@ + + + + + + + + Compiling From Source - battlenet-lancache-prefill wiki + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+ +
+
+ +
+
+ +

Compiling From Source

+

Installing Prerequisites

+

Only the .NET 6 SDK is required to compile the project. This can be installed through one of the following methods

+

Using Chocolatey

+
choco install dotnet-6.0-sdk
+
+

Manually

+

The latest .NET 6.0 SDK can be found here .NET 6.0 SDK - Windows x64 Installer

+

Fixing Nuget's Default Config

+
# Needs to be removed, in order to resolve issue with Nuget being preconfigured wrong.  
+# Will auto-regenerate on first run.
+Remove-Item "C:\Users\$Env:USERNAME\AppData\Roaming\NuGet\nuget.config"
+
+

Cloning the repo and submodules

+
git clone --recurse-submodules -j8 https://github.com/tpill90/battlenet-lancache-prefill.git
+
+

If you've already cloned the repository without the submodules, use this command to include the submodules:

+
git submodule update --init --recursive
+
+

Compiling

+

The project can be compiled by running the following in the repository root (the directory with the .sln file). This will generate an .exe that can be run locally. Subsequent dotnet build commands will perform incremental compilation.

+
dotnet build
+
+

Running the project

+
+

Note

+

These steps assume that the working directory is /BattleNetPrefill. All commands assume that they can find BattleNetPrefill.csproj in the working dir.

+
+

Typically, for development you will want to run the project in Debug mode. This mode will run dramatically slower than Release, however it will leave useful debugging information in the compiled assembly. Running the following will detect and compile any changes, and then execute the project:

+
dotnet run
+
+

The above is analogous to running ./BattleNetPrefill.exe without any parameters. To instead supply parameters :

+
dotnet run -- prefill --all
+
+

Alternatively, to run the project at full speed with all compilation optimizations enabled, add the additional --configuration Release flag:

+
dotnet run --configuration Release
+
+

Executing Unit Tests

+

To compile and run all tests in the entire repo, run the following command:

+
dotnet test
+
+

Where should I get started?

+

A good place to start poking around the project would be the CliCommands folder. This folder contains the implementations for each of the individual commands that can be run, such as prefill or select-apps.

+ +
+
+ + +
+
+ +
+ +
+ +
+ + + + GitHub + + + + « Previous + + + Next » + + +
+ + + + + + + + + diff --git a/dev-guides/mkdocs-setup/index.html b/dev-guides/mkdocs-setup/index.html new file mode 100644 index 00000000..d8085885 --- /dev/null +++ b/dev-guides/mkdocs-setup/index.html @@ -0,0 +1,208 @@ + + + + + + + + Working With Project Documentation - battlenet-lancache-prefill wiki + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+ +
+
+ +
+
+ +

Working With Project Documentation

+

Installing Prerequisites

+

This project is using mkdocs to generate the static documentation that is then hosted on Github Pages. The only requirement for building mkdocs is to have Python 3 installed, which can be done through Chocolatey.

+
# Installs Python from Chocolatey.  Alternatively Python can be manually installed.
+choco install python
+
+# Installs required mkdocs package
+pip install mkdocs mkdocs-awesome-pages-plugin mkdocs-static-i18n mkdocs-macros-plugin
+
+

Project Layout

+
mkdocs.yml    # Mkdocs root configuration file.
+mkdocs/
+    index.md  # The documentation homepage.
+    ...       # Other markdown pages, images and other files.
+
+

Making Changes

+

mkdocs has a built in server that will watch for changes being made, and immediately display those changes.

+

You can launch the the live server using mkdocs serve, and open http://127.0.0.1:8000/ in your browser. You can now make edits and have the page automatically refresh and display those changes!

+ + + +
+
+ + +
+
+ +
+ +
+ +
+ + + + GitHub + + + + « Previous + + + +
+ + + + + + + + + diff --git a/en/assets/external/CascadiaMono.ttf b/en/assets/external/CascadiaMono.ttf new file mode 100644 index 00000000..d15637ef Binary files /dev/null and b/en/assets/external/CascadiaMono.ttf differ diff --git a/en/assets/external/asciinema-player.css b/en/assets/external/asciinema-player.css new file mode 100644 index 00000000..24005f61 --- /dev/null +++ b/en/assets/external/asciinema-player.css @@ -0,0 +1,2636 @@ +.asciinema-player-wrapper { + outline: none; + height: 100%; + display: flex; + justify-content: center; +} +.asciinema-player-wrapper .title-bar { + display: none; + top: -78px; + transition: top 0.15s linear; + position: absolute; + left: 0; + right: 0; + box-sizing: content-box; + font-size: 20px; + line-height: 1em; + padding: 15px; + font-family: sans-serif; + color: white; + background-color: rgba(0, 0, 0, 0.8); +} +.asciinema-player-wrapper .title-bar img { + vertical-align: middle; + height: 48px; + margin-right: 16px; +} +.asciinema-player-wrapper .title-bar a { + color: white; + text-decoration: underline; +} +.asciinema-player-wrapper .title-bar a:hover { + text-decoration: none; +} +.asciinema-player-wrapper:fullscreen { + background-color: #000; + width: 100%; + -webkit-align-items: center; + align-items: center; +} +.asciinema-player-wrapper:fullscreen .asciinema-player { + position: static; +} +.asciinema-player-wrapper:fullscreen .title-bar { + display: initial; +} +.asciinema-player-wrapper:fullscreen.hud .title-bar { + top: 0; +} +.asciinema-player-wrapper:-webkit-full-screen { + background-color: #000; + width: 100%; + -webkit-align-items: center; + align-items: center; +} +.asciinema-player-wrapper:-webkit-full-screen .asciinema-player { + position: static; +} +.asciinema-player-wrapper:-webkit-full-screen .title-bar { + display: initial; +} +.asciinema-player-wrapper:-webkit-full-screen.hud .title-bar { + top: 0; +} +.asciinema-player-wrapper:-moz-full-screen { + background-color: #000; + width: 100%; + -webkit-align-items: center; + align-items: center; +} +.asciinema-player-wrapper:-moz-full-screen .asciinema-player { + position: static; +} +.asciinema-player-wrapper:-moz-full-screen .title-bar { + display: initial; +} +.asciinema-player-wrapper:-moz-full-screen.hud .title-bar { + top: 0; +} +.asciinema-player-wrapper:-ms-fullscreen { + background-color: #000; + width: 100%; + -webkit-align-items: center; + align-items: center; +} +.asciinema-player-wrapper:-ms-fullscreen .asciinema-player { + position: static; +} +.asciinema-player-wrapper:-ms-fullscreen .title-bar { + display: initial; +} +.asciinema-player-wrapper:-ms-fullscreen.hud .title-bar { + top: 0; +} +.asciinema-player-wrapper .asciinema-player { + text-align: left; + display: inline-block; + padding: 0px; + position: relative; + box-sizing: content-box; + -moz-box-sizing: content-box; + -webkit-box-sizing: content-box; + overflow: hidden; + max-width: 100%; + border-radius: 4px; + font-size: 12px; +} +.asciinema-terminal { + box-sizing: content-box; + -moz-box-sizing: content-box; + -webkit-box-sizing: content-box; + overflow: hidden; + padding: 0; + margin: 0px; + display: block; + white-space: pre; + border: 0; + word-wrap: normal; + word-break: normal; + border-radius: 0; + border-style: solid; + cursor: text; + border-width: 0.75em; + font-family: Consolas, Menlo, 'Bitstream Vera Sans Mono', monospace, 'Powerline Symbols'; +} +.asciinema-terminal .line { + letter-spacing: normal; + overflow: hidden; +} +.asciinema-terminal .line span { + padding: 0; + display: inline-block; + height: 100%; +} +.asciinema-terminal .line { + display: block; + width: 200%; +} +.asciinema-terminal .line .cursor-a { + display: inline-block; +} +.asciinema-terminal .line .cursor-b { + display: none; + border-radius: 0.05em; +} +.asciinema-terminal .line .blink { + visibility: hidden; +} +.asciinema-terminal.cursor .line .cursor-a { + display: none; +} +.asciinema-terminal.cursor .line .cursor-b { + display: inline-block; +} +.asciinema-terminal.blink .line .blink { + visibility: visible; +} +.asciinema-terminal .bright { + font-weight: bold; +} +.asciinema-terminal .faint { + opacity: 0.5; +} +.asciinema-terminal .underline { + text-decoration: underline; +} +.asciinema-terminal .italic { + font-style: italic; +} +.asciinema-terminal .strikethrough { + text-decoration: line-through; +} +.asciinema-player .loading > .asciinema-terminal { + background-color: transparent; +} +.asciinema-player .control-bar { + width: 100%; + height: 32px; + background: rgba(0, 0, 0, 0.8); + /* no gradient fallback */ + background: -moz-linear-gradient(top, rgba(0, 0, 0, 0.5) 0%, #000000 25%, #000000 100%); + /* FF3.6-15 */ + background: -webkit-linear-gradient(top, rgba(0, 0, 0, 0.5) 0%, #000000 25%, #000000 100%); + /* Chrome10-25,Safari5.1-6 */ + background: linear-gradient(to bottom, rgba(0, 0, 0, 0.5) 0%, #000000 25%, #000000 100%); + /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */ + color: #bbb; + box-sizing: content-box; + line-height: 1; + position: absolute; + bottom: 0; + left: 0; + opacity: 0; + transition: opacity 0.15s linear; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + z-index: 30; +} +.asciinema-player .control-bar * { + box-sizing: inherit; + font-size: 0; +} +.asciinema-player .control-bar svg.icon path { + fill: #bbb; +} +.asciinema-player .control-bar .playback-button { + display: block; + float: left; + cursor: pointer; + height: 12px; + width: 12px; + padding: 10px; +} +.asciinema-player .control-bar .playback-button svg { + height: 12px; + width: 12px; +} +.asciinema-player .control-bar .timer { + display: block; + float: left; + width: 50px; + height: 100%; + text-align: center; + font-family: Helvetica, Arial, sans-serif; + font-size: 11px; + font-weight: bold; + line-height: 32px; + cursor: default; +} +.asciinema-player .control-bar .timer span { + display: inline-block; + font-size: inherit; +} +.asciinema-player .control-bar .timer .time-remaining { + display: none; +} +.asciinema-player .control-bar .timer:hover .time-elapsed { + display: none; +} +.asciinema-player .control-bar .timer:hover .time-remaining { + display: inline; +} +.asciinema-player .control-bar .progressbar { + display: block; + overflow: hidden; + height: 100%; + padding: 0 10px; +} +.asciinema-player .control-bar .progressbar .bar { + display: block; + cursor: default; + height: 100%; + padding-top: 15px; + font-size: 0; +} +.asciinema-player .control-bar .progressbar .bar .gutter { + display: block; + height: 3px; + background-color: #333; +} +.asciinema-player .control-bar .progressbar .bar .gutter span { + display: inline-block; + height: 100%; + background-color: #bbb; + border-radius: 3px; +} +.asciinema-player .control-bar.seekable .progressbar .bar { + cursor: pointer; +} +.asciinema-player .control-bar .fullscreen-button { + display: block; + float: right; + width: 14px; + height: 14px; + padding: 9px; + cursor: pointer; +} +.asciinema-player .control-bar .fullscreen-button svg { + width: 14px; + height: 14px; +} +.asciinema-player .control-bar .fullscreen-button svg:first-child { + display: inline; +} +.asciinema-player .control-bar .fullscreen-button svg:last-child { + display: none; +} +.asciinema-player-wrapper.hud .control-bar { + opacity: 1; +} +.asciinema-player-wrapper:fullscreen .fullscreen-button svg:first-child { + display: none; +} +.asciinema-player-wrapper:fullscreen .fullscreen-button svg:last-child { + display: inline; +} +.asciinema-player-wrapper:-webkit-full-screen .fullscreen-button svg:first-child { + display: none; +} +.asciinema-player-wrapper:-webkit-full-screen .fullscreen-button svg:last-child { + display: inline; +} +.asciinema-player-wrapper:-moz-full-screen .fullscreen-button svg:first-child { + display: none; +} +.asciinema-player-wrapper:-moz-full-screen .fullscreen-button svg:last-child { + display: inline; +} +.asciinema-player-wrapper:-ms-fullscreen .fullscreen-button svg:first-child { + display: none; +} +.asciinema-player-wrapper:-ms-fullscreen .fullscreen-button svg:last-child { + display: inline; +} +.asciinema-player .loading { + z-index: 10; + background-repeat: no-repeat; + background-position: center; + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + display: flex; + justify-content: center; + align-items: center; +} +.asciinema-player .start-prompt { + z-index: 10; + background-repeat: no-repeat; + background-position: center; + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + z-index: 20; + cursor: pointer; +} +.asciinema-player .start-prompt .play-button { + font-size: 0px; + position: absolute; + left: 0; + top: 0; + right: 0; + bottom: 0; + text-align: center; + color: white; + height: 80px; + max-height: 66%; + margin: auto; +} +.asciinema-player .start-prompt .play-button div { + height: 100%; +} +.asciinema-player .start-prompt .play-button div span { + height: 100%; + display: block; +} +.asciinema-player .start-prompt .play-button div span svg { + height: 100%; +} +.asciinema-terminal .fg-16 { + color: #000000; +} +.asciinema-terminal .bg-16 { + background-color: #000000; +} +.asciinema-terminal .fg-17 { + color: #00005f; +} +.asciinema-terminal .bg-17 { + background-color: #00005f; +} +.asciinema-terminal .fg-18 { + color: #000087; +} +.asciinema-terminal .bg-18 { + background-color: #000087; +} +.asciinema-terminal .fg-19 { + color: #0000af; +} +.asciinema-terminal .bg-19 { + background-color: #0000af; +} +.asciinema-terminal .fg-20 { + color: #0000d7; +} +.asciinema-terminal .bg-20 { + background-color: #0000d7; +} +.asciinema-terminal .fg-21 { + color: #0000ff; +} +.asciinema-terminal .bg-21 { + background-color: #0000ff; +} +.asciinema-terminal .fg-22 { + color: #005f00; +} +.asciinema-terminal .bg-22 { + background-color: #005f00; +} +.asciinema-terminal .fg-23 { + color: #005f5f; +} +.asciinema-terminal .bg-23 { + background-color: #005f5f; +} +.asciinema-terminal .fg-24 { + color: #005f87; +} +.asciinema-terminal .bg-24 { + background-color: #005f87; +} +.asciinema-terminal .fg-25 { + color: #005faf; +} +.asciinema-terminal .bg-25 { + background-color: #005faf; +} +.asciinema-terminal .fg-26 { + color: #005fd7; +} +.asciinema-terminal .bg-26 { + background-color: #005fd7; +} +.asciinema-terminal .fg-27 { + color: #005fff; +} +.asciinema-terminal .bg-27 { + background-color: #005fff; +} +.asciinema-terminal .fg-28 { + color: #008700; +} +.asciinema-terminal .bg-28 { + background-color: #008700; +} +.asciinema-terminal .fg-29 { + color: #00875f; +} +.asciinema-terminal .bg-29 { + background-color: #00875f; +} +.asciinema-terminal .fg-30 { + color: #008787; +} +.asciinema-terminal .bg-30 { + background-color: #008787; +} +.asciinema-terminal .fg-31 { + color: #0087af; +} +.asciinema-terminal .bg-31 { + background-color: #0087af; +} +.asciinema-terminal .fg-32 { + color: #0087d7; +} +.asciinema-terminal .bg-32 { + background-color: #0087d7; +} +.asciinema-terminal .fg-33 { + color: #0087ff; +} +.asciinema-terminal .bg-33 { + background-color: #0087ff; +} +.asciinema-terminal .fg-34 { + color: #00af00; +} +.asciinema-terminal .bg-34 { + background-color: #00af00; +} +.asciinema-terminal .fg-35 { + color: #00af5f; +} +.asciinema-terminal .bg-35 { + background-color: #00af5f; +} +.asciinema-terminal .fg-36 { + color: #00af87; +} +.asciinema-terminal .bg-36 { + background-color: #00af87; +} +.asciinema-terminal .fg-37 { + color: #00afaf; +} +.asciinema-terminal .bg-37 { + background-color: #00afaf; +} +.asciinema-terminal .fg-38 { + color: #00afd7; +} +.asciinema-terminal .bg-38 { + background-color: #00afd7; +} +.asciinema-terminal .fg-39 { + color: #00afff; +} +.asciinema-terminal .bg-39 { + background-color: #00afff; +} +.asciinema-terminal .fg-40 { + color: #00d700; +} +.asciinema-terminal .bg-40 { + background-color: #00d700; +} +.asciinema-terminal .fg-41 { + color: #00d75f; +} +.asciinema-terminal .bg-41 { + background-color: #00d75f; +} +.asciinema-terminal .fg-42 { + color: #00d787; +} +.asciinema-terminal .bg-42 { + background-color: #00d787; +} +.asciinema-terminal .fg-43 { + color: #00d7af; +} +.asciinema-terminal .bg-43 { + background-color: #00d7af; +} +.asciinema-terminal .fg-44 { + color: #00d7d7; +} +.asciinema-terminal .bg-44 { + background-color: #00d7d7; +} +.asciinema-terminal .fg-45 { + color: #00d7ff; +} +.asciinema-terminal .bg-45 { + background-color: #00d7ff; +} +.asciinema-terminal .fg-46 { + color: #00ff00; +} +.asciinema-terminal .bg-46 { + background-color: #00ff00; +} +.asciinema-terminal .fg-47 { + color: #00ff5f; +} +.asciinema-terminal .bg-47 { + background-color: #00ff5f; +} +.asciinema-terminal .fg-48 { + color: #00ff87; +} +.asciinema-terminal .bg-48 { + background-color: #00ff87; +} +.asciinema-terminal .fg-49 { + color: #00ffaf; +} +.asciinema-terminal .bg-49 { + background-color: #00ffaf; +} +.asciinema-terminal .fg-50 { + color: #00ffd7; +} +.asciinema-terminal .bg-50 { + background-color: #00ffd7; +} +.asciinema-terminal .fg-51 { + color: #00ffff; +} +.asciinema-terminal .bg-51 { + background-color: #00ffff; +} +.asciinema-terminal .fg-52 { + color: #5f0000; +} +.asciinema-terminal .bg-52 { + background-color: #5f0000; +} +.asciinema-terminal .fg-53 { + color: #5f005f; +} +.asciinema-terminal .bg-53 { + background-color: #5f005f; +} +.asciinema-terminal .fg-54 { + color: #5f0087; +} +.asciinema-terminal .bg-54 { + background-color: #5f0087; +} +.asciinema-terminal .fg-55 { + color: #5f00af; +} +.asciinema-terminal .bg-55 { + background-color: #5f00af; +} +.asciinema-terminal .fg-56 { + color: #5f00d7; +} +.asciinema-terminal .bg-56 { + background-color: #5f00d7; +} +.asciinema-terminal .fg-57 { + color: #5f00ff; +} +.asciinema-terminal .bg-57 { + background-color: #5f00ff; +} +.asciinema-terminal .fg-58 { + color: #5f5f00; +} +.asciinema-terminal .bg-58 { + background-color: #5f5f00; +} +.asciinema-terminal .fg-59 { + color: #5f5f5f; +} +.asciinema-terminal .bg-59 { + background-color: #5f5f5f; +} +.asciinema-terminal .fg-60 { + color: #5f5f87; +} +.asciinema-terminal .bg-60 { + background-color: #5f5f87; +} +.asciinema-terminal .fg-61 { + color: #5f5faf; +} +.asciinema-terminal .bg-61 { + background-color: #5f5faf; +} +.asciinema-terminal .fg-62 { + color: #5f5fd7; +} +.asciinema-terminal .bg-62 { + background-color: #5f5fd7; +} +.asciinema-terminal .fg-63 { + color: #5f5fff; +} +.asciinema-terminal .bg-63 { + background-color: #5f5fff; +} +.asciinema-terminal .fg-64 { + color: #5f8700; +} +.asciinema-terminal .bg-64 { + background-color: #5f8700; +} +.asciinema-terminal .fg-65 { + color: #5f875f; +} +.asciinema-terminal .bg-65 { + background-color: #5f875f; +} +.asciinema-terminal .fg-66 { + color: #5f8787; +} +.asciinema-terminal .bg-66 { + background-color: #5f8787; +} +.asciinema-terminal .fg-67 { + color: #5f87af; +} +.asciinema-terminal .bg-67 { + background-color: #5f87af; +} +.asciinema-terminal .fg-68 { + color: #5f87d7; +} +.asciinema-terminal .bg-68 { + background-color: #5f87d7; +} +.asciinema-terminal .fg-69 { + color: #5f87ff; +} +.asciinema-terminal .bg-69 { + background-color: #5f87ff; +} +.asciinema-terminal .fg-70 { + color: #5faf00; +} +.asciinema-terminal .bg-70 { + background-color: #5faf00; +} +.asciinema-terminal .fg-71 { + color: #5faf5f; +} +.asciinema-terminal .bg-71 { + background-color: #5faf5f; +} +.asciinema-terminal .fg-72 { + color: #5faf87; +} +.asciinema-terminal .bg-72 { + background-color: #5faf87; +} +.asciinema-terminal .fg-73 { + color: #5fafaf; +} +.asciinema-terminal .bg-73 { + background-color: #5fafaf; +} +.asciinema-terminal .fg-74 { + color: #5fafd7; +} +.asciinema-terminal .bg-74 { + background-color: #5fafd7; +} +.asciinema-terminal .fg-75 { + color: #5fafff; +} +.asciinema-terminal .bg-75 { + background-color: #5fafff; +} +.asciinema-terminal .fg-76 { + color: #5fd700; +} +.asciinema-terminal .bg-76 { + background-color: #5fd700; +} +.asciinema-terminal .fg-77 { + color: #5fd75f; +} +.asciinema-terminal .bg-77 { + background-color: #5fd75f; +} +.asciinema-terminal .fg-78 { + color: #5fd787; +} +.asciinema-terminal .bg-78 { + background-color: #5fd787; +} +.asciinema-terminal .fg-79 { + color: #5fd7af; +} +.asciinema-terminal .bg-79 { + background-color: #5fd7af; +} +.asciinema-terminal .fg-80 { + color: #5fd7d7; +} +.asciinema-terminal .bg-80 { + background-color: #5fd7d7; +} +.asciinema-terminal .fg-81 { + color: #5fd7ff; +} +.asciinema-terminal .bg-81 { + background-color: #5fd7ff; +} +.asciinema-terminal .fg-82 { + color: #5fff00; +} +.asciinema-terminal .bg-82 { + background-color: #5fff00; +} +.asciinema-terminal .fg-83 { + color: #5fff5f; +} +.asciinema-terminal .bg-83 { + background-color: #5fff5f; +} +.asciinema-terminal .fg-84 { + color: #5fff87; +} +.asciinema-terminal .bg-84 { + background-color: #5fff87; +} +.asciinema-terminal .fg-85 { + color: #5fffaf; +} +.asciinema-terminal .bg-85 { + background-color: #5fffaf; +} +.asciinema-terminal .fg-86 { + color: #5fffd7; +} +.asciinema-terminal .bg-86 { + background-color: #5fffd7; +} +.asciinema-terminal .fg-87 { + color: #5fffff; +} +.asciinema-terminal .bg-87 { + background-color: #5fffff; +} +.asciinema-terminal .fg-88 { + color: #870000; +} +.asciinema-terminal .bg-88 { + background-color: #870000; +} +.asciinema-terminal .fg-89 { + color: #87005f; +} +.asciinema-terminal .bg-89 { + background-color: #87005f; +} +.asciinema-terminal .fg-90 { + color: #870087; +} +.asciinema-terminal .bg-90 { + background-color: #870087; +} +.asciinema-terminal .fg-91 { + color: #8700af; +} +.asciinema-terminal .bg-91 { + background-color: #8700af; +} +.asciinema-terminal .fg-92 { + color: #8700d7; +} +.asciinema-terminal .bg-92 { + background-color: #8700d7; +} +.asciinema-terminal .fg-93 { + color: #8700ff; +} +.asciinema-terminal .bg-93 { + background-color: #8700ff; +} +.asciinema-terminal .fg-94 { + color: #875f00; +} +.asciinema-terminal .bg-94 { + background-color: #875f00; +} +.asciinema-terminal .fg-95 { + color: #875f5f; +} +.asciinema-terminal .bg-95 { + background-color: #875f5f; +} +.asciinema-terminal .fg-96 { + color: #875f87; +} +.asciinema-terminal .bg-96 { + background-color: #875f87; +} +.asciinema-terminal .fg-97 { + color: #875faf; +} +.asciinema-terminal .bg-97 { + background-color: #875faf; +} +.asciinema-terminal .fg-98 { + color: #875fd7; +} +.asciinema-terminal .bg-98 { + background-color: #875fd7; +} +.asciinema-terminal .fg-99 { + color: #875fff; +} +.asciinema-terminal .bg-99 { + background-color: #875fff; +} +.asciinema-terminal .fg-100 { + color: #878700; +} +.asciinema-terminal .bg-100 { + background-color: #878700; +} +.asciinema-terminal .fg-101 { + color: #87875f; +} +.asciinema-terminal .bg-101 { + background-color: #87875f; +} +.asciinema-terminal .fg-102 { + color: #878787; +} +.asciinema-terminal .bg-102 { + background-color: #878787; +} +.asciinema-terminal .fg-103 { + color: #8787af; +} +.asciinema-terminal .bg-103 { + background-color: #8787af; +} +.asciinema-terminal .fg-104 { + color: #8787d7; +} +.asciinema-terminal .bg-104 { + background-color: #8787d7; +} +.asciinema-terminal .fg-105 { + color: #8787ff; +} +.asciinema-terminal .bg-105 { + background-color: #8787ff; +} +.asciinema-terminal .fg-106 { + color: #87af00; +} +.asciinema-terminal .bg-106 { + background-color: #87af00; +} +.asciinema-terminal .fg-107 { + color: #87af5f; +} +.asciinema-terminal .bg-107 { + background-color: #87af5f; +} +.asciinema-terminal .fg-108 { + color: #87af87; +} +.asciinema-terminal .bg-108 { + background-color: #87af87; +} +.asciinema-terminal .fg-109 { + color: #87afaf; +} +.asciinema-terminal .bg-109 { + background-color: #87afaf; +} +.asciinema-terminal .fg-110 { + color: #87afd7; +} +.asciinema-terminal .bg-110 { + background-color: #87afd7; +} +.asciinema-terminal .fg-111 { + color: #87afff; +} +.asciinema-terminal .bg-111 { + background-color: #87afff; +} +.asciinema-terminal .fg-112 { + color: #87d700; +} +.asciinema-terminal .bg-112 { + background-color: #87d700; +} +.asciinema-terminal .fg-113 { + color: #87d75f; +} +.asciinema-terminal .bg-113 { + background-color: #87d75f; +} +.asciinema-terminal .fg-114 { + color: #87d787; +} +.asciinema-terminal .bg-114 { + background-color: #87d787; +} +.asciinema-terminal .fg-115 { + color: #87d7af; +} +.asciinema-terminal .bg-115 { + background-color: #87d7af; +} +.asciinema-terminal .fg-116 { + color: #87d7d7; +} +.asciinema-terminal .bg-116 { + background-color: #87d7d7; +} +.asciinema-terminal .fg-117 { + color: #87d7ff; +} +.asciinema-terminal .bg-117 { + background-color: #87d7ff; +} +.asciinema-terminal .fg-118 { + color: #87ff00; +} +.asciinema-terminal .bg-118 { + background-color: #87ff00; +} +.asciinema-terminal .fg-119 { + color: #87ff5f; +} +.asciinema-terminal .bg-119 { + background-color: #87ff5f; +} +.asciinema-terminal .fg-120 { + color: #87ff87; +} +.asciinema-terminal .bg-120 { + background-color: #87ff87; +} +.asciinema-terminal .fg-121 { + color: #87ffaf; +} +.asciinema-terminal .bg-121 { + background-color: #87ffaf; +} +.asciinema-terminal .fg-122 { + color: #87ffd7; +} +.asciinema-terminal .bg-122 { + background-color: #87ffd7; +} +.asciinema-terminal .fg-123 { + color: #87ffff; +} +.asciinema-terminal .bg-123 { + background-color: #87ffff; +} +.asciinema-terminal .fg-124 { + color: #af0000; +} +.asciinema-terminal .bg-124 { + background-color: #af0000; +} +.asciinema-terminal .fg-125 { + color: #af005f; +} +.asciinema-terminal .bg-125 { + background-color: #af005f; +} +.asciinema-terminal .fg-126 { + color: #af0087; +} +.asciinema-terminal .bg-126 { + background-color: #af0087; +} +.asciinema-terminal .fg-127 { + color: #af00af; +} +.asciinema-terminal .bg-127 { + background-color: #af00af; +} +.asciinema-terminal .fg-128 { + color: #af00d7; +} +.asciinema-terminal .bg-128 { + background-color: #af00d7; +} +.asciinema-terminal .fg-129 { + color: #af00ff; +} +.asciinema-terminal .bg-129 { + background-color: #af00ff; +} +.asciinema-terminal .fg-130 { + color: #af5f00; +} +.asciinema-terminal .bg-130 { + background-color: #af5f00; +} +.asciinema-terminal .fg-131 { + color: #af5f5f; +} +.asciinema-terminal .bg-131 { + background-color: #af5f5f; +} +.asciinema-terminal .fg-132 { + color: #af5f87; +} +.asciinema-terminal .bg-132 { + background-color: #af5f87; +} +.asciinema-terminal .fg-133 { + color: #af5faf; +} +.asciinema-terminal .bg-133 { + background-color: #af5faf; +} +.asciinema-terminal .fg-134 { + color: #af5fd7; +} +.asciinema-terminal .bg-134 { + background-color: #af5fd7; +} +.asciinema-terminal .fg-135 { + color: #af5fff; +} +.asciinema-terminal .bg-135 { + background-color: #af5fff; +} +.asciinema-terminal .fg-136 { + color: #af8700; +} +.asciinema-terminal .bg-136 { + background-color: #af8700; +} +.asciinema-terminal .fg-137 { + color: #af875f; +} +.asciinema-terminal .bg-137 { + background-color: #af875f; +} +.asciinema-terminal .fg-138 { + color: #af8787; +} +.asciinema-terminal .bg-138 { + background-color: #af8787; +} +.asciinema-terminal .fg-139 { + color: #af87af; +} +.asciinema-terminal .bg-139 { + background-color: #af87af; +} +.asciinema-terminal .fg-140 { + color: #af87d7; +} +.asciinema-terminal .bg-140 { + background-color: #af87d7; +} +.asciinema-terminal .fg-141 { + color: #af87ff; +} +.asciinema-terminal .bg-141 { + background-color: #af87ff; +} +.asciinema-terminal .fg-142 { + color: #afaf00; +} +.asciinema-terminal .bg-142 { + background-color: #afaf00; +} +.asciinema-terminal .fg-143 { + color: #afaf5f; +} +.asciinema-terminal .bg-143 { + background-color: #afaf5f; +} +.asciinema-terminal .fg-144 { + color: #afaf87; +} +.asciinema-terminal .bg-144 { + background-color: #afaf87; +} +.asciinema-terminal .fg-145 { + color: #afafaf; +} +.asciinema-terminal .bg-145 { + background-color: #afafaf; +} +.asciinema-terminal .fg-146 { + color: #afafd7; +} +.asciinema-terminal .bg-146 { + background-color: #afafd7; +} +.asciinema-terminal .fg-147 { + color: #afafff; +} +.asciinema-terminal .bg-147 { + background-color: #afafff; +} +.asciinema-terminal .fg-148 { + color: #afd700; +} +.asciinema-terminal .bg-148 { + background-color: #afd700; +} +.asciinema-terminal .fg-149 { + color: #afd75f; +} +.asciinema-terminal .bg-149 { + background-color: #afd75f; +} +.asciinema-terminal .fg-150 { + color: #afd787; +} +.asciinema-terminal .bg-150 { + background-color: #afd787; +} +.asciinema-terminal .fg-151 { + color: #afd7af; +} +.asciinema-terminal .bg-151 { + background-color: #afd7af; +} +.asciinema-terminal .fg-152 { + color: #afd7d7; +} +.asciinema-terminal .bg-152 { + background-color: #afd7d7; +} +.asciinema-terminal .fg-153 { + color: #afd7ff; +} +.asciinema-terminal .bg-153 { + background-color: #afd7ff; +} +.asciinema-terminal .fg-154 { + color: #afff00; +} +.asciinema-terminal .bg-154 { + background-color: #afff00; +} +.asciinema-terminal .fg-155 { + color: #afff5f; +} +.asciinema-terminal .bg-155 { + background-color: #afff5f; +} +.asciinema-terminal .fg-156 { + color: #afff87; +} +.asciinema-terminal .bg-156 { + background-color: #afff87; +} +.asciinema-terminal .fg-157 { + color: #afffaf; +} +.asciinema-terminal .bg-157 { + background-color: #afffaf; +} +.asciinema-terminal .fg-158 { + color: #afffd7; +} +.asciinema-terminal .bg-158 { + background-color: #afffd7; +} +.asciinema-terminal .fg-159 { + color: #afffff; +} +.asciinema-terminal .bg-159 { + background-color: #afffff; +} +.asciinema-terminal .fg-160 { + color: #d70000; +} +.asciinema-terminal .bg-160 { + background-color: #d70000; +} +.asciinema-terminal .fg-161 { + color: #d7005f; +} +.asciinema-terminal .bg-161 { + background-color: #d7005f; +} +.asciinema-terminal .fg-162 { + color: #d70087; +} +.asciinema-terminal .bg-162 { + background-color: #d70087; +} +.asciinema-terminal .fg-163 { + color: #d700af; +} +.asciinema-terminal .bg-163 { + background-color: #d700af; +} +.asciinema-terminal .fg-164 { + color: #d700d7; +} +.asciinema-terminal .bg-164 { + background-color: #d700d7; +} +.asciinema-terminal .fg-165 { + color: #d700ff; +} +.asciinema-terminal .bg-165 { + background-color: #d700ff; +} +.asciinema-terminal .fg-166 { + color: #d75f00; +} +.asciinema-terminal .bg-166 { + background-color: #d75f00; +} +.asciinema-terminal .fg-167 { + color: #d75f5f; +} +.asciinema-terminal .bg-167 { + background-color: #d75f5f; +} +.asciinema-terminal .fg-168 { + color: #d75f87; +} +.asciinema-terminal .bg-168 { + background-color: #d75f87; +} +.asciinema-terminal .fg-169 { + color: #d75faf; +} +.asciinema-terminal .bg-169 { + background-color: #d75faf; +} +.asciinema-terminal .fg-170 { + color: #d75fd7; +} +.asciinema-terminal .bg-170 { + background-color: #d75fd7; +} +.asciinema-terminal .fg-171 { + color: #d75fff; +} +.asciinema-terminal .bg-171 { + background-color: #d75fff; +} +.asciinema-terminal .fg-172 { + color: #d78700; +} +.asciinema-terminal .bg-172 { + background-color: #d78700; +} +.asciinema-terminal .fg-173 { + color: #d7875f; +} +.asciinema-terminal .bg-173 { + background-color: #d7875f; +} +.asciinema-terminal .fg-174 { + color: #d78787; +} +.asciinema-terminal .bg-174 { + background-color: #d78787; +} +.asciinema-terminal .fg-175 { + color: #d787af; +} +.asciinema-terminal .bg-175 { + background-color: #d787af; +} +.asciinema-terminal .fg-176 { + color: #d787d7; +} +.asciinema-terminal .bg-176 { + background-color: #d787d7; +} +.asciinema-terminal .fg-177 { + color: #d787ff; +} +.asciinema-terminal .bg-177 { + background-color: #d787ff; +} +.asciinema-terminal .fg-178 { + color: #d7af00; +} +.asciinema-terminal .bg-178 { + background-color: #d7af00; +} +.asciinema-terminal .fg-179 { + color: #d7af5f; +} +.asciinema-terminal .bg-179 { + background-color: #d7af5f; +} +.asciinema-terminal .fg-180 { + color: #d7af87; +} +.asciinema-terminal .bg-180 { + background-color: #d7af87; +} +.asciinema-terminal .fg-181 { + color: #d7afaf; +} +.asciinema-terminal .bg-181 { + background-color: #d7afaf; +} +.asciinema-terminal .fg-182 { + color: #d7afd7; +} +.asciinema-terminal .bg-182 { + background-color: #d7afd7; +} +.asciinema-terminal .fg-183 { + color: #d7afff; +} +.asciinema-terminal .bg-183 { + background-color: #d7afff; +} +.asciinema-terminal .fg-184 { + color: #d7d700; +} +.asciinema-terminal .bg-184 { + background-color: #d7d700; +} +.asciinema-terminal .fg-185 { + color: #d7d75f; +} +.asciinema-terminal .bg-185 { + background-color: #d7d75f; +} +.asciinema-terminal .fg-186 { + color: #d7d787; +} +.asciinema-terminal .bg-186 { + background-color: #d7d787; +} +.asciinema-terminal .fg-187 { + color: #d7d7af; +} +.asciinema-terminal .bg-187 { + background-color: #d7d7af; +} +.asciinema-terminal .fg-188 { + color: #d7d7d7; +} +.asciinema-terminal .bg-188 { + background-color: #d7d7d7; +} +.asciinema-terminal .fg-189 { + color: #d7d7ff; +} +.asciinema-terminal .bg-189 { + background-color: #d7d7ff; +} +.asciinema-terminal .fg-190 { + color: #d7ff00; +} +.asciinema-terminal .bg-190 { + background-color: #d7ff00; +} +.asciinema-terminal .fg-191 { + color: #d7ff5f; +} +.asciinema-terminal .bg-191 { + background-color: #d7ff5f; +} +.asciinema-terminal .fg-192 { + color: #d7ff87; +} +.asciinema-terminal .bg-192 { + background-color: #d7ff87; +} +.asciinema-terminal .fg-193 { + color: #d7ffaf; +} +.asciinema-terminal .bg-193 { + background-color: #d7ffaf; +} +.asciinema-terminal .fg-194 { + color: #d7ffd7; +} +.asciinema-terminal .bg-194 { + background-color: #d7ffd7; +} +.asciinema-terminal .fg-195 { + color: #d7ffff; +} +.asciinema-terminal .bg-195 { + background-color: #d7ffff; +} +.asciinema-terminal .fg-196 { + color: #ff0000; +} +.asciinema-terminal .bg-196 { + background-color: #ff0000; +} +.asciinema-terminal .fg-197 { + color: #ff005f; +} +.asciinema-terminal .bg-197 { + background-color: #ff005f; +} +.asciinema-terminal .fg-198 { + color: #ff0087; +} +.asciinema-terminal .bg-198 { + background-color: #ff0087; +} +.asciinema-terminal .fg-199 { + color: #ff00af; +} +.asciinema-terminal .bg-199 { + background-color: #ff00af; +} +.asciinema-terminal .fg-200 { + color: #ff00d7; +} +.asciinema-terminal .bg-200 { + background-color: #ff00d7; +} +.asciinema-terminal .fg-201 { + color: #ff00ff; +} +.asciinema-terminal .bg-201 { + background-color: #ff00ff; +} +.asciinema-terminal .fg-202 { + color: #ff5f00; +} +.asciinema-terminal .bg-202 { + background-color: #ff5f00; +} +.asciinema-terminal .fg-203 { + color: #ff5f5f; +} +.asciinema-terminal .bg-203 { + background-color: #ff5f5f; +} +.asciinema-terminal .fg-204 { + color: #ff5f87; +} +.asciinema-terminal .bg-204 { + background-color: #ff5f87; +} +.asciinema-terminal .fg-205 { + color: #ff5faf; +} +.asciinema-terminal .bg-205 { + background-color: #ff5faf; +} +.asciinema-terminal .fg-206 { + color: #ff5fd7; +} +.asciinema-terminal .bg-206 { + background-color: #ff5fd7; +} +.asciinema-terminal .fg-207 { + color: #ff5fff; +} +.asciinema-terminal .bg-207 { + background-color: #ff5fff; +} +.asciinema-terminal .fg-208 { + color: #ff8700; +} +.asciinema-terminal .bg-208 { + background-color: #ff8700; +} +.asciinema-terminal .fg-209 { + color: #ff875f; +} +.asciinema-terminal .bg-209 { + background-color: #ff875f; +} +.asciinema-terminal .fg-210 { + color: #ff8787; +} +.asciinema-terminal .bg-210 { + background-color: #ff8787; +} +.asciinema-terminal .fg-211 { + color: #ff87af; +} +.asciinema-terminal .bg-211 { + background-color: #ff87af; +} +.asciinema-terminal .fg-212 { + color: #ff87d7; +} +.asciinema-terminal .bg-212 { + background-color: #ff87d7; +} +.asciinema-terminal .fg-213 { + color: #ff87ff; +} +.asciinema-terminal .bg-213 { + background-color: #ff87ff; +} +.asciinema-terminal .fg-214 { + color: #ffaf00; +} +.asciinema-terminal .bg-214 { + background-color: #ffaf00; +} +.asciinema-terminal .fg-215 { + color: #ffaf5f; +} +.asciinema-terminal .bg-215 { + background-color: #ffaf5f; +} +.asciinema-terminal .fg-216 { + color: #ffaf87; +} +.asciinema-terminal .bg-216 { + background-color: #ffaf87; +} +.asciinema-terminal .fg-217 { + color: #ffafaf; +} +.asciinema-terminal .bg-217 { + background-color: #ffafaf; +} +.asciinema-terminal .fg-218 { + color: #ffafd7; +} +.asciinema-terminal .bg-218 { + background-color: #ffafd7; +} +.asciinema-terminal .fg-219 { + color: #ffafff; +} +.asciinema-terminal .bg-219 { + background-color: #ffafff; +} +.asciinema-terminal .fg-220 { + color: #ffd700; +} +.asciinema-terminal .bg-220 { + background-color: #ffd700; +} +.asciinema-terminal .fg-221 { + color: #ffd75f; +} +.asciinema-terminal .bg-221 { + background-color: #ffd75f; +} +.asciinema-terminal .fg-222 { + color: #ffd787; +} +.asciinema-terminal .bg-222 { + background-color: #ffd787; +} +.asciinema-terminal .fg-223 { + color: #ffd7af; +} +.asciinema-terminal .bg-223 { + background-color: #ffd7af; +} +.asciinema-terminal .fg-224 { + color: #ffd7d7; +} +.asciinema-terminal .bg-224 { + background-color: #ffd7d7; +} +.asciinema-terminal .fg-225 { + color: #ffd7ff; +} +.asciinema-terminal .bg-225 { + background-color: #ffd7ff; +} +.asciinema-terminal .fg-226 { + color: #ffff00; +} +.asciinema-terminal .bg-226 { + background-color: #ffff00; +} +.asciinema-terminal .fg-227 { + color: #ffff5f; +} +.asciinema-terminal .bg-227 { + background-color: #ffff5f; +} +.asciinema-terminal .fg-228 { + color: #ffff87; +} +.asciinema-terminal .bg-228 { + background-color: #ffff87; +} +.asciinema-terminal .fg-229 { + color: #ffffaf; +} +.asciinema-terminal .bg-229 { + background-color: #ffffaf; +} +.asciinema-terminal .fg-230 { + color: #ffffd7; +} +.asciinema-terminal .bg-230 { + background-color: #ffffd7; +} +.asciinema-terminal .fg-231 { + color: #ffffff; +} +.asciinema-terminal .bg-231 { + background-color: #ffffff; +} +.asciinema-terminal .fg-232 { + color: #080808; +} +.asciinema-terminal .bg-232 { + background-color: #080808; +} +.asciinema-terminal .fg-233 { + color: #121212; +} +.asciinema-terminal .bg-233 { + background-color: #121212; +} +.asciinema-terminal .fg-234 { + color: #1c1c1c; +} +.asciinema-terminal .bg-234 { + background-color: #1c1c1c; +} +.asciinema-terminal .fg-235 { + color: #262626; +} +.asciinema-terminal .bg-235 { + background-color: #262626; +} +.asciinema-terminal .fg-236 { + color: #303030; +} +.asciinema-terminal .bg-236 { + background-color: #303030; +} +.asciinema-terminal .fg-237 { + color: #3a3a3a; +} +.asciinema-terminal .bg-237 { + background-color: #3a3a3a; +} +.asciinema-terminal .fg-238 { + color: #444444; +} +.asciinema-terminal .bg-238 { + background-color: #444444; +} +.asciinema-terminal .fg-239 { + color: #4e4e4e; +} +.asciinema-terminal .bg-239 { + background-color: #4e4e4e; +} +.asciinema-terminal .fg-240 { + color: #585858; +} +.asciinema-terminal .bg-240 { + background-color: #585858; +} +.asciinema-terminal .fg-241 { + color: #626262; +} +.asciinema-terminal .bg-241 { + background-color: #626262; +} +.asciinema-terminal .fg-242 { + color: #6c6c6c; +} +.asciinema-terminal .bg-242 { + background-color: #6c6c6c; +} +.asciinema-terminal .fg-243 { + color: #767676; +} +.asciinema-terminal .bg-243 { + background-color: #767676; +} +.asciinema-terminal .fg-244 { + color: #808080; +} +.asciinema-terminal .bg-244 { + background-color: #808080; +} +.asciinema-terminal .fg-245 { + color: #8a8a8a; +} +.asciinema-terminal .bg-245 { + background-color: #8a8a8a; +} +.asciinema-terminal .fg-246 { + color: #949494; +} +.asciinema-terminal .bg-246 { + background-color: #949494; +} +.asciinema-terminal .fg-247 { + color: #9e9e9e; +} +.asciinema-terminal .bg-247 { + background-color: #9e9e9e; +} +.asciinema-terminal .fg-248 { + color: #a8a8a8; +} +.asciinema-terminal .bg-248 { + background-color: #a8a8a8; +} +.asciinema-terminal .fg-249 { + color: #b2b2b2; +} +.asciinema-terminal .bg-249 { + background-color: #b2b2b2; +} +.asciinema-terminal .fg-250 { + color: #bcbcbc; +} +.asciinema-terminal .bg-250 { + background-color: #bcbcbc; +} +.asciinema-terminal .fg-251 { + color: #c6c6c6; +} +.asciinema-terminal .bg-251 { + background-color: #c6c6c6; +} +.asciinema-terminal .fg-252 { + color: #d0d0d0; +} +.asciinema-terminal .bg-252 { + background-color: #d0d0d0; +} +.asciinema-terminal .fg-253 { + color: #dadada; +} +.asciinema-terminal .bg-253 { + background-color: #dadada; +} +.asciinema-terminal .fg-254 { + color: #e4e4e4; +} +.asciinema-terminal .bg-254 { + background-color: #e4e4e4; +} +.asciinema-terminal .fg-255 { + color: #eeeeee; +} +.asciinema-terminal .bg-255 { + background-color: #eeeeee; +} +.asciinema-theme-asciinema { + background-color: #121314; +} +.asciinema-theme-asciinema .asciinema-terminal { + color: #CCCCCC; + background-color: #121314; + border-color: #121314; +} +.asciinema-theme-asciinema .fg-bg { + color: #121314; +} +.asciinema-theme-asciinema .bg-fg { + background-color: #CCCCCC; +} +.asciinema-theme-asciinema .fg-0 { + color: hsl(0, 0%, 0%); +} +.asciinema-theme-asciinema .bg-0 { + background-color: hsl(0, 0%, 0%); +} +.asciinema-theme-asciinema .fg-1 { + color: hsl(343, 70%, 55%); +} +.asciinema-theme-asciinema .bg-1 { + background-color: hsl(343, 70%, 55%); +} +.asciinema-theme-asciinema .fg-2 { + color: hsl(103, 70%, 44%); +} +.asciinema-theme-asciinema .bg-2 { + background-color: hsl(103, 70%, 44%); +} +.asciinema-theme-asciinema .fg-3 { + color: hsl(43, 70%, 55%); +} +.asciinema-theme-asciinema .bg-3 { + background-color: hsl(43, 70%, 55%); +} +.asciinema-theme-asciinema .fg-4 { + color: hsl(193, 70%, 49.5%); +} +.asciinema-theme-asciinema .bg-4 { + background-color: hsl(193, 70%, 49.5%); +} +.asciinema-theme-asciinema .fg-5 { + color: hsl(283, 70%, 60.5%); +} +.asciinema-theme-asciinema .bg-5 { + background-color: hsl(283, 70%, 60.5%); +} +.asciinema-theme-asciinema .fg-6 { + color: hsl(163, 70%, 60.5%); +} +.asciinema-theme-asciinema .bg-6 { + background-color: hsl(163, 70%, 60.5%); +} +.asciinema-theme-asciinema .fg-7 { + color: hsl(0, 0%, 85%); +} +.asciinema-theme-asciinema .bg-7 { + background-color: hsl(0, 0%, 85%); +} +.asciinema-theme-asciinema .fg-8 { + color: hsl(0, 0%, 30%); +} +.asciinema-theme-asciinema .bg-8 { + background-color: hsl(0, 0%, 30%); +} +.asciinema-theme-asciinema .fg-9 { + color: hsl(343, 70%, 55%); +} +.asciinema-theme-asciinema .bg-9 { + background-color: hsl(343, 70%, 55%); +} +.asciinema-theme-asciinema .fg-10 { + color: hsl(103, 70%, 44%); +} +.asciinema-theme-asciinema .bg-10 { + background-color: hsl(103, 70%, 44%); +} +.asciinema-theme-asciinema .fg-11 { + color: hsl(43, 70%, 55%); +} +.asciinema-theme-asciinema .bg-11 { + background-color: hsl(43, 70%, 55%); +} +.asciinema-theme-asciinema .fg-12 { + color: hsl(193, 70%, 49.5%); +} +.asciinema-theme-asciinema .bg-12 { + background-color: hsl(193, 70%, 49.5%); +} +.asciinema-theme-asciinema .fg-13 { + color: hsl(283, 70%, 60.5%); +} +.asciinema-theme-asciinema .bg-13 { + background-color: hsl(283, 70%, 60.5%); +} +.asciinema-theme-asciinema .fg-14 { + color: hsl(163, 70%, 60.5%); +} +.asciinema-theme-asciinema .bg-14 { + background-color: hsl(163, 70%, 60.5%); +} +.asciinema-theme-asciinema .fg-15 { + color: hsl(0, 0%, 100%); +} +.asciinema-theme-asciinema .bg-15 { + background-color: hsl(0, 0%, 100%); +} +.asciinema-theme-asciinema .fg-8, +.asciinema-theme-asciinema .fg-9, +.asciinema-theme-asciinema .fg-10, +.asciinema-theme-asciinema .fg-11, +.asciinema-theme-asciinema .fg-12, +.asciinema-theme-asciinema .fg-13, +.asciinema-theme-asciinema .fg-14, +.asciinema-theme-asciinema .fg-15 { + font-weight: bold; +} +.asciinema-theme-tango { + background-color: #121314; +} +.asciinema-theme-tango .asciinema-terminal { + color: #CCCCCC; + background-color: #121314; + border-color: #121314; +} +.asciinema-theme-tango .fg-bg { + color: #121314; +} +.asciinema-theme-tango .bg-fg { + background-color: #CCCCCC; +} +.asciinema-theme-tango .fg-0 { + color: #000000; +} +.asciinema-theme-tango .bg-0 { + background-color: #000000; +} +.asciinema-theme-tango .fg-1 { + color: #CC0000; +} +.asciinema-theme-tango .bg-1 { + background-color: #CC0000; +} +.asciinema-theme-tango .fg-2 { + color: #4E9A06; +} +.asciinema-theme-tango .bg-2 { + background-color: #4E9A06; +} +.asciinema-theme-tango .fg-3 { + color: #C4A000; +} +.asciinema-theme-tango .bg-3 { + background-color: #C4A000; +} +.asciinema-theme-tango .fg-4 { + color: #3465A4; +} +.asciinema-theme-tango .bg-4 { + background-color: #3465A4; +} +.asciinema-theme-tango .fg-5 { + color: #75507B; +} +.asciinema-theme-tango .bg-5 { + background-color: #75507B; +} +.asciinema-theme-tango .fg-6 { + color: #06989A; +} +.asciinema-theme-tango .bg-6 { + background-color: #06989A; +} +.asciinema-theme-tango .fg-7 { + color: #D3D7CF; +} +.asciinema-theme-tango .bg-7 { + background-color: #D3D7CF; +} +.asciinema-theme-tango .fg-8 { + color: #555753; +} +.asciinema-theme-tango .bg-8 { + background-color: #555753; +} +.asciinema-theme-tango .fg-9 { + color: #EF2929; +} +.asciinema-theme-tango .bg-9 { + background-color: #EF2929; +} +.asciinema-theme-tango .fg-10 { + color: #8AE234; +} +.asciinema-theme-tango .bg-10 { + background-color: #8AE234; +} +.asciinema-theme-tango .fg-11 { + color: #FCE94F; +} +.asciinema-theme-tango .bg-11 { + background-color: #FCE94F; +} +.asciinema-theme-tango .fg-12 { + color: #729FCF; +} +.asciinema-theme-tango .bg-12 { + background-color: #729FCF; +} +.asciinema-theme-tango .fg-13 { + color: #AD7FA8; +} +.asciinema-theme-tango .bg-13 { + background-color: #AD7FA8; +} +.asciinema-theme-tango .fg-14 { + color: #34E2E2; +} +.asciinema-theme-tango .bg-14 { + background-color: #34E2E2; +} +.asciinema-theme-tango .fg-15 { + color: #EEEEEC; +} +.asciinema-theme-tango .bg-15 { + background-color: #EEEEEC; +} +.asciinema-theme-tango .fg-8, +.asciinema-theme-tango .fg-9, +.asciinema-theme-tango .fg-10, +.asciinema-theme-tango .fg-11, +.asciinema-theme-tango .fg-12, +.asciinema-theme-tango .fg-13, +.asciinema-theme-tango .fg-14, +.asciinema-theme-tango .fg-15 { + font-weight: bold; +} +.asciinema-theme-solarized-dark { + background-color: #002b36; +} +.asciinema-theme-solarized-dark .asciinema-terminal { + color: #839496; + background-color: #002b36; + border-color: #002b36; +} +.asciinema-theme-solarized-dark .fg-bg { + color: #002b36; +} +.asciinema-theme-solarized-dark .bg-fg { + background-color: #839496; +} +.asciinema-theme-solarized-dark .fg-0 { + color: #073642; +} +.asciinema-theme-solarized-dark .bg-0 { + background-color: #073642; +} +.asciinema-theme-solarized-dark .fg-1 { + color: #dc322f; +} +.asciinema-theme-solarized-dark .bg-1 { + background-color: #dc322f; +} +.asciinema-theme-solarized-dark .fg-2 { + color: #859900; +} +.asciinema-theme-solarized-dark .bg-2 { + background-color: #859900; +} +.asciinema-theme-solarized-dark .fg-3 { + color: #b58900; +} +.asciinema-theme-solarized-dark .bg-3 { + background-color: #b58900; +} +.asciinema-theme-solarized-dark .fg-4 { + color: #268bd2; +} +.asciinema-theme-solarized-dark .bg-4 { + background-color: #268bd2; +} +.asciinema-theme-solarized-dark .fg-5 { + color: #d33682; +} +.asciinema-theme-solarized-dark .bg-5 { + background-color: #d33682; +} +.asciinema-theme-solarized-dark .fg-6 { + color: #2aa198; +} +.asciinema-theme-solarized-dark .bg-6 { + background-color: #2aa198; +} +.asciinema-theme-solarized-dark .fg-7 { + color: #eee8d5; +} +.asciinema-theme-solarized-dark .bg-7 { + background-color: #eee8d5; +} +.asciinema-theme-solarized-dark .fg-8 { + color: #002b36; +} +.asciinema-theme-solarized-dark .bg-8 { + background-color: #002b36; +} +.asciinema-theme-solarized-dark .fg-9 { + color: #cb4b16; +} +.asciinema-theme-solarized-dark .bg-9 { + background-color: #cb4b16; +} +.asciinema-theme-solarized-dark .fg-10 { + color: #586e75; +} +.asciinema-theme-solarized-dark .bg-10 { + background-color: #586e75; +} +.asciinema-theme-solarized-dark .fg-11 { + color: #657b83; +} +.asciinema-theme-solarized-dark .bg-11 { + background-color: #657b83; +} +.asciinema-theme-solarized-dark .fg-12 { + color: #839496; +} +.asciinema-theme-solarized-dark .bg-12 { + background-color: #839496; +} +.asciinema-theme-solarized-dark .fg-13 { + color: #6c71c4; +} +.asciinema-theme-solarized-dark .bg-13 { + background-color: #6c71c4; +} +.asciinema-theme-solarized-dark .fg-14 { + color: #93a1a1; +} +.asciinema-theme-solarized-dark .bg-14 { + background-color: #93a1a1; +} +.asciinema-theme-solarized-dark .fg-15 { + color: #fdf6e3; +} +.asciinema-theme-solarized-dark .bg-15 { + background-color: #fdf6e3; +} +.asciinema-theme-solarized-light { + background-color: #fdf6e3; +} +.asciinema-theme-solarized-light .asciinema-terminal { + color: #657b83; + background-color: #fdf6e3; + border-color: #fdf6e3; +} +.asciinema-theme-solarized-light .fg-bg { + color: #fdf6e3; +} +.asciinema-theme-solarized-light .bg-fg { + background-color: #657b83; +} +.asciinema-theme-solarized-light .fg-0 { + color: #073642; +} +.asciinema-theme-solarized-light .bg-0 { + background-color: #073642; +} +.asciinema-theme-solarized-light .fg-1 { + color: #dc322f; +} +.asciinema-theme-solarized-light .bg-1 { + background-color: #dc322f; +} +.asciinema-theme-solarized-light .fg-2 { + color: #859900; +} +.asciinema-theme-solarized-light .bg-2 { + background-color: #859900; +} +.asciinema-theme-solarized-light .fg-3 { + color: #b58900; +} +.asciinema-theme-solarized-light .bg-3 { + background-color: #b58900; +} +.asciinema-theme-solarized-light .fg-4 { + color: #268bd2; +} +.asciinema-theme-solarized-light .bg-4 { + background-color: #268bd2; +} +.asciinema-theme-solarized-light .fg-5 { + color: #d33682; +} +.asciinema-theme-solarized-light .bg-5 { + background-color: #d33682; +} +.asciinema-theme-solarized-light .fg-6 { + color: #2aa198; +} +.asciinema-theme-solarized-light .bg-6 { + background-color: #2aa198; +} +.asciinema-theme-solarized-light .fg-7 { + color: #eee8d5; +} +.asciinema-theme-solarized-light .bg-7 { + background-color: #eee8d5; +} +.asciinema-theme-solarized-light .fg-8 { + color: #002b36; +} +.asciinema-theme-solarized-light .bg-8 { + background-color: #002b36; +} +.asciinema-theme-solarized-light .fg-9 { + color: #cb4b16; +} +.asciinema-theme-solarized-light .bg-9 { + background-color: #cb4b16; +} +.asciinema-theme-solarized-light .fg-10 { + color: #586e75; +} +.asciinema-theme-solarized-light .bg-10 { + background-color: #586e75; +} +.asciinema-theme-solarized-light .fg-11 { + color: #657c83; +} +.asciinema-theme-solarized-light .bg-11 { + background-color: #657c83; +} +.asciinema-theme-solarized-light .fg-12 { + color: #839496; +} +.asciinema-theme-solarized-light .bg-12 { + background-color: #839496; +} +.asciinema-theme-solarized-light .fg-13 { + color: #6c71c4; +} +.asciinema-theme-solarized-light .bg-13 { + background-color: #6c71c4; +} +.asciinema-theme-solarized-light .fg-14 { + color: #93a1a1; +} +.asciinema-theme-solarized-light .bg-14 { + background-color: #93a1a1; +} +.asciinema-theme-solarized-light .fg-15 { + color: #fdf6e3; +} +.asciinema-theme-solarized-light .bg-15 { + background-color: #fdf6e3; +} +.asciinema-theme-solarized-light .start-prompt .play-button svg .play-btn-fill { + fill: #dc322f; +} +.asciinema-theme-solarized-light .start-prompt .play-button svg .play-btn-stroke { + stroke: #dc322f; +} +.asciinema-theme-seti { + background-color: #111213; +} +.asciinema-theme-seti .asciinema-terminal { + color: #cacecd; + background-color: #111213; + border-color: #111213; +} +.asciinema-theme-seti .fg-bg { + color: #111213; +} +.asciinema-theme-seti .bg-fg { + background-color: #cacecd; +} +.asciinema-theme-seti .fg-0 { + color: #323232; +} +.asciinema-theme-seti .bg-0 { + background-color: #323232; +} +.asciinema-theme-seti .fg-1 { + color: #c22832; +} +.asciinema-theme-seti .bg-1 { + background-color: #c22832; +} +.asciinema-theme-seti .fg-2 { + color: #8ec43d; +} +.asciinema-theme-seti .bg-2 { + background-color: #8ec43d; +} +.asciinema-theme-seti .fg-3 { + color: #e0c64f; +} +.asciinema-theme-seti .bg-3 { + background-color: #e0c64f; +} +.asciinema-theme-seti .fg-4 { + color: #43a5d5; +} +.asciinema-theme-seti .bg-4 { + background-color: #43a5d5; +} +.asciinema-theme-seti .fg-5 { + color: #8b57b5; +} +.asciinema-theme-seti .bg-5 { + background-color: #8b57b5; +} +.asciinema-theme-seti .fg-6 { + color: #8ec43d; +} +.asciinema-theme-seti .bg-6 { + background-color: #8ec43d; +} +.asciinema-theme-seti .fg-7 { + color: #eeeeee; +} +.asciinema-theme-seti .bg-7 { + background-color: #eeeeee; +} +.asciinema-theme-seti .fg-8 { + color: #323232; +} +.asciinema-theme-seti .bg-8 { + background-color: #323232; +} +.asciinema-theme-seti .fg-9 { + color: #c22832; +} +.asciinema-theme-seti .bg-9 { + background-color: #c22832; +} +.asciinema-theme-seti .fg-10 { + color: #8ec43d; +} +.asciinema-theme-seti .bg-10 { + background-color: #8ec43d; +} +.asciinema-theme-seti .fg-11 { + color: #e0c64f; +} +.asciinema-theme-seti .bg-11 { + background-color: #e0c64f; +} +.asciinema-theme-seti .fg-12 { + color: #43a5d5; +} +.asciinema-theme-seti .bg-12 { + background-color: #43a5d5; +} +.asciinema-theme-seti .fg-13 { + color: #8b57b5; +} +.asciinema-theme-seti .bg-13 { + background-color: #8b57b5; +} +.asciinema-theme-seti .fg-14 { + color: #8ec43d; +} +.asciinema-theme-seti .bg-14 { + background-color: #8ec43d; +} +.asciinema-theme-seti .fg-15 { + color: #ffffff; +} +.asciinema-theme-seti .bg-15 { + background-color: #ffffff; +} +.asciinema-theme-seti .fg-8, +.asciinema-theme-seti .fg-9, +.asciinema-theme-seti .fg-10, +.asciinema-theme-seti .fg-11, +.asciinema-theme-seti .fg-12, +.asciinema-theme-seti .fg-13, +.asciinema-theme-seti .fg-14, +.asciinema-theme-seti .fg-15 { + font-weight: bold; +} +/* Based on Monokai from base16 collection - https://github.com/chriskempson/base16 */ +.asciinema-theme-monokai { + background-color: #272822; +} +.asciinema-theme-monokai .asciinema-terminal { + color: #f8f8f2; + background-color: #272822; + border-color: #272822; +} +.asciinema-theme-monokai .fg-bg { + color: #272822; +} +.asciinema-theme-monokai .bg-fg { + background-color: #f8f8f2; +} +.asciinema-theme-monokai .fg-0 { + color: #272822; +} +.asciinema-theme-monokai .bg-0 { + background-color: #272822; +} +.asciinema-theme-monokai .fg-1 { + color: #f92672; +} +.asciinema-theme-monokai .bg-1 { + background-color: #f92672; +} +.asciinema-theme-monokai .fg-2 { + color: #a6e22e; +} +.asciinema-theme-monokai .bg-2 { + background-color: #a6e22e; +} +.asciinema-theme-monokai .fg-3 { + color: #f4bf75; +} +.asciinema-theme-monokai .bg-3 { + background-color: #f4bf75; +} +.asciinema-theme-monokai .fg-4 { + color: #66d9ef; +} +.asciinema-theme-monokai .bg-4 { + background-color: #66d9ef; +} +.asciinema-theme-monokai .fg-5 { + color: #ae81ff; +} +.asciinema-theme-monokai .bg-5 { + background-color: #ae81ff; +} +.asciinema-theme-monokai .fg-6 { + color: #a1efe4; +} +.asciinema-theme-monokai .bg-6 { + background-color: #a1efe4; +} +.asciinema-theme-monokai .fg-7 { + color: #f8f8f2; +} +.asciinema-theme-monokai .bg-7 { + background-color: #f8f8f2; +} +.asciinema-theme-monokai .fg-8 { + color: #75715e; +} +.asciinema-theme-monokai .bg-8 { + background-color: #75715e; +} +.asciinema-theme-monokai .fg-9 { + color: #f92672; +} +.asciinema-theme-monokai .bg-9 { + background-color: #f92672; +} +.asciinema-theme-monokai .fg-10 { + color: #a6e22e; +} +.asciinema-theme-monokai .bg-10 { + background-color: #a6e22e; +} +.asciinema-theme-monokai .fg-11 { + color: #f4bf75; +} +.asciinema-theme-monokai .bg-11 { + background-color: #f4bf75; +} +.asciinema-theme-monokai .fg-12 { + color: #66d9ef; +} +.asciinema-theme-monokai .bg-12 { + background-color: #66d9ef; +} +.asciinema-theme-monokai .fg-13 { + color: #ae81ff; +} +.asciinema-theme-monokai .bg-13 { + background-color: #ae81ff; +} +.asciinema-theme-monokai .fg-14 { + color: #a1efe4; +} +.asciinema-theme-monokai .bg-14 { + background-color: #a1efe4; +} +.asciinema-theme-monokai .fg-15 { + color: #f9f8f5; +} +.asciinema-theme-monokai .bg-15 { + background-color: #f9f8f5; +} +.asciinema-theme-monokai .fg-8, +.asciinema-theme-monokai .fg-9, +.asciinema-theme-monokai .fg-10, +.asciinema-theme-monokai .fg-11, +.asciinema-theme-monokai .fg-12, +.asciinema-theme-monokai .fg-13, +.asciinema-theme-monokai .fg-14, +.asciinema-theme-monokai .fg-15 { + font-weight: bold; +} +/* + Based on Nord: https://github.com/arcticicestudio/nord + Via: https://github.com/neilotoole/asciinema-theme-nord + */ +.asciinema-theme-nord { + background-color: #2E3440; +} +.asciinema-theme-nord .asciinema-terminal { + color: #ECEFF4; + background-color: #2E3440; + border-color: #2E3440; +} +.asciinema-theme-nord .fg-bg { + color: #2E3440; +} +.asciinema-theme-nord .bg-fg { + background-color: #ECEFF4; +} +.asciinema-theme-nord .fg-0 { + color: #3B4252; +} +.asciinema-theme-nord .bg-0 { + background-color: #3B4252; +} +.asciinema-theme-nord .fg-1 { + color: #BF616A; +} +.asciinema-theme-nord .bg-1 { + background-color: #BF616A; +} +.asciinema-theme-nord .fg-2 { + color: #A3BE8C; +} +.asciinema-theme-nord .bg-2 { + background-color: #A3BE8C; +} +.asciinema-theme-nord .fg-3 { + color: #EBCB8B; +} +.asciinema-theme-nord .bg-3 { + background-color: #EBCB8B; +} +.asciinema-theme-nord .fg-4 { + color: #81A1C1; +} +.asciinema-theme-nord .bg-4 { + background-color: #81A1C1; +} +.asciinema-theme-nord .fg-5 { + color: #B48EAD; +} +.asciinema-theme-nord .bg-5 { + background-color: #B48EAD; +} +.asciinema-theme-nord .fg-6 { + color: #88C0D0; +} +.asciinema-theme-nord .bg-6 { + background-color: #88C0D0; +} +.asciinema-theme-nord .fg-7 { + color: #ECEFF4; +} +.asciinema-theme-nord .bg-7 { + background-color: #ECEFF4; +} +.asciinema-theme-nord .fg-8 { + color: #3B4252; +} +.asciinema-theme-nord .bg-8 { + background-color: #3B4252; +} +.asciinema-theme-nord .fg-9 { + color: #BF616A; +} +.asciinema-theme-nord .bg-9 { + background-color: #BF616A; +} +.asciinema-theme-nord .fg-10 { + color: #A3BE8C; +} +.asciinema-theme-nord .bg-10 { + background-color: #A3BE8C; +} +.asciinema-theme-nord .fg-11 { + color: #EBCB8B; +} +.asciinema-theme-nord .bg-11 { + background-color: #EBCB8B; +} +.asciinema-theme-nord .fg-12 { + color: #81A1C1; +} +.asciinema-theme-nord .bg-12 { + background-color: #81A1C1; +} +.asciinema-theme-nord .fg-13 { + color: #B48EAD; +} +.asciinema-theme-nord .bg-13 { + background-color: #B48EAD; +} +.asciinema-theme-nord .fg-14 { + color: #88C0D0; +} +.asciinema-theme-nord .bg-14 { + background-color: #88C0D0; +} +.asciinema-theme-nord .fg-15 { + color: #ECEFF4; +} +.asciinema-theme-nord .bg-15 { + background-color: #ECEFF4; +} +.asciinema-theme-nord .fg-8, +.asciinema-theme-nord .fg-9, +.asciinema-theme-nord .fg-10, +.asciinema-theme-nord .fg-11, +.asciinema-theme-nord .fg-12, +.asciinema-theme-nord .fg-13, +.asciinema-theme-nord .fg-14, +.asciinema-theme-nord .fg-15 { + font-weight: bold; +} diff --git a/en/assets/external/asciinema-player.min.js b/en/assets/external/asciinema-player.min.js new file mode 100644 index 00000000..c81329b3 --- /dev/null +++ b/en/assets/external/asciinema-player.min.js @@ -0,0 +1 @@ +var AsciinemaPlayer=function(A){"use strict";const g={};const I=Symbol("solid-proxy"),B=Symbol("solid-track"),Q={equals:(A,g)=>A===g};let C=f;const E=1,i=2,e={owned:null,cleanups:null,context:null,owner:null};var t=null;let o=null,s=null,n=null,r=null,a=0;function c(A,g){const I=s,B=t,Q=0===A.length,C=Q?e:{owned:null,cleanups:null,context:null,owner:void 0===g?B:g},E=Q?A:()=>A((()=>y((()=>U(C)))));t=C,s=null;try{return J(E,!0)}finally{s=I,t=B}}function D(A,g){const I={value:A,observers:null,observerSlots:null,comparator:(g=g?Object.assign({},Q,g):Q).equals||void 0};return[R.bind(I),A=>("function"==typeof A&&(A=A(I.value)),M(I,A))]}function w(A,g,I){u(d(A,g,!1,E))}function h(A,g,I){C=S;const B=d(A,g,!1,E);B.user=!0,r?r.push(B):u(B)}function l(A,g,I){I=I?Object.assign({},Q,I):Q;const B=d(A,g,!0,0);return B.observers=null,B.observerSlots=null,B.comparator=I.equals||void 0,u(B),R.bind(B)}function y(A){if(null===s)return A();const g=s;s=null;try{return A()}finally{s=g}}function G(A){h((()=>y(A)))}function N(A){return null===t||(null===t.cleanups?t.cleanups=[A]:t.cleanups.push(A)),A}function k(){return s}function F(A){const g=l(A),I=l((()=>H(g())));return I.toArray=()=>{const A=I();return Array.isArray(A)?A:null!=A?[A]:[]},I}function R(){const A=o;if(this.sources&&(this.state||A))if(this.state===E||A)u(this);else{const A=n;n=null,J((()=>L(this)),!1),n=A}if(s){const A=this.observers?this.observers.length:0;s.sources?(s.sources.push(this),s.sourceSlots.push(A)):(s.sources=[this],s.sourceSlots=[A]),this.observers?(this.observers.push(s),this.observerSlots.push(s.sources.length-1)):(this.observers=[s],this.observerSlots=[s.sources.length-1])}return this.value}function M(A,g,I){let B=A.value;return A.comparator&&A.comparator(B,g)||(A.value=g,A.observers&&A.observers.length&&J((()=>{for(let g=0;g1e6)throw n=[],new Error}),!1)),g}function u(A){if(!A.fn)return;U(A);const g=t,I=s,B=a;s=t=A,function(A,g,I){let B;try{B=A.fn(g)}catch(g){A.pure&&(A.state=E,A.owned&&A.owned.forEach(U),A.owned=null),K(g)}(!A.updatedAt||A.updatedAt<=I)&&(null!=A.updatedAt&&"observers"in A?M(A,B):A.value=B,A.updatedAt=I)}(A,A.value,B),s=I,t=g}function d(A,g,I,B=E,Q){const C={fn:A,state:B,updatedAt:null,owned:null,sources:null,sourceSlots:null,cleanups:null,value:g,owner:t,context:null,pure:I};return null===t||t!==e&&(t.owned?t.owned.push(C):t.owned=[C]),C}function Y(A){const g=o;if(0===A.state||g)return;if(A.state===i||g)return L(A);if(A.suspense&&y(A.suspense.inFallback))return A.suspense.effects.push(A);const I=[A];for(;(A=A.owner)&&(!A.updatedAt||A.updatedAt=0;B--)if((A=I[B]).state===E||g)u(A);else if(A.state===i||g){const g=n;n=null,J((()=>L(A,I[0])),!1),n=g}}function J(A,g){if(n)return A();let I=!1;g||(n=[]),r?I=!0:r=[],a++;try{const g=A();return function(A){n&&(f(n),n=null);if(A)return;const g=r;r=null,g.length&&J((()=>C(g)),!1)}(I),g}catch(A){I||(r=null),n=null,K(A)}}function f(A){for(let g=0;gA(g||{})))}function m(A){const g="fallback"in A&&{fallback:()=>A.fallback};return l(function(A,g,I={}){let Q=[],C=[],E=[],i=0,e=g.length>1?[]:null;return N((()=>q(E))),()=>{let t,o,s=A()||[];return s[B],y((()=>{let A,g,B,r,a,D,w,h,l,y=s.length;if(0===y)0!==i&&(q(E),E=[],Q=[],C=[],i=0,e&&(e=[])),I.fallback&&(Q=[b],C[0]=c((A=>(E[0]=A,I.fallback()))),i=1);else if(0===i){for(C=new Array(y),o=0;o=D&&h>=D&&Q[w]===s[h];w--,h--)B[h]=C[w],r[h]=E[w],e&&(a[h]=e[w]);for(A=new Map,g=new Array(h+1),o=h;o>=D;o--)l=s[o],t=A.get(l),g[o]=void 0===t?-1:t,A.set(l,o);for(t=D;t<=w;t++)l=Q[t],o=A.get(l),void 0!==o&&-1!==o?(B[o]=C[t],r[o]=E[t],e&&(a[o]=e[t]),o=g[o],A.set(l,o)):E[t]();for(o=D;oA.each),A.children,g||void 0))}function j(A){const g="fallback"in A&&{fallback:()=>A.fallback};return l(function(A,g,I={}){let Q,C=[],E=[],i=[],e=[],t=0;return N((()=>q(i))),()=>{const o=A()||[];return o[B],y((()=>{if(0===o.length)return 0!==t&&(q(i),i=[],C=[],E=[],t=0,e=[]),I.fallback&&(C=[b],E[0]=c((A=>(i[0]=A,I.fallback()))),t=1),E;for(C[0]===b&&(i[0](),i=[],C=[],E=[],t=0),Q=0;Qo[Q])):Q>=C.length&&(E[Q]=c(s));for(;QA.each),A.children,g||void 0))}function x(A){let g=!1;const I=A.keyed,B=l((()=>A.when),void 0,{equals:(A,I)=>g?A===I:!A==!I});return l((()=>{const Q=B();if(Q){const B=A.children,C="function"==typeof B&&B.length>0;return g=I||C,C?y((()=>B(Q))):B}return A.fallback}),void 0,void 0)}function W(A){let g=!1,I=!1;const B=F((()=>A.children)),Q=l((()=>{let A=B();Array.isArray(A)||(A=[A]);for(let g=0;gA[0]===I[0]&&(g?A[1]===I[1]:!A[1]==!I[1])&&A[2]===I[2]});return l((()=>{const[B,C,E]=Q();if(B<0)return A.fallback;const i=E.children,e="function"==typeof i&&i.length>0;return g=I||e,e?y((()=>i(C))):i}),void 0,void 0)}function T(A){return A}const Z="_$DX_DELEGATE";function X(A,g,I){const B=document.createElement("template");B.innerHTML=A;let Q=B.content.firstChild;return I&&(Q=Q.firstChild),Q}function O(A,g=window.document){const I=g[Z]||(g[Z]=new Set);for(let B=0,Q=A.length;BB.call(A,I[1],g))}else A.addEventListener(g,I)}function P(A,g,I){if(!g)return I?function(A,g,I){null==I?A.removeAttribute(g):A.setAttribute(g,I)}(A,"style"):g;const B=A.style;if("string"==typeof g)return B.cssText=g;let Q,C;for(C in"string"==typeof I&&(B.cssText=I=void 0),I||(I={}),g||(g={}),I)null==g[C]&&B.removeProperty(C),delete I[C];for(C in g)Q=g[C],Q!==I[C]&&(B.setProperty(C,Q),I[C]=Q);return I}function _(A,g,I){return y((()=>A(g,I)))}function $(A,g,I,B){if(void 0===I||B||(B=[]),"function"!=typeof g)return gA(A,g,B,I);w((B=>gA(A,g(),B,I)),B)}function AA(A){const I=`$$${A.type}`;let B=A.composedPath&&A.composedPath()[0]||A.target;for(A.target!==B&&Object.defineProperty(A,"target",{configurable:!0,value:B}),Object.defineProperty(A,"currentTarget",{configurable:!0,get:()=>B||document}),g.registry&&!g.done&&(g.done=!0,document.querySelectorAll("[id^=pl-]").forEach((g=>{for(;g&&8!==g.nodeType&&g.nodeValue!=="pl-"+A;){let A=g.nextSibling;g.remove(),g=A}g&&g.remove()})));B;){const g=B[I];if(g&&!B.disabled){const Q=B[`${I}Data`];if(void 0!==Q?g.call(B,Q,A):g.call(B,A),A.cancelBubble)return}B=B._$host||B.parentNode||B.host}}function gA(A,I,B,Q,C){for(g.context&&!B&&(B=[...A.childNodes]);"function"==typeof B;)B=B();if(I===B)return B;const E=typeof I,i=void 0!==Q;if(A=i&&B[0]&&B[0].parentNode||A,"string"===E||"number"===E){if(g.context)return B;if("number"===E&&(I=I.toString()),i){let g=B[0];g&&3===g.nodeType?g.data=I:g=document.createTextNode(I),B=QA(A,B,Q,g)}else B=""!==B&&"string"==typeof B?A.firstChild.data=I:A.textContent=I}else if(null==I||"boolean"===E){if(g.context)return B;B=QA(A,B,Q)}else{if("function"===E)return w((()=>{let g=I();for(;"function"==typeof g;)g=g();B=gA(A,g,B,Q)})),()=>B;if(Array.isArray(I)){const E=[],e=B&&Array.isArray(B);if(IA(E,I,B,C))return w((()=>B=gA(A,E,B,Q,!0))),()=>B;if(g.context){if(!E.length)return B;for(let A=0;AB-i){const Q=g[E];for(;i=0;C--){const E=g[C];if(Q!==E){const g=E.parentNode===A;B||C?g&&E.remove():g?A.replaceChild(Q,E):A.insertBefore(Q,I)}else B=!0}}else A.insertBefore(Q,I);return[Q]}let CA;const EA=new Array(128).fill(void 0);function iA(A){return EA[A]}EA.push(void 0,null,!0,!1);let eA=EA.length;function tA(A){const g=iA(A);return function(A){A<132||(EA[A]=eA,eA=A)}(A),g}const oA=new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0});oA.decode();let sA=null;function nA(){return null!==sA&&0!==sA.byteLength||(sA=new Uint8Array(CA.memory.buffer)),sA}function rA(A,g){return oA.decode(nA().subarray(A,A+g))}function aA(A){eA===EA.length&&EA.push(EA.length+1);const g=eA;return eA=EA[g],EA[g]=A,g}function cA(A){const g=typeof A;if("number"==g||"boolean"==g||null==A)return`${A}`;if("string"==g)return`"${A}"`;if("symbol"==g){const g=A.description;return null==g?"Symbol":`Symbol(${g})`}if("function"==g){const g=A.name;return"string"==typeof g&&g.length>0?`Function(${g})`:"Function"}if(Array.isArray(A)){const g=A.length;let I="[";g>0&&(I+=cA(A[0]));for(let B=1;B1))return toString.call(A);if(B=I[1],"Object"==B)try{return"Object("+JSON.stringify(A)+")"}catch(A){return"Object"}return A instanceof Error?`${A.name}: ${A.message}\n${A.stack}`:B}let DA=0;const wA=new TextEncoder("utf-8"),hA="function"==typeof wA.encodeInto?function(A,g){return wA.encodeInto(A,g)}:function(A,g){const I=wA.encode(A);return g.set(I),{read:A.length,written:I.length}};function lA(A,g,I){if(void 0===I){const I=wA.encode(A),B=g(I.length);return nA().subarray(B,B+I.length).set(I),DA=I.length,B}let B=A.length,Q=g(B);const C=nA();let E=0;for(;E127)break;C[Q+E]=g}if(E!==B){0!==E&&(A=A.slice(E)),Q=I(Q,B,B=E+3*A.length);const g=nA().subarray(Q+E,Q+B);E+=hA(A,g).written}return DA=E,Q}let yA=null;function GA(){return null!==yA&&0!==yA.byteLength||(yA=new Int32Array(CA.memory.buffer)),yA}let NA=null;function kA(A,g){return(null!==NA&&0!==NA.byteLength||(NA=new Uint32Array(CA.memory.buffer)),NA).subarray(A/4,A/4+g)}class FA{static __wrap(A){const g=Object.create(FA.prototype);return g.ptr=A,g}__destroy_into_raw(){const A=this.ptr;return this.ptr=0,A}free(){const A=this.__destroy_into_raw();CA.__wbg_vtwrapper_free(A)}feed(A){try{const Q=CA.__wbindgen_add_to_stack_pointer(-16),C=lA(A,CA.__wbindgen_malloc,CA.__wbindgen_realloc),E=DA;CA.vtwrapper_feed(Q,this.ptr,C,E);var g=GA()[Q/4+0],I=GA()[Q/4+1],B=kA(g,I).slice();return CA.__wbindgen_free(g,4*I),B}finally{CA.__wbindgen_add_to_stack_pointer(16)}}inspect(){try{const I=CA.__wbindgen_add_to_stack_pointer(-16);CA.vtwrapper_inspect(I,this.ptr);var A=GA()[I/4+0],g=GA()[I/4+1];return rA(A,g)}finally{CA.__wbindgen_add_to_stack_pointer(16),CA.__wbindgen_free(A,g)}}get_line(A){return tA(CA.vtwrapper_get_line(this.ptr,A))}get_cursor(){return tA(CA.vtwrapper_get_cursor(this.ptr))}}function RA(){const A={wbg:{}};return A.wbg.__wbindgen_object_drop_ref=function(A){tA(A)},A.wbg.__wbindgen_error_new=function(A,g){return aA(new Error(rA(A,g)))},A.wbg.__wbindgen_number_new=function(A){return aA(A)},A.wbg.__wbindgen_bigint_from_u64=function(A){return aA(BigInt.asUintN(64,A))},A.wbg.__wbindgen_string_new=function(A,g){return aA(rA(A,g))},A.wbg.__wbg_set_20cbc34131e76824=function(A,g,I){iA(A)[tA(g)]=tA(I)},A.wbg.__wbg_new_b525de17f44a8943=function(){return aA(new Array)},A.wbg.__wbg_new_f841cc6f2098f4b5=function(){return aA(new Map)},A.wbg.__wbg_new_f9876326328f45ed=function(){return aA(new Object)},A.wbg.__wbindgen_is_string=function(A){return"string"==typeof iA(A)},A.wbg.__wbg_set_17224bc548dd1d7b=function(A,g,I){iA(A)[g>>>0]=tA(I)},A.wbg.__wbg_set_388c4c6422704173=function(A,g,I){return aA(iA(A).set(iA(g),iA(I)))},A.wbg.__wbindgen_debug_string=function(A,g){const I=lA(cA(iA(g)),CA.__wbindgen_malloc,CA.__wbindgen_realloc),B=DA;GA()[A/4+1]=B,GA()[A/4+0]=I},A.wbg.__wbindgen_throw=function(A,g){throw new Error(rA(A,g))},A}function MA(A,g){return CA=A.exports,uA.__wbindgen_wasm_module=g,yA=null,NA=null,sA=null,CA}async function uA(A){const g=RA();("string"==typeof A||"function"==typeof Request&&A instanceof Request||"function"==typeof URL&&A instanceof URL)&&(A=fetch(A));const{instance:I,module:B}=await async function(A,g){if("function"==typeof Response&&A instanceof Response){if("function"==typeof WebAssembly.instantiateStreaming)try{return await WebAssembly.instantiateStreaming(A,g)}catch(g){if("application/wasm"==A.headers.get("Content-Type"))throw g;console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n",g)}const I=await A.arrayBuffer();return await WebAssembly.instantiate(I,g)}{const I=await WebAssembly.instantiate(A,g);return I instanceof WebAssembly.Instance?{instance:I,module:A}:I}}(await A,g);return MA(I,B)}var dA=Object.freeze({__proto__:null,VtWrapper:FA,create:function(A,g){const I=CA.create(A,g);return FA.__wrap(I)},default:uA,initSync:function(A){const g=RA();return A instanceof WebAssembly.Module||(A=new WebAssembly.Module(A)),MA(new WebAssembly.Instance(A,g),A)}});const YA=[62,0,0,0,63,52,53,54,55,56,57,58,59,60,61,0,0,0,0,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,0,0,0,0,0,0,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51];function JA(A){return YA[A-43]}const fA=function(A){let g,I=A.endsWith("==")?2:A.endsWith("=")?1:0,B=A.length,Q=new Uint8Array(B/4*3);for(let I=0,C=0;I>16,Q[C+1]=g>>8&255,Q[C+2]=255&g;return Q.subarray(0,Q.length-I)}("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KAIAIAMoAggiAmtLBEAgAyACIAAQMSADKAIIIQILIAMoAgQgAmogBEEMaiAAEL0BGiADIAAgAmo2AggLIARBEGokAEEAC7wCAAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAFBCGsOCAECAwQFDwYHAAsgAUGEAWsOCgcICwsJCwsLCwoLCyAAQQA6AKsBIABBACAAKAI4QQFrIgEgACgCMCIAQQFrIAAgAUsbIAFBAEgbNgI4DwsgAEEBECgPCyAAEF0gAC0AqgFFDQgMCwsgABBdIAAtAKoBRQ0HDAoLIAAQXSAALQCqAUUNBgwJCyAAQQE2AkAPCyAAQQA2AkAPCyAAEF0gAC0AqgFFDQMMBgsgABBdDAULIAAQVA8LIAAoAjwiASAAKAJERg0BIAENAgsPCyAAQQEQRg8LIABBADoAqwEgACABQQFrNgI8IAAgACgCOCIBIAAoAjBBAWsiACAAIAFLGzYCOA8LIABBADoAqwEgAEEANgI4C8ACAgV/AX4jAEEwayIEJABBJyECAkAgAEKQzgBUBEAgACEHDAELA0AgBEEJaiACaiIDQQRrIAAgAEKQzgCAIgdCkM4Afn2nIgVB//8DcUHkAG4iBkEBdEHGpMAAai8AADsAACADQQJrIAUgBkHkAGxrQf//A3FBAXRBxqTAAGovAAA7AAAgAkEEayECIABC/8HXL1YgByEADQALCyAHpyIDQeMASwRAIAenIgVB//8DcUHkAG4hAyACQQJrIgIgBEEJamogBSADQeQAbGtB//8DcUEBdEHGpMAAai8AADsAAAsCQCADQQpPBEAgAkECayICIARBCWpqIANBAXRBxqTAAGovAAA7AAAMAQsgAkEBayICIARBCWpqIANBMGo6AAALIAFByKHAAEEAIARBCWogAmpBJyACaxAUIARBMGokAAuwAgEDfyMAQUBqIgMkACADQRBqIAAoAjAiBBBFIANBADYCICADIAMpAxA3AxggA0EyaiAAQZoBaikBADcBACADQSA2AiggAyAAKQKUATcCLCADQRhqIAQgA0EoahAwAkAgASACTQRAIABB7ABqKAIAIgQgAkkNASABIAJHBEAgAEHoAGooAgAgAUEMbGoiACACIAFrQQxsaiECA0AgAygCHCEEIANBCGogAygCICIBEEUgAygCCCEFIAMoAgwg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MCAEKAI0EC0gA0EwaiACEDUgBEEAOgCkASAEQcwAaiAEKAJMBEAgBEHQAGooAgAQEAsgBEKAgICAIDcCTCAEQdQAaiICQQA2AgBBABBmIARB0ABqKAIAIAIoAgBBAXRqQQA7AQAgAiACKAIAQQFqNgIAIAQoAlgEQCAEKAJcEBALIARBADYCYCAEQoCAgIDAADcCWCADQRBqIgUgA0EoaigCADYCACADIAMpAyA3AwggBEHkAGoiAhBgIAQoAmQEQCAEQegAaigCABAQCyACIAMpAwg3AgAgAkEIaiAFKAIANgIAIARB8ABqIgIQYCAEKAJwBEAgBEH0AGooAgAQEAsgAiADKQMwNwIAIARBADoApQEgAkEIaiADQThqKAIANgIAIANBCGogBCgCMBA/IARB/ABqIQIgBCgCfARAIARBgAFqKAIAEBALIAIgAykDCDcCACACQQhqIANBCGoiCUEIaiICKAIANgIAIARBAToApgEgBEIANwI4IANBD2oiBUEAOwAAIARBmAFqQQI6AAAgBEECOgCUASADQQA2AAsgBEGZAWogAykACDcAACAEQaEBaiACLQAAOgAAIARBADoAqwEgBEGAgAQ2AKcBIARBADsBogEgBEIANwJAIAQgBCgCNCIGQQFrNgJIIAVBADsAACADQQA2AAsgBCADKQAINwANIARBFWogAi0AADoAACAEQYACOwEWIARBAjoADCAEQQI6AAggBEIANwIAIAVBADsAACADQQA2AAsgBEElaiADKQAINwAAIARBLWogAi0AADoAACAEQS5qQYACOwEAIARBJGpBAjoAACAEQSBqQQI6AAAgBEIANwIYIAMgBhBZIAJBADYCACADIAMpAwA3AwggCSAGEEkgA0HIAGogAigCADYCACADIAMpAwg3A0AgBEGIAWohAiAEKAKIAQRAIARBjAFqKAIAEBALIAIgAykDQDcCACACQQhqIANByABqKAIANgIADAILIAIgAkGwjsAAEEoACwJAAkAgBUEoaw4CAAECCyAEQQA6AKIBDAELIAJBMEYEQCAEQQE6AKMBDAELIARBADoAowELIANB0ABqJAALIAggFEcNAAsLIAQoApABIQMgBCgCjAEhAiANQQA2AgggDSACNgIEIA0gAiADajYCACMAQTBrIgUkACANKAIEIQIgDSgCACEGAkACQANA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IAJBvIDAADYCMCACQQA2AiggAiACQSBqNgI4IAJBEGoiBCACQShqIgMQGCABIAEoAgBBAWs2AgAgA0EIaiAEQQhqKAIANgIAIAIgAikDEDcDKCACQQhqIAMQeyAAIAIpAwg3AwAgAkFAayQADwsQtQEACxC2AQALugEAAkAgAgRAAkACQAJ/AkACQCABQQBOBEAgAygCCA0BIAENAkEBIQIMBAsMBgsgAygCBCICRQRAIAFFBEBBASECDAQLIAFBARCWAQwCCyADKAIAIAJBASABEIoBDAELIAFBARCWAQsiAkUNAQsgACACNgIEIABBCGogATYCACAAQQA2AgAPCyAAIAE2AgQgAEEIakEBNgIAIABBATYCAA8LIAAgATYCBAsgAEEIakEANgIAIABBATYCAAvOAQEBfyMAQRBrIgUkACAFIAAoAgAgASACIAAoAgQoAgwRAAA6AAggBSAANgIEIAUgAkU6AAkgBUEANgIAIAUgAyAEECIhAQJ/IAUtAAgiACABKAIAIgJFDQAaIABB/wFxIQFBASABDQAaIAUoAgQhAQJAIAJBAUcNACAFLQAJRQ0AIAEtABhBBHENAEEBIAEoAgBBlKTAAEEBIAEoAgQoAgwRAAANARoLIAEoAgBB86HAAEEBIAEoAgQoAgwRAAALIAVBEGokAEH/AXFBAEcLxAEBAn8CQAJAIABB7ABqKAIAIgQgACgCPCIDSwRAIAEgAksNASAAQegAaigCACADQQxsaiIDKAIIIgQgAkkNAiABIAJHBEAgAkEUbCADKAIEIgJqIQMgAiABQRRsaiECIABBlAFqIgBBBmohAQNAIAJBIDYCACACIAApAgA3AgQgAkEKaiABKQEANwEAIAMgAkEUaiICRw0ACwsPCyADIARBzI3AABBKAAsgASACQcyNwAAQowEACyACIARBzI3AABCiAQALsAEBAX8gACIEAn8CQAJ/AkAgAgRAAkACQAJAIAFBAE4EQCADKAIIRQ0CIAMoAgQiAA0BIAENAwwFCyAEQQhqQQA2AgAMBgsgAygCACAAIAIgARCKAQwECyABRQ0CCyABIAIQlgEMAgsgBCABNgIEIARBCGpBADYCAAwCCyACCyIABEAgBCAANgIEIARBCGogATYCAEEADAILIAQgATYCBCAEQQhqIAI2AgALQQELNgIAC60BAQF/AkAg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5syZM0sNACABQRRsIgJBAEgNACABQefMmTNJQQJ0IQMgAkUNASACIAMQlgEMAgsQbgALIAMLIgQNACACIANBgLzAACgCACIAQcIAIAAbEQIAAAsgACAENgIEIAAgATYCAAuAAQEDfwJAIAAoAkhBAWoiAyAAKAJEIgJPBEAgAEHsAGooAgAiBCADSQ0BIAEgAyACayIEIAEgBEkbIQEgAEHoAGooAgAgAkEMbGogBCABEHcgACACIAEgAmoQISAAIAIgAxBVDwsgAiADQYCOwAAQowEACyADIARBgI7AABCiAQALgAEBA38CQCAAKAJIQQFqIgIgACgCRCIDTwRAIABB7ABqKAIAIgQgAkkNASABIAIgA2siBCABIARJGyEBIABB6ABqKAIAIANBDGxqIAQgARB6IAAgAiABayACECEgACADIAIQVQ8LIAMgAkHwjcAAEKMBAAsgAiAEQfCNwAAQogEAC4EBAQF/AkAgAiAAQewAaigCACIESQRAIABB6ABqKAIAIAJBDGxqIgAoAggiAiABTQ0BIAAoAgQgAUEUbGoiACADKQIANwIAIABBEGogA0EQaigCADYCACAAQQhqIANBCGopAgA3AgAPCyACIARBrI3AABBKAAsgASACQayNwAAQSgALdgEDfyABIAAoAgAgACgCCCICa0sEQCAAIAIgARBnIAAoAgghAgsgACgCBCIEIAJqIQMCQAJAIAFBAk8EQCADQQEgAUEBayIBEL4BIAQgASACaiICaiEDDAELIAFFDQELIANBAToAACACQQFqIQILIAAgAjYCCAt8AQF/IwBBMGsiAyQAIAMgATYCBCADIAA2AgAgA0EIaiIAQQxqQQI2AgAgA0EcakECNgIAIANBIGoiAUEMakHBADYCACADQaiiwAA2AhAgA0EANgIIIANBwQA2AiQgAyABNgIYIAMgAzYCKCADIANBBGo2AiAgACACEHIAC80BAQJ/IwBBsAFrIgEkACMAQbABayICJAACQAJAIAAEQCAAKAIADQEgAEEANgIAIAEgAiAAQbABEL0BIgJBBHJBrAEQvQEaIAAQECACQbABaiQADAILELUBAAsQtgEACyABQcwAaiIAKAIABEAgACgCBBAQCyABQdgAaiIAKAIABEAgACgCBBAQCyABQeQAaiIAEGAgABCFASABQfAAaiIAEGAgABCFASABQfwAaiIAKAIABEAgACgCBBAQCyABQYgBahCFASABQbABaiQAC3UBAn8jAEEQayIEJAAgBEEIaiABKAIQIAIgAxCLASAEKAIMIQIgBCgCCCIDRQRAAkAgASgCCEUNACABQQxqKAIAIgVBhAFJDQAgBRAACyABQQE2AgggAUEMaiACNgIACyAAIAM2AgAgACACNgIEIARBEGokAAtyACMAQTBrIgEkAEHcu8AALQAABEAgAUEUakECNgIAIAFBHGpBATYCACABQfycwAA2AhAgAUEANgIIIAFBwQA2AiQgASAANgIsIAEgAUEgajYCGCABIAFBLGo2AiAgAUEIakGkncAAEHIACyABQTBqJAALWwEBfyMAQSBrIgIkACACIAAoAgA2AgQgAkEIaiIAQRBqIAFBEGopAgA3AwAgAEEIaiABQQhqKQIANwMAIAIgASkCADcDCCACQQRqQdiZwAAgABAWIAJBIGokAAtbAQF/IwBBIGsiAiQAIAIgACgCADYCBCACQQhqIgBBEGogAUEQaikCADcDACAAQQhqIAFBCGopAgA3AwAgAiABKQIANwMIIAJBBGpB9JrAACAAEBYgAkEgaiQAC1sBAX8jAEEgayICJAAgAiAAKAIANgIEIAJBCGoiAEEQaiABQRBqKQIANwMAIABBCGogAUEIaikCADcDACACIAEpAgA3AwggAkEEakGUnMAAIAAQFiACQSBqJAALWwEBfyMAQSBrIgIkACACIAAoAgA2AgQgAkEIaiIAQRBqIAFBEGopAgA3AwAgAEEIaiABQQhqKQIANwMAIAIgASkCADcDCCACQQRqQciewAAgABAWIAJBIGokAAtVAQN/IwBBIGsiAiQAIAEoAgQhAyABKAIAIAJBCGoiAUEQaiAAQRBqKQIANwMAIAFBCGogAEEIaikCADcDACACIAApAgA3AwggAyABEBYgAkEgaiQAC1sBAX8jAEEgayICJAAgAiAAKAIANgIEIAJBCGoiAEEQaiABQRBqKQIANwMAIABBCGogAUEIaikCADcDACACIAEpAgA3AwggAkEEakGQpsAAIAAQFiACQSBqJAALswIBBX8jAEEQayIDJAACQCAAKAI4IgRFDQAgBCAAKAIwTw0AIANBCGogAEGAAWooAgAgAEGEAWooAgAgAEE4ahA9IAMoAghFDQAgAygCDCECIABB/ABqIgAoAgghASABIAAoAgBGBEAgACABEGMLIAAoAgQgAkECdGohBQJAIAEgAk0EQCABIAJGDQEjAEEwayIAJAAgACABNgIEIAAgAjYCACAAQQhqIgRBDGpBAzYCACAAQRxqQQI2AgAgAEEgaiIBQQxqQcEANgIAIABB9KDAADYCECAAQQA2AgggAEHBADYCJCAAIAE2AhggACAAQQRqNgIoIAAgADYCICAEQYyhwAAQcgALIAVBBGogBSABIAJrQQJ0ELwBCyAFIAQ2AgAgACABQQFqNgIICyADQRBqJAALXwEBfwJAIAEgAk0EQCAAQZABaigCACIDIAJJDQEgASACRwRAIABBjAFqKAIAIgAgAWoiAUEBIAAgAmogAWsQvgELDwsgASACQaCOwAAQowEACyACIANBoI7AABCiAQALWAEBfyMAQSBrIgIkACACIAA2AgQgAkEIaiIAQRBqIAFBEGopAgA3AwAgAEEIaiABQQhqKQIANwMAIAIgASkCADcDCCACQQRqQdiZwAAgABAWIAJBIGokAAtYAQF/IwBBIGsiAiQAIAIgADYCBCACQQhqIgBBEGogAUEQaikCADcDACAAQQhqIAFBCGopAgA3AwAgAiABKQIANwMIIAJBBGpB9JrAACAAEBYgAkEgaiQAC1gBAX8jAEEgayICJAAgAiAANgIEIAJBCGoiAEEQaiABQRBqKQIANwMAIABBCGogAUEIaikCADcDACACIAEpAgA3AwggAkEEakGQpsAAIAAQFiACQSBqJAALVwECfwJAIAFFBEBBASECDAELIAFBAE4EQCABIAFBf3NBH3YiAxCWASICDQEgASADQYC8wAAoAgAiAEHCACAAGxECAAALEG4ACyAAIAI2AgQgACABNgIAC+MEAQZ/IwBBEGsiBiQAIAZBCGogASACQQIQTAJ/IAYoAggEQEEBIQIgBigCDAwBCyMAQSBrIgUkACABKAIIIQIgAUEANgIIAn8CQAJAIAIEQCAFIAFBDGooAgAiAjYCGCAFQRBqIQggASgCECEHIwBB0ABrIgQkAAJAIAMtAABFBEAgBCADLQABuBACNgIEIARBADYCACAEKAIEIQMgBCgCACEHDAELIARBNGpBCjYCACAEQSxqQQo2AgAgBCADQQNqNgIwIAQgA0ECajYCKCAEQQo2AiQgBCADQQFq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QQA2AgAgA0HIocAANgIQIANBADYCACADIAE2AhwgAyAANgIYIAMgA0EYajYCCCADIAIQcgALVwEBfyMAQRBrIgIkACACQQhqIAAgARAvAkAgAigCDCIAQYGAgIB4RwRAIABFDQEgAigCCCAAQYC8wAAoAgAiAEHCACAAGxECAAALIAJBEGokAA8LEG4AC5cCAQZ/IwBBEGsiAyQAIwBBIGsiAiQAIANBCGoiBgJ/QQAgASABQQFqIgFLDQAaIAAoAgAiBUEBdCIEIAEgASAESRsiAUEEIAFBBEsbIgRBHGwhASAEQaWSySRJQQJ0IQcCQCAFBEAgAkEENgIYIAIgBUEcbDYCFCACIAAoAgQ2AhAMAQsgAkEANgIYCyACIAEgByACQRBqEDogAigCBCEBIAIoAgAEQCACQQhqKAIADAELIAAgBDYCACAAIAE2AgRBgYCAgHgLNgIEIAYgATYCACACQSBqJAACQCADKAIMIgBBgYCAgHhHBEAgAEUNASADKAIIIABBgLzAACgCACIAQcIAIAAbEQIAAAsgA0EQaiQADwsQbgALWQEBfyMAQRBrIgIkACACQQhqIAAgAUEBEDQCQCACKAIMIgBBgYCAgHhHBEAgAEUNASACKAIIIABBgLzAACgCACIAQcIAIAAbEQIAAAsgAkEQaiQADwsQbgALlQIBB38jAEEQayIDJAAjAEEgayICJAAgA0EIaiIGAn9BACABIAFBAWoiAUsNABogACgCACIHQQF0IgQgASABIARJGyIBQQQgAUEESxsiBUEBdCEBIAVBgICAgARJQQF0IQgCQCAHBEAgAkECNgIYIAIgBDYCFCACIAAoAgQ2AhAMAQsgAkEANgIYCyACIAEgCCACQRBqEDogAigCBCEBIAIoAgAEQCACQQhqKAIADAELIAAgBTYCACAAIAE2AgRBgYCAgHgLNgIEIAYgATYCACACQSBqJAACQCADKAIMIgBBgYCAgHhHBEAgAEUNASADKAIIIABBgLzAACgCACIAQcIAIAAbEQIAAAsgA0EQaiQADwsQbgALWQEBfyMAQRBrIgMkACADQQhqIAAgASACEDQCQCADKAIMIgBBgYCAgHhHBEAgAEUNASADKAIIIABBgLzAACgCACIAQcIAIAAbEQIAAAsgA0EQaiQADwsQbgALiBwBHH8CQCAABEAgACgCACICQX9GDQEgACACQQFqNgIAIwBBIGsiCyQAIAtBCGohBiAAQQRqIgJB7ABqKAIAIgMgAU0EQCABIANBkI7AABBKAAsgAkHoAGooAgAgAUEMbGohAiMAQdAAayIBJAACQAJAAkAgAigCCCIDRQRAIAZBADYCCCAGQoCAgIDAADcCAAwBCwJAAkACQEEEQQQQlgEiBwRAIAcgAigCBCIJKAIANgIAIAEgCUEKaikAADcBNiABIAkpAAQ3AzAgAUESaiABKQE2NwEAIAFBATYCACABQQE2AgggASAHNgIEIAEgASkDMDcCDCABQQA2AiggAUKAgICAwAA3AyAgA0EBRgRAIAFBMGoiAkEYaiABQRhqKAIANgIAIAJBEGogAUEQaikDADcDACACQQhqIAFBCGopAwA3AwAgASABKQMANwMwQQAhAgwDCyABQQxqIQcgA0EUbEEUayEOQQEhAgNAIAEtAAwhCAJAAkACQAJAAkAgBCAJaiIDQRhqIgwtAAAiBUECRg0AIAhBAkYNACAFIAhHDQIgBUUEQCADQRlqLQAAIAEtAA1GDQIMAwsgA0EZai0AACABLQANRw0CIANBGmotAAAgAS0ADkcNAiADQRtqLQAAIAEtAA9GDQEMAgsgBUECRw0BIAhBAkcNAQsgAS0AECEIAkACQCADQRxqLQAAIgVBAkYNACAIQQJGDQAgBSAIRw0CIAVFBEAgA0Edai0AACABLQARRg0CDAMLIANBHWotAAAgAS0AEUcNAiADQR5qLQAAIAEtABJHDQIgA0Efai0AACABLQATRg0BDAILIAVBAkcNASAIQQJHDQELIANBIGotAAAgAS0AFEcNACADQSFqLQAARSABLQAVQQBHRg0AIANBImotAABFIAEtABZBAEdGDQAgA0Ejai0AAEUgAS0AF0EAR0YNACADQSRqLQAARSABLQAYQQBHRg0AIANBJWotAABFIAEtABlBAEdzDQELIAFBMGoiAkEYaiIFIAFBGGooAgA2AgAgAkEQaiINIAFBEGopAwA3AwAgAkEIaiIKIAFBCGopAwA3AwAgASABKQMANwMwIAEoAigiAiABKAIgRgRAIAFBIGogAhBkIAEoAighAgsgASgCJCACQRxsaiIIIAEpAzA3AgAgCEEIaiAKKQMANwIAIAhBEGogDSkDADcCACAIQRhqIAUoAgA2AgAgASACQQFqNgIoQQRBBBCWASIIRQ0IIAggA0EUaigCADYCAEEBIQIgAUEBNgIIIAEgCDYCBCABQQE2AgAgDEEMai8BACEDIAxBCGooAgAhCCAHIAwpAgA3AgAgB0EIaiAINgIAIAdBDGogAzsBAAwBCyADQRRqKAIAIQMgASgCACACRgRAIAEgAhBjIAEoAgghAgsgASgCBCACQQJ0aiADNgIAIAEgASgCCEEBaiICNgIICyAOIARBFGoiBEcNAAsMAQsMBAsgASgCICEEIAEoAighAiABQTBqIgNBGGogAUEYaigCADYCACADQRBqIAFBEGopAwA3AwAgA0EIaiABQQhqKQMANwMAIAEgASkDADcDMCACIARHDQELIAFBIGogAhBkIAEoAighAgsgASgCJCACQRxsaiIDIAEpAzA3AgAgA0EIaiABQTBqIgRBCGopAwA3AgAgA0EQaiAEQRBqKQMANwIAIANBGGogBEEYaigCADYCACABQShqIAJBAWoiAjYCACAGQQhqIAI2AgAgBiABKQMgNwIACyABQdAAaiQAIAtBADsBGCALQQA6ABojAEEwayIEJAAgBigCBCEJIAYoAgghAhAGIQMgBEEgaiIBIAtBGGo2AgggAUEANgIEIAEgAzYCAAJ/AkACQCAEKAIoBEAgBEEYaiAEQShqKAIANgIAIAQgBCkDIDcDECACQRxsIQ4DQCAORQ0DIA5BHGshDiAEIAk2AiAgCUEcaiEJIARBCGohDyMAQRBrIggkACAEQRBqIgwoAgQhFCAIQQhqIRAgBEEgaigCACENIAwoAgghAUEAIREjAEHQAGsiAyQAIANBQGsgARCIASADKAJAIQECQAJAAkAgAygCSCICRQ0AIAMgAjYCKCADIAMoAkQ2AiQgAyABNgIgIA0oAgQiASANKAIIQQJ0aiEFIANBMGoiBkEANgIIIAZCgICAgBA3AgAgBSABa0ECdiIHIAYoAgAgBigCCCICa0sEQCAGIAIgBxBnCyMAQRBrIgckACABIAVHBEADQCABQQRqIQIgB0EMaiEKAkACfwJAAkAgASgCACIBQYABTwRAIAdBADYCDCABQYAQSQ0BIAFBgIAETw0CIAcgAUE/cUGAAXI6AA4gByABQQx2QeABcjoADCAHIAFBBnZBP3FBgAFyOgANQQMMAwsgBigCCCIKIAYoAgBG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ACACQQFqNgIAIwBBIGsiBCQAIARBEGoiAiAAQQRqIgEtAKYBBH8gAiABKQI4NwIEQQEFQQALNgIAIwBBIGsiAyQAIANBADsBGCADQQA6ABogBEEIaiIHAn8gAigCAEUEQCADQQhqIgJBADYCACACQYEBQYABIANBGGotAAAbNgIEIAMoAgghASADKAIMDAELIANBEGohBiACQQRqIQIjAEFAaiIBJAAgAUEwaiADQRhqEIgBAn8CQAJAAn8CQCABKAI4BEAgAUEgaiIFQQhqIAFBOGooAgA2AgAgASABKQMwNwMgIAFBGGogBSACEFwgASgCGEUNASABKAIcDAILIAEoAjAhAgwDCyABQRBqIAFBIGogAkEEahBcIAEoAhBFDQEgASgCFAshAiABKAIgIgVBhAFJDQEgBRAADAELIAFBMGoiAkEIaiABQShqKAIANgIAIAEgASkDIDcDMCABQQhqIgUgAigCADYCBCAFQQA2AgAgASgCDCECIAEoAggMAQtBAQshBSAGIAI2AgQgBiAFNgIAIAFBQGskACADKAIQIQEgAygCFAs2AgQgByABNgIAIANBIGokACAEKAIMIQIgBCgCCARAIAQgAjYCHEGAgMAAQSsgBEEcakGsgMAAQeCAwAAQQAALIARBIGokACAAIAAoAgBBAWs2AgAgAg8LELUBAAsQtgEAC4ACAQJ/IwBBEGsiAyQAIAMgACgCACIANgIIIAMgAEEEajYCDCMAQRBrIgIkACACIAEoAgBBx5HAAEEEIAEoAgQoAgwRAAA6AAggAiABNgIEIAJBADoACSACQQA2AgAgAiADQQhqQcyRwAAQIiADQQxqQdyRwAAQIiEAAn8gAi0ACCIBIAAoAgAiAEUNABpBASABDQAaIAIoAgQhAQJAIABBAUcNACACLQAJRQ0AIAEtABhBBHENAEEBIAEoAgBBlKTAAEEBIAEoAgQoAgwRAAANARoLIAEoAgBB86HAAEEBIAEoAgQoAgwRAAALIAJBEGokACADQRBqJABB/wFxQQBHC0kBAX8gACgCACIAKAIIIQMgAiAAKAIAIANrSwRAIAAgAyACEDEgACgCCCEDCyAAKAIEIANqIAEgAhC9ARogACACIANqNgIIQQALSQEBfyAAKAIAIgAoAgghAyACIAAoAgAgA2tLBEAgACADIAIQMiAAKAIIIQMLIAAoAgQgA2ogASACEL0BGiAAIAIgA2o2AghBAAtAAQF/IAIgACgCACAAKAIIIgNrSwRAIAAgAyACEGcgACgCCCEDCyAAKAIEIANqIAEgAhC9ARogACACIANqNgIIC0kBAX8jAEEgayIAJAAgAEEUakEBNgIAIABBHGpBADYCACAAQZCfwAA2AhAgAEHgnsAANgIYIABBADYCCCAAQQhqQZifwAAQcgALVgECfyABKAIEIQIgASgCACEDQQhBBBCWASIBRQRAQQhBBEGAvMAAKAIAIgBBwgAgABsRAgAACyABIAI2AgQgASADNgIAIABBgJ7AADYCBCAAIAE2AgALOQACQAJ/IAJBgIDEAEcEQEEBIAAgAiABKAIQEQEADQEaCyADDQFBAAsPCyAAIAMgBCABKAIMEQAAC/AEAQZ/IwBB4AJrIgIkACMAQTBrIgMkAAJAIAAEQCABDQFB0IvAAEEaQeyLwAAQYgALQaGLwABBHUHAi8AAEGIACyADQQhqIgQgACABEC0gAkHwAGogBBA1IAJB7ABqIARBCGooAgA2AgAgAiADKQMINwJkIAJB/ABqIAAQPyADQRdqIgZBB2pBADsAACADQQA2ABogA0EgaiIFQQdqIgdBADsAACADQQA2ACMgAiADKQAgNwANIAJBFWogBUEIaiIELQAAOgAAIAdBADsAACADQQA2ACMgAkElaiADKQAgNwAAIAJBLWogBC0AADoAACADIAEQWSAEQQA2AgAgAyADKQMANwMgIAUgARBJIAJBkAFqIAQoAgA2AgAgAiADKQMgNwKIASACQdwAakIENwIAIAJB1ABqQgA3AgAgAkKAgICAIDcCTCACQQA7AaQBIAIgATYCNCACIAA2AjAgAkEBOgCmASACQgA3AjggAkGYAWpBAjoAACACQQI6AJQBIAJBmQFqIAMpABc3AAAgAkGhAWogBkEIai0AADoAACACQQA7AaIBIAJBgIAENgCnASACQQA6AKsBIAJBADYCQCACIAFBAWs2AkggAkEANgJEIAJBLmpBgAI7AQAgAkEgakECOgAAIAJCADcCGCACQYACOwEWIAJBAjoADCACQQI6AAggAkIANwIAIAJBJGpBAjoAACADQTBqJAAgAkGwAWoiASACQawBEL0BGkGwAUEEEJYBIgBFBEBBsAFBBEGAvMAAKAIAIgBBwgAgABsRAgAACyAAQQA2AgAgAEEEaiABQawBEL0BGiACQeACaiQAIAAL4AIBAn8jAEEgayICJAAgAkEBOgAYIAIgATYCFCACIAA2AhAgAkG4osAANgIMIAJByKHAADYCCCMAQRBrIgEkAAJAIAJBCGoiACgCDCICBEAgACgCCCIDRQ0BIAEgAjYCCCABIAA2AgQgASADNgIAIwBBEGsiACQAIABBCGogAUEIaigCADYCACAAIAEpAgA3AwAjAEEQayIBJAAgACgCACICQRRqKAIAIQMCQAJ/AkACQCACQQxqKAIADgIAAQMLIAMNAkEAIQJBrJzAAAwBCyADDQEgAigCCCIDKAIEIQIgAygCAAshAyABIAI2AgQgASADNgIAIAFBpJ7AACAAKAIEIgEoAgggACgCCCABLQAQEDMACyABQQA2AgQgASACNgIMIAFBkJ7AACAAKAIEIgEoAgggACgCCCABLQAQEDMAC0GsnMAAQStB4J3AABBiAAtBrJzAAEErQdCdwAAQYgALMwACQCAAQfz///8HSw0AIABFBEBBBA8LIAAgAEH9////B0lBAnQQlgEiAEUNACAADwsACzABAX8jAEEQayICJAAgAiAANgIMIAFB1IbAAEEFIAJBDGpB3IbAABA4IAJBEGokAAstACABIAJPBEAgASACayIBIAAgAUEUbGogAhAVDwtBqInAAEEhQcyJwAAQYgALxQIBA38gACgCACECIAEtABhBEHFBBHZFBEAgAS0AGEEgcUEFdkUEQCACIAEQpAEPC0EAIQAjAEGAAWsiAyQAIAIoAgAhAgNAIAAgA2pB/wBqQTBBNyACQQ9xIgRBCkkbIARqOgAAIABBAWshACACQQ9LIAJBBHYhAg0ACyAAQYABaiICQYEBTwRAIAJBgAFBtKTAABChAQALIAFBxKTAAEECIAAgA2pBgAFqQQAgAGsQFCADQYABaiQADwtBACEAIwBBgAFrIgMkACACKAIAIQIDQCAAIANqQf8AakEwQdcAIAJBD3EiBEEKSRsgBGo6AAAgAEEBayEAIAJBD0sgAkEEdiECDQALIABBgAFqIgJBgQFPBEAgAkGAAUG0pMAAEKEBAAsgAUHEpMAAQQIgACADakGAAWpBACAAaxAUIANBgAFqJAALLQAgASACTwRAIAEgAmsiASAAIAFBDGxqIAIQEg8LQbSYwABBIUHYmMAAEGIAC9ECAQN/IAAoAgAhACABLQAYQRBxQQR2RQRAIAEtABhBIHFBBXZFBEAgACABEKcBDwsjAEGAAWsiAyQAIAAtAAAhAkEAIQADQCAAIANqQf8AakEwQTcgAkEPcSIEQQpJGyAEajoAACAAQQFrIQAgAkH/AXEiBEEEdiECIARBD0sNAAsgAEGAAWoiAkGBAU8EQCACQYABQbSkwAAQoQEACyABQcSkwABBAiAAIANqQYABakEAIABrEBQgA0GAAWokAA8LIwBBgAFrIgMkACAALQAAIQJBACEAA0AgACADakH/AGpBMEHXACACQQ9xIgRBCkkbIARqOgAAIABBAWshACACQf8BcSIEQQR2IQIgBEEPSw0ACyAAQYABaiICQYEBTwRAIAJBgAFBtKTAABChAQALIAFBxKTAAEECIAAgA2pBgAFqQQAgAGsQFCADQYABaiQAC9UCAQN/IAAoAgAhACABLQAYQRBxQQR2RQRAIAEtABhBIHFBBXZFBEAgADMBACABECAPCyMAQYABayIDJAAgAC8BACECQQAhAANAIAAgA2pB/wBqQTBBNyACQQ9xIgRBCkkbIARqOgAAIABBAWshACACQf//A3EiBEEEdiECIARBD0sNAAsgAEGAAWoiAkGBAU8EQCACQYABQbSkwAAQoQEACyABQcSkwABBAiAAIANqQYABakEAIABrEBQgA0GAAWokAA8LIwBBgAFrIgMkACAALwEAIQJBACEAA0AgACADakH/AGpBMEHXACACQQ9xIgRBCkkbIARqOgAAIABBAWshACACQf//A3EiBEEEdiECIARBD0sNAAsgAEGAAWoiAkGBAU8EQCACQYABQbSkwAAQoQEACyABQcSkwABBAiAAIANqQYABakEAIABrEBQgA0GAAWokAAsrACABIAJPBEAgAiAAIAJBDGxqIAEgAmsQEg8LQbKXwABBI0GkmMAAEGIAC84CAQh/IAEoAggiAiABKAIASQRAIwBBEGsiBCQAIARBCGohCCMAQSBrIgMkAAJAAkAgASgCACIJIAJPBEBBgYCAgHghBSAJRQ0CIAEoAgQhB0EBIQYCQCACBEAgAkEATg0BQQEhBSACQQEQlgEiBkUNBCAGIAcgAhC9ARoLIAcQEAwCC0EBIQUgByAJQQEgAhCKASIGDQEMAgsgA0EUakEB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ACAAKAIAIAEgACgCBCgCDBEBAAsIACAAIAEQGwsPACAAKAIAIAEgAhBtQQALEQAgACgCBCAAKAIIIAEQugELEwAgAEGAnsAANgIEIAAgATYCAAsQACABIAAoAgAgACgCBBARCwwAIAAgASACEG1BAAsNACAAKAIAIAEgAhAFCw0AIAAoAgAgASACEAoLoAEBA38gACgCACECQQIhAyMAQRBrIgAkACABKAIAQZakwABBASABKAIEKAIMEQAAIQQgAEEAOgAFIAAgBDoABCAAIAE2AgADQCAAIAI2AgwgACAAQQxqQbiZwAAQpQEgAkEBaiECIANBAWsiAw0ACyAALQAEBH9BAQUgACgCACIBKAIAQZekwABBASABQQRqKAIAKAIMEQAACyAAQRBqJAALowQBBX8gACgCACEDIwBBEGsiBCQAAkACfwJAAkAgAUGAAU8EQCAEQQA2AgwgAUGAEEkNASABQYCABE8NAiAEIAFBP3FBgAFyOgAOIAQgAUEMdkHgAXI6AAwgBCABQQZ2QT9xQYABcjoADUEDDAMLIAMoAggiAiADKAIARgRAIwBBIGsiACQAAkACQCACQQFqIgJFDQAgAygCACIFQQF0IgYgAiACIAZJGyICQQggAkEISxsiAkF/c0EfdiEGAkAgBQRAIABBATYCGCAAIAU2AhQgACADQQRqKAIANgIQDAELIABBADYCGAsgACACIAYgAEEQahA3IAAoAgQhBSAAKAIARQRAIAMgAjYCACADIAU2AgQMAgsgAEEIaigCACICQYGAgIB4Rg0BIAJFDQAgBSACQYC8wAAoAgAiAEHCACAAGxECAAALEG4ACyAAQSBqJAAgAygCCCECCyADIAJBAWo2AgggAygCBCACaiABOgAADAMLIAQgAUE/cUGAAXI6AA0gBCABQQZ2QcABcjoADEECDAELIAQgAUE/cUGAAXI6AA8gBCABQQZ2QT9xQYABcjoADiAEIAFBDHZBP3FBgAFyOgANIAQgAUESdkEHcUHwAXI6AAxBBAshACAAIAMoAgAgAygCCCICa0sEQCADIAIgABAyIAMoAgghAgsgAygCBCACaiAEQQxqIAAQvQEaIAMgACACajYCCAsgBEEQaiQAQQALDgAgACgCABoDQAwACwALfAEBfyMAQTBrIgMkACADIAE2AgQgAyAANgIAIANBCGoiAEEMakECNgIAIANBHGpBAjYCACADQSBqIgFBDGpBwQA2AgAgA0HUp8AANgIQIANBADYCCCADQcEANgIkIAMgATYCGCADIANBBGo2AiggAyADNgIgIAAgAhByAAt8AQF/IwBBMGsiAyQAIAMgATYCBCADIAA2AgAgA0EIaiIAQQxqQQI2AgAgA0EcakECNgIAIANBIGoiAUEMakHBADYCACADQfSnwAA2AhAgA0EANgIIIANBwQA2AiQgAyABNgIYIAMgA0EEajYCKCADIAM2AiAgACACEHIAC3wBAX8jAEEwayIDJAAgAyABNgIEIAMgADYCACADQQhqIgBBDGpBAjYCACADQRxqQQI2AgAgA0EgaiIBQQxqQcEANgIAIANBqKjAADYCECADQQA2AgggA0HBADYCJCADIAE2AhggAyADQQRqNgIoIAMgAzYCICAAIAIQcgALCwAgADUCACABECALyQICBH8CfiMAQUBqIgMkAEEBIQUCQCAALQAEDQAgAC0ABSEFAkACQAJAIAAoAgAiBCgCGCIGQQRxRQRAIAUNAQwDCyAFDQFBASEFIAQoAgBBlaTAAEEBIAQoAgQoAgwRAAANAyAEKAIYIQYMAQtBASEFIAQoAgBBiaTAAEECIAQoAgQoAgwRAABFDQEMAgtBASEFIANBAToAFyADQeijwAA2AhwgAyAEKQIANwMIIAMgA0EXajYCECAEKQIIIQcgBCkCECEIIAMgBC0AIDoAOCADIAQoAhw2AjQgAyAGNgIwIAMgCDcDKCADIAc3AyAgAyADQQhqNgIYIAEgA0EYaiACKAIMEQEADQEgAygCGEGHpMAAQQIgAygCHCgCDBEAACEFDAELIAEgBCACKAIMEQEAIQULIABBAToABSAAIAU6AAQgA0FAayQACw0AIAAoAgAgASACEBoLCwAgADEAACABECALCwAgACkDACABECALCwAgACMAaiQAIwALBwAgABCFAQvoAQEFfyAAKAIAIQIjAEFAaiIAJAAgAEIANwM4IABBOGogAigCABAMIABBFGpBAjYCACAAQRxqQQE2AgAgACAAKAI8IgI2AjAgACAAKAI4NgIsIAAgAjYCKCAAQTw2AiQgAEHkmsAANgIQIABBADYCCCAAIABBKGoiBDYCICAAIABBIGo2AhgjAEEgayICJAAgASgCBCEFIAEoAgAg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04l/CwwAQrO29/Gi3KL+BAsDAAELC+M7AQBBgIDAAAvZO2NhbGxlZCBgUmVzdWx0Ojp1bndyYXAoKWAgb24gYW4gYEVycmAgdmFsdWUAAgAAAAQAAAAEAAAAAwAAAAAAEAAAAAAAc3JjL2xpYi5ycwAARAAQAAoAAAAjAAAALQAAAEQAEAAKAAAAKAAAAC8AAABNYXAga2V5IGlzIG5vdCBhIHN0cmluZyBhbmQgY2Fubm90IGJlIGFuIG9iamVjdCBrZXkAVHJpZWQgdG8gc2hyaW5rIHRvIGEgbGFyZ2VyIGNhcGFjaXR5pAAQACQAAAAvcnVzdGMvZmM1OTRmMTU2Njk2ODBmYTcwZDI1NWZhZWMzY2EzZmI1MDdjMzQwNS9saWJyYXJ5L2FsbG9jL3NyYy9yYXdfdmVjLnJz0AAQAEwAAACqAQAACQAAAGB1bndyYXBfdGhyb3dgIGZhaWxlZAAAAAQAAAAMAAAABAAAAAUAAAAGAAAABwAAAGEgRGlzcGxheSBpbXBsZW1lbnRhdGlvbiByZXR1cm5lZCBhbiBlcnJvciB1bmV4cGVjdGVkbHkACAAAAAAAAAABAAAACQAAAC9ydXN0Yy9mYzU5NGYxNTY2OTY4MGZhNzBkMjU1ZmFlYzNjYTNmYjUwN2MzNDA1L2xpYnJhcnkvYWxsb2Mvc3JjL3N0cmluZy5ycwCkARAASwAAAOgJAAAJAAAAZmdiZ2ZhaW50AWJvbGRpdGFsaWN1bmRlcmxpbmVzdHJpa2V0aHJvdWdoYmxpbmtpbnZlcnNlcmdiKCwpNgIQAAQAAAA6AhAAAQAAADoCEAABAAAAOwIQAAEAAAAgY2FuJ3QgYmUgcmVwcmVzZW50ZWQgYXMgYSBKYXZhU2NyaXB0IG51bWJlclwCEAAAAAAAXAIQACwAAAAMAAAADAAAAAQAAAANAAAADgAAAA8AAABhIERpc3BsYXkgaW1wbGVtZW50YXRpb24gcmV0dXJuZWQgYW4gZXJyb3IgdW5leHBlY3RlZGx5ABAAAAAAAAAAAQAAAAkAAAAvcnVzdGMvZmM1OTRmMTU2Njk2ODBmYTcwZDI1NWZhZWMzY2EzZmI1MDdjMzQwNS9saWJyYXJ5L2FsbG9jL3NyYy9zdHJpbmcucnMA+AIQAEsAAADoCQAACQAAAEVycm9yAAAAEAAAAAQAAAAEAAAAEQAAAFRyaWVkIHRvIHNocmluayB0byBhIGxhcmdlciBjYXBhY2l0eWwDEAAkAAAAL3J1c3RjL2ZjNTk0ZjE1NjY5NjgwZmE3MGQyNTVmYWVjM2NhM2ZiNTA3YzM0MDUvbGlicmFyeS9hbGxvYy9zcmMvcmF3X3ZlYy5yc5gDEABMAAAAqgEAAAkAAABjbG9zdXJlIGludm9rZWQgcmVjdXJzaXZlbHkgb3IgYWZ0ZXIgYmVpbmcgZHJvcHBlZGFzc2VydGlvbiBmYWlsZWQ6IG1pZCA8PSBzZWxmLmxlbigpL3J1c3RjL2ZjNTk0ZjE1NjY5NjgwZmE3MGQyNTVmYWVjM2NhM2ZiNTA3YzM0MDUvbGlicmFyeS9jb3JlL3NyYy9zbGljZS9tb2QucnMAAEkEEABNAAAA7AsAAAkAAABhc3NlcnRpb24gZmFpbGVkOiBrIDw9IHNlbGYubGVuKCkAAABJBBAATQAAABcMAAAJAAAAZiYAAJIlAAAJJAAADCQAAA0kAAAKJAAAsAAAALEAAAAkJAAACyQAABglAAAQJQAADCUAABQlAAA8JQAAuiMAALsjAAAAJQAAvCMAAL0jAAAcJQAAJCUAADQlAAAsJQAAAiUAAGQiAABlIgAAwAMAAGAiAACjAAAAxSIAAC9ob21lL21hcmNpbi8uY2FyZ28vZ2l0L2NoZWNrb3V0cy9hdnQtNjgzMzk3ODhiYTdkNjczZS85MTdhM2I4L3NyYy9saWIucnNhc3NlcnRpb24gZmFpbGVkOiBjb2x1bW5zID4gMAAAWAUQAEkAAAA4AQAACQAAAGFzc2VydGlvbiBmYWlsZWQ6IHJvd3MgPiAwAABYBRAASQAAADkBAAAJAAAAWAUQAEkAAADaAgAAEQAAAFgFEABJAAAA6AIAABEAAABYBRAASQAAAA0DAAAaAAAAWAUQAEkAAACVAwAAGgAAAFgFEABJAAAAmAMAABoAAABYBRAASQAAAP0DAAANAAAAWAUQAEkAAAACBAAADQAAAFgFEABJAAAADgQAAA0AAABYBRAASQAAABMEAAANAAAAWAUQAEkAAAAgBAAACQAAAFgFEABJAAAAQAQAABgAAABYBRAASQAAAFkFAAAJAAAAWAUQAEkAAABnBQAAJAAAAFgFEABJAAAAcwUAABoAAABYBRAASQAAAHsFAAAaAAAAAAAAAFgFEABJAAAAEgYAAAkAAABYBRAASQAAABoGAAAJAAAAWAUQAEkAAACOBwAAGgAAAFgFEABJAAAAsQcAABcAAABYBRAASQAAALcHAAAJAAAAU29zUG1BcGNTdHJpbmdPc2NTdHJpbmdEY3NJZ25vcmVEY3NQYXNzdGhyb3VnaERjc0ludGVybWVkaWF0ZURjc1BhcmFtRGNzRW50cnlDc2lJZ25vcmVDc2lJbnRlcm1lZGlhdGVDc2lQYXJhbUNzaUVudHJ5RXNjYXBlSW50ZXJtZWRpYXRlRXNjYXBlR3JvdW5kUkdCAAAeAAAABAAAAAQAAAAfAAAASW5kZXhlZAAeAAAABAAAAAQAAAAgAAAARmFpbnRCb2xkTm9ybWFsZm9yZWdyb3VuZGJhY2tncm91bmRpbnRlbnNpdHlpdGFsaWN1bmRlcmxpbmVzdHJpa2V0aHJvdWdoYmxpbmtpbnZlcnNlDwgQAAoAAAAZCBAACgAAACMIEAAJAAAALAgQAAYAAAAyCBAACQAAADsIEAANAAAASAgQAAUAAABNCBAABwAAAB4AAAAEAAAABAAAACEAAAAeAAAABAAAAAQAAAAiAAAAHgAAAAQAAAAEAAAAIwAAAFBlbkNlbGwAHgAAAAQAAAAEAAAAJAAAAB4AAAAEAAAABAAAACUAAAAeAAAABAAAAAQAAAAmAAAARHJhd2luZ0FzY2lpQWx0ZXJuYXRlUHJpbWFyeVNhdmVkQ3R4Y3Vyc29yX3geAAAABAAAAAQAAAAnAAAAY3Vyc29yX3lwZW5vcmlnaW5fbW9kZWF1dG9fd3JhcF9tb2Rlc3RhdGVwYXJhbXNpbnRlcm1lZGlhdGVzY29sdW1uc3Jvd3NidWZmZXJhbHRlcm5hdGVfYnVmZmVyYWN0aXZlX2J1ZmZlcl90eXBlY3Vyc29yX3Zpc2libGVjaGFyc2V0c2FjdGl2ZV9jaGFyc2V0dGFic2luc2VydF9tb2RlbmV3X2xpbmVfbW9kZW5leHRfcHJpbnRfd3JhcHN0b3BfbWFyZ2luYm90dG9tX21hcmdpbnNhdmVkX2N0eGFsdGVybmF0ZV9zYXZlZF9jdHhhZmZlY3RlZF9saW5lc1wJEAAFAAAAYQkQAAYAAABnCRAADQAAAHQJEAAHAAAAewkQAAQAAAB/CRAABgAAAIUJ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");function SA(A){return"number"==typeof A?A:"string"==typeof A?A.split(":").reverse().map(parseFloat).reduce(((A,g,I)=>A+g*Math.pow(60,I))):void 0}class LA{constructor(){let A=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;this.speed=A,this.startTime=performance.now()}getTime(){return this.speed*(performance.now()-this.startTime)/1e3}setTime(A){this.startTime=performance.now()-A/this.speed*1e3}}const pA=(async()=>(await uA(fA),dA))();class UA{constructor(A,g){this.logger=g.logger,this.state="initial",this.driver=null,this.driverFn=A,this.changedLines=new Set,this.cursor=void 0,this.duration=null,this.cols=g.cols,this.rows=g.rows,this.speed=g.speed??1,this.clock=void 0,this.loop=g.loop,this.idleTimeLimit=g.idleTimeLimit,this.preload=g.preload,this.startAt=SA(g.startAt),this.poster=g.poster,this.eventHandlers=new Map([["starting",[]],["loading",[]],["reset",[]],["play",[]],["pause",[]],["terminalUpdate",[]],["seeked",[]],["ended",[]]])}addEventListener(A,g){this.eventHandlers.get(A).push(g)}dispatchEvent(A){let g=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};for(const I of this.eventHandlers.get(A))I(g)}async init(){const A=this.feed.bind(this),g=this.now.bind(this),I=this.resetVt.bind(this);let B=!1;return this.wasm=await pA,this.driver=this.driverFn({feed:A,now:g,setTimeout:(A,g)=>window.setTimeout(A,g/this.speed),setInterval:(A,g)=>window.setInterval(A,g/this.speed),onFinish:()=>{this.state="ended",this.dispatchEvent("ended")},reset:I,setLoading:A=>{A&&!B?(B=!0,this.dispatchEvent("loading")):!A&&B&&(B=!1,this.dispatchEvent("play"))},logger:this.logger},{cols:this.cols,rows:this.rows,idleTimeLimit:this.idleTimeLimit,startAt:this.startAt,loop:this.loop}),"function"==typeof this.driver&&(this.driver={start:this.driver}),this.duration=this.driver.duration,this.cols=this.cols??this.driver.cols,this.rows=this.rows??this.driver.rows,this.preload&&this.initializeDriver(),{isPausable:!!this.driver.pauseOrResume,isSeekable:!!this.driver.seek,poster:await this.renderPoster()}}async play(){"initial"==this.state?await this.start():"paused"==this.state?this.resume():"ended"==this.state&&await this.restart()}pause(){"playing"==this.state&&this.doPause()}async pauseOrResume(){"initial"==this.state?await this.start():"playing"==this.state?this.doPause():"paused"==this.state?this.resume():"ended"==this.state&&await this.restart()}stop(){"function"==typeof this.driver.stop&&this.driver.stop()}async seek(A){if("initial"==this.state)return!1;if("function"!=typeof this.driver.seek)return!1;const g=this.driver.seek(A);return g&&("ended"==this.state&&(this.state="paused"),this.dispatchEvent("seeked")),g}step(){"paused"==this.state&&"function"==typeof this.driver.step&&this.driver.step()}getChangedLines(){if(this.changedLines.size>0){const A=new Map;for(const g of this.changedLines)A.set(g,{id:g,segments:this.vt.get_line(g)});return this.changedLines.clear(),A}}getCursor(){return void 0===this.cursor&&this.vt&&(this.cursor=this.vt.get_cursor()??!1),this.cursor}getCurrentTime(){return"function"==typeof this.driver.getCurrentTime?this.driver.getCurrentTime():void 0!==this.clock?this.clock.getTime():void 0}getRemainingTime(){if("number"==typeof this.duration)return this.duration-Math.min(this.getCurrentTime(),this.duration)}getProgress(){if("number"==typeof this.duration)return Math.min(this.getCurrentTime(),this.duration)/this.duration}getDuration(){return this.duration}async start(){this.dispatchEvent("starting");const A=setTimeout((()=>{this.dispatchEvent("loading")}),2e3);await this.initializeDriver(),this.dispatchEvent("terminalUpdate");const g=await this.driver.start();clearTimeout(A),"function"==typeof g&&(this.driver.stop=g),this.clock=new LA(this.speed),this.state="playing",this.dispatchEvent("play")}doPause(){"function"==typeof this.driver.pauseOrResume&&(this.driver.pauseOrResume(),this.state="paused",this.dispatchEvent("pause"))}resume(){"function"==typeof this.driver.pauseOrResume&&(this.state="playing",this.driver.pauseOrResume(),this.dispatchEvent("play"))}async restart(){if("function"==typeof this.driver.restart){await this.driver.restart()&&(this.state="playing",this.dispatchEvent("play"))}}feed(A){this.doFeed(A),this.dispatchEvent("terminalUpdate")}doFeed(A){this.vt.feed(A).forEach((A=>this.changedLines.add(A))),this.cursor=void 0}now(){return performance.now()*this.speed}initializeDriver(){return void 0===this.initializeDriverPromise&&(this.initializeDriverPromise=this.doInitializeDriver()),this.initializeDriverPromise}async doInitializeDriver(){if("function"==typeof this.driver.init){const A=await this.driver.init();this.duration=this.duration??A.duration,this.cols=this.cols??A.cols,this.rows=this.rows??A.rows}this.ensureVt()}ensureVt(){const A=this.cols??80,g=this.rows??24;void 0!==this.vt&&this.vt.cols===A&&this.vt.rows===g||(this.initializeVt(A,g),this.dispatchEvent("reset",{cols:A,rows:g}))}resetVt(A,g){let I=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0;this.cols=A,this.rows=g,this.cursor=void 0,this.initializeVt(A,g),void 0!==I&&""!==I&&this.doFeed(I),this.dispatchEvent("reset",{cols:A,rows:g})}initializeVt(A,g){this.vt=this.wasm.create(A,g),this.vt.cols=A,this.vt.rows=g,this.changedLines.clear();for(let A=0;Athis.vt.feed(A)));const g=this.vt.get_cursor()??!1,I=[];for(let A=0;A!0,deleteProperty:()=>!0,ownKeys:function(A){return WA(A),Reflect.ownKeys(A)},getOwnPropertyDescriptor:function(A,g){const B=Reflect.getOwnPropertyDescriptor(A,g);return B&&!B.get&&B.configurable&&g!==I&&g!==HA&&g!==bA?(delete B.value,delete B.writable,B.get=()=>A[I][g],B):B}};function XA(A,g,I,B=!1){if(!B&&A[g]===I)return;const Q=A[g],C=A.length;void 0===I?delete A[g]:A[g]=I;let E,i=jA(A);(E=xA(i,g,Q))&&E.$((()=>I)),Array.isArray(A)&&A.length!==C&&(E=xA(i,"length",C))&&E.$(A.length),(E=i._)&&E.$()}function OA(A,g){const I=Object.keys(g);for(let B=0;B1){B=g.shift();const C=typeof B,E=Array.isArray(A);if(Array.isArray(B)){for(let Q=0;Q1)return void VA(A[B],g,[B].concat(I));Q=A[B],I=[B].concat(I)}let C=g[0];"function"==typeof C&&(C=C(Q,I),C===Q)||void 0===B&&null==C||(C=mA(C),void 0===B||vA(Q)&&vA(C)&&!Array.isArray(C)?OA(Q,C):XA(A,B,C))}function zA(...[A,g]){const I=mA(A||{}),B=Array.isArray(I);return[qA(I),function(...A){J((()=>{B&&1===A.length?function(A,g){if("function"==typeof g&&(g=g(A)),g=mA(g),Array.isArray(g)){if(A===g)return;let I=0,B=g.length;for(;I=E&&e>=E&&(C[i]===A[e]||Q&&C[E]&&A[E]&&C[i][Q]===A[e][Q]);i--,e--)n[e]=C[i];if(E>e||E>i){for(I=E;I<=e;I++)XA(C,I,A[I]);for(;IA.length&&XA(C,"length",A.length))}for(o=new Array(e+1),I=e;I>=E;I--)t=A[I],s=Q&&t?t[Q]:t,g=r.get(s),o[I]=void 0===g?-1:g,r.set(s,I);for(g=E;g<=i;g++)t=C[g],s=Q&&t?t[Q]:t,I=r.get(s),void 0!==I&&-1!==I&&(n[I]=C[g],I=o[I],r.set(s,I));for(I=E;IA.length&&XA(C,"length",A.length))}const E=Object.keys(A);for(let g=0,I=E.length;g{if(!vA(A)||!vA(Q))return Q;const g=_A(Q,{[PA]:A},PA,I,B);return void 0===g?A:g}}const Ag=X("");var gg=A=>(()=>{const g=Ag.cloneNode(!0);return $(g,(()=>A.text)),w((I=>{const B=function(A,g){const I=A.get("inverse")?A.has("bg")?A.get("bg"):"bg":A.get("fg"),B=A.get("inverse")?A.has("fg")?A.get("fg"):"fg":A.get("bg"),Q=Ig(I,A.get("bold"),"fg-"),C=Ig(B,A.get("blink"),"bg-");let E=g??"";Q&&(E+=" "+Q);C&&(E+=" "+C);A.has("bold")&&(E+=" bright");A.has("faint")&&(E+=" faint");A.has("italic")&&(E+=" italic");A.has("underline")&&(E+=" underline");A.has("blink")&&(E+=" blink");return E}(A.attrs,A.extraClass),Q=function(A){const g=A.get("inverse")?A.get("bg"):A.get("fg"),I=A.get("inverse")?A.get("fg"):A.get("bg");let B={};"string"==typeof g&&(B.color=g);"string"==typeof I&&(B["background-color"]=I);return B}(A.attrs);return B!==I._v$&&V(g,I._v$=B),I._v$2=P(g,Q,I._v$2),I}),{_v$:void 0,_v$2:void 0}),g})();function Ig(A,g,I){return"number"==typeof A?(g&&A<8&&(A+=8),`${I}${A}`):"fg"==A||"bg"==A?`${I}${A}`:void 0}const Bg=X('');var Qg=A=>(()=>{const g=Bg.cloneNode(!0);return $(g,v(j,{get each(){return(()=>{if("number"==typeof A.cursor){const g=[];let I=0,B=0;for(;B0&&g.push([Q[0].substring(0,i),Q[1]]),g.push([Q[0][i],C," cursor-a"]),g.push([Q[0][i],E," cursor-b"]),iv(gg,{get text(){return A()[0]},get attrs(){return A()[1]},get extraClass(){return A()[2]}})})),w((()=>g.style.setProperty("height",A.height))),g})();const Cg=X('
');var Eg=A=>{const g=()=>A.lineHeight??1.3333333333,I=l((()=>({width:`${A.cols}ch`,height:g()*A.rows+"em","font-size":100*(A.scale||1)+"%","font-family":A.fontFamily,"line-height":`${g()}em`})));return(()=>{const B=Cg.cloneNode(!0),Q=A.ref;return"function"==typeof Q?_(Q,B):A.ref=B,$(B,v(m,{get each(){return A.lines},children:(I,B)=>v(Qg,{get segments(){return I.segments},get cursor(){return l((()=>B()===A.cursor?.[1]))()?A.cursor?.[0]:null},get height(){return`${g()}em`}})})),w((g=>{const Q=!(!A.blink&&!A.cursorHold),C=!!A.blink,E=I();return Q!==g._v$&&B.classList.toggle("cursor",g._v$=Q),C!==g._v$2&&B.classList.toggle("blink",g._v$2=C),g._v$3=P(B,E,g._v$3),g}),{_v$:void 0,_v$2:void 0,_v$3:void 0}),B})()};const ig=X(''),eg=X(''),tg=X(''),og=X(''),sg=X('
');function ng(A){A=Math.floor(A);const g=Math.floor(A/60),I=A%60;let B="";return g<10&&(B+="0"),B+=`${g}:`,I<10&&(B+="0"),B+=`${I}`,B}var rg=A=>{const g=A=>g=>{g.preventDefault(),A(g)},I=()=>"number"==typeof A.currentTime?ng(A.currentTime):"--:--",B=()=>"number"==typeof A.remainingTime?"-"+ng(A.remainingTime):I(),Q=g=>{if(g.altKey||g.shiftKey||g.metaKey||g.ctrlKey)return;const I=g.currentTarget.offsetWidth,B=g.currentTarget.getBoundingClientRect(),Q=(g.clientX-B.left)/I;return A.onSeekClick(100*Q+"%")};return(()=>{const C=sg.cloneNode(!0),E=C.firstChild,i=E.firstChild,e=i.nextSibling,t=E.nextSibling,o=A.ref;return"function"==typeof o?_(o,C):A.ref=C,$(C,v(x,{get when(){return A.isPausable},get children(){const I=tg.cloneNode(!0);return z(I,"click",g(A.onPlayClick),!0),$(I,v(W,{get children(){return[v(T,{get when(){return A.isPlaying},get children(){return ig.cloneNode(!0)}}),v(T,{get when(){return!A.isPlaying},get children(){return eg.cloneNode(!0)}})]}})),I}}),E),$(i,I),$(e,B),z(t,"click",g(A.onFullscreenClick),!0),$(C,v(x,{get when(){return"number"==typeof A.progress||A.isSeekable},get children(){const g=og.cloneNode(!0),I=g.firstChild,B=I.firstChild.firstChild;return I.$$mousedown=Q,w((g=>P(B,{width:"100%",transform:`scaleX(${A.progress||0}`,"transform-origin":"left center"},g))),g}}),null),w((()=>C.classList.toggle("seekable",!!A.isSeekable))),C})()};O(["click","mousedown"]);const ag=X('
');var cg=A=>{const g=["▓","▒","░","▒"];let I,B=1,Q="";for(let g=0;g{I=setInterval((()=>{t("lines",0,{segments:[C,[g[B%g.length],E]]}),B++}),250)})),N((()=>{clearInterval(I)})),(()=>{const g=ag.cloneNode(!0);return $(g,v(Eg,{get cols(){return A.cols},get rows(){return A.rows},get scale(){return A.scale},get lines(){return e.lines},get fontFamily(){return A.terminalFontFamily},get lineHeight(){return A.terminalLineHeight}})),g})()};const Dg=X('
');var wg=A=>(()=>{const g=Dg.cloneNode(!0);var I;return z(g,"click",(I=A.onClick,A=>{A.preventDefault(),I(A)}),!0),g})();O(["click"]);const hg=X('
');var lg=A=>{const g=A.logger,I=A.core,B=A.autoPlay,[Q,C]=zA({coreState:"initial",cols:A.cols,rows:A.rows,lines:[],cursor:void 0,charW:null,charH:null,bordersW:null,bordersH:null,controlBarH:null,containerW:null,containerH:null,showControls:!1,showStartOverlay:!B,isPausable:!0,isSeekable:!0,isFullscreen:!1,currentTime:null,remainingTime:null,progress:null,blink:!0,cursorHold:!1}),E=()=>Q.cols||80,i=()=>Q.rows||24;let e,t,o,s,n,r,a,c,D;I.addEventListener("starting",(()=>{C("showStartOverlay",!1)})),I.addEventListener("loading",(()=>{C("coreState","loading")})),I.addEventListener("reset",(A=>{let{cols:g,rows:I}=A;I{C({coreState:"playing",showStartOverlay:!1})})),I.addEventListener("pause",(()=>{C("coreState","paused")})),I.addEventListener("seeked",(()=>{S()})),I.addEventListener("ended",(()=>{C("coreState","paused")})),I.addEventListener("terminalUpdate",(()=>{void 0===e&&(e=requestAnimationFrame(k))}));const y=()=>{D=new ResizeObserver(function(A,g){let I;return function(){for(var B=arguments.length,Q=new Array(B),C=0;CA.apply(this,Q)),g)}}((A=>{C({containerW:n.offsetWidth,containerH:n.offsetHeight}),n.dispatchEvent(new CustomEvent("resize",{detail:{el:r}}))}),10)),D.observe(n)};G((async()=>{g.info("player mounted"),C({charW:a.clientWidth/E(),charH:a.clientHeight/i(),bordersW:a.offsetWidth-a.clientWidth,bordersH:a.offsetHeight-a.clientHeight,controlBarH:c.offsetHeight,containerW:n.offsetWidth,containerH:n.offsetHeight}),y();const{isPausable:A,isSeekable:Q,poster:e}=await I.init();C({isPausable:A,isSeekable:Q}),void 0===e||B||C({lines:e.lines,cursor:e.cursor}),B&&I.play()})),N((()=>{I.stop(),p(),f(),D.disconnect()})),h((()=>{const A=Q.coreState;"playing"===A?(L(),J()):"initial"!==A&&(p(),f(),S())}));const k=()=>{const A=I.getChangedLines();A&&A.forEach(((A,g)=>{C("lines",g,$A(A))})),C("cursor",$A(I.getCursor())),C("cursorHold",!0),e=void 0},F=l((()=>{if(!Q.charW)return;g.debug(`containerW = ${Q.containerW}`);const I=Q.charW*E()+Q.bordersW,B=Q.charH*i()+Q.bordersH;let C=A.fit??"width";if("both"===C||Q.isFullscreen){C=Q.containerW/(Q.containerH-Q.controlBarH)>I/B?"height":"width"}if(!1===C||"none"===C)return{};if("width"===C){const A=Q.containerW/I;return{scale:A,width:Q.containerW,height:B*A+Q.controlBarH}}if("height"===C){const A=(Q.containerH-Q.controlBarH)/B;return{scale:A,width:I*A,height:Q.containerH}}throw`unsupported fit mode: ${C}`})),R=()=>{C("isFullscreen",document.fullscreenElement??document.webkitFullscreenElement)},M=()=>{Q.isFullscreen?(document.exitFullscreen??document.webkitExitFullscreen??(()=>{})).apply(document):(n.requestFullscreen??n.webkitRequestFullscreen??(()=>{})).apply(n)},u=A=>{if(!(A.altKey||A.metaKey||A.ctrlKey))if(A.shiftKey){if("ArrowLeft"==A.key)I.seek("<<<");else{if("ArrowRight"!=A.key)return;I.seek(">>>")}A.preventDefault()}else{if(" "==A.key)I.pauseOrResume();else if("."==A.key)I.step(),S();else if("f"==A.key)M();else if("ArrowLeft"==A.key)I.seek("<<");else if("ArrowRight"==A.key)I.seek(">>");else{if(!(A.key.charCodeAt(0)>=48&&A.key.charCodeAt(0)<=57))return;{const g=(A.key.charCodeAt(0)-48)/10;I.seek(100*g+"%")}}A.preventDefault()}},d=()=>{Q.isFullscreen&&U(!0)},Y=()=>{Q.isFullscreen||U(!1)},J=()=>{o=setInterval(S,100)},f=()=>{clearInterval(o)},S=()=>{const A=I.getCurrentTime(),g=I.getRemainingTime(),B=I.getProgress();C({currentTime:A,remainingTime:g,progress:B})},L=()=>{s=setInterval((()=>{C((A=>{const g={blink:!A.blink};return g.blink&&(g.cursorHold=!1),g}))}),500)},p=()=>{clearInterval(s),C("blink",!0)},U=A=>{clearTimeout(t),A&&(t=setTimeout((()=>U(!1)),2e3)),C("showControls",A)},K=()=>F()?.scale,H=(()=>{const g=hg.cloneNode(!0),B=g.firstChild;"function"==typeof n?_(n,g):n=g,g.addEventListener("webkitfullscreenchange",R),g.addEventListener("fullscreenchange",R),g.$$mousemove=d,g.$$keydown=u,g.addEventListener("keypress",u);return"function"==typeof r?_(r,B):r=B,B.$$mousemove=()=>U(!0),B.addEventListener("mouseleave",Y),$(B,v(Eg,{get cols(){return E()},get rows(){return i()},get scale(){return K()},get blink(){return Q.blink},get lines(){return Q.lines},get cursor(){return Q.cursor},get cursorHold(){return Q.cursorHold},get fontFamily(){return A.terminalFontFamily},get lineHeight(){return A.terminalLineHeight},ref(A){"function"==typeof a?a(A):a=A}}),null),$(B,v(rg,{get currentTime(){return Q.currentTime},get remainingTime(){return Q.remainingTime},get progress(){return Q.progress},get isPlaying(){return"playing"==Q.coreState},get isPausable(){return Q.isPausable},get isSeekable(){return Q.isSeekable},onPlayClick:()=>I.pauseOrResume(),onFullscreenClick:M,onSeekClick:A=>I.seek(A),ref(A){"function"==typeof c?c(A):c=A}}),null),$(B,v(W,{get children(){return[v(T,{get when(){return Q.showStartOverlay},get children(){return v(wg,{onClick:()=>I.play()})}}),v(T,{get when(){return"loading"==Q.coreState},get children(){return v(cg,{get cols(){return E()},get rows(){return i()},get scale(){return K()},get terminalFontFamily(){return A.terminalFontFamily},get terminalLineHeight(){return A.terminalLineHeight}})}})]}}),null),w((I=>{const C=!!Q.showControls,E=`asciinema-player asciinema-theme-${A.theme??"asciinema"}`,i=(()=>{const g={};!1!==A.fit&&"none"!==A.fit||void 0===A.terminalFontSize||("small"===A.terminalFontSize?g["font-size"]="12px":"medium"===A.terminalFontSize?g["font-size"]="18px":"big"===A.terminalFontSize?g["font-size"]="24px":g["font-size"]=A.terminalFontSize);const I=F();return void 0===I?(g.height=0,g):(void 0!==I.width&&(g.width=`${I.width}px`,g.height=`${I.height}px`),g)})();return C!==I._v$&&g.classList.toggle("hud",I._v$=C),E!==I._v$2&&V(B,I._v$2=E),I._v$3=P(B,i,I._v$3),I}),{_v$:void 0,_v$2:void 0,_v$3:void 0}),g})();return H};O(["keydown","mousemove"]);class yg{log(){}debug(){}info(){}warn(){}error(){}}class Gg{constructor(A,g){this.input="function"==typeof A.next?A:A[Symbol.iterator](),this.xfs=g??[]}map(A){return this.transform(function(A){return g=>I=>{g(A(I))}}(A))}flatMap(A){return this.transform(function(A){return g=>I=>{A(I).forEach(g)}}(A))}filter(A){return this.transform(function(A){return g=>I=>{A(I)&&g(I)}}(A))}take(A){return this.transform(function(A){let g=0;return I=>B=>{gB=>{g+=1,g>A&&I(B)}}(A))}transform(A){return new Gg(this.input,this.xfs.concat([A]))}toArray(){return Array.from(this)}[Symbol.iterator](){let A=0,g=[],I=!1;const B=(Q=this.xfs,C=A=>g.push(A),Q.reverse().reduce(((A,g)=>{const I=Ng(g(A.step));return{step:I.step,flush:()=>{I.flush(),A.flush()}}}),Ng(C)));var Q,C;return{next:()=>{for(A===g.length&&(g=[],A=0);0===g.length;){const A=this.input.next();if(A.done)break;B.step(A.value)}return 0!==g.length||I||(B.flush(),I=!0),g.length>0?{done:!1,value:g[A++]}:{done:!0}}}}}function Ng(A){return"function"==typeof A?{step:A,flush:()=>{}}:A}function kg(A,g,I){let B,Q,C,E,i,e,t,o,{feed:s,now:n,setTimeout:r,onFinish:a,logger:c}=g,{idleTimeLimit:D,startAt:w,loop:h}=I,l=0,y=0,G=0;async function N(){if(C)return;const g=A.parser(await async function(A){let{url:g,data:I,fetchOpts:B={}}=A;if(void 0!==g){const A=await fetch(g,B);if(!A.ok)throw`failed fetching recording file: ${A.statusText} (${A.status})`;return await A.text()}if(void 0!==I)return"function"==typeof I&&(I=I()),await I;throw"failed fetching recording file: url/data missing in src"}(A));B=g.cols,Q=g.rows,D=D??g.idleTimeLimit;const I=function(A,g){let I=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1/0,B=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,Q=0,C=0,E=B;A instanceof Gg||(A=new Gg(A));const i=Array.from(function(A,g){const I=1/60;let B;return A.transform((A=>{let Q=0,C=0;return{step:g=>{Q++,void 0!==B?g[0]-B[0]{void 0!==B&&(A(B),C++),g.debug(`batched ${Q} frames to ${C} frames`)}}}))}(A,g).map((A=>{const g=A[0]-Q-I;return Q=A[0],g>0&&(C+=g,A[0]1e3*g[0]);k()}function R(){clearTimeout(e),e=null,o=n()-t}function M(){t=n()-o,o=null,k()}function u(A){const g=!!e;if(g&&R(),"string"==typeof A){const g=(o??0)/1e3;"<<"===A?A=g-5:">>"===A?A=g+5:"<<<"===A?A=g-.1*E:">>>"===A?A=g+.1*E:"%"===A[A.length-1]&&(A=parseFloat(A.substring(0,A.length-1))/100*E)}const I=1e3*Math.min(Math.max(A,0),E);I(await N(),{cols:B,rows:Q,duration:E}),start:async()=>{u(i),M()},stop:()=>{clearTimeout(e)},restart:()=>!e&&(u(0),M(),!0),pauseOrResume:()=>e?(R(),!1):(M(),!0),seek:u,step:function(){let A=C[l];void 0!==A?(s(A[1]),y=1e3*A[0],o=y,l++):(o=1e3*E,a())},getPoster:A=>function(A){const g=1e3*A,I=[];let B=0,Q=C[0];for(;Q&&1e3*Q[0]e?(n()-t)/1e3:(o??0)/1e3}}function Fg(A,g,I){let{kind:B}=A;return"random"==B?function(A){let{feed:g,setTimeout:I}=A;const B=" ".charCodeAt(0),Q="~".charCodeAt(0)-B;let C;const E=()=>{const A=Math.pow(5,4*Math.random());C=I(i,A)},i=()=>{E();const A=String.fromCharCode(B+Math.floor(Math.random()*Q));g(A)};return()=>(E(),()=>clearInterval(C))}(g):"clock"==B?function(A,g){let{feed:I}=A,{cols:B=5,rows:Q=1}=g;const C=Math.floor(Q/2),E=Math.floor(B/2)-2;let i;return{cols:B,rows:Q,duration:1440,start:()=>{setTimeout((()=>{I(`[?25l[${C}B`)}),0),i=setInterval((()=>{const A=new Date,g=A.getHours(),B=A.getMinutes();I("\r");for(let A=0;A{clearInterval(i)},getCurrentTime:()=>{const A=new Date;return 60*A.getHours()+A.getMinutes()}}}(g,I):void 0}class Rg{constructor(){this.items=[],this.onPush=void 0}push(A){this.items.push(A),void 0!==this.onPush&&(this.onPush(this.popAll()),this.onPush=void 0)}popAll(){if(this.items.length>0){const A=this.items;return this.items=[],A}{const A=this;return new Promise((g=>{A.onPush=g}))}}}function Mg(A,g){return g>0?function(A,g){const I=new Rg,B=1e3/60;let Q,C,E=!1,i=-B;return setTimeout((async()=>{for(;!E;){const e=await I.popAll();if(E)return;for(const I of e){const e=1e3*(I[0]-C+g);if(e-it&&(await dg(e-t),E))return;A(I[2]),i=e}}}),0),{pushEvent(A){void 0===Q&&(Q=ug(),C=A[0]),"o"==A[1]&&I.push(A)},pushText(A){void 0===Q&&(Q=ug(),C=0);const g=(ug()-Q)/1e3;I.push([g,"o",A])},stop(){E=!0,I.push(void 0)}}}(A,g):function(A){return{pushEvent(g){"o"===g[1]&&A(g[2])},pushText(g){A(g)},stop(){}}}(A)}function ug(){return(new Date).getTime()}function dg(A){return new Promise((g=>{setTimeout(g,A)}))}function Yg(A){return Math.min(500*Math.pow(2,A),5e3)}function Jg(A,g){let{url:I,bufferTime:B=0,reconnectDelay:Q=Yg}=A,{feed:C,reset:E,setLoading:i,onFinish:e,logger:t}=g;const o=new TextDecoder;let s,n,r,a,c=0,D=!1;function w(){void 0!==n&&n.stop(),n=Mg(C,B)}function h(){s=new WebSocket(I),s.binaryType="arraybuffer",s.onopen=()=>{t.info("websocket: opened"),i(!1),w(),a=setTimeout((()=>{c=0}),1e3)},s.onmessage=A=>{if("string"==typeof A.data){const g=JSON.parse(A.data);if(Array.isArray(g))n.pushEvent(g),void 0!==r&&r.setTime(g[0]);else if(void 0!==g.cols||void 0!==g.width){const A=g.cols??g.width,I=g.rows??g.height;t.debug(`websocket: vt reset (${A}x${I})`),w(),E(A,I,g.init??void 0),r=new LA,"number"==typeof g.time&&r.setTime(g.time)}else"offline"===g.state&&(t.info("websocket: stream offline"),r=void 0)}else n.pushText(o.decode(A.data))},s.onclose=A=>{if(D||1e3===A.code||1005===A.code)t.info("websocket: closed"),e();else{clearTimeout(a);const A=Q(c++);t.info(`websocket: unclean close, reconnecting in ${A}...`),i(!0),setTimeout(h,A)}}}return{start:()=>{h()},stop:()=>{D=!0,void 0!==n&&n.stop(),void 0!==s&&s.close()},getCurrentTime:()=>void 0===r?void 0:r.getTime()}}function fg(A,g){let I,B,Q,{url:C,bufferTime:E=0}=A,{feed:i,reset:e,setLoading:t,onFinish:o,logger:s}=g;function n(){void 0!==B&&B.stop(),B=Mg(i,E)}return{start:()=>{I=new EventSource(C),I.addEventListener("open",(()=>{s.info("eventsource: opened"),t(!1),n()})),I.addEventListener("error",(A=>{s.info("eventsource: errored"),s.debug({e:A}),t(!0)})),I.addEventListener("message",(A=>{const g=JSON.parse(A.data);if(Array.isArray(g))B.pushEvent(g),void 0!==Q&&Q.setTime(g[0]);else if(void 0!==g.cols||void 0!==g.width){const A=g.cols??g.width,I=g.rows??g.height;s.debug(`eventsource: vt reset (${A}x${I})`),n(),e(A,I,g.init??void 0),Q=new LA,"number"==typeof g.time&&Q.setTime(g.time)}else"offline"===g.state&&(s.info("eventsource: stream offline"),Q=void 0)})),I.addEventListener("done",(()=>{s.info("eventsource: closed"),I.close(),o()}))},stop:()=>{void 0!==B&&B.stop(),void 0!==I&&I.close()},getCurrentTime:()=>void 0===Q?void 0:Q.getTime()}}function Sg(A){let g,I=new Gg([]);if("string"==typeof A){const B=function(A){const g=A.split("\n");let I;try{I=JSON.parse(g[0])}catch(A){return}const B=new Gg(g).drop(1).filter((A=>"["===A[0])).map((A=>JSON.parse(A)));return{header:I,events:B}}(A);void 0!==B?(g=B.header,I=B.events):g=JSON.parse(A)}else if("object"==typeof A&&"number"==typeof A.version)g=A;else{if(!Array.isArray(A))throw"invalid data";g=A[0],I=new Gg(A).drop(1)}if(1===g.version)return function(A){let g=0;const I=new Gg(A.stdout).map((A=>(g+=A[0],[g,A[1]])));return{cols:A.width,rows:A.height,frames:I}}(g);if(2===g.version)return function(A,g){const I=g.filter((A=>"o"===A[1])).map((A=>[A[0],A[2]]));return{cols:A.width,rows:A.height,idleTimeLimit:A.idle_time_limit,frames:I}}(g,I);throw`asciicast v${g.version} format not supported`}return A.create=function(A,g){let I=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const B=I.logger??new yg,Q=new UA(function(A){if("function"==typeof A)return A;"string"==typeof A&&(A="ws://"==A.substring(0,5)||"wss://"==A.substring(0,6)?{driver:"websocket",url:A}:"test://"==A.substring(0,7)?{driver:"test",kind:A.substring(7)}:{driver:"recording",url:A});void 0===A.driver&&(A.driver="recording");"recording"==A.driver&&void 0===A.parser&&(A.parser=Sg);const g=new Map([["recording",kg],["websocket",Jg],["eventsource",fg],["test",Fg]]);if(g.has(A.driver)){const I=g.get(A.driver);return(g,B)=>I(A,g,B)}throw`unsupported driver: ${JSON.stringify(A)}`}(A),{logger:B,cols:I.cols,rows:I.rows,loop:I.loop,speed:I.speed,preload:I.preload,startAt:I.startAt,poster:I.poster,idleTimeLimit:I.idleTimeLimit}),C={logger:B,core:Q,cols:I.cols,rows:I.rows,fit:I.fit,autoPlay:I.autoPlay??I.autoplay,terminalFontSize:I.terminalFontSize,terminalFontFamily:I.terminalFontFamily,terminalLineHeight:I.terminalLineHeight,theme:I.theme};let E;const i=function(A,g,I,B={}){let Q;return c((B=>{Q=B,g===document?A():$(g,A(),g.firstChild?null:void 0,I)}),B.owner),()=>{Q(),g.textContent=""}}((()=>(E=v(lg,C),E)),g),e={el:E,dispose:i,getCurrentTime:()=>Q.getCurrentTime(),getDuration:()=>Q.getDuration(),play:()=>Q.play(),pause:()=>Q.pause(),seek:A=>Q.seek(A),addEventListener:(A,g)=>Q.addEventListener(A,g.bind(e))};return e},A}({}); diff --git a/en/assets/extra.css b/en/assets/extra.css new file mode 100644 index 00000000..4dfa0acb --- /dev/null +++ b/en/assets/extra.css @@ -0,0 +1,55 @@ +/* Increase H1 size */ +h1 { + font-size: 36px; +} + +/* Increases default font size */ +p { + font-size: 18px !important; +} + +/* Increases content width */ +.wy-nav-content { + max-width: 71% !important; +} + +/* Makes long text in a table wrap around */ +.wy-table-responsive table td { + white-space: normal !important; +} + +/* Increases font size on tables to a readable size */ +.rst-content table.docutils td, .rst-content table.docutils th { + font-size: 100% !important; +} + +/* Code block font is too small by default */ +code { + font-size: 14px !important; +} + +/* #region Asciinema Overrides */ + +/* Custom font to match Windows Terminal's default */ +@font-face { + font-family: "Cascadia Mono"; + src: local(CascadiaMono), + url("external/CascadiaMono.ttf") format("truetype"); + font-stretch: normal; + font-style: normal; + font-weight: 700; +} + +@font-face { + font-family: "Cascadia Mono"; + src: local(CascadiaMono), + url("external/CascadiaMono.ttf") format("truetype"); + font-stretch: normal; +} + +/* Makes the color for Spectre.Console's progress bar more closely match the other yellows */ +.fg-11 { + color: rgb(249,241,165) !important; +} + +/* #endregion */ \ No newline at end of file diff --git a/en/assets/extra.js b/en/assets/extra.js new file mode 100644 index 00000000..94c93af3 --- /dev/null +++ b/en/assets/extra.js @@ -0,0 +1,54 @@ +/* + Example Usage: +
+ + Defaults: + data-cli-rows - 14 +*/ +(function () +{ + // Asciinema will throw a null exception when being loaded from the browser's cache. Appears to be related to how quickly the .js library is loaded locally, + // versus there being a longer delay when loading over the network. + // Scheduling initPlayers() with setTimeout() adds just enough delay to fix the issue. + window.addEventListener('load', function () { setTimeout(initPlayers, 0) }, false); + + // Default settings used by all Asciinema players + const asciinemaOpts = { + terminalFontSize: "15px", + fit: 'none', + terminalFontFamily: "'Cascadia Mono', monospace", + cols: 120 + }; + + const defaultObserverOpts = { + threshold: .5 + }; + + function initPlayers() + { + let playerElements = document.querySelectorAll('[data-cli-player]'); + playerElements.forEach((playerElement) => + { + // Collect needed properties from the player's DOM element attributes + var asciiOpts = { ...asciinemaOpts }; + let castFileSource = playerElement.getAttribute('data-cli-player'); + asciiOpts.rows = playerElement.getAttribute('data-rows') ?? 14; + + let player = AsciinemaPlayer.create(castFileSource, playerElement, asciiOpts); + + // Use IntersectionObserver to trigger the player only when the user scrolls scrolled into the viewport + let observer = new IntersectionObserver((entries) => + { + if (entries[0].isIntersecting) + { + console.log("triggered"); + player.play(); + // Removing the observer so that the player doesn't restart if the user scrolls up/down + observer.unobserve(playerElement); + } + }, defaultObserverOpts); + + observer.observe(playerElement); + }); + }; +})(); diff --git a/en/assets/flags/en.svg b/en/assets/flags/en.svg new file mode 100644 index 00000000..dbac25ea --- /dev/null +++ b/en/assets/flags/en.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/en/assets/flags/gr.svg b/en/assets/flags/gr.svg new file mode 100644 index 00000000..599741ee --- /dev/null +++ b/en/assets/flags/gr.svg @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/en/assets/language-picker.css b/en/assets/language-picker.css new file mode 100644 index 00000000..d40f213a --- /dev/null +++ b/en/assets/language-picker.css @@ -0,0 +1,43 @@ +.dropdown-container { + position: relative; + display: inline-block; +} + +.dropdown-container:hover .dropdown-content { + display: block; +} + +/* Change the background color of the dropdown button when the dropdown content is shown */ +.dropdown-container:hover { + fill: #808080; +} + +.dropdown-container button { + background-color: inherit; + border: none; +} + +/* Dropdown Content (Hidden by Default) */ +.dropdown-content { + display: none; + position: absolute; + background-color: #f1f1f1; + min-width: 160px; + box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2); + z-index: 1; +} + +/* Links inside the dropdown */ +.dropdown-content a { + color: black; + padding: 10px 16px !important; + display: block !important; +} + +.dropdown-content a:hover { + background-color: #ddd; +} + +.flagIcon { + height: 20px !important; +} \ No newline at end of file diff --git a/en/detailed-command-usage/Clear-Cache/index.html b/en/detailed-command-usage/Clear-Cache/index.html new file mode 100644 index 00000000..93d29b09 --- /dev/null +++ b/en/detailed-command-usage/Clear-Cache/index.html @@ -0,0 +1,204 @@ + + + + + + + + clear-cache - battlenet-lancache-prefill wiki + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+ +
+
+ +
+
+ +

clear-cache

+
+


+

Overview

+

Deletes temporary cached manifests stored in the /Cache directory.
+These files are cached in order to dramatically speed up future prefill runs (in some cases 3X faster).
+For most users it isn't necessary to use this command, however it may be useful to free up some disk space if you are running low on storage.

+

These cached manifests will also build up over time, as newer versions of games are released, leaving unused manifests behind that will never be used again.

+

Options

+ + + + + + + + + + + + + + + +
Option
--yes-ySkips the prompt asking to clear the cache, and immediately begins clearing the cache.
+ +
+
+ + +
+
+ +
+ +
+ +
+ + + + GitHub + + + + « Previous + + + Next » + + +
+ + + + + + + + + diff --git a/en/detailed-command-usage/Prefill/index.html b/en/detailed-command-usage/Prefill/index.html new file mode 100644 index 00000000..5ccc0ed1 --- /dev/null +++ b/en/detailed-command-usage/Prefill/index.html @@ -0,0 +1,263 @@ + + + + + + + + prefill - battlenet-lancache-prefill wiki + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+ +
+
+ +
+
+ +

prefill

+ + +
+


+

Overview

+

Automatically fills a Lancache with games from BattleNet so that subsequent downloads will be served from the Lancache, improving speeds and reducing load on your internet connection.

+

Keeps track of which games have been previously downloaded, and will only download games that have updates.

+
+

Example usage

+
+

Note

+

This command will automatically include any apps that have been selected using select-apps, regardless of any additional optional flags specified.

+
+

Initiating a prefill run is as simple as running the following from the terminal:

+
./BattleNetPrefill prefill
+
+

At the beginning of a prefill run, BattleNetPrefill will check to see which apps have new updates since the last prefill run, as well as checking to see if any apps have never been successfully prefilled. If prefill detects that there are any apps that need to be downloaded, it will begin doing so. If there are no apps that need to be downloaded, then the prefill run will simply finish immediately.

+

Prefilling your entire BattleNet library

+

Depending on the size of your library, and which apps you want to prefill, it may be easier to simply prefill the entire library instead. This will also automatically include any new games you may have purchased, without having to use select-apps to select the newly purchased game.

+
./BattleNetPrefill prefill --all
+
+

Ensuring your cache is fully primed

+

Suppose that you have an event coming up, and you want to be 100% certain that your Lancache is prefilled. Normally running prefill will ensure that you have the latest update data primed, however you may want to have complete certainty that it is. Adding the --force flag will make BattleNetPrefill re-download every app, ignoring the fact that they may have already been up to date from a previous run. Because BattleNetPrefill will be re-downloading every app again from start to finish, any data that may be missing will be filled in again.

+
./BattleNetPrefill prefill --force
+
+
+

Options

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
OptionValuesDefault
--allDownloads all owned apps, useful for prefilling a completely empty cache.
--force-fBy default, BattleNetPrefill will keep track of the most recently prefilled apps, and will only attempt to prefill if there it determines there a newer version available for download. This default behavior will work best for most use cases, as no time will be wasted re-downloading files that have been previously prefilled.

Running with the flag --force will override this behavior, and instead will always run the prefill, re-downloading all files for the selected apps. This flag may be useful for diagnostics, or benchmarking network performance.
--verboseProduces more detailed log output. By default, games that are already up to date will not be displayed at all. Specifying this option will make it so that all games, even ones up to date, will be logged.
--unitbits, bytesbitsSpecifies which unit to use to display download speed.
--no-ansiApplication output will be in plain text, rather than using the visually appealing colors and progress bars. Should only be used if terminal does not support Ansi Escape sequences, or when redirecting output to a file.
+ +
+
+ + +
+
+ +
+ +
+ +
+ + + + GitHub + + + + « Previous + + + Next » + + +
+ + + + + + + + + diff --git a/en/detailed-command-usage/Select-Apps/index.html b/en/detailed-command-usage/Select-Apps/index.html new file mode 100644 index 00000000..b267676d --- /dev/null +++ b/en/detailed-command-usage/Select-Apps/index.html @@ -0,0 +1,180 @@ + + + + + + + + select-apps - battlenet-lancache-prefill wiki + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+ +
+
+ +
+
+ +

select-apps

+ + +
+


+ +
+
+ + +
+
+ +
+ +
+ +
+ + + + GitHub + + + + « Previous + + + Next » + + +
+ + + + + + + + + diff --git a/en/detailed-command-usage/casts/clear-cache.cast b/en/detailed-command-usage/casts/clear-cache.cast new file mode 100644 index 00000000..1e4b8d1e --- /dev/null +++ b/en/detailed-command-usage/casts/clear-cache.cast @@ -0,0 +1,10 @@ +{"version": 2, "width": 120, "height": 30, "timestamp": 1680890897, "env": {"SHELL": "/bin/bash", "TERM": "xterm-256color"}} +[0.070479, "o", "\u001b[?1h\u001b="] +[0.070977, "o", "\u001b[39;49m"] +[0.097002, "o", "\u001b[?25l"] +[0.124736, "o", " \r\n\u001b[38;5;2m⣾\u001b[0m Scanning \u001b[38;5;80mCache\u001b[0m directory...\r\n "] +[0.124955, "o", "\r\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K"] +[0.125015, "o", "\u001b[?25h"] +[0.125779, "o", "[6:08:17 PM] Found \u001b[38;5;229m142\u001b[0m cached files, totaling \u001b[38;5;170m26.49 MiB\u001b[0m\r\n"] +[0.137423, "o", "\u001b[?25lContinue to empty cache?\r\n \r\n\u001b[38;5;12m> Yes\u001b[0m \r\n No "] +[0.13761, "o", "\r\u001b[3AContinue to empty cache?\r\n \r\n\u001b[38;5;12m> Yes\u001b[0m \r\n No "] diff --git a/en/detailed-command-usage/casts/prefill.cast b/en/detailed-command-usage/casts/prefill.cast new file mode 100644 index 00000000..2000d9f8 --- /dev/null +++ b/en/detailed-command-usage/casts/prefill.cast @@ -0,0 +1,222 @@ +{"version": 2, "width": 120, "height": 30, "timestamp": 1680891644, "env": {"SHELL": "/bin/bash", "TERM": "xterm-256color"}} +[0.076498, "o", "\u001b[?1h\u001b="] +[0.077032, "o", "\u001b[39;49m"] +[0.214041, "o", "[6:20:44 PM] Starting login!\r\n"] +[0.320093, "o", "\u001b[?25l"] +[0.43462, "o", " \r\n\u001b[38;5;2m⣾\u001b[0m Connecting to Steam...\r\n "] +[0.535604, "o", "\r\u001b[2A \r\n\u001b[38;5;2m⣽\u001b[0m Connecting to Steam...\r\n "] +[0.635894, "o", "\r\u001b[2A \r\n\u001b[38;5;2m⣻\u001b[0m Connecting to Steam...\r\n "] +[0.736245, "o", "\r\u001b[2A \r\n\u001b[38;5;2m⢿\u001b[0m Connecting to Steam...\r\n "] +[0.787611, "o", "\r\u001b[2A[6:20:44 PM] Connected to Steam!\r\n \r\n\u001b[38;5;2m⢿\u001b[0m Connecting to Steam...\r\n "] +[0.836583, "o", "\r\u001b[2A \r\n\u001b[38;5;2m⡿\u001b[0m Logging in to Steam...\r\n "] +[0.936932, "o", "\r\u001b[2A \r\n\u001b[38;5;2m⣟\u001b[0m Logging in to Steam...\r\n "] +[1.037365, "o", "\r\u001b[2A \r\n\u001b[38;5;2m⣯\u001b[0m Logging in to Steam...\r\n "] +[1.137815, "o", "\r\u001b[2A \r\n\u001b[38;5;2m⣷\u001b[0m Logging in to Steam...\r\n "] +[1.143811, "o", "\r\u001b[2A \r\n\u001b[38;5;2m⣷\u001b[0m Logging in to Steam...\r\n "] +[1.144332, "o", "\r\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K"] +[1.144397, "o", "\u001b[?25h"] +[1.144717, "o", "[6:20:45 PM] Logged into Steam\r\n"] +[1.144994, "o", "\u001b[?25l"] +[1.177482, "o", " \r\n\u001b[38;5;2m⣾\u001b[0m Retrieving owned apps...\r\n "] +[1.177606, "o", "\r\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[?25h[6:20:45 PM] Steam session initialization complete!\r\n"] +[1.180662, "o", "\u001b[?25l"] +[1.281165, "o", " \r\n\u001b[38;5;2m⣾\u001b[0m Retrieving latest App metadata...\r\n "] +[1.381466, "o", "\r\u001b[2A \r\n\u001b[38;5;2m⣽\u001b[0m Retrieving latest App metadata...\r\n "] +[1.481842, "o", "\r\u001b[2A \r\n\u001b[38;5;2m⣻\u001b[0m Retrieving latest App metadata...\r\n "] +[1.58216, "o", "\r\u001b[2A \r\n\u001b[38;5;2m⢿\u001b[0m Retrieving latest App metadata...\r\n "] +[1.682468, "o", "\r\u001b[2A \r\n\u001b[38;5;2m⡿\u001b[0m Retrieving latest App metadata...\r\n "] +[1.782822, "o", "\r\u001b[2A \r\n\u001b[38;5;2m⣟\u001b[0m Retrieving latest App metadata...\r\n "] +[1.883163, "o", "\r\u001b[2A \r\n\u001b[38;5;2m⣯\u001b[0m Retrieving latest App metadata...\r\n "] +[1.983585, "o", "\r\u001b[2A \r\n\u001b[38;5;2m⣷\u001b[0m Retrieving latest App metadata...\r\n "] +[2.083924, "o", "\r\u001b[2A \r\n\u001b[38;5;2m⣾\u001b[0m Retrieving latest App metadata...\r\n "] +[2.184184, "o", "\r\u001b[2A \r\n\u001b[38;5;2m⣽\u001b[0m Retrieving latest App metadata...\r\n "] +[2.284589, "o", "\r\u001b[2A \r\n\u001b[38;5;2m⣻\u001b[0m Retrieving latest App metadata...\r\n "] +[2.384892, "o", "\r\u001b[2A \r\n\u001b[38;5;2m⢿\u001b[0m Retrieving latest App metadata...\r\n "] +[2.420083, "o", "\r\u001b[2A \r\n\u001b[38;5;2m⢿\u001b[0m Retrieving latest App metadata...\r\n \r\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[?25h"] +[2.423594, "o", "\r\n"] +[2.43129, "o", "[6:20:46 PM] Starting \u001b[38;5;80mCall of Duty®: Modern Warfare® II | Warzone™ 2.0\u001b[0m\r\n"] +[2.431601, "o", "\u001b[?25l"] +[2.532107, "o", " \r\n\u001b[38;5;2m⣾\u001b[0m \u001b[38;5;15m Getting available CDN Servers... \u001b[0m\r\n "] +[2.632409, "o", "\r\u001b[2A \r\n\u001b[38;5;2m⣽\u001b[0m \u001b[38;5;15m Getting available CDN Servers... \u001b[0m\r\n "] +[2.680464, "o", "\r\u001b[2A \r\n\u001b[38;5;2m⣽\u001b[0m \u001b[38;5;15m Getting available CDN Servers... \u001b[0m\r\n \r\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[?25h"] +[2.682091, "o", "\u001b[?25l"] +[2.737734, "o", " \r\n\u001b[38;5;2m⣾\u001b[0m Fetching depot manifests...\r\n \r\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[?25h"] +[2.739511, "o", "[6:20:46 PM] Downloading \u001b[38;5;170m35.56 GiB\u001b[0m\r\n"] +[2.740191, "o", "\u001b[?25l"] +[2.796716, "o", " \r\n\u001b[38;5;2m⣾\u001b[0m Detecting Lancache server...\r\n \r\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[?25h"] +[2.7976, "o", "[6:20:46 PM] Detected Lancache server at \u001b[38;5;80mlancache\u001b[0m [\u001b[38;5;141m192.168.1.223\u001b[0m]\r\n"] +[2.799457, "o", "\u001b[?25l"] +[2.902111, "o", " \r\nDownloading.. \u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 0% \u001b[38;5;12m00:00:12\u001b[0m 0.2\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 24.1 Gbit/s\r\n "] +[3.002496, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 1% \u001b[38;5;12m00:00:12\u001b[0m 0.5\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 24.0 Gbit/s\r\n "] +[3.106735, "o", "\r\u001b[2A "] +[3.107413, "o", "\r\n"] +[3.107816, "o", "Downloading.. \u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 2% \u001b[38;5;12m00:00:11\u001b[0m 0.8\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.0 Gbit/s"] +[3.1081, "o", "\r\n"] +[3.108499, "o", " "] +[3.108963, "o", " "] +[3.209401, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 3% \u001b[38;5;12m00:00:11\u001b[0m 1.1\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 24.7 Gbit/s\r\n "] +[3.309661, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 4% \u001b[38;5;12m00:00:11\u001b[0m 1.4\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.1 Gbit/s\r\n "] +[3.410249, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 4% \u001b[38;5;12m00:00:11\u001b[0m 1.7\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.5 Gbit/s\r\n "] +[3.510562, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 5% \u001b[38;5;12m00:00:11\u001b[0m 2.0\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.4 Gbit/s\r\n "] +[3.611077, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 6% \u001b[38;5;12m00:00:11\u001b[0m 2.3\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.4 Gbit/s\r\n "] +[3.711987, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 7% \u001b[38;5;12m00:00:11\u001b[0m 2.6\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.7 Gbit/s\r\n "] +[3.812515, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 8% \u001b[38;5;12m00:00:11\u001b[0m 2.9\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.6 Gbit/s\r\n "] +[3.912863, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 9% \u001b[38;5;12m00:00:10\u001b[0m 3.2\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.9 Gbit/s\r\n "] +[4.013376, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 9% \u001b[38;5;12m00:00:10\u001b[0m 3.5\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.7 Gbit/s\r\n "] +[4.113715, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 10% \u001b[38;5;12m00:00:10\u001b[0m 3.8\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.7 Gbit/s\r\n "] +[4.214206, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 11% \u001b[38;5;12m00:00:10\u001b[0m 4.1\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.6 Gbit/s\r\n "] +[4.314555, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 12% \u001b[38;5;12m00:00:10\u001b[0m 4.4\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.8 Gbit/s\r\n "] +[4.414946, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 13% \u001b[38;5;12m00:00:10\u001b[0m 4.7\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.6 Gbit/s\r\n "] +[4.515382, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 14% \u001b[38;5;12m00:00:10\u001b[0m 5.0\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.7 Gbit/s\r\n "] +[4.616017, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 14% \u001b[38;5;12m00:00:10\u001b[0m 5.3\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.8 Gbit/s\r\n "] +[4.717039, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 15% \u001b[38;5;12m00:00:09\u001b[0m 5.6\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.9 Gbit/s\r\n "] +[4.817328, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 16% \u001b[38;5;12m00:00:10\u001b[0m 5.9\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 24.7 Gbit/s\r\n "] +[4.917763, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 17% \u001b[38;5;12m00:00:10\u001b[0m 6.2\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 24.9 Gbit/s\r\n "] +[5.018088, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 18% \u001b[38;5;12m00:00:09\u001b[0m 6.5\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.7 Gbit/s\r\n "] +[5.118547, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 19% \u001b[38;5;12m00:00:09\u001b[0m 6.8\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.0 Gbit/s\r\n "] +[5.218827, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 19% \u001b[38;5;12m00:00:09\u001b[0m 7.1\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.0 Gbit/s\r\n "] +[5.319327, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 20% \u001b[38;5;12m00:00:09\u001b[0m 7.4\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.8 Gbit/s\r\n "] +[5.4198, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 21% \u001b[38;5;12m00:00:09\u001b[0m 7.7\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.0 Gbit/s\r\n "] +[5.520154, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 22% \u001b[38;5;12m00:00:09\u001b[0m 8.0\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.3 Gbit/s\r\n "] +[5.620525, "o", "\r\u001b[2A "] +[5.62083, "o", "\r\n"] +[5.620893, "o", "Downloading.. \u001b[38;5;11m━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 23% \u001b[38;5;12m00:00:08\u001b[0m 8.3\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.0 Gbi"] +[5.620979, "o", "t/s"] +[5.621025, "o", "\r\n"] +[5.621082, "o", " "] +[5.721558, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 24% \u001b[38;5;12m00:00:08\u001b[0m 8.6\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.9 Gbit/s\r\n "] +[5.822033, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 25% \u001b[38;5;12m00:00:08\u001b[0m 8.9\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.0 Gbit/s\r\n "] +[5.922354, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 25% \u001b[38;5;12m00:00:08\u001b[0m 9.2\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.7 Gbit/s\r\n "] +[6.022754, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 26% \u001b[38;5;12m00:00:08\u001b[0m 9.5\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.7 Gbit/s\r\n "] +[6.123083, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 27% \u001b[38;5;12m00:00:08\u001b[0m 9.8\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.2 Gbit/s\r\n "] +[6.223847, "o", "\r\u001b[2A "] +[6.22408, "o", "\r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 28% \u001b[38;5;12m00:00:08\u001b[0m 10.1\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.2 Gbit/s\r\n "] +[6.324342, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 29% \u001b[38;5;12m00:00:08\u001b[0m 10.4\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.3 Gbit/s\r\n "] +[6.42476, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 30% \u001b[38;5;12m00:00:08\u001b[0m 10.7\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.7 Gbit/s\r\n "] +[6.525026, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 30% \u001b[38;5;12m00:00:08\u001b[0m 11.0\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.9 Gbit/s\r\n "] +[6.625381, "o", "\r\u001b[2A "] +[6.62552, "o", "\r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 31% \u001b[38;5;12m00:00:07\u001b[0m 11.3\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.1 Gbit/s\r\n "] +[6.725883, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 32% \u001b[38;5;12m00:00:07\u001b[0m 11.6\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.9 Gbit/s\r\n "] +[6.826188, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 33% \u001b[38;5;12m00:00:07\u001b[0m 11.9\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.0 Gbit/s\r\n "] +[6.926531, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 34% \u001b[38;5;12m00:00:07\u001b[0m 12.2\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.9 Gbit/s\r\n "] +[7.026976, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 35% \u001b[38;5;12m00:00:07\u001b[0m 12.5\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.1 Gbit/s\r\n "] +[7.12808, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 36% \u001b[38;5;12m00:00:07\u001b[0m 12.8\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.1 Gbit/s\r\n "] +[7.228377, "o", "\r\u001b[2A "] +[7.228437, "o", "\r\n"] +[7.22847, "o", "Downloading.. \u001b[38;5;11m━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 36% \u001b[38;5;12m00:00:07\u001b[0m 13.1\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.9 G"] +[7.228514, "o", "bit/s\r\n "] +[7.328829, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 37% \u001b[38;5;12m00:00:07\u001b[0m 13.4\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.1 Gbit/s\r\n "] +[7.42912, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 38% \u001b[38;5;12m00:00:07\u001b[0m 13.7\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.8 Gbit/s\r\n "] +[7.529413, "o", "\r\u001b[2A "] +[7.529465, "o", "\r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 39% \u001b[38;5;12m00:00:07\u001b[0m 14.0\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.0 G"] +[7.529484, "o", "bit/s\r\n "] +[7.629813, "o", "\r\u001b[2A "] +[7.629935, "o", "\r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 40% \u001b[38;5;12m00:00:07\u001b[0m 14.4\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.0 Gbit/s\r\n "] +[7.730365, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 41% \u001b[38;5;12m00:00:06\u001b[0m 14.7\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.1 Gbit/s\r\n "] +[7.830627, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 42% \u001b[38;5;12m00:00:06\u001b[0m 15.0\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.3 Gbit/s\r\n "] +[7.931055, "o", "\r\u001b[2A "] +[7.931459, "o", "\r\n"] +[7.931631, "o", "Downloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 42% \u001b[38;5;12m00:00:06\u001b[0m 15.3\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.0 Gbit/s"] +[7.931688, "o", "\r\n "] +[8.032002, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 43% \u001b[38;5;12m00:00:06\u001b[0m 15.6\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.9 Gbit/s\r\n "] +[8.133061, "o", "\r\u001b[2A "] +[8.133752, "o", "\r\n"] +[8.133917, "o", "Downloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 44% \u001b[38;5;12m00:00:06\u001b[0m 15.9\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.7 G"] +[8.133997, "o", "bit/s\r\n "] +[8.234373, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 45% \u001b[38;5;12m00:00:06\u001b[0m 16.2\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.1 Gbit/s\r\n "] +[8.33459, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 46% \u001b[38;5;12m00:00:06\u001b[0m 16.5\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.8 Gbit/s\r\n "] +[8.434968, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 47% \u001b[38;5;12m00:00:06\u001b[0m 16.8\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.8 Gbit/s\r\n "] +[8.535287, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━\u001b[0m 48% \u001b[38;5;12m00:00:06\u001b[0m 17.1\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.0 Gbit/s\r\n "] +[8.635531, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━\u001b[0m 48% \u001b[38;5;12m00:00:05\u001b[0m 17.4\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.2 Gbit/s\r\n "] +[8.735832, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━\u001b[0m 49% \u001b[38;5;12m00:00:05\u001b[0m 17.7\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.3 Gbit/s\r\n "] +[8.83615, "o", "\r\u001b[2A "] +[8.836455, "o", "\r\n"] +[8.836517, "o", "Downloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━\u001b[0m 50% \u001b[38;5;12m00:00:05\u001b[0m 18.0\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.0 Gbit/s\r\n "] +[8.936881, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━\u001b[0m 51% \u001b[38;5;12m00:00:05\u001b[0m 18.3\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.8 Gbit/s\r\n "] +[9.03721, "o", "\r\u001b[2A "] +[9.037686, "o", "\r\n"] +[9.037731, "o", "Downloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━\u001b[0m 52% \u001b[38;5;12m00:00:05\u001b[0m 18.6\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.9 Gbit/s\r\n "] +[9.139092, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━\u001b[0m 53% \u001b[38;5;12m00:00:05\u001b[0m 18.9\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.0 Gbit/s\r\n "] +[9.239372, "o", "\r\u001b[2A "] +[9.23951, "o", "\r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━\u001b[0m 54% \u001b[38;5;12m00:00:05\u001b[0m 19.2\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.8 Gbit/s\r\n "] +[9.339986, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━\u001b[0m 54% \u001b[38;5;12m00:00:05\u001b[0m 19.5\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.8 Gbit/s\r\n "] +[9.440563, "o", "\r\u001b[2A "] +[9.440644, "o", "\r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━\u001b[0m 55% \u001b[38;5;12m00:00:05\u001b[0m 19.8\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.2 Gbit/s"] +[9.440686, "o", "\r\n"] +[9.440712, "o", " "] +[9.541075, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━\u001b[0m 56% \u001b[38;5;12m00:00:04\u001b[0m 20.1\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 27.0 Gbit/s\r\n "] +[9.641433, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━\u001b[0m 57% \u001b[38;5;12m00:00:04\u001b[0m 20.4\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.5 Gbit/s\r\n "] +[9.741807, "o", "\r\u001b[2A \r\n"] +[9.742119, "o", "Downloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━\u001b[0m 58% \u001b[38;5;12m00:00:04\u001b[0m 20.8\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.5 Gbit/s\r\n"] +[9.742148, "o", " "] +[9.842817, "o", "\r\u001b[2A "] +[9.84297, "o", "\r\n"] +[9.843035, "o", "Downloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━\u001b[0m 59% \u001b[38;5;12m00:00:04\u001b[0m 21.1\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.4 Gbit/s\r\n "] +[9.943404, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━\u001b[0m 60% \u001b[38;5;12m00:00:04\u001b[0m 21.4\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.8 Gbit/s\r\n "] +[10.043759, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━\u001b[0m 61% \u001b[38;5;12m00:00:04\u001b[0m 21.7\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.8 Gbit/s\r\n "] +[10.14424, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━\u001b[0m 61% \u001b[38;5;12m00:00:04\u001b[0m 22.0\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.8 Gbit/s\r\n "] +[10.244665, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━\u001b[0m 62% \u001b[38;5;12m00:00:04\u001b[0m 22.3\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.5 Gbit/s\r\n "] +[10.345156, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━\u001b[0m 63% \u001b[38;5;12m00:00:04\u001b[0m 22.6\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.5 Gbit/s\r\n "] +[10.445609, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━\u001b[0m 64% \u001b[38;5;12m00:00:04\u001b[0m 22.9\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.7 Gbit/s\r\n "] +[10.546051, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━\u001b[0m 65% \u001b[38;5;12m00:00:03\u001b[0m 23.2\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.5 Gbit/s\r\n "] +[10.646317, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━\u001b[0m 66% \u001b[38;5;12m00:00:03\u001b[0m 23.6\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.6 Gbit/s\r\n "] +[10.746648, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━\u001b[0m 67% \u001b[38;5;12m00:00:03\u001b[0m 23.9\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.4 Gbit/s\r\n "] +[10.846949, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━\u001b[0m 68% \u001b[38;5;12m00:00:03\u001b[0m 24.2\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.8 Gbit/s\r\n "] +[10.947204, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━\u001b[0m 68% \u001b[38;5;12m00:00:03\u001b[0m 24.5\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.8 Gbit/s\r\n "] +[11.047614, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━\u001b[0m 69% \u001b[38;5;12m00:00:03\u001b[0m 24.8\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.9 G"] +[11.047674, "o", "bit/s\r\n "] +[11.147965, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━\u001b[0m 70% \u001b[38;5;12m00:00:03\u001b[0m 25.1\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.8 Gbit/s\r\n "] +[11.248295, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━\u001b[0m 71% \u001b[38;5;12m00:00:03\u001b[0m 25.4\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.5 Gbit/s\r\n "] +[11.348586, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━\u001b[0m 72% \u001b[38;5;12m00:00:03\u001b[0m 25.7\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.6 Gbit/s\r\n "] +[11.449077, "o", "\r\u001b[2A "] +[11.449282, "o", "\r\n"] +[11.449365, "o", "Downloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━\u001b[0m 73% \u001b[38;5;12m00:00:03\u001b[0m 26.0\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.7 Gbit/s\r\n "] +[11.549786, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━\u001b[0m 74% \u001b[38;5;12m00:00:02\u001b[0m 26.4\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.6 Gbit/s\r\n "] +[11.649995, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━\u001b[0m 74% \u001b[38;5;12m00:00:02\u001b[0m 26.7\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.3 Gbit/s\r\n "] +[11.750287, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━\u001b[0m 75% \u001b[38;5;12m00:00:02\u001b[0m 27.0\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.9 Gbit/s\r\n "] +[11.850775, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━\u001b[0m 76% \u001b[38;5;12m00:00:02\u001b[0m 27.3\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.1 Gbit/s\r\n "] +[11.951064, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━\u001b[0m 77% \u001b[38;5;12m00:00:02\u001b[0m 27.6\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.3 Gbit/s\r\n "] +[12.051296, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━\u001b[0m 78% \u001b[38;5;12m00:00:02\u001b[0m 27.9\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.4 Gbit/s\r\n "] +[12.151728, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━\u001b[0m 79% \u001b[38;5;12m00:00:02\u001b[0m 28.2\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.5 Gbit/s\r\n "] +[12.251998, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━\u001b[0m 80% \u001b[38;5;12m00:00:02\u001b[0m 28.5\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.4 Gbit/s\r\n "] +[12.352298, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━\u001b[0m 81% \u001b[38;5;12m00:00:02\u001b[0m 28.8\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.5 Gbit/s\r\n "] +[12.45272, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━\u001b[0m 81% \u001b[38;5;12m00:00:02\u001b[0m 29.1\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.5 Gbit/s\r\n "] +[12.553375, "o", "\r\u001b[2A "] +[12.553808, "o", "\r\n"] +[12.554049, "o", "Downloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━\u001b[0m 82% \u001b[38;5;12m00:00:01\u001b[0m 29.4\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.4 G"] +[12.554268, "o", "bit/s"] +[12.55447, "o", "\r\n"] +[12.554686, "o", " "] +[12.655267, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━\u001b[0m 83% \u001b[38;5;12m00:00:01\u001b[0m 29.8\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.7 Gbit/s\r\n "] +[12.755653, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━\u001b[0m 84% \u001b[38;5;12m00:00:01\u001b[0m 30.1\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.7 Gbit/s\r\n "] +[12.856025, "o", "\r\u001b[2A "] +[12.856614, "o", "\r\n"] +[12.857207, "o", "Downloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━\u001b[0m 85% \u001b[38;5;12m00:00:01\u001b[0m 30.4\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.8 G"] +[12.857431, "o", "bit/s"] +[12.857687, "o", "\r\n "] +[12.958085, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━\u001b[0m 86% \u001b[38;5;12m00:00:01\u001b[0m 30.7\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.7 Gbit/s\r\n "] +[13.058565, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━\u001b[0m 87% \u001b[38;5;12m00:00:01\u001b[0m 31.0\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.2 Gbit/s\r\n "] +[13.158871, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━\u001b[0m 87% \u001b[38;5;12m00:00:01\u001b[0m 31.3\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.7 Gbit/s\r\n "] +[13.25934, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━\u001b[0m 88% \u001b[38;5;12m00:00:01\u001b[0m 31.6\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.5 Gbit/s\r\n "] +[13.359694, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━\u001b[0m 89% \u001b[38;5;12m00:00:01\u001b[0m 31.9\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.4 Gbit/s\r\n "] +[13.459978, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━\u001b[0m 90% \u001b[38;5;12m00:00:01\u001b[0m 32.2\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.3 Gbit/s\r\n "] +[13.560452, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━\u001b[0m 91% \u001b[38;5;12m00:00:01\u001b[0m 32.5\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.3 Gbit/s\r\n "] +[13.660928, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━\u001b[0m 92% \u001b[38;5;12m00:00:00\u001b[0m 32.8\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.6 Gbit/s\r\n "] +[13.761205, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━\u001b[0m 92% \u001b[38;5;12m00:00:00\u001b[0m 33.1\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.5 Gbit/s\r\n "] +[13.861561, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━\u001b[0m 93% \u001b[38;5;12m00:00:00\u001b[0m 33.4\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.5 Gbit/s\r\n "] +[13.961923, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━\u001b[0m 94% \u001b[38;5;12m00:00:00\u001b[0m 33.7\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.5 Gbit/s\r\n "] +[14.062357, "o", "\r\u001b[2A "] +[14.062584, "o", "\r\n"] +[14.062773, "o", "Downloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━\u001b[0m 95% \u001b[38;5;12m00:00:00\u001b[0m 34.0\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.5 Gbit/s\r\n "] +[14.163089, "o", "\r\u001b[2A "] +[14.163224, "o", "\r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━\u001b[0m 96% \u001b[38;5;12m00:00:00\u001b[0m 34.3\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.8 Gbit/s\r\n "] +[14.2634, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━\u001b[0m 97% \u001b[38;5;12m00:00:00\u001b[0m 34.6\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.8 Gbit/s\r\n "] +[14.363771, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━\u001b[0m 98% \u001b[38;5;12m00:00:00\u001b[0m 34.9\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.4 Gbit/s\r\n "] +[14.464156, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━\u001b[0m 98% \u001b[38;5;12m00:00:00\u001b[0m 35.2\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.7 Gbit/s\r\n "] +[14.564441, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━\u001b[0m 99% \u001b[38;5;12m00:00:00\u001b[0m 35.5\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.7 Gbit/s\r\n "] +[14.59875, "o", "\r\u001b[2A \r\n… \r\n \r\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[?25h"] +[14.603585, "o", "[6:20:58 PM] Finished in \u001b[38;5;229m11.8656\u001b[0m - \u001b[38;5;170m25.75 Gbit/s\u001b[0m\r\n"] +[14.603696, "o", "\r\n"] +[14.605315, "o", "[6:20:58 PM] Prefill complete!\r\n"] +[14.605769, "o", "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\r\n"] +[14.606312, "o", " Prefilled \u001b[38;5;170m1\u001b[0m apps in \u001b[38;5;229m14.5102\u001b[0m \r\n \r\n \u001b[38;5;80mUpdated\u001b[0m │ \u001b[38;5;2mUp To Date\u001b[0m \r\n ━━━━━━━━━┿━━━━━━━━━━━━ \r\n 1 │ 0 \r\n \u001b[?25l"] diff --git a/en/detailed-command-usage/casts/select-apps.cast b/en/detailed-command-usage/casts/select-apps.cast new file mode 100644 index 00000000..812d440e --- /dev/null +++ b/en/detailed-command-usage/casts/select-apps.cast @@ -0,0 +1,21 @@ +{"version":2,"width":113,"height":30,"timestamp":1680911872,"theme":{},"env":{"SHELL":"/bin/bash","TERM":"xterm-256color"}} +[0.068,"o","\u001b[?25l"] +[0.077,"o","\u001b[?12l\u001b[?25h"] +[0.084,"o","\u001b[?25l"] +[0.085,"o","\u001b[1;1H"] +[0.085,"o","\u001b[1;1H"] +[0.085,"o","\u001b[40;92m┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────┐"] +[0.085,"o","\u001b[2;1H"] +[0.085,"o","\u001b[2;1H│ \u001b[40;97mSort:\u001b[40;92m \u001b[40;97m[ Selected ]\u001b[40;92m \u001b[40;97m[ Name ]\u001b[40;92m \u001b[40;97m \u001b[40;92m \u001b[40;97m \u001b[40;92m │\u001b[3;1H\u001b[3;1H│ │"] +[0.085,"o","\u001b[4;1H\u001b[4;1H│ Search: \u001b[46;97m \u001b[40;92m │\u001b[5;1H\u001b[5;1H│───────────────────────────────────────────────────────────────────────────────────────────────────────────────│\u001b[6;1H\u001b[6;1H│ Title │\u001b[7;1H\u001b[7;1H"] +[0.085,"o","│───────────────────────────────────────────────────────────────────────────────────────────────────────────────│\u001b[8;1H\u001b[8;1H│ \u001b[40;37m Blizzard Arcade Collection \u001b[40;92m │\u001b[9;1H"] +[0.085,"o","\u001b[9;1H│ \u001b[40;37m Diablo: Immortal \u001b[40;92m │\u001b[10;1H\u001b[10;1H│ \u001b[40;37m Diablo 2: Resurrected \u001b[40;92m │\u001b[11;1H\u001b[11;1H│ \u001b[40;37m Diablo 3 \u001b[40;92m │\u001b[12;1H"] +[0.086,"o","\u001b[12;1H│ \u001b[40;37m Diablo 4 \u001b[40;92m │\u001b[13;1H\u001b[13;1H│ \u001b[40;37m Hearthstone \u001b[40;92m │\u001b[14;1H\u001b[14;1H│ \u001b[40;37m Heroes of the Storm \u001b[40;92m │\u001b[15;1H"] +[0.086,"o","\u001b[15;1H│ \u001b[40;37m Starcraft Remastered \u001b[40;92m │\u001b[16;1H"] +[0.086,"o","\u001b[16;1H│ \u001b[40;37m Starcraft 2 \u001b[40;92m │\u001b[17;1H\u001b[17;1H│ \u001b[40;37m Overwatch 2 \u001b[40;92m │\u001b[18;1H\u001b[18;1H│ \u001b[40;37m Warcraft 3: Reforged \u001b[40;92m │\u001b[19;1H\u001b[19;1H│ \u001b[40;37m World of Warcraft \u001b[40;92m │\u001b[20;1H"] +[0.086,"o","\u001b[20;1H│ \u001b[40;37m WoW Classic \u001b[40;92m │\u001b[21;1H\u001b[21;1H│ \u001b[40;37m Call of Duty: Black Ops 4 \u001b[40;92m │\u001b[22;1H\u001b[22;1H│ \u001b[40;37m Call of Duty: Black Ops Cold War \u001b[40;92m │\u001b[23;1H"] +[0.086,"o","\u001b[23;1H│ \u001b[40;37m Call of Duty: Warzone \u001b[40;92m │\u001b[24;1H\u001b[24;1H│ \u001b[40;37m Call of Duty: Modern Warfare 2 \u001b[40;92m │\u001b[25;1H"] +[0.086,"o","\u001b[25;1H│ \u001b[40;37m Call of Duty: MW2 Remastered \u001b[40;92m │\u001b[26;1H\u001b[26;1H│ \u001b[40;37m Call of Duty: Vanguard \u001b[40;92m │\u001b[27;1H\u001b[27;1H│ \u001b[40;37m Crash Bandicoot 4: It's About Time \u001b[40;92m │\u001b[28;1H"] +[0.086,"o","\u001b[28;1H│ \u001b[40;37m \u001b[40;92m │\u001b[29;1H\u001b[29;1H└───────────────────────────────────────────────────────────────────────────────────────────────────────────────┘\u001b[30;1H"] +[0.086,"o","\u001b[30;1H\u001b[40;97m \u001b[40;92mESC\u001b[40;97m to Quit │ \u001b[40;92m↑/↓/PgUp/PgDn\u001b[40;97m to navigate │ \u001b[40;92mSpace\u001b[40;97m to select │ \u001b[40;92mCTRL-A\u001b[40;97m Select All │ \u001b[40;92mCTRL-C\u001b[40;97m Clear All │ \u001b[40;92mEnter\u001b[40;97m to Save\u001b[?25l"] +[0.086,"o","\u001b[?25l\u001b[?25l"] diff --git a/en/dev-guides/Compiling-from-source/index.html b/en/dev-guides/Compiling-from-source/index.html new file mode 100644 index 00000000..88f1dabf --- /dev/null +++ b/en/dev-guides/Compiling-from-source/index.html @@ -0,0 +1,238 @@ + + + + + + + + Compiling From Source - battlenet-lancache-prefill wiki + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+ +
+
+ +
+
+ +

Compiling From Source

+

Installing Prerequisites

+

Only the .NET 6 SDK is required to compile the project. This can be installed through one of the following methods

+

Using Chocolatey

+
choco install dotnet-6.0-sdk
+
+

Manually

+

The latest .NET 6.0 SDK can be found here .NET 6.0 SDK - Windows x64 Installer

+

Fixing Nuget's Default Config

+
# Needs to be removed, in order to resolve issue with Nuget being preconfigured wrong.  
+# Will auto-regenerate on first run.
+Remove-Item "C:\Users\$Env:USERNAME\AppData\Roaming\NuGet\nuget.config"
+
+

Cloning the repo and submodules

+
git clone --recurse-submodules -j8 https://github.com/tpill90/battlenet-lancache-prefill.git
+
+

If you've already cloned the repository without the submodules, use this command to include the submodules:

+
git submodule update --init --recursive
+
+

Compiling

+

The project can be compiled by running the following in the repository root (the directory with the .sln file). This will generate an .exe that can be run locally. Subsequent dotnet build commands will perform incremental compilation.

+
dotnet build
+
+

Running the project

+
+

Note

+

These steps assume that the working directory is /BattleNetPrefill. All commands assume that they can find BattleNetPrefill.csproj in the working dir.

+
+

Typically, for development you will want to run the project in Debug mode. This mode will run dramatically slower than Release, however it will leave useful debugging information in the compiled assembly. Running the following will detect and compile any changes, and then execute the project:

+
dotnet run
+
+

The above is analogous to running ./BattleNetPrefill.exe without any parameters. To instead supply parameters :

+
dotnet run -- prefill --all
+
+

Alternatively, to run the project at full speed with all compilation optimizations enabled, add the additional --configuration Release flag:

+
dotnet run --configuration Release
+
+

Executing Unit Tests

+

To compile and run all tests in the entire repo, run the following command:

+
dotnet test
+
+

Where should I get started?

+

A good place to start poking around the project would be the CliCommands folder. This folder contains the implementations for each of the individual commands that can be run, such as prefill or select-apps.

+ +
+
+ + +
+
+ +
+ +
+ +
+ + + + GitHub + + + + « Previous + + + Next » + + +
+ + + + + + + + + diff --git a/en/dev-guides/mkdocs-setup/index.html b/en/dev-guides/mkdocs-setup/index.html new file mode 100644 index 00000000..f9b33322 --- /dev/null +++ b/en/dev-guides/mkdocs-setup/index.html @@ -0,0 +1,208 @@ + + + + + + + + Working With Project Documentation - battlenet-lancache-prefill wiki + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+ +
+
+ +
+
+ +

Working With Project Documentation

+

Installing Prerequisites

+

This project is using mkdocs to generate the static documentation that is then hosted on Github Pages. The only requirement for building mkdocs is to have Python 3 installed, which can be done through Chocolatey.

+
# Installs Python from Chocolatey.  Alternatively Python can be manually installed.
+choco install python
+
+# Installs required mkdocs package
+pip install mkdocs mkdocs-awesome-pages-plugin mkdocs-static-i18n mkdocs-macros-plugin
+
+

Project Layout

+
mkdocs.yml    # Mkdocs root configuration file.
+mkdocs/
+    index.md  # The documentation homepage.
+    ...       # Other markdown pages, images and other files.
+
+

Making Changes

+

mkdocs has a built in server that will watch for changes being made, and immediately display those changes.

+

You can launch the the live server using mkdocs serve, and open http://127.0.0.1:8000/ in your browser. You can now make edits and have the page automatically refresh and display those changes!

+ + + +
+
+ + +
+
+ +
+ +
+ +
+ + + + GitHub + + + + « Previous + + + +
+ + + + + + + + + diff --git a/en/images/install-guides/ConsoleWithUtf8.png b/en/images/install-guides/ConsoleWithUtf8.png new file mode 100644 index 00000000..719682e1 Binary files /dev/null and b/en/images/install-guides/ConsoleWithUtf8.png differ diff --git a/en/images/install-guides/Create-SteamPrefill-Directory.png b/en/images/install-guides/Create-SteamPrefill-Directory.png new file mode 100644 index 00000000..fe1d3770 Binary files /dev/null and b/en/images/install-guides/Create-SteamPrefill-Directory.png differ diff --git a/en/images/install-guides/unraid-docker-typical-setup.png b/en/images/install-guides/unraid-docker-typical-setup.png new file mode 100644 index 00000000..53d9822d Binary files /dev/null and b/en/images/install-guides/unraid-docker-typical-setup.png differ diff --git a/en/images/install-guides/unraid-userscript-community-app.png b/en/images/install-guides/unraid-userscript-community-app.png new file mode 100644 index 00000000..ebe22e68 Binary files /dev/null and b/en/images/install-guides/unraid-userscript-community-app.png differ diff --git a/en/images/install-guides/unraid-userscripts-button.png b/en/images/install-guides/unraid-userscripts-button.png new file mode 100644 index 00000000..36baa976 Binary files /dev/null and b/en/images/install-guides/unraid-userscripts-button.png differ diff --git a/en/index.html b/en/index.html new file mode 100644 index 00000000..cdaf1f7e --- /dev/null +++ b/en/index.html @@ -0,0 +1,175 @@ + + + + + + + + Welcome - battlenet-lancache-prefill wiki + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+ +
+
+ +
+
+ +

BattleNetPrefill is a tool used to automate filling a Lancache with games from BattleNet, so that subsequent downloads for the same content will be served from the Lancache, improving speeds and reducing load on your internet connection.

+

Getting started?

+

Check out the install guides for various platforms: Linux Setup Guide, Windows Setup Guide, Docker Setup Guide, and Unraid Setup Guide.

+

Interesting in Contributing?

+

To get started compiling the project, see Compiling From Source.
+Want to make updates to the documentation? See Working With Project Documentation.

+ +
+
+ + +
+ +
+ +
+
+ + +
+
+ +
+ +
+ +
+ + + + GitHub + + + + + Next » + + +
+ + + + + + + + + diff --git a/en/install-guides/Docker-Setup-Guide/index.html b/en/install-guides/Docker-Setup-Guide/index.html new file mode 100644 index 00000000..14edf15f --- /dev/null +++ b/en/install-guides/Docker-Setup-Guide/index.html @@ -0,0 +1,203 @@ + + + + + + + + Docker Setup Guide - battlenet-lancache-prefill wiki + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+ +
+
+ +
+
+ +

Docker Setup Guide

+

This guide is intended for getting started with the BattleNetPrefill Docker image (DockerHub), and to become familiarized with how to interact with it. This guide does not intend to be a detailed guide on how to use BattleNetPrefill itself, which can be found in the Getting Started guide.

+
+

Note

+

Docker is not strictly required to run BattleNetPrefill, as it is a completely self-contained portable app.

+
+

Basic Usage Via Command Line

+

To download and run the latest version of the container, open up a terminal and run the following command:

+
docker run -it --rm --net=host \
+  --volume ~/.config/BattleNetPrefill:/Config \
+  tpill90/battlenet-lancache-prefill:latest 
+
+

This command is the same as running BattleNetPrefill from the command line with no options, and if successful should produce the following output:

+
+


+

At this point, you will be able to run any of the COMMANDS listed in the output by appending the desired command at the end, for example with select-apps:

+
docker run -it --rm --net=host  \
+  --volume ~/.config/BattleNetPrefill:/Config \
+  tpill90/battlenet-lancache-prefill:latest \
+  select-apps
+
+

Next Steps

+

If you are new to BattleNetPrefill and would like an introductory tutorial, see the Getting Started guide.

+

Answers to common issues and questions can be found at Frequently Asked Questions.

+ +
+
+ + +
+
+ +
+ +
+ +
+ + + + GitHub + + + + « Previous + + + Next » + + +
+ + + + + + + + + diff --git a/en/install-guides/Linux-Setup-Guide/index.html b/en/install-guides/Linux-Setup-Guide/index.html new file mode 100644 index 00000000..dd414a99 --- /dev/null +++ b/en/install-guides/Linux-Setup-Guide/index.html @@ -0,0 +1,230 @@ + + + + + + + + Linux Setup Guide - battlenet-lancache-prefill wiki + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+ +
+
+ +
+
+ +

Linux Setup Guide

+

This guide is written to help Linux beginners successfully download BattleNetPrefill on their Lancache caching server.

+

Installing Prerequisites

+

Prior to installing BattleNetPrefill we will need to make sure that curl, jq, and unzip are already installed on our system. Depending on your machine's configuration, this software may or may not already be installed. Regardless, the following steps will ensure that everything needed is successfully installed.

+
+

Note

+

These steps assume that you are using Ubuntu/Debian. Depending on which Linux distro you are using, you may have to use slightly different commands.

+
+

To run the following commands, open up a new terminal session, and enter the following:

+
# Makes sure that the latest app versions will be installed
+apt-get update
+
+# Installs the required software
+apt-get install curl jq unzip wget -y
+
+
+

Warning

+

You may run into a "Could not open lock file" error when running apt-get install, and will need to prefix the command with sudo

+
+

Once the install command has finished successfully, we can move on to installing BattleNetPrefill.

+

Installing BattleNetPrefill

+

We will be using a script to assist with installing BattleNetPrefill for the first time. This will be helpful as it will save us from running several manual steps.

+

To begin, open up a new terminal session. We will want to create a new directory to install BattleNetPrefill into. For example, to create the directory and to move into it, run

+
mkdir BattleNetPrefill
+cd BattleNetPrefill/
+
+

After running the above commands successfully, you should see similar output in your terminal :

+
+


+

We can now move on to downloading the install script from the repo, and running it to install BattleNetPrefill

+
# Downloads the install script
+curl -o update.sh --location "https://raw.githubusercontent.com/tpill90/battlenet-lancache-prefill/master/scripts/update.sh"
+
+# Allows the install script to be executed
+chmod +x update.sh
+
+# Does the install!
+./update.sh
+
+# Allows BattleNetPrefill to be executed
+chmod +x ./BattleNetPrefill
+
+

If everything worked as expected, you should see output similar to below

+
+


+

BattleNetPrefill is now installed on your machine! You can now run it with ./BattleNetPrefill

+

Next Steps

+

If you are new to BattleNetPrefill and would like an introductory tutorial, see the Getting Started guide.

+

Answers to common issues and questions can be found at Frequently Asked Questions.

+ +
+
+ + +
+
+ +
+ +
+ +
+ + + + GitHub + + + + « Previous + + + Next » + + +
+ + + + + + + + + diff --git a/en/install-guides/Scheduled-Job/index.html b/en/install-guides/Scheduled-Job/index.html new file mode 100644 index 00000000..62cc37fc --- /dev/null +++ b/en/install-guides/Scheduled-Job/index.html @@ -0,0 +1,239 @@ + + + + + + + + Configuring a Nightly Job - battlenet-lancache-prefill wiki + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+ +
+
+ +
+
+ +

Configuring a Nightly Job

+
+

Note

+

This guide assumes that you have already installed BattleNetPrefill on your system. If you have not yet installed BattleNetPrefill, see Linux Setup Guide

+
+

Configuring The Schedule

+

We will first need to configure a timer which will configure the schedule that BattleNetPrefill will run on. In this example, we will setup a schedule that will run nightly at 4am local time. This schedule was chosen

+

You should create a new file named /etc/systemd/system/battlenetprefill.timer, and save the following configuration into that file.

+
[Unit]
+Description=BattleNetPrefill run daily
+Requires=battlenetprefill.service
+
+[Timer]
+# Runs every day at 4am (local time)
+OnCalendar=*-*-* 4:00:00
+
+# Set to true so we can store when the timer last triggered on disk.
+Persistent=true
+
+[Install]
+WantedBy=timers.target
+
+
+

Configuring The Job

+

Next, well setup the job that will be triggered nightly by the timer that we previously setup. Create a new file /etc/systemd/system/battlenetprefill.service, and save the following configuration into the file.

+
+

Note

+

The values of User, WorkingDirectory, and ExecStart will need to be configured to point to your BattleNetPrefill install location.

+
+
[Unit]
+Description=BattleNetPrefill
+After=remote-fs.target
+Wants=remote-fs.target
+
+[Service]
+Type=oneshot
+# Sets the job to the lowest priority
+Nice=19
+User=# Replace with your username
+WorkingDirectory=# Set this to the directory where BattleNetPrefill is installed.  E.g /home/tim/Prefills
+ExecStart=# Set this to match your working directory from the line above.  E.g. /home/tim/Prefills/BattleNetPrefill prefill --no-ansi
+
+[Install]
+WantedBy=multi-user.target
+
+

Once these two files are setup, you can enable the scheduled job with:

+
sudo systemctl daemon-reload
+sudo systemctl start battlenetprefill.timer
+sudo systemctl enable battlenetprefill
+
+

If everything was configured correctly, you should see similar output from running sudo systemctl status battlenetprefill.timer

+
+


+
+

Checking Service Logs

+

It is possible to check on the status of the service using sudo systemctl status battlenetprefill, which will display both the service's status as well as its most recent logs.

+
+


+ +
+
+ + +
+
+ +
+ +
+ +
+ + + + GitHub + + + + « Previous + + + Next » + + +
+ + + + + + + + + diff --git a/en/install-guides/Unraid-Setup-Guide/index.html b/en/install-guides/Unraid-Setup-Guide/index.html new file mode 100644 index 00000000..0f73c71e --- /dev/null +++ b/en/install-guides/Unraid-Setup-Guide/index.html @@ -0,0 +1,248 @@ + + + + + + + + Unraid Setup Guide - battlenet-lancache-prefill wiki + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+ +
+
+ +
+
+ +

Unraid Setup Guide

+

Prior to installing BattleNetPrefill via docker you should ensure you have a working Lancache caching and Lancache DNS server installed on your system.

+
+

Note

+

These steps assume that you are running Lancache caching server as a docker container on a custom network configured for your own subnet.

+
+

Unraid Lancache Setup

+

Installing BattleNetPrefill Docker Image

+

Again from your Unraid terminal you will download and run the BattleNetPrefill Docker image.

+
+

Note

+

--add-host=level3.blizzard.com:XXX.XXX.XXX.XXX is required in order to tell the container the IP Address of your Lancache server running on your custom network. If not specified, BattleNetPrefill will be unable to locate the Lancache server, and will be unable to prefill.

+
+

Next you will run the following command to setup the container, and start configuring which apps to prefill.

+
docker run -it --rm \
+  --net=br0 \
+  --add-host=level3.blizzard.com:XXX.XXX.XXX.XXX  \
+  --volume /mnt/user/appdata/BattleNetPrefill:/Config \
+  tpill90/battlenet-lancache-prefill:latest \
+  select-apps
+
+

To get familiarized with how to use BattleNetPrefill, see the Getting Started guide.

+

Setting up a schedule

+

The User Scripts Community App can be used to create and configure custom scheduled jobs on Unraid. To begin, ensure that the app is installed from Unraid's App tab, if it isn't already installed.

+

Unraid Community Apps

+

After installing User Scripts, click Unraid's Plugins tab, then the User Scripts icon to open up the settings for scheduled jobs.
+User Scripts Settings button

+

Next, add a new script by clicking ADD NEW SCRIPT, and give it the name BattleNetPrefill. After it has been created, click the orange gear next to BattleNetPrefill, and select EDIT SCRIPT.
+Adding the following command will configure the scheduled job to run the prefill command every time it is configured. Be sure sure to change XXX.XXX.XXX.XXX to your Lancache server IP.

+
+

Note

+

This command is almost identical to the one we used previously, except for --it being omitted. This will make the container run non-interactively, as required by User Scripts

+
+
#!/bin/bash
+docker rm -f BattleNetPrefill &>/dev/null && echo 'Removed old container from previous run';
+docker run --rm --name BattleNetPrefill \
+  --net=br0 \
+  --add-host=level3.blizzard.com:XXX.XXX.XXX.XXX  \
+  --volume /mnt/user/appdata/BattleNetPrefill:/Config \
+  tpill90/battlenet-lancache-prefill:latest \
+  prefill
+
+

After saving changes, the final step will be to decide on a schedule, and configure that schedule. Change the schedule drop down from Schedule Disabled, to Custom, which will allow you to specify your desired schedule. Jobs are configured by specifying a Cron expression that describes the schedule to run on.

+

Some examples of cron expressions:

+ + + + + + + + + + + + + + + + + +
ScheduleCron Expression
Every day at 2am0 2 * * *
Every 4 hours0 */4 * * *
+

If the above examples don't cover your use case, crontab.guru is an online cron expression editor that can interactively edit cron expressions, and explain what they mean.

+

Finally after entering a cron expression, click APPLY to save your cron expression. You should now be all set to have BattleNetPrefill run on a schedule!

+

Next Steps

+

If you are new to BattleNetPrefill and would like an introductory tutorial, see the Getting Started guide.

+

Answers to common issues and questions can be found at Frequently Asked Questions.

+ +
+
+ + +
+
+ +
+ +
+ +
+ + + + GitHub + + + + « Previous + + + Next » + + +
+ + + + + + + + + diff --git a/en/install-guides/Windows-Setup-Guide/index.html b/en/install-guides/Windows-Setup-Guide/index.html new file mode 100644 index 00000000..0b88ee25 --- /dev/null +++ b/en/install-guides/Windows-Setup-Guide/index.html @@ -0,0 +1,206 @@ + + + + + + + + Windows Setup Guide - battlenet-lancache-prefill wiki + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+ +
+
+ +
+
+ +

Windows Setup Guide

+

Installing BattleNetPrefill

+
    +
  1. Navigate to the Releases page on Github.
  2. +
  3. Download the latest version for Windows. The filename should look like BattleNetPrefill-X.Y.Z-win-x64.zip.
  4. +
  5. Unzip to a directory of your choice. This can be anywhere on your system.
  6. +
+

Optional Windows Setup

+

Configuring your terminal to use Unicode will result in a much nicer experience with BattleNetPrefill, for much nicer looking UI output.

+

UTF8 Comparison

+

As the default console in Windows does not support UTF8, you should instead consider installing Windows Terminal from the Microsoft App Store, or Chocolatey.

+

Once Windows Terminal has been installed you will still need to enable Unicode, as it is not enabled by default. Running the following command in Powershell will enable it if it hasn't already been enabled.

+
if(!(Test-Path $profile))
+{
+    New-Item -Path $profile -Type File -Force
+}
+if(!(gc $profile).Contains("OutputEncoding")) 
+{ 
+    ac $profile "[console]::InputEncoding = [console]::OutputEncoding = [System.Text.UTF8Encoding]::new()";
+    & $profile; 
+}
+
+

Next Steps

+

If you are new to BattleNetPrefill and would like an introductory tutorial, see the Getting Started guide.

+

Answers to common issues and questions can be found at Frequently Asked Questions.

+ +
+
+ + +
+
+ +
+ +
+ +
+ + + + GitHub + + + + « Previous + + + Next » + + +
+ + + + + + + + + diff --git a/en/install-guides/casts/docker-pull.cast b/en/install-guides/casts/docker-pull.cast new file mode 100644 index 00000000..60943815 --- /dev/null +++ b/en/install-guides/casts/docker-pull.cast @@ -0,0 +1,101 @@ +{"version": 2, "width": 120, "height": 30, "timestamp": 1680884423, "env": {"SHELL": "/bin/bash", "TERM": "xterm-256color"}} +[0.016313, "o", "Unable to find image 'tpill90/battlenet-lancache-prefill:latest' locally\r\n"] +[0.434332, "o", "latest: Pulling from tpill90/battlenet-lancache-prefill\r\n\r\n\u001b[1A\u001b[2K\r06d39c85623a: "] +[0.434462, "o", "Pulling fs layer \r\u001b[1B\r\n\u001b[1A\u001b[2K\r79f1c5c049d0: Pulling fs layer \r\u001b[1B\r\n\u001b[1A\u001b[2K\r4f4fb700ef54: Pulling fs layer \r\u001b[1B\r\n\u001b[1A\u001b[2K\r603d43bad8ad: "] +[0.434524, "o", "Pulling fs layer \r\u001b[1B\u001b[1A\u001b[2K\r603d43bad8ad: Waiting \r\u001b[1B"] +[0.62045, "o", "\u001b[2A\u001b[2K\r4f4fb700ef54: Downloading [==================================================>] 32B/32B\r\u001b[2B"] +[0.620568, "o", "\u001b[2A\u001b[2K\r4f4fb700ef54: Verifying Checksum \r\u001b[2B\u001b[2A\u001b[2K\r4f4fb700ef54: Download complete \r\u001b[2B"] +[0.646646, "o", "\u001b[3A\u001b[2K\r79f1c5c049d0: "] +[0.646733, "o", "Downloading [> ] 90.91kB/9.02MB\r\u001b[3B"] +[0.669342, "o", "\u001b[4A\u001b[2K\r06d39c85623a: "] +[0.669416, "o", "Downloading [> ] 277.8kB/27.5MB\r\u001b[4B"] +[0.747908, "o", "\u001b[3A\u001b[2K\r79f1c5c049d0: Downloading [======> ] 1.262MB/9.02MB\r\u001b[3B"] +[0.809192, "o", "\u001b[4A\u001b[2K\r06d39c85623a: Downloading [====> ] 2.259MB/27.5MB\r\u001b[4B"] +[0.849044, "o", "\u001b[3A\u001b[2K\r79f1c5c049d0: "] +[0.84919, "o", "Downloading [=================> ] 3.222MB/9.02MB\r\u001b[3B"] +[0.909725, "o", "\u001b[4A\u001b[2K\r06d39c85623a: "] +[0.909808, "o", "Downloading [==========> ] 5.909MB/27.5MB\r\u001b[4B"] +[0.938522, "o", "\u001b[1A\u001b[2K\r603d43bad8ad: "] +[0.93859, "o", "Downloading [> ] 261.4kB/25.19MB\r\u001b[1B"] +[0.95276, "o", "\u001b[3A\u001b[2K\r79f1c5c049d0: "] +[0.952826, "o", "Downloading [===========================> ] 4.893MB/9.02MB\r\u001b[3B"] +[1.016312, "o", "\u001b[4A\u001b[2K\r06d39c85623a: Downloading [==============> ] 8.166MB/27.5MB\r\u001b[4B"] +[1.053028, "o", "\u001b[3A\u001b[2K\r79f1c5c049d0: Downloading [===================================> ] 6.363MB/9.02MB\r\u001b[3B"] +[1.074684, "o", "\u001b[1A\u001b[2K\r603d43bad8ad: "] +[1.074759, "o", "Downloading [=> ] 780.6kB/25.19MB\r\u001b[1B"] +[1.125504, "o", "\u001b[4A\u001b[2K\r06d39c85623a: "] +[1.125606, "o", "Downloading [==================> ] 10.41MB/27.5MB\r\u001b[4B"] +[1.157185, "o", "\u001b[3A\u001b[2K\r79f1c5c049d0: Downloading [===========================================> ] 7.85MB/9.02MB\r\u001b[3B"] +[1.235775, "o", "\u001b[4A\u001b[2K\r06d39c85623a: "] +[1.235945, "o", "Downloading [=======================> ] 12.65MB/27.5MB\r\u001b[4B"] +[1.236593, "o", "\u001b[3A\u001b[2K\r79f1c5c049d0: Download complete \r\u001b[3B"] +[1.237806, "o", "\u001b[1A\u001b[2K\r603d43bad8ad: Downloading [==> ] 1.309MB/25.19MB\r\u001b[1B"] +[1.3432, "o", "\u001b[4A\u001b[2K\r06d39c85623a: Downloading [=============================> ] 16.02MB/27.5MB\r\u001b[4B"] +[1.391522, "o", "\u001b[1A\u001b[2K\r603d43bad8ad: "] +[1.391653, "o", "Downloading [====> ] 2.095MB/25.19MB\r\u001b[1B"] +[1.446899, "o", "\u001b[4A\u001b[2K\r06d39c85623a: Downloading [===================================> ] 19.38MB/27.5MB\r\u001b[4B"] +[1.531616, "o", "\u001b[1A\u001b[2K\r603d43bad8ad: Downloading [=====> ] 2.882MB/25.19MB\r\u001b[1B"] +[1.552108, "o", "\u001b[4A\u001b[2K\r06d39c85623a: "] +[1.552205, "o", "Downloading [=========================================> ] 23.05MB/27.5MB\r\u001b[4B"] +[1.654833, "o", "\u001b[4A\u001b[2K\r06d39c85623a: Downloading [===============================================> ] 26.4MB/27.5MB\r\u001b[4B"] +[1.672061, "o", "\u001b[1A\u001b[2K\r603d43bad8ad: "] +[1.67217, "o", "Downloading [=======> ] 3.672MB/25.19MB\r\u001b[1B"] +[1.689, "o", "\u001b[4A\u001b[2K\r06d39c85623a: Verifying Checksum \r\u001b[4B"] +[1.689121, "o", "\u001b[4A\u001b[2K\r06d39c85623a: Download complete \r\u001b[4B"] +[1.721617, "o", "\u001b[4A\u001b[2K\r06d39c85623a: Extracting [> ] 294.9kB/27.5MB\r\u001b[4B"] +[1.794559, "o", "\u001b[1A\u001b[2K\r603d43bad8ad: Downloading [=========> ] 4.721MB/25.19MB\r\u001b[1B"] +[1.824655, "o", "\u001b[4A\u001b[2K\r06d39c85623a: "] +[1.824771, "o", "Extracting [============> ] 7.078MB/27.5MB\r\u001b[4B"] +[1.904403, "o", "\u001b[1A\u001b[2K\r603d43bad8ad: Downloading [===========> ] 5.77MB/25.19MB\r\u001b[1B"] +[1.92786, "o", "\u001b[4A\u001b[2K\r06d39c85623a: Extracting [=======================> ] 12.68MB/27.5MB\r\u001b[4B"] +[2.014905, "o", "\u001b[1A\u001b[2K\r603d43bad8ad: Downloading [==============> ] 7.076MB/25.19MB\r\u001b[1B"] +[2.028838, "o", "\u001b[4A\u001b[2K\r06d39c85623a: "] +[2.028902, "o", "Extracting [=====================================> ] 20.64MB/27.5MB\r\u001b[4B"] +[2.125386, "o", "\u001b[1A\u001b[2K\r603d43bad8ad: Downloading [=================> ] 8.649MB/25.19MB\r\u001b[1B"] +[2.131941, "o", "\u001b[4A\u001b[2K\r06d39c85623a: "] +[2.132005, "o", "Extracting [=============================================> ] 24.77MB/27.5MB\r\u001b[4B"] +[2.220875, "o", "\u001b[4A\u001b[2K\r06d39c85623a: Extracting [==================================================>] 27.5MB/27.5MB\r\u001b[4B"] +[2.233917, "o", "\u001b[1A\u001b[2K\r603d43bad8ad: Downloading [====================> ] 10.48MB/25.19MB\r\u001b[1B"] +[2.256545, "o", "\u001b[4A\u001b[2K\r06d39c85623a: Pull complete \r\u001b[4B"] +[2.258396, "o", "\u001b[3A\u001b[2K"] +[2.258437, "o", "\r79f1c5c049d0: Extracting [> ] 98.3kB/9.02MB\r\u001b[3B"] +[2.334187, "o", "\u001b[1A\u001b[2K\r603d43bad8ad: Downloading [========================> ] 12.58MB/25.19MB\r\u001b[1B"] +[2.358725, "o", "\u001b[3A\u001b[2K\r79f1c5c049d0: Extracting [===========================> ] 4.915MB/9.02MB\r\u001b[3B"] +[2.444163, "o", "\u001b[1A\u001b[2K\r603d43bad8ad: Downloading [==============================> ] 15.2MB/25.19MB\r\u001b[1B"] +[2.462044, "o", "\u001b[3A\u001b[2K\r79f1c5c049d0: "] +[2.462172, "o", "Extracting [================================================> ] 8.749MB/9.02MB\r\u001b[3B"] +[2.468877, "o", "\u001b[3A\u001b[2K\r79f1c5c049d0: "] +[2.468944, "o", "Extracting [==================================================>] 9.02MB/9.02MB\r\u001b[3B"] +[2.486298, "o", "\u001b[3A\u001b[2K\r79f1c5c049d0: Pull complete \r\u001b[3B"] +[2.487671, "o", "\u001b[2A\u001b[2K\r4f4fb700ef54: "] +[2.487691, "o", "Extracting [==================================================>] 32B/32B\r\u001b[2B"] +[2.487835, "o", "\u001b[2A\u001b[2K\r4f4fb700ef54: Extracting [==================================================>] 32B/32B\r\u001b[2B"] +[2.518919, "o", "\u001b[2A\u001b[2K\r4f4fb700ef54: Pull complete \r\u001b[2B"] +[2.546619, "o", "\u001b[1A\u001b[2K\r603d43bad8ad: Downloading [===================================> ] 18.09MB/25.19MB\r"] +[2.546691, "o", "\u001b[1B"] +[2.649781, "o", "\u001b[1A\u001b[2K\r603d43bad8ad: Downloading [==========================================> ] 21.49MB/25.19MB\r"] +[2.649897, "o", "\u001b[1B"] +[2.746027, "o", "\u001b[1A\u001b[2K\r603d43bad8ad: Verifying Checksum \r\u001b[1B\u001b[1A"] +[2.746156, "o", "\u001b[2K\r603d43bad8ad: Download complete \r\u001b[1B"] +[2.776909, "o", "\u001b[1A\u001b[2K\r603d43bad8ad: Extracting [> ] 262.1kB/25.19MB\r\u001b[1B"] +[2.878548, "o", "\u001b[1A\u001b[2K\r603d43bad8ad: Extracting [==================> ] 9.437MB/25.19MB\r\u001b[1B"] +[2.981398, "o", "\u001b[1A\u001b[2K\r603d43bad8ad: Extracting [==================================> ] 17.3MB/25.19MB\r\u001b[1B"] +[3.071323, "o", "\u001b[1A\u001b[2K"] +[3.071444, "o", "\r603d43bad8ad: Extracting [==================================================>] 25.19MB/25.19MB\r\u001b[1B"] +[3.080465, "o", "\u001b[1A\u001b[2K\r603d43bad8ad: Pull complete \r\u001b[1B"] +[3.1213, "o", "Digest: sha256:ee1d761f598ffa108ecb0312d8bcda61419900c790d0c91611a7d2f83d0f2b17\r\n"] +[3.123009, "o", "Status: Downloaded newer image for tpill90/battlenet-lancache-prefill:latest\r\n"] +[3.389456, "o", "\u001b[?1h\u001b="] +[3.389663, "o", "\u001b[39;49m"] +[3.396538, "o", "\u001b[39;49m"] +[3.39761, "o", "\u001b[97m"] +[3.397839, "o", "BattleNetPrefill\u001b[39;49m \u001b[39;49m"] +[3.397984, "o", "\u001b[93mv2.0.0\u001b[39;49m\r\n "] +[3.398052, "o", "Automatically fills a Lancache with games from BattleNet, so that subsequent downloads will be \r\n served from the Lancache, improving speeds and reducing load on your internet connection. \r\n\r\n Start by selecting apps for prefill with the 'select-apps' command, then start the prefill using 'prefill'\r\n"] +[3.398094, "o", "\r\n\u001b[39;49m\u001b[97mUSAGE\u001b[39;49m\r\n BattleNetPrefill "] +[3.398984, "o", "\u001b[39;49m\u001b[93m[options]\u001b[39;49m\r\n"] +[3.39917, "o", " BattleNetPrefill \u001b[39;49m\u001b[96m[command]\u001b[39;49m [...]\r\n"] +[3.399219, "o", "\r\n\u001b[39;49m\u001b[97mOPTIONS\u001b[39;49m\r\n"] +[3.400947, "o", " "] +[3.401035, "o", "\u001b[39;49m\u001b[93m-h\u001b[39;49m|\u001b[39;49m\u001b[93m--help\u001b[39;49m Shows help text. "] +[3.4011, "o", "\r\n \u001b[39;49m\u001b[93m--version\u001b[39;49m "] \ No newline at end of file diff --git a/en/install-guides/casts/make-new-directory.cast b/en/install-guides/casts/make-new-directory.cast new file mode 100644 index 00000000..6fe4639a --- /dev/null +++ b/en/install-guides/casts/make-new-directory.cast @@ -0,0 +1,33 @@ +{"version":2,"width":198,"height":50,"timestamp":1686252407,"theme":{},"env":{"SHELL":"/bin/bash","TERM":"xterm-256color"}} +[0.183,"o","\u001b]0;tim@lancache: ~\u0007\u001b[01;32mtim@lancache\u001b[00m:\u001b[01;34m~\u001b[00m$ "] +[0.674,"o","m"] +[0.876,"o","k"] +[1.201,"o","d"] +[1.284,"o","i"] +[1.391,"o","r"] +[1.562,"o"," "] +[1.757,"o","B"] +[1.937,"o","a"] +[2.019,"o","t"] +[2.14,"o","t"] +[2.228,"o","l"] +[2.349,"o","e"] +[2.765,"o","N"] +[2.921,"o","e"] +[2.984,"o","t"] +[3.192,"o","P"] +[3.273,"o","r"] +[3.369,"o","e"] +[3.487,"o","f"] +[3.56,"o","i"] +[3.724,"o","l"] +[3.852,"o","l"] +[4.05,"o","\r\n"] +[4.052,"o","\u001b]0;tim@lancache: ~\u0007\u001b[01;32mtim@lancache\u001b[00m:\u001b[01;34m~\u001b[00m$ "] +[4.329,"o","c"] +[4.507,"o","d"] +[4.602,"o"," "] +[4.904,"o","B"] +[5.253,"o","attleNetPrefill/"] +[6.055,"o","\r\n"] +[6.056,"o","\u001b]0;tim@lancache: ~/BattleNetPrefill\u0007\u001b[01;32mtim@lancache\u001b[00m:\u001b[01;34m~/BattleNetPrefill\u001b[00m$ "] diff --git a/en/install-guides/casts/successful-linux-install.cast b/en/install-guides/casts/successful-linux-install.cast new file mode 100644 index 00000000..19d6e28b --- /dev/null +++ b/en/install-guides/casts/successful-linux-install.cast @@ -0,0 +1,15 @@ +{"version": 2, "width": 120, "height": 30, "timestamp": 1682212566, "env": {"SHELL": "/bin/bash", "TERM": "xterm-256color"}} +[0.004051, "o", "\u001b[0;33m Checking for latest version \u001b[0m\r\n"] +[0.514142, "o", " Found latest version : \u001b[0;36m 2.0.0 \u001b[0m\r\n"] +[0.514293, "o", "\u001b[0;33m Downloading... \u001b[0m\r\n"] +[0.849332, "o", "\rBattleNetPrefill-2.0.0-linux-x64. 0%[ ] 0 --.-KB/s "] +[1.053832, "o", "\rBattleNetPrefill-2.0.0-linux-x64. 1%[ ] 454.94K 2.17MB/s "] +[1.255286, "o", "\rBattleNetPrefill-2.0.0-linux-x64. 5%[=> ] 1.26M 3.10MB/s "] +[1.456256, "o", "\rBattleNetPrefill-2.0.0-linux-x64. 11%[====> ] 2.68M 4.42MB/s "] +[1.656278, "o", "\rBattleNetPrefill-2.0.0-linux-x64. 21%[=========> ] 4.95M 6.13MB/s "] +[1.856627, "o", "\rBattleNetPrefill-2.0.0-linux-x64. 38%[==================> ] 8.90M 8.84MB/s "] +[2.056788, "o", "\rBattleNetPrefill-2.0.0-linux-x64. 61%[=============================> ] 14.37M 11.9MB/s "] +[2.257092, "o", "\rBattleNetPrefill-2.0.0-linux-x64. 90%[============================================> ] 20.93M 14.9MB/s "] +[2.311783, "o", "\rBattleNetPrefill-2.0.0-linux-x64. 100%[=================================================>] 23.18M 15.9MB/s in 1.5s \r\n"] +[2.312848, "o", "\u001b[0;33m Unzipping... \u001b[0m\r\n"] +[2.690844, "o", " \u001b[0;36m Complete! \u001b[0m\r\n"] diff --git a/en/install-guides/casts/systemd-service-logs.cast b/en/install-guides/casts/systemd-service-logs.cast new file mode 100644 index 00000000..dad507c3 --- /dev/null +++ b/en/install-guides/casts/systemd-service-logs.cast @@ -0,0 +1,4 @@ +{"version": 2, "width": 120, "height": 30, "timestamp": 1682209691, "env": {"SHELL": "/bin/bash", "TERM": "xterm-256color"}} +[0.008427, "o", "\u001b[?1h\u001b=\r"] +[0.013491, "o", "● battlenetprefill.service - BattleNetPrefill\u001b[m\r\n Loaded: loaded (/etc/systemd/system/battlenetprefill.service; enabled; vendor preset: enabled)\u001b[m\r\n Active: inactive (dead) since Sun 2023-04-23 00:17:01 UTC; 11min ago\u001b[m\r\nTriggeredBy: \u001b[0;1;32m●\u001b[0m battlenetprefill.timer\u001b[m\r\n Main PID: 2657978 (code=exited, status=0/SUCCESS)\u001b[m\r\n\u001b[m\r\nApr 23 00:17:01 lancache BattleNetPrefill[2657978]: Prefilled 1 apps in 03.1053\u001b[m\r\nApr 23 00:17:01 lancache BattleNetPrefill[2657978]: \u001b[m\r\nApr 23 00:17:01 lancache BattleNetPrefill[2657978]: Updated │ Up To Date\u001b[m\r\nApr 23 00:17:01 lancache BattleNetPrefill[2657978]: ━━━━━━━━━┿━━━━━━━━━━━━\u001b[m\r\nApr 23 00:17:01 lancache BattleNetPrefill[2657978]: 0 │ 1\u001b[m\r\nApr 23 00:17:01 lancache BattleNetPrefill[2657978]: \u001b[m\r\nApr 23 00:17:01 lancache BattleNetPrefill[2657978]: Disconnecting\u001b[m\r\nApr 23 00:17:01 lancache BattleNetPrefill[2657978]: [12:17:01 AM] Disconnected from Steam!\u001b[m\r\nApr 23 00:"] +[0.01359, "o", "17:01 lancache systemd[1]: battlenetprefill.service: Succeeded.\u001b[m\r\nApr 23 00:17:01 lancache systemd[1]: Finished BattleNetPrefill.\u001b[m\r\n\r\u001b[K\u001b[?1l\u001b>"] diff --git a/en/install-guides/casts/systemd-timer-status.cast b/en/install-guides/casts/systemd-timer-status.cast new file mode 100644 index 00000000..1f330610 --- /dev/null +++ b/en/install-guides/casts/systemd-timer-status.cast @@ -0,0 +1,4 @@ +{"version": 2, "width": 120, "height": 30, "timestamp": 1682209197, "env": {"SHELL": "/bin/bash", "TERM": "xterm-256color"}} +[0.008024, "o", "\u001b[?1h\u001b=\r"] +[0.012229, "o", "\u001b[0;1;32m●\u001b[0m battlenetprefill.timer - BattleNetPrefill run daily\u001b[m\r\n Loaded: loaded (/etc/systemd/system/battlenetprefill.timer; enabled; vendor preset: enabled)\u001b[m\r\n Active: \u001b[0;1;32mactive (waiting)\u001b[0m since Sun 2023-04-23 00:16:58 UTC; 2min 59s ago\u001b[m\r\n Trigger: Sun 2023-04-23 04:00:00 UTC; 3h 40min left\u001b[m\r\n Triggers: ● battlenetprefill.service\u001b[m\r\n\u001b[m\r\nApr 23 00:16:58 lancache systemd[1]: Started BattleNetPrefill run daily.\u001b[m\r\n"] +[0.012304, "o", "\r\u001b[K\u001b[?1l\u001b>"] diff --git a/gr/assets/external/CascadiaMono.ttf b/gr/assets/external/CascadiaMono.ttf new file mode 100644 index 00000000..d15637ef Binary files /dev/null and b/gr/assets/external/CascadiaMono.ttf differ diff --git a/gr/assets/external/asciinema-player.css b/gr/assets/external/asciinema-player.css new file mode 100644 index 00000000..24005f61 --- /dev/null +++ b/gr/assets/external/asciinema-player.css @@ -0,0 +1,2636 @@ +.asciinema-player-wrapper { + outline: none; + height: 100%; + display: flex; + justify-content: center; +} +.asciinema-player-wrapper .title-bar { + display: none; + top: -78px; + transition: top 0.15s linear; + position: absolute; + left: 0; + right: 0; + box-sizing: content-box; + font-size: 20px; + line-height: 1em; + padding: 15px; + font-family: sans-serif; + color: white; + background-color: rgba(0, 0, 0, 0.8); +} +.asciinema-player-wrapper .title-bar img { + vertical-align: middle; + height: 48px; + margin-right: 16px; +} +.asciinema-player-wrapper .title-bar a { + color: white; + text-decoration: underline; +} +.asciinema-player-wrapper .title-bar a:hover { + text-decoration: none; +} +.asciinema-player-wrapper:fullscreen { + background-color: #000; + width: 100%; + -webkit-align-items: center; + align-items: center; +} +.asciinema-player-wrapper:fullscreen .asciinema-player { + position: static; +} +.asciinema-player-wrapper:fullscreen .title-bar { + display: initial; +} +.asciinema-player-wrapper:fullscreen.hud .title-bar { + top: 0; +} +.asciinema-player-wrapper:-webkit-full-screen { + background-color: #000; + width: 100%; + -webkit-align-items: center; + align-items: center; +} +.asciinema-player-wrapper:-webkit-full-screen .asciinema-player { + position: static; +} +.asciinema-player-wrapper:-webkit-full-screen .title-bar { + display: initial; +} +.asciinema-player-wrapper:-webkit-full-screen.hud .title-bar { + top: 0; +} +.asciinema-player-wrapper:-moz-full-screen { + background-color: #000; + width: 100%; + -webkit-align-items: center; + align-items: center; +} +.asciinema-player-wrapper:-moz-full-screen .asciinema-player { + position: static; +} +.asciinema-player-wrapper:-moz-full-screen .title-bar { + display: initial; +} +.asciinema-player-wrapper:-moz-full-screen.hud .title-bar { + top: 0; +} +.asciinema-player-wrapper:-ms-fullscreen { + background-color: #000; + width: 100%; + -webkit-align-items: center; + align-items: center; +} +.asciinema-player-wrapper:-ms-fullscreen .asciinema-player { + position: static; +} +.asciinema-player-wrapper:-ms-fullscreen .title-bar { + display: initial; +} +.asciinema-player-wrapper:-ms-fullscreen.hud .title-bar { + top: 0; +} +.asciinema-player-wrapper .asciinema-player { + text-align: left; + display: inline-block; + padding: 0px; + position: relative; + box-sizing: content-box; + -moz-box-sizing: content-box; + -webkit-box-sizing: content-box; + overflow: hidden; + max-width: 100%; + border-radius: 4px; + font-size: 12px; +} +.asciinema-terminal { + box-sizing: content-box; + -moz-box-sizing: content-box; + -webkit-box-sizing: content-box; + overflow: hidden; + padding: 0; + margin: 0px; + display: block; + white-space: pre; + border: 0; + word-wrap: normal; + word-break: normal; + border-radius: 0; + border-style: solid; + cursor: text; + border-width: 0.75em; + font-family: Consolas, Menlo, 'Bitstream Vera Sans Mono', monospace, 'Powerline Symbols'; +} +.asciinema-terminal .line { + letter-spacing: normal; + overflow: hidden; +} +.asciinema-terminal .line span { + padding: 0; + display: inline-block; + height: 100%; +} +.asciinema-terminal .line { + display: block; + width: 200%; +} +.asciinema-terminal .line .cursor-a { + display: inline-block; +} +.asciinema-terminal .line .cursor-b { + display: none; + border-radius: 0.05em; +} +.asciinema-terminal .line .blink { + visibility: hidden; +} +.asciinema-terminal.cursor .line .cursor-a { + display: none; +} +.asciinema-terminal.cursor .line .cursor-b { + display: inline-block; +} +.asciinema-terminal.blink .line .blink { + visibility: visible; +} +.asciinema-terminal .bright { + font-weight: bold; +} +.asciinema-terminal .faint { + opacity: 0.5; +} +.asciinema-terminal .underline { + text-decoration: underline; +} +.asciinema-terminal .italic { + font-style: italic; +} +.asciinema-terminal .strikethrough { + text-decoration: line-through; +} +.asciinema-player .loading > .asciinema-terminal { + background-color: transparent; +} +.asciinema-player .control-bar { + width: 100%; + height: 32px; + background: rgba(0, 0, 0, 0.8); + /* no gradient fallback */ + background: -moz-linear-gradient(top, rgba(0, 0, 0, 0.5) 0%, #000000 25%, #000000 100%); + /* FF3.6-15 */ + background: -webkit-linear-gradient(top, rgba(0, 0, 0, 0.5) 0%, #000000 25%, #000000 100%); + /* Chrome10-25,Safari5.1-6 */ + background: linear-gradient(to bottom, rgba(0, 0, 0, 0.5) 0%, #000000 25%, #000000 100%); + /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */ + color: #bbb; + box-sizing: content-box; + line-height: 1; + position: absolute; + bottom: 0; + left: 0; + opacity: 0; + transition: opacity 0.15s linear; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + z-index: 30; +} +.asciinema-player .control-bar * { + box-sizing: inherit; + font-size: 0; +} +.asciinema-player .control-bar svg.icon path { + fill: #bbb; +} +.asciinema-player .control-bar .playback-button { + display: block; + float: left; + cursor: pointer; + height: 12px; + width: 12px; + padding: 10px; +} +.asciinema-player .control-bar .playback-button svg { + height: 12px; + width: 12px; +} +.asciinema-player .control-bar .timer { + display: block; + float: left; + width: 50px; + height: 100%; + text-align: center; + font-family: Helvetica, Arial, sans-serif; + font-size: 11px; + font-weight: bold; + line-height: 32px; + cursor: default; +} +.asciinema-player .control-bar .timer span { + display: inline-block; + font-size: inherit; +} +.asciinema-player .control-bar .timer .time-remaining { + display: none; +} +.asciinema-player .control-bar .timer:hover .time-elapsed { + display: none; +} +.asciinema-player .control-bar .timer:hover .time-remaining { + display: inline; +} +.asciinema-player .control-bar .progressbar { + display: block; + overflow: hidden; + height: 100%; + padding: 0 10px; +} +.asciinema-player .control-bar .progressbar .bar { + display: block; + cursor: default; + height: 100%; + padding-top: 15px; + font-size: 0; +} +.asciinema-player .control-bar .progressbar .bar .gutter { + display: block; + height: 3px; + background-color: #333; +} +.asciinema-player .control-bar .progressbar .bar .gutter span { + display: inline-block; + height: 100%; + background-color: #bbb; + border-radius: 3px; +} +.asciinema-player .control-bar.seekable .progressbar .bar { + cursor: pointer; +} +.asciinema-player .control-bar .fullscreen-button { + display: block; + float: right; + width: 14px; + height: 14px; + padding: 9px; + cursor: pointer; +} +.asciinema-player .control-bar .fullscreen-button svg { + width: 14px; + height: 14px; +} +.asciinema-player .control-bar .fullscreen-button svg:first-child { + display: inline; +} +.asciinema-player .control-bar .fullscreen-button svg:last-child { + display: none; +} +.asciinema-player-wrapper.hud .control-bar { + opacity: 1; +} +.asciinema-player-wrapper:fullscreen .fullscreen-button svg:first-child { + display: none; +} +.asciinema-player-wrapper:fullscreen .fullscreen-button svg:last-child { + display: inline; +} +.asciinema-player-wrapper:-webkit-full-screen .fullscreen-button svg:first-child { + display: none; +} +.asciinema-player-wrapper:-webkit-full-screen .fullscreen-button svg:last-child { + display: inline; +} +.asciinema-player-wrapper:-moz-full-screen .fullscreen-button svg:first-child { + display: none; +} +.asciinema-player-wrapper:-moz-full-screen .fullscreen-button svg:last-child { + display: inline; +} +.asciinema-player-wrapper:-ms-fullscreen .fullscreen-button svg:first-child { + display: none; +} +.asciinema-player-wrapper:-ms-fullscreen .fullscreen-button svg:last-child { + display: inline; +} +.asciinema-player .loading { + z-index: 10; + background-repeat: no-repeat; + background-position: center; + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + display: flex; + justify-content: center; + align-items: center; +} +.asciinema-player .start-prompt { + z-index: 10; + background-repeat: no-repeat; + background-position: center; + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + z-index: 20; + cursor: pointer; +} +.asciinema-player .start-prompt .play-button { + font-size: 0px; + position: absolute; + left: 0; + top: 0; + right: 0; + bottom: 0; + text-align: center; + color: white; + height: 80px; + max-height: 66%; + margin: auto; +} +.asciinema-player .start-prompt .play-button div { + height: 100%; +} +.asciinema-player .start-prompt .play-button div span { + height: 100%; + display: block; +} +.asciinema-player .start-prompt .play-button div span svg { + height: 100%; +} +.asciinema-terminal .fg-16 { + color: #000000; +} +.asciinema-terminal .bg-16 { + background-color: #000000; +} +.asciinema-terminal .fg-17 { + color: #00005f; +} +.asciinema-terminal .bg-17 { + background-color: #00005f; +} +.asciinema-terminal .fg-18 { + color: #000087; +} +.asciinema-terminal .bg-18 { + background-color: #000087; +} +.asciinema-terminal .fg-19 { + color: #0000af; +} +.asciinema-terminal .bg-19 { + background-color: #0000af; +} +.asciinema-terminal .fg-20 { + color: #0000d7; +} +.asciinema-terminal .bg-20 { + background-color: #0000d7; +} +.asciinema-terminal .fg-21 { + color: #0000ff; +} +.asciinema-terminal .bg-21 { + background-color: #0000ff; +} +.asciinema-terminal .fg-22 { + color: #005f00; +} +.asciinema-terminal .bg-22 { + background-color: #005f00; +} +.asciinema-terminal .fg-23 { + color: #005f5f; +} +.asciinema-terminal .bg-23 { + background-color: #005f5f; +} +.asciinema-terminal .fg-24 { + color: #005f87; +} +.asciinema-terminal .bg-24 { + background-color: #005f87; +} +.asciinema-terminal .fg-25 { + color: #005faf; +} +.asciinema-terminal .bg-25 { + background-color: #005faf; +} +.asciinema-terminal .fg-26 { + color: #005fd7; +} +.asciinema-terminal .bg-26 { + background-color: #005fd7; +} +.asciinema-terminal .fg-27 { + color: #005fff; +} +.asciinema-terminal .bg-27 { + background-color: #005fff; +} +.asciinema-terminal .fg-28 { + color: #008700; +} +.asciinema-terminal .bg-28 { + background-color: #008700; +} +.asciinema-terminal .fg-29 { + color: #00875f; +} +.asciinema-terminal .bg-29 { + background-color: #00875f; +} +.asciinema-terminal .fg-30 { + color: #008787; +} +.asciinema-terminal .bg-30 { + background-color: #008787; +} +.asciinema-terminal .fg-31 { + color: #0087af; +} +.asciinema-terminal .bg-31 { + background-color: #0087af; +} +.asciinema-terminal .fg-32 { + color: #0087d7; +} +.asciinema-terminal .bg-32 { + background-color: #0087d7; +} +.asciinema-terminal .fg-33 { + color: #0087ff; +} +.asciinema-terminal .bg-33 { + background-color: #0087ff; +} +.asciinema-terminal .fg-34 { + color: #00af00; +} +.asciinema-terminal .bg-34 { + background-color: #00af00; +} +.asciinema-terminal .fg-35 { + color: #00af5f; +} +.asciinema-terminal .bg-35 { + background-color: #00af5f; +} +.asciinema-terminal .fg-36 { + color: #00af87; +} +.asciinema-terminal .bg-36 { + background-color: #00af87; +} +.asciinema-terminal .fg-37 { + color: #00afaf; +} +.asciinema-terminal .bg-37 { + background-color: #00afaf; +} +.asciinema-terminal .fg-38 { + color: #00afd7; +} +.asciinema-terminal .bg-38 { + background-color: #00afd7; +} +.asciinema-terminal .fg-39 { + color: #00afff; +} +.asciinema-terminal .bg-39 { + background-color: #00afff; +} +.asciinema-terminal .fg-40 { + color: #00d700; +} +.asciinema-terminal .bg-40 { + background-color: #00d700; +} +.asciinema-terminal .fg-41 { + color: #00d75f; +} +.asciinema-terminal .bg-41 { + background-color: #00d75f; +} +.asciinema-terminal .fg-42 { + color: #00d787; +} +.asciinema-terminal .bg-42 { + background-color: #00d787; +} +.asciinema-terminal .fg-43 { + color: #00d7af; +} +.asciinema-terminal .bg-43 { + background-color: #00d7af; +} +.asciinema-terminal .fg-44 { + color: #00d7d7; +} +.asciinema-terminal .bg-44 { + background-color: #00d7d7; +} +.asciinema-terminal .fg-45 { + color: #00d7ff; +} +.asciinema-terminal .bg-45 { + background-color: #00d7ff; +} +.asciinema-terminal .fg-46 { + color: #00ff00; +} +.asciinema-terminal .bg-46 { + background-color: #00ff00; +} +.asciinema-terminal .fg-47 { + color: #00ff5f; +} +.asciinema-terminal .bg-47 { + background-color: #00ff5f; +} +.asciinema-terminal .fg-48 { + color: #00ff87; +} +.asciinema-terminal .bg-48 { + background-color: #00ff87; +} +.asciinema-terminal .fg-49 { + color: #00ffaf; +} +.asciinema-terminal .bg-49 { + background-color: #00ffaf; +} +.asciinema-terminal .fg-50 { + color: #00ffd7; +} +.asciinema-terminal .bg-50 { + background-color: #00ffd7; +} +.asciinema-terminal .fg-51 { + color: #00ffff; +} +.asciinema-terminal .bg-51 { + background-color: #00ffff; +} +.asciinema-terminal .fg-52 { + color: #5f0000; +} +.asciinema-terminal .bg-52 { + background-color: #5f0000; +} +.asciinema-terminal .fg-53 { + color: #5f005f; +} +.asciinema-terminal .bg-53 { + background-color: #5f005f; +} +.asciinema-terminal .fg-54 { + color: #5f0087; +} +.asciinema-terminal .bg-54 { + background-color: #5f0087; +} +.asciinema-terminal .fg-55 { + color: #5f00af; +} +.asciinema-terminal .bg-55 { + background-color: #5f00af; +} +.asciinema-terminal .fg-56 { + color: #5f00d7; +} +.asciinema-terminal .bg-56 { + background-color: #5f00d7; +} +.asciinema-terminal .fg-57 { + color: #5f00ff; +} +.asciinema-terminal .bg-57 { + background-color: #5f00ff; +} +.asciinema-terminal .fg-58 { + color: #5f5f00; +} +.asciinema-terminal .bg-58 { + background-color: #5f5f00; +} +.asciinema-terminal .fg-59 { + color: #5f5f5f; +} +.asciinema-terminal .bg-59 { + background-color: #5f5f5f; +} +.asciinema-terminal .fg-60 { + color: #5f5f87; +} +.asciinema-terminal .bg-60 { + background-color: #5f5f87; +} +.asciinema-terminal .fg-61 { + color: #5f5faf; +} +.asciinema-terminal .bg-61 { + background-color: #5f5faf; +} +.asciinema-terminal .fg-62 { + color: #5f5fd7; +} +.asciinema-terminal .bg-62 { + background-color: #5f5fd7; +} +.asciinema-terminal .fg-63 { + color: #5f5fff; +} +.asciinema-terminal .bg-63 { + background-color: #5f5fff; +} +.asciinema-terminal .fg-64 { + color: #5f8700; +} +.asciinema-terminal .bg-64 { + background-color: #5f8700; +} +.asciinema-terminal .fg-65 { + color: #5f875f; +} +.asciinema-terminal .bg-65 { + background-color: #5f875f; +} +.asciinema-terminal .fg-66 { + color: #5f8787; +} +.asciinema-terminal .bg-66 { + background-color: #5f8787; +} +.asciinema-terminal .fg-67 { + color: #5f87af; +} +.asciinema-terminal .bg-67 { + background-color: #5f87af; +} +.asciinema-terminal .fg-68 { + color: #5f87d7; +} +.asciinema-terminal .bg-68 { + background-color: #5f87d7; +} +.asciinema-terminal .fg-69 { + color: #5f87ff; +} +.asciinema-terminal .bg-69 { + background-color: #5f87ff; +} +.asciinema-terminal .fg-70 { + color: #5faf00; +} +.asciinema-terminal .bg-70 { + background-color: #5faf00; +} +.asciinema-terminal .fg-71 { + color: #5faf5f; +} +.asciinema-terminal .bg-71 { + background-color: #5faf5f; +} +.asciinema-terminal .fg-72 { + color: #5faf87; +} +.asciinema-terminal .bg-72 { + background-color: #5faf87; +} +.asciinema-terminal .fg-73 { + color: #5fafaf; +} +.asciinema-terminal .bg-73 { + background-color: #5fafaf; +} +.asciinema-terminal .fg-74 { + color: #5fafd7; +} +.asciinema-terminal .bg-74 { + background-color: #5fafd7; +} +.asciinema-terminal .fg-75 { + color: #5fafff; +} +.asciinema-terminal .bg-75 { + background-color: #5fafff; +} +.asciinema-terminal .fg-76 { + color: #5fd700; +} +.asciinema-terminal .bg-76 { + background-color: #5fd700; +} +.asciinema-terminal .fg-77 { + color: #5fd75f; +} +.asciinema-terminal .bg-77 { + background-color: #5fd75f; +} +.asciinema-terminal .fg-78 { + color: #5fd787; +} +.asciinema-terminal .bg-78 { + background-color: #5fd787; +} +.asciinema-terminal .fg-79 { + color: #5fd7af; +} +.asciinema-terminal .bg-79 { + background-color: #5fd7af; +} +.asciinema-terminal .fg-80 { + color: #5fd7d7; +} +.asciinema-terminal .bg-80 { + background-color: #5fd7d7; +} +.asciinema-terminal .fg-81 { + color: #5fd7ff; +} +.asciinema-terminal .bg-81 { + background-color: #5fd7ff; +} +.asciinema-terminal .fg-82 { + color: #5fff00; +} +.asciinema-terminal .bg-82 { + background-color: #5fff00; +} +.asciinema-terminal .fg-83 { + color: #5fff5f; +} +.asciinema-terminal .bg-83 { + background-color: #5fff5f; +} +.asciinema-terminal .fg-84 { + color: #5fff87; +} +.asciinema-terminal .bg-84 { + background-color: #5fff87; +} +.asciinema-terminal .fg-85 { + color: #5fffaf; +} +.asciinema-terminal .bg-85 { + background-color: #5fffaf; +} +.asciinema-terminal .fg-86 { + color: #5fffd7; +} +.asciinema-terminal .bg-86 { + background-color: #5fffd7; +} +.asciinema-terminal .fg-87 { + color: #5fffff; +} +.asciinema-terminal .bg-87 { + background-color: #5fffff; +} +.asciinema-terminal .fg-88 { + color: #870000; +} +.asciinema-terminal .bg-88 { + background-color: #870000; +} +.asciinema-terminal .fg-89 { + color: #87005f; +} +.asciinema-terminal .bg-89 { + background-color: #87005f; +} +.asciinema-terminal .fg-90 { + color: #870087; +} +.asciinema-terminal .bg-90 { + background-color: #870087; +} +.asciinema-terminal .fg-91 { + color: #8700af; +} +.asciinema-terminal .bg-91 { + background-color: #8700af; +} +.asciinema-terminal .fg-92 { + color: #8700d7; +} +.asciinema-terminal .bg-92 { + background-color: #8700d7; +} +.asciinema-terminal .fg-93 { + color: #8700ff; +} +.asciinema-terminal .bg-93 { + background-color: #8700ff; +} +.asciinema-terminal .fg-94 { + color: #875f00; +} +.asciinema-terminal .bg-94 { + background-color: #875f00; +} +.asciinema-terminal .fg-95 { + color: #875f5f; +} +.asciinema-terminal .bg-95 { + background-color: #875f5f; +} +.asciinema-terminal .fg-96 { + color: #875f87; +} +.asciinema-terminal .bg-96 { + background-color: #875f87; +} +.asciinema-terminal .fg-97 { + color: #875faf; +} +.asciinema-terminal .bg-97 { + background-color: #875faf; +} +.asciinema-terminal .fg-98 { + color: #875fd7; +} +.asciinema-terminal .bg-98 { + background-color: #875fd7; +} +.asciinema-terminal .fg-99 { + color: #875fff; +} +.asciinema-terminal .bg-99 { + background-color: #875fff; +} +.asciinema-terminal .fg-100 { + color: #878700; +} +.asciinema-terminal .bg-100 { + background-color: #878700; +} +.asciinema-terminal .fg-101 { + color: #87875f; +} +.asciinema-terminal .bg-101 { + background-color: #87875f; +} +.asciinema-terminal .fg-102 { + color: #878787; +} +.asciinema-terminal .bg-102 { + background-color: #878787; +} +.asciinema-terminal .fg-103 { + color: #8787af; +} +.asciinema-terminal .bg-103 { + background-color: #8787af; +} +.asciinema-terminal .fg-104 { + color: #8787d7; +} +.asciinema-terminal .bg-104 { + background-color: #8787d7; +} +.asciinema-terminal .fg-105 { + color: #8787ff; +} +.asciinema-terminal .bg-105 { + background-color: #8787ff; +} +.asciinema-terminal .fg-106 { + color: #87af00; +} +.asciinema-terminal .bg-106 { + background-color: #87af00; +} +.asciinema-terminal .fg-107 { + color: #87af5f; +} +.asciinema-terminal .bg-107 { + background-color: #87af5f; +} +.asciinema-terminal .fg-108 { + color: #87af87; +} +.asciinema-terminal .bg-108 { + background-color: #87af87; +} +.asciinema-terminal .fg-109 { + color: #87afaf; +} +.asciinema-terminal .bg-109 { + background-color: #87afaf; +} +.asciinema-terminal .fg-110 { + color: #87afd7; +} +.asciinema-terminal .bg-110 { + background-color: #87afd7; +} +.asciinema-terminal .fg-111 { + color: #87afff; +} +.asciinema-terminal .bg-111 { + background-color: #87afff; +} +.asciinema-terminal .fg-112 { + color: #87d700; +} +.asciinema-terminal .bg-112 { + background-color: #87d700; +} +.asciinema-terminal .fg-113 { + color: #87d75f; +} +.asciinema-terminal .bg-113 { + background-color: #87d75f; +} +.asciinema-terminal .fg-114 { + color: #87d787; +} +.asciinema-terminal .bg-114 { + background-color: #87d787; +} +.asciinema-terminal .fg-115 { + color: #87d7af; +} +.asciinema-terminal .bg-115 { + background-color: #87d7af; +} +.asciinema-terminal .fg-116 { + color: #87d7d7; +} +.asciinema-terminal .bg-116 { + background-color: #87d7d7; +} +.asciinema-terminal .fg-117 { + color: #87d7ff; +} +.asciinema-terminal .bg-117 { + background-color: #87d7ff; +} +.asciinema-terminal .fg-118 { + color: #87ff00; +} +.asciinema-terminal .bg-118 { + background-color: #87ff00; +} +.asciinema-terminal .fg-119 { + color: #87ff5f; +} +.asciinema-terminal .bg-119 { + background-color: #87ff5f; +} +.asciinema-terminal .fg-120 { + color: #87ff87; +} +.asciinema-terminal .bg-120 { + background-color: #87ff87; +} +.asciinema-terminal .fg-121 { + color: #87ffaf; +} +.asciinema-terminal .bg-121 { + background-color: #87ffaf; +} +.asciinema-terminal .fg-122 { + color: #87ffd7; +} +.asciinema-terminal .bg-122 { + background-color: #87ffd7; +} +.asciinema-terminal .fg-123 { + color: #87ffff; +} +.asciinema-terminal .bg-123 { + background-color: #87ffff; +} +.asciinema-terminal .fg-124 { + color: #af0000; +} +.asciinema-terminal .bg-124 { + background-color: #af0000; +} +.asciinema-terminal .fg-125 { + color: #af005f; +} +.asciinema-terminal .bg-125 { + background-color: #af005f; +} +.asciinema-terminal .fg-126 { + color: #af0087; +} +.asciinema-terminal .bg-126 { + background-color: #af0087; +} +.asciinema-terminal .fg-127 { + color: #af00af; +} +.asciinema-terminal .bg-127 { + background-color: #af00af; +} +.asciinema-terminal .fg-128 { + color: #af00d7; +} +.asciinema-terminal .bg-128 { + background-color: #af00d7; +} +.asciinema-terminal .fg-129 { + color: #af00ff; +} +.asciinema-terminal .bg-129 { + background-color: #af00ff; +} +.asciinema-terminal .fg-130 { + color: #af5f00; +} +.asciinema-terminal .bg-130 { + background-color: #af5f00; +} +.asciinema-terminal .fg-131 { + color: #af5f5f; +} +.asciinema-terminal .bg-131 { + background-color: #af5f5f; +} +.asciinema-terminal .fg-132 { + color: #af5f87; +} +.asciinema-terminal .bg-132 { + background-color: #af5f87; +} +.asciinema-terminal .fg-133 { + color: #af5faf; +} +.asciinema-terminal .bg-133 { + background-color: #af5faf; +} +.asciinema-terminal .fg-134 { + color: #af5fd7; +} +.asciinema-terminal .bg-134 { + background-color: #af5fd7; +} +.asciinema-terminal .fg-135 { + color: #af5fff; +} +.asciinema-terminal .bg-135 { + background-color: #af5fff; +} +.asciinema-terminal .fg-136 { + color: #af8700; +} +.asciinema-terminal .bg-136 { + background-color: #af8700; +} +.asciinema-terminal .fg-137 { + color: #af875f; +} +.asciinema-terminal .bg-137 { + background-color: #af875f; +} +.asciinema-terminal .fg-138 { + color: #af8787; +} +.asciinema-terminal .bg-138 { + background-color: #af8787; +} +.asciinema-terminal .fg-139 { + color: #af87af; +} +.asciinema-terminal .bg-139 { + background-color: #af87af; +} +.asciinema-terminal .fg-140 { + color: #af87d7; +} +.asciinema-terminal .bg-140 { + background-color: #af87d7; +} +.asciinema-terminal .fg-141 { + color: #af87ff; +} +.asciinema-terminal .bg-141 { + background-color: #af87ff; +} +.asciinema-terminal .fg-142 { + color: #afaf00; +} +.asciinema-terminal .bg-142 { + background-color: #afaf00; +} +.asciinema-terminal .fg-143 { + color: #afaf5f; +} +.asciinema-terminal .bg-143 { + background-color: #afaf5f; +} +.asciinema-terminal .fg-144 { + color: #afaf87; +} +.asciinema-terminal .bg-144 { + background-color: #afaf87; +} +.asciinema-terminal .fg-145 { + color: #afafaf; +} +.asciinema-terminal .bg-145 { + background-color: #afafaf; +} +.asciinema-terminal .fg-146 { + color: #afafd7; +} +.asciinema-terminal .bg-146 { + background-color: #afafd7; +} +.asciinema-terminal .fg-147 { + color: #afafff; +} +.asciinema-terminal .bg-147 { + background-color: #afafff; +} +.asciinema-terminal .fg-148 { + color: #afd700; +} +.asciinema-terminal .bg-148 { + background-color: #afd700; +} +.asciinema-terminal .fg-149 { + color: #afd75f; +} +.asciinema-terminal .bg-149 { + background-color: #afd75f; +} +.asciinema-terminal .fg-150 { + color: #afd787; +} +.asciinema-terminal .bg-150 { + background-color: #afd787; +} +.asciinema-terminal .fg-151 { + color: #afd7af; +} +.asciinema-terminal .bg-151 { + background-color: #afd7af; +} +.asciinema-terminal .fg-152 { + color: #afd7d7; +} +.asciinema-terminal .bg-152 { + background-color: #afd7d7; +} +.asciinema-terminal .fg-153 { + color: #afd7ff; +} +.asciinema-terminal .bg-153 { + background-color: #afd7ff; +} +.asciinema-terminal .fg-154 { + color: #afff00; +} +.asciinema-terminal .bg-154 { + background-color: #afff00; +} +.asciinema-terminal .fg-155 { + color: #afff5f; +} +.asciinema-terminal .bg-155 { + background-color: #afff5f; +} +.asciinema-terminal .fg-156 { + color: #afff87; +} +.asciinema-terminal .bg-156 { + background-color: #afff87; +} +.asciinema-terminal .fg-157 { + color: #afffaf; +} +.asciinema-terminal .bg-157 { + background-color: #afffaf; +} +.asciinema-terminal .fg-158 { + color: #afffd7; +} +.asciinema-terminal .bg-158 { + background-color: #afffd7; +} +.asciinema-terminal .fg-159 { + color: #afffff; +} +.asciinema-terminal .bg-159 { + background-color: #afffff; +} +.asciinema-terminal .fg-160 { + color: #d70000; +} +.asciinema-terminal .bg-160 { + background-color: #d70000; +} +.asciinema-terminal .fg-161 { + color: #d7005f; +} +.asciinema-terminal .bg-161 { + background-color: #d7005f; +} +.asciinema-terminal .fg-162 { + color: #d70087; +} +.asciinema-terminal .bg-162 { + background-color: #d70087; +} +.asciinema-terminal .fg-163 { + color: #d700af; +} +.asciinema-terminal .bg-163 { + background-color: #d700af; +} +.asciinema-terminal .fg-164 { + color: #d700d7; +} +.asciinema-terminal .bg-164 { + background-color: #d700d7; +} +.asciinema-terminal .fg-165 { + color: #d700ff; +} +.asciinema-terminal .bg-165 { + background-color: #d700ff; +} +.asciinema-terminal .fg-166 { + color: #d75f00; +} +.asciinema-terminal .bg-166 { + background-color: #d75f00; +} +.asciinema-terminal .fg-167 { + color: #d75f5f; +} +.asciinema-terminal .bg-167 { + background-color: #d75f5f; +} +.asciinema-terminal .fg-168 { + color: #d75f87; +} +.asciinema-terminal .bg-168 { + background-color: #d75f87; +} +.asciinema-terminal .fg-169 { + color: #d75faf; +} +.asciinema-terminal .bg-169 { + background-color: #d75faf; +} +.asciinema-terminal .fg-170 { + color: #d75fd7; +} +.asciinema-terminal .bg-170 { + background-color: #d75fd7; +} +.asciinema-terminal .fg-171 { + color: #d75fff; +} +.asciinema-terminal .bg-171 { + background-color: #d75fff; +} +.asciinema-terminal .fg-172 { + color: #d78700; +} +.asciinema-terminal .bg-172 { + background-color: #d78700; +} +.asciinema-terminal .fg-173 { + color: #d7875f; +} +.asciinema-terminal .bg-173 { + background-color: #d7875f; +} +.asciinema-terminal .fg-174 { + color: #d78787; +} +.asciinema-terminal .bg-174 { + background-color: #d78787; +} +.asciinema-terminal .fg-175 { + color: #d787af; +} +.asciinema-terminal .bg-175 { + background-color: #d787af; +} +.asciinema-terminal .fg-176 { + color: #d787d7; +} +.asciinema-terminal .bg-176 { + background-color: #d787d7; +} +.asciinema-terminal .fg-177 { + color: #d787ff; +} +.asciinema-terminal .bg-177 { + background-color: #d787ff; +} +.asciinema-terminal .fg-178 { + color: #d7af00; +} +.asciinema-terminal .bg-178 { + background-color: #d7af00; +} +.asciinema-terminal .fg-179 { + color: #d7af5f; +} +.asciinema-terminal .bg-179 { + background-color: #d7af5f; +} +.asciinema-terminal .fg-180 { + color: #d7af87; +} +.asciinema-terminal .bg-180 { + background-color: #d7af87; +} +.asciinema-terminal .fg-181 { + color: #d7afaf; +} +.asciinema-terminal .bg-181 { + background-color: #d7afaf; +} +.asciinema-terminal .fg-182 { + color: #d7afd7; +} +.asciinema-terminal .bg-182 { + background-color: #d7afd7; +} +.asciinema-terminal .fg-183 { + color: #d7afff; +} +.asciinema-terminal .bg-183 { + background-color: #d7afff; +} +.asciinema-terminal .fg-184 { + color: #d7d700; +} +.asciinema-terminal .bg-184 { + background-color: #d7d700; +} +.asciinema-terminal .fg-185 { + color: #d7d75f; +} +.asciinema-terminal .bg-185 { + background-color: #d7d75f; +} +.asciinema-terminal .fg-186 { + color: #d7d787; +} +.asciinema-terminal .bg-186 { + background-color: #d7d787; +} +.asciinema-terminal .fg-187 { + color: #d7d7af; +} +.asciinema-terminal .bg-187 { + background-color: #d7d7af; +} +.asciinema-terminal .fg-188 { + color: #d7d7d7; +} +.asciinema-terminal .bg-188 { + background-color: #d7d7d7; +} +.asciinema-terminal .fg-189 { + color: #d7d7ff; +} +.asciinema-terminal .bg-189 { + background-color: #d7d7ff; +} +.asciinema-terminal .fg-190 { + color: #d7ff00; +} +.asciinema-terminal .bg-190 { + background-color: #d7ff00; +} +.asciinema-terminal .fg-191 { + color: #d7ff5f; +} +.asciinema-terminal .bg-191 { + background-color: #d7ff5f; +} +.asciinema-terminal .fg-192 { + color: #d7ff87; +} +.asciinema-terminal .bg-192 { + background-color: #d7ff87; +} +.asciinema-terminal .fg-193 { + color: #d7ffaf; +} +.asciinema-terminal .bg-193 { + background-color: #d7ffaf; +} +.asciinema-terminal .fg-194 { + color: #d7ffd7; +} +.asciinema-terminal .bg-194 { + background-color: #d7ffd7; +} +.asciinema-terminal .fg-195 { + color: #d7ffff; +} +.asciinema-terminal .bg-195 { + background-color: #d7ffff; +} +.asciinema-terminal .fg-196 { + color: #ff0000; +} +.asciinema-terminal .bg-196 { + background-color: #ff0000; +} +.asciinema-terminal .fg-197 { + color: #ff005f; +} +.asciinema-terminal .bg-197 { + background-color: #ff005f; +} +.asciinema-terminal .fg-198 { + color: #ff0087; +} +.asciinema-terminal .bg-198 { + background-color: #ff0087; +} +.asciinema-terminal .fg-199 { + color: #ff00af; +} +.asciinema-terminal .bg-199 { + background-color: #ff00af; +} +.asciinema-terminal .fg-200 { + color: #ff00d7; +} +.asciinema-terminal .bg-200 { + background-color: #ff00d7; +} +.asciinema-terminal .fg-201 { + color: #ff00ff; +} +.asciinema-terminal .bg-201 { + background-color: #ff00ff; +} +.asciinema-terminal .fg-202 { + color: #ff5f00; +} +.asciinema-terminal .bg-202 { + background-color: #ff5f00; +} +.asciinema-terminal .fg-203 { + color: #ff5f5f; +} +.asciinema-terminal .bg-203 { + background-color: #ff5f5f; +} +.asciinema-terminal .fg-204 { + color: #ff5f87; +} +.asciinema-terminal .bg-204 { + background-color: #ff5f87; +} +.asciinema-terminal .fg-205 { + color: #ff5faf; +} +.asciinema-terminal .bg-205 { + background-color: #ff5faf; +} +.asciinema-terminal .fg-206 { + color: #ff5fd7; +} +.asciinema-terminal .bg-206 { + background-color: #ff5fd7; +} +.asciinema-terminal .fg-207 { + color: #ff5fff; +} +.asciinema-terminal .bg-207 { + background-color: #ff5fff; +} +.asciinema-terminal .fg-208 { + color: #ff8700; +} +.asciinema-terminal .bg-208 { + background-color: #ff8700; +} +.asciinema-terminal .fg-209 { + color: #ff875f; +} +.asciinema-terminal .bg-209 { + background-color: #ff875f; +} +.asciinema-terminal .fg-210 { + color: #ff8787; +} +.asciinema-terminal .bg-210 { + background-color: #ff8787; +} +.asciinema-terminal .fg-211 { + color: #ff87af; +} +.asciinema-terminal .bg-211 { + background-color: #ff87af; +} +.asciinema-terminal .fg-212 { + color: #ff87d7; +} +.asciinema-terminal .bg-212 { + background-color: #ff87d7; +} +.asciinema-terminal .fg-213 { + color: #ff87ff; +} +.asciinema-terminal .bg-213 { + background-color: #ff87ff; +} +.asciinema-terminal .fg-214 { + color: #ffaf00; +} +.asciinema-terminal .bg-214 { + background-color: #ffaf00; +} +.asciinema-terminal .fg-215 { + color: #ffaf5f; +} +.asciinema-terminal .bg-215 { + background-color: #ffaf5f; +} +.asciinema-terminal .fg-216 { + color: #ffaf87; +} +.asciinema-terminal .bg-216 { + background-color: #ffaf87; +} +.asciinema-terminal .fg-217 { + color: #ffafaf; +} +.asciinema-terminal .bg-217 { + background-color: #ffafaf; +} +.asciinema-terminal .fg-218 { + color: #ffafd7; +} +.asciinema-terminal .bg-218 { + background-color: #ffafd7; +} +.asciinema-terminal .fg-219 { + color: #ffafff; +} +.asciinema-terminal .bg-219 { + background-color: #ffafff; +} +.asciinema-terminal .fg-220 { + color: #ffd700; +} +.asciinema-terminal .bg-220 { + background-color: #ffd700; +} +.asciinema-terminal .fg-221 { + color: #ffd75f; +} +.asciinema-terminal .bg-221 { + background-color: #ffd75f; +} +.asciinema-terminal .fg-222 { + color: #ffd787; +} +.asciinema-terminal .bg-222 { + background-color: #ffd787; +} +.asciinema-terminal .fg-223 { + color: #ffd7af; +} +.asciinema-terminal .bg-223 { + background-color: #ffd7af; +} +.asciinema-terminal .fg-224 { + color: #ffd7d7; +} +.asciinema-terminal .bg-224 { + background-color: #ffd7d7; +} +.asciinema-terminal .fg-225 { + color: #ffd7ff; +} +.asciinema-terminal .bg-225 { + background-color: #ffd7ff; +} +.asciinema-terminal .fg-226 { + color: #ffff00; +} +.asciinema-terminal .bg-226 { + background-color: #ffff00; +} +.asciinema-terminal .fg-227 { + color: #ffff5f; +} +.asciinema-terminal .bg-227 { + background-color: #ffff5f; +} +.asciinema-terminal .fg-228 { + color: #ffff87; +} +.asciinema-terminal .bg-228 { + background-color: #ffff87; +} +.asciinema-terminal .fg-229 { + color: #ffffaf; +} +.asciinema-terminal .bg-229 { + background-color: #ffffaf; +} +.asciinema-terminal .fg-230 { + color: #ffffd7; +} +.asciinema-terminal .bg-230 { + background-color: #ffffd7; +} +.asciinema-terminal .fg-231 { + color: #ffffff; +} +.asciinema-terminal .bg-231 { + background-color: #ffffff; +} +.asciinema-terminal .fg-232 { + color: #080808; +} +.asciinema-terminal .bg-232 { + background-color: #080808; +} +.asciinema-terminal .fg-233 { + color: #121212; +} +.asciinema-terminal .bg-233 { + background-color: #121212; +} +.asciinema-terminal .fg-234 { + color: #1c1c1c; +} +.asciinema-terminal .bg-234 { + background-color: #1c1c1c; +} +.asciinema-terminal .fg-235 { + color: #262626; +} +.asciinema-terminal .bg-235 { + background-color: #262626; +} +.asciinema-terminal .fg-236 { + color: #303030; +} +.asciinema-terminal .bg-236 { + background-color: #303030; +} +.asciinema-terminal .fg-237 { + color: #3a3a3a; +} +.asciinema-terminal .bg-237 { + background-color: #3a3a3a; +} +.asciinema-terminal .fg-238 { + color: #444444; +} +.asciinema-terminal .bg-238 { + background-color: #444444; +} +.asciinema-terminal .fg-239 { + color: #4e4e4e; +} +.asciinema-terminal .bg-239 { + background-color: #4e4e4e; +} +.asciinema-terminal .fg-240 { + color: #585858; +} +.asciinema-terminal .bg-240 { + background-color: #585858; +} +.asciinema-terminal .fg-241 { + color: #626262; +} +.asciinema-terminal .bg-241 { + background-color: #626262; +} +.asciinema-terminal .fg-242 { + color: #6c6c6c; +} +.asciinema-terminal .bg-242 { + background-color: #6c6c6c; +} +.asciinema-terminal .fg-243 { + color: #767676; +} +.asciinema-terminal .bg-243 { + background-color: #767676; +} +.asciinema-terminal .fg-244 { + color: #808080; +} +.asciinema-terminal .bg-244 { + background-color: #808080; +} +.asciinema-terminal .fg-245 { + color: #8a8a8a; +} +.asciinema-terminal .bg-245 { + background-color: #8a8a8a; +} +.asciinema-terminal .fg-246 { + color: #949494; +} +.asciinema-terminal .bg-246 { + background-color: #949494; +} +.asciinema-terminal .fg-247 { + color: #9e9e9e; +} +.asciinema-terminal .bg-247 { + background-color: #9e9e9e; +} +.asciinema-terminal .fg-248 { + color: #a8a8a8; +} +.asciinema-terminal .bg-248 { + background-color: #a8a8a8; +} +.asciinema-terminal .fg-249 { + color: #b2b2b2; +} +.asciinema-terminal .bg-249 { + background-color: #b2b2b2; +} +.asciinema-terminal .fg-250 { + color: #bcbcbc; +} +.asciinema-terminal .bg-250 { + background-color: #bcbcbc; +} +.asciinema-terminal .fg-251 { + color: #c6c6c6; +} +.asciinema-terminal .bg-251 { + background-color: #c6c6c6; +} +.asciinema-terminal .fg-252 { + color: #d0d0d0; +} +.asciinema-terminal .bg-252 { + background-color: #d0d0d0; +} +.asciinema-terminal .fg-253 { + color: #dadada; +} +.asciinema-terminal .bg-253 { + background-color: #dadada; +} +.asciinema-terminal .fg-254 { + color: #e4e4e4; +} +.asciinema-terminal .bg-254 { + background-color: #e4e4e4; +} +.asciinema-terminal .fg-255 { + color: #eeeeee; +} +.asciinema-terminal .bg-255 { + background-color: #eeeeee; +} +.asciinema-theme-asciinema { + background-color: #121314; +} +.asciinema-theme-asciinema .asciinema-terminal { + color: #CCCCCC; + background-color: #121314; + border-color: #121314; +} +.asciinema-theme-asciinema .fg-bg { + color: #121314; +} +.asciinema-theme-asciinema .bg-fg { + background-color: #CCCCCC; +} +.asciinema-theme-asciinema .fg-0 { + color: hsl(0, 0%, 0%); +} +.asciinema-theme-asciinema .bg-0 { + background-color: hsl(0, 0%, 0%); +} +.asciinema-theme-asciinema .fg-1 { + color: hsl(343, 70%, 55%); +} +.asciinema-theme-asciinema .bg-1 { + background-color: hsl(343, 70%, 55%); +} +.asciinema-theme-asciinema .fg-2 { + color: hsl(103, 70%, 44%); +} +.asciinema-theme-asciinema .bg-2 { + background-color: hsl(103, 70%, 44%); +} +.asciinema-theme-asciinema .fg-3 { + color: hsl(43, 70%, 55%); +} +.asciinema-theme-asciinema .bg-3 { + background-color: hsl(43, 70%, 55%); +} +.asciinema-theme-asciinema .fg-4 { + color: hsl(193, 70%, 49.5%); +} +.asciinema-theme-asciinema .bg-4 { + background-color: hsl(193, 70%, 49.5%); +} +.asciinema-theme-asciinema .fg-5 { + color: hsl(283, 70%, 60.5%); +} +.asciinema-theme-asciinema .bg-5 { + background-color: hsl(283, 70%, 60.5%); +} +.asciinema-theme-asciinema .fg-6 { + color: hsl(163, 70%, 60.5%); +} +.asciinema-theme-asciinema .bg-6 { + background-color: hsl(163, 70%, 60.5%); +} +.asciinema-theme-asciinema .fg-7 { + color: hsl(0, 0%, 85%); +} +.asciinema-theme-asciinema .bg-7 { + background-color: hsl(0, 0%, 85%); +} +.asciinema-theme-asciinema .fg-8 { + color: hsl(0, 0%, 30%); +} +.asciinema-theme-asciinema .bg-8 { + background-color: hsl(0, 0%, 30%); +} +.asciinema-theme-asciinema .fg-9 { + color: hsl(343, 70%, 55%); +} +.asciinema-theme-asciinema .bg-9 { + background-color: hsl(343, 70%, 55%); +} +.asciinema-theme-asciinema .fg-10 { + color: hsl(103, 70%, 44%); +} +.asciinema-theme-asciinema .bg-10 { + background-color: hsl(103, 70%, 44%); +} +.asciinema-theme-asciinema .fg-11 { + color: hsl(43, 70%, 55%); +} +.asciinema-theme-asciinema .bg-11 { + background-color: hsl(43, 70%, 55%); +} +.asciinema-theme-asciinema .fg-12 { + color: hsl(193, 70%, 49.5%); +} +.asciinema-theme-asciinema .bg-12 { + background-color: hsl(193, 70%, 49.5%); +} +.asciinema-theme-asciinema .fg-13 { + color: hsl(283, 70%, 60.5%); +} +.asciinema-theme-asciinema .bg-13 { + background-color: hsl(283, 70%, 60.5%); +} +.asciinema-theme-asciinema .fg-14 { + color: hsl(163, 70%, 60.5%); +} +.asciinema-theme-asciinema .bg-14 { + background-color: hsl(163, 70%, 60.5%); +} +.asciinema-theme-asciinema .fg-15 { + color: hsl(0, 0%, 100%); +} +.asciinema-theme-asciinema .bg-15 { + background-color: hsl(0, 0%, 100%); +} +.asciinema-theme-asciinema .fg-8, +.asciinema-theme-asciinema .fg-9, +.asciinema-theme-asciinema .fg-10, +.asciinema-theme-asciinema .fg-11, +.asciinema-theme-asciinema .fg-12, +.asciinema-theme-asciinema .fg-13, +.asciinema-theme-asciinema .fg-14, +.asciinema-theme-asciinema .fg-15 { + font-weight: bold; +} +.asciinema-theme-tango { + background-color: #121314; +} +.asciinema-theme-tango .asciinema-terminal { + color: #CCCCCC; + background-color: #121314; + border-color: #121314; +} +.asciinema-theme-tango .fg-bg { + color: #121314; +} +.asciinema-theme-tango .bg-fg { + background-color: #CCCCCC; +} +.asciinema-theme-tango .fg-0 { + color: #000000; +} +.asciinema-theme-tango .bg-0 { + background-color: #000000; +} +.asciinema-theme-tango .fg-1 { + color: #CC0000; +} +.asciinema-theme-tango .bg-1 { + background-color: #CC0000; +} +.asciinema-theme-tango .fg-2 { + color: #4E9A06; +} +.asciinema-theme-tango .bg-2 { + background-color: #4E9A06; +} +.asciinema-theme-tango .fg-3 { + color: #C4A000; +} +.asciinema-theme-tango .bg-3 { + background-color: #C4A000; +} +.asciinema-theme-tango .fg-4 { + color: #3465A4; +} +.asciinema-theme-tango .bg-4 { + background-color: #3465A4; +} +.asciinema-theme-tango .fg-5 { + color: #75507B; +} +.asciinema-theme-tango .bg-5 { + background-color: #75507B; +} +.asciinema-theme-tango .fg-6 { + color: #06989A; +} +.asciinema-theme-tango .bg-6 { + background-color: #06989A; +} +.asciinema-theme-tango .fg-7 { + color: #D3D7CF; +} +.asciinema-theme-tango .bg-7 { + background-color: #D3D7CF; +} +.asciinema-theme-tango .fg-8 { + color: #555753; +} +.asciinema-theme-tango .bg-8 { + background-color: #555753; +} +.asciinema-theme-tango .fg-9 { + color: #EF2929; +} +.asciinema-theme-tango .bg-9 { + background-color: #EF2929; +} +.asciinema-theme-tango .fg-10 { + color: #8AE234; +} +.asciinema-theme-tango .bg-10 { + background-color: #8AE234; +} +.asciinema-theme-tango .fg-11 { + color: #FCE94F; +} +.asciinema-theme-tango .bg-11 { + background-color: #FCE94F; +} +.asciinema-theme-tango .fg-12 { + color: #729FCF; +} +.asciinema-theme-tango .bg-12 { + background-color: #729FCF; +} +.asciinema-theme-tango .fg-13 { + color: #AD7FA8; +} +.asciinema-theme-tango .bg-13 { + background-color: #AD7FA8; +} +.asciinema-theme-tango .fg-14 { + color: #34E2E2; +} +.asciinema-theme-tango .bg-14 { + background-color: #34E2E2; +} +.asciinema-theme-tango .fg-15 { + color: #EEEEEC; +} +.asciinema-theme-tango .bg-15 { + background-color: #EEEEEC; +} +.asciinema-theme-tango .fg-8, +.asciinema-theme-tango .fg-9, +.asciinema-theme-tango .fg-10, +.asciinema-theme-tango .fg-11, +.asciinema-theme-tango .fg-12, +.asciinema-theme-tango .fg-13, +.asciinema-theme-tango .fg-14, +.asciinema-theme-tango .fg-15 { + font-weight: bold; +} +.asciinema-theme-solarized-dark { + background-color: #002b36; +} +.asciinema-theme-solarized-dark .asciinema-terminal { + color: #839496; + background-color: #002b36; + border-color: #002b36; +} +.asciinema-theme-solarized-dark .fg-bg { + color: #002b36; +} +.asciinema-theme-solarized-dark .bg-fg { + background-color: #839496; +} +.asciinema-theme-solarized-dark .fg-0 { + color: #073642; +} +.asciinema-theme-solarized-dark .bg-0 { + background-color: #073642; +} +.asciinema-theme-solarized-dark .fg-1 { + color: #dc322f; +} +.asciinema-theme-solarized-dark .bg-1 { + background-color: #dc322f; +} +.asciinema-theme-solarized-dark .fg-2 { + color: #859900; +} +.asciinema-theme-solarized-dark .bg-2 { + background-color: #859900; +} +.asciinema-theme-solarized-dark .fg-3 { + color: #b58900; +} +.asciinema-theme-solarized-dark .bg-3 { + background-color: #b58900; +} +.asciinema-theme-solarized-dark .fg-4 { + color: #268bd2; +} +.asciinema-theme-solarized-dark .bg-4 { + background-color: #268bd2; +} +.asciinema-theme-solarized-dark .fg-5 { + color: #d33682; +} +.asciinema-theme-solarized-dark .bg-5 { + background-color: #d33682; +} +.asciinema-theme-solarized-dark .fg-6 { + color: #2aa198; +} +.asciinema-theme-solarized-dark .bg-6 { + background-color: #2aa198; +} +.asciinema-theme-solarized-dark .fg-7 { + color: #eee8d5; +} +.asciinema-theme-solarized-dark .bg-7 { + background-color: #eee8d5; +} +.asciinema-theme-solarized-dark .fg-8 { + color: #002b36; +} +.asciinema-theme-solarized-dark .bg-8 { + background-color: #002b36; +} +.asciinema-theme-solarized-dark .fg-9 { + color: #cb4b16; +} +.asciinema-theme-solarized-dark .bg-9 { + background-color: #cb4b16; +} +.asciinema-theme-solarized-dark .fg-10 { + color: #586e75; +} +.asciinema-theme-solarized-dark .bg-10 { + background-color: #586e75; +} +.asciinema-theme-solarized-dark .fg-11 { + color: #657b83; +} +.asciinema-theme-solarized-dark .bg-11 { + background-color: #657b83; +} +.asciinema-theme-solarized-dark .fg-12 { + color: #839496; +} +.asciinema-theme-solarized-dark .bg-12 { + background-color: #839496; +} +.asciinema-theme-solarized-dark .fg-13 { + color: #6c71c4; +} +.asciinema-theme-solarized-dark .bg-13 { + background-color: #6c71c4; +} +.asciinema-theme-solarized-dark .fg-14 { + color: #93a1a1; +} +.asciinema-theme-solarized-dark .bg-14 { + background-color: #93a1a1; +} +.asciinema-theme-solarized-dark .fg-15 { + color: #fdf6e3; +} +.asciinema-theme-solarized-dark .bg-15 { + background-color: #fdf6e3; +} +.asciinema-theme-solarized-light { + background-color: #fdf6e3; +} +.asciinema-theme-solarized-light .asciinema-terminal { + color: #657b83; + background-color: #fdf6e3; + border-color: #fdf6e3; +} +.asciinema-theme-solarized-light .fg-bg { + color: #fdf6e3; +} +.asciinema-theme-solarized-light .bg-fg { + background-color: #657b83; +} +.asciinema-theme-solarized-light .fg-0 { + color: #073642; +} +.asciinema-theme-solarized-light .bg-0 { + background-color: #073642; +} +.asciinema-theme-solarized-light .fg-1 { + color: #dc322f; +} +.asciinema-theme-solarized-light .bg-1 { + background-color: #dc322f; +} +.asciinema-theme-solarized-light .fg-2 { + color: #859900; +} +.asciinema-theme-solarized-light .bg-2 { + background-color: #859900; +} +.asciinema-theme-solarized-light .fg-3 { + color: #b58900; +} +.asciinema-theme-solarized-light .bg-3 { + background-color: #b58900; +} +.asciinema-theme-solarized-light .fg-4 { + color: #268bd2; +} +.asciinema-theme-solarized-light .bg-4 { + background-color: #268bd2; +} +.asciinema-theme-solarized-light .fg-5 { + color: #d33682; +} +.asciinema-theme-solarized-light .bg-5 { + background-color: #d33682; +} +.asciinema-theme-solarized-light .fg-6 { + color: #2aa198; +} +.asciinema-theme-solarized-light .bg-6 { + background-color: #2aa198; +} +.asciinema-theme-solarized-light .fg-7 { + color: #eee8d5; +} +.asciinema-theme-solarized-light .bg-7 { + background-color: #eee8d5; +} +.asciinema-theme-solarized-light .fg-8 { + color: #002b36; +} +.asciinema-theme-solarized-light .bg-8 { + background-color: #002b36; +} +.asciinema-theme-solarized-light .fg-9 { + color: #cb4b16; +} +.asciinema-theme-solarized-light .bg-9 { + background-color: #cb4b16; +} +.asciinema-theme-solarized-light .fg-10 { + color: #586e75; +} +.asciinema-theme-solarized-light .bg-10 { + background-color: #586e75; +} +.asciinema-theme-solarized-light .fg-11 { + color: #657c83; +} +.asciinema-theme-solarized-light .bg-11 { + background-color: #657c83; +} +.asciinema-theme-solarized-light .fg-12 { + color: #839496; +} +.asciinema-theme-solarized-light .bg-12 { + background-color: #839496; +} +.asciinema-theme-solarized-light .fg-13 { + color: #6c71c4; +} +.asciinema-theme-solarized-light .bg-13 { + background-color: #6c71c4; +} +.asciinema-theme-solarized-light .fg-14 { + color: #93a1a1; +} +.asciinema-theme-solarized-light .bg-14 { + background-color: #93a1a1; +} +.asciinema-theme-solarized-light .fg-15 { + color: #fdf6e3; +} +.asciinema-theme-solarized-light .bg-15 { + background-color: #fdf6e3; +} +.asciinema-theme-solarized-light .start-prompt .play-button svg .play-btn-fill { + fill: #dc322f; +} +.asciinema-theme-solarized-light .start-prompt .play-button svg .play-btn-stroke { + stroke: #dc322f; +} +.asciinema-theme-seti { + background-color: #111213; +} +.asciinema-theme-seti .asciinema-terminal { + color: #cacecd; + background-color: #111213; + border-color: #111213; +} +.asciinema-theme-seti .fg-bg { + color: #111213; +} +.asciinema-theme-seti .bg-fg { + background-color: #cacecd; +} +.asciinema-theme-seti .fg-0 { + color: #323232; +} +.asciinema-theme-seti .bg-0 { + background-color: #323232; +} +.asciinema-theme-seti .fg-1 { + color: #c22832; +} +.asciinema-theme-seti .bg-1 { + background-color: #c22832; +} +.asciinema-theme-seti .fg-2 { + color: #8ec43d; +} +.asciinema-theme-seti .bg-2 { + background-color: #8ec43d; +} +.asciinema-theme-seti .fg-3 { + color: #e0c64f; +} +.asciinema-theme-seti .bg-3 { + background-color: #e0c64f; +} +.asciinema-theme-seti .fg-4 { + color: #43a5d5; +} +.asciinema-theme-seti .bg-4 { + background-color: #43a5d5; +} +.asciinema-theme-seti .fg-5 { + color: #8b57b5; +} +.asciinema-theme-seti .bg-5 { + background-color: #8b57b5; +} +.asciinema-theme-seti .fg-6 { + color: #8ec43d; +} +.asciinema-theme-seti .bg-6 { + background-color: #8ec43d; +} +.asciinema-theme-seti .fg-7 { + color: #eeeeee; +} +.asciinema-theme-seti .bg-7 { + background-color: #eeeeee; +} +.asciinema-theme-seti .fg-8 { + color: #323232; +} +.asciinema-theme-seti .bg-8 { + background-color: #323232; +} +.asciinema-theme-seti .fg-9 { + color: #c22832; +} +.asciinema-theme-seti .bg-9 { + background-color: #c22832; +} +.asciinema-theme-seti .fg-10 { + color: #8ec43d; +} +.asciinema-theme-seti .bg-10 { + background-color: #8ec43d; +} +.asciinema-theme-seti .fg-11 { + color: #e0c64f; +} +.asciinema-theme-seti .bg-11 { + background-color: #e0c64f; +} +.asciinema-theme-seti .fg-12 { + color: #43a5d5; +} +.asciinema-theme-seti .bg-12 { + background-color: #43a5d5; +} +.asciinema-theme-seti .fg-13 { + color: #8b57b5; +} +.asciinema-theme-seti .bg-13 { + background-color: #8b57b5; +} +.asciinema-theme-seti .fg-14 { + color: #8ec43d; +} +.asciinema-theme-seti .bg-14 { + background-color: #8ec43d; +} +.asciinema-theme-seti .fg-15 { + color: #ffffff; +} +.asciinema-theme-seti .bg-15 { + background-color: #ffffff; +} +.asciinema-theme-seti .fg-8, +.asciinema-theme-seti .fg-9, +.asciinema-theme-seti .fg-10, +.asciinema-theme-seti .fg-11, +.asciinema-theme-seti .fg-12, +.asciinema-theme-seti .fg-13, +.asciinema-theme-seti .fg-14, +.asciinema-theme-seti .fg-15 { + font-weight: bold; +} +/* Based on Monokai from base16 collection - https://github.com/chriskempson/base16 */ +.asciinema-theme-monokai { + background-color: #272822; +} +.asciinema-theme-monokai .asciinema-terminal { + color: #f8f8f2; + background-color: #272822; + border-color: #272822; +} +.asciinema-theme-monokai .fg-bg { + color: #272822; +} +.asciinema-theme-monokai .bg-fg { + background-color: #f8f8f2; +} +.asciinema-theme-monokai .fg-0 { + color: #272822; +} +.asciinema-theme-monokai .bg-0 { + background-color: #272822; +} +.asciinema-theme-monokai .fg-1 { + color: #f92672; +} +.asciinema-theme-monokai .bg-1 { + background-color: #f92672; +} +.asciinema-theme-monokai .fg-2 { + color: #a6e22e; +} +.asciinema-theme-monokai .bg-2 { + background-color: #a6e22e; +} +.asciinema-theme-monokai .fg-3 { + color: #f4bf75; +} +.asciinema-theme-monokai .bg-3 { + background-color: #f4bf75; +} +.asciinema-theme-monokai .fg-4 { + color: #66d9ef; +} +.asciinema-theme-monokai .bg-4 { + background-color: #66d9ef; +} +.asciinema-theme-monokai .fg-5 { + color: #ae81ff; +} +.asciinema-theme-monokai .bg-5 { + background-color: #ae81ff; +} +.asciinema-theme-monokai .fg-6 { + color: #a1efe4; +} +.asciinema-theme-monokai .bg-6 { + background-color: #a1efe4; +} +.asciinema-theme-monokai .fg-7 { + color: #f8f8f2; +} +.asciinema-theme-monokai .bg-7 { + background-color: #f8f8f2; +} +.asciinema-theme-monokai .fg-8 { + color: #75715e; +} +.asciinema-theme-monokai .bg-8 { + background-color: #75715e; +} +.asciinema-theme-monokai .fg-9 { + color: #f92672; +} +.asciinema-theme-monokai .bg-9 { + background-color: #f92672; +} +.asciinema-theme-monokai .fg-10 { + color: #a6e22e; +} +.asciinema-theme-monokai .bg-10 { + background-color: #a6e22e; +} +.asciinema-theme-monokai .fg-11 { + color: #f4bf75; +} +.asciinema-theme-monokai .bg-11 { + background-color: #f4bf75; +} +.asciinema-theme-monokai .fg-12 { + color: #66d9ef; +} +.asciinema-theme-monokai .bg-12 { + background-color: #66d9ef; +} +.asciinema-theme-monokai .fg-13 { + color: #ae81ff; +} +.asciinema-theme-monokai .bg-13 { + background-color: #ae81ff; +} +.asciinema-theme-monokai .fg-14 { + color: #a1efe4; +} +.asciinema-theme-monokai .bg-14 { + background-color: #a1efe4; +} +.asciinema-theme-monokai .fg-15 { + color: #f9f8f5; +} +.asciinema-theme-monokai .bg-15 { + background-color: #f9f8f5; +} +.asciinema-theme-monokai .fg-8, +.asciinema-theme-monokai .fg-9, +.asciinema-theme-monokai .fg-10, +.asciinema-theme-monokai .fg-11, +.asciinema-theme-monokai .fg-12, +.asciinema-theme-monokai .fg-13, +.asciinema-theme-monokai .fg-14, +.asciinema-theme-monokai .fg-15 { + font-weight: bold; +} +/* + Based on Nord: https://github.com/arcticicestudio/nord + Via: https://github.com/neilotoole/asciinema-theme-nord + */ +.asciinema-theme-nord { + background-color: #2E3440; +} +.asciinema-theme-nord .asciinema-terminal { + color: #ECEFF4; + background-color: #2E3440; + border-color: #2E3440; +} +.asciinema-theme-nord .fg-bg { + color: #2E3440; +} +.asciinema-theme-nord .bg-fg { + background-color: #ECEFF4; +} +.asciinema-theme-nord .fg-0 { + color: #3B4252; +} +.asciinema-theme-nord .bg-0 { + background-color: #3B4252; +} +.asciinema-theme-nord .fg-1 { + color: #BF616A; +} +.asciinema-theme-nord .bg-1 { + background-color: #BF616A; +} +.asciinema-theme-nord .fg-2 { + color: #A3BE8C; +} +.asciinema-theme-nord .bg-2 { + background-color: #A3BE8C; +} +.asciinema-theme-nord .fg-3 { + color: #EBCB8B; +} +.asciinema-theme-nord .bg-3 { + background-color: #EBCB8B; +} +.asciinema-theme-nord .fg-4 { + color: #81A1C1; +} +.asciinema-theme-nord .bg-4 { + background-color: #81A1C1; +} +.asciinema-theme-nord .fg-5 { + color: #B48EAD; +} +.asciinema-theme-nord .bg-5 { + background-color: #B48EAD; +} +.asciinema-theme-nord .fg-6 { + color: #88C0D0; +} +.asciinema-theme-nord .bg-6 { + background-color: #88C0D0; +} +.asciinema-theme-nord .fg-7 { + color: #ECEFF4; +} +.asciinema-theme-nord .bg-7 { + background-color: #ECEFF4; +} +.asciinema-theme-nord .fg-8 { + color: #3B4252; +} +.asciinema-theme-nord .bg-8 { + background-color: #3B4252; +} +.asciinema-theme-nord .fg-9 { + color: #BF616A; +} +.asciinema-theme-nord .bg-9 { + background-color: #BF616A; +} +.asciinema-theme-nord .fg-10 { + color: #A3BE8C; +} +.asciinema-theme-nord .bg-10 { + background-color: #A3BE8C; +} +.asciinema-theme-nord .fg-11 { + color: #EBCB8B; +} +.asciinema-theme-nord .bg-11 { + background-color: #EBCB8B; +} +.asciinema-theme-nord .fg-12 { + color: #81A1C1; +} +.asciinema-theme-nord .bg-12 { + background-color: #81A1C1; +} +.asciinema-theme-nord .fg-13 { + color: #B48EAD; +} +.asciinema-theme-nord .bg-13 { + background-color: #B48EAD; +} +.asciinema-theme-nord .fg-14 { + color: #88C0D0; +} +.asciinema-theme-nord .bg-14 { + background-color: #88C0D0; +} +.asciinema-theme-nord .fg-15 { + color: #ECEFF4; +} +.asciinema-theme-nord .bg-15 { + background-color: #ECEFF4; +} +.asciinema-theme-nord .fg-8, +.asciinema-theme-nord .fg-9, +.asciinema-theme-nord .fg-10, +.asciinema-theme-nord .fg-11, +.asciinema-theme-nord .fg-12, +.asciinema-theme-nord .fg-13, +.asciinema-theme-nord .fg-14, +.asciinema-theme-nord .fg-15 { + font-weight: bold; +} diff --git a/gr/assets/external/asciinema-player.min.js b/gr/assets/external/asciinema-player.min.js new file mode 100644 index 00000000..c81329b3 --- /dev/null +++ b/gr/assets/external/asciinema-player.min.js @@ -0,0 +1 @@ +var AsciinemaPlayer=function(A){"use strict";const g={};const I=Symbol("solid-proxy"),B=Symbol("solid-track"),Q={equals:(A,g)=>A===g};let C=f;const E=1,i=2,e={owned:null,cleanups:null,context:null,owner:null};var t=null;let o=null,s=null,n=null,r=null,a=0;function c(A,g){const I=s,B=t,Q=0===A.length,C=Q?e:{owned:null,cleanups:null,context:null,owner:void 0===g?B:g},E=Q?A:()=>A((()=>y((()=>U(C)))));t=C,s=null;try{return J(E,!0)}finally{s=I,t=B}}function D(A,g){const I={value:A,observers:null,observerSlots:null,comparator:(g=g?Object.assign({},Q,g):Q).equals||void 0};return[R.bind(I),A=>("function"==typeof A&&(A=A(I.value)),M(I,A))]}function w(A,g,I){u(d(A,g,!1,E))}function h(A,g,I){C=S;const B=d(A,g,!1,E);B.user=!0,r?r.push(B):u(B)}function l(A,g,I){I=I?Object.assign({},Q,I):Q;const B=d(A,g,!0,0);return B.observers=null,B.observerSlots=null,B.comparator=I.equals||void 0,u(B),R.bind(B)}function y(A){if(null===s)return A();const g=s;s=null;try{return A()}finally{s=g}}function G(A){h((()=>y(A)))}function N(A){return null===t||(null===t.cleanups?t.cleanups=[A]:t.cleanups.push(A)),A}function k(){return s}function F(A){const g=l(A),I=l((()=>H(g())));return I.toArray=()=>{const A=I();return Array.isArray(A)?A:null!=A?[A]:[]},I}function R(){const A=o;if(this.sources&&(this.state||A))if(this.state===E||A)u(this);else{const A=n;n=null,J((()=>L(this)),!1),n=A}if(s){const A=this.observers?this.observers.length:0;s.sources?(s.sources.push(this),s.sourceSlots.push(A)):(s.sources=[this],s.sourceSlots=[A]),this.observers?(this.observers.push(s),this.observerSlots.push(s.sources.length-1)):(this.observers=[s],this.observerSlots=[s.sources.length-1])}return this.value}function M(A,g,I){let B=A.value;return A.comparator&&A.comparator(B,g)||(A.value=g,A.observers&&A.observers.length&&J((()=>{for(let g=0;g1e6)throw n=[],new Error}),!1)),g}function u(A){if(!A.fn)return;U(A);const g=t,I=s,B=a;s=t=A,function(A,g,I){let B;try{B=A.fn(g)}catch(g){A.pure&&(A.state=E,A.owned&&A.owned.forEach(U),A.owned=null),K(g)}(!A.updatedAt||A.updatedAt<=I)&&(null!=A.updatedAt&&"observers"in A?M(A,B):A.value=B,A.updatedAt=I)}(A,A.value,B),s=I,t=g}function d(A,g,I,B=E,Q){const C={fn:A,state:B,updatedAt:null,owned:null,sources:null,sourceSlots:null,cleanups:null,value:g,owner:t,context:null,pure:I};return null===t||t!==e&&(t.owned?t.owned.push(C):t.owned=[C]),C}function Y(A){const g=o;if(0===A.state||g)return;if(A.state===i||g)return L(A);if(A.suspense&&y(A.suspense.inFallback))return A.suspense.effects.push(A);const I=[A];for(;(A=A.owner)&&(!A.updatedAt||A.updatedAt=0;B--)if((A=I[B]).state===E||g)u(A);else if(A.state===i||g){const g=n;n=null,J((()=>L(A,I[0])),!1),n=g}}function J(A,g){if(n)return A();let I=!1;g||(n=[]),r?I=!0:r=[],a++;try{const g=A();return function(A){n&&(f(n),n=null);if(A)return;const g=r;r=null,g.length&&J((()=>C(g)),!1)}(I),g}catch(A){I||(r=null),n=null,K(A)}}function f(A){for(let g=0;gA(g||{})))}function m(A){const g="fallback"in A&&{fallback:()=>A.fallback};return l(function(A,g,I={}){let Q=[],C=[],E=[],i=0,e=g.length>1?[]:null;return N((()=>q(E))),()=>{let t,o,s=A()||[];return s[B],y((()=>{let A,g,B,r,a,D,w,h,l,y=s.length;if(0===y)0!==i&&(q(E),E=[],Q=[],C=[],i=0,e&&(e=[])),I.fallback&&(Q=[b],C[0]=c((A=>(E[0]=A,I.fallback()))),i=1);else if(0===i){for(C=new Array(y),o=0;o=D&&h>=D&&Q[w]===s[h];w--,h--)B[h]=C[w],r[h]=E[w],e&&(a[h]=e[w]);for(A=new Map,g=new Array(h+1),o=h;o>=D;o--)l=s[o],t=A.get(l),g[o]=void 0===t?-1:t,A.set(l,o);for(t=D;t<=w;t++)l=Q[t],o=A.get(l),void 0!==o&&-1!==o?(B[o]=C[t],r[o]=E[t],e&&(a[o]=e[t]),o=g[o],A.set(l,o)):E[t]();for(o=D;oA.each),A.children,g||void 0))}function j(A){const g="fallback"in A&&{fallback:()=>A.fallback};return l(function(A,g,I={}){let Q,C=[],E=[],i=[],e=[],t=0;return N((()=>q(i))),()=>{const o=A()||[];return o[B],y((()=>{if(0===o.length)return 0!==t&&(q(i),i=[],C=[],E=[],t=0,e=[]),I.fallback&&(C=[b],E[0]=c((A=>(i[0]=A,I.fallback()))),t=1),E;for(C[0]===b&&(i[0](),i=[],C=[],E=[],t=0),Q=0;Qo[Q])):Q>=C.length&&(E[Q]=c(s));for(;QA.each),A.children,g||void 0))}function x(A){let g=!1;const I=A.keyed,B=l((()=>A.when),void 0,{equals:(A,I)=>g?A===I:!A==!I});return l((()=>{const Q=B();if(Q){const B=A.children,C="function"==typeof B&&B.length>0;return g=I||C,C?y((()=>B(Q))):B}return A.fallback}),void 0,void 0)}function W(A){let g=!1,I=!1;const B=F((()=>A.children)),Q=l((()=>{let A=B();Array.isArray(A)||(A=[A]);for(let g=0;gA[0]===I[0]&&(g?A[1]===I[1]:!A[1]==!I[1])&&A[2]===I[2]});return l((()=>{const[B,C,E]=Q();if(B<0)return A.fallback;const i=E.children,e="function"==typeof i&&i.length>0;return g=I||e,e?y((()=>i(C))):i}),void 0,void 0)}function T(A){return A}const Z="_$DX_DELEGATE";function X(A,g,I){const B=document.createElement("template");B.innerHTML=A;let Q=B.content.firstChild;return I&&(Q=Q.firstChild),Q}function O(A,g=window.document){const I=g[Z]||(g[Z]=new Set);for(let B=0,Q=A.length;BB.call(A,I[1],g))}else A.addEventListener(g,I)}function P(A,g,I){if(!g)return I?function(A,g,I){null==I?A.removeAttribute(g):A.setAttribute(g,I)}(A,"style"):g;const B=A.style;if("string"==typeof g)return B.cssText=g;let Q,C;for(C in"string"==typeof I&&(B.cssText=I=void 0),I||(I={}),g||(g={}),I)null==g[C]&&B.removeProperty(C),delete I[C];for(C in g)Q=g[C],Q!==I[C]&&(B.setProperty(C,Q),I[C]=Q);return I}function _(A,g,I){return y((()=>A(g,I)))}function $(A,g,I,B){if(void 0===I||B||(B=[]),"function"!=typeof g)return gA(A,g,B,I);w((B=>gA(A,g(),B,I)),B)}function AA(A){const I=`$$${A.type}`;let B=A.composedPath&&A.composedPath()[0]||A.target;for(A.target!==B&&Object.defineProperty(A,"target",{configurable:!0,value:B}),Object.defineProperty(A,"currentTarget",{configurable:!0,get:()=>B||document}),g.registry&&!g.done&&(g.done=!0,document.querySelectorAll("[id^=pl-]").forEach((g=>{for(;g&&8!==g.nodeType&&g.nodeValue!=="pl-"+A;){let A=g.nextSibling;g.remove(),g=A}g&&g.remove()})));B;){const g=B[I];if(g&&!B.disabled){const Q=B[`${I}Data`];if(void 0!==Q?g.call(B,Q,A):g.call(B,A),A.cancelBubble)return}B=B._$host||B.parentNode||B.host}}function gA(A,I,B,Q,C){for(g.context&&!B&&(B=[...A.childNodes]);"function"==typeof B;)B=B();if(I===B)return B;const E=typeof I,i=void 0!==Q;if(A=i&&B[0]&&B[0].parentNode||A,"string"===E||"number"===E){if(g.context)return B;if("number"===E&&(I=I.toString()),i){let g=B[0];g&&3===g.nodeType?g.data=I:g=document.createTextNode(I),B=QA(A,B,Q,g)}else B=""!==B&&"string"==typeof B?A.firstChild.data=I:A.textContent=I}else if(null==I||"boolean"===E){if(g.context)return B;B=QA(A,B,Q)}else{if("function"===E)return w((()=>{let g=I();for(;"function"==typeof g;)g=g();B=gA(A,g,B,Q)})),()=>B;if(Array.isArray(I)){const E=[],e=B&&Array.isArray(B);if(IA(E,I,B,C))return w((()=>B=gA(A,E,B,Q,!0))),()=>B;if(g.context){if(!E.length)return B;for(let A=0;AB-i){const Q=g[E];for(;i=0;C--){const E=g[C];if(Q!==E){const g=E.parentNode===A;B||C?g&&E.remove():g?A.replaceChild(Q,E):A.insertBefore(Q,I)}else B=!0}}else A.insertBefore(Q,I);return[Q]}let CA;const EA=new Array(128).fill(void 0);function iA(A){return EA[A]}EA.push(void 0,null,!0,!1);let eA=EA.length;function tA(A){const g=iA(A);return function(A){A<132||(EA[A]=eA,eA=A)}(A),g}const oA=new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0});oA.decode();let sA=null;function nA(){return null!==sA&&0!==sA.byteLength||(sA=new Uint8Array(CA.memory.buffer)),sA}function rA(A,g){return oA.decode(nA().subarray(A,A+g))}function aA(A){eA===EA.length&&EA.push(EA.length+1);const g=eA;return eA=EA[g],EA[g]=A,g}function cA(A){const g=typeof A;if("number"==g||"boolean"==g||null==A)return`${A}`;if("string"==g)return`"${A}"`;if("symbol"==g){const g=A.description;return null==g?"Symbol":`Symbol(${g})`}if("function"==g){const g=A.name;return"string"==typeof g&&g.length>0?`Function(${g})`:"Function"}if(Array.isArray(A)){const g=A.length;let I="[";g>0&&(I+=cA(A[0]));for(let B=1;B1))return toString.call(A);if(B=I[1],"Object"==B)try{return"Object("+JSON.stringify(A)+")"}catch(A){return"Object"}return A instanceof Error?`${A.name}: ${A.message}\n${A.stack}`:B}let DA=0;const wA=new TextEncoder("utf-8"),hA="function"==typeof wA.encodeInto?function(A,g){return wA.encodeInto(A,g)}:function(A,g){const I=wA.encode(A);return g.set(I),{read:A.length,written:I.length}};function lA(A,g,I){if(void 0===I){const I=wA.encode(A),B=g(I.length);return nA().subarray(B,B+I.length).set(I),DA=I.length,B}let B=A.length,Q=g(B);const C=nA();let E=0;for(;E127)break;C[Q+E]=g}if(E!==B){0!==E&&(A=A.slice(E)),Q=I(Q,B,B=E+3*A.length);const g=nA().subarray(Q+E,Q+B);E+=hA(A,g).written}return DA=E,Q}let yA=null;function GA(){return null!==yA&&0!==yA.byteLength||(yA=new Int32Array(CA.memory.buffer)),yA}let NA=null;function kA(A,g){return(null!==NA&&0!==NA.byteLength||(NA=new Uint32Array(CA.memory.buffer)),NA).subarray(A/4,A/4+g)}class FA{static __wrap(A){const g=Object.create(FA.prototype);return g.ptr=A,g}__destroy_into_raw(){const A=this.ptr;return this.ptr=0,A}free(){const A=this.__destroy_into_raw();CA.__wbg_vtwrapper_free(A)}feed(A){try{const Q=CA.__wbindgen_add_to_stack_pointer(-16),C=lA(A,CA.__wbindgen_malloc,CA.__wbindgen_realloc),E=DA;CA.vtwrapper_feed(Q,this.ptr,C,E);var g=GA()[Q/4+0],I=GA()[Q/4+1],B=kA(g,I).slice();return CA.__wbindgen_free(g,4*I),B}finally{CA.__wbindgen_add_to_stack_pointer(16)}}inspect(){try{const I=CA.__wbindgen_add_to_stack_pointer(-16);CA.vtwrapper_inspect(I,this.ptr);var A=GA()[I/4+0],g=GA()[I/4+1];return rA(A,g)}finally{CA.__wbindgen_add_to_stack_pointer(16),CA.__wbindgen_free(A,g)}}get_line(A){return tA(CA.vtwrapper_get_line(this.ptr,A))}get_cursor(){return tA(CA.vtwrapper_get_cursor(this.ptr))}}function RA(){const A={wbg:{}};return A.wbg.__wbindgen_object_drop_ref=function(A){tA(A)},A.wbg.__wbindgen_error_new=function(A,g){return aA(new Error(rA(A,g)))},A.wbg.__wbindgen_number_new=function(A){return aA(A)},A.wbg.__wbindgen_bigint_from_u64=function(A){return aA(BigInt.asUintN(64,A))},A.wbg.__wbindgen_string_new=function(A,g){return aA(rA(A,g))},A.wbg.__wbg_set_20cbc34131e76824=function(A,g,I){iA(A)[tA(g)]=tA(I)},A.wbg.__wbg_new_b525de17f44a8943=function(){return aA(new Array)},A.wbg.__wbg_new_f841cc6f2098f4b5=function(){return aA(new Map)},A.wbg.__wbg_new_f9876326328f45ed=function(){return aA(new Object)},A.wbg.__wbindgen_is_string=function(A){return"string"==typeof iA(A)},A.wbg.__wbg_set_17224bc548dd1d7b=function(A,g,I){iA(A)[g>>>0]=tA(I)},A.wbg.__wbg_set_388c4c6422704173=function(A,g,I){return aA(iA(A).set(iA(g),iA(I)))},A.wbg.__wbindgen_debug_string=function(A,g){const I=lA(cA(iA(g)),CA.__wbindgen_malloc,CA.__wbindgen_realloc),B=DA;GA()[A/4+1]=B,GA()[A/4+0]=I},A.wbg.__wbindgen_throw=function(A,g){throw new Error(rA(A,g))},A}function MA(A,g){return CA=A.exports,uA.__wbindgen_wasm_module=g,yA=null,NA=null,sA=null,CA}async function uA(A){const g=RA();("string"==typeof A||"function"==typeof Request&&A instanceof Request||"function"==typeof URL&&A instanceof URL)&&(A=fetch(A));const{instance:I,module:B}=await async function(A,g){if("function"==typeof Response&&A instanceof Response){if("function"==typeof WebAssembly.instantiateStreaming)try{return await WebAssembly.instantiateStreaming(A,g)}catch(g){if("application/wasm"==A.headers.get("Content-Type"))throw g;console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n",g)}const I=await A.arrayBuffer();return await WebAssembly.instantiate(I,g)}{const I=await WebAssembly.instantiate(A,g);return I instanceof WebAssembly.Instance?{instance:I,module:A}:I}}(await A,g);return MA(I,B)}var dA=Object.freeze({__proto__:null,VtWrapper:FA,create:function(A,g){const I=CA.create(A,g);return FA.__wrap(I)},default:uA,initSync:function(A){const g=RA();return A instanceof WebAssembly.Module||(A=new WebAssembly.Module(A)),MA(new WebAssembly.Instance(A,g),A)}});const YA=[62,0,0,0,63,52,53,54,55,56,57,58,59,60,61,0,0,0,0,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,0,0,0,0,0,0,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51];function JA(A){return YA[A-43]}const fA=function(A){let g,I=A.endsWith("==")?2:A.endsWith("=")?1:0,B=A.length,Q=new Uint8Array(B/4*3);for(let I=0,C=0;I>16,Q[C+1]=g>>8&255,Q[C+2]=255&g;return Q.subarray(0,Q.length-I)}("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KAIAIAMoAggiAmtLBEAgAyACIAAQMSADKAIIIQILIAMoAgQgAmogBEEMaiAAEL0BGiADIAAgAmo2AggLIARBEGokAEEAC7wCAAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAFBCGsOCAECAwQFDwYHAAsgAUGEAWsOCgcICwsJCwsLCwoLCyAAQQA6AKsBIABBACAAKAI4QQFrIgEgACgCMCIAQQFrIAAgAUsbIAFBAEgbNgI4DwsgAEEBECgPCyAAEF0gAC0AqgFFDQgMCwsgABBdIAAtAKoBRQ0HDAoLIAAQXSAALQCqAUUNBgwJCyAAQQE2AkAPCyAAQQA2AkAPCyAAEF0gAC0AqgFFDQMMBgsgABBdDAULIAAQVA8LIAAoAjwiASAAKAJERg0BIAENAgsPCyAAQQEQRg8LIABBADoAqwEgACABQQFrNgI8IAAgACgCOCIBIAAoAjBBAWsiACAAIAFLGzYCOA8LIABBADoAqwEgAEEANgI4C8ACAgV/AX4jAEEwayIEJABBJyECAkAgAEKQzgBUBEAgACEHDAELA0AgBEEJaiACaiIDQQRrIAAgAEKQzgCAIgdCkM4Afn2nIgVB//8DcUHkAG4iBkEBdEHGpMAAai8AADsAACADQQJrIAUgBkHkAGxrQf//A3FBAXRBxqTAAGovAAA7AAAgAkEEayECIABC/8HXL1YgByEADQALCyAHpyIDQeMASwRAIAenIgVB//8DcUHkAG4hAyACQQJrIgIgBEEJamogBSADQeQAbGtB//8DcUEBdEHGpMAAai8AADsAAAsCQCADQQpPBEAgAkECayICIARBCWpqIANBAXRBxqTAAGovAAA7AAAMAQsgAkEBayICIARBCWpqIANBMGo6AAALIAFByKHAAEEAIARBCWogAmpBJyACaxAUIARBMGokAAuwAgEDfyMAQUBqIgMkACADQRBqIAAoAjAiBBBFIANBADYCICADIAMpAxA3AxggA0EyaiAAQZoBaikBADcBACADQSA2AiggAyAAKQKUATcCLCADQRhqIAQgA0EoahAwAkAgASACTQRAIABB7ABqKAIAIgQgAkkNASABIAJHBEAgAEHoAGooAgAgAUEMbGoiACACIAFrQQxsaiECA0AgAygCHCEEIANBCGogAygCICIBEEUgAygCCCEFIAMoAgwg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MCAEKAI0EC0gA0EwaiACEDUgBEEAOgCkASAEQcwAaiAEKAJMBEAgBEHQAGooAgAQEAsgBEKAgICAIDcCTCAEQdQAaiICQQA2AgBBABBmIARB0ABqKAIAIAIoAgBBAXRqQQA7AQAgAiACKAIAQQFqNgIAIAQoAlgEQCAEKAJcEBALIARBADYCYCAEQoCAgIDAADcCWCADQRBqIgUgA0EoaigCADYCACADIAMpAyA3AwggBEHkAGoiAhBgIAQoAmQEQCAEQegAaigCABAQCyACIAMpAwg3AgAgAkEIaiAFKAIANgIAIARB8ABqIgIQYCAEKAJwBEAgBEH0AGooAgAQEAsgAiADKQMwNwIAIARBADoApQEgAkEIaiADQThqKAIANgIAIANBCGogBCgCMBA/IARB/ABqIQIgBCgCfARAIARBgAFqKAIAEBALIAIgAykDCDcCACACQQhqIANBCGoiCUEIaiICKAIANgIAIARBAToApgEgBEIANwI4IANBD2oiBUEAOwAAIARBmAFqQQI6AAAgBEECOgCUASADQQA2AAsgBEGZAWogAykACDcAACAEQaEBaiACLQAAOgAAIARBADoAqwEgBEGAgAQ2AKcBIARBADsBogEgBEIANwJAIAQgBCgCNCIGQQFrNgJIIAVBADsAACADQQA2AAsgBCADKQAINwANIARBFWogAi0AADoAACAEQYACOwEWIARBAjoADCAEQQI6AAggBEIANwIAIAVBADsAACADQQA2AAsgBEElaiADKQAINwAAIARBLWogAi0AADoAACAEQS5qQYACOwEAIARBJGpBAjoAACAEQSBqQQI6AAAgBEIANwIYIAMgBhBZIAJBADYCACADIAMpAwA3AwggCSAGEEkgA0HIAGogAigCADYCACADIAMpAwg3A0AgBEGIAWohAiAEKAKIAQRAIARBjAFqKAIAEBALIAIgAykDQDcCACACQQhqIANByABqKAIANgIADAILIAIgAkGwjsAAEEoACwJAAkAgBUEoaw4CAAECCyAEQQA6AKIBDAELIAJBMEYEQCAEQQE6AKMBDAELIARBADoAowELIANB0ABqJAALIAggFEcNAAsLIAQoApABIQMgBCgCjAEhAiANQQA2AgggDSACNgIEIA0gAiADajYCACMAQTBrIgUkACANKAIEIQIgDSgCACEGAkACQANA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IAJBvIDAADYCMCACQQA2AiggAiACQSBqNgI4IAJBEGoiBCACQShqIgMQGCABIAEoAgBBAWs2AgAgA0EIaiAEQQhqKAIANgIAIAIgAikDEDcDKCACQQhqIAMQeyAAIAIpAwg3AwAgAkFAayQADwsQtQEACxC2AQALugEAAkAgAgRAAkACQAJ/AkACQCABQQBOBEAgAygCCA0BIAENAkEBIQIMBAsMBgsgAygCBCICRQRAIAFFBEBBASECDAQLIAFBARCWAQwCCyADKAIAIAJBASABEIoBDAELIAFBARCWAQsiAkUNAQsgACACNgIEIABBCGogATYCACAAQQA2AgAPCyAAIAE2AgQgAEEIakEBNgIAIABBATYCAA8LIAAgATYCBAsgAEEIakEANgIAIABBATYCAAvOAQEBfyMAQRBrIgUkACAFIAAoAgAgASACIAAoAgQoAgwRAAA6AAggBSAANgIEIAUgAkU6AAkgBUEANgIAIAUgAyAEECIhAQJ/IAUtAAgiACABKAIAIgJFDQAaIABB/wFxIQFBASABDQAaIAUoAgQhAQJAIAJBAUcNACAFLQAJRQ0AIAEtABhBBHENAEEBIAEoAgBBlKTAAEEBIAEoAgQoAgwRAAANARoLIAEoAgBB86HAAEEBIAEoAgQoAgwRAAALIAVBEGokAEH/AXFBAEcLxAEBAn8CQAJAIABB7ABqKAIAIgQgACgCPCIDSwRAIAEgAksNASAAQegAaigCACADQQxsaiIDKAIIIgQgAkkNAiABIAJHBEAgAkEUbCADKAIEIgJqIQMgAiABQRRsaiECIABBlAFqIgBBBmohAQNAIAJBIDYCACACIAApAgA3AgQgAkEKaiABKQEANwEAIAMgAkEUaiICRw0ACwsPCyADIARBzI3AABBKAAsgASACQcyNwAAQowEACyACIARBzI3AABCiAQALsAEBAX8gACIEAn8CQAJ/AkAgAgRAAkACQAJAIAFBAE4EQCADKAIIRQ0CIAMoAgQiAA0BIAENAwwFCyAEQQhqQQA2AgAMBgsgAygCACAAIAIgARCKAQwECyABRQ0CCyABIAIQlgEMAgsgBCABNgIEIARBCGpBADYCAAwCCyACCyIABEAgBCAANgIEIARBCGogATYCAEEADAILIAQgATYCBCAEQQhqIAI2AgALQQELNgIAC60BAQF/AkAgAgRAAn8CQAJAAkAgAUEATgRAIAMoAghFDQIgAygCBCIEDQEgAQ0DIAIMBAsgAEEIakEANgIADAULIAMoAgAgBCACIAEQigEMAgsgAQ0AIAIMAQsgASACEJYBCyIDBEAgACADNgIEIABBCGogATYCACAAQQA2AgAPCyAAIAE2AgQgAEEIaiACNgIADAELIAAgATYCBCAAQQhqQQA2AgALIABBATYCAAutAQEEfyMAQTBrIgIkACABKAIERQRAIAEoAgwhBCACQQhqIgNBCGoiBUEANgIAIAJCgICAgBA3AwggAiADNgIUIAJBGGoiA0EQaiAEQRBqKQIANwMAIANBCGogBEEIaikCADcDACACIAQpAgA3AxggAkEUakGUnMAAIAMQFhogAUEIaiAFKAIANgIAIAEgAikDCDcCAAsgAEHwncAANgIEIAAgATYCACACQTBqJAALlgEBA38CfyACRQRAQQAhA0EBDAELIAMoAgAhBkEAIQMgAiEEAkADQAJAQX8gASACQQF2IANqIgJBAnRqKAIAIgUgBkcgBSAGSRsiBUEBRgRAIAIhBAwBCyAFQf8BcUH/AUcNAiACQQFqIQMLIAQgA2shAiADIARJDQALQQEMAQsgAiEDQQALIQQgACADNgIEIAAgBDYCAAufAQIFfwF+IwBBEGsiAyQAIAAtAKUBBEAgAEEAOgClAQNAIAAgAWoiAkEYaiIEKAIAIQUgBCACKAIANgIAIAIgBTYCACABQQRqIgFBGEcNAAsgACkCcCEGIAAgACkCZDcCcCAAIAY3AmQgAEH4AGoiASgCACECIAEgAEHsAGoiASgCADYCACABIAI2AgAgAEEAIAAoAjQQVQsgA0EQaiQAC4UBAQN/IABCgICAgMAANwIAQQghAgNAAkAgACADNgIIAkAgBEUEQCABIAJLDQEMAgsgAiACQQdqIgJLDQEgASACTQ0BCyAAKAIAIANGBEAgACADEGMgACgCCCEDCyAAKAIEIANBAnRqIAI2AgBBASEEIAAoAghBAWohAyACQQFqIQIMAQsLC40BAQF/IwBBQGoiBSQAIAUgATYCDCAFIAA2AgggBSADNgIUIAUgAjYCECAFQRhqIgBBDGpBAjYCACAFQSxqQQI2AgAgBUEwaiIBQQxqQdUANgIAIAVB2KPAADYCICAFQQA2AhggBUHWADYCNCAFIAE2AiggBSAFQRBqNgI4IAUgBUEIajYCMCAAIAQQcgALjgMCBX8BfiMAQSBrIgYkACABBEAgBiABIAMgBCAFIAIoAhARCQAgBkEYaiAGQQhqKAIAIgE2AgAgBiAGKQMAIgs3AxAgASALp0kEQCMAQRBrIgMkACADQQhqIQkjAEEgayICJAACQAJAIAZBEGoiBSgCACIEIAFPBEBBgYCAgHghCCAEDQEMAgsgAkEUakEBNgIAIAJBHGpBADYCACACQZCHwAA2AhAgAkHshsAANgIYIAJBADYCCCACQQhqQeSHwAAQcgALIARBAnQhByAFKAIEIQoCQCABBEBBBCEIIAogB0EEIAFBAnQiBBCKASIHRQ0CDAELQQQhByAKEBALIAUgATYCACAFIAc2AgRBgYCAgHghCAsgCSAINgIEIAkgBDYCACACQSBqJAAgAygCDCIBQYGAgIB4RwRAIAMoAgggAUGAvMAAKAIAIgBBwgAgABsRAgAACyADQRBqJAAgBigCGCEBCyAGKAIUIQIgACABNgIEIAAgAjYCACAGQSBqJAAPC0H0h8AAQTIQtwEAC7gBAQN/IwBB0ABrIgAkACAAQTM2AgwgAEHwgMAANgIIIABBADYCGCAAQoCAgIAQNwMQIABBIGoiAUEDOgAgIAFCgICAgIAENwIYIAFBADYCECABQQA2AgggAUHEgsAANgIEIAEgAEEQajYCACAAQQhqIgIoAgAgAigCBCABELoBBEBB3ILAAEE3IABByABqQZSDwABB8IPAABBAAAsgACgCFCAAKAIYEAEgAEEQahCFASAAQdAAaiQAC34BA38CQCABRQRAQQQhBAwBCwJ/AkACQCABQarVqtUASw0AIAFBDGwiAkEASA0AIAFBq9Wq1QBJQQJ0IQMgAkUNASACIAMQlgEMAgsQbgALIAMLIgQNACACIANBgLzAACgCACIAQcIAIAAbEQIAAAsgACAENgIEIAAgATYCAAt+AQN/AkAgAUUEQEECIQQMAQsCfwJAAkAgAUH/////A0sNACABQQF0IgJBAEgNACABQYCAgIAESUEBdCEDIAJFDQEgAiADEJYBDAILEG4ACyADCyIEDQAgAiADQYC8wAAoAgAiAEHCACAAGxECAAALIAAgBDYCBCAAIAE2AgALfAEDfwJAIAFFBEBBBCEEDAELAn8CQAJAIAFB5syZM0sNACABQRRsIgJBAEgNACABQefMmTNJQQJ0IQMgAkUNASACIAMQlgEMAgsQbgALIAMLIgQNACACIANBgLzAACgCACIAQcIAIAAbEQIAAAsgACAENgIEIAAgATYCAAuAAQEDfwJAIAAoAkhBAWoiAyAAKAJEIgJPBEAgAEHsAGooAgAiBCADSQ0BIAEgAyACayIEIAEgBEkbIQEgAEHoAGooAgAgAkEMbGogBCABEHcgACACIAEgAmoQISAAIAIgAxBVDwsgAiADQYCOwAAQowEACyADIARBgI7AABCiAQALgAEBA38CQCAAKAJIQQFqIgIgACgCRCIDTwRAIABB7ABqKAIAIgQgAkkNASABIAIgA2siBCABIARJGyEBIABB6ABqKAIAIANBDGxqIAQgARB6IAAgAiABayACECEgACADIAIQVQ8LIAMgAkHwjcAAEKMBAAsgAiAEQfCNwAAQogEAC4EBAQF/AkAgAiAAQewAaigCACIESQRAIABB6ABqKAIAIAJBDGxqIgAoAggiAiABTQ0BIAAoAgQgAUEUbGoiACADKQIANwIAIABBEGogA0EQaigCADYCACAAQQhqIANBCGopAgA3AgAPCyACIARBrI3AABBKAAsgASACQayNwAAQSgALdgEDfyABIAAoAgAgACgCCCICa0sEQCAAIAIgARBnIAAoAgghAgsgACgCBCIEIAJqIQMCQAJAIAFBAk8EQCADQQEgAUEBayIBEL4BIAQgASACaiICaiEDDAELIAFFDQELIANBAToAACACQQFqIQILIAAgAjYCCAt8AQF/IwBBMGsiAyQAIAMgATYCBCADIAA2AgAgA0EIaiIAQQxqQQI2AgAgA0EcakECNgIAIANBIGoiAUEMakHBADYCACADQaiiwAA2AhAgA0EANgIIIANBwQA2AiQgAyABNgIYIAMgAzYCKCADIANBBGo2AiAgACACEHIAC80BAQJ/IwBBsAFrIgEkACMAQbABayICJAACQAJAIAAEQCAAKAIADQEgAEEANgIAIAEgAiAAQbABEL0BIgJBBHJBrAEQvQEaIAAQECACQbABaiQADAILELUBAAsQtgEACyABQcwAaiIAKAIABEAgACgCBBAQCyABQdgAaiIAKAIABEAgACgCBBAQCyABQeQAaiIAEGAgABCFASABQfAAaiIAEGAgABCFASABQfwAaiIAKAIABEAgACgCBBAQCyABQYgBahCFASABQbABaiQAC3UBAn8jAEEQayIEJAAgBEEIaiABKAIQIAIgAxCLASAEKAIMIQIgBCgCCCIDRQRAAkAgASgCCEUNACABQQxqKAIAIgVBhAFJDQAgBRAACyABQQE2AgggAUEMaiACNgIACyAAIAM2AgAgACACNgIEIARBEGokAAtyACMAQTBrIgEkAEHcu8AALQAABEAgAUEUakECNgIAIAFBHGpBATYCACABQfycwAA2AhAgAUEANgIIIAFBwQA2AiQgASAANgIsIAEgAUEgajYCGCABIAFBLGo2AiAgAUEIakGkncAAEHIACyABQTBqJAALWwEBfyMAQSBrIgIkACACIAAoAgA2AgQgAkEIaiIAQRBqIAFBEGopAgA3AwAgAEEIaiABQQhqKQIANwMAIAIgASkCADcDCCACQQRqQdiZwAAgABAWIAJBIGokAAtbAQF/IwBBIGsiAiQAIAIgACgCADYCBCACQQhqIgBBEGogAUEQaikCADcDACAAQQhqIAFBCGopAgA3AwAgAiABKQIANwMIIAJBBGpB9JrAACAAEBYgAkEgaiQAC1sBAX8jAEEgayICJAAgAiAAKAIANgIEIAJBCGoiAEEQaiABQRBqKQIANwMAIABBCGogAUEIaikCADcDACACIAEpAgA3AwggAkEEakGUnMAAIAAQFiACQSBqJAALWwEBfyMAQSBrIgIkACACIAAoAgA2AgQgAkEIaiIAQRBqIAFBEGopAgA3AwAgAEEIaiABQQhqKQIANwMAIAIgASkCADcDCCACQQRqQciewAAgABAWIAJBIGokAAtVAQN/IwBBIGsiAiQAIAEoAgQhAyABKAIAIAJBCGoiAUEQaiAAQRBqKQIANwMAIAFBCGogAEEIaikCADcDACACIAApAgA3AwggAyABEBYgAkEgaiQAC1sBAX8jAEEgayICJAAgAiAAKAIANgIEIAJBCGoiAEEQaiABQRBqKQIANwMAIABBCGogAUEIaikCADcDACACIAEpAgA3AwggAkEEakGQpsAAIAAQFiACQSBqJAALswIBBX8jAEEQayIDJAACQCAAKAI4IgRFDQAgBCAAKAIwTw0AIANBCGogAEGAAWooAgAgAEGEAWooAgAgAEE4ahA9IAMoAghFDQAgAygCDCECIABB/ABqIgAoAgghASABIAAoAgBGBEAgACABEGMLIAAoAgQgAkECdGohBQJAIAEgAk0EQCABIAJGDQEjAEEwayIAJAAgACABNgIEIAAgAjYCACAAQQhqIgRBDGpBAzYCACAAQRxqQQI2AgAgAEEgaiIBQQxqQcEANgIAIABB9KDAADYCECAAQQA2AgggAEHBADYCJCAAIAE2AhggACAAQQRqNgIoIAAgADYCICAEQYyhwAAQcgALIAVBBGogBSABIAJrQQJ0ELwBCyAFIAQ2AgAgACABQQFqNgIICyADQRBqJAALXwEBfwJAIAEgAk0EQCAAQZABaigCACIDIAJJDQEgASACRwRAIABBjAFqKAIAIgAgAWoiAUEBIAAgAmogAWsQvgELDwsgASACQaCOwAAQowEACyACIANBoI7AABCiAQALWAEBfyMAQSBrIgIkACACIAA2AgQgAkEIaiIAQRBqIAFBEGopAgA3AwAgAEEIaiABQQhqKQIANwMAIAIgASkCADcDCCACQQRqQdiZwAAgABAWIAJBIGokAAtYAQF/IwBBIGsiAiQAIAIgADYCBCACQQhqIgBBEGogAUEQaikCADcDACAAQQhqIAFBCGopAgA3AwAgAiABKQIANwMIIAJBBGpB9JrAACAAEBYgAkEgaiQAC1gBAX8jAEEgayICJAAgAiAANgIEIAJBCGoiAEEQaiABQRBqKQIANwMAIABBCGogAUEIaikCADcDACACIAEpAgA3AwggAkEEakGQpsAAIAAQFiACQSBqJAALVwECfwJAIAFFBEBBASECDAELIAFBAE4EQCABIAFBf3NBH3YiAxCWASICDQEgASADQYC8wAAoAgAiAEHCACAAGxECAAALEG4ACyAAIAI2AgQgACABNgIAC+MEAQZ/IwBBEGsiBiQAIAZBCGogASACQQIQTAJ/IAYoAggEQEEBIQIgBigCDAwBCyMAQSBrIgUkACABKAIIIQIgAUEANgIIAn8CQAJAIAIEQCAFIAFBDGooAgAiAjYCGCAFQRBqIQggASgCECEHIwBB0ABrIgQkAAJAIAMtAABFBEAgBCADLQABuBACNgIEIARBADYCACAEKAIEIQMgBCgCACEHDAELIARBNGpBCjYCACAEQSxqQQo2AgAgBCADQQNqNgIwIAQgA0ECajYCKCAEQQo2AiQgBCADQQFq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QQA2AgAgA0HIocAANgIQIANBADYCACADIAE2AhwgAyAANgIYIAMgA0EYajYCCCADIAIQcgALVwEBfyMAQRBrIgIkACACQQhqIAAgARAvAkAgAigCDCIAQYGAgIB4RwRAIABFDQEgAigCCCAAQYC8wAAoAgAiAEHCACAAGxECAAALIAJBEGokAA8LEG4AC5cCAQZ/IwBBEGsiAyQAIwBBIGsiAiQAIANBCGoiBgJ/QQAgASABQQFqIgFLDQAaIAAoAgAiBUEBdCIEIAEgASAESRsiAUEEIAFBBEsbIgRBHGwhASAEQaWSySRJQQJ0IQcCQCAFBEAgAkEENgIYIAIgBUEcbDYCFCACIAAoAgQ2AhAMAQsgAkEANgIYCyACIAEgByACQRBqEDogAigCBCEBIAIoAgAEQCACQQhqKAIADAELIAAgBDYCACAAIAE2AgRBgYCAgHgLNgIEIAYgATYCACACQSBqJAACQCADKAIMIgBBgYCAgHhHBEAgAEUNASADKAIIIABBgLzAACgCACIAQcIAIAAbEQIAAAsgA0EQaiQADwsQbgALWQEBfyMAQRBrIgIkACACQQhqIAAgAUEBEDQCQCACKAIMIgBBgYCAgHhHBEAgAEUNASACKAIIIABBgLzAACgCACIAQcIAIAAbEQIAAAsgAkEQaiQADwsQbgALlQIBB38jAEEQayIDJAAjAEEgayICJAAgA0EIaiIGAn9BACABIAFBAWoiAUsNABogACgCACIHQQF0IgQgASABIARJGyIBQQQgAUEESxsiBUEBdCEBIAVBgICAgARJQQF0IQgCQCAHBEAgAkECNgIYIAIgBDYCFCACIAAoAgQ2AhAMAQsgAkEANgIYCyACIAEgCCACQRBqEDogAigCBCEBIAIoAgAEQCACQQhqKAIADAELIAAgBTYCACAAIAE2AgRBgYCAgHgLNgIEIAYgATYCACACQSBqJAACQCADKAIMIgBBgYCAgHhHBEAgAEUNASADKAIIIABBgLzAACgCACIAQcIAIAAbEQIAAAsgA0EQaiQADwsQbgALWQEBfyMAQRBrIgMkACADQQhqIAAgASACEDQCQCADKAIMIgBBgYCAgHhHBEAgAEUNASADKAIIIABBgLzAACgCACIAQcIAIAAbEQIAAAsgA0EQaiQADwsQbgALiBwBHH8CQCAABEAgACgCACICQX9GDQEgACACQQFqNgIAIwBBIGsiCyQAIAtBCGohBiAAQQRqIgJB7ABqKAIAIgMgAU0EQCABIANBkI7AABBKAAsgAkHoAGooAgAgAUEMbGohAiMAQdAAayIBJAACQAJAAkAgAigCCCIDRQRAIAZBADYCCCAGQoCAgIDAADcCAAwBCwJAAkACQEEEQQQQlgEiBwRAIAcgAigCBCIJKAIANgIAIAEgCUEKaikAADcBNiABIAkpAAQ3AzAgAUESaiABKQE2NwEAIAFBATYCACABQQE2AgggASAHNgIEIAEgASkDMDcCDCABQQA2AiggAUKAgICAwAA3AyAgA0EBRgRAIAFBMGoiAkEYaiABQRhqKAIANgIAIAJBEGogAUEQaikDADcDACACQQhqIAFBCGopAwA3AwAgASABKQMANwMwQQAhAgwDCyABQQxqIQcgA0EUbEEUayEOQQEhAgNAIAEtAAwhCAJAAkACQAJAAkAgBCAJaiIDQRhqIgwtAAAiBUECRg0AIAhBAkYNACAFIAhHDQIgBUUEQCADQRlqLQAAIAEtAA1GDQIMAwsgA0EZai0AACABLQANRw0CIANBGmotAAAgAS0ADkcNAiADQRtqLQAAIAEtAA9GDQEMAgsgBUECRw0BIAhBAkcNAQsgAS0AECEIAkACQCADQRxqLQAAIgVBAkYNACAIQQJGDQAgBSAIRw0CIAVFBEAgA0Edai0AACABLQARRg0CDAMLIANBHWotAAAgAS0AEUcNAiADQR5qLQAAIAEtABJHDQIgA0Efai0AACABLQATRg0BDAILIAVBAkcNASAIQQJHDQELIANBIGotAAAgAS0AFEcNACADQSFqLQAARSABLQAVQQBHRg0AIANBImotAABFIAEtABZBAEdGDQAgA0Ejai0AAEUgAS0AF0EAR0YNACADQSRqLQAARSABLQAYQQBHRg0AIANBJWotAABFIAEtABlBAEdzDQELIAFBMGoiAkEYaiIFIAFBGGooAgA2AgAgAkEQaiINIAFBEGopAwA3AwAgAkEIaiIKIAFBCGopAwA3AwAgASABKQMANwMwIAEoAigiAiABKAIgRgRAIAFBIGogAhBkIAEoAighAgsgASgCJCACQRxsaiIIIAEpAzA3AgAgCEEIaiAKKQMANwIAIAhBEGogDSkDADcCACAIQRhqIAUoAgA2AgAgASACQQFqNgIoQQRBBBCWASIIRQ0IIAggA0EUaigCADYCAEEBIQIgAUEBNgIIIAEgCDYCBCABQQE2AgAgDEEMai8BACEDIAxBCGooAgAhCCAHIAwpAgA3AgAgB0EIaiAINgIAIAdBDGogAzsBAAwBCyADQRRqKAIAIQMgASgCACACRgRAIAEgAhBjIAEoAgghAgsgASgCBCACQQJ0aiADNgIAIAEgASgCCEEBaiICNgIICyAOIARBFGoiBEcNAAsMAQsMBAsgASgCICEEIAEoAighAiABQTBqIgNBGGogAUEYaigCADYCACADQRBqIAFBEGopAwA3AwAgA0EIaiABQQhqKQMANwMAIAEgASkDADcDMCACIARHDQELIAFBIGogAhBkIAEoAighAgsgASgCJCACQRxsaiIDIAEpAzA3AgAgA0EIaiABQTBqIgRBCGopAwA3AgAgA0EQaiAEQRBqKQMANwIAIANBGGogBEEYaigCADYCACABQShqIAJBAWoiAjYCACAGQQhqIAI2AgAgBiABKQMgNwIACyABQdAAaiQAIAtBADsBGCALQQA6ABojAEEwayIEJAAgBigCBCEJIAYoAgghAhAGIQMgBEEgaiIBIAtBGGo2AgggAUEANgIEIAEgAzYCAAJ/AkACQCAEKAIoBEAgBEEYaiAEQShqKAIANgIAIAQgBCkDIDcDECACQRxsIQ4DQCAORQ0DIA5BHGshDiAEIAk2AiAgCUEcaiEJIARBCGohDyMAQRBrIggkACAEQRBqIgwoAgQhFCAIQQhqIRAgBEEgaigCACENIAwoAgghAUEAIREjAEHQAGsiAyQAIANBQGsgARCIASADKAJAIQECQAJAAkAgAygCSCICRQ0AIAMgAjYCKCADIAMoAkQ2AiQgAyABNgIgIA0oAgQiASANKAIIQQJ0aiEFIANBMGoiBkEANgIIIAZCgICAgBA3AgAgBSABa0ECdiIHIAYoAgAgBigCCCICa0sEQCAGIAIgBxBnCyMAQRBrIgckACABIAVHBEADQCABQQRqIQIgB0EMaiEKAkACfwJAAkAgASgCACIBQYABTwRAIAdBADYCDCABQYAQSQ0BIAFBgIAETw0CIAcgAUE/cUGAAXI6AA4gByABQQx2QeABcjoADCAHIAFBBnZBP3FBgAFyOgANQQMMAwsgBigCCCIKIAYoAgBG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ACACQQFqNgIAIwBBIGsiBCQAIARBEGoiAiAAQQRqIgEtAKYBBH8gAiABKQI4NwIEQQEFQQALNgIAIwBBIGsiAyQAIANBADsBGCADQQA6ABogBEEIaiIHAn8gAigCAEUEQCADQQhqIgJBADYCACACQYEBQYABIANBGGotAAAbNgIEIAMoAgghASADKAIMDAELIANBEGohBiACQQRqIQIjAEFAaiIBJAAgAUEwaiADQRhqEIgBAn8CQAJAAn8CQCABKAI4BEAgAUEgaiIFQQhqIAFBOGooAgA2AgAgASABKQMwNwMgIAFBGGogBSACEFwgASgCGEUNASABKAIcDAILIAEoAjAhAgwDCyABQRBqIAFBIGogAkEEahBcIAEoAhBFDQEgASgCFAshAiABKAIgIgVBhAFJDQEgBRAADAELIAFBMGoiAkEIaiABQShqKAIANgIAIAEgASkDIDcDMCABQQhqIgUgAigCADYCBCAFQQA2AgAgASgCDCECIAEoAggMAQtBAQshBSAGIAI2AgQgBiAFNgIAIAFBQGskACADKAIQIQEgAygCFAs2AgQgByABNgIAIANBIGokACAEKAIMIQIgBCgCCARAIAQgAjYCHEGAgMAAQSsgBEEcakGsgMAAQeCAwAAQQAALIARBIGokACAAIAAoAgBBAWs2AgAgAg8LELUBAAsQtgEAC4ACAQJ/IwBBEGsiAyQAIAMgACgCACIANgIIIAMgAEEEajYCDCMAQRBrIgIkACACIAEoAgBBx5HAAEEEIAEoAgQoAgwRAAA6AAggAiABNgIEIAJBADoACSACQQA2AgAgAiADQQhqQcyRwAAQIiADQQxqQdyRwAAQIiEAAn8gAi0ACCIBIAAoAgAiAEUNABpBASABDQAaIAIoAgQhAQJAIABBAUcNACACLQAJRQ0AIAEtABhBBHENAEEBIAEoAgBBlKTAAEEBIAEoAgQoAgwRAAANARoLIAEoAgBB86HAAEEBIAEoAgQoAgwRAAALIAJBEGokACADQRBqJABB/wFxQQBHC0kBAX8gACgCACIAKAIIIQMgAiAAKAIAIANrSwRAIAAgAyACEDEgACgCCCEDCyAAKAIEIANqIAEgAhC9ARogACACIANqNgIIQQALSQEBfyAAKAIAIgAoAgghAyACIAAoAgAgA2tLBEAgACADIAIQMiAAKAIIIQMLIAAoAgQgA2ogASACEL0BGiAAIAIgA2o2AghBAAtAAQF/IAIgACgCACAAKAIIIgNrSwRAIAAgAyACEGcgACgCCCEDCyAAKAIEIANqIAEgAhC9ARogACACIANqNgIIC0kBAX8jAEEgayIAJAAgAEEUakEBNgIAIABBHGpBADYCACAAQZCfwAA2AhAgAEHgnsAANgIYIABBADYCCCAAQQhqQZifwAAQcgALVgECfyABKAIEIQIgASgCACEDQQhBBBCWASIBRQRAQQhBBEGAvMAAKAIAIgBBwgAgABsRAgAACyABIAI2AgQgASADNgIAIABBgJ7AADYCBCAAIAE2AgALOQACQAJ/IAJBgIDEAEcEQEEBIAAgAiABKAIQEQEADQEaCyADDQFBAAsPCyAAIAMgBCABKAIMEQAAC/AEAQZ/IwBB4AJrIgIkACMAQTBrIgMkAAJAIAAEQCABDQFB0IvAAEEaQeyLwAAQYgALQaGLwABBHUHAi8AAEGIACyADQQhqIgQgACABEC0gAkHwAGogBBA1IAJB7ABqIARBCGooAgA2AgAgAiADKQMINwJkIAJB/ABqIAAQPyADQRdqIgZBB2pBADsAACADQQA2ABogA0EgaiIFQQdqIgdBADsAACADQQA2ACMgAiADKQAgNwANIAJBFWogBUEIaiIELQAAOgAAIAdBADsAACADQQA2ACMgAkElaiADKQAgNwAAIAJBLWogBC0AADoAACADIAEQWSAEQQA2AgAgAyADKQMANwMgIAUgARBJIAJBkAFqIAQoAgA2AgAgAiADKQMgNwKIASACQdwAakIENwIAIAJB1ABqQgA3AgAgAkKAgICAIDcCTCACQQA7AaQBIAIgATYCNCACIAA2AjAgAkEBOgCmASACQgA3AjggAkGYAWpBAjoAACACQQI6AJQBIAJBmQFqIAMpABc3AAAgAkGhAWogBkEIai0AADoAACACQQA7AaIBIAJBgIAENgCnASACQQA6AKsBIAJBADYCQCACIAFBAWs2AkggAkEANgJEIAJBLmpBgAI7AQAgAkEgakECOgAAIAJCADcCGCACQYACOwEWIAJBAjoADCACQQI6AAggAkIANwIAIAJBJGpBAjoAACADQTBqJAAgAkGwAWoiASACQawBEL0BGkGwAUEEEJYBIgBFBEBBsAFBBEGAvMAAKAIAIgBBwgAgABsRAgAACyAAQQA2AgAgAEEEaiABQawBEL0BGiACQeACaiQAIAAL4AIBAn8jAEEgayICJAAgAkEBOgAYIAIgATYCFCACIAA2AhAgAkG4osAANgIMIAJByKHAADYCCCMAQRBrIgEkAAJAIAJBCGoiACgCDCICBEAgACgCCCIDRQ0BIAEgAjYCCCABIAA2AgQgASADNgIAIwBBEGsiACQAIABBCGogAUEIaigCADYCACAAIAEpAgA3AwAjAEEQayIBJAAgACgCACICQRRqKAIAIQMCQAJ/AkACQCACQQxqKAIADgIAAQMLIAMNAkEAIQJBrJzAAAwBCyADDQEgAigCCCIDKAIEIQIgAygCAAshAyABIAI2AgQgASADNgIAIAFBpJ7AACAAKAIEIgEoAgggACgCCCABLQAQEDMACyABQQA2AgQgASACNgIMIAFBkJ7AACAAKAIEIgEoAgggACgCCCABLQAQEDMAC0GsnMAAQStB4J3AABBiAAtBrJzAAEErQdCdwAAQYgALMwACQCAAQfz///8HSw0AIABFBEBBBA8LIAAgAEH9////B0lBAnQQlgEiAEUNACAADwsACzABAX8jAEEQayICJAAgAiAANgIMIAFB1IbAAEEFIAJBDGpB3IbAABA4IAJBEGokAAstACABIAJPBEAgASACayIBIAAgAUEUbGogAhAVDwtBqInAAEEhQcyJwAAQYgALxQIBA38gACgCACECIAEtABhBEHFBBHZFBEAgAS0AGEEgcUEFdkUEQCACIAEQpAEPC0EAIQAjAEGAAWsiAyQAIAIoAgAhAgNAIAAgA2pB/wBqQTBBNyACQQ9xIgRBCkkbIARqOgAAIABBAWshACACQQ9LIAJBBHYhAg0ACyAAQYABaiICQYEBTwRAIAJBgAFBtKTAABChAQALIAFBxKTAAEECIAAgA2pBgAFqQQAgAGsQFCADQYABaiQADwtBACEAIwBBgAFrIgMkACACKAIAIQIDQCAAIANqQf8AakEwQdcAIAJBD3EiBEEKSRsgBGo6AAAgAEEBayEAIAJBD0sgAkEEdiECDQALIABBgAFqIgJBgQFPBEAgAkGAAUG0pMAAEKEBAAsgAUHEpMAAQQIgACADakGAAWpBACAAaxAUIANBgAFqJAALLQAgASACTwRAIAEgAmsiASAAIAFBDGxqIAIQEg8LQbSYwABBIUHYmMAAEGIAC9ECAQN/IAAoAgAhACABLQAYQRBxQQR2RQRAIAEtABhBIHFBBXZFBEAgACABEKcBDwsjAEGAAWsiAyQAIAAtAAAhAkEAIQADQCAAIANqQf8AakEwQTcgAkEPcSIEQQpJGyAEajoAACAAQQFrIQAgAkH/AXEiBEEEdiECIARBD0sNAAsgAEGAAWoiAkGBAU8EQCACQYABQbSkwAAQoQEACyABQcSkwABBAiAAIANqQYABakEAIABrEBQgA0GAAWokAA8LIwBBgAFrIgMkACAALQAAIQJBACEAA0AgACADakH/AGpBMEHXACACQQ9xIgRBCkkbIARqOgAAIABBAWshACACQf8BcSIEQQR2IQIgBEEPSw0ACyAAQYABaiICQYEBTwRAIAJBgAFBtKTAABChAQALIAFBxKTAAEECIAAgA2pBgAFqQQAgAGsQFCADQYABaiQAC9UCAQN/IAAoAgAhACABLQAYQRBxQQR2RQRAIAEtABhBIHFBBXZFBEAgADMBACABECAPCyMAQYABayIDJAAgAC8BACECQQAhAANAIAAgA2pB/wBqQTBBNyACQQ9xIgRBCkkbIARqOgAAIABBAWshACACQf//A3EiBEEEdiECIARBD0sNAAsgAEGAAWoiAkGBAU8EQCACQYABQbSkwAAQoQEACyABQcSkwABBAiAAIANqQYABakEAIABrEBQgA0GAAWokAA8LIwBBgAFrIgMkACAALwEAIQJBACEAA0AgACADakH/AGpBMEHXACACQQ9xIgRBCkkbIARqOgAAIABBAWshACACQf//A3EiBEEEdiECIARBD0sNAAsgAEGAAWoiAkGBAU8EQCACQYABQbSkwAAQoQEACyABQcSkwABBAiAAIANqQYABakEAIABrEBQgA0GAAWokAAsrACABIAJPBEAgAiAAIAJBDGxqIAEgAmsQEg8LQbKXwABBI0GkmMAAEGIAC84CAQh/IAEoAggiAiABKAIASQRAIwBBEGsiBCQAIARBCGohCCMAQSBrIgMkAAJAAkAgASgCACIJIAJPBEBBgYCAgHghBSAJRQ0CIAEoAgQhB0EBIQYCQCACBEAgAkEATg0BQQEhBSACQQEQlgEiBkUNBCAGIAcgAhC9ARoLIAcQEAwCC0EBIQUgByAJQQEgAhCKASIGDQEMAgsgA0EUakEB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ACAAKAIAIAEgACgCBCgCDBEBAAsIACAAIAEQGwsPACAAKAIAIAEgAhBtQQALEQAgACgCBCAAKAIIIAEQugELEwAgAEGAnsAANgIEIAAgATYCAAsQACABIAAoAgAgACgCBBARCwwAIAAgASACEG1BAAsNACAAKAIAIAEgAhAFCw0AIAAoAgAgASACEAoLoAEBA38gACgCACECQQIhAyMAQRBrIgAkACABKAIAQZakwABBASABKAIEKAIMEQAAIQQgAEEAOgAFIAAgBDoABCAAIAE2AgADQCAAIAI2AgwgACAAQQxqQbiZwAAQpQEgAkEBaiECIANBAWsiAw0ACyAALQAEBH9BAQUgACgCACIBKAIAQZekwABBASABQQRqKAIAKAIMEQAACyAAQRBqJAALowQBBX8gACgCACEDIwBBEGsiBCQAAkACfwJAAkAgAUGAAU8EQCAEQQA2AgwgAUGAEEkNASABQYCABE8NAiAEIAFBP3FBgAFyOgAOIAQgAUEMdkHgAXI6AAwgBCABQQZ2QT9xQYABcjoADUEDDAMLIAMoAggiAiADKAIARgRAIwBBIGsiACQAAkACQCACQQFqIgJFDQAgAygCACIFQQF0IgYgAiACIAZJGyICQQggAkEISxsiAkF/c0EfdiEGAkAgBQRAIABBATYCGCAAIAU2AhQgACADQQRqKAIANgIQDAELIABBADYCGAsgACACIAYgAEEQahA3IAAoAgQhBSAAKAIARQRAIAMgAjYCACADIAU2AgQMAgsgAEEIaigCACICQYGAgIB4Rg0BIAJFDQAgBSACQYC8wAAoAgAiAEHCACAAGxECAAALEG4ACyAAQSBqJAAgAygCCCECCyADIAJBAWo2AgggAygCBCACaiABOgAADAMLIAQgAUE/cUGAAXI6AA0gBCABQQZ2QcABcjoADEECDAELIAQgAUE/cUGAAXI6AA8gBCABQQZ2QT9xQYABcjoADiAEIAFBDHZBP3FBgAFyOgANIAQgAUESdkEHcUHwAXI6AAxBBAshACAAIAMoAgAgAygCCCICa0sEQCADIAIgABAyIAMoAgghAgsgAygCBCACaiAEQQxqIAAQvQEaIAMgACACajYCCAsgBEEQaiQAQQALDgAgACgCABoDQAwACwALfAEBfyMAQTBrIgMkACADIAE2AgQgAyAANgIAIANBCGoiAEEMakECNgIAIANBHGpBAjYCACADQSBqIgFBDGpBwQA2AgAgA0HUp8AANgIQIANBADYCCCADQcEANgIkIAMgATYCGCADIANBBGo2AiggAyADNgIgIAAgAhByAAt8AQF/IwBBMGsiAyQAIAMgATYCBCADIAA2AgAgA0EIaiIAQQxqQQI2AgAgA0EcakECNgIAIANBIGoiAUEMakHBADYCACADQfSnwAA2AhAgA0EANgIIIANBwQA2AiQgAyABNgIYIAMgA0EEajYCKCADIAM2AiAgACACEHIAC3wBAX8jAEEwayIDJAAgAyABNgIEIAMgADYCACADQQhqIgBBDGpBAjYCACADQRxqQQI2AgAgA0EgaiIBQQxqQcEANgIAIANBqKjAADYCECADQQA2AgggA0HBADYCJCADIAE2AhggAyADQQRqNgIoIAMgAzYCICAAIAIQcgALCwAgADUCACABECALyQICBH8CfiMAQUBqIgMkAEEBIQUCQCAALQAEDQAgAC0ABSEFAkACQAJAIAAoAgAiBCgCGCIGQQRxRQRAIAUNAQwDCyAFDQFBASEFIAQoAgBBlaTAAEEBIAQoAgQoAgwRAAANAyAEKAIYIQYMAQtBASEFIAQoAgBBiaTAAEECIAQoAgQoAgwRAABFDQEMAgtBASEFIANBAToAFyADQeijwAA2AhwgAyAEKQIANwMIIAMgA0EXajYCECAEKQIIIQcgBCkCECEIIAMgBC0AIDoAOCADIAQoAhw2AjQgAyAGNgIwIAMgCDcDKCADIAc3AyAgAyADQQhqNgIYIAEgA0EYaiACKAIMEQEADQEgAygCGEGHpMAAQQIgAygCHCgCDBEAACEFDAELIAEgBCACKAIMEQEAIQULIABBAToABSAAIAU6AAQgA0FAayQACw0AIAAoAgAgASACEBoLCwAgADEAACABECALCwAgACkDACABECALCwAgACMAaiQAIwALBwAgABCFAQvoAQEFfyAAKAIAIQIjAEFAaiIAJAAgAEIANwM4IABBOGogAigCABAMIABBFGpBAjYCACAAQRxqQQE2AgAgACAAKAI8IgI2AjAgACAAKAI4NgIsIAAgAjYCKCAAQTw2AiQgAEHkmsAANgIQIABBADYCCCAAIABBKGoiBDYCICAAIABBIGo2AhgjAEEgayICJAAgASgCBCEFIAEoAgAg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04l/CwwAQrO29/Gi3KL+BAsDAAELC+M7AQBBgIDAAAvZO2NhbGxlZCBgUmVzdWx0Ojp1bndyYXAoKWAgb24gYW4gYEVycmAgdmFsdWUAAgAAAAQAAAAEAAAAAwAAAAAAEAAAAAAAc3JjL2xpYi5ycwAARAAQAAoAAAAjAAAALQAAAEQAEAAKAAAAKAAAAC8AAABNYXAga2V5IGlzIG5vdCBhIHN0cmluZyBhbmQgY2Fubm90IGJlIGFuIG9iamVjdCBrZXkAVHJpZWQgdG8gc2hyaW5rIHRvIGEgbGFyZ2VyIGNhcGFjaXR5pAAQACQAAAAvcnVzdGMvZmM1OTRmMTU2Njk2ODBmYTcwZDI1NWZhZWMzY2EzZmI1MDdjMzQwNS9saWJyYXJ5L2FsbG9jL3NyYy9yYXdfdmVjLnJz0AAQAEwAAACqAQAACQAAAGB1bndyYXBfdGhyb3dgIGZhaWxlZAAAAAQAAAAMAAAABAAAAAUAAAAGAAAABwAAAGEgRGlzcGxheSBpbXBsZW1lbnRhdGlvbiByZXR1cm5lZCBhbiBlcnJvciB1bmV4cGVjdGVkbHkACAAAAAAAAAABAAAACQAAAC9ydXN0Yy9mYzU5NGYxNTY2OTY4MGZhNzBkMjU1ZmFlYzNjYTNmYjUwN2MzNDA1L2xpYnJhcnkvYWxsb2Mvc3JjL3N0cmluZy5ycwCkARAASwAAAOgJAAAJAAAAZmdiZ2ZhaW50AWJvbGRpdGFsaWN1bmRlcmxpbmVzdHJpa2V0aHJvdWdoYmxpbmtpbnZlcnNlcmdiKCwpNgIQAAQAAAA6AhAAAQAAADoCEAABAAAAOwIQAAEAAAAgY2FuJ3QgYmUgcmVwcmVzZW50ZWQgYXMgYSBKYXZhU2NyaXB0IG51bWJlclwCEAAAAAAAXAIQACwAAAAMAAAADAAAAAQAAAANAAAADgAAAA8AAABhIERpc3BsYXkgaW1wbGVtZW50YXRpb24gcmV0dXJuZWQgYW4gZXJyb3IgdW5leHBlY3RlZGx5ABAAAAAAAAAAAQAAAAkAAAAvcnVzdGMvZmM1OTRmMTU2Njk2ODBmYTcwZDI1NWZhZWMzY2EzZmI1MDdjMzQwNS9saWJyYXJ5L2FsbG9jL3NyYy9zdHJpbmcucnMA+AIQAEsAAADoCQAACQAAAEVycm9yAAAAEAAAAAQAAAAEAAAAEQAAAFRyaWVkIHRvIHNocmluayB0byBhIGxhcmdlciBjYXBhY2l0eWwDEAAkAAAAL3J1c3RjL2ZjNTk0ZjE1NjY5NjgwZmE3MGQyNTVmYWVjM2NhM2ZiNTA3YzM0MDUvbGlicmFyeS9hbGxvYy9zcmMvcmF3X3ZlYy5yc5gDEABMAAAAqgEAAAkAAABjbG9zdXJlIGludm9rZWQgcmVjdXJzaXZlbHkgb3IgYWZ0ZXIgYmVpbmcgZHJvcHBlZGFzc2VydGlvbiBmYWlsZWQ6IG1pZCA8PSBzZWxmLmxlbigpL3J1c3RjL2ZjNTk0ZjE1NjY5NjgwZmE3MGQyNTVmYWVjM2NhM2ZiNTA3YzM0MDUvbGlicmFyeS9jb3JlL3NyYy9zbGljZS9tb2QucnMAAEkEEABNAAAA7AsAAAkAAABhc3NlcnRpb24gZmFpbGVkOiBrIDw9IHNlbGYubGVuKCkAAABJBBAATQAAABcMAAAJAAAAZiYAAJIlAAAJJAAADCQAAA0kAAAKJAAAsAAAALEAAAAkJAAACyQAABglAAAQJQAADCUAABQlAAA8JQAAuiMAALsjAAAAJQAAvCMAAL0jAAAcJQAAJCUAADQlAAAsJQAAAiUAAGQiAABlIgAAwAMAAGAiAACjAAAAxSIAAC9ob21lL21hcmNpbi8uY2FyZ28vZ2l0L2NoZWNrb3V0cy9hdnQtNjgzMzk3ODhiYTdkNjczZS85MTdhM2I4L3NyYy9saWIucnNhc3NlcnRpb24gZmFpbGVkOiBjb2x1bW5zID4gMAAAWAUQAEkAAAA4AQAACQAAAGFzc2VydGlvbiBmYWlsZWQ6IHJvd3MgPiAwAABYBRAASQAAADkBAAAJAAAAWAUQAEkAAADaAgAAEQAAAFgFEABJAAAA6AIAABEAAABYBRAASQAAAA0DAAAaAAAAWAUQAEkAAACVAwAAGgAAAFgFEABJAAAAmAMAABoAAABYBRAASQAAAP0DAAANAAAAWAUQAEkAAAACBAAADQAAAFgFEABJAAAADgQAAA0AAABYBRAASQAAABMEAAANAAAAWAUQAEkAAAAgBAAACQAAAFgFEABJAAAAQAQAABgAAABYBRAASQAAAFkFAAAJAAAAWAUQAEkAAABnBQAAJAAAAFgFEABJAAAAcwUAABoAAABYBRAASQAAAHsFAAAaAAAAAAAAAFgFEABJAAAAEgYAAAkAAABYBRAASQAAABoGAAAJAAAAWAUQAEkAAACOBwAAGgAAAFgFEABJAAAAsQcAABcAAABYBRAASQAAALcHAAAJAAAAU29zUG1BcGNTdHJpbmdPc2NTdHJpbmdEY3NJZ25vcmVEY3NQYXNzdGhyb3VnaERjc0ludGVybWVkaWF0ZURjc1BhcmFtRGNzRW50cnlDc2lJZ25vcmVDc2lJbnRlcm1lZGlhdGVDc2lQYXJhbUNzaUVudHJ5RXNjYXBlSW50ZXJtZWRpYXRlRXNjYXBlR3JvdW5kUkdCAAAeAAAABAAAAAQAAAAfAAAASW5kZXhlZAAeAAAABAAAAAQAAAAgAAAARmFpbnRCb2xkTm9ybWFsZm9yZWdyb3VuZGJhY2tncm91bmRpbnRlbnNpdHlpdGFsaWN1bmRlcmxpbmVzdHJpa2V0aHJvdWdoYmxpbmtpbnZlcnNlDwgQAAoAAAAZCBAACgAAACMIEAAJAAAALAgQAAYAAAAyCBAACQAAADsIEAANAAAASAgQAAUAAABNCBAABwAAAB4AAAAEAAAABAAAACEAAAAeAAAABAAAAAQAAAAiAAAAHgAAAAQAAAAEAAAAIwAAAFBlbkNlbGwAHgAAAAQAAAAEAAAAJAAAAB4AAAAEAAAABAAAACUAAAAeAAAABAAAAAQAAAAmAAAARHJhd2luZ0FzY2lpQWx0ZXJuYXRlUHJpbWFyeVNhdmVkQ3R4Y3Vyc29yX3geAAAABAAAAAQAAAAnAAAAY3Vyc29yX3lwZW5vcmlnaW5fbW9kZWF1dG9fd3JhcF9tb2Rlc3RhdGVwYXJhbXNpbnRlcm1lZGlhdGVzY29sdW1uc3Jvd3NidWZmZXJhbHRlcm5hdGVfYnVmZmVyYWN0aXZlX2J1ZmZlcl90eXBlY3Vyc29yX3Zpc2libGVjaGFyc2V0c2FjdGl2ZV9jaGFyc2V0dGFic2luc2VydF9tb2RlbmV3X2xpbmVfbW9kZW5leHRfcHJpbnRfd3JhcHN0b3BfbWFyZ2luYm90dG9tX21hcmdpbnNhdmVkX2N0eGFsdGVybmF0ZV9zYXZlZF9jdHhhZmZlY3RlZF9saW5lc1wJEAAFAAAAYQkQAAYAAABnCRAADQAAAHQJEAAHAAAAewkQAAQAAAB/CRAABgAAAIUJ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");function SA(A){return"number"==typeof A?A:"string"==typeof A?A.split(":").reverse().map(parseFloat).reduce(((A,g,I)=>A+g*Math.pow(60,I))):void 0}class LA{constructor(){let A=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;this.speed=A,this.startTime=performance.now()}getTime(){return this.speed*(performance.now()-this.startTime)/1e3}setTime(A){this.startTime=performance.now()-A/this.speed*1e3}}const pA=(async()=>(await uA(fA),dA))();class UA{constructor(A,g){this.logger=g.logger,this.state="initial",this.driver=null,this.driverFn=A,this.changedLines=new Set,this.cursor=void 0,this.duration=null,this.cols=g.cols,this.rows=g.rows,this.speed=g.speed??1,this.clock=void 0,this.loop=g.loop,this.idleTimeLimit=g.idleTimeLimit,this.preload=g.preload,this.startAt=SA(g.startAt),this.poster=g.poster,this.eventHandlers=new Map([["starting",[]],["loading",[]],["reset",[]],["play",[]],["pause",[]],["terminalUpdate",[]],["seeked",[]],["ended",[]]])}addEventListener(A,g){this.eventHandlers.get(A).push(g)}dispatchEvent(A){let g=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};for(const I of this.eventHandlers.get(A))I(g)}async init(){const A=this.feed.bind(this),g=this.now.bind(this),I=this.resetVt.bind(this);let B=!1;return this.wasm=await pA,this.driver=this.driverFn({feed:A,now:g,setTimeout:(A,g)=>window.setTimeout(A,g/this.speed),setInterval:(A,g)=>window.setInterval(A,g/this.speed),onFinish:()=>{this.state="ended",this.dispatchEvent("ended")},reset:I,setLoading:A=>{A&&!B?(B=!0,this.dispatchEvent("loading")):!A&&B&&(B=!1,this.dispatchEvent("play"))},logger:this.logger},{cols:this.cols,rows:this.rows,idleTimeLimit:this.idleTimeLimit,startAt:this.startAt,loop:this.loop}),"function"==typeof this.driver&&(this.driver={start:this.driver}),this.duration=this.driver.duration,this.cols=this.cols??this.driver.cols,this.rows=this.rows??this.driver.rows,this.preload&&this.initializeDriver(),{isPausable:!!this.driver.pauseOrResume,isSeekable:!!this.driver.seek,poster:await this.renderPoster()}}async play(){"initial"==this.state?await this.start():"paused"==this.state?this.resume():"ended"==this.state&&await this.restart()}pause(){"playing"==this.state&&this.doPause()}async pauseOrResume(){"initial"==this.state?await this.start():"playing"==this.state?this.doPause():"paused"==this.state?this.resume():"ended"==this.state&&await this.restart()}stop(){"function"==typeof this.driver.stop&&this.driver.stop()}async seek(A){if("initial"==this.state)return!1;if("function"!=typeof this.driver.seek)return!1;const g=this.driver.seek(A);return g&&("ended"==this.state&&(this.state="paused"),this.dispatchEvent("seeked")),g}step(){"paused"==this.state&&"function"==typeof this.driver.step&&this.driver.step()}getChangedLines(){if(this.changedLines.size>0){const A=new Map;for(const g of this.changedLines)A.set(g,{id:g,segments:this.vt.get_line(g)});return this.changedLines.clear(),A}}getCursor(){return void 0===this.cursor&&this.vt&&(this.cursor=this.vt.get_cursor()??!1),this.cursor}getCurrentTime(){return"function"==typeof this.driver.getCurrentTime?this.driver.getCurrentTime():void 0!==this.clock?this.clock.getTime():void 0}getRemainingTime(){if("number"==typeof this.duration)return this.duration-Math.min(this.getCurrentTime(),this.duration)}getProgress(){if("number"==typeof this.duration)return Math.min(this.getCurrentTime(),this.duration)/this.duration}getDuration(){return this.duration}async start(){this.dispatchEvent("starting");const A=setTimeout((()=>{this.dispatchEvent("loading")}),2e3);await this.initializeDriver(),this.dispatchEvent("terminalUpdate");const g=await this.driver.start();clearTimeout(A),"function"==typeof g&&(this.driver.stop=g),this.clock=new LA(this.speed),this.state="playing",this.dispatchEvent("play")}doPause(){"function"==typeof this.driver.pauseOrResume&&(this.driver.pauseOrResume(),this.state="paused",this.dispatchEvent("pause"))}resume(){"function"==typeof this.driver.pauseOrResume&&(this.state="playing",this.driver.pauseOrResume(),this.dispatchEvent("play"))}async restart(){if("function"==typeof this.driver.restart){await this.driver.restart()&&(this.state="playing",this.dispatchEvent("play"))}}feed(A){this.doFeed(A),this.dispatchEvent("terminalUpdate")}doFeed(A){this.vt.feed(A).forEach((A=>this.changedLines.add(A))),this.cursor=void 0}now(){return performance.now()*this.speed}initializeDriver(){return void 0===this.initializeDriverPromise&&(this.initializeDriverPromise=this.doInitializeDriver()),this.initializeDriverPromise}async doInitializeDriver(){if("function"==typeof this.driver.init){const A=await this.driver.init();this.duration=this.duration??A.duration,this.cols=this.cols??A.cols,this.rows=this.rows??A.rows}this.ensureVt()}ensureVt(){const A=this.cols??80,g=this.rows??24;void 0!==this.vt&&this.vt.cols===A&&this.vt.rows===g||(this.initializeVt(A,g),this.dispatchEvent("reset",{cols:A,rows:g}))}resetVt(A,g){let I=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0;this.cols=A,this.rows=g,this.cursor=void 0,this.initializeVt(A,g),void 0!==I&&""!==I&&this.doFeed(I),this.dispatchEvent("reset",{cols:A,rows:g})}initializeVt(A,g){this.vt=this.wasm.create(A,g),this.vt.cols=A,this.vt.rows=g,this.changedLines.clear();for(let A=0;Athis.vt.feed(A)));const g=this.vt.get_cursor()??!1,I=[];for(let A=0;A!0,deleteProperty:()=>!0,ownKeys:function(A){return WA(A),Reflect.ownKeys(A)},getOwnPropertyDescriptor:function(A,g){const B=Reflect.getOwnPropertyDescriptor(A,g);return B&&!B.get&&B.configurable&&g!==I&&g!==HA&&g!==bA?(delete B.value,delete B.writable,B.get=()=>A[I][g],B):B}};function XA(A,g,I,B=!1){if(!B&&A[g]===I)return;const Q=A[g],C=A.length;void 0===I?delete A[g]:A[g]=I;let E,i=jA(A);(E=xA(i,g,Q))&&E.$((()=>I)),Array.isArray(A)&&A.length!==C&&(E=xA(i,"length",C))&&E.$(A.length),(E=i._)&&E.$()}function OA(A,g){const I=Object.keys(g);for(let B=0;B1){B=g.shift();const C=typeof B,E=Array.isArray(A);if(Array.isArray(B)){for(let Q=0;Q1)return void VA(A[B],g,[B].concat(I));Q=A[B],I=[B].concat(I)}let C=g[0];"function"==typeof C&&(C=C(Q,I),C===Q)||void 0===B&&null==C||(C=mA(C),void 0===B||vA(Q)&&vA(C)&&!Array.isArray(C)?OA(Q,C):XA(A,B,C))}function zA(...[A,g]){const I=mA(A||{}),B=Array.isArray(I);return[qA(I),function(...A){J((()=>{B&&1===A.length?function(A,g){if("function"==typeof g&&(g=g(A)),g=mA(g),Array.isArray(g)){if(A===g)return;let I=0,B=g.length;for(;I=E&&e>=E&&(C[i]===A[e]||Q&&C[E]&&A[E]&&C[i][Q]===A[e][Q]);i--,e--)n[e]=C[i];if(E>e||E>i){for(I=E;I<=e;I++)XA(C,I,A[I]);for(;IA.length&&XA(C,"length",A.length))}for(o=new Array(e+1),I=e;I>=E;I--)t=A[I],s=Q&&t?t[Q]:t,g=r.get(s),o[I]=void 0===g?-1:g,r.set(s,I);for(g=E;g<=i;g++)t=C[g],s=Q&&t?t[Q]:t,I=r.get(s),void 0!==I&&-1!==I&&(n[I]=C[g],I=o[I],r.set(s,I));for(I=E;IA.length&&XA(C,"length",A.length))}const E=Object.keys(A);for(let g=0,I=E.length;g{if(!vA(A)||!vA(Q))return Q;const g=_A(Q,{[PA]:A},PA,I,B);return void 0===g?A:g}}const Ag=X("");var gg=A=>(()=>{const g=Ag.cloneNode(!0);return $(g,(()=>A.text)),w((I=>{const B=function(A,g){const I=A.get("inverse")?A.has("bg")?A.get("bg"):"bg":A.get("fg"),B=A.get("inverse")?A.has("fg")?A.get("fg"):"fg":A.get("bg"),Q=Ig(I,A.get("bold"),"fg-"),C=Ig(B,A.get("blink"),"bg-");let E=g??"";Q&&(E+=" "+Q);C&&(E+=" "+C);A.has("bold")&&(E+=" bright");A.has("faint")&&(E+=" faint");A.has("italic")&&(E+=" italic");A.has("underline")&&(E+=" underline");A.has("blink")&&(E+=" blink");return E}(A.attrs,A.extraClass),Q=function(A){const g=A.get("inverse")?A.get("bg"):A.get("fg"),I=A.get("inverse")?A.get("fg"):A.get("bg");let B={};"string"==typeof g&&(B.color=g);"string"==typeof I&&(B["background-color"]=I);return B}(A.attrs);return B!==I._v$&&V(g,I._v$=B),I._v$2=P(g,Q,I._v$2),I}),{_v$:void 0,_v$2:void 0}),g})();function Ig(A,g,I){return"number"==typeof A?(g&&A<8&&(A+=8),`${I}${A}`):"fg"==A||"bg"==A?`${I}${A}`:void 0}const Bg=X('');var Qg=A=>(()=>{const g=Bg.cloneNode(!0);return $(g,v(j,{get each(){return(()=>{if("number"==typeof A.cursor){const g=[];let I=0,B=0;for(;B0&&g.push([Q[0].substring(0,i),Q[1]]),g.push([Q[0][i],C," cursor-a"]),g.push([Q[0][i],E," cursor-b"]),iv(gg,{get text(){return A()[0]},get attrs(){return A()[1]},get extraClass(){return A()[2]}})})),w((()=>g.style.setProperty("height",A.height))),g})();const Cg=X('
');var Eg=A=>{const g=()=>A.lineHeight??1.3333333333,I=l((()=>({width:`${A.cols}ch`,height:g()*A.rows+"em","font-size":100*(A.scale||1)+"%","font-family":A.fontFamily,"line-height":`${g()}em`})));return(()=>{const B=Cg.cloneNode(!0),Q=A.ref;return"function"==typeof Q?_(Q,B):A.ref=B,$(B,v(m,{get each(){return A.lines},children:(I,B)=>v(Qg,{get segments(){return I.segments},get cursor(){return l((()=>B()===A.cursor?.[1]))()?A.cursor?.[0]:null},get height(){return`${g()}em`}})})),w((g=>{const Q=!(!A.blink&&!A.cursorHold),C=!!A.blink,E=I();return Q!==g._v$&&B.classList.toggle("cursor",g._v$=Q),C!==g._v$2&&B.classList.toggle("blink",g._v$2=C),g._v$3=P(B,E,g._v$3),g}),{_v$:void 0,_v$2:void 0,_v$3:void 0}),B})()};const ig=X(''),eg=X(''),tg=X(''),og=X(''),sg=X('
');function ng(A){A=Math.floor(A);const g=Math.floor(A/60),I=A%60;let B="";return g<10&&(B+="0"),B+=`${g}:`,I<10&&(B+="0"),B+=`${I}`,B}var rg=A=>{const g=A=>g=>{g.preventDefault(),A(g)},I=()=>"number"==typeof A.currentTime?ng(A.currentTime):"--:--",B=()=>"number"==typeof A.remainingTime?"-"+ng(A.remainingTime):I(),Q=g=>{if(g.altKey||g.shiftKey||g.metaKey||g.ctrlKey)return;const I=g.currentTarget.offsetWidth,B=g.currentTarget.getBoundingClientRect(),Q=(g.clientX-B.left)/I;return A.onSeekClick(100*Q+"%")};return(()=>{const C=sg.cloneNode(!0),E=C.firstChild,i=E.firstChild,e=i.nextSibling,t=E.nextSibling,o=A.ref;return"function"==typeof o?_(o,C):A.ref=C,$(C,v(x,{get when(){return A.isPausable},get children(){const I=tg.cloneNode(!0);return z(I,"click",g(A.onPlayClick),!0),$(I,v(W,{get children(){return[v(T,{get when(){return A.isPlaying},get children(){return ig.cloneNode(!0)}}),v(T,{get when(){return!A.isPlaying},get children(){return eg.cloneNode(!0)}})]}})),I}}),E),$(i,I),$(e,B),z(t,"click",g(A.onFullscreenClick),!0),$(C,v(x,{get when(){return"number"==typeof A.progress||A.isSeekable},get children(){const g=og.cloneNode(!0),I=g.firstChild,B=I.firstChild.firstChild;return I.$$mousedown=Q,w((g=>P(B,{width:"100%",transform:`scaleX(${A.progress||0}`,"transform-origin":"left center"},g))),g}}),null),w((()=>C.classList.toggle("seekable",!!A.isSeekable))),C})()};O(["click","mousedown"]);const ag=X('
');var cg=A=>{const g=["▓","▒","░","▒"];let I,B=1,Q="";for(let g=0;g{I=setInterval((()=>{t("lines",0,{segments:[C,[g[B%g.length],E]]}),B++}),250)})),N((()=>{clearInterval(I)})),(()=>{const g=ag.cloneNode(!0);return $(g,v(Eg,{get cols(){return A.cols},get rows(){return A.rows},get scale(){return A.scale},get lines(){return e.lines},get fontFamily(){return A.terminalFontFamily},get lineHeight(){return A.terminalLineHeight}})),g})()};const Dg=X('
');var wg=A=>(()=>{const g=Dg.cloneNode(!0);var I;return z(g,"click",(I=A.onClick,A=>{A.preventDefault(),I(A)}),!0),g})();O(["click"]);const hg=X('
');var lg=A=>{const g=A.logger,I=A.core,B=A.autoPlay,[Q,C]=zA({coreState:"initial",cols:A.cols,rows:A.rows,lines:[],cursor:void 0,charW:null,charH:null,bordersW:null,bordersH:null,controlBarH:null,containerW:null,containerH:null,showControls:!1,showStartOverlay:!B,isPausable:!0,isSeekable:!0,isFullscreen:!1,currentTime:null,remainingTime:null,progress:null,blink:!0,cursorHold:!1}),E=()=>Q.cols||80,i=()=>Q.rows||24;let e,t,o,s,n,r,a,c,D;I.addEventListener("starting",(()=>{C("showStartOverlay",!1)})),I.addEventListener("loading",(()=>{C("coreState","loading")})),I.addEventListener("reset",(A=>{let{cols:g,rows:I}=A;I{C({coreState:"playing",showStartOverlay:!1})})),I.addEventListener("pause",(()=>{C("coreState","paused")})),I.addEventListener("seeked",(()=>{S()})),I.addEventListener("ended",(()=>{C("coreState","paused")})),I.addEventListener("terminalUpdate",(()=>{void 0===e&&(e=requestAnimationFrame(k))}));const y=()=>{D=new ResizeObserver(function(A,g){let I;return function(){for(var B=arguments.length,Q=new Array(B),C=0;CA.apply(this,Q)),g)}}((A=>{C({containerW:n.offsetWidth,containerH:n.offsetHeight}),n.dispatchEvent(new CustomEvent("resize",{detail:{el:r}}))}),10)),D.observe(n)};G((async()=>{g.info("player mounted"),C({charW:a.clientWidth/E(),charH:a.clientHeight/i(),bordersW:a.offsetWidth-a.clientWidth,bordersH:a.offsetHeight-a.clientHeight,controlBarH:c.offsetHeight,containerW:n.offsetWidth,containerH:n.offsetHeight}),y();const{isPausable:A,isSeekable:Q,poster:e}=await I.init();C({isPausable:A,isSeekable:Q}),void 0===e||B||C({lines:e.lines,cursor:e.cursor}),B&&I.play()})),N((()=>{I.stop(),p(),f(),D.disconnect()})),h((()=>{const A=Q.coreState;"playing"===A?(L(),J()):"initial"!==A&&(p(),f(),S())}));const k=()=>{const A=I.getChangedLines();A&&A.forEach(((A,g)=>{C("lines",g,$A(A))})),C("cursor",$A(I.getCursor())),C("cursorHold",!0),e=void 0},F=l((()=>{if(!Q.charW)return;g.debug(`containerW = ${Q.containerW}`);const I=Q.charW*E()+Q.bordersW,B=Q.charH*i()+Q.bordersH;let C=A.fit??"width";if("both"===C||Q.isFullscreen){C=Q.containerW/(Q.containerH-Q.controlBarH)>I/B?"height":"width"}if(!1===C||"none"===C)return{};if("width"===C){const A=Q.containerW/I;return{scale:A,width:Q.containerW,height:B*A+Q.controlBarH}}if("height"===C){const A=(Q.containerH-Q.controlBarH)/B;return{scale:A,width:I*A,height:Q.containerH}}throw`unsupported fit mode: ${C}`})),R=()=>{C("isFullscreen",document.fullscreenElement??document.webkitFullscreenElement)},M=()=>{Q.isFullscreen?(document.exitFullscreen??document.webkitExitFullscreen??(()=>{})).apply(document):(n.requestFullscreen??n.webkitRequestFullscreen??(()=>{})).apply(n)},u=A=>{if(!(A.altKey||A.metaKey||A.ctrlKey))if(A.shiftKey){if("ArrowLeft"==A.key)I.seek("<<<");else{if("ArrowRight"!=A.key)return;I.seek(">>>")}A.preventDefault()}else{if(" "==A.key)I.pauseOrResume();else if("."==A.key)I.step(),S();else if("f"==A.key)M();else if("ArrowLeft"==A.key)I.seek("<<");else if("ArrowRight"==A.key)I.seek(">>");else{if(!(A.key.charCodeAt(0)>=48&&A.key.charCodeAt(0)<=57))return;{const g=(A.key.charCodeAt(0)-48)/10;I.seek(100*g+"%")}}A.preventDefault()}},d=()=>{Q.isFullscreen&&U(!0)},Y=()=>{Q.isFullscreen||U(!1)},J=()=>{o=setInterval(S,100)},f=()=>{clearInterval(o)},S=()=>{const A=I.getCurrentTime(),g=I.getRemainingTime(),B=I.getProgress();C({currentTime:A,remainingTime:g,progress:B})},L=()=>{s=setInterval((()=>{C((A=>{const g={blink:!A.blink};return g.blink&&(g.cursorHold=!1),g}))}),500)},p=()=>{clearInterval(s),C("blink",!0)},U=A=>{clearTimeout(t),A&&(t=setTimeout((()=>U(!1)),2e3)),C("showControls",A)},K=()=>F()?.scale,H=(()=>{const g=hg.cloneNode(!0),B=g.firstChild;"function"==typeof n?_(n,g):n=g,g.addEventListener("webkitfullscreenchange",R),g.addEventListener("fullscreenchange",R),g.$$mousemove=d,g.$$keydown=u,g.addEventListener("keypress",u);return"function"==typeof r?_(r,B):r=B,B.$$mousemove=()=>U(!0),B.addEventListener("mouseleave",Y),$(B,v(Eg,{get cols(){return E()},get rows(){return i()},get scale(){return K()},get blink(){return Q.blink},get lines(){return Q.lines},get cursor(){return Q.cursor},get cursorHold(){return Q.cursorHold},get fontFamily(){return A.terminalFontFamily},get lineHeight(){return A.terminalLineHeight},ref(A){"function"==typeof a?a(A):a=A}}),null),$(B,v(rg,{get currentTime(){return Q.currentTime},get remainingTime(){return Q.remainingTime},get progress(){return Q.progress},get isPlaying(){return"playing"==Q.coreState},get isPausable(){return Q.isPausable},get isSeekable(){return Q.isSeekable},onPlayClick:()=>I.pauseOrResume(),onFullscreenClick:M,onSeekClick:A=>I.seek(A),ref(A){"function"==typeof c?c(A):c=A}}),null),$(B,v(W,{get children(){return[v(T,{get when(){return Q.showStartOverlay},get children(){return v(wg,{onClick:()=>I.play()})}}),v(T,{get when(){return"loading"==Q.coreState},get children(){return v(cg,{get cols(){return E()},get rows(){return i()},get scale(){return K()},get terminalFontFamily(){return A.terminalFontFamily},get terminalLineHeight(){return A.terminalLineHeight}})}})]}}),null),w((I=>{const C=!!Q.showControls,E=`asciinema-player asciinema-theme-${A.theme??"asciinema"}`,i=(()=>{const g={};!1!==A.fit&&"none"!==A.fit||void 0===A.terminalFontSize||("small"===A.terminalFontSize?g["font-size"]="12px":"medium"===A.terminalFontSize?g["font-size"]="18px":"big"===A.terminalFontSize?g["font-size"]="24px":g["font-size"]=A.terminalFontSize);const I=F();return void 0===I?(g.height=0,g):(void 0!==I.width&&(g.width=`${I.width}px`,g.height=`${I.height}px`),g)})();return C!==I._v$&&g.classList.toggle("hud",I._v$=C),E!==I._v$2&&V(B,I._v$2=E),I._v$3=P(B,i,I._v$3),I}),{_v$:void 0,_v$2:void 0,_v$3:void 0}),g})();return H};O(["keydown","mousemove"]);class yg{log(){}debug(){}info(){}warn(){}error(){}}class Gg{constructor(A,g){this.input="function"==typeof A.next?A:A[Symbol.iterator](),this.xfs=g??[]}map(A){return this.transform(function(A){return g=>I=>{g(A(I))}}(A))}flatMap(A){return this.transform(function(A){return g=>I=>{A(I).forEach(g)}}(A))}filter(A){return this.transform(function(A){return g=>I=>{A(I)&&g(I)}}(A))}take(A){return this.transform(function(A){let g=0;return I=>B=>{gB=>{g+=1,g>A&&I(B)}}(A))}transform(A){return new Gg(this.input,this.xfs.concat([A]))}toArray(){return Array.from(this)}[Symbol.iterator](){let A=0,g=[],I=!1;const B=(Q=this.xfs,C=A=>g.push(A),Q.reverse().reduce(((A,g)=>{const I=Ng(g(A.step));return{step:I.step,flush:()=>{I.flush(),A.flush()}}}),Ng(C)));var Q,C;return{next:()=>{for(A===g.length&&(g=[],A=0);0===g.length;){const A=this.input.next();if(A.done)break;B.step(A.value)}return 0!==g.length||I||(B.flush(),I=!0),g.length>0?{done:!1,value:g[A++]}:{done:!0}}}}}function Ng(A){return"function"==typeof A?{step:A,flush:()=>{}}:A}function kg(A,g,I){let B,Q,C,E,i,e,t,o,{feed:s,now:n,setTimeout:r,onFinish:a,logger:c}=g,{idleTimeLimit:D,startAt:w,loop:h}=I,l=0,y=0,G=0;async function N(){if(C)return;const g=A.parser(await async function(A){let{url:g,data:I,fetchOpts:B={}}=A;if(void 0!==g){const A=await fetch(g,B);if(!A.ok)throw`failed fetching recording file: ${A.statusText} (${A.status})`;return await A.text()}if(void 0!==I)return"function"==typeof I&&(I=I()),await I;throw"failed fetching recording file: url/data missing in src"}(A));B=g.cols,Q=g.rows,D=D??g.idleTimeLimit;const I=function(A,g){let I=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1/0,B=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,Q=0,C=0,E=B;A instanceof Gg||(A=new Gg(A));const i=Array.from(function(A,g){const I=1/60;let B;return A.transform((A=>{let Q=0,C=0;return{step:g=>{Q++,void 0!==B?g[0]-B[0]{void 0!==B&&(A(B),C++),g.debug(`batched ${Q} frames to ${C} frames`)}}}))}(A,g).map((A=>{const g=A[0]-Q-I;return Q=A[0],g>0&&(C+=g,A[0]1e3*g[0]);k()}function R(){clearTimeout(e),e=null,o=n()-t}function M(){t=n()-o,o=null,k()}function u(A){const g=!!e;if(g&&R(),"string"==typeof A){const g=(o??0)/1e3;"<<"===A?A=g-5:">>"===A?A=g+5:"<<<"===A?A=g-.1*E:">>>"===A?A=g+.1*E:"%"===A[A.length-1]&&(A=parseFloat(A.substring(0,A.length-1))/100*E)}const I=1e3*Math.min(Math.max(A,0),E);I(await N(),{cols:B,rows:Q,duration:E}),start:async()=>{u(i),M()},stop:()=>{clearTimeout(e)},restart:()=>!e&&(u(0),M(),!0),pauseOrResume:()=>e?(R(),!1):(M(),!0),seek:u,step:function(){let A=C[l];void 0!==A?(s(A[1]),y=1e3*A[0],o=y,l++):(o=1e3*E,a())},getPoster:A=>function(A){const g=1e3*A,I=[];let B=0,Q=C[0];for(;Q&&1e3*Q[0]e?(n()-t)/1e3:(o??0)/1e3}}function Fg(A,g,I){let{kind:B}=A;return"random"==B?function(A){let{feed:g,setTimeout:I}=A;const B=" ".charCodeAt(0),Q="~".charCodeAt(0)-B;let C;const E=()=>{const A=Math.pow(5,4*Math.random());C=I(i,A)},i=()=>{E();const A=String.fromCharCode(B+Math.floor(Math.random()*Q));g(A)};return()=>(E(),()=>clearInterval(C))}(g):"clock"==B?function(A,g){let{feed:I}=A,{cols:B=5,rows:Q=1}=g;const C=Math.floor(Q/2),E=Math.floor(B/2)-2;let i;return{cols:B,rows:Q,duration:1440,start:()=>{setTimeout((()=>{I(`[?25l[${C}B`)}),0),i=setInterval((()=>{const A=new Date,g=A.getHours(),B=A.getMinutes();I("\r");for(let A=0;A{clearInterval(i)},getCurrentTime:()=>{const A=new Date;return 60*A.getHours()+A.getMinutes()}}}(g,I):void 0}class Rg{constructor(){this.items=[],this.onPush=void 0}push(A){this.items.push(A),void 0!==this.onPush&&(this.onPush(this.popAll()),this.onPush=void 0)}popAll(){if(this.items.length>0){const A=this.items;return this.items=[],A}{const A=this;return new Promise((g=>{A.onPush=g}))}}}function Mg(A,g){return g>0?function(A,g){const I=new Rg,B=1e3/60;let Q,C,E=!1,i=-B;return setTimeout((async()=>{for(;!E;){const e=await I.popAll();if(E)return;for(const I of e){const e=1e3*(I[0]-C+g);if(e-it&&(await dg(e-t),E))return;A(I[2]),i=e}}}),0),{pushEvent(A){void 0===Q&&(Q=ug(),C=A[0]),"o"==A[1]&&I.push(A)},pushText(A){void 0===Q&&(Q=ug(),C=0);const g=(ug()-Q)/1e3;I.push([g,"o",A])},stop(){E=!0,I.push(void 0)}}}(A,g):function(A){return{pushEvent(g){"o"===g[1]&&A(g[2])},pushText(g){A(g)},stop(){}}}(A)}function ug(){return(new Date).getTime()}function dg(A){return new Promise((g=>{setTimeout(g,A)}))}function Yg(A){return Math.min(500*Math.pow(2,A),5e3)}function Jg(A,g){let{url:I,bufferTime:B=0,reconnectDelay:Q=Yg}=A,{feed:C,reset:E,setLoading:i,onFinish:e,logger:t}=g;const o=new TextDecoder;let s,n,r,a,c=0,D=!1;function w(){void 0!==n&&n.stop(),n=Mg(C,B)}function h(){s=new WebSocket(I),s.binaryType="arraybuffer",s.onopen=()=>{t.info("websocket: opened"),i(!1),w(),a=setTimeout((()=>{c=0}),1e3)},s.onmessage=A=>{if("string"==typeof A.data){const g=JSON.parse(A.data);if(Array.isArray(g))n.pushEvent(g),void 0!==r&&r.setTime(g[0]);else if(void 0!==g.cols||void 0!==g.width){const A=g.cols??g.width,I=g.rows??g.height;t.debug(`websocket: vt reset (${A}x${I})`),w(),E(A,I,g.init??void 0),r=new LA,"number"==typeof g.time&&r.setTime(g.time)}else"offline"===g.state&&(t.info("websocket: stream offline"),r=void 0)}else n.pushText(o.decode(A.data))},s.onclose=A=>{if(D||1e3===A.code||1005===A.code)t.info("websocket: closed"),e();else{clearTimeout(a);const A=Q(c++);t.info(`websocket: unclean close, reconnecting in ${A}...`),i(!0),setTimeout(h,A)}}}return{start:()=>{h()},stop:()=>{D=!0,void 0!==n&&n.stop(),void 0!==s&&s.close()},getCurrentTime:()=>void 0===r?void 0:r.getTime()}}function fg(A,g){let I,B,Q,{url:C,bufferTime:E=0}=A,{feed:i,reset:e,setLoading:t,onFinish:o,logger:s}=g;function n(){void 0!==B&&B.stop(),B=Mg(i,E)}return{start:()=>{I=new EventSource(C),I.addEventListener("open",(()=>{s.info("eventsource: opened"),t(!1),n()})),I.addEventListener("error",(A=>{s.info("eventsource: errored"),s.debug({e:A}),t(!0)})),I.addEventListener("message",(A=>{const g=JSON.parse(A.data);if(Array.isArray(g))B.pushEvent(g),void 0!==Q&&Q.setTime(g[0]);else if(void 0!==g.cols||void 0!==g.width){const A=g.cols??g.width,I=g.rows??g.height;s.debug(`eventsource: vt reset (${A}x${I})`),n(),e(A,I,g.init??void 0),Q=new LA,"number"==typeof g.time&&Q.setTime(g.time)}else"offline"===g.state&&(s.info("eventsource: stream offline"),Q=void 0)})),I.addEventListener("done",(()=>{s.info("eventsource: closed"),I.close(),o()}))},stop:()=>{void 0!==B&&B.stop(),void 0!==I&&I.close()},getCurrentTime:()=>void 0===Q?void 0:Q.getTime()}}function Sg(A){let g,I=new Gg([]);if("string"==typeof A){const B=function(A){const g=A.split("\n");let I;try{I=JSON.parse(g[0])}catch(A){return}const B=new Gg(g).drop(1).filter((A=>"["===A[0])).map((A=>JSON.parse(A)));return{header:I,events:B}}(A);void 0!==B?(g=B.header,I=B.events):g=JSON.parse(A)}else if("object"==typeof A&&"number"==typeof A.version)g=A;else{if(!Array.isArray(A))throw"invalid data";g=A[0],I=new Gg(A).drop(1)}if(1===g.version)return function(A){let g=0;const I=new Gg(A.stdout).map((A=>(g+=A[0],[g,A[1]])));return{cols:A.width,rows:A.height,frames:I}}(g);if(2===g.version)return function(A,g){const I=g.filter((A=>"o"===A[1])).map((A=>[A[0],A[2]]));return{cols:A.width,rows:A.height,idleTimeLimit:A.idle_time_limit,frames:I}}(g,I);throw`asciicast v${g.version} format not supported`}return A.create=function(A,g){let I=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const B=I.logger??new yg,Q=new UA(function(A){if("function"==typeof A)return A;"string"==typeof A&&(A="ws://"==A.substring(0,5)||"wss://"==A.substring(0,6)?{driver:"websocket",url:A}:"test://"==A.substring(0,7)?{driver:"test",kind:A.substring(7)}:{driver:"recording",url:A});void 0===A.driver&&(A.driver="recording");"recording"==A.driver&&void 0===A.parser&&(A.parser=Sg);const g=new Map([["recording",kg],["websocket",Jg],["eventsource",fg],["test",Fg]]);if(g.has(A.driver)){const I=g.get(A.driver);return(g,B)=>I(A,g,B)}throw`unsupported driver: ${JSON.stringify(A)}`}(A),{logger:B,cols:I.cols,rows:I.rows,loop:I.loop,speed:I.speed,preload:I.preload,startAt:I.startAt,poster:I.poster,idleTimeLimit:I.idleTimeLimit}),C={logger:B,core:Q,cols:I.cols,rows:I.rows,fit:I.fit,autoPlay:I.autoPlay??I.autoplay,terminalFontSize:I.terminalFontSize,terminalFontFamily:I.terminalFontFamily,terminalLineHeight:I.terminalLineHeight,theme:I.theme};let E;const i=function(A,g,I,B={}){let Q;return c((B=>{Q=B,g===document?A():$(g,A(),g.firstChild?null:void 0,I)}),B.owner),()=>{Q(),g.textContent=""}}((()=>(E=v(lg,C),E)),g),e={el:E,dispose:i,getCurrentTime:()=>Q.getCurrentTime(),getDuration:()=>Q.getDuration(),play:()=>Q.play(),pause:()=>Q.pause(),seek:A=>Q.seek(A),addEventListener:(A,g)=>Q.addEventListener(A,g.bind(e))};return e},A}({}); diff --git a/gr/assets/extra.css b/gr/assets/extra.css new file mode 100644 index 00000000..4dfa0acb --- /dev/null +++ b/gr/assets/extra.css @@ -0,0 +1,55 @@ +/* Increase H1 size */ +h1 { + font-size: 36px; +} + +/* Increases default font size */ +p { + font-size: 18px !important; +} + +/* Increases content width */ +.wy-nav-content { + max-width: 71% !important; +} + +/* Makes long text in a table wrap around */ +.wy-table-responsive table td { + white-space: normal !important; +} + +/* Increases font size on tables to a readable size */ +.rst-content table.docutils td, .rst-content table.docutils th { + font-size: 100% !important; +} + +/* Code block font is too small by default */ +code { + font-size: 14px !important; +} + +/* #region Asciinema Overrides */ + +/* Custom font to match Windows Terminal's default */ +@font-face { + font-family: "Cascadia Mono"; + src: local(CascadiaMono), + url("external/CascadiaMono.ttf") format("truetype"); + font-stretch: normal; + font-style: normal; + font-weight: 700; +} + +@font-face { + font-family: "Cascadia Mono"; + src: local(CascadiaMono), + url("external/CascadiaMono.ttf") format("truetype"); + font-stretch: normal; +} + +/* Makes the color for Spectre.Console's progress bar more closely match the other yellows */ +.fg-11 { + color: rgb(249,241,165) !important; +} + +/* #endregion */ \ No newline at end of file diff --git a/gr/assets/extra.js b/gr/assets/extra.js new file mode 100644 index 00000000..94c93af3 --- /dev/null +++ b/gr/assets/extra.js @@ -0,0 +1,54 @@ +/* + Example Usage: +
+ + Defaults: + data-cli-rows - 14 +*/ +(function () +{ + // Asciinema will throw a null exception when being loaded from the browser's cache. Appears to be related to how quickly the .js library is loaded locally, + // versus there being a longer delay when loading over the network. + // Scheduling initPlayers() with setTimeout() adds just enough delay to fix the issue. + window.addEventListener('load', function () { setTimeout(initPlayers, 0) }, false); + + // Default settings used by all Asciinema players + const asciinemaOpts = { + terminalFontSize: "15px", + fit: 'none', + terminalFontFamily: "'Cascadia Mono', monospace", + cols: 120 + }; + + const defaultObserverOpts = { + threshold: .5 + }; + + function initPlayers() + { + let playerElements = document.querySelectorAll('[data-cli-player]'); + playerElements.forEach((playerElement) => + { + // Collect needed properties from the player's DOM element attributes + var asciiOpts = { ...asciinemaOpts }; + let castFileSource = playerElement.getAttribute('data-cli-player'); + asciiOpts.rows = playerElement.getAttribute('data-rows') ?? 14; + + let player = AsciinemaPlayer.create(castFileSource, playerElement, asciiOpts); + + // Use IntersectionObserver to trigger the player only when the user scrolls scrolled into the viewport + let observer = new IntersectionObserver((entries) => + { + if (entries[0].isIntersecting) + { + console.log("triggered"); + player.play(); + // Removing the observer so that the player doesn't restart if the user scrolls up/down + observer.unobserve(playerElement); + } + }, defaultObserverOpts); + + observer.observe(playerElement); + }); + }; +})(); diff --git a/gr/assets/flags/en.svg b/gr/assets/flags/en.svg new file mode 100644 index 00000000..dbac25ea --- /dev/null +++ b/gr/assets/flags/en.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/gr/assets/flags/gr.svg b/gr/assets/flags/gr.svg new file mode 100644 index 00000000..599741ee --- /dev/null +++ b/gr/assets/flags/gr.svg @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/gr/assets/language-picker.css b/gr/assets/language-picker.css new file mode 100644 index 00000000..d40f213a --- /dev/null +++ b/gr/assets/language-picker.css @@ -0,0 +1,43 @@ +.dropdown-container { + position: relative; + display: inline-block; +} + +.dropdown-container:hover .dropdown-content { + display: block; +} + +/* Change the background color of the dropdown button when the dropdown content is shown */ +.dropdown-container:hover { + fill: #808080; +} + +.dropdown-container button { + background-color: inherit; + border: none; +} + +/* Dropdown Content (Hidden by Default) */ +.dropdown-content { + display: none; + position: absolute; + background-color: #f1f1f1; + min-width: 160px; + box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2); + z-index: 1; +} + +/* Links inside the dropdown */ +.dropdown-content a { + color: black; + padding: 10px 16px !important; + display: block !important; +} + +.dropdown-content a:hover { + background-color: #ddd; +} + +.flagIcon { + height: 20px !important; +} \ No newline at end of file diff --git a/gr/detailed-command-usage/Clear-Cache/index.html b/gr/detailed-command-usage/Clear-Cache/index.html new file mode 100644 index 00000000..ed5a94d3 --- /dev/null +++ b/gr/detailed-command-usage/Clear-Cache/index.html @@ -0,0 +1,204 @@ + + + + + + + + clear-cache - battlenet-lancache-prefill wiki + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+ +
+
+ +
+
+ +

clear-cache

+
+


+

Overview

+

Deletes temporary cached manifests stored in the /Cache directory.
+These files are cached in order to dramatically speed up future prefill runs (in some cases 3X faster).
+For most users it isn't necessary to use this command, however it may be useful to free up some disk space if you are running low on storage.

+

These cached manifests will also build up over time, as newer versions of games are released, leaving unused manifests behind that will never be used again.

+

Options

+ + + + + + + + + + + + + + + +
Option
--yes-ySkips the prompt asking to clear the cache, and immediately begins clearing the cache.
+ +
+
+ + +
+
+ +
+ +
+ +
+ + + + GitHub + + + + « Previous + + + Next » + + +
+ + + + + + + + + diff --git a/gr/detailed-command-usage/Prefill/index.html b/gr/detailed-command-usage/Prefill/index.html new file mode 100644 index 00000000..04bc4eb8 --- /dev/null +++ b/gr/detailed-command-usage/Prefill/index.html @@ -0,0 +1,263 @@ + + + + + + + + prefill - battlenet-lancache-prefill wiki + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+ +
+
+ +
+
+ +

prefill

+ + +
+


+

Overview

+

Automatically fills a Lancache with games from BattleNet so that subsequent downloads will be served from the Lancache, improving speeds and reducing load on your internet connection.

+

Keeps track of which games have been previously downloaded, and will only download games that have updates.

+
+

Example usage

+
+

Note

+

This command will automatically include any apps that have been selected using select-apps, regardless of any additional optional flags specified.

+
+

Initiating a prefill run is as simple as running the following from the terminal:

+
./BattleNetPrefill prefill
+
+

At the beginning of a prefill run, BattleNetPrefill will check to see which apps have new updates since the last prefill run, as well as checking to see if any apps have never been successfully prefilled. If prefill detects that there are any apps that need to be downloaded, it will begin doing so. If there are no apps that need to be downloaded, then the prefill run will simply finish immediately.

+

Prefilling your entire BattleNet library

+

Depending on the size of your library, and which apps you want to prefill, it may be easier to simply prefill the entire library instead. This will also automatically include any new games you may have purchased, without having to use select-apps to select the newly purchased game.

+
./BattleNetPrefill prefill --all
+
+

Ensuring your cache is fully primed

+

Suppose that you have an event coming up, and you want to be 100% certain that your Lancache is prefilled. Normally running prefill will ensure that you have the latest update data primed, however you may want to have complete certainty that it is. Adding the --force flag will make BattleNetPrefill re-download every app, ignoring the fact that they may have already been up to date from a previous run. Because BattleNetPrefill will be re-downloading every app again from start to finish, any data that may be missing will be filled in again.

+
./BattleNetPrefill prefill --force
+
+
+

Options

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
OptionValuesDefault
--allDownloads all owned apps, useful for prefilling a completely empty cache.
--force-fBy default, BattleNetPrefill will keep track of the most recently prefilled apps, and will only attempt to prefill if there it determines there a newer version available for download. This default behavior will work best for most use cases, as no time will be wasted re-downloading files that have been previously prefilled.

Running with the flag --force will override this behavior, and instead will always run the prefill, re-downloading all files for the selected apps. This flag may be useful for diagnostics, or benchmarking network performance.
--verboseProduces more detailed log output. By default, games that are already up to date will not be displayed at all. Specifying this option will make it so that all games, even ones up to date, will be logged.
--unitbits, bytesbitsSpecifies which unit to use to display download speed.
--no-ansiApplication output will be in plain text, rather than using the visually appealing colors and progress bars. Should only be used if terminal does not support Ansi Escape sequences, or when redirecting output to a file.
+ +
+
+ + +
+
+ +
+ +
+ +
+ + + + GitHub + + + + « Previous + + + Next » + + +
+ + + + + + + + + diff --git a/gr/detailed-command-usage/Select-Apps/index.html b/gr/detailed-command-usage/Select-Apps/index.html new file mode 100644 index 00000000..34c373da --- /dev/null +++ b/gr/detailed-command-usage/Select-Apps/index.html @@ -0,0 +1,180 @@ + + + + + + + + select-apps - battlenet-lancache-prefill wiki + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+ +
+
+ +
+
+ +

select-apps

+ + +
+


+ +
+
+ + +
+
+ +
+ +
+ +
+ + + + GitHub + + + + « Previous + + + Next » + + +
+ + + + + + + + + diff --git a/gr/detailed-command-usage/casts/clear-cache.cast b/gr/detailed-command-usage/casts/clear-cache.cast new file mode 100644 index 00000000..1e4b8d1e --- /dev/null +++ b/gr/detailed-command-usage/casts/clear-cache.cast @@ -0,0 +1,10 @@ +{"version": 2, "width": 120, "height": 30, "timestamp": 1680890897, "env": {"SHELL": "/bin/bash", "TERM": "xterm-256color"}} +[0.070479, "o", "\u001b[?1h\u001b="] +[0.070977, "o", "\u001b[39;49m"] +[0.097002, "o", "\u001b[?25l"] +[0.124736, "o", " \r\n\u001b[38;5;2m⣾\u001b[0m Scanning \u001b[38;5;80mCache\u001b[0m directory...\r\n "] +[0.124955, "o", "\r\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K"] +[0.125015, "o", "\u001b[?25h"] +[0.125779, "o", "[6:08:17 PM] Found \u001b[38;5;229m142\u001b[0m cached files, totaling \u001b[38;5;170m26.49 MiB\u001b[0m\r\n"] +[0.137423, "o", "\u001b[?25lContinue to empty cache?\r\n \r\n\u001b[38;5;12m> Yes\u001b[0m \r\n No "] +[0.13761, "o", "\r\u001b[3AContinue to empty cache?\r\n \r\n\u001b[38;5;12m> Yes\u001b[0m \r\n No "] diff --git a/gr/detailed-command-usage/casts/prefill.cast b/gr/detailed-command-usage/casts/prefill.cast new file mode 100644 index 00000000..2000d9f8 --- /dev/null +++ b/gr/detailed-command-usage/casts/prefill.cast @@ -0,0 +1,222 @@ +{"version": 2, "width": 120, "height": 30, "timestamp": 1680891644, "env": {"SHELL": "/bin/bash", "TERM": "xterm-256color"}} +[0.076498, "o", "\u001b[?1h\u001b="] +[0.077032, "o", "\u001b[39;49m"] +[0.214041, "o", "[6:20:44 PM] Starting login!\r\n"] +[0.320093, "o", "\u001b[?25l"] +[0.43462, "o", " \r\n\u001b[38;5;2m⣾\u001b[0m Connecting to Steam...\r\n "] +[0.535604, "o", "\r\u001b[2A \r\n\u001b[38;5;2m⣽\u001b[0m Connecting to Steam...\r\n "] +[0.635894, "o", "\r\u001b[2A \r\n\u001b[38;5;2m⣻\u001b[0m Connecting to Steam...\r\n "] +[0.736245, "o", "\r\u001b[2A \r\n\u001b[38;5;2m⢿\u001b[0m Connecting to Steam...\r\n "] +[0.787611, "o", "\r\u001b[2A[6:20:44 PM] Connected to Steam!\r\n \r\n\u001b[38;5;2m⢿\u001b[0m Connecting to Steam...\r\n "] +[0.836583, "o", "\r\u001b[2A \r\n\u001b[38;5;2m⡿\u001b[0m Logging in to Steam...\r\n "] +[0.936932, "o", "\r\u001b[2A \r\n\u001b[38;5;2m⣟\u001b[0m Logging in to Steam...\r\n "] +[1.037365, "o", "\r\u001b[2A \r\n\u001b[38;5;2m⣯\u001b[0m Logging in to Steam...\r\n "] +[1.137815, "o", "\r\u001b[2A \r\n\u001b[38;5;2m⣷\u001b[0m Logging in to Steam...\r\n "] +[1.143811, "o", "\r\u001b[2A \r\n\u001b[38;5;2m⣷\u001b[0m Logging in to Steam...\r\n "] +[1.144332, "o", "\r\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K"] +[1.144397, "o", "\u001b[?25h"] +[1.144717, "o", "[6:20:45 PM] Logged into Steam\r\n"] +[1.144994, "o", "\u001b[?25l"] +[1.177482, "o", " \r\n\u001b[38;5;2m⣾\u001b[0m Retrieving owned apps...\r\n "] +[1.177606, "o", "\r\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[?25h[6:20:45 PM] Steam session initialization complete!\r\n"] +[1.180662, "o", "\u001b[?25l"] +[1.281165, "o", " \r\n\u001b[38;5;2m⣾\u001b[0m Retrieving latest App metadata...\r\n "] +[1.381466, "o", "\r\u001b[2A \r\n\u001b[38;5;2m⣽\u001b[0m Retrieving latest App metadata...\r\n "] +[1.481842, "o", "\r\u001b[2A \r\n\u001b[38;5;2m⣻\u001b[0m Retrieving latest App metadata...\r\n "] +[1.58216, "o", "\r\u001b[2A \r\n\u001b[38;5;2m⢿\u001b[0m Retrieving latest App metadata...\r\n "] +[1.682468, "o", "\r\u001b[2A \r\n\u001b[38;5;2m⡿\u001b[0m Retrieving latest App metadata...\r\n "] +[1.782822, "o", "\r\u001b[2A \r\n\u001b[38;5;2m⣟\u001b[0m Retrieving latest App metadata...\r\n "] +[1.883163, "o", "\r\u001b[2A \r\n\u001b[38;5;2m⣯\u001b[0m Retrieving latest App metadata...\r\n "] +[1.983585, "o", "\r\u001b[2A \r\n\u001b[38;5;2m⣷\u001b[0m Retrieving latest App metadata...\r\n "] +[2.083924, "o", "\r\u001b[2A \r\n\u001b[38;5;2m⣾\u001b[0m Retrieving latest App metadata...\r\n "] +[2.184184, "o", "\r\u001b[2A \r\n\u001b[38;5;2m⣽\u001b[0m Retrieving latest App metadata...\r\n "] +[2.284589, "o", "\r\u001b[2A \r\n\u001b[38;5;2m⣻\u001b[0m Retrieving latest App metadata...\r\n "] +[2.384892, "o", "\r\u001b[2A \r\n\u001b[38;5;2m⢿\u001b[0m Retrieving latest App metadata...\r\n "] +[2.420083, "o", "\r\u001b[2A \r\n\u001b[38;5;2m⢿\u001b[0m Retrieving latest App metadata...\r\n \r\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[?25h"] +[2.423594, "o", "\r\n"] +[2.43129, "o", "[6:20:46 PM] Starting \u001b[38;5;80mCall of Duty®: Modern Warfare® II | Warzone™ 2.0\u001b[0m\r\n"] +[2.431601, "o", "\u001b[?25l"] +[2.532107, "o", " \r\n\u001b[38;5;2m⣾\u001b[0m \u001b[38;5;15m Getting available CDN Servers... \u001b[0m\r\n "] +[2.632409, "o", "\r\u001b[2A \r\n\u001b[38;5;2m⣽\u001b[0m \u001b[38;5;15m Getting available CDN Servers... \u001b[0m\r\n "] +[2.680464, "o", "\r\u001b[2A \r\n\u001b[38;5;2m⣽\u001b[0m \u001b[38;5;15m Getting available CDN Servers... \u001b[0m\r\n \r\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[?25h"] +[2.682091, "o", "\u001b[?25l"] +[2.737734, "o", " \r\n\u001b[38;5;2m⣾\u001b[0m Fetching depot manifests...\r\n \r\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[?25h"] +[2.739511, "o", "[6:20:46 PM] Downloading \u001b[38;5;170m35.56 GiB\u001b[0m\r\n"] +[2.740191, "o", "\u001b[?25l"] +[2.796716, "o", " \r\n\u001b[38;5;2m⣾\u001b[0m Detecting Lancache server...\r\n \r\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[?25h"] +[2.7976, "o", "[6:20:46 PM] Detected Lancache server at \u001b[38;5;80mlancache\u001b[0m [\u001b[38;5;141m192.168.1.223\u001b[0m]\r\n"] +[2.799457, "o", "\u001b[?25l"] +[2.902111, "o", " \r\nDownloading.. \u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 0% \u001b[38;5;12m00:00:12\u001b[0m 0.2\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 24.1 Gbit/s\r\n "] +[3.002496, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 1% \u001b[38;5;12m00:00:12\u001b[0m 0.5\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 24.0 Gbit/s\r\n "] +[3.106735, "o", "\r\u001b[2A "] +[3.107413, "o", "\r\n"] +[3.107816, "o", "Downloading.. \u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 2% \u001b[38;5;12m00:00:11\u001b[0m 0.8\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.0 Gbit/s"] +[3.1081, "o", "\r\n"] +[3.108499, "o", " "] +[3.108963, "o", " "] +[3.209401, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 3% \u001b[38;5;12m00:00:11\u001b[0m 1.1\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 24.7 Gbit/s\r\n "] +[3.309661, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 4% \u001b[38;5;12m00:00:11\u001b[0m 1.4\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.1 Gbit/s\r\n "] +[3.410249, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 4% \u001b[38;5;12m00:00:11\u001b[0m 1.7\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.5 Gbit/s\r\n "] +[3.510562, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 5% \u001b[38;5;12m00:00:11\u001b[0m 2.0\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.4 Gbit/s\r\n "] +[3.611077, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 6% \u001b[38;5;12m00:00:11\u001b[0m 2.3\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.4 Gbit/s\r\n "] +[3.711987, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 7% \u001b[38;5;12m00:00:11\u001b[0m 2.6\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.7 Gbit/s\r\n "] +[3.812515, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 8% \u001b[38;5;12m00:00:11\u001b[0m 2.9\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.6 Gbit/s\r\n "] +[3.912863, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 9% \u001b[38;5;12m00:00:10\u001b[0m 3.2\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.9 Gbit/s\r\n "] +[4.013376, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 9% \u001b[38;5;12m00:00:10\u001b[0m 3.5\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.7 Gbit/s\r\n "] +[4.113715, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 10% \u001b[38;5;12m00:00:10\u001b[0m 3.8\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.7 Gbit/s\r\n "] +[4.214206, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 11% \u001b[38;5;12m00:00:10\u001b[0m 4.1\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.6 Gbit/s\r\n "] +[4.314555, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 12% \u001b[38;5;12m00:00:10\u001b[0m 4.4\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.8 Gbit/s\r\n "] +[4.414946, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 13% \u001b[38;5;12m00:00:10\u001b[0m 4.7\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.6 Gbit/s\r\n "] +[4.515382, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 14% \u001b[38;5;12m00:00:10\u001b[0m 5.0\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.7 Gbit/s\r\n "] +[4.616017, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 14% \u001b[38;5;12m00:00:10\u001b[0m 5.3\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.8 Gbit/s\r\n "] +[4.717039, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 15% \u001b[38;5;12m00:00:09\u001b[0m 5.6\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.9 Gbit/s\r\n "] +[4.817328, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 16% \u001b[38;5;12m00:00:10\u001b[0m 5.9\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 24.7 Gbit/s\r\n "] +[4.917763, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 17% \u001b[38;5;12m00:00:10\u001b[0m 6.2\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 24.9 Gbit/s\r\n "] +[5.018088, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 18% \u001b[38;5;12m00:00:09\u001b[0m 6.5\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.7 Gbit/s\r\n "] +[5.118547, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 19% \u001b[38;5;12m00:00:09\u001b[0m 6.8\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.0 Gbit/s\r\n "] +[5.218827, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 19% \u001b[38;5;12m00:00:09\u001b[0m 7.1\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.0 Gbit/s\r\n "] +[5.319327, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 20% \u001b[38;5;12m00:00:09\u001b[0m 7.4\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.8 Gbit/s\r\n "] +[5.4198, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 21% \u001b[38;5;12m00:00:09\u001b[0m 7.7\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.0 Gbit/s\r\n "] +[5.520154, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 22% \u001b[38;5;12m00:00:09\u001b[0m 8.0\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.3 Gbit/s\r\n "] +[5.620525, "o", "\r\u001b[2A "] +[5.62083, "o", "\r\n"] +[5.620893, "o", "Downloading.. \u001b[38;5;11m━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 23% \u001b[38;5;12m00:00:08\u001b[0m 8.3\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.0 Gbi"] +[5.620979, "o", "t/s"] +[5.621025, "o", "\r\n"] +[5.621082, "o", " "] +[5.721558, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 24% \u001b[38;5;12m00:00:08\u001b[0m 8.6\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.9 Gbit/s\r\n "] +[5.822033, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 25% \u001b[38;5;12m00:00:08\u001b[0m 8.9\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.0 Gbit/s\r\n "] +[5.922354, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 25% \u001b[38;5;12m00:00:08\u001b[0m 9.2\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.7 Gbit/s\r\n "] +[6.022754, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 26% \u001b[38;5;12m00:00:08\u001b[0m 9.5\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.7 Gbit/s\r\n "] +[6.123083, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 27% \u001b[38;5;12m00:00:08\u001b[0m 9.8\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.2 Gbit/s\r\n "] +[6.223847, "o", "\r\u001b[2A "] +[6.22408, "o", "\r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 28% \u001b[38;5;12m00:00:08\u001b[0m 10.1\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.2 Gbit/s\r\n "] +[6.324342, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 29% \u001b[38;5;12m00:00:08\u001b[0m 10.4\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.3 Gbit/s\r\n "] +[6.42476, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 30% \u001b[38;5;12m00:00:08\u001b[0m 10.7\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.7 Gbit/s\r\n "] +[6.525026, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 30% \u001b[38;5;12m00:00:08\u001b[0m 11.0\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.9 Gbit/s\r\n "] +[6.625381, "o", "\r\u001b[2A "] +[6.62552, "o", "\r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 31% \u001b[38;5;12m00:00:07\u001b[0m 11.3\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.1 Gbit/s\r\n "] +[6.725883, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 32% \u001b[38;5;12m00:00:07\u001b[0m 11.6\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.9 Gbit/s\r\n "] +[6.826188, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 33% \u001b[38;5;12m00:00:07\u001b[0m 11.9\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.0 Gbit/s\r\n "] +[6.926531, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 34% \u001b[38;5;12m00:00:07\u001b[0m 12.2\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.9 Gbit/s\r\n "] +[7.026976, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 35% \u001b[38;5;12m00:00:07\u001b[0m 12.5\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.1 Gbit/s\r\n "] +[7.12808, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 36% \u001b[38;5;12m00:00:07\u001b[0m 12.8\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.1 Gbit/s\r\n "] +[7.228377, "o", "\r\u001b[2A "] +[7.228437, "o", "\r\n"] +[7.22847, "o", "Downloading.. \u001b[38;5;11m━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 36% \u001b[38;5;12m00:00:07\u001b[0m 13.1\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.9 G"] +[7.228514, "o", "bit/s\r\n "] +[7.328829, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 37% \u001b[38;5;12m00:00:07\u001b[0m 13.4\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.1 Gbit/s\r\n "] +[7.42912, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 38% \u001b[38;5;12m00:00:07\u001b[0m 13.7\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.8 Gbit/s\r\n "] +[7.529413, "o", "\r\u001b[2A "] +[7.529465, "o", "\r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 39% \u001b[38;5;12m00:00:07\u001b[0m 14.0\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.0 G"] +[7.529484, "o", "bit/s\r\n "] +[7.629813, "o", "\r\u001b[2A "] +[7.629935, "o", "\r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 40% \u001b[38;5;12m00:00:07\u001b[0m 14.4\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.0 Gbit/s\r\n "] +[7.730365, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 41% \u001b[38;5;12m00:00:06\u001b[0m 14.7\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.1 Gbit/s\r\n "] +[7.830627, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 42% \u001b[38;5;12m00:00:06\u001b[0m 15.0\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.3 Gbit/s\r\n "] +[7.931055, "o", "\r\u001b[2A "] +[7.931459, "o", "\r\n"] +[7.931631, "o", "Downloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 42% \u001b[38;5;12m00:00:06\u001b[0m 15.3\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.0 Gbit/s"] +[7.931688, "o", "\r\n "] +[8.032002, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 43% \u001b[38;5;12m00:00:06\u001b[0m 15.6\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.9 Gbit/s\r\n "] +[8.133061, "o", "\r\u001b[2A "] +[8.133752, "o", "\r\n"] +[8.133917, "o", "Downloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 44% \u001b[38;5;12m00:00:06\u001b[0m 15.9\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.7 G"] +[8.133997, "o", "bit/s\r\n "] +[8.234373, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 45% \u001b[38;5;12m00:00:06\u001b[0m 16.2\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.1 Gbit/s\r\n "] +[8.33459, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 46% \u001b[38;5;12m00:00:06\u001b[0m 16.5\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.8 Gbit/s\r\n "] +[8.434968, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━━\u001b[0m 47% \u001b[38;5;12m00:00:06\u001b[0m 16.8\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.8 Gbit/s\r\n "] +[8.535287, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━\u001b[0m 48% \u001b[38;5;12m00:00:06\u001b[0m 17.1\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.0 Gbit/s\r\n "] +[8.635531, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━\u001b[0m 48% \u001b[38;5;12m00:00:05\u001b[0m 17.4\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.2 Gbit/s\r\n "] +[8.735832, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━━\u001b[0m 49% \u001b[38;5;12m00:00:05\u001b[0m 17.7\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.3 Gbit/s\r\n "] +[8.83615, "o", "\r\u001b[2A "] +[8.836455, "o", "\r\n"] +[8.836517, "o", "Downloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━\u001b[0m 50% \u001b[38;5;12m00:00:05\u001b[0m 18.0\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.0 Gbit/s\r\n "] +[8.936881, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━\u001b[0m 51% \u001b[38;5;12m00:00:05\u001b[0m 18.3\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.8 Gbit/s\r\n "] +[9.03721, "o", "\r\u001b[2A "] +[9.037686, "o", "\r\n"] +[9.037731, "o", "Downloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━━\u001b[0m 52% \u001b[38;5;12m00:00:05\u001b[0m 18.6\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.9 Gbit/s\r\n "] +[9.139092, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━\u001b[0m 53% \u001b[38;5;12m00:00:05\u001b[0m 18.9\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.0 Gbit/s\r\n "] +[9.239372, "o", "\r\u001b[2A "] +[9.23951, "o", "\r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━\u001b[0m 54% \u001b[38;5;12m00:00:05\u001b[0m 19.2\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.8 Gbit/s\r\n "] +[9.339986, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━━\u001b[0m 54% \u001b[38;5;12m00:00:05\u001b[0m 19.5\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.8 Gbit/s\r\n "] +[9.440563, "o", "\r\u001b[2A "] +[9.440644, "o", "\r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━\u001b[0m 55% \u001b[38;5;12m00:00:05\u001b[0m 19.8\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.2 Gbit/s"] +[9.440686, "o", "\r\n"] +[9.440712, "o", " "] +[9.541075, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━\u001b[0m 56% \u001b[38;5;12m00:00:04\u001b[0m 20.1\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 27.0 Gbit/s\r\n "] +[9.641433, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━━\u001b[0m 57% \u001b[38;5;12m00:00:04\u001b[0m 20.4\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.5 Gbit/s\r\n "] +[9.741807, "o", "\r\u001b[2A \r\n"] +[9.742119, "o", "Downloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━\u001b[0m 58% \u001b[38;5;12m00:00:04\u001b[0m 20.8\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.5 Gbit/s\r\n"] +[9.742148, "o", " "] +[9.842817, "o", "\r\u001b[2A "] +[9.84297, "o", "\r\n"] +[9.843035, "o", "Downloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━━\u001b[0m 59% \u001b[38;5;12m00:00:04\u001b[0m 21.1\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.4 Gbit/s\r\n "] +[9.943404, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━\u001b[0m 60% \u001b[38;5;12m00:00:04\u001b[0m 21.4\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.8 Gbit/s\r\n "] +[10.043759, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━\u001b[0m 61% \u001b[38;5;12m00:00:04\u001b[0m 21.7\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.8 Gbit/s\r\n "] +[10.14424, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━━\u001b[0m 61% \u001b[38;5;12m00:00:04\u001b[0m 22.0\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.8 Gbit/s\r\n "] +[10.244665, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━\u001b[0m 62% \u001b[38;5;12m00:00:04\u001b[0m 22.3\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.5 Gbit/s\r\n "] +[10.345156, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━\u001b[0m 63% \u001b[38;5;12m00:00:04\u001b[0m 22.6\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.5 Gbit/s\r\n "] +[10.445609, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━━\u001b[0m 64% \u001b[38;5;12m00:00:04\u001b[0m 22.9\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.7 Gbit/s\r\n "] +[10.546051, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━\u001b[0m 65% \u001b[38;5;12m00:00:03\u001b[0m 23.2\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.5 Gbit/s\r\n "] +[10.646317, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━\u001b[0m 66% \u001b[38;5;12m00:00:03\u001b[0m 23.6\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.6 Gbit/s\r\n "] +[10.746648, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━━\u001b[0m 67% \u001b[38;5;12m00:00:03\u001b[0m 23.9\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.4 Gbit/s\r\n "] +[10.846949, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━\u001b[0m 68% \u001b[38;5;12m00:00:03\u001b[0m 24.2\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.8 Gbit/s\r\n "] +[10.947204, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━\u001b[0m 68% \u001b[38;5;12m00:00:03\u001b[0m 24.5\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.8 Gbit/s\r\n "] +[11.047614, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━━\u001b[0m 69% \u001b[38;5;12m00:00:03\u001b[0m 24.8\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.9 G"] +[11.047674, "o", "bit/s\r\n "] +[11.147965, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━\u001b[0m 70% \u001b[38;5;12m00:00:03\u001b[0m 25.1\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.8 Gbit/s\r\n "] +[11.248295, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━\u001b[0m 71% \u001b[38;5;12m00:00:03\u001b[0m 25.4\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.5 Gbit/s\r\n "] +[11.348586, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━━\u001b[0m 72% \u001b[38;5;12m00:00:03\u001b[0m 25.7\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.6 Gbit/s\r\n "] +[11.449077, "o", "\r\u001b[2A "] +[11.449282, "o", "\r\n"] +[11.449365, "o", "Downloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━\u001b[0m 73% \u001b[38;5;12m00:00:03\u001b[0m 26.0\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.7 Gbit/s\r\n "] +[11.549786, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━\u001b[0m 74% \u001b[38;5;12m00:00:02\u001b[0m 26.4\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.6 Gbit/s\r\n "] +[11.649995, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━━\u001b[0m 74% \u001b[38;5;12m00:00:02\u001b[0m 26.7\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.3 Gbit/s\r\n "] +[11.750287, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━\u001b[0m 75% \u001b[38;5;12m00:00:02\u001b[0m 27.0\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.9 Gbit/s\r\n "] +[11.850775, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━━\u001b[0m 76% \u001b[38;5;12m00:00:02\u001b[0m 27.3\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.1 Gbit/s\r\n "] +[11.951064, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━\u001b[0m 77% \u001b[38;5;12m00:00:02\u001b[0m 27.6\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.3 Gbit/s\r\n "] +[12.051296, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━\u001b[0m 78% \u001b[38;5;12m00:00:02\u001b[0m 27.9\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.4 Gbit/s\r\n "] +[12.151728, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━━\u001b[0m 79% \u001b[38;5;12m00:00:02\u001b[0m 28.2\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.5 Gbit/s\r\n "] +[12.251998, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━\u001b[0m 80% \u001b[38;5;12m00:00:02\u001b[0m 28.5\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.4 Gbit/s\r\n "] +[12.352298, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━\u001b[0m 81% \u001b[38;5;12m00:00:02\u001b[0m 28.8\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.5 Gbit/s\r\n "] +[12.45272, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━━\u001b[0m 81% \u001b[38;5;12m00:00:02\u001b[0m 29.1\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.5 Gbit/s\r\n "] +[12.553375, "o", "\r\u001b[2A "] +[12.553808, "o", "\r\n"] +[12.554049, "o", "Downloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━\u001b[0m 82% \u001b[38;5;12m00:00:01\u001b[0m 29.4\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.4 G"] +[12.554268, "o", "bit/s"] +[12.55447, "o", "\r\n"] +[12.554686, "o", " "] +[12.655267, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━\u001b[0m 83% \u001b[38;5;12m00:00:01\u001b[0m 29.8\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.7 Gbit/s\r\n "] +[12.755653, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━━\u001b[0m 84% \u001b[38;5;12m00:00:01\u001b[0m 30.1\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.7 Gbit/s\r\n "] +[12.856025, "o", "\r\u001b[2A "] +[12.856614, "o", "\r\n"] +[12.857207, "o", "Downloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━\u001b[0m 85% \u001b[38;5;12m00:00:01\u001b[0m 30.4\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.8 G"] +[12.857431, "o", "bit/s"] +[12.857687, "o", "\r\n "] +[12.958085, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━\u001b[0m 86% \u001b[38;5;12m00:00:01\u001b[0m 30.7\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.7 Gbit/s\r\n "] +[13.058565, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━━\u001b[0m 87% \u001b[38;5;12m00:00:01\u001b[0m 31.0\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 26.2 Gbit/s\r\n "] +[13.158871, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━\u001b[0m 87% \u001b[38;5;12m00:00:01\u001b[0m 31.3\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.7 Gbit/s\r\n "] +[13.25934, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━\u001b[0m 88% \u001b[38;5;12m00:00:01\u001b[0m 31.6\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.5 Gbit/s\r\n "] +[13.359694, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━━\u001b[0m 89% \u001b[38;5;12m00:00:01\u001b[0m 31.9\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.4 Gbit/s\r\n "] +[13.459978, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━\u001b[0m 90% \u001b[38;5;12m00:00:01\u001b[0m 32.2\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.3 Gbit/s\r\n "] +[13.560452, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━\u001b[0m 91% \u001b[38;5;12m00:00:01\u001b[0m 32.5\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.3 Gbit/s\r\n "] +[13.660928, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━━\u001b[0m 92% \u001b[38;5;12m00:00:00\u001b[0m 32.8\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.6 Gbit/s\r\n "] +[13.761205, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━\u001b[0m 92% \u001b[38;5;12m00:00:00\u001b[0m 33.1\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.5 Gbit/s\r\n "] +[13.861561, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━\u001b[0m 93% \u001b[38;5;12m00:00:00\u001b[0m 33.4\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.5 Gbit/s\r\n "] +[13.961923, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━━\u001b[0m 94% \u001b[38;5;12m00:00:00\u001b[0m 33.7\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.5 Gbit/s\r\n "] +[14.062357, "o", "\r\u001b[2A "] +[14.062584, "o", "\r\n"] +[14.062773, "o", "Downloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━\u001b[0m 95% \u001b[38;5;12m00:00:00\u001b[0m 34.0\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.5 Gbit/s\r\n "] +[14.163089, "o", "\r\u001b[2A "] +[14.163224, "o", "\r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━\u001b[0m 96% \u001b[38;5;12m00:00:00\u001b[0m 34.3\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.8 Gbit/s\r\n "] +[14.2634, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━━\u001b[0m 97% \u001b[38;5;12m00:00:00\u001b[0m 34.6\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.8 Gbit/s\r\n "] +[14.363771, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━\u001b[0m 98% \u001b[38;5;12m00:00:00\u001b[0m 34.9\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.4 Gbit/s\r\n "] +[14.464156, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━\u001b[0m 98% \u001b[38;5;12m00:00:00\u001b[0m 35.2\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.7 Gbit/s\r\n "] +[14.564441, "o", "\r\u001b[2A \r\nDownloading.. \u001b[38;5;11m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[38;5;8m━\u001b[0m 99% \u001b[38;5;12m00:00:00\u001b[0m 35.5\u001b[38;5;8m/\u001b[0m35.6 \u001b[38;5;8mGiB\u001b[0m 25.7 Gbit/s\r\n "] +[14.59875, "o", "\r\u001b[2A \r\n… \r\n \r\u001b[2K\u001b[1A\u001b[2K\u001b[1A\u001b[2K\u001b[?25h"] +[14.603585, "o", "[6:20:58 PM] Finished in \u001b[38;5;229m11.8656\u001b[0m - \u001b[38;5;170m25.75 Gbit/s\u001b[0m\r\n"] +[14.603696, "o", "\r\n"] +[14.605315, "o", "[6:20:58 PM] Prefill complete!\r\n"] +[14.605769, "o", "────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\r\n"] +[14.606312, "o", " Prefilled \u001b[38;5;170m1\u001b[0m apps in \u001b[38;5;229m14.5102\u001b[0m \r\n \r\n \u001b[38;5;80mUpdated\u001b[0m │ \u001b[38;5;2mUp To Date\u001b[0m \r\n ━━━━━━━━━┿━━━━━━━━━━━━ \r\n 1 │ 0 \r\n \u001b[?25l"] diff --git a/gr/detailed-command-usage/casts/select-apps.cast b/gr/detailed-command-usage/casts/select-apps.cast new file mode 100644 index 00000000..812d440e --- /dev/null +++ b/gr/detailed-command-usage/casts/select-apps.cast @@ -0,0 +1,21 @@ +{"version":2,"width":113,"height":30,"timestamp":1680911872,"theme":{},"env":{"SHELL":"/bin/bash","TERM":"xterm-256color"}} +[0.068,"o","\u001b[?25l"] +[0.077,"o","\u001b[?12l\u001b[?25h"] +[0.084,"o","\u001b[?25l"] +[0.085,"o","\u001b[1;1H"] +[0.085,"o","\u001b[1;1H"] +[0.085,"o","\u001b[40;92m┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────┐"] +[0.085,"o","\u001b[2;1H"] +[0.085,"o","\u001b[2;1H│ \u001b[40;97mSort:\u001b[40;92m \u001b[40;97m[ Selected ]\u001b[40;92m \u001b[40;97m[ Name ]\u001b[40;92m \u001b[40;97m \u001b[40;92m \u001b[40;97m \u001b[40;92m │\u001b[3;1H\u001b[3;1H│ │"] +[0.085,"o","\u001b[4;1H\u001b[4;1H│ Search: \u001b[46;97m \u001b[40;92m │\u001b[5;1H\u001b[5;1H│───────────────────────────────────────────────────────────────────────────────────────────────────────────────│\u001b[6;1H\u001b[6;1H│ Title │\u001b[7;1H\u001b[7;1H"] +[0.085,"o","│───────────────────────────────────────────────────────────────────────────────────────────────────────────────│\u001b[8;1H\u001b[8;1H│ \u001b[40;37m Blizzard Arcade Collection \u001b[40;92m │\u001b[9;1H"] +[0.085,"o","\u001b[9;1H│ \u001b[40;37m Diablo: Immortal \u001b[40;92m │\u001b[10;1H\u001b[10;1H│ \u001b[40;37m Diablo 2: Resurrected \u001b[40;92m │\u001b[11;1H\u001b[11;1H│ \u001b[40;37m Diablo 3 \u001b[40;92m │\u001b[12;1H"] +[0.086,"o","\u001b[12;1H│ \u001b[40;37m Diablo 4 \u001b[40;92m │\u001b[13;1H\u001b[13;1H│ \u001b[40;37m Hearthstone \u001b[40;92m │\u001b[14;1H\u001b[14;1H│ \u001b[40;37m Heroes of the Storm \u001b[40;92m │\u001b[15;1H"] +[0.086,"o","\u001b[15;1H│ \u001b[40;37m Starcraft Remastered \u001b[40;92m │\u001b[16;1H"] +[0.086,"o","\u001b[16;1H│ \u001b[40;37m Starcraft 2 \u001b[40;92m │\u001b[17;1H\u001b[17;1H│ \u001b[40;37m Overwatch 2 \u001b[40;92m │\u001b[18;1H\u001b[18;1H│ \u001b[40;37m Warcraft 3: Reforged \u001b[40;92m │\u001b[19;1H\u001b[19;1H│ \u001b[40;37m World of Warcraft \u001b[40;92m │\u001b[20;1H"] +[0.086,"o","\u001b[20;1H│ \u001b[40;37m WoW Classic \u001b[40;92m │\u001b[21;1H\u001b[21;1H│ \u001b[40;37m Call of Duty: Black Ops 4 \u001b[40;92m │\u001b[22;1H\u001b[22;1H│ \u001b[40;37m Call of Duty: Black Ops Cold War \u001b[40;92m │\u001b[23;1H"] +[0.086,"o","\u001b[23;1H│ \u001b[40;37m Call of Duty: Warzone \u001b[40;92m │\u001b[24;1H\u001b[24;1H│ \u001b[40;37m Call of Duty: Modern Warfare 2 \u001b[40;92m │\u001b[25;1H"] +[0.086,"o","\u001b[25;1H│ \u001b[40;37m Call of Duty: MW2 Remastered \u001b[40;92m │\u001b[26;1H\u001b[26;1H│ \u001b[40;37m Call of Duty: Vanguard \u001b[40;92m │\u001b[27;1H\u001b[27;1H│ \u001b[40;37m Crash Bandicoot 4: It's About Time \u001b[40;92m │\u001b[28;1H"] +[0.086,"o","\u001b[28;1H│ \u001b[40;37m \u001b[40;92m │\u001b[29;1H\u001b[29;1H└───────────────────────────────────────────────────────────────────────────────────────────────────────────────┘\u001b[30;1H"] +[0.086,"o","\u001b[30;1H\u001b[40;97m \u001b[40;92mESC\u001b[40;97m to Quit │ \u001b[40;92m↑/↓/PgUp/PgDn\u001b[40;97m to navigate │ \u001b[40;92mSpace\u001b[40;97m to select │ \u001b[40;92mCTRL-A\u001b[40;97m Select All │ \u001b[40;92mCTRL-C\u001b[40;97m Clear All │ \u001b[40;92mEnter\u001b[40;97m to Save\u001b[?25l"] +[0.086,"o","\u001b[?25l\u001b[?25l"] diff --git a/gr/dev-guides/Compiling-from-source/index.html b/gr/dev-guides/Compiling-from-source/index.html new file mode 100644 index 00000000..32cc020b --- /dev/null +++ b/gr/dev-guides/Compiling-from-source/index.html @@ -0,0 +1,238 @@ + + + + + + + + Compiling από την πηγή - battlenet-lancache-prefill wiki + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+ +
+
+ +
+
+ +

Compiling από την πηγή

+

Απαιρέτητα πακετά για την εγκατάσταση

+

Χρειαζόμαστε μόνο το .NET 6 SDK για να κάνουμε compile αυτό το έργο. Αυτό μπορεί να γίνει με τις παρακάτω μεθόδους

+

Με το Chocolatey

+
choco install dotnet-6.0-sdk
+
+

Χειροκίνητα

+

Με το τελευταίο .NET 6.0 SDK που μπορούμε να βρούμε εδώ .NET 6.0 SDK - Windows x64 Installer

+

Διορθώνοντας το αρχικό config του Nuget

+
# Πρέπει να σβηστεί, για να λύσουμε το θέμα με την λάθος προρύθμιση του Buget.  
+# Θα αυτόδημιουργηθεί με την πρώτη εκτέλεση.
+Remove-Item "C:\Users\$Env:USERNAME\AppData\Roaming\NuGet\nuget.config"
+
+

Κλωνοποίηση του repo και των submodules

+
git clone --recurse-submodules -j8 https://github.com/tpill90/battlenet-lancache-prefill.git
+
+

Αν είναι ήδη κλωνοποιημένο το repository αλλά χωρίς τα submodules, τρέξε αυτήν την εντολή για να προσθέσεις τα submodules:

+
git submodule update --init --recursive
+
+

Compiling

+

Για να κάνουμε compile αυτό το έργο τρέχουμε την παρακάτω εντολή στο φάκελο που έχουμε κατεβάσει το έργο (ο φάκελος που έχει το .sln αρχείο). Αυτό θα δημιουργήσει ένα .exe που μπορούμε να τρέξουμε τοπικά. Μετέπειτα με την dotnet build εντολή θα γίνουν οι επόμενες αναβαθμίσεις.

+
dotnet build
+
+

Τρέχοντας το έργο

+
+

Σημείωση

+

Σε όλα τα βήματα υποθέτω ότι είσαι στον φάκελο /BattleNetPrefill. Όλες οι εντολές υποθέτουν ότι θα βρουν το BattleNetPrefill.csproj στον φάκελο που τρέχουμε τις εντολές.

+
+

Τυπικά, για την ανάπτυξη τρέχουμε το έργο σε περιβάλλον Debug . Σε αυτό το περιβάλλον, θα τρέξουν όλα αρκετά πιο αργά από ότι το τελικό Release, όμως θα μας δόσει πολύτιμες πληροφορίες για το πως έγινε το compile. Τρέχοντας λοιπόν την παρακάτω εντολή θα εντοπιστούν και θα γίνουν compile οι όποιες αλλαγές, μετά τρέχουμε το έργο:

+
dotnet run
+
+

Είναι ανάλογο με το από πάνω αλλά χωρίς παραμέτρους ./BattleNetPrefill.exe. Οπότε τρέχουμε αυτό αν θέλουμε να βάλουμε παραμέτρους:

+
dotnet run -- prefill --all
+
+

Εναλλακτικά, μπορούμε να τρέξουμε το έργο με πλήρη ταχύτητα και με όλες τις βελτιστοποιήσεις ενεργές, βάζοντας το --configuration Release flag:

+
dotnet run --configuration Release
+
+

Τρέχοντας δοκιμαστικές μονάδες

+

Για να κάνουμε compile και να τρέξουν και όλα τα τεστ από το αποθετήριο, τρέχουμε την παρακάτω εντολή:

+
dotnet test
+
+

Από που αρχίζω;

+

Ένα καλό μέρος για να αρχίσουμε το έργο είναι το CliCommands folder. Αυτός ο φάκελος περιέχει όλες τις εντολές που μπορούμε να τρέξουμε, όπως prefill ή select-apps.

+ +
+
+ + +
+
+ +
+ +
+ +
+ + + + GitHub + + + + « Previous + + + Next » + + +
+ + + + + + + + + diff --git a/gr/dev-guides/mkdocs-setup/index.html b/gr/dev-guides/mkdocs-setup/index.html new file mode 100644 index 00000000..1a4db0a8 --- /dev/null +++ b/gr/dev-guides/mkdocs-setup/index.html @@ -0,0 +1,208 @@ + + + + + + + + Working With Project Documentation - battlenet-lancache-prefill wiki + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+ +
+
+ +
+
+ +

Working With Project Documentation

+

Installing Prerequisites

+

This project is using mkdocs to generate the static documentation that is then hosted on Github Pages. The only requirement for building mkdocs is to have Python 3 installed, which can be done through Chocolatey.

+
# Installs Python from Chocolatey.  Alternatively Python can be manually installed.
+choco install python
+
+# Installs required mkdocs package
+pip install mkdocs mkdocs-awesome-pages-plugin mkdocs-static-i18n mkdocs-macros-plugin
+
+

Project Layout

+
mkdocs.yml    # Mkdocs root configuration file.
+mkdocs/
+    index.md  # The documentation homepage.
+    ...       # Other markdown pages, images and other files.
+
+

Making Changes

+

mkdocs has a built in server that will watch for changes being made, and immediately display those changes.

+

You can launch the the live server using mkdocs serve, and open http://127.0.0.1:8000/ in your browser. You can now make edits and have the page automatically refresh and display those changes!

+ + + +
+
+ + +
+
+ +
+ +
+ +
+ + + + GitHub + + + + « Previous + + + +
+ + + + + + + + + diff --git a/gr/images/install-guides/ConsoleWithUtf8.png b/gr/images/install-guides/ConsoleWithUtf8.png new file mode 100644 index 00000000..719682e1 Binary files /dev/null and b/gr/images/install-guides/ConsoleWithUtf8.png differ diff --git a/gr/images/install-guides/Create-SteamPrefill-Directory.png b/gr/images/install-guides/Create-SteamPrefill-Directory.png new file mode 100644 index 00000000..fe1d3770 Binary files /dev/null and b/gr/images/install-guides/Create-SteamPrefill-Directory.png differ diff --git a/gr/images/install-guides/unraid-docker-typical-setup.png b/gr/images/install-guides/unraid-docker-typical-setup.png new file mode 100644 index 00000000..53d9822d Binary files /dev/null and b/gr/images/install-guides/unraid-docker-typical-setup.png differ diff --git a/gr/images/install-guides/unraid-userscript-community-app.png b/gr/images/install-guides/unraid-userscript-community-app.png new file mode 100644 index 00000000..ebe22e68 Binary files /dev/null and b/gr/images/install-guides/unraid-userscript-community-app.png differ diff --git a/gr/images/install-guides/unraid-userscripts-button.png b/gr/images/install-guides/unraid-userscripts-button.png new file mode 100644 index 00000000..36baa976 Binary files /dev/null and b/gr/images/install-guides/unraid-userscripts-button.png differ diff --git a/gr/index.html b/gr/index.html new file mode 100644 index 00000000..e4aa0419 --- /dev/null +++ b/gr/index.html @@ -0,0 +1,175 @@ + + + + + + + + Welcome - battlenet-lancache-prefill wiki + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+ +
+
+ +
+
+ +

BattleNetPrefill is a tool used to automate filling a Lancache with games from BattleNet, so that subsequent downloads for the same content will be served from the Lancache, improving speeds and reducing load on your internet connection.

+

Getting started?

+

Check out the install guides for various platforms: Linux Setup Guide, Windows Setup Guide, Docker Setup Guide, and Unraid Setup Guide.

+

Interesting in Contributing?

+

To get started compiling the project, see Compiling From Source.
+Want to make updates to the documentation? See Working With Project Documentation.

+ +
+
+ + +
+ +
+ +
+
+ + +
+
+ +
+ +
+ +
+ + + + GitHub + + + + + Next » + + +
+ + + + + + + + + diff --git a/gr/install-guides/Docker-Setup-Guide/index.html b/gr/install-guides/Docker-Setup-Guide/index.html new file mode 100644 index 00000000..db97cbc4 --- /dev/null +++ b/gr/install-guides/Docker-Setup-Guide/index.html @@ -0,0 +1,203 @@ + + + + + + + + Docker Setup Guide - battlenet-lancache-prefill wiki + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+ +
+
+ +
+
+ +

Docker Setup Guide

+

This guide is intended for getting started with the BattleNetPrefill Docker image (DockerHub), and to become familiarized with how to interact with it. This guide does not intend to be a detailed guide on how to use BattleNetPrefill itself, which can be found in the Getting Started guide.

+
+

Note

+

Docker is not strictly required to run BattleNetPrefill, as it is a completely self-contained portable app.

+
+

Basic Usage Via Command Line

+

To download and run the latest version of the container, open up a terminal and run the following command:

+
docker run -it --rm --net=host \
+  --volume ~/.config/BattleNetPrefill:/Config \
+  tpill90/battlenet-lancache-prefill:latest 
+
+

This command is the same as running BattleNetPrefill from the command line with no options, and if successful should produce the following output:

+
+


+

At this point, you will be able to run any of the COMMANDS listed in the output by appending the desired command at the end, for example with select-apps:

+
docker run -it --rm --net=host  \
+  --volume ~/.config/BattleNetPrefill:/Config \
+  tpill90/battlenet-lancache-prefill:latest \
+  select-apps
+
+

Next Steps

+

If you are new to BattleNetPrefill and would like an introductory tutorial, see the Getting Started guide.

+

Answers to common issues and questions can be found at Frequently Asked Questions.

+ +
+
+ + +
+
+ +
+ +
+ +
+ + + + GitHub + + + + « Previous + + + Next » + + +
+ + + + + + + + + diff --git a/gr/install-guides/Linux-Setup-Guide/index.html b/gr/install-guides/Linux-Setup-Guide/index.html new file mode 100644 index 00000000..bb865ac5 --- /dev/null +++ b/gr/install-guides/Linux-Setup-Guide/index.html @@ -0,0 +1,230 @@ + + + + + + + + Linux Setup Guide - battlenet-lancache-prefill wiki + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+ +
+
+ +
+
+ +

Linux Setup Guide

+

This guide is written to help Linux beginners successfully download BattleNetPrefill on their Lancache caching server.

+

Installing Prerequisites

+

Prior to installing BattleNetPrefill we will need to make sure that curl, jq, and unzip are already installed on our system. Depending on your machine's configuration, this software may or may not already be installed. Regardless, the following steps will ensure that everything needed is successfully installed.

+
+

Note

+

These steps assume that you are using Ubuntu/Debian. Depending on which Linux distro you are using, you may have to use slightly different commands.

+
+

To run the following commands, open up a new terminal session, and enter the following:

+
# Makes sure that the latest app versions will be installed
+apt-get update
+
+# Installs the required software
+apt-get install curl jq unzip wget -y
+
+
+

Warning

+

You may run into a "Could not open lock file" error when running apt-get install, and will need to prefix the command with sudo

+
+

Once the install command has finished successfully, we can move on to installing BattleNetPrefill.

+

Installing BattleNetPrefill

+

We will be using a script to assist with installing BattleNetPrefill for the first time. This will be helpful as it will save us from running several manual steps.

+

To begin, open up a new terminal session. We will want to create a new directory to install BattleNetPrefill into. For example, to create the directory and to move into it, run

+
mkdir BattleNetPrefill
+cd BattleNetPrefill/
+
+

After running the above commands successfully, you should see similar output in your terminal :

+
+


+

We can now move on to downloading the install script from the repo, and running it to install BattleNetPrefill

+
# Downloads the install script
+curl -o update.sh --location "https://raw.githubusercontent.com/tpill90/battlenet-lancache-prefill/master/scripts/update.sh"
+
+# Allows the install script to be executed
+chmod +x update.sh
+
+# Does the install!
+./update.sh
+
+# Allows BattleNetPrefill to be executed
+chmod +x ./BattleNetPrefill
+
+

If everything worked as expected, you should see output similar to below

+
+


+

BattleNetPrefill is now installed on your machine! You can now run it with ./BattleNetPrefill

+

Next Steps

+

If you are new to BattleNetPrefill and would like an introductory tutorial, see the Getting Started guide.

+

Answers to common issues and questions can be found at Frequently Asked Questions.

+ +
+
+ + +
+
+ +
+ +
+ +
+ + + + GitHub + + + + « Previous + + + Next » + + +
+ + + + + + + + + diff --git a/gr/install-guides/Scheduled-Job/index.html b/gr/install-guides/Scheduled-Job/index.html new file mode 100644 index 00000000..41c856bd --- /dev/null +++ b/gr/install-guides/Scheduled-Job/index.html @@ -0,0 +1,239 @@ + + + + + + + + Configuring a Nightly Job - battlenet-lancache-prefill wiki + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+ +
+
+ +
+
+ +

Configuring a Nightly Job

+
+

Note

+

This guide assumes that you have already installed BattleNetPrefill on your system. If you have not yet installed BattleNetPrefill, see Linux Setup Guide

+
+

Configuring The Schedule

+

We will first need to configure a timer which will configure the schedule that BattleNetPrefill will run on. In this example, we will setup a schedule that will run nightly at 4am local time. This schedule was chosen

+

You should create a new file named /etc/systemd/system/battlenetprefill.timer, and save the following configuration into that file.

+
[Unit]
+Description=BattleNetPrefill run daily
+Requires=battlenetprefill.service
+
+[Timer]
+# Runs every day at 4am (local time)
+OnCalendar=*-*-* 4:00:00
+
+# Set to true so we can store when the timer last triggered on disk.
+Persistent=true
+
+[Install]
+WantedBy=timers.target
+
+
+

Configuring The Job

+

Next, well setup the job that will be triggered nightly by the timer that we previously setup. Create a new file /etc/systemd/system/battlenetprefill.service, and save the following configuration into the file.

+
+

Note

+

The values of User, WorkingDirectory, and ExecStart will need to be configured to point to your BattleNetPrefill install location.

+
+
[Unit]
+Description=BattleNetPrefill
+After=remote-fs.target
+Wants=remote-fs.target
+
+[Service]
+Type=oneshot
+# Sets the job to the lowest priority
+Nice=19
+User=# Replace with your username
+WorkingDirectory=# Set this to the directory where BattleNetPrefill is installed.  E.g /home/tim/Prefills
+ExecStart=# Set this to match your working directory from the line above.  E.g. /home/tim/Prefills/BattleNetPrefill prefill --no-ansi
+
+[Install]
+WantedBy=multi-user.target
+
+

Once these two files are setup, you can enable the scheduled job with:

+
sudo systemctl daemon-reload
+sudo systemctl start battlenetprefill.timer
+sudo systemctl enable battlenetprefill
+
+

If everything was configured correctly, you should see similar output from running sudo systemctl status battlenetprefill.timer

+
+


+
+

Checking Service Logs

+

It is possible to check on the status of the service using sudo systemctl status battlenetprefill, which will display both the service's status as well as its most recent logs.

+
+


+ +
+
+ + +
+
+ +
+ +
+ +
+ + + + GitHub + + + + « Previous + + + Next » + + +
+ + + + + + + + + diff --git a/gr/install-guides/Unraid-Setup-Guide/index.html b/gr/install-guides/Unraid-Setup-Guide/index.html new file mode 100644 index 00000000..1921f19f --- /dev/null +++ b/gr/install-guides/Unraid-Setup-Guide/index.html @@ -0,0 +1,248 @@ + + + + + + + + Unraid Setup Guide - battlenet-lancache-prefill wiki + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+ +
+
+ +
+
+ +

Unraid Setup Guide

+

Prior to installing BattleNetPrefill via docker you should ensure you have a working Lancache caching and Lancache DNS server installed on your system.

+
+

Note

+

These steps assume that you are running Lancache caching server as a docker container on a custom network configured for your own subnet.

+
+

Unraid Lancache Setup

+

Installing BattleNetPrefill Docker Image

+

Again from your Unraid terminal you will download and run the BattleNetPrefill Docker image.

+
+

Note

+

--add-host=level3.blizzard.com:XXX.XXX.XXX.XXX is required in order to tell the container the IP Address of your Lancache server running on your custom network. If not specified, BattleNetPrefill will be unable to locate the Lancache server, and will be unable to prefill.

+
+

Next you will run the following command to setup the container, and start configuring which apps to prefill.

+
docker run -it --rm \
+  --net=br0 \
+  --add-host=level3.blizzard.com:XXX.XXX.XXX.XXX  \
+  --volume /mnt/user/appdata/BattleNetPrefill:/Config \
+  tpill90/battlenet-lancache-prefill:latest \
+  select-apps
+
+

To get familiarized with how to use BattleNetPrefill, see the Getting Started guide.

+

Setting up a schedule

+

The User Scripts Community App can be used to create and configure custom scheduled jobs on Unraid. To begin, ensure that the app is installed from Unraid's App tab, if it isn't already installed.

+

Unraid Community Apps

+

After installing User Scripts, click Unraid's Plugins tab, then the User Scripts icon to open up the settings for scheduled jobs.
+User Scripts Settings button

+

Next, add a new script by clicking ADD NEW SCRIPT, and give it the name BattleNetPrefill. After it has been created, click the orange gear next to BattleNetPrefill, and select EDIT SCRIPT.
+Adding the following command will configure the scheduled job to run the prefill command every time it is configured. Be sure sure to change XXX.XXX.XXX.XXX to your Lancache server IP.

+
+

Note

+

This command is almost identical to the one we used previously, except for --it being omitted. This will make the container run non-interactively, as required by User Scripts

+
+
#!/bin/bash
+docker rm -f BattleNetPrefill &>/dev/null && echo 'Removed old container from previous run';
+docker run --rm --name BattleNetPrefill \
+  --net=br0 \
+  --add-host=level3.blizzard.com:XXX.XXX.XXX.XXX  \
+  --volume /mnt/user/appdata/BattleNetPrefill:/Config \
+  tpill90/battlenet-lancache-prefill:latest \
+  prefill
+
+

After saving changes, the final step will be to decide on a schedule, and configure that schedule. Change the schedule drop down from Schedule Disabled, to Custom, which will allow you to specify your desired schedule. Jobs are configured by specifying a Cron expression that describes the schedule to run on.

+

Some examples of cron expressions:

+ + + + + + + + + + + + + + + + + +
ScheduleCron Expression
Every day at 2am0 2 * * *
Every 4 hours0 */4 * * *
+

If the above examples don't cover your use case, crontab.guru is an online cron expression editor that can interactively edit cron expressions, and explain what they mean.

+

Finally after entering a cron expression, click APPLY to save your cron expression. You should now be all set to have BattleNetPrefill run on a schedule!

+

Next Steps

+

If you are new to BattleNetPrefill and would like an introductory tutorial, see the Getting Started guide.

+

Answers to common issues and questions can be found at Frequently Asked Questions.

+ +
+
+ + +
+
+ +
+ +
+ +
+ + + + GitHub + + + + « Previous + + + Next » + + +
+ + + + + + + + + diff --git a/gr/install-guides/Windows-Setup-Guide/index.html b/gr/install-guides/Windows-Setup-Guide/index.html new file mode 100644 index 00000000..45b4c39d --- /dev/null +++ b/gr/install-guides/Windows-Setup-Guide/index.html @@ -0,0 +1,206 @@ + + + + + + + + Windows Setup Guide - battlenet-lancache-prefill wiki + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+ +
+
+ +
+
+ +

Windows Setup Guide

+

Installing BattleNetPrefill

+
    +
  1. Navigate to the Releases page on Github.
  2. +
  3. Download the latest version for Windows. The filename should look like BattleNetPrefill-X.Y.Z-win-x64.zip.
  4. +
  5. Unzip to a directory of your choice. This can be anywhere on your system.
  6. +
+

Optional Windows Setup

+

Configuring your terminal to use Unicode will result in a much nicer experience with BattleNetPrefill, for much nicer looking UI output.

+

UTF8 Comparison

+

As the default console in Windows does not support UTF8, you should instead consider installing Windows Terminal from the Microsoft App Store, or Chocolatey.

+

Once Windows Terminal has been installed you will still need to enable Unicode, as it is not enabled by default. Running the following command in Powershell will enable it if it hasn't already been enabled.

+
if(!(Test-Path $profile))
+{
+    New-Item -Path $profile -Type File -Force
+}
+if(!(gc $profile).Contains("OutputEncoding")) 
+{ 
+    ac $profile "[console]::InputEncoding = [console]::OutputEncoding = [System.Text.UTF8Encoding]::new()";
+    & $profile; 
+}
+
+

Next Steps

+

If you are new to BattleNetPrefill and would like an introductory tutorial, see the Getting Started guide.

+

Answers to common issues and questions can be found at Frequently Asked Questions.

+ +
+
+ + +
+
+ +
+ +
+ +
+ + + + GitHub + + + + « Previous + + + Next » + + +
+ + + + + + + + + diff --git a/gr/install-guides/casts/docker-pull.cast b/gr/install-guides/casts/docker-pull.cast new file mode 100644 index 00000000..60943815 --- /dev/null +++ b/gr/install-guides/casts/docker-pull.cast @@ -0,0 +1,101 @@ +{"version": 2, "width": 120, "height": 30, "timestamp": 1680884423, "env": {"SHELL": "/bin/bash", "TERM": "xterm-256color"}} +[0.016313, "o", "Unable to find image 'tpill90/battlenet-lancache-prefill:latest' locally\r\n"] +[0.434332, "o", "latest: Pulling from tpill90/battlenet-lancache-prefill\r\n\r\n\u001b[1A\u001b[2K\r06d39c85623a: "] +[0.434462, "o", "Pulling fs layer \r\u001b[1B\r\n\u001b[1A\u001b[2K\r79f1c5c049d0: Pulling fs layer \r\u001b[1B\r\n\u001b[1A\u001b[2K\r4f4fb700ef54: Pulling fs layer \r\u001b[1B\r\n\u001b[1A\u001b[2K\r603d43bad8ad: "] +[0.434524, "o", "Pulling fs layer \r\u001b[1B\u001b[1A\u001b[2K\r603d43bad8ad: Waiting \r\u001b[1B"] +[0.62045, "o", "\u001b[2A\u001b[2K\r4f4fb700ef54: Downloading [==================================================>] 32B/32B\r\u001b[2B"] +[0.620568, "o", "\u001b[2A\u001b[2K\r4f4fb700ef54: Verifying Checksum \r\u001b[2B\u001b[2A\u001b[2K\r4f4fb700ef54: Download complete \r\u001b[2B"] +[0.646646, "o", "\u001b[3A\u001b[2K\r79f1c5c049d0: "] +[0.646733, "o", "Downloading [> ] 90.91kB/9.02MB\r\u001b[3B"] +[0.669342, "o", "\u001b[4A\u001b[2K\r06d39c85623a: "] +[0.669416, "o", "Downloading [> ] 277.8kB/27.5MB\r\u001b[4B"] +[0.747908, "o", "\u001b[3A\u001b[2K\r79f1c5c049d0: Downloading [======> ] 1.262MB/9.02MB\r\u001b[3B"] +[0.809192, "o", "\u001b[4A\u001b[2K\r06d39c85623a: Downloading [====> ] 2.259MB/27.5MB\r\u001b[4B"] +[0.849044, "o", "\u001b[3A\u001b[2K\r79f1c5c049d0: "] +[0.84919, "o", "Downloading [=================> ] 3.222MB/9.02MB\r\u001b[3B"] +[0.909725, "o", "\u001b[4A\u001b[2K\r06d39c85623a: "] +[0.909808, "o", "Downloading [==========> ] 5.909MB/27.5MB\r\u001b[4B"] +[0.938522, "o", "\u001b[1A\u001b[2K\r603d43bad8ad: "] +[0.93859, "o", "Downloading [> ] 261.4kB/25.19MB\r\u001b[1B"] +[0.95276, "o", "\u001b[3A\u001b[2K\r79f1c5c049d0: "] +[0.952826, "o", "Downloading [===========================> ] 4.893MB/9.02MB\r\u001b[3B"] +[1.016312, "o", "\u001b[4A\u001b[2K\r06d39c85623a: Downloading [==============> ] 8.166MB/27.5MB\r\u001b[4B"] +[1.053028, "o", "\u001b[3A\u001b[2K\r79f1c5c049d0: Downloading [===================================> ] 6.363MB/9.02MB\r\u001b[3B"] +[1.074684, "o", "\u001b[1A\u001b[2K\r603d43bad8ad: "] +[1.074759, "o", "Downloading [=> ] 780.6kB/25.19MB\r\u001b[1B"] +[1.125504, "o", "\u001b[4A\u001b[2K\r06d39c85623a: "] +[1.125606, "o", "Downloading [==================> ] 10.41MB/27.5MB\r\u001b[4B"] +[1.157185, "o", "\u001b[3A\u001b[2K\r79f1c5c049d0: Downloading [===========================================> ] 7.85MB/9.02MB\r\u001b[3B"] +[1.235775, "o", "\u001b[4A\u001b[2K\r06d39c85623a: "] +[1.235945, "o", "Downloading [=======================> ] 12.65MB/27.5MB\r\u001b[4B"] +[1.236593, "o", "\u001b[3A\u001b[2K\r79f1c5c049d0: Download complete \r\u001b[3B"] +[1.237806, "o", "\u001b[1A\u001b[2K\r603d43bad8ad: Downloading [==> ] 1.309MB/25.19MB\r\u001b[1B"] +[1.3432, "o", "\u001b[4A\u001b[2K\r06d39c85623a: Downloading [=============================> ] 16.02MB/27.5MB\r\u001b[4B"] +[1.391522, "o", "\u001b[1A\u001b[2K\r603d43bad8ad: "] +[1.391653, "o", "Downloading [====> ] 2.095MB/25.19MB\r\u001b[1B"] +[1.446899, "o", "\u001b[4A\u001b[2K\r06d39c85623a: Downloading [===================================> ] 19.38MB/27.5MB\r\u001b[4B"] +[1.531616, "o", "\u001b[1A\u001b[2K\r603d43bad8ad: Downloading [=====> ] 2.882MB/25.19MB\r\u001b[1B"] +[1.552108, "o", "\u001b[4A\u001b[2K\r06d39c85623a: "] +[1.552205, "o", "Downloading [=========================================> ] 23.05MB/27.5MB\r\u001b[4B"] +[1.654833, "o", "\u001b[4A\u001b[2K\r06d39c85623a: Downloading [===============================================> ] 26.4MB/27.5MB\r\u001b[4B"] +[1.672061, "o", "\u001b[1A\u001b[2K\r603d43bad8ad: "] +[1.67217, "o", "Downloading [=======> ] 3.672MB/25.19MB\r\u001b[1B"] +[1.689, "o", "\u001b[4A\u001b[2K\r06d39c85623a: Verifying Checksum \r\u001b[4B"] +[1.689121, "o", "\u001b[4A\u001b[2K\r06d39c85623a: Download complete \r\u001b[4B"] +[1.721617, "o", "\u001b[4A\u001b[2K\r06d39c85623a: Extracting [> ] 294.9kB/27.5MB\r\u001b[4B"] +[1.794559, "o", "\u001b[1A\u001b[2K\r603d43bad8ad: Downloading [=========> ] 4.721MB/25.19MB\r\u001b[1B"] +[1.824655, "o", "\u001b[4A\u001b[2K\r06d39c85623a: "] +[1.824771, "o", "Extracting [============> ] 7.078MB/27.5MB\r\u001b[4B"] +[1.904403, "o", "\u001b[1A\u001b[2K\r603d43bad8ad: Downloading [===========> ] 5.77MB/25.19MB\r\u001b[1B"] +[1.92786, "o", "\u001b[4A\u001b[2K\r06d39c85623a: Extracting [=======================> ] 12.68MB/27.5MB\r\u001b[4B"] +[2.014905, "o", "\u001b[1A\u001b[2K\r603d43bad8ad: Downloading [==============> ] 7.076MB/25.19MB\r\u001b[1B"] +[2.028838, "o", "\u001b[4A\u001b[2K\r06d39c85623a: "] +[2.028902, "o", "Extracting [=====================================> ] 20.64MB/27.5MB\r\u001b[4B"] +[2.125386, "o", "\u001b[1A\u001b[2K\r603d43bad8ad: Downloading [=================> ] 8.649MB/25.19MB\r\u001b[1B"] +[2.131941, "o", "\u001b[4A\u001b[2K\r06d39c85623a: "] +[2.132005, "o", "Extracting [=============================================> ] 24.77MB/27.5MB\r\u001b[4B"] +[2.220875, "o", "\u001b[4A\u001b[2K\r06d39c85623a: Extracting [==================================================>] 27.5MB/27.5MB\r\u001b[4B"] +[2.233917, "o", "\u001b[1A\u001b[2K\r603d43bad8ad: Downloading [====================> ] 10.48MB/25.19MB\r\u001b[1B"] +[2.256545, "o", "\u001b[4A\u001b[2K\r06d39c85623a: Pull complete \r\u001b[4B"] +[2.258396, "o", "\u001b[3A\u001b[2K"] +[2.258437, "o", "\r79f1c5c049d0: Extracting [> ] 98.3kB/9.02MB\r\u001b[3B"] +[2.334187, "o", "\u001b[1A\u001b[2K\r603d43bad8ad: Downloading [========================> ] 12.58MB/25.19MB\r\u001b[1B"] +[2.358725, "o", "\u001b[3A\u001b[2K\r79f1c5c049d0: Extracting [===========================> ] 4.915MB/9.02MB\r\u001b[3B"] +[2.444163, "o", "\u001b[1A\u001b[2K\r603d43bad8ad: Downloading [==============================> ] 15.2MB/25.19MB\r\u001b[1B"] +[2.462044, "o", "\u001b[3A\u001b[2K\r79f1c5c049d0: "] +[2.462172, "o", "Extracting [================================================> ] 8.749MB/9.02MB\r\u001b[3B"] +[2.468877, "o", "\u001b[3A\u001b[2K\r79f1c5c049d0: "] +[2.468944, "o", "Extracting [==================================================>] 9.02MB/9.02MB\r\u001b[3B"] +[2.486298, "o", "\u001b[3A\u001b[2K\r79f1c5c049d0: Pull complete \r\u001b[3B"] +[2.487671, "o", "\u001b[2A\u001b[2K\r4f4fb700ef54: "] +[2.487691, "o", "Extracting [==================================================>] 32B/32B\r\u001b[2B"] +[2.487835, "o", "\u001b[2A\u001b[2K\r4f4fb700ef54: Extracting [==================================================>] 32B/32B\r\u001b[2B"] +[2.518919, "o", "\u001b[2A\u001b[2K\r4f4fb700ef54: Pull complete \r\u001b[2B"] +[2.546619, "o", "\u001b[1A\u001b[2K\r603d43bad8ad: Downloading [===================================> ] 18.09MB/25.19MB\r"] +[2.546691, "o", "\u001b[1B"] +[2.649781, "o", "\u001b[1A\u001b[2K\r603d43bad8ad: Downloading [==========================================> ] 21.49MB/25.19MB\r"] +[2.649897, "o", "\u001b[1B"] +[2.746027, "o", "\u001b[1A\u001b[2K\r603d43bad8ad: Verifying Checksum \r\u001b[1B\u001b[1A"] +[2.746156, "o", "\u001b[2K\r603d43bad8ad: Download complete \r\u001b[1B"] +[2.776909, "o", "\u001b[1A\u001b[2K\r603d43bad8ad: Extracting [> ] 262.1kB/25.19MB\r\u001b[1B"] +[2.878548, "o", "\u001b[1A\u001b[2K\r603d43bad8ad: Extracting [==================> ] 9.437MB/25.19MB\r\u001b[1B"] +[2.981398, "o", "\u001b[1A\u001b[2K\r603d43bad8ad: Extracting [==================================> ] 17.3MB/25.19MB\r\u001b[1B"] +[3.071323, "o", "\u001b[1A\u001b[2K"] +[3.071444, "o", "\r603d43bad8ad: Extracting [==================================================>] 25.19MB/25.19MB\r\u001b[1B"] +[3.080465, "o", "\u001b[1A\u001b[2K\r603d43bad8ad: Pull complete \r\u001b[1B"] +[3.1213, "o", "Digest: sha256:ee1d761f598ffa108ecb0312d8bcda61419900c790d0c91611a7d2f83d0f2b17\r\n"] +[3.123009, "o", "Status: Downloaded newer image for tpill90/battlenet-lancache-prefill:latest\r\n"] +[3.389456, "o", "\u001b[?1h\u001b="] +[3.389663, "o", "\u001b[39;49m"] +[3.396538, "o", "\u001b[39;49m"] +[3.39761, "o", "\u001b[97m"] +[3.397839, "o", "BattleNetPrefill\u001b[39;49m \u001b[39;49m"] +[3.397984, "o", "\u001b[93mv2.0.0\u001b[39;49m\r\n "] +[3.398052, "o", "Automatically fills a Lancache with games from BattleNet, so that subsequent downloads will be \r\n served from the Lancache, improving speeds and reducing load on your internet connection. \r\n\r\n Start by selecting apps for prefill with the 'select-apps' command, then start the prefill using 'prefill'\r\n"] +[3.398094, "o", "\r\n\u001b[39;49m\u001b[97mUSAGE\u001b[39;49m\r\n BattleNetPrefill "] +[3.398984, "o", "\u001b[39;49m\u001b[93m[options]\u001b[39;49m\r\n"] +[3.39917, "o", " BattleNetPrefill \u001b[39;49m\u001b[96m[command]\u001b[39;49m [...]\r\n"] +[3.399219, "o", "\r\n\u001b[39;49m\u001b[97mOPTIONS\u001b[39;49m\r\n"] +[3.400947, "o", " "] +[3.401035, "o", "\u001b[39;49m\u001b[93m-h\u001b[39;49m|\u001b[39;49m\u001b[93m--help\u001b[39;49m Shows help text. "] +[3.4011, "o", "\r\n \u001b[39;49m\u001b[93m--version\u001b[39;49m "] \ No newline at end of file diff --git a/gr/install-guides/casts/make-new-directory.cast b/gr/install-guides/casts/make-new-directory.cast new file mode 100644 index 00000000..6fe4639a --- /dev/null +++ b/gr/install-guides/casts/make-new-directory.cast @@ -0,0 +1,33 @@ +{"version":2,"width":198,"height":50,"timestamp":1686252407,"theme":{},"env":{"SHELL":"/bin/bash","TERM":"xterm-256color"}} +[0.183,"o","\u001b]0;tim@lancache: ~\u0007\u001b[01;32mtim@lancache\u001b[00m:\u001b[01;34m~\u001b[00m$ "] +[0.674,"o","m"] +[0.876,"o","k"] +[1.201,"o","d"] +[1.284,"o","i"] +[1.391,"o","r"] +[1.562,"o"," "] +[1.757,"o","B"] +[1.937,"o","a"] +[2.019,"o","t"] +[2.14,"o","t"] +[2.228,"o","l"] +[2.349,"o","e"] +[2.765,"o","N"] +[2.921,"o","e"] +[2.984,"o","t"] +[3.192,"o","P"] +[3.273,"o","r"] +[3.369,"o","e"] +[3.487,"o","f"] +[3.56,"o","i"] +[3.724,"o","l"] +[3.852,"o","l"] +[4.05,"o","\r\n"] +[4.052,"o","\u001b]0;tim@lancache: ~\u0007\u001b[01;32mtim@lancache\u001b[00m:\u001b[01;34m~\u001b[00m$ "] +[4.329,"o","c"] +[4.507,"o","d"] +[4.602,"o"," "] +[4.904,"o","B"] +[5.253,"o","attleNetPrefill/"] +[6.055,"o","\r\n"] +[6.056,"o","\u001b]0;tim@lancache: ~/BattleNetPrefill\u0007\u001b[01;32mtim@lancache\u001b[00m:\u001b[01;34m~/BattleNetPrefill\u001b[00m$ "] diff --git a/gr/install-guides/casts/successful-linux-install.cast b/gr/install-guides/casts/successful-linux-install.cast new file mode 100644 index 00000000..19d6e28b --- /dev/null +++ b/gr/install-guides/casts/successful-linux-install.cast @@ -0,0 +1,15 @@ +{"version": 2, "width": 120, "height": 30, "timestamp": 1682212566, "env": {"SHELL": "/bin/bash", "TERM": "xterm-256color"}} +[0.004051, "o", "\u001b[0;33m Checking for latest version \u001b[0m\r\n"] +[0.514142, "o", " Found latest version : \u001b[0;36m 2.0.0 \u001b[0m\r\n"] +[0.514293, "o", "\u001b[0;33m Downloading... \u001b[0m\r\n"] +[0.849332, "o", "\rBattleNetPrefill-2.0.0-linux-x64. 0%[ ] 0 --.-KB/s "] +[1.053832, "o", "\rBattleNetPrefill-2.0.0-linux-x64. 1%[ ] 454.94K 2.17MB/s "] +[1.255286, "o", "\rBattleNetPrefill-2.0.0-linux-x64. 5%[=> ] 1.26M 3.10MB/s "] +[1.456256, "o", "\rBattleNetPrefill-2.0.0-linux-x64. 11%[====> ] 2.68M 4.42MB/s "] +[1.656278, "o", "\rBattleNetPrefill-2.0.0-linux-x64. 21%[=========> ] 4.95M 6.13MB/s "] +[1.856627, "o", "\rBattleNetPrefill-2.0.0-linux-x64. 38%[==================> ] 8.90M 8.84MB/s "] +[2.056788, "o", "\rBattleNetPrefill-2.0.0-linux-x64. 61%[=============================> ] 14.37M 11.9MB/s "] +[2.257092, "o", "\rBattleNetPrefill-2.0.0-linux-x64. 90%[============================================> ] 20.93M 14.9MB/s "] +[2.311783, "o", "\rBattleNetPrefill-2.0.0-linux-x64. 100%[=================================================>] 23.18M 15.9MB/s in 1.5s \r\n"] +[2.312848, "o", "\u001b[0;33m Unzipping... \u001b[0m\r\n"] +[2.690844, "o", " \u001b[0;36m Complete! \u001b[0m\r\n"] diff --git a/gr/install-guides/casts/systemd-service-logs.cast b/gr/install-guides/casts/systemd-service-logs.cast new file mode 100644 index 00000000..dad507c3 --- /dev/null +++ b/gr/install-guides/casts/systemd-service-logs.cast @@ -0,0 +1,4 @@ +{"version": 2, "width": 120, "height": 30, "timestamp": 1682209691, "env": {"SHELL": "/bin/bash", "TERM": "xterm-256color"}} +[0.008427, "o", "\u001b[?1h\u001b=\r"] +[0.013491, "o", "● battlenetprefill.service - BattleNetPrefill\u001b[m\r\n Loaded: loaded (/etc/systemd/system/battlenetprefill.service; enabled; vendor preset: enabled)\u001b[m\r\n Active: inactive (dead) since Sun 2023-04-23 00:17:01 UTC; 11min ago\u001b[m\r\nTriggeredBy: \u001b[0;1;32m●\u001b[0m battlenetprefill.timer\u001b[m\r\n Main PID: 2657978 (code=exited, status=0/SUCCESS)\u001b[m\r\n\u001b[m\r\nApr 23 00:17:01 lancache BattleNetPrefill[2657978]: Prefilled 1 apps in 03.1053\u001b[m\r\nApr 23 00:17:01 lancache BattleNetPrefill[2657978]: \u001b[m\r\nApr 23 00:17:01 lancache BattleNetPrefill[2657978]: Updated │ Up To Date\u001b[m\r\nApr 23 00:17:01 lancache BattleNetPrefill[2657978]: ━━━━━━━━━┿━━━━━━━━━━━━\u001b[m\r\nApr 23 00:17:01 lancache BattleNetPrefill[2657978]: 0 │ 1\u001b[m\r\nApr 23 00:17:01 lancache BattleNetPrefill[2657978]: \u001b[m\r\nApr 23 00:17:01 lancache BattleNetPrefill[2657978]: Disconnecting\u001b[m\r\nApr 23 00:17:01 lancache BattleNetPrefill[2657978]: [12:17:01 AM] Disconnected from Steam!\u001b[m\r\nApr 23 00:"] +[0.01359, "o", "17:01 lancache systemd[1]: battlenetprefill.service: Succeeded.\u001b[m\r\nApr 23 00:17:01 lancache systemd[1]: Finished BattleNetPrefill.\u001b[m\r\n\r\u001b[K\u001b[?1l\u001b>"] diff --git a/gr/install-guides/casts/systemd-timer-status.cast b/gr/install-guides/casts/systemd-timer-status.cast new file mode 100644 index 00000000..1f330610 --- /dev/null +++ b/gr/install-guides/casts/systemd-timer-status.cast @@ -0,0 +1,4 @@ +{"version": 2, "width": 120, "height": 30, "timestamp": 1682209197, "env": {"SHELL": "/bin/bash", "TERM": "xterm-256color"}} +[0.008024, "o", "\u001b[?1h\u001b=\r"] +[0.012229, "o", "\u001b[0;1;32m●\u001b[0m battlenetprefill.timer - BattleNetPrefill run daily\u001b[m\r\n Loaded: loaded (/etc/systemd/system/battlenetprefill.timer; enabled; vendor preset: enabled)\u001b[m\r\n Active: \u001b[0;1;32mactive (waiting)\u001b[0m since Sun 2023-04-23 00:16:58 UTC; 2min 59s ago\u001b[m\r\n Trigger: Sun 2023-04-23 04:00:00 UTC; 3h 40min left\u001b[m\r\n Triggers: ● battlenetprefill.service\u001b[m\r\n\u001b[m\r\nApr 23 00:16:58 lancache systemd[1]: Started BattleNetPrefill run daily.\u001b[m\r\n"] +[0.012304, "o", "\r\u001b[K\u001b[?1l\u001b>"] diff --git a/images/install-guides/ConsoleWithUtf8.png b/images/install-guides/ConsoleWithUtf8.png new file mode 100644 index 00000000..719682e1 Binary files /dev/null and b/images/install-guides/ConsoleWithUtf8.png differ diff --git a/images/install-guides/Create-SteamPrefill-Directory.png b/images/install-guides/Create-SteamPrefill-Directory.png new file mode 100644 index 00000000..fe1d3770 Binary files /dev/null and b/images/install-guides/Create-SteamPrefill-Directory.png differ diff --git a/images/install-guides/unraid-docker-typical-setup.png b/images/install-guides/unraid-docker-typical-setup.png new file mode 100644 index 00000000..53d9822d Binary files /dev/null and b/images/install-guides/unraid-docker-typical-setup.png differ diff --git a/images/install-guides/unraid-userscript-community-app.png b/images/install-guides/unraid-userscript-community-app.png new file mode 100644 index 00000000..ebe22e68 Binary files /dev/null and b/images/install-guides/unraid-userscript-community-app.png differ diff --git a/images/install-guides/unraid-userscripts-button.png b/images/install-guides/unraid-userscripts-button.png new file mode 100644 index 00000000..36baa976 Binary files /dev/null and b/images/install-guides/unraid-userscripts-button.png differ diff --git a/img/favicon.ico b/img/favicon.ico new file mode 100644 index 00000000..e85006a3 Binary files /dev/null and b/img/favicon.ico differ diff --git a/index.html b/index.html new file mode 100644 index 00000000..da5eb035 --- /dev/null +++ b/index.html @@ -0,0 +1,180 @@ + + + + + + + + battlenet-lancache-prefill wiki + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+ +
+
+ +
+
+ +

BattleNetPrefill is a tool used to automate filling a Lancache with games from BattleNet, so that subsequent downloads for the same content will be served from the Lancache, improving speeds and reducing load on your internet connection.

+

Getting started?

+

Check out the install guides for various platforms: Linux Setup Guide, Windows Setup Guide, Docker Setup Guide, and Unraid Setup Guide.

+

Interesting in Contributing?

+

To get started compiling the project, see Compiling From Source.
+Want to make updates to the documentation? See Working With Project Documentation.

+ +
+
+ + +
+ +
+ +
+
+ + +
+
+ +
+ +
+ +
+ + + + GitHub + + + + + Next » + + +
+ + + + + + + + + + + diff --git a/install-guides/Docker-Setup-Guide/index.html b/install-guides/Docker-Setup-Guide/index.html new file mode 100644 index 00000000..856c2316 --- /dev/null +++ b/install-guides/Docker-Setup-Guide/index.html @@ -0,0 +1,203 @@ + + + + + + + + Docker Setup Guide - battlenet-lancache-prefill wiki + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+ +
+
+ +
+
+ +

Docker Setup Guide

+

This guide is intended for getting started with the BattleNetPrefill Docker image (DockerHub), and to become familiarized with how to interact with it. This guide does not intend to be a detailed guide on how to use BattleNetPrefill itself, which can be found in the Getting Started guide.

+
+

Note

+

Docker is not strictly required to run BattleNetPrefill, as it is a completely self-contained portable app.

+
+

Basic Usage Via Command Line

+

To download and run the latest version of the container, open up a terminal and run the following command:

+
docker run -it --rm --net=host \
+  --volume ~/.config/BattleNetPrefill:/Config \
+  tpill90/battlenet-lancache-prefill:latest 
+
+

This command is the same as running BattleNetPrefill from the command line with no options, and if successful should produce the following output:

+
+


+

At this point, you will be able to run any of the COMMANDS listed in the output by appending the desired command at the end, for example with select-apps:

+
docker run -it --rm --net=host  \
+  --volume ~/.config/BattleNetPrefill:/Config \
+  tpill90/battlenet-lancache-prefill:latest \
+  select-apps
+
+

Next Steps

+

If you are new to BattleNetPrefill and would like an introductory tutorial, see the Getting Started guide.

+

Answers to common issues and questions can be found at Frequently Asked Questions.

+ +
+
+ + +
+
+ +
+ +
+ +
+ + + + GitHub + + + + « Previous + + + Next » + + +
+ + + + + + + + + diff --git a/install-guides/Linux-Setup-Guide/index.html b/install-guides/Linux-Setup-Guide/index.html new file mode 100644 index 00000000..8bef02ed --- /dev/null +++ b/install-guides/Linux-Setup-Guide/index.html @@ -0,0 +1,230 @@ + + + + + + + + Linux Setup Guide - battlenet-lancache-prefill wiki + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+ +
+
+ +
+
+ +

Linux Setup Guide

+

This guide is written to help Linux beginners successfully download BattleNetPrefill on their Lancache caching server.

+

Installing Prerequisites

+

Prior to installing BattleNetPrefill we will need to make sure that curl, jq, and unzip are already installed on our system. Depending on your machine's configuration, this software may or may not already be installed. Regardless, the following steps will ensure that everything needed is successfully installed.

+
+

Note

+

These steps assume that you are using Ubuntu/Debian. Depending on which Linux distro you are using, you may have to use slightly different commands.

+
+

To run the following commands, open up a new terminal session, and enter the following:

+
# Makes sure that the latest app versions will be installed
+apt-get update
+
+# Installs the required software
+apt-get install curl jq unzip wget -y
+
+
+

Warning

+

You may run into a "Could not open lock file" error when running apt-get install, and will need to prefix the command with sudo

+
+

Once the install command has finished successfully, we can move on to installing BattleNetPrefill.

+

Installing BattleNetPrefill

+

We will be using a script to assist with installing BattleNetPrefill for the first time. This will be helpful as it will save us from running several manual steps.

+

To begin, open up a new terminal session. We will want to create a new directory to install BattleNetPrefill into. For example, to create the directory and to move into it, run

+
mkdir BattleNetPrefill
+cd BattleNetPrefill/
+
+

After running the above commands successfully, you should see similar output in your terminal :

+
+


+

We can now move on to downloading the install script from the repo, and running it to install BattleNetPrefill

+
# Downloads the install script
+curl -o update.sh --location "https://raw.githubusercontent.com/tpill90/battlenet-lancache-prefill/master/scripts/update.sh"
+
+# Allows the install script to be executed
+chmod +x update.sh
+
+# Does the install!
+./update.sh
+
+# Allows BattleNetPrefill to be executed
+chmod +x ./BattleNetPrefill
+
+

If everything worked as expected, you should see output similar to below

+
+


+

BattleNetPrefill is now installed on your machine! You can now run it with ./BattleNetPrefill

+

Next Steps

+

If you are new to BattleNetPrefill and would like an introductory tutorial, see the Getting Started guide.

+

Answers to common issues and questions can be found at Frequently Asked Questions.

+ +
+
+ + +
+
+ +
+ +
+ +
+ + + + GitHub + + + + « Previous + + + Next » + + +
+ + + + + + + + + diff --git a/install-guides/Scheduled-Job/index.html b/install-guides/Scheduled-Job/index.html new file mode 100644 index 00000000..3344d1ac --- /dev/null +++ b/install-guides/Scheduled-Job/index.html @@ -0,0 +1,239 @@ + + + + + + + + Configuring a Nightly Job - battlenet-lancache-prefill wiki + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+ +
+
+ +
+
+ +

Configuring a Nightly Job

+
+

Note

+

This guide assumes that you have already installed BattleNetPrefill on your system. If you have not yet installed BattleNetPrefill, see Linux Setup Guide

+
+

Configuring The Schedule

+

We will first need to configure a timer which will configure the schedule that BattleNetPrefill will run on. In this example, we will setup a schedule that will run nightly at 4am local time. This schedule was chosen

+

You should create a new file named /etc/systemd/system/battlenetprefill.timer, and save the following configuration into that file.

+
[Unit]
+Description=BattleNetPrefill run daily
+Requires=battlenetprefill.service
+
+[Timer]
+# Runs every day at 4am (local time)
+OnCalendar=*-*-* 4:00:00
+
+# Set to true so we can store when the timer last triggered on disk.
+Persistent=true
+
+[Install]
+WantedBy=timers.target
+
+
+

Configuring The Job

+

Next, well setup the job that will be triggered nightly by the timer that we previously setup. Create a new file /etc/systemd/system/battlenetprefill.service, and save the following configuration into the file.

+
+

Note

+

The values of User, WorkingDirectory, and ExecStart will need to be configured to point to your BattleNetPrefill install location.

+
+
[Unit]
+Description=BattleNetPrefill
+After=remote-fs.target
+Wants=remote-fs.target
+
+[Service]
+Type=oneshot
+# Sets the job to the lowest priority
+Nice=19
+User=# Replace with your username
+WorkingDirectory=# Set this to the directory where BattleNetPrefill is installed.  E.g /home/tim/Prefills
+ExecStart=# Set this to match your working directory from the line above.  E.g. /home/tim/Prefills/BattleNetPrefill prefill --no-ansi
+
+[Install]
+WantedBy=multi-user.target
+
+

Once these two files are setup, you can enable the scheduled job with:

+
sudo systemctl daemon-reload
+sudo systemctl start battlenetprefill.timer
+sudo systemctl enable battlenetprefill
+
+

If everything was configured correctly, you should see similar output from running sudo systemctl status battlenetprefill.timer

+
+


+
+

Checking Service Logs

+

It is possible to check on the status of the service using sudo systemctl status battlenetprefill, which will display both the service's status as well as its most recent logs.

+
+


+ +
+
+ + +
+
+ +
+ +
+ +
+ + + + GitHub + + + + « Previous + + + Next » + + +
+ + + + + + + + + diff --git a/install-guides/Unraid-Setup-Guide/index.html b/install-guides/Unraid-Setup-Guide/index.html new file mode 100644 index 00000000..8a4bc313 --- /dev/null +++ b/install-guides/Unraid-Setup-Guide/index.html @@ -0,0 +1,248 @@ + + + + + + + + Unraid Setup Guide - battlenet-lancache-prefill wiki + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+ +
+
+ +
+
+ +

Unraid Setup Guide

+

Prior to installing BattleNetPrefill via docker you should ensure you have a working Lancache caching and Lancache DNS server installed on your system.

+
+

Note

+

These steps assume that you are running Lancache caching server as a docker container on a custom network configured for your own subnet.

+
+

Unraid Lancache Setup

+

Installing BattleNetPrefill Docker Image

+

Again from your Unraid terminal you will download and run the BattleNetPrefill Docker image.

+
+

Note

+

--add-host=level3.blizzard.com:XXX.XXX.XXX.XXX is required in order to tell the container the IP Address of your Lancache server running on your custom network. If not specified, BattleNetPrefill will be unable to locate the Lancache server, and will be unable to prefill.

+
+

Next you will run the following command to setup the container, and start configuring which apps to prefill.

+
docker run -it --rm \
+  --net=br0 \
+  --add-host=level3.blizzard.com:XXX.XXX.XXX.XXX  \
+  --volume /mnt/user/appdata/BattleNetPrefill:/Config \
+  tpill90/battlenet-lancache-prefill:latest \
+  select-apps
+
+

To get familiarized with how to use BattleNetPrefill, see the Getting Started guide.

+

Setting up a schedule

+

The User Scripts Community App can be used to create and configure custom scheduled jobs on Unraid. To begin, ensure that the app is installed from Unraid's App tab, if it isn't already installed.

+

Unraid Community Apps

+

After installing User Scripts, click Unraid's Plugins tab, then the User Scripts icon to open up the settings for scheduled jobs.
+User Scripts Settings button

+

Next, add a new script by clicking ADD NEW SCRIPT, and give it the name BattleNetPrefill. After it has been created, click the orange gear next to BattleNetPrefill, and select EDIT SCRIPT.
+Adding the following command will configure the scheduled job to run the prefill command every time it is configured. Be sure sure to change XXX.XXX.XXX.XXX to your Lancache server IP.

+
+

Note

+

This command is almost identical to the one we used previously, except for --it being omitted. This will make the container run non-interactively, as required by User Scripts

+
+
#!/bin/bash
+docker rm -f BattleNetPrefill &>/dev/null && echo 'Removed old container from previous run';
+docker run --rm --name BattleNetPrefill \
+  --net=br0 \
+  --add-host=level3.blizzard.com:XXX.XXX.XXX.XXX  \
+  --volume /mnt/user/appdata/BattleNetPrefill:/Config \
+  tpill90/battlenet-lancache-prefill:latest \
+  prefill
+
+

After saving changes, the final step will be to decide on a schedule, and configure that schedule. Change the schedule drop down from Schedule Disabled, to Custom, which will allow you to specify your desired schedule. Jobs are configured by specifying a Cron expression that describes the schedule to run on.

+

Some examples of cron expressions:

+ + + + + + + + + + + + + + + + + +
ScheduleCron Expression
Every day at 2am0 2 * * *
Every 4 hours0 */4 * * *
+

If the above examples don't cover your use case, crontab.guru is an online cron expression editor that can interactively edit cron expressions, and explain what they mean.

+

Finally after entering a cron expression, click APPLY to save your cron expression. You should now be all set to have BattleNetPrefill run on a schedule!

+

Next Steps

+

If you are new to BattleNetPrefill and would like an introductory tutorial, see the Getting Started guide.

+

Answers to common issues and questions can be found at Frequently Asked Questions.

+ +
+
+ + +
+
+ +
+ +
+ +
+ + + + GitHub + + + + « Previous + + + Next » + + +
+ + + + + + + + + diff --git a/install-guides/Windows-Setup-Guide/index.html b/install-guides/Windows-Setup-Guide/index.html new file mode 100644 index 00000000..1d566062 --- /dev/null +++ b/install-guides/Windows-Setup-Guide/index.html @@ -0,0 +1,206 @@ + + + + + + + + Windows Setup Guide - battlenet-lancache-prefill wiki + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+ +
+
+ +
+
+ +

Windows Setup Guide

+

Installing BattleNetPrefill

+
    +
  1. Navigate to the Releases page on Github.
  2. +
  3. Download the latest version for Windows. The filename should look like BattleNetPrefill-X.Y.Z-win-x64.zip.
  4. +
  5. Unzip to a directory of your choice. This can be anywhere on your system.
  6. +
+

Optional Windows Setup

+

Configuring your terminal to use Unicode will result in a much nicer experience with BattleNetPrefill, for much nicer looking UI output.

+

UTF8 Comparison

+

As the default console in Windows does not support UTF8, you should instead consider installing Windows Terminal from the Microsoft App Store, or Chocolatey.

+

Once Windows Terminal has been installed you will still need to enable Unicode, as it is not enabled by default. Running the following command in Powershell will enable it if it hasn't already been enabled.

+
if(!(Test-Path $profile))
+{
+    New-Item -Path $profile -Type File -Force
+}
+if(!(gc $profile).Contains("OutputEncoding")) 
+{ 
+    ac $profile "[console]::InputEncoding = [console]::OutputEncoding = [System.Text.UTF8Encoding]::new()";
+    & $profile; 
+}
+
+

Next Steps

+

If you are new to BattleNetPrefill and would like an introductory tutorial, see the Getting Started guide.

+

Answers to common issues and questions can be found at Frequently Asked Questions.

+ +
+
+ + +
+
+ +
+ +
+ +
+ + + + GitHub + + + + « Previous + + + Next » + + +
+ + + + + + + + + diff --git a/install-guides/casts/docker-pull.cast b/install-guides/casts/docker-pull.cast new file mode 100644 index 00000000..60943815 --- /dev/null +++ b/install-guides/casts/docker-pull.cast @@ -0,0 +1,101 @@ +{"version": 2, "width": 120, "height": 30, "timestamp": 1680884423, "env": {"SHELL": "/bin/bash", "TERM": "xterm-256color"}} +[0.016313, "o", "Unable to find image 'tpill90/battlenet-lancache-prefill:latest' locally\r\n"] +[0.434332, "o", "latest: Pulling from tpill90/battlenet-lancache-prefill\r\n\r\n\u001b[1A\u001b[2K\r06d39c85623a: "] +[0.434462, "o", "Pulling fs layer \r\u001b[1B\r\n\u001b[1A\u001b[2K\r79f1c5c049d0: Pulling fs layer \r\u001b[1B\r\n\u001b[1A\u001b[2K\r4f4fb700ef54: Pulling fs layer \r\u001b[1B\r\n\u001b[1A\u001b[2K\r603d43bad8ad: "] +[0.434524, "o", "Pulling fs layer \r\u001b[1B\u001b[1A\u001b[2K\r603d43bad8ad: Waiting \r\u001b[1B"] +[0.62045, "o", "\u001b[2A\u001b[2K\r4f4fb700ef54: Downloading [==================================================>] 32B/32B\r\u001b[2B"] +[0.620568, "o", "\u001b[2A\u001b[2K\r4f4fb700ef54: Verifying Checksum \r\u001b[2B\u001b[2A\u001b[2K\r4f4fb700ef54: Download complete \r\u001b[2B"] +[0.646646, "o", "\u001b[3A\u001b[2K\r79f1c5c049d0: "] +[0.646733, "o", "Downloading [> ] 90.91kB/9.02MB\r\u001b[3B"] +[0.669342, "o", "\u001b[4A\u001b[2K\r06d39c85623a: "] +[0.669416, "o", "Downloading [> ] 277.8kB/27.5MB\r\u001b[4B"] +[0.747908, "o", "\u001b[3A\u001b[2K\r79f1c5c049d0: Downloading [======> ] 1.262MB/9.02MB\r\u001b[3B"] +[0.809192, "o", "\u001b[4A\u001b[2K\r06d39c85623a: Downloading [====> ] 2.259MB/27.5MB\r\u001b[4B"] +[0.849044, "o", "\u001b[3A\u001b[2K\r79f1c5c049d0: "] +[0.84919, "o", "Downloading [=================> ] 3.222MB/9.02MB\r\u001b[3B"] +[0.909725, "o", "\u001b[4A\u001b[2K\r06d39c85623a: "] +[0.909808, "o", "Downloading [==========> ] 5.909MB/27.5MB\r\u001b[4B"] +[0.938522, "o", "\u001b[1A\u001b[2K\r603d43bad8ad: "] +[0.93859, "o", "Downloading [> ] 261.4kB/25.19MB\r\u001b[1B"] +[0.95276, "o", "\u001b[3A\u001b[2K\r79f1c5c049d0: "] +[0.952826, "o", "Downloading [===========================> ] 4.893MB/9.02MB\r\u001b[3B"] +[1.016312, "o", "\u001b[4A\u001b[2K\r06d39c85623a: Downloading [==============> ] 8.166MB/27.5MB\r\u001b[4B"] +[1.053028, "o", "\u001b[3A\u001b[2K\r79f1c5c049d0: Downloading [===================================> ] 6.363MB/9.02MB\r\u001b[3B"] +[1.074684, "o", "\u001b[1A\u001b[2K\r603d43bad8ad: "] +[1.074759, "o", "Downloading [=> ] 780.6kB/25.19MB\r\u001b[1B"] +[1.125504, "o", "\u001b[4A\u001b[2K\r06d39c85623a: "] +[1.125606, "o", "Downloading [==================> ] 10.41MB/27.5MB\r\u001b[4B"] +[1.157185, "o", "\u001b[3A\u001b[2K\r79f1c5c049d0: Downloading [===========================================> ] 7.85MB/9.02MB\r\u001b[3B"] +[1.235775, "o", "\u001b[4A\u001b[2K\r06d39c85623a: "] +[1.235945, "o", "Downloading [=======================> ] 12.65MB/27.5MB\r\u001b[4B"] +[1.236593, "o", "\u001b[3A\u001b[2K\r79f1c5c049d0: Download complete \r\u001b[3B"] +[1.237806, "o", "\u001b[1A\u001b[2K\r603d43bad8ad: Downloading [==> ] 1.309MB/25.19MB\r\u001b[1B"] +[1.3432, "o", "\u001b[4A\u001b[2K\r06d39c85623a: Downloading [=============================> ] 16.02MB/27.5MB\r\u001b[4B"] +[1.391522, "o", "\u001b[1A\u001b[2K\r603d43bad8ad: "] +[1.391653, "o", "Downloading [====> ] 2.095MB/25.19MB\r\u001b[1B"] +[1.446899, "o", "\u001b[4A\u001b[2K\r06d39c85623a: Downloading [===================================> ] 19.38MB/27.5MB\r\u001b[4B"] +[1.531616, "o", "\u001b[1A\u001b[2K\r603d43bad8ad: Downloading [=====> ] 2.882MB/25.19MB\r\u001b[1B"] +[1.552108, "o", "\u001b[4A\u001b[2K\r06d39c85623a: "] +[1.552205, "o", "Downloading [=========================================> ] 23.05MB/27.5MB\r\u001b[4B"] +[1.654833, "o", "\u001b[4A\u001b[2K\r06d39c85623a: Downloading [===============================================> ] 26.4MB/27.5MB\r\u001b[4B"] +[1.672061, "o", "\u001b[1A\u001b[2K\r603d43bad8ad: "] +[1.67217, "o", "Downloading [=======> ] 3.672MB/25.19MB\r\u001b[1B"] +[1.689, "o", "\u001b[4A\u001b[2K\r06d39c85623a: Verifying Checksum \r\u001b[4B"] +[1.689121, "o", "\u001b[4A\u001b[2K\r06d39c85623a: Download complete \r\u001b[4B"] +[1.721617, "o", "\u001b[4A\u001b[2K\r06d39c85623a: Extracting [> ] 294.9kB/27.5MB\r\u001b[4B"] +[1.794559, "o", "\u001b[1A\u001b[2K\r603d43bad8ad: Downloading [=========> ] 4.721MB/25.19MB\r\u001b[1B"] +[1.824655, "o", "\u001b[4A\u001b[2K\r06d39c85623a: "] +[1.824771, "o", "Extracting [============> ] 7.078MB/27.5MB\r\u001b[4B"] +[1.904403, "o", "\u001b[1A\u001b[2K\r603d43bad8ad: Downloading [===========> ] 5.77MB/25.19MB\r\u001b[1B"] +[1.92786, "o", "\u001b[4A\u001b[2K\r06d39c85623a: Extracting [=======================> ] 12.68MB/27.5MB\r\u001b[4B"] +[2.014905, "o", "\u001b[1A\u001b[2K\r603d43bad8ad: Downloading [==============> ] 7.076MB/25.19MB\r\u001b[1B"] +[2.028838, "o", "\u001b[4A\u001b[2K\r06d39c85623a: "] +[2.028902, "o", "Extracting [=====================================> ] 20.64MB/27.5MB\r\u001b[4B"] +[2.125386, "o", "\u001b[1A\u001b[2K\r603d43bad8ad: Downloading [=================> ] 8.649MB/25.19MB\r\u001b[1B"] +[2.131941, "o", "\u001b[4A\u001b[2K\r06d39c85623a: "] +[2.132005, "o", "Extracting [=============================================> ] 24.77MB/27.5MB\r\u001b[4B"] +[2.220875, "o", "\u001b[4A\u001b[2K\r06d39c85623a: Extracting [==================================================>] 27.5MB/27.5MB\r\u001b[4B"] +[2.233917, "o", "\u001b[1A\u001b[2K\r603d43bad8ad: Downloading [====================> ] 10.48MB/25.19MB\r\u001b[1B"] +[2.256545, "o", "\u001b[4A\u001b[2K\r06d39c85623a: Pull complete \r\u001b[4B"] +[2.258396, "o", "\u001b[3A\u001b[2K"] +[2.258437, "o", "\r79f1c5c049d0: Extracting [> ] 98.3kB/9.02MB\r\u001b[3B"] +[2.334187, "o", "\u001b[1A\u001b[2K\r603d43bad8ad: Downloading [========================> ] 12.58MB/25.19MB\r\u001b[1B"] +[2.358725, "o", "\u001b[3A\u001b[2K\r79f1c5c049d0: Extracting [===========================> ] 4.915MB/9.02MB\r\u001b[3B"] +[2.444163, "o", "\u001b[1A\u001b[2K\r603d43bad8ad: Downloading [==============================> ] 15.2MB/25.19MB\r\u001b[1B"] +[2.462044, "o", "\u001b[3A\u001b[2K\r79f1c5c049d0: "] +[2.462172, "o", "Extracting [================================================> ] 8.749MB/9.02MB\r\u001b[3B"] +[2.468877, "o", "\u001b[3A\u001b[2K\r79f1c5c049d0: "] +[2.468944, "o", "Extracting [==================================================>] 9.02MB/9.02MB\r\u001b[3B"] +[2.486298, "o", "\u001b[3A\u001b[2K\r79f1c5c049d0: Pull complete \r\u001b[3B"] +[2.487671, "o", "\u001b[2A\u001b[2K\r4f4fb700ef54: "] +[2.487691, "o", "Extracting [==================================================>] 32B/32B\r\u001b[2B"] +[2.487835, "o", "\u001b[2A\u001b[2K\r4f4fb700ef54: Extracting [==================================================>] 32B/32B\r\u001b[2B"] +[2.518919, "o", "\u001b[2A\u001b[2K\r4f4fb700ef54: Pull complete \r\u001b[2B"] +[2.546619, "o", "\u001b[1A\u001b[2K\r603d43bad8ad: Downloading [===================================> ] 18.09MB/25.19MB\r"] +[2.546691, "o", "\u001b[1B"] +[2.649781, "o", "\u001b[1A\u001b[2K\r603d43bad8ad: Downloading [==========================================> ] 21.49MB/25.19MB\r"] +[2.649897, "o", "\u001b[1B"] +[2.746027, "o", "\u001b[1A\u001b[2K\r603d43bad8ad: Verifying Checksum \r\u001b[1B\u001b[1A"] +[2.746156, "o", "\u001b[2K\r603d43bad8ad: Download complete \r\u001b[1B"] +[2.776909, "o", "\u001b[1A\u001b[2K\r603d43bad8ad: Extracting [> ] 262.1kB/25.19MB\r\u001b[1B"] +[2.878548, "o", "\u001b[1A\u001b[2K\r603d43bad8ad: Extracting [==================> ] 9.437MB/25.19MB\r\u001b[1B"] +[2.981398, "o", "\u001b[1A\u001b[2K\r603d43bad8ad: Extracting [==================================> ] 17.3MB/25.19MB\r\u001b[1B"] +[3.071323, "o", "\u001b[1A\u001b[2K"] +[3.071444, "o", "\r603d43bad8ad: Extracting [==================================================>] 25.19MB/25.19MB\r\u001b[1B"] +[3.080465, "o", "\u001b[1A\u001b[2K\r603d43bad8ad: Pull complete \r\u001b[1B"] +[3.1213, "o", "Digest: sha256:ee1d761f598ffa108ecb0312d8bcda61419900c790d0c91611a7d2f83d0f2b17\r\n"] +[3.123009, "o", "Status: Downloaded newer image for tpill90/battlenet-lancache-prefill:latest\r\n"] +[3.389456, "o", "\u001b[?1h\u001b="] +[3.389663, "o", "\u001b[39;49m"] +[3.396538, "o", "\u001b[39;49m"] +[3.39761, "o", "\u001b[97m"] +[3.397839, "o", "BattleNetPrefill\u001b[39;49m \u001b[39;49m"] +[3.397984, "o", "\u001b[93mv2.0.0\u001b[39;49m\r\n "] +[3.398052, "o", "Automatically fills a Lancache with games from BattleNet, so that subsequent downloads will be \r\n served from the Lancache, improving speeds and reducing load on your internet connection. \r\n\r\n Start by selecting apps for prefill with the 'select-apps' command, then start the prefill using 'prefill'\r\n"] +[3.398094, "o", "\r\n\u001b[39;49m\u001b[97mUSAGE\u001b[39;49m\r\n BattleNetPrefill "] +[3.398984, "o", "\u001b[39;49m\u001b[93m[options]\u001b[39;49m\r\n"] +[3.39917, "o", " BattleNetPrefill \u001b[39;49m\u001b[96m[command]\u001b[39;49m [...]\r\n"] +[3.399219, "o", "\r\n\u001b[39;49m\u001b[97mOPTIONS\u001b[39;49m\r\n"] +[3.400947, "o", " "] +[3.401035, "o", "\u001b[39;49m\u001b[93m-h\u001b[39;49m|\u001b[39;49m\u001b[93m--help\u001b[39;49m Shows help text. "] +[3.4011, "o", "\r\n \u001b[39;49m\u001b[93m--version\u001b[39;49m "] \ No newline at end of file diff --git a/install-guides/casts/make-new-directory.cast b/install-guides/casts/make-new-directory.cast new file mode 100644 index 00000000..6fe4639a --- /dev/null +++ b/install-guides/casts/make-new-directory.cast @@ -0,0 +1,33 @@ +{"version":2,"width":198,"height":50,"timestamp":1686252407,"theme":{},"env":{"SHELL":"/bin/bash","TERM":"xterm-256color"}} +[0.183,"o","\u001b]0;tim@lancache: ~\u0007\u001b[01;32mtim@lancache\u001b[00m:\u001b[01;34m~\u001b[00m$ "] +[0.674,"o","m"] +[0.876,"o","k"] +[1.201,"o","d"] +[1.284,"o","i"] +[1.391,"o","r"] +[1.562,"o"," "] +[1.757,"o","B"] +[1.937,"o","a"] +[2.019,"o","t"] +[2.14,"o","t"] +[2.228,"o","l"] +[2.349,"o","e"] +[2.765,"o","N"] +[2.921,"o","e"] +[2.984,"o","t"] +[3.192,"o","P"] +[3.273,"o","r"] +[3.369,"o","e"] +[3.487,"o","f"] +[3.56,"o","i"] +[3.724,"o","l"] +[3.852,"o","l"] +[4.05,"o","\r\n"] +[4.052,"o","\u001b]0;tim@lancache: ~\u0007\u001b[01;32mtim@lancache\u001b[00m:\u001b[01;34m~\u001b[00m$ "] +[4.329,"o","c"] +[4.507,"o","d"] +[4.602,"o"," "] +[4.904,"o","B"] +[5.253,"o","attleNetPrefill/"] +[6.055,"o","\r\n"] +[6.056,"o","\u001b]0;tim@lancache: ~/BattleNetPrefill\u0007\u001b[01;32mtim@lancache\u001b[00m:\u001b[01;34m~/BattleNetPrefill\u001b[00m$ "] diff --git a/install-guides/casts/successful-linux-install.cast b/install-guides/casts/successful-linux-install.cast new file mode 100644 index 00000000..19d6e28b --- /dev/null +++ b/install-guides/casts/successful-linux-install.cast @@ -0,0 +1,15 @@ +{"version": 2, "width": 120, "height": 30, "timestamp": 1682212566, "env": {"SHELL": "/bin/bash", "TERM": "xterm-256color"}} +[0.004051, "o", "\u001b[0;33m Checking for latest version \u001b[0m\r\n"] +[0.514142, "o", " Found latest version : \u001b[0;36m 2.0.0 \u001b[0m\r\n"] +[0.514293, "o", "\u001b[0;33m Downloading... \u001b[0m\r\n"] +[0.849332, "o", "\rBattleNetPrefill-2.0.0-linux-x64. 0%[ ] 0 --.-KB/s "] +[1.053832, "o", "\rBattleNetPrefill-2.0.0-linux-x64. 1%[ ] 454.94K 2.17MB/s "] +[1.255286, "o", "\rBattleNetPrefill-2.0.0-linux-x64. 5%[=> ] 1.26M 3.10MB/s "] +[1.456256, "o", "\rBattleNetPrefill-2.0.0-linux-x64. 11%[====> ] 2.68M 4.42MB/s "] +[1.656278, "o", "\rBattleNetPrefill-2.0.0-linux-x64. 21%[=========> ] 4.95M 6.13MB/s "] +[1.856627, "o", "\rBattleNetPrefill-2.0.0-linux-x64. 38%[==================> ] 8.90M 8.84MB/s "] +[2.056788, "o", "\rBattleNetPrefill-2.0.0-linux-x64. 61%[=============================> ] 14.37M 11.9MB/s "] +[2.257092, "o", "\rBattleNetPrefill-2.0.0-linux-x64. 90%[============================================> ] 20.93M 14.9MB/s "] +[2.311783, "o", "\rBattleNetPrefill-2.0.0-linux-x64. 100%[=================================================>] 23.18M 15.9MB/s in 1.5s \r\n"] +[2.312848, "o", "\u001b[0;33m Unzipping... \u001b[0m\r\n"] +[2.690844, "o", " \u001b[0;36m Complete! \u001b[0m\r\n"] diff --git a/install-guides/casts/systemd-service-logs.cast b/install-guides/casts/systemd-service-logs.cast new file mode 100644 index 00000000..dad507c3 --- /dev/null +++ b/install-guides/casts/systemd-service-logs.cast @@ -0,0 +1,4 @@ +{"version": 2, "width": 120, "height": 30, "timestamp": 1682209691, "env": {"SHELL": "/bin/bash", "TERM": "xterm-256color"}} +[0.008427, "o", "\u001b[?1h\u001b=\r"] +[0.013491, "o", "● battlenetprefill.service - BattleNetPrefill\u001b[m\r\n Loaded: loaded (/etc/systemd/system/battlenetprefill.service; enabled; vendor preset: enabled)\u001b[m\r\n Active: inactive (dead) since Sun 2023-04-23 00:17:01 UTC; 11min ago\u001b[m\r\nTriggeredBy: \u001b[0;1;32m●\u001b[0m battlenetprefill.timer\u001b[m\r\n Main PID: 2657978 (code=exited, status=0/SUCCESS)\u001b[m\r\n\u001b[m\r\nApr 23 00:17:01 lancache BattleNetPrefill[2657978]: Prefilled 1 apps in 03.1053\u001b[m\r\nApr 23 00:17:01 lancache BattleNetPrefill[2657978]: \u001b[m\r\nApr 23 00:17:01 lancache BattleNetPrefill[2657978]: Updated │ Up To Date\u001b[m\r\nApr 23 00:17:01 lancache BattleNetPrefill[2657978]: ━━━━━━━━━┿━━━━━━━━━━━━\u001b[m\r\nApr 23 00:17:01 lancache BattleNetPrefill[2657978]: 0 │ 1\u001b[m\r\nApr 23 00:17:01 lancache BattleNetPrefill[2657978]: \u001b[m\r\nApr 23 00:17:01 lancache BattleNetPrefill[2657978]: Disconnecting\u001b[m\r\nApr 23 00:17:01 lancache BattleNetPrefill[2657978]: [12:17:01 AM] Disconnected from Steam!\u001b[m\r\nApr 23 00:"] +[0.01359, "o", "17:01 lancache systemd[1]: battlenetprefill.service: Succeeded.\u001b[m\r\nApr 23 00:17:01 lancache systemd[1]: Finished BattleNetPrefill.\u001b[m\r\n\r\u001b[K\u001b[?1l\u001b>"] diff --git a/install-guides/casts/systemd-timer-status.cast b/install-guides/casts/systemd-timer-status.cast new file mode 100644 index 00000000..1f330610 --- /dev/null +++ b/install-guides/casts/systemd-timer-status.cast @@ -0,0 +1,4 @@ +{"version": 2, "width": 120, "height": 30, "timestamp": 1682209197, "env": {"SHELL": "/bin/bash", "TERM": "xterm-256color"}} +[0.008024, "o", "\u001b[?1h\u001b=\r"] +[0.012229, "o", "\u001b[0;1;32m●\u001b[0m battlenetprefill.timer - BattleNetPrefill run daily\u001b[m\r\n Loaded: loaded (/etc/systemd/system/battlenetprefill.timer; enabled; vendor preset: enabled)\u001b[m\r\n Active: \u001b[0;1;32mactive (waiting)\u001b[0m since Sun 2023-04-23 00:16:58 UTC; 2min 59s ago\u001b[m\r\n Trigger: Sun 2023-04-23 04:00:00 UTC; 3h 40min left\u001b[m\r\n Triggers: ● battlenetprefill.service\u001b[m\r\n\u001b[m\r\nApr 23 00:16:58 lancache systemd[1]: Started BattleNetPrefill run daily.\u001b[m\r\n"] +[0.012304, "o", "\r\u001b[K\u001b[?1l\u001b>"] diff --git a/js/html5shiv.min.js b/js/html5shiv.min.js new file mode 100644 index 00000000..1a01c94b --- /dev/null +++ b/js/html5shiv.min.js @@ -0,0 +1,4 @@ +/** +* @preserve HTML5 Shiv 3.7.3 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed +*/ +!function(a,b){function c(a,b){var c=a.createElement("p"),d=a.getElementsByTagName("head")[0]||a.documentElement;return c.innerHTML="x",d.insertBefore(c.lastChild,d.firstChild)}function d(){var a=t.elements;return"string"==typeof a?a.split(" "):a}function e(a,b){var c=t.elements;"string"!=typeof c&&(c=c.join(" ")),"string"!=typeof a&&(a=a.join(" ")),t.elements=c+" "+a,j(b)}function f(a){var b=s[a[q]];return b||(b={},r++,a[q]=r,s[r]=b),b}function g(a,c,d){if(c||(c=b),l)return c.createElement(a);d||(d=f(c));var e;return e=d.cache[a]?d.cache[a].cloneNode():p.test(a)?(d.cache[a]=d.createElem(a)).cloneNode():d.createElem(a),!e.canHaveChildren||o.test(a)||e.tagUrn?e:d.frag.appendChild(e)}function h(a,c){if(a||(a=b),l)return a.createDocumentFragment();c=c||f(a);for(var e=c.frag.cloneNode(),g=0,h=d(),i=h.length;i>g;g++)e.createElement(h[g]);return e}function i(a,b){b.cache||(b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag()),a.createElement=function(c){return t.shivMethods?g(c,a,b):b.createElem(c)},a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+d().join().replace(/[\w\-:]+/g,function(a){return b.createElem(a),b.frag.createElement(a),'c("'+a+'")'})+");return n}")(t,b.frag)}function j(a){a||(a=b);var d=f(a);return!t.shivCSS||k||d.hasCSS||(d.hasCSS=!!c(a,"article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}mark{background:#FF0;color:#000}template{display:none}")),l||i(a,d),a}var k,l,m="3.7.3",n=a.html5||{},o=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,p=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,q="_html5shiv",r=0,s={};!function(){try{var a=b.createElement("a");a.innerHTML="",k="hidden"in a,l=1==a.childNodes.length||function(){b.createElement("a");var a=b.createDocumentFragment();return"undefined"==typeof a.cloneNode||"undefined"==typeof a.createDocumentFragment||"undefined"==typeof a.createElement}()}catch(c){k=!0,l=!0}}();var t={elements:n.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output picture progress section summary template time video",version:m,shivCSS:n.shivCSS!==!1,supportsUnknownElements:l,shivMethods:n.shivMethods!==!1,type:"default",shivDocument:j,createElement:g,createDocumentFragment:h,addElements:e};a.html5=t,j(b),"object"==typeof module&&module.exports&&(module.exports=t)}("undefined"!=typeof window?window:this,document); diff --git a/js/jquery-3.6.0.min.js b/js/jquery-3.6.0.min.js new file mode 100644 index 00000000..c4c6022f --- /dev/null +++ b/js/jquery-3.6.0.min.js @@ -0,0 +1,2 @@ +/*! jQuery v3.6.0 | (c) OpenJS Foundation and other contributors | jquery.org/license */ +!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],r=Object.getPrototypeOf,s=t.slice,g=t.flat?function(e){return t.flat.call(e)}:function(e){return t.concat.apply([],e)},u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType&&"function"!=typeof e.item},x=function(e){return null!=e&&e===e.window},E=C.document,c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.6.0",S=function(e,t){return new S.fn.init(e,t)};function p(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(p.childNodes),p.childNodes),t[p.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!N[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&(U.test(t)||z.test(t))){(f=ee.test(t)&&ye(e.parentNode)||e)===e&&d.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=S)),o=(l=h(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+xe(l[o]);c=l.join(",")}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){N(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return g(t.replace($,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[S]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e&&e.namespaceURI,n=e&&(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:p;return r!=C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),p!=C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.scope=ce(function(e){return a.appendChild(e).appendChild(C.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=S,!C.getElementsByName||!C.getElementsByName(S).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+S+"-]").length||v.push("~="),(t=C.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||v.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+S+"+*").length||v.push(".#.+[+~]"),e.querySelectorAll("\\\f"),v.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",F)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},j=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e==C||e.ownerDocument==p&&y(p,e)?-1:t==C||t.ownerDocument==p&&y(p,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==C?-1:t==C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]==p?-1:s[r]==p?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(T(e),d.matchesSelector&&E&&!N[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){N(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&m(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?S.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?S.grep(e,function(e){return e===n!==r}):"string"!=typeof n?S.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(S.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||D,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof S?t[0]:t,S.merge(this,S.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),N.test(r[1])&&S.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(S):S.makeArray(e,this)}).prototype=S.fn,D=S(E);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}S.fn.extend({has:function(e){var t=S(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i;ce=E.createDocumentFragment().appendChild(E.createElement("div")),(fe=E.createElement("input")).setAttribute("type","radio"),fe.setAttribute("checked","checked"),fe.setAttribute("name","t"),ce.appendChild(fe),y.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML="",y.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML="",y.option=!!ce.lastChild;var ge={thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?S.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n",""]);var me=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d\s*$/g;function je(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&S(e).children("tbody")[0]||e}function De(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function qe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Le(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,"handle events"),s)for(n=0,r=s[i].length;n").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var _t,zt=[],Ut=/(=)\?(?=&|$)|\?\?/;S.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=zt.pop()||S.expando+"_"+wt.guid++;return this[e]=!0,e}}),S.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Ut.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Ut.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Ut,"$1"+r):!1!==e.jsonp&&(e.url+=(Tt.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||S.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?S(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,zt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((_t=E.implementation.createHTMLDocument("").body).innerHTML="
",2===_t.childNodes.length),S.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=N.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&S(o).remove(),S.merge([],i.childNodes)));var r,i,o},S.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(S.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},S.expr.pseudos.animated=function(t){return S.grep(S.timers,function(e){return t===e.elem}).length},S.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=S.css(e,"position"),c=S(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=S.css(e,"top"),u=S.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,S.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},S.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){S.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===S.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===S.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=S(e).offset()).top+=S.css(e,"borderTopWidth",!0),i.left+=S.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-S.css(r,"marginTop",!0),left:t.left-i.left-S.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===S.css(e,"position"))e=e.offsetParent;return e||re})}}),S.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;S.fn[t]=function(e){return $(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),S.each(["top","left"],function(e,n){S.cssHooks[n]=Fe(y.pixelPosition,function(e,t){if(t)return t=We(e,n),Pe.test(t)?S(e).position()[n]+"px":t})}),S.each({Height:"height",Width:"width"},function(a,s){S.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){S.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return $(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?S.css(e,t,i):S.style(e,t,n,i)},s,n?e:void 0,n)}})}),S.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){S.fn[t]=function(e){return this.on(t,e)}}),S.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),S.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){S.fn[n]=function(e,t){return 0"),n("table.docutils.footnote").wrap("
"),n("table.docutils.citation").wrap("
"),n(".wy-menu-vertical ul").not(".simple").siblings("a").each((function(){var t=n(this);expand=n(''),expand.on("click",(function(n){return e.toggleCurrent(t),n.stopPropagation(),!1})),t.prepend(expand)}))},reset:function(){var n=encodeURI(window.location.hash)||"#";try{var e=$(".wy-menu-vertical"),t=e.find('[href="'+n+'"]');if(0===t.length){var i=$('.document [id="'+n.substring(1)+'"]').closest("div.section");0===(t=e.find('[href="#'+i.attr("id")+'"]')).length&&(t=e.find('[href="#"]'))}if(t.length>0){$(".wy-menu-vertical .current").removeClass("current").attr("aria-expanded","false"),t.addClass("current").attr("aria-expanded","true"),t.closest("li.toctree-l1").parent().addClass("current").attr("aria-expanded","true");for(let n=1;n<=10;n++)t.closest("li.toctree-l"+n).addClass("current").attr("aria-expanded","true");t[0].scrollIntoView()}}catch(n){console.log("Error expanding nav for anchor",n)}},onScroll:function(){this.winScroll=!1;var n=this.win.scrollTop(),e=n+this.winHeight,t=this.navBar.scrollTop()+(n-this.winPosition);n<0||e>this.docHeight||(this.navBar.scrollTop(t),this.winPosition=n)},onResize:function(){this.winResize=!1,this.winHeight=this.win.height(),this.docHeight=$(document).height()},hashChange:function(){this.linkScroll=!0,this.win.one("hashchange",(function(){this.linkScroll=!1}))},toggleCurrent:function(n){var e=n.closest("li");e.siblings("li.current").removeClass("current").attr("aria-expanded","false"),e.siblings().find("li.current").removeClass("current").attr("aria-expanded","false");var t=e.find("> ul li");t.length&&(t.removeClass("current").attr("aria-expanded","false"),e.toggleClass("current").attr("aria-expanded",(function(n,e){return"true"==e?"false":"true"})))}},"undefined"!=typeof window&&(window.SphinxRtdTheme={Navigation:n.exports.ThemeNav,StickyNav:n.exports.ThemeNav}),function(){for(var n=0,e=["ms","moz","webkit","o"],t=0;t + + + https://tpill90.github.io/battlenet-lancache-prefill/ + 2024-05-26 + daily + + + + + + https://tpill90.github.io/battlenet-lancache-prefill/detailed-command-usage/Clear-Cache/ + 2024-05-26 + daily + + + + + + https://tpill90.github.io/battlenet-lancache-prefill/detailed-command-usage/Prefill/ + 2024-05-26 + daily + + + + + + https://tpill90.github.io/battlenet-lancache-prefill/detailed-command-usage/Select-Apps/ + 2024-05-26 + daily + + + + + + https://tpill90.github.io/battlenet-lancache-prefill/dev-guides/Compiling-from-source/ + 2024-05-26 + daily + + + + + + https://tpill90.github.io/battlenet-lancache-prefill/dev-guides/mkdocs-setup/ + 2024-05-26 + daily + + + + + + https://tpill90.github.io/battlenet-lancache-prefill/install-guides/Docker-Setup-Guide/ + 2024-05-26 + daily + + + + + + https://tpill90.github.io/battlenet-lancache-prefill/install-guides/Linux-Setup-Guide/ + 2024-05-26 + daily + + + + + + https://tpill90.github.io/battlenet-lancache-prefill/install-guides/Scheduled-Job/ + 2024-05-26 + daily + + + + + + https://tpill90.github.io/battlenet-lancache-prefill/install-guides/Unraid-Setup-Guide/ + 2024-05-26 + daily + + + + + + https://tpill90.github.io/battlenet-lancache-prefill/install-guides/Windows-Setup-Guide/ + 2024-05-26 + daily + + + + + \ No newline at end of file diff --git a/sitemap.xml.gz b/sitemap.xml.gz new file mode 100644 index 00000000..7ed23d19 Binary files /dev/null and b/sitemap.xml.gz differ