// ==UserScript== // @name asciinema-github // @version 0.0.4 // @license MIT // @author ghostflyby // @match https://github.com/* // @grant GM_xmlhttpRequest // @connect asciinema.org // @description Asciinema player for GitHub // @updateURL https://github.com/ghostflyby/asciinema-github-userjs/blob/dist/asciinema-github.meta.js // @downloadURL https://github.com/ghostflyby/asciinema-github-userjs/blob/dist/asciinema-github.user.js // @source https://github.com/ghostflyby/asciinema-github-userjs // ==/UserScript== (function(){"use strict";const An=`.ap-default-term-ff { --term-font-family: "Cascadia Code", "Source Code Pro", Menlo, Consolas, "DejaVu Sans Mono", monospace, "Symbols Nerd Font"; } div.ap-wrapper { outline: none; height: 100%; display: flex; justify-content: center; } div.ap-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); } div.ap-wrapper .title-bar img { vertical-align: middle; height: 48px; margin-right: 16px; } div.ap-wrapper .title-bar a { color: white; text-decoration: underline; } div.ap-wrapper .title-bar a:hover { text-decoration: none; } div.ap-wrapper:fullscreen { background-color: #000; width: 100%; align-items: center; } div.ap-wrapper:fullscreen .title-bar { display: initial; } div.ap-wrapper:fullscreen.hud .title-bar { top: 0; } div.ap-wrapper div.ap-player { text-align: left; display: inline-block; padding: 0px; position: relative; box-sizing: content-box; overflow: hidden; max-width: 100%; border-radius: 4px; font-size: 15px; background-color: var(--term-color-background); } .ap-player { --term-color-foreground: #ffffff; --term-color-background: #000000; --term-color-0: var(--term-color-foreground); --term-color-1: var(--term-color-foreground); --term-color-2: var(--term-color-foreground); --term-color-3: var(--term-color-foreground); --term-color-4: var(--term-color-foreground); --term-color-5: var(--term-color-foreground); --term-color-6: var(--term-color-foreground); --term-color-7: var(--term-color-foreground); --term-color-8: var(--term-color-0); --term-color-9: var(--term-color-1); --term-color-10: var(--term-color-2); --term-color-11: var(--term-color-3); --term-color-12: var(--term-color-4); --term-color-13: var(--term-color-5); --term-color-14: var(--term-color-6); --term-color-15: var(--term-color-7); } div.ap-term { position: relative; font-family: var(--term-font-family); border-width: 0.75em; border-radius: 0; border-style: solid; border-color: var(--term-color-background); box-sizing: content-box; } div.ap-term canvas { position: absolute; inset: 0; display: block; width: 100%; height: 100%; } div.ap-term svg.ap-term-symbols { position: absolute; inset: 0; display: block; width: 100%; height: 100%; overflow: hidden; pointer-events: none; } div.ap-term svg.ap-term-symbols use { color: var(--term-color-foreground); } div.ap-term svg.ap-term-symbols:not(.ap-blink) .ap-blink { opacity: 0; } div.ap-term pre.ap-term-text { position: absolute; inset: 0; box-sizing: content-box; overflow: hidden; padding: 0; margin: 0px; display: block; white-space: pre; word-wrap: normal; word-break: normal; cursor: text; color: var(--term-color-foreground); outline: none; line-height: var(--term-line-height); font-family: inherit; font-size: inherit; font-variant-ligatures: none; border: 0; border-radius: 0; background-color: transparent !important; } pre.ap-term-text .ap-line { display: block; width: 100%; height: var(--term-line-height); position: absolute; top: calc(100% * var(--row) / var(--term-rows)); letter-spacing: normal; overflow: hidden; } pre.ap-term-text .ap-line span { position: absolute; left: calc(100% * var(--offset) / var(--term-cols)); padding: 0; display: inline-block; height: 100%; } pre.ap-term-text:not(.ap-blink) .ap-line .ap-blink { color: transparent; border-color: transparent; } pre.ap-term-text .ap-bold { font-weight: bold; } pre.ap-term-text .ap-faint { opacity: 0.5; } pre.ap-term-text .ap-underline { text-decoration: underline; } pre.ap-term-text .ap-italic { font-style: italic; } pre.ap-term-text .ap-strike { text-decoration: line-through; } .ap-line span { color: var(--term-color-foreground); } div.ap-player div.ap-control-bar { width: 100%; height: 32px; display: flex; justify-content: space-between; align-items: stretch; color: var(--term-color-foreground); box-sizing: content-box; line-height: 1; position: absolute; bottom: 0; left: 0; opacity: 0; transition: opacity 0.15s linear; user-select: none; border-top: 2px solid color-mix(in oklab, var(--term-color-background) 80%, var(--term-color-foreground)); z-index: 30; } div.ap-player div.ap-control-bar * { box-sizing: inherit; } div.ap-control-bar svg.ap-icon path { fill: var(--term-color-foreground); } div.ap-control-bar span.ap-button { display: flex; flex: 0 0 auto; cursor: pointer; } div.ap-control-bar span.ap-playback-button { width: 12px; height: 12px; padding: 10px; margin: 0 0 0 2px; } div.ap-control-bar span.ap-playback-button svg { height: 12px; width: 12px; } div.ap-control-bar span.ap-timer { display: flex; flex: 0 0 auto; min-width: 50px; margin: 0 10px; height: 100%; text-align: center; font-size: 13px; line-height: 100%; cursor: default; } div.ap-control-bar span.ap-timer span { font-family: var(--term-font-family); font-size: inherit; font-weight: 600; margin: auto; } div.ap-control-bar span.ap-timer .ap-time-remaining { display: none; } div.ap-control-bar span.ap-timer:hover .ap-time-elapsed { display: none; } div.ap-control-bar span.ap-timer:hover .ap-time-remaining { display: flex; } div.ap-control-bar .ap-progressbar { display: block; flex: 1 1 auto; height: 100%; padding: 0 10px; } div.ap-control-bar .ap-progressbar .ap-bar { display: block; position: relative; cursor: default; height: 100%; font-size: 0; } div.ap-control-bar .ap-progressbar .ap-bar .ap-gutter { display: block; position: absolute; top: 15px; left: 0; right: 0; height: 3px; } div.ap-control-bar .ap-progressbar .ap-bar .ap-gutter-empty { background-color: color-mix(in oklab, var(--term-color-foreground) 20%, var(--term-color-background)); } div.ap-control-bar .ap-progressbar .ap-bar .ap-gutter-full { width: 100%; transform-origin: left center; background-color: var(--term-color-foreground); border-radius: 3px; } div.ap-control-bar.ap-seekable .ap-progressbar .ap-bar { cursor: pointer; } div.ap-control-bar .ap-fullscreen-button { width: 14px; height: 14px; padding: 9px; margin: 0 2px 0 4px; } div.ap-control-bar .ap-fullscreen-button svg { width: 14px; height: 14px; } div.ap-control-bar .ap-fullscreen-button svg.ap-icon-fullscreen-on { display: inline; } div.ap-control-bar .ap-fullscreen-button svg.ap-icon-fullscreen-off { display: none; } div.ap-control-bar .ap-fullscreen-button .ap-tooltip { right: 5px; left: initial; transform: none; } div.ap-control-bar .ap-kbd-button { height: 14px; padding: 9px; margin: 0 0 0 4px; } div.ap-control-bar .ap-kbd-button svg { width: 26px; height: 14px; } div.ap-control-bar .ap-kbd-button .ap-tooltip { right: 5px; left: initial; transform: none; } div.ap-control-bar .ap-speaker-button { width: 19px; padding: 6px 9px; margin: 0 0 0 4px; position: relative; } div.ap-control-bar .ap-speaker-button svg { width: 19px; } div.ap-control-bar .ap-speaker-button .ap-tooltip { left: -50%; transform: none; } div.ap-wrapper.ap-hud .ap-control-bar { opacity: 1; } div.ap-wrapper:fullscreen .ap-fullscreen-button svg.ap-icon-fullscreen-on { display: none; } div.ap-wrapper:fullscreen .ap-fullscreen-button svg.ap-icon-fullscreen-off { display: inline; } span.ap-progressbar span.ap-marker-container { display: block; top: 0; bottom: 0; width: 21px; position: absolute; margin-left: -10px; } span.ap-marker-container span.ap-marker { display: block; top: 13px; bottom: 12px; left: 7px; right: 7px; background-color: color-mix(in oklab, var(--term-color-foreground) 33%, var(--term-color-background)); position: absolute; transition: top 0.1s, bottom 0.1s, left 0.1s, right 0.1s, background-color 0.1s; border-radius: 50%; } span.ap-marker-container span.ap-marker.ap-marker-past { background-color: var(--term-color-foreground); } span.ap-marker-container span.ap-marker:hover, span.ap-marker-container:hover span.ap-marker { background-color: var(--term-color-foreground); top: 11px; bottom: 10px; left: 5px; right: 5px; } .ap-tooltip-container span.ap-tooltip { visibility: hidden; background-color: var(--term-color-foreground); color: var(--term-color-background); font-family: var(--term-font-family); font-weight: bold; text-align: center; padding: 0 0.5em; border-radius: 4px; position: absolute; z-index: 1; white-space: nowrap; /* Prevents the text from wrapping and makes sure the tooltip width adapts to the text length */ font-size: 13px; line-height: 2em; bottom: 100%; left: 50%; transform: translateX(-50%); } .ap-tooltip-container:hover span.ap-tooltip { visibility: visible; } .ap-player .ap-overlay { 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; } .ap-player .ap-overlay-start { cursor: pointer; } .ap-player .ap-overlay-start .ap-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; } .ap-player .ap-overlay-start .ap-play-button div { height: 100%; } .ap-player .ap-overlay-start .ap-play-button div span { height: 100%; display: block; } .ap-player .ap-overlay-start .ap-play-button div span svg { height: 100%; display: inline-block; } .ap-player .ap-overlay-start .ap-play-button svg { filter: drop-shadow(0px 0px 5px rgba(0, 0, 0, 0.4)); } .ap-player .ap-overlay-loading .ap-loader { width: 48px; height: 48px; border-radius: 50%; display: inline-block; position: relative; border: 10px solid; border-color: rgba(255, 255, 255, 0.3) rgba(255, 255, 255, 0.5) rgba(255, 255, 255, 0.7) #ffffff; border-color: color-mix(in srgb, var(--term-color-foreground) 30%, var(--term-color-background)) color-mix(in srgb, var(--term-color-foreground) 50%, var(--term-color-background)) color-mix(in srgb, var(--term-color-foreground) 70%, var(--term-color-background)) color-mix(in srgb, var(--term-color-foreground) 100%, var(--term-color-background)); box-sizing: border-box; animation: ap-loader-rotation 1s linear infinite; } .ap-player .ap-overlay-info { background-color: var(--term-color-background); } .ap-player .ap-overlay-info span { font-family: var(--term-font-family); font-size: 2em; color: var(--term-color-foreground); } .ap-player .ap-overlay-help { background-color: rgba(0, 0, 0, 0.8); container-type: inline-size; } .ap-player .ap-overlay-help > div { font-family: var(--term-font-family); max-width: 85%; max-height: 85%; font-size: 18px; color: var(--term-color-foreground); box-sizing: border-box; margin-bottom: 32px; } .ap-player .ap-overlay-help > div div { padding: calc(min(4cqw, 40px)); font-size: calc(min(1.9cqw, 18px)); background-color: var(--term-color-background); border: 1px solid color-mix(in oklab, var(--term-color-background) 90%, var(--term-color-foreground)); border-radius: 6px; } .ap-player .ap-overlay-help > div div p { font-weight: bold; margin: 0 0 2em 0; } .ap-player .ap-overlay-help > div div ul { list-style: none; padding: 0; } .ap-player .ap-overlay-help > div div ul li { margin: 0 0 0.75em 0; } .ap-player .ap-overlay-help > div div kbd { color: var(--term-color-background); background-color: var(--term-color-foreground); padding: 0.2em 0.5em; border-radius: 0.2em; font-family: inherit; font-size: 0.85em; border: none; margin: 0; } .ap-player .ap-overlay-error span { font-size: 8em; } .ap-player .slide-enter-active { transition: opacity 0.2s; } .ap-player .slide-enter-active.ap-was-playing { transition: top 0.2s ease-out, opacity 0.2s; } .ap-player .slide-exit-active { transition: top 0.2s ease-in, opacity 0.2s; } .ap-player .slide-enter { top: -50%; opacity: 0; } .ap-player .slide-enter-to { top: 0%; } .ap-player .slide-enter, .ap-player .slide-enter-to, .ap-player .slide-exit, .ap-player .slide-exit-to { bottom: auto; height: 100%; } .ap-player .slide-exit { top: 0%; } .ap-player .slide-exit-to { top: -50%; opacity: 0; } @keyframes ap-loader-rotation { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } .asciinema-player-theme-asciinema { --term-color-foreground: #cccccc; --term-color-background: #121314; --term-color-0: hsl(0, 0%, 0%); --term-color-1: hsl(343, 70%, 55%); --term-color-2: hsl(103, 70%, 44%); --term-color-3: hsl(43, 70%, 55%); --term-color-4: hsl(193, 70%, 49.5%); --term-color-5: hsl(283, 70%, 60.5%); --term-color-6: hsl(163, 70%, 60.5%); --term-color-7: hsl(0, 0%, 85%); --term-color-8: hsl(0, 0%, 30%); --term-color-9: hsl(343, 70%, 55%); --term-color-10: hsl(103, 70%, 44%); --term-color-11: hsl(43, 70%, 55%); --term-color-12: hsl(193, 70%, 49.5%); --term-color-13: hsl(283, 70%, 60.5%); --term-color-14: hsl(163, 70%, 60.5%); --term-color-15: hsl(0, 0%, 100%); } /* Based on Dracula: https://draculatheme.com */ .asciinema-player-theme-dracula { --term-color-foreground: #f8f8f2; --term-color-background: #282a36; --term-color-0: #21222c; --term-color-1: #ff5555; --term-color-2: #50fa7b; --term-color-3: #f1fa8c; --term-color-4: #bd93f9; --term-color-5: #ff79c6; --term-color-6: #8be9fd; --term-color-7: #f8f8f2; --term-color-8: #6272a4; --term-color-9: #ff6e6e; --term-color-10: #69ff94; --term-color-11: #ffffa5; --term-color-12: #d6acff; --term-color-13: #ff92df; --term-color-14: #a4ffff; --term-color-15: #ffffff; } /* Based on Monokai from base16 collection - https://github.com/chriskempson/base16 */ .asciinema-player-theme-monokai { --term-color-foreground: #f8f8f2; --term-color-background: #272822; --term-color-0: #272822; --term-color-1: #f92672; --term-color-2: #a6e22e; --term-color-3: #f4bf75; --term-color-4: #66d9ef; --term-color-5: #ae81ff; --term-color-6: #a1efe4; --term-color-7: #f8f8f2; --term-color-8: #75715e; --term-color-15: #f9f8f5; } /* Based on Nord: https://github.com/arcticicestudio/nord Via: https://github.com/neilotoole/asciinema-theme-nord */ .asciinema-player-theme-nord { --term-color-foreground: #eceff4; --term-color-background: #2e3440; --term-color-0: #3b4252; --term-color-1: #bf616a; --term-color-2: #a3be8c; --term-color-3: #ebcb8b; --term-color-4: #81a1c1; --term-color-5: #b48ead; --term-color-6: #88c0d0; --term-color-7: #eceff4; } .asciinema-player-theme-seti { --term-color-foreground: #cacecd; --term-color-background: #111213; --term-color-0: #323232; --term-color-1: #c22832; --term-color-2: #8ec43d; --term-color-3: #e0c64f; --term-color-4: #43a5d5; --term-color-5: #8b57b5; --term-color-6: #8ec43d; --term-color-7: #eeeeee; --term-color-15: #ffffff; } /* Based on Solarized Dark: https://ethanschoonover.com/solarized/ */ .asciinema-player-theme-solarized-dark { --term-color-foreground: #839496; --term-color-background: #002b36; --term-color-0: #073642; --term-color-1: #dc322f; --term-color-2: #859900; --term-color-3: #b58900; --term-color-4: #268bd2; --term-color-5: #d33682; --term-color-6: #2aa198; --term-color-7: #eee8d5; --term-color-8: #002b36; --term-color-9: #cb4b16; --term-color-10: #586e75; --term-color-11: #657b83; --term-color-12: #839496; --term-color-13: #6c71c4; --term-color-14: #93a1a1; --term-color-15: #fdf6e3; } /* Based on Solarized Light: https://ethanschoonover.com/solarized/ */ .asciinema-player-theme-solarized-light { --term-color-foreground: #657b83; --term-color-background: #fdf6e3; --term-color-0: #073642; --term-color-1: #dc322f; --term-color-2: #859900; --term-color-3: #b58900; --term-color-4: #268bd2; --term-color-5: #d33682; --term-color-6: #2aa198; --term-color-7: #eee8d5; --term-color-8: #002b36; --term-color-9: #cb4b16; --term-color-10: #586e75; --term-color-11: #657c83; --term-color-12: #839496; --term-color-13: #6c71c4; --term-color-14: #93a1a1; --term-color-15: #fdf6e3; } .asciinema-player-theme-solarized-light .ap-overlay-start .ap-play-button svg .ap-play-btn-fill { fill: var(--term-color-1); } .asciinema-player-theme-solarized-light .ap-overlay-start .ap-play-button svg .ap-play-btn-stroke { stroke: var(--term-color-1); } /* Based on Tango: https://en.wikipedia.org/wiki/Tango_Desktop_Project */ .asciinema-player-theme-tango { --term-color-foreground: #cccccc; --term-color-background: #121314; --term-color-0: #000000; --term-color-1: #cc0000; --term-color-2: #4e9a06; --term-color-3: #c4a000; --term-color-4: #3465a4; --term-color-5: #75507b; --term-color-6: #06989a; --term-color-7: #d3d7cf; --term-color-8: #555753; --term-color-9: #ef2929; --term-color-10: #8ae234; --term-color-11: #fce94f; --term-color-12: #729fcf; --term-color-13: #ad7fa8; --term-color-14: #34e2e2; --term-color-15: #eeeeec; } /* Based on gruvbox: https://github.com/morhetz/gruvbox */ .asciinema-player-theme-gruvbox-dark { --term-color-foreground: #fbf1c7; --term-color-background: #282828; --term-color-0: #282828; --term-color-1: #cc241d; --term-color-2: #98971a; --term-color-3: #d79921; --term-color-4: #458588; --term-color-5: #b16286; --term-color-6: #689d6a; --term-color-7: #a89984; --term-color-8: #7c6f65; --term-color-9: #fb4934; --term-color-10: #b8bb26; --term-color-11: #fabd2f; --term-color-12: #83a598; --term-color-13: #d3869b; --term-color-14: #8ec07c; --term-color-15: #fbf1c7; } `;function ot(A){return typeof A=="number"?A:typeof A=="string"?A.split(":").reverse().map(parseFloat).reduce((t,e,n)=>t+e*Math.pow(60,n)):void 0}function en(A,t){let e;return function(){for(var n=arguments.length,B=new Array(n),r=0;rA.apply(this,B),t)}}function tn(A,t){let e=!0;return function(){if(e){e=!1;for(var n=arguments.length,B=new Array(n),r=0;re=!0,t)}}}class nn{log(){}debug(){}info(){}warn(){}error(){}}class it{constructor(t,e){this.logger=t,this.prefix=e}log(t){for(var e=arguments.length,n=new Array(e>1?e-1:0),B=1;B1?e-1:0),B=1;B1?e-1:0),B=1;B1?e-1:0),B=1;B1?e-1:0),B=1;B0?`Function(${B})`:"Function"}if(Array.isArray(A)){const B=A.length;let r="[";B>0&&(r+=ve(A[0]));for(let o=1;o1)n=e[1];else return toString.call(A);if(n=="Object")try{return"Object("+JSON.stringify(A)+")"}catch{return"Object"}return A instanceof Error?`${A.name}: ${A.message} ${A.stack}`:n}function Bn(A){A<132||(DA[A]=ie,ie=A)}function rn(A,t){return A=A>>>0,gn().subarray(A/4,A/4+t)}let KA=null;function de(){return(KA===null||KA.buffer.detached===!0||KA.buffer.detached===void 0&&KA.buffer!==X.memory.buffer)&&(KA=new DataView(X.memory.buffer)),KA}function Et(A,t){return A=A>>>0,on(A,t)}let ge=null;function gn(){return(ge===null||ge.byteLength===0)&&(ge=new Uint32Array(X.memory.buffer)),ge}let Qe=null;function he(){return(Qe===null||Qe.byteLength===0)&&(Qe=new Uint8Array(X.memory.buffer)),Qe}function oe(A){return DA[A]}let DA=new Array(128).fill(void 0);DA.push(void 0,null,!0,!1);let ie=DA.length;function Vt(A,t,e){if(e===void 0){const i=Ee.encode(A),g=t(i.length,1)>>>0;return he().subarray(g,g+i.length).set(i),pe=i.length,g}let n=A.length,B=t(n,1)>>>0;const r=he();let o=0;for(;o127)break;r[B+o]=i}if(o!==n){o!==0&&(A=A.slice(o)),B=e(B,n,n=o+A.length*3,1)>>>0;const i=he().subarray(B+o,B+n),g=Ee.encodeInto(A,i);o+=g.written,B=e(B,n,o,1)>>>0}return pe=o,B}function NA(A){const t=oe(A);return Bn(A),t}let we=new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0});we.decode();const Qn=2146435072;let Ye=0;function on(A,t){return Ye+=t,Ye>=Qn&&(we=new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0}),we.decode(),Ye=t),we.decode(he().subarray(A,A+t))}const Ee=new TextEncoder;"encodeInto"in Ee||(Ee.encodeInto=function(A,t){const e=Ee.encode(A);return t.set(e),{read:A.length,written:e.length}});let pe=0;const st=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(A=>X.__wbg_vt_free(A>>>0,1));class PA{static __wrap(t){t=t>>>0;const e=Object.create(PA.prototype);return e.__wbg_ptr=t,st.register(e,e.__wbg_ptr,e),e}__destroy_into_raw(){const t=this.__wbg_ptr;return this.__wbg_ptr=0,st.unregister(this),t}free(){const t=this.__destroy_into_raw();X.__wbg_vt_free(t,0)}feed(t){const e=Vt(t,X.__wbindgen_export,X.__wbindgen_export2),n=pe,B=X.vt_feed(this.__wbg_ptr,e,n);return NA(B)}resize(t,e){const n=X.vt_resize(this.__wbg_ptr,t,e);return NA(n)}getSize(){try{const B=X.__wbindgen_add_to_stack_pointer(-16);X.vt_getSize(B,this.__wbg_ptr);var t=de().getInt32(B+0,!0),e=de().getInt32(B+4,!0),n=rn(t,e).slice();return X.__wbindgen_export3(t,e*4,4),n}finally{X.__wbindgen_add_to_stack_pointer(16)}}getLine(t,e){const n=X.vt_getLine(this.__wbg_ptr,t,e);return NA(n)}getCursor(){const t=X.vt_getCursor(this.__wbg_ptr);return NA(t)}}Symbol.dispose&&(PA.prototype[Symbol.dispose]=PA.prototype.free);function En(A,t,e,n){const B=X.create(A,t,e,n);return PA.__wrap(B)}const Vn=new Set(["basic","cors","default"]);async function sn(A,t){if(typeof Response=="function"&&A instanceof Response){if(typeof WebAssembly.instantiateStreaming=="function")try{return await WebAssembly.instantiateStreaming(A,t)}catch(n){if(A.ok&&Vn.has(A.type)&&A.headers.get("Content-Type")!=="application/wasm")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",n);else throw n}const e=await A.arrayBuffer();return await WebAssembly.instantiate(e,t)}else{const e=await WebAssembly.instantiate(A,t);return e instanceof WebAssembly.Instance?{instance:e,module:A}:e}}function It(){const A={};return A.wbg={},A.wbg.__wbg___wbindgen_debug_string_adfb662ae34724b6=function(t,e){const n=ve(oe(e)),B=Vt(n,X.__wbindgen_export,X.__wbindgen_export2),r=pe;de().setInt32(t+4,r,!0),de().setInt32(t+0,B,!0)},A.wbg.__wbg___wbindgen_throw_dd24417ed36fc46e=function(t,e){throw new Error(Et(t,e))},A.wbg.__wbg_new_13317ed16189158e=function(){const t=new Array;return jA(t)},A.wbg.__wbg_new_4ceb6a766bf78b04=function(){const t=new Object;return jA(t)},A.wbg.__wbg_set_3f1d0b984ed272ed=function(t,e,n){oe(t)[NA(e)]=NA(n)},A.wbg.__wbg_set_8b6a9a61e98a8881=function(t,e,n){oe(t)[e>>>0]=NA(n)},A.wbg.__wbindgen_cast_2241b6af4c4b2941=function(t,e){const n=Et(t,e);return jA(n)},A.wbg.__wbindgen_cast_4625c577ab2ec9ee=function(t){const e=BigInt.asUintN(64,t);return jA(e)},A.wbg.__wbindgen_cast_d6cd19b81560fd6e=function(t){return jA(t)},A.wbg.__wbindgen_object_clone_ref=function(t){const e=oe(t);return jA(e)},A.wbg.__wbindgen_object_drop_ref=function(t){NA(t)},A}function at(A,t){return X=A.exports,Te.__wbindgen_wasm_module=t,KA=null,ge=null,Qe=null,X}function In(A){if(X!==void 0)return X;typeof A<"u"&&(Object.getPrototypeOf(A)===Object.prototype?{module:A}=A:console.warn("using deprecated parameters for `initSync()`; pass a single object instead"));const t=It();A instanceof WebAssembly.Module||(A=new WebAssembly.Module(A));const e=new WebAssembly.Instance(A,t);return at(e,A)}async function Te(A){if(X!==void 0)return X;typeof A<"u"&&(Object.getPrototypeOf(A)===Object.prototype?{module_or_path:A}=A:console.warn("using deprecated parameters for the initialization function; pass a single object instead"));const t=It();(typeof A=="string"||typeof Request=="function"&&A instanceof Request||typeof URL=="function"&&A instanceof URL)&&(A=fetch(A));const{instance:e,module:n}=await sn(await A,t);return at(e,n)}var an=Object.freeze({__proto__:null,Vt:PA,create:En,default:Te,initSync:In});const Cn=[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 me(A){return Cn[A-43]}function ln(A){let t=A.endsWith("==")?2:A.endsWith("=")?1:0,e=A.length,n=new Uint8Array(3*(e/4)),B;for(let r=0,o=0;r>16,n[o+1]=B>>8&255,n[o+2]=B&255;return n.subarray(0,n.length-t)}var cn=ln("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CAgJCgsODA4NDgsgAkGoAWpBASABKAIAIAEoAgRB1JzEABCBASABIAIpA6gBNwIAIABBADoAAAwYCyACQbABakEBIAEoAgAgASgCBEHknMQAEIEBIAEgAikDsAE3AgAgAEEBOgAADBcLIAJBuAFqQQEgASgCACABKAIEQfScxAAQgQEgASACKQO4ATcCACAAQQI6AAAMFgsgAkHAAWpBASABKAIAIAEoAgRBhJ3EABCBASABIAIpA8ABNwIAIABBAzoAAAwVCyACQcgBakEBIAEoAgAgASgCBEGUncQAEIEBIAEgAikDyAE3AgAgAEEEOgAADBQLIAJB0AFqQQEgASgCACABKAIEQaSdxAAQgQEgASACKQPQATcCACAAQQU6AAAMEwsgAkHYAWpBASABKAIAIAEoAgRBtJ3EABCBASABIAIpA9gBNwIAIABBBjoAAAwSCyACQeABakEBIAEoAgAgASgCBEHEncQAEIEBIAEgAikD4AE3AgAgAEEHOgAADBELIAJB6AFqQQEgASgCACABKAIEQdSdxAAQgQEgASACKQPoATcCACAAQQg6AAAMEAsgAkHwAWpBASABKAIAIAEoAgRB5J3EABCBASABIAIpA/ABNwIAIABBCToAAAwPCyACQfgBakEBIAEoAgAgASgCBEH0ncQAEIEBIAEgAikD+AE3AgAgAEEKOgAADA4LIAJBgAJqQQEgASgCACABKAIEQYSexAAQgQEgASACKQOAAjcCACAAQQs6AAAMDQsgAkGIAmpBASABKAIAIAEoAgRBlJ7EABCBASABIAIpA4gCNwIAIABBDDoAAAwMCyACQZACakEBIAEoAgAgASgCBEGknsQAEIEBIAEgAikDkAI3AgAgAEENOgAADAsLAkACQCADQR5rQf//A3FBCE8EQCADQSZrDgIBCAILIAJBCGpBASABKAIAIAEoAgRBxKDEABCBASABIAIpAwg3AgAgACADQR5rOgACIABBDjsAAAwMCwJAIAEoAgQiA0ECTwRAIAJBmAFqIAEoAgBBEGoQaSACKAKYASIDDQEgASgCBCEDCyACQegAakEBIAEoAgAgA0G0nsQAEIEBIAIoAmwhAyACKAJoIQQMDQsCQAJAAkAgAigCnAFBAUcNACADLwEAQQJrDgQBAAACAAsgAkHwAGpBASABKAIAIAEoAgRBhJ/EABCB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ayENIAJBJWohDiACQRxqIQ8gASgCJCEFIAEoAhQhECABKAIQIQMCQAJAAn8CQANAIAEoAgAhBiABQYCAgIB4NgIAIAEoAgQhCwJAAkACQAJAAkAgBkGAgICAeEcEQCABKQIIIREgCyEHDAELAkAgAyAQRgRAQYCAgIB4IQYMAQsgASADQRBqIgg2AhAgAykCCCERIAMoAgQhByADKAIAIQYgCCEDC0GAgICAeCALEKMBIAZBgICAgHhGDQELIAIgBzYCDCACIAY2AgggAiARNwIQIBFCIIghEkF/IAUgEaciBEcgBCAFSxtB/wFxDgICAwELQYCAgIB4IAcQowEgAEGAgICAeDYCACABQYCAgIB4NgIADAcLAkAgEqdBAXENACAFIAQgByAEEDRrIgMgAyAFSRsiAyAESw0AIAIgAzYCECADIQQLAn9BgICAgHggBCAFTQ0AGgJAAkAgByAEIAVBuJrEABCQASgCBEUEQCACQThqIgMgAkEIaiIIIAVBAWsQPyACQTBqIANBCGooAgA2AgAgAiACKQI4NwMoIAItABQhBCADQRBqIAIoAgwgAigCECIHIAdBAWtB2JrEABCQASIHQRBqLwEAOwEAIAJCoICAgBA3AjggAiAHKQIINwJAIAggA0HomsQAEFcgAiAEOgA0IAItABRBAXFFDQEMAgsgAkE4aiIDIAJBCGogBRA/IAJBMGogA0EIaigCADYCACACIAIpAjg3AyggAiACLQAUIgM6ADQgAw0BCyACQShqEIsBCyACKAIwBEAgAkFAayACQTRqKAIANgIAIAJBAToAFCACIAIpAiw3AzggAigCKAwBCyACKAIoIAIoAixBBEEUEJ8BQYCAgIB4CyEDQYCAgIB4IAsQowEgASADNgIAIAwgAikDODcCACAMQQhqIAJBQGsoAgA2AgAgAEEIaiACQRBqKQIANwIAIAAgAikCCDcCAAwGCyAAIBE3AgggACAHNgIEIAAgBjYCAAwFCwJAIAMgEEcEQCABIANBEGoiCDYCECADKAIAIgZBgICAgHhHDQELIAJBADsAQCACQQI6ADwgAkECOgA4IAJBCGoiASAFIAJBOGoQQSAAIAIpAgg3AgAgAkEAOgAUIABBCGogAUEIaikCADcCAAwFCyADQQxqKAIAIQkgDyADKQIENwIAIA9BCGogCTYCACACIAY2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IQMDQCADIAVqIgEgAyACEGogASEDIAIgACACayIATQ0ACwwBCwtBACAAQQR0IgNrIQUDQCABIAVqIAEgABBqIAEgA2ohASACIABrIgIgAE8NAAsMAQsLIAEgAEEEdCIFayIDIAJBBHQiBmohByAAIAJLDQEgBEEQaiIAIAMgBRAWGiADIAEgBhASIAcgACAFEBYaDAILIARBCGoiByABIABBBHRrIgZBCGopAgA3AwAgBCAGKQIANwMAIAJBBHQhCCACIgUhAQNAIAYgAUEEdGohAwNAIARBGGoiCSADQQhqIgopAgA3AwAgBCADKQIANwMQIAcpAwAhDSADIAQpAwA3AgAgCiANNwIAIAcgCSkDADcDACAEIAQpAxA3AwAgACABSwRAIAMgCGohAyABIAJqIQEMAQsLIAEgAGsiAQRAIAEgBSABIAVJGyEFDAEFIAQpAwAhDSAGQQhqIARBCGoiBykDADcCACAGIA03AgBBASAFIAVBAU0bIQlBASEBA0AgASAJRg0EIAYgAUEEdGoiBSkCACENIAcgBUEIaiIKKQIANwMAIAQgDTcDACABIAJqIQMDQCAEQRhqIgsgBiADQQR0aiIIQQhqIgwpAgA3AwAgBCAIKQIANwMQIAcpAwAhDSAIIAQpAwA3AgAgDCANNwIAIAcgCykDADcDACAEIAQpAxA3AwAgACADSwRAIAIgA2ohAwwBCyADIABrIgMgAUcNAAsgBCkDACENIAogBykDADcCACAFIA03AgAgAUEBaiEBDAALAAsACwALIARBEGoiACABIAYQFhogByADIAUQEiADIAAgBhAWGgsgBEGQAWokAAuQBQEIfwJAIAJBEEkEQCAAIQMMAQsCQEEAIABrQQNxIgYgAGoiBSAATQ0AIAZBAWsgACEDIAEhBCAGBEAgBiEHA0AgAyAELQAAOgAAIARBAWohBCADQQFqIQMgB0EBayIHDQALC0EHSQ0AA0AgAyAELQAAOgAAIANBAWogBEEBai0AADoAACADQQJqIARBAmotAAA6AAAgA0EDaiAEQQNqLQAAOgAAIANBBGogBEEEai0AADoAACADQQVqIARBBWotAAA6AAAgA0EGaiAEQQZqLQAAOgAAIANBB2ogBEEHai0AADoAACAEQQhqIQQgBSADQQhqIgNHDQALCyACIAZrIgdBfHEiCCAFaiED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IANBKGogAEHgAGooAgAgAEHkAGooAgAQIyADQRBqIAAQJCADIAMpAxA3AjQgA0EIaiADKAIsIAMoAjAQWyADKAIMIQAgAygCCEEBcQRAIAMgADYCPCADQTxqQeyCxAAQQgALIANBKGoQbiADKAIgIAMoAiQQsgEgA0FAayQAIAALmQEBA38gAUFsbCECIAFB/////wNxIQMgACABQRRsaiEBQQAhAAJAA0AgAkUNAQJAIAFBFGsiBCgCAEEgRw0AIAFBEGsoAgBBAUcNACABQQxrLQAAQQJHDQAgAUEIay0AAEECRw0AIAFBBGstAAANACABQQNrLQAAQR9xDQAgAkEUaiECIABBAWohACAEIQEMAQsLIAAhAwsgAwuxAQECfyMAQRBrIgIkAAJAIAFFDQAgAUEDakECdiEBAkAgAEEETQRAIAFBAWsiA0GAAkkNAQsgAkGs8sQAKAIANgIIIAEgACACQQhqQajqxABBBEEFEE8hAEGs8sQAIAIoAgg2AgAMAQsgAkGs8sQANgIEIAIgA0ECdEGs6sQAaiIDKAIANgIMIAEgACACQQxqIAJBBGpBBkEHEE8hACADIAIoAgw2AgALIAJBEGokACAAC6ABAQN/IwBBEGsiBSQAIAVBCGogACABIAJB4I7EABBnIAUoAgwiBiADIAIgAWsiByADIAdJGyIDTwRAIAYgA2siBiAFKAIIIAZBBHRqIAMQFSAAIAEgASADaiAEECogAQRAIAAgAUEBa0HwjsQAEGJBADoADAsgACACQQFrQYCPxAAQYkEAOgAMIAVBEGokAA8LQcyJxABBIUHwicQAEHEAC6gBAQF/IwBBQGoiAyQAIANBCGogACgCABACIAMoAgghACADIAMoAgw2AgQgAyAANgIAIANBATYCMCADQQI2AhggA0GY6sQANgIUIANCATcCICADIAMoAgQiADYCPCADIAMoAgA2AjggAyAANgI0IAMgA0E0ajYCLCADIANBLGo2AhwgASACIANBFGoQFyADKAI0IgEEQCADKAI4QQEgARA4CyADQUBrJAALpAEBAX8jAEEQayIDJAACQCAARQ0AIAJFDQACQCABQQRNBEAgAkEDakECdkEBayIBQYACSQ0BCyADQazyxAAoAgA2AgggACADQQhqQajqxABBAhAxQazyxAAgAygCCDYCAAwBCyADQazy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OAACQCABaUEBRw0AQYCAgIB4IAFrIABJDQAgAARAQezyxAAtAAAaIAEgABA1IgFFDQELIAEPCwALOAACQCACQYCAxABGDQAgACACIAEoAhARAgBFDQBBAQ8LIANFBEBBAA8LIAAgA0EAIAEoAgwRAwALLQEBfyABIAAoAgBPBH8gACgCBCECIAAtAAhFBEAgASACTQ8LIAEgAkkFQQALC3ABA38gACgCACIEIAAoAggiBUYEQCMAQRBrIgMkACADQQhqIAAgBEEBQQJBCBAmIAMoAggiBEGBgICAeEcEQCADKAIMGiAEIAIQrgEACyADQRBqJAALIAAgBUEBajYCCCAAKAIEIAVBA3RqIAE3AQALNAEBfyAAKAIIIgMgACgCAEYEQCAAIAIQawsgACADQQFqNgIIIAAoAgQgA0ECdGogATYCAAsuAQF/IwBBEGsiAiQAIAJBCGogASAAEIwBIAIoAggiAARAIAJBEGokACAADwsACzcBAX8jAEEgayIBJAAgAUEANgIYIAFBATYCDCABQYypxAA2AgggAUIENwIQIAFBCGogABCKAQALKgEBfyACIAMQNSIEBEAgBCAAIAEgAyABIANJGxAWGiAAIAIgARA4CyAECysAIAIgA0kEQCADIAIgBBC0AQALIAAgAiADazYCBCAAIAEgA0EUbGo2AgALLwEBfyAAIAIQjgEgACgCBCAAKAIIIgNBFGxqIAEgAkEUbBAWGiAAIAIgA2o2AggLKwAgASADSwRAIAEgAyAEELQBAAsgACADIAFrNgIEIAAgAiABQQR0ajYCAAsvAAJAAkAgA2lBAUcNAEGAgICAeCADayABSQ0AIAAgASADIAIQfiIADQELAAsgAAsuAANAIAEEQCAAKAIAIABBBGooAgBBBEEUEJ8BIAFBAWshASAAQRBqIQAMAQsLCzIBAX8gACgCCCECIAEgACgCAEECai0AABCbASEBIAAoAgQgAiABEAEgACACQQFqNgIICyoAIAAgACgCaCABaiIBIAAoApwBIgBBAWsgACABSxtBACABQQBOGzYCaAszAQJ/IAAgACgCqAEiAiAAKAKsAUEBaiIDIAEgAEGyAWoQNiAAKAJgIAAoAmQgAiADEFMLMwECfyAAIAAoAqgBIgIgACgCrAFBAWoiAyABIABBsgFqEB0gACgCYCAAKAJkIAIgAxBTCyoAIAEgAkkEQEGkiMQAQSNBvInEABBxAAsgAiAAIAJBFGxqIAEgAmsQGQs1ACAAIAApAnQ3AmggACAAKQF8NwGyASAAIAAvAYYBOwG+ASAAQboBaiAAQYQBai8BADsBAAvsAQICfwF+IwBBEGsiAiQAIAJBATsBDCACIAE2AgggAiAANgIEIwBBEGsiASQAIAJBBGoiACkCACEEIAEgADYCDCABIAQ3AgQjAEEQayIAJAAgAUEEaiIBKAIAIgIoAgwhAwJAAkACQAJAIAIoAgQOAgABAgsgAw0BQQEhAkEAIQMMAgsgAw0AIAIoAgAiAigCBCEDIAIoAgAhAgwBCyAAQYCAgIB4NgIAIAAgATYCDCABKAIIIgEtAAkaIABBGyABLQAIEEoACyAAIAM2AgQgACACNgIAIAEoAggiAS0ACRogAEEcIAEtAAgQSgALKwECfwJAIAAoAgQgACgCCCIBEDQiAkUNACABIAJJDQAgACABIAJrNgIICwsmACACBEBB7PLEAC0AABogASACEDUhAQsgACACNgIEIAAgATYCAAsjAQF/IAEgACgCACAAKAIIIgJrSwRAIAAgAiABQQRBEBBtCwsjAQF/IAEgACgCACAAKAIIIgJrSwRAIAAgAiABQQRBFBBtCwslACAAQQE2AgQgACABKAIEIAEoAgBrQQR2IgE2AgggACABNgIACxsAIAEgAk0EQCACIAEgAxBLAAsgACACQRRsagsgACABIAJNBEAgAiABQeSjxAAQSwALIAAgAmpBAToAAAsbACABIAJNBEAgAiABIAMQSwALIAAgAkEEdGoLAwAACwMAAAsDAAALAwAACwMAAAsDAAALGgBB7PLEAC0AABpBBCAAEDUiAARAIAAPCwALIQAgAEUEQEGcq8QAQTIQuQEACyAAIAIgAyABKAIQEQEACxYAIAFBAXFFBEAgALgQCg8LIACtEAkLRgEBfyAAIAAoAgBBAWsiATYCACABRQRAIABBDGoQRwJAIABBf0YNACAAIAAoAgRBAWsiATYCBCABDQAgAEEEQZwGEDgLCwsfACAARQRAQZyrxABBMhC5AQALIAAgAiABKAIQEQIACyEBAX8gACgCECIBIAAoAhQQgwEgACgCDCABQQRBEBCfAQsSACAABEAgASACIAAgA2wQOAsLIQEBfyAAKAIEIgEgACgCCBCDASAAKAIAIAFBBEEQEJ8BCxYAIABBEGoQWCAAKAIAIAAoAgQQowELFAAgACAAKAIAQQFrNgIAIAEQnAELGQAgAEGAgICAeEcEQCAAIAFBBEEUEJ8BCwsUACABBEBBgICAgHggARCjAQsgAQsZACABKAIcQcilxABBDiABKAIgKAIMEQMACw8AIAIEQCAAIAEgAhA4CwsPACABBEAgACACIAEQOAsLEwAgAARADwtBpOnEAEEbELkBAAsPACAAQYQBTwRAIAAQAwsLEwAgACgCCCAAKAIAQQJBAhCfAQsVACACIAIQpAEaIABBgICAgHg2AgALFAAgACgCACABIAAoAgQoAgwRAgALEAAgASAAKAIEIAAoAggQDws8ACAARQRAIwBBIGsiACQAIABBADYCGCAAQQE2AgwgAEHQhMQANgIIIABCBDcCECAAQQhqIAEQigEACwALFAAgAEEANgIIIABCgICAgBA3AgALEgAgACABQZCNxAAQYkEBOgAMCxAAIAEgACgCACAAKAIEEA8LDgAgAEEANgIAIAEQnAELawEBfyMAQTBrIgMkACADIAE2AgQgAyAANgIAIANBAjYCDCADQeipxAA2AgggA0ICNwIUIAMgA0EEaq1CgICAgOABhDcDKCADIAOtQoCAgIDgAYQ3AyAgAyADQSBqNgIQIANBCGogAhCKAQALawEBfyMAQTBrIgMkACADIAE2AgQgAyAANgIAIANBAjYCDCADQcipxAA2AgggA0ICNwIUIAMgA0EEaq1CgICAgOABhDcDKCADIAOtQoCAgIDgAYQ3AyAgAyADQSBqNgIQIANBCGogAhCKAQALawEBfyMAQTBrIgMkACADIAE2AgQgAyAANgIAIANBAjYCDCADQZyqxAA2AgggA0ICNwIUIAMgA0EEaq1CgICAgOABhDcDKCADIAOtQoCAgIDgAYQ3AyAgAyADQSBqNgIQIANBCGogAhCKAQALDgBB8KXEAEErIAAQcQALCwAgACMAaiQAIwALDgBBv+nEAEHPABC5AQALCQAgACABEAcACw0AIABB9KbEACABEBcLDAAgACABKQIANwMACwoAIAAoAgAQqQELDQAgAEGAgICAeDYCAAsJACAAQQA2AgALBgAgABBYCwUAQYAECwQAQQELBAAgAQsEAEEACwvYiAEjAEGAgMAAC0AdAAAABAAAAAQAAAAeAAAAY2FsbGVkIGBSZXN1bHQ6OnVud3JhcCgpYCBvbiBhbiBgRXJyYCB2YWx1ZUVycm9yAEG7yMAACwQBAQEBAEHAysAAC4ABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAQfDMwAALAQEAQaXNwAALAQEAQeHNwAALAQEAQcDQwAALgAIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAEGY18AACwEBAEHAwMMACwsBAQEBAQEBAQEBAQBB4MHDAAsEAQEBAQBB8MHDAAsoAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAEBAQEBAQEBAQEBAQBBwMTDAAuqAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAEHAxsMAC+QBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAEG6zMMAC74BAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBwM7DAAvwAwEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAQaDVwwALvwMBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAQcDawwALgg0BAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAEHA6MMAC7QCAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAQcCAxAALwSNzcmMvbGliLnJzAAABAA8A8BoPAAAAAADiJQAA5SUAAAAAAACw4AAAs+AAAAAAAAA8+wEAafsBAAAAAABq+wEAbPsBAAAAAACAJQAAnyUAAAAAAAAA+wEAO/sBAAAAAABhdHRlbXB0ZWQgdG8gdGFrZSBvd25lcnNoaXAgb2YgUnVzdCB2YWx1ZSB3aGlsZSBpdCB3YXMgYm9ycm93ZWRiZ3RleHRjb2RlcG9pbnRzcmFzdGVyX3N5bWJvbHN2ZWN0b3Jfc3ltYm9scwBAABEACgAAAGQAAAATAAAAQAARAAoAAABlAAAAFQAAAEAAEQAKAAAAZgAAABkAAABAABEACgAAAGcAAAAZAAAAQAARAAoAAABoAAAAFQAAAEAAEQAKAAAAcAAAADYAAABAABEACgAAAHUAAAA2AAAAQAARAAoAAAD8AAAAGwAAAEAAEQAKAAAAAAEAAB0AAABAABEACgAAABcBAAAtAAAAQAARAAoAAACtAAAAIwAAAEAAEQAKAAAAtwAAACMAAABAABEACgAAAMwAAAAlAAAAQAARAAoAAADEAAAAJQAAAEAAEQAKAAAA8QAAACkAAABAABEACgAAANgAAAAlAAAAQAARAAoAAADcAAAAFgAAAEAAEQAKAAAA9wAAAB0AAABAABEACgAAAB4BAAAvAAAAY2FwYWNpdHkgb3ZlcmZsb3cAAAA8AhEAEQAAACkgc2hvdWxkIGJlIDwgbGVuIChpcyBpbnNlcnRpb24gaW5kZXggKGlzICkgc2hvdWxkIGJlIDw9IGxlbiAoaXMgAAAAbgIRABQAAACCAhEAFwAAABY1EQABAAAAcmVtb3ZhbCBpbmRleCAoaXMgAAC0AhEAEgAAAFgCEQAWAAAAFjURAAEAAABgYXRgIHNwbGl0IGluZGV4IChpcyAAAADgAhEAFQAAAIICEQAXAAAAFjURAAEAAAAvaG9tZS9ydW5uZXIvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi91bmljb2RlLXdpZHRoLTAuMS4xNC9zcmMvdGFibGVzLnJzEAMRAGQAAACRAAAAFQAAABADEQBkAAAAlwAAABkAAAAvbml4L3N0b3JlLzI4aHl6ZmwzMzhrczRhbWhhN3ZwcG5sYnExczFucWF2LXJ1c3QtZGVmYXVsdC0xLjg1LjAvbGliL3J1c3RsaWIvc3JjL3J1c3QvbGlicmFyeS9jb3JlL3NyYy9pdGVyL3RyYWl0cy9pdGVyYXRvci5ycwAAAJQDEQB9AAAAswcAAAkAAABhc3NlcnRpb24gZmFpbGVkOiBtaWQgPD0gc2VsZi5sZW4oKS9uaXgvc3RvcmUvMjhoeXpmbDMzOGtzNGFtaGE3dnBwbmxicTFzMW5xYXYtcnVzdC1kZWZhdWx0LTEuODUuMC9saWIvcnVzdGxpYi9zcmMvcnVzdC9saWJyYXJ5L2NvcmUvc3JjL3NsaWNlL21vZC5ycwAAAEcEEQByAAAAoA0AAAkAAABhc3NlcnRpb24gZmFpbGVkOiBrIDw9IHNlbGYubGVuKCkAAABHBBEAcgAAAM0NAAAJAAAAL25peC9zdG9yZS8yOGh5emZsMzM4a3M0YW1oYTd2cHBubGJxMXMxbnFhdi1ydXN0LWRlZmF1bHQtMS44NS4wL2xpYi9ydXN0bGliL3NyYy9ydXN0L2xpYnJhcnkvYWxsb2Mvc3JjL3NsaWNlLnJzAAAFEQBvAAAAoQAAABkAAAAvbml4L3N0b3JlLzI4aHl6ZmwzMzhrczRhbWhhN3ZwcG5sYnExczFucWF2LXJ1c3QtZGVmYXVsdC0xLjg1LjAvbGliL3J1c3RsaWIvc3JjL3J1c3QvbGlicmFyeS9hbGxvYy9zcmMvdmVjL21vZC5ycwAAAIAFEQBxAAAAPwoAACQAAABAMxEAcQAAACgCAAARAAAAL2hvbWUvcnVubmVyLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvYXZ0LTAuMTYuMC9zcmMvYnVmZmVyLnJzAAAUBhEAWgAAAC0AAAAZAAAAFAYRAFoAAABaAAAADQAAABQGEQBaAAAAXgAAAA0AAAAUBhEAWgAAAGMAAAANAAAAFAYRAFoAAABoAAAAHQAAABQGEQBaAAAAdQAAACUAAAAUBhEAWgAAAH8AAAAlAAAAFAYRAFoAAACHAAAAFQAAABQGEQBaAAAAkQAAACUAAAAUBhEAWgAAAJgAAAAVAAAAFAYRAFoAAACdAAAAJQAAABQGEQBaAAAAqAAAABEAAAAUBhEAWgAAALMAAAAgAAAAFAYRAFoAAAC3AAAAEQAAABQGEQBaAAAAuQAAABEAAAAUBhEAWgAAAMMAAAANAAAAFAYRAFoAAADHAAAAEQAAABQGEQBaAAAAygAAAA0AAAAUBhEAWgAAAPQAAAArAAAAFAYRAFoAAAA5AQAALAAAABQGEQBaAAAAMgEAABsAAAAUBhEAWgAAAEUBAAAUAAAAFAYRAFoAAABXAQAAGAAAABQGEQBaAAAAXAEAABgAAABhc3NlcnRpb24gZmFpbGVkOiBsaW5lcy5pdGVyKCkuYWxsKHxsfCBsLmxlbigpID09IGNvbHMpABQGEQBaAAAA9wEAAAUAAAAAAAAAAQAAAAIAAAADAAAABAAAAAUAAAAGAAAABwAAAAgAAAAJAAAACgAAAAsAAAAMAAAADQAAAA4AAAAPAAAAEAAAABEAAAASAAAAEwAAABQAAAAVAAAAFgAAABcAAAAYAAAAGQAAABoAAAAbAAAAHAAAAB0AAAAeAAAAHwAAACAAAAAhAAAAIgAAACMAAAAkAAAAJQAAACYAAAAnAAAAKAAAACkAAAAqAAAAKwAAACwAAAAtAAAALgAAAC8AAAAwAAAAMQAAADIAAAAzAAAANAAAADUAAAA2AAAANwAAADgAAAA5AAAAOgAAADsAAAA8AAAAPQAAAD4AAAA/AAAAQAAAAEEAAABCAAAAQwAAAEQAAABFAAAARgAAAEcAAABIAAAASQAAAEoAAABLAAAATAAAAE0AAABOAAAATwAAAFAAAABRAAAAUgAAAFMAAABUAAAAVQAAAFYAAABXAAAAWAAAAFkAAABaAAAAWwAAAFwAAABdAAAAXgAAAF8AAABmJgAAkiUAAAkkAAAMJAAADSQAAAokAACwAAAAsQAAACQkAAALJAAAGCUAABAlAAAMJQAAFCUAADwlAAC6IwAAuyMAAAAlAAC8IwAAvSMAABwlAAAkJQAANCUAACwlAAACJQAAZCIAAGUiAADAAwAAYCIAAKMAAADFIgAAfwAAAC9ob21lL3J1bm5lci8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL2F2dC0wLjE2LjAvc3JjL2xpbmUucnM4ChEAWAAAABAAAAAUAAAAOAoRAFgAAAAdAAAAFgAAADgKEQBYAAAAHgAAABcAAAA4ChEAWAAAACEAAAATAAAAOAoRAFgAAAArAAAAJAAAADgKEQBYAAAAMQAAABsAAAA4ChEAWAAAADUAAAAbAAAAOAoRAFgAAAA8AAAAGwAAADgKEQBYAAAAPQAAABsAAAA4ChEAWAAAAEEAAAAbAAAAOAoRAFgAAABDAAAAHgAAADgKEQBYAAAARAAAAB8AAAA4ChEAWAAAAEcAAAAbAAAAOAoRAFgAAABOAAAAGwAAADgKEQBYAAAATwAAABsAAAA4ChEAWAAAAFYAAAAbAAAAOAoRAFgAAABXAAAAGwAAADgKEQBYAAAAXgAAABsAAAA4ChEAWAAAAF8AAAAbAAAAOAoRAFgAAABtAAAAGwAAADgKEQBYAAAAdQAAABsAAAA4ChEAWAAAAHYAAAAbAAAAOAoRAFgAAAB4AAAAHgAAADgKEQBYAAAAeQAAAB8AAAA4ChEAWAAAAHwAAAAbAAAAaW50ZXJuYWwgZXJyb3I6IGVudGVyZWQgdW5yZWFjaGFibGUgY29kZTgKEQBYAAAAgAAAABEAAAA4ChEAWAAAAIkAAAAnAAAAOAoRAFgAAACNAAAAFwAAADgKEQBYAAAAkAAAABMAAAA4ChEAWAAAAJIAAAAnAAAAOAoRAFgAAACWAAAAIwAAADgKEQBYAAAAmwAAABYAAAA4ChEAWAAAAJwAAAAXAAAAOAoRAFgAAACfAAAAEwAAADgKEQBYAAAAoQAAACcAAAA4ChEAWAAAAKgAAAATAAAAOAoRAFgAAAC9AAAAFQAAADgKEQBYAAAAvwAAACUAAAA4ChEAWAAAAMAAAAAcAAAAOAoRAFgAAADDAAAAJQAAADgKEQBYAAAA7QAAADAAAAA4ChEAWAAAAPQAAAAjAAAAOAoRAFgAAAD5AAAAJQAAADgKEQBYAAAA+gAAABwAAAAvaG9tZS9ydW5uZXIvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9hdnQtMC4xNi4wL3NyYy9wYXJzZXIucnMAAHgNEQBaAAAAxgEAACIAAAB4DREAWgAAANoBAAANAAAAeA0RAFoAAADcAQAADQAAAHgNEQBaAAAATQIAACYAAAB4DREAWgAAAFICAAAmAAAAeA0RAFoAAABYAgAAGAAAAHgNEQBaAAAAcAIAABMAAAB4DREAWgAAAHQCAAATAAAAeA0RAFoAAAAFAwAAJwAAAHgNEQBaAAAACwMAACcAAAB4DREAWgAAABEDAAAnAAAAeA0RAFoAAAAXAwAAJwAAAHgNEQBaAAAAHQMAACcAAAB4DREAWgAAACMDAAAnAAAAeA0RAFoAAAApAwAAJwAAAHgNEQBaAAAALwMAACcAAAB4DREAWgAAADUDAAAnAAAAeA0RAFoAAAA7AwAAJwAAAHgNEQBaAAAAQQMAACcAAAB4DREAWgAAAEcDAAAnAAAAeA0RAFoAAABNAwAAJwAAAHgNEQBaAAAAUwMAACcAAAB4DREAWgAAAG4DAAArAAAAeA0RAFoAAAB3AwAALwAAAHgNEQBaAAAAewMAAC8AAAB4DREAWgAAAIMDAAAvAAAAeA0RAFoAAACHAwAALwAAAHgNEQBaAAAAjAMAACsAAAB4DREAWgAAAJEDAAAnAAAAeA0RAFoAAACtAwAAKwAAAHgNEQBaAAAAtgMAAC8AAAB4DREAWgAAALoDAAAvAAAAeA0RAFoAAADCAwAALwAAAHgNEQBaAAAAxgMAAC8AAAB4DREAWgAAAMsDAAArAAAAeA0RAFoAAADQAwAAJwAAAHgNEQBaAAAA3gMAACcAAAB4DREAWgAAANcDAAAnAAAAeA0RAFoAAACYAwAAJwAAAHgNEQBaAAAAWgMAACcAAAB4DREAWgAAAGADAAAnAAAAeA0RAFoAAACfAwAAJwAAAHgNEQBaAAAAZwMAACcAAAB4DREAWgAAAKYDAAAnAAAAeA0RAFoAAADkAwAAJwAAAHgNEQBaAAAADgQAABMAAAB4DREAWgAAABcEAAAbAAAAeA0RAFoAAAAgBAAAFAAAAC9ob21lL3J1bm5lci8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL2F2dC0wLjE2LjAvc3JjL3RhYnMucnPUEBEAWAAAAAkAAAASAAAA1BARAFgAAAARAAAAFAAAANQQEQBYAAAAFwAAABQAAADUEBEAWAAAAB8AAAAUAAAAL2hvbWUvcnVubmVyLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvYXZ0LTAuMTYuMC9zcmMvdGVybWluYWwvZGlydHlfbGluZXMucnNsEREAaAAAAAgAAAAUAAAAbBERAGgAAAAMAAAADwAAAGwREQBoAAAAEAAAAA8AQYykxAALzwcBAAAAHwAAACAAAAAhAAAAIgAAACMAAAAUAAAABAAAACQAAAAlAAAAJgAAACcAAAAvaG9tZS9ydW5uZXIvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9hdnQtMC4xNi4wL3NyYy90ZXJtaW5hbC5yczwSEQBcAAAAdQIAABUAAAA8EhEAXAAAALECAAAOAAAAPBIRAFwAAAAFBAAAIwAAAEJvcnJvd011dEVycm9yYWxyZWFkeSBib3Jyb3dlZDog1hIRABIAAABjYWxsZWQgYE9wdGlvbjo6dW53cmFwKClgIG9uIGEgYE5vbmVgIHZhbHVlaW5kZXggb3V0IG9mIGJvdW5kczogdGhlIGxlbiBpcyAgYnV0IHRoZSBpbmRleCBpcyAAAAAbExEAIAAAADsTEQASAAAAOiAAAAEAAAAAAAAAYBMRAAIAAAAAAAAADAAAAAQAAAAoAAAAKQAAACoAAAAgICAgLAooKAowMDAxMDIwMzA0MDUwNjA3MDgwOTEwMTExMjEzMTQxNTE2MTcxODE5MjAyMTIyMjMyNDI1MjYyNzI4MjkzMDMxMzIzMzM0MzUzNjM3MzgzOTQwNDE0MjQzNDQ0NTQ2NDc0ODQ5NTA1MTUyNTM1NDU1NTY1NzU4NTk2MDYxNjI2MzY0NjU2NjY3Njg2OTcwNzE3MjczNzQ3NTc2Nzc3ODc5ODA4MTgyODM4NDg1ODY4Nzg4ODk5MDkxOTI5Mzk0OTU5Njk3OTg5OWF0dGVtcHRlZCB0byBpbmRleCBzbGljZSB1cCB0byBtYXhpbXVtIHVzaXplAAAAXRQRACwAAAByYW5nZSBzdGFydCBpbmRleCAgb3V0IG9mIHJhbmdlIGZvciBzbGljZSBvZiBsZW5ndGgglBQRABIAAACmFBEAIgAAAHJhbmdlIGVuZCBpbmRleCDYFBEAEAAAAKYUEQAiAAAAc2xpY2UgaW5kZXggc3RhcnRzIGF0ICBidXQgZW5kcyBhdCAA+BQRABYAAAAOFREADQAAAEhhc2ggdGFibGUgY2FwYWNpdHkgb3ZlcmZsb3csFREAHAAAAC9ydXN0L2RlcHMvaGFzaGJyb3duLTAuMTUuMi9zcmMvcmF3L21vZC5ycwAAUBURACoAAAAjAAAAKAAAALEzEQBsAAAAIwEAAA4AAABjbG9zdXJlIGludm9rZWQgcmVjdXJzaXZlbHkgb3IgYWZ0ZXIgYmVpbmcgZHJvcHBlZAAA///////////QFREAQeirxAALdS9ob21lL3J1bm5lci8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3NlcmRlLXdhc20tYmluZGdlbi0wLjYuNS9zcmMvbGliLnJzAAAA6BURAGUAAAA1AAAADgBBga3EAAuHAQECAwMEBQYHCAkKCwwNDgMDAwMDAwMPAwMDAwMDAw8JCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCRAJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQBBga/EAAufCwECAgICAwICBAIFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdAgIeAgICAgICAh8gISIjAiQlJicoKQIqAgICAissAgICAi0uAgICLzAxMjMCAgICAgI0AgI1NjcCODk6Ozw9Pj85OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTlAOTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OUECAkJDAgJERUZHSEkCSjk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OUsCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI5OTk5TAICAgICTU5PUAICAlECUlMCAgICAgICAgICAgICVFUCAlYCVwICWFlaW1xdXl9gYQJiYwJkZWZnAmgCaWprbAICbW5vcAJxcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnR1AgICAgICAnZ3OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTl4OTk5OTk5OTk5eXoCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAns5OXw5OX0CAgICAgICAgICAgICAgICAgICfgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAn8CAgKAgYICAgICAgICAgICAgICAgKDhAICAgICAgICAgKFhnUCAocCAgKIAgICAgICAomKAgICAgICAgICAgICAouMAo2OAo+QkZKTlJWWApcCApiZmpsCAgICAgICAgICOTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5nB0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAnQICAgKenwIEAgUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0CAh4CAgICAgICHyAhIiMCJCUmJygpAioCAgICoKGio6Slpi6nqKmqq6ytMwICAgICAq4CAjU2NwI4OTo7PD0+rzk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OUwCAgICArBOT7GFhnUCAocCAgKIAgICAgICAomKAgICAgICAgICAgICAouMsrOOAo+QkZKTlJWWApcCApiZmpsCAgICAgICAgICVVV1VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVAEG8usQACylVVVVVFQBQVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVAQBB77rEAAvEARBBEFVVVVVVV1VVVVVVVVVVVVFVVQAAQFT13VVVVVVVVVVVFQAAAAAAVVVVVfxdVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUFABQAFARQVVVVVVVVVRVRVVVVVVVVVQAAAAAAAEBVVVVVVVVVVVXVV1VVVVVVVVVVVVVVBQAAVFVVVVVVVVVVVVVVVVUVAABVVVFVVVVVVQUQAAABAVBVVVVVVVVVVVVVAVVVVVVV/////39VVVVQVQAAVVVVVVVVVVVVVQUAQcC8xAALmARAVVVVVVVVVVVVVVVVVUVUAQBUUQEAVVUFVVVVVVVVVVFVVVVVVVVVVVVVVVVVVUQBVFVRVRVVVQVVVVVVVVVFQVVVVVVVVVVVVVVVVVVVVEEVFFBRVVVVVVVVVVBRVVVBVVVVVVVVVVVVVVVVVVVUARBUUVVVVVUFVVVVVVUFAFFVVVVVVVVVVVVVVVVVVQQBVFVRVQFVVQVVVVVVVVVVRVVVVVVVVVVVVVVVVVVVRVRVVVFVFVVVVVVVVVVVVVVUVFVVVVVVVVVVVVVVVVUEVAUEUFVBVVUFVVVVVVVVVVFVVVVVVVVVVVVVVVVVVRREBQRQVUFVVQVVVVVVVVVVUFVVVVVVVVVVVVVVVVUVRAFUVUFVFVVVBVVVVVVVVVVRVVVVVVVVVVVVVVVVVVVVVVVFFQVEVRVVVVVVVVVVVVVVVVVVVVVVVVVVVVEAQFVVFQBAVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUQAAVFVVAEBVVVVVVVVVVVVVVVVVVVVVVVVQVVVVVVVVEVFVVVVVVVVVVVVVVVVVAQAAQAAEVQEAAAEAAAAAAAAAAFRVRVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUBBABBQVVVVVVVVVAFVFVVVQFUVVVFQVVRVVVVUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVaqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqgBBgMHEAAuQA1VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVAVVVVVVVVVVVVVVVVQVUVVVVVVVVBVVVVVVVVVUFVVVVVVVVVQVVVVV///33//3XX3fW1ddVEABQVUUBAABVV1FVVVVVVVVVVVVVFQBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUFVVVVVVVVVVVFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUAVVFVFVQFVVVVVVVVVVVVVVVVVVVVVVVVVVVVXFRRVVVVVVVVVVVVVVVVVVUUAQEQBAFQVAAAUVVVVVVVVVVVVVVVVAAAAAAAAAEBVVVVVVVVVVVVVVVUAVVVVVVVVVVVVVVVVAABQBVVVVVVVVVVVVRUAAFVVVVBVVVVVVVVVBVAQUFVVVVVVVVVVVVVVVVVFUBFQVVVVVVVVVVVVVVVVVVUAAAVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUAAAAAEAFRRVVRQVVVVVVVVVVVVVVVVVVVVVVUAQaDExAALkwhVVRUAVVVVVVVVBUBVVVVVVVVVVVVVVVUAAAAAVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVAAAAAAAAAABUVVVVVVVVVVVV9VVVVWlVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf1X11VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV9VVVVVVVfVVVVVVVVVVVVVVVV////VVVVVVVVVVVVVdVVVVVV1VVVVV1V9VVVVVV9VV9VdVVXVVVVVXVV9V11XVVd9VVVVVVVVVVXVVVVVVVVVVV31d9VVVVVVVVVVVVVVVVVVVX9VVVVVVVVV1VV1VVVVVVVVVVVVVVVVVVVVVVVVVVVVVXVV1VVVVVVVVVVVVVVVVddVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVRVQVVVVVVVVVVVVVVVVVVVV/f///////////////19V1VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUAAAAAAAAAAKqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqVVVVqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpaVVVVVVVVqqqqqqqqqqqqqqqqqqoKAKqqqmqpqqqqqqqqqqqqqqqqqqqqqqqqqqpqgaqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpVqaqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqKqqqqqqqqqqqmqqqqqqqqqqqqqqqqqqqqqqqqqqqqpVVZWqqqqqqqqqqqqqqmqqqqqqqqqqqqqqVVWqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqVVVVVVVVVVVVVVVVVVVVVaqqqlaqqqqqqqqqqqqqqqqqalVVVVVVVVVVVVVVVVVfVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVFUAAAFBVVVVVVVVVBVVVVVVVVVVVVVVVVVVVVVVVVVVVUFVVVUVFFVVVVVVVVUFVVFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVQVVVVVVVVAAAAAFBVRRVVVVVVVVVVVVUFAFBVVVVVVRUAAFBVVVWqqqqqqqqqVkBVVVVVVVVVVVVVVRUFUFBVVVVVVVVVVVVRVVVVVVVVVVVVVVVVVVVVVQFAQUFVVRVVVVRVVVVVVVVVVVVVVVRVVVVVVVVVVVVVVVUEFFQFUVVVVVVVVVVVVVVQVUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVRVFFVVVVVqqqqqqqqqqqqVVVVAAAAAABAFQBBv8zEAAvhDFVVVVVVVVVVRVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVQAAAPCqqlpVAAAAAKqqqqqqqqqqaqqqqqpqqlVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVRWpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpWVVVVVVVVVVVVVVVVVVUFVFVVVVVVVVVVVVVVVVVVVapqVVUAAFRVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVBUBVAUFVAFVVVVVVVVVVVVVAFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVQVVVVVVVVdVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVAFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVFVRVVVVVVVVVVVVVVVVVVVVVVVVVAVVVVVVVVVVVVVVVVVVVVVVVBQAAVFVVVVVVVVVVVVVVBVBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVRVVVVVVVVVVVVVVVVVQAAAEBVVVVVVVVVVVVVFFRVFVBVVVVVVVVVVVVVVRVAQVVFVVVVVVVVVVVVVVVVVVVVQFVVVVVVVVVVFQABAFRVVVVVVVVVVVVVVVVVVRVVVVVQVVVVVVVVVVVVVVVVBQBABVUBFFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVFVAEVUVRVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUVFQBAVVVVVVVQVVVVVVVVVVVVVVVVVRVEVFVVVVUVVVVVBQBUAFRVVVVVVVVVVVVVVVVVVVVVAAAFRFVVVVVVRVVVVVVVVVVVVVVVVVVVVVVVVVVVFABEEQRVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVRUFUFUQVFVVVVVVVVBVVVVVVVVVVVVVVVVVVVVVVVVVVRUAQBFUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVRVRABBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVAQUQAFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVFQAAQVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVFUVBBFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUABVVUVVVVVVVVVQEAQFVVVVVVVVVVVRUABEBVFVVVAUABVVVVVVVVVVVVVQAAAABAUFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUAQAAQVVVVVVVVVVVVVVVVVVVVVVVVVVUFAAAAAAAFAARBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVAUBFEAAAVVVVVVVVVVVVVVVVVVVVVVVVUBFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUVVFVVQFVVVVVVVVVVVVVVVQVAVURVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVBUAAABQVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUAVFVVVVVVVVVVVVVVVVVVAEBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVFVVVVVVVVVVVVVVVVVVVVRVAVVVVVVVVVVVVVVVVVVVVVVVVVapUVVVaVVVVqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqVVWqqqqqqqqqqqqqqqqqqqqqqqqqqqpaVVVVVVVVVVVVVaqqVlVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVaqpqmmqqqqqqqqqqmpVVVVlVVVVVVVVVWpZVVVVqlVVqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpVVVVVVVVVVUEAVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUAQavZxAALdVAAAAAAAEBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVURUAUAAAAAQAEAVVVVVVVVVQVQVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVBVRVVVVVVVVVVVVVVVVVVQBBrdrEAAsCQBUAQbvaxAALxQZUVVFVVVVUVVVVVRUAAQAAAFVVVVVVVVVVVVVVVVVVVVVVVVVVAEAAAAAAFAAQBEBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVRVVVVVVVVVVVVVVVVVVVVQBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVAFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVQBAVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVAEBVVVVVVVVVVVVVVVVVVVdVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV1VVVVVVVVVVVVVVVVVVVVXX9/39VVVVVVVVVVVVVVVVVVVVVVVX1////////blVVVaqquqqqqqrq+r+/VaqqVlVfVVVVqlpVVVVVVVX//////////1dVVf3/3///////////////////////9///////VVVV/////////////3/V/1VVVf////9XV///////////////////////f/f/////////////////////////////////////////////////////////////1////////////////////19VVdV/////////VVVVVXVVVVVVVVV9VVVVV1VVVVVVVVVVVVVVVVVVVVVVVVVV1f///////////////////////////1VVVVVVVVVVVVVVVf//////////////////////X1VXf/1V/1VV1VdV//9XVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV////VVdVVVVVVVX//////////////3///9//////////////////////////////////////////////////////////////VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf///1f//1dV///////////////f/19V9f///1X//1dV//9XVaqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpaVVVVVVVVVVVZllVhqqVZqlVVVVVVlVVVVVVVVVWVVVUAQY7hxAALAQMAQZzhxAALiQlVVVVVVZVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVRUAlmpaWmqqBUCmWZVlVVVVVVVVVVUAAAAAVVZVValWVVVVVVVVVVVVVlVVVVVVVVVVAAAAAAAAAABUVVVVlVlZVVVlVVVpVVVVVVVVVVVVVVWVVpVqqqqqVaqqWlVVVVlVqqqqVVVVVWVVVVpVVVVVpWVWVVVVlVVVVVVVVaaWmpZZWWWplqqqZlWqVVpZVVpWZVVVVWqqpaVaVVVVpapaVVVZWVVVWVVVVVVVlVVVVVVVVVVVVVVVVVVVVVVVVVVVZVX1VVVVaVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVaqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqaqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqVaqqqqqqqqqqqlVVVaqqqqqlWlVVmqpaVaWlVVpapZalWlVVVaVaVZVVVVV9VWlZpVVfVWZVVVVVVVVVVWZV////VVVVmppqmlVVVdVVVVVV1VVVpV1V9VVVVVW9Va+quqqrqqqaVbqq+q66rlVd9VVVVVVVVVVXVVVVVVlVVVV31d9VVVVVVVVVpaqqVVVVVVVV1VdVVVVVVVVVVVVVVVVXrVpVVVVVVVVVVVWqqqqqqqqqaqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqgAAAMCqqlpVAAAAAKqqqqqqqqqqaqqqqqpqqlVVVVVVVVVVVVVVVQVUVVVVVVVVVVVVVVVVVVVVqmpVVQAAVFmqqmpVqqqqqqqqqlqqqqqqqqqqqqqqqqqqqlpVqqqqqqqqqrr+/7+qqqqqVlVVVVVVVVVVVVVVVVX1////////L25peC9zdG9yZS8yOGh5emZsMzM4a3M0YW1oYTd2cHBubGJxMXMxbnFhdi1ydXN0LWRlZmF1bHQtMS44NS4wL2xpYi9ydXN0bGliL3NyYy9ydXN0L2xpYnJhcnkvYWxsb2Mvc3JjL3Jhd192ZWMucnMvaG9tZS9ydW5uZXIvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi93YXNtLWJpbmRnZW4tMC4yLjEwNi9zcmMvY29udmVydC9zbGljZXMucnMvaG9tZS9ydW5uZXIvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi93YXNtLWJpbmRnZW4tMC4yLjEwNi9zcmMvZXh0ZXJucmVmLnJzHTQRAGcAAAB/AAAAEQAAAB00EQBnAAAAjAAAABEAAABudWxsIHBvaW50ZXIgcGFzc2VkIHRvIHJ1c3RyZWN1cnNpdmUgdXNlIG9mIGFuIG9iamVjdCBkZXRlY3RlZCB3aGljaCB3b3VsZCBsZWFkIHRvIHVuc2FmZSBhbGlhc2luZyBpbiBydXN0SnNWYWx1ZSgpAA41EQAIAAAAFjURAAEAQajqxAALAQQASAlwcm9kdWNlcnMBDHByb2Nlc3NlZC1ieQIGd2FscnVzBjAuMjQuNAx3YXNtLWJpbmRnZW4TMC4yLjEwNiAoMTE4MzFmYjg5KQ==");async function fn(A){return await Te({module_or_path:await A.module,memory:A.memory}),an}class Ke{constructor(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:1;this.speed=t,this.startTime=performance.now()}getTime(){return this.speed*(performance.now()-this.startTime)/1e3}setTime(t){this.startTime=performance.now()-t/this.speed*1e3}}class Ve{constructor(){}getTime(t){}setTime(t){}}class uA{constructor(t,e){this.input=typeof t.next=="function"?t:t[Symbol.iterator](),this.xfs=e??[]}map(t){return this.transform(un(t))}flatMap(t){return this.transform(dn(t))}filter(t){return this.transform(hn(t))}take(t){return this.transform(wn(t))}drop(t){return this.transform(pn(t))}transform(t){return new uA(this.input,this.xfs.concat([t]))}multiplex(t,e){return new uA(new Dn(this[Symbol.iterator](),t[Symbol.iterator](),e))}toArray(){return Array.from(this)}[Symbol.iterator](){let t=0,e=[],n=!1;const B=mn(this.xfs,r=>e.push(r));return{next:()=>{for(t===e.length&&(e=[],t=0);e.length===0;){const r=this.input.next();if(r.done)break;B.step(r.value)}return e.length===0&&!n&&(B.flush(),n=!0),e.length>0?{done:!1,value:e[t++]}:{done:!0}}}}}function un(A){return t=>e=>{t(A(e))}}function dn(A){return t=>e=>{A(e).forEach(t)}}function hn(A){return t=>e=>{A(e)&&t(e)}}function wn(A){let t=0;return e=>n=>{tn=>{t+=1,t>A&&e(n)}}function mn(A,t){return A.reverse().reduce((e,n)=>{const B=Ct(n(e.step));return{step:B.step,flush:()=>{B.flush(),e.flush()}}},Ct(t))}function Ct(A){return typeof A=="function"?{step:A,flush:()=>{}}:A}class Dn{constructor(t,e,n){this.left=t,this.right=e,this.comparator=n}[Symbol.iterator](){let t,e;return{next:()=>{if(t===void 0&&this.left!==void 0){const n=this.left.next();n.done?this.left=void 0:t=n.value}if(e===void 0&&this.right!==void 0){const n=this.right.next();n.done?this.right=void 0:e=n.value}if(t===void 0&&e===void 0)return{done:!0};if(t===void 0){const n=e;return e=void 0,{done:!1,value:n}}else if(e===void 0){const n=t;return t=void 0,{done:!1,value:n}}else if(this.comparator(t,e)){const n=t;return t=void 0,{done:!1,value:n}}else{const n=e;return e=void 0,{done:!1,value:n}}}}}}async function lt(A){if(A instanceof Response){const t=await A.text(),e=yn(t);if(e!==void 0){const{header:n,events:B}=e;if(n.version===2)return ft(n,B);if(n.version===3)return ut(n,B);throw new Error(`asciicast v${n.version} format not supported`)}else{const n=JSON.parse(t);if(n.version===1)return ct(n)}}else{if(typeof A=="object"&&A.version===1)return ct(A);if(Array.isArray(A)){const t=A[0];if(t.version===2){const e=A.slice(1,A.length);return ft(t,e)}else if(t.version===3){const e=A.slice(1,A.length);return ut(t,e)}else throw new Error(`asciicast v${t.version} format not supported`)}}throw new Error("invalid data")}function yn(A){const t=A.split(` `);let e;try{e=JSON.parse(t[0])}catch{return}const n=new uA(t).drop(1).filter(B=>B[0]==="[").map(JSON.parse);return{header:e,events:n}}function ct(A){let t=0;const e=new uA(A.stdout).map(n=>(t+=n[0],[t,"o",n[1]]));return{cols:A.width,rows:A.height,events:e}}function ft(A,t){return{cols:A.width,rows:A.height,theme:dt(A.theme),events:t,idleTimeLimit:A.idle_time_limit}}function ut(A,t){t instanceof uA||(t=new uA(t));let e=0;return t=t.map(n=>(e+=n[0],[e,n[1],n[2]])),{cols:A.term.cols,rows:A.term.rows,theme:dt(A.term?.theme),events:t,idleTimeLimit:A.idle_time_limit}}function dt(A){if(A===void 0)return;const t=/^#[0-9A-Fa-f]{6}$/,e=/^(#[0-9A-Fa-f]{6}:){7,}#[0-9A-Fa-f]{6}$/,n=A?.fg,B=A?.bg,r=A?.palette;if(t.test(n)&&t.test(B)&&e.test(r))return{foreground:n,background:B,palette:r.split(":")}}function kn(A){const t=JSON.stringify({version:2,width:A.cols,height:A.rows}),e=A.events.map(JSON.stringify).join(` `);return`${t} ${e} `}function bn(A,t,e){let{feed:n,resize:B,onInput:r,onMarker:o,setState:i,logger:g}=t,{speed:Q,idleTimeLimit:C,startAt:E,loop:u,posterTime:c,markers:V,pauseOnMarkers:I,cols:a,rows:s,audioUrl:d}=e,m,b,p,L,R,z,G,H=0,S=0,$,U,EA=0,IA=!1,VA,_=!1,W=()=>performance.now()*Q,M,N,sA=!1;async function GA(){const f=setTimeout(()=>{i("loading")},3e3);try{let y=hA(A,g,{idleTimeLimit:C,startAt:E,markers_:V});const D=await SA(d);return y=await y,{...y,hasAudio:D}}finally{clearTimeout(f)}}async function hA(f,y,D){const{parser:J,minFrameTime:x,inputOffset:TA,dumpFilename:ce,encoding:XA="utf-8"}=f,Be=await UA(f),fe=Ln(await J(Be,{encoding:XA}),y,{...D,minFrameTime:x,inputOffset:TA});if({cols:m,rows:b,events:p,duration:R,effectiveStartAt:z}=fe,a=a??m,s=s??b,p.length===0)throw new Error("recording is missing events");ce!==void 0&&Mn(fe,ce);const Qt=c!==void 0?k(c):void 0;return L=p.filter(re=>re[1]==="m").map(re=>[re[0],re[2].label]),{cols:m,rows:b,duration:R,theme:fe.theme,poster:Qt,markers:L}}async function SA(f){return f?(N=await Nn(f),sA=!Number.isNaN(N.duration)&&N.duration!==1/0&&N.seekable.length>0&&N.seekable.end(N.seekable.length-1)===N.duration,sA?(N.addEventListener("playing",cA),N.addEventListener("waiting",QA)):g.warn(`audio is not seekable - you must enable range request support on the server providing ${N.src} for audio seeking to work`),!0):!1}async function UA(f){let{url:y,data:D,fetchOpts:J={}}=f;if(typeof y=="string")return await $A(y,J);if(Array.isArray(y))return await Promise.all(y.map(x=>$A(x,J)));if(D!==void 0){typeof D=="function"&&(D=D()),D instanceof Promise||(D=Promise.resolve(D));const x=await D;return typeof x=="string"||x instanceof ArrayBuffer?new Response(x):x}else throw new Error("failed fetching recording file: url/data missing in src")}async function $A(f,y){const D=await fetch(f,y);if(!D.ok)throw new Error(`failed fetching recording from ${f}: ${D.status} ${D.statusText}`);return D}function gA(){const f=p[H];f?G=_A(MA,f[0]):pA()}function _A(f,y){let D=(y*1e3-(W()-$))/Q;return D<0&&(D=0),setTimeout(f,D)}function MA(){let f=p[H],y;do{if(S=f[0],H++,JA(f))return;f=p[H],y=W()-$}while(f&&y>f[0]*1e3);gA()}function wA(){clearTimeout(G),G=null}function JA(f){const[y,D,J]=f;if(D==="o")n(J);else if(D==="i")r(J);else if(D==="r"){const[x,TA]=J.split("x");B(x,TA)}else if(D==="m"&&(o(J),I))return lA(),U=y*1e3,i("idle",{reason:"paused"}),!0;return!1}function pA(){wA(),EA++,u===!0||typeof u=="number"&&EA>"?f=D+5:f==="<<<"?f=D-.1*R:f===">>>"?f=D+.1*R:f[f.length-1]==="%"&&(f=parseFloat(f.substring(0,f.length-1))/100*R);else if(typeof f=="object"){if(f.marker==="prev")f=zA(D)??0,y&&D-f<1&&(f=zA(f)??0);else if(f.marker==="next")f=l(D)??R;else if(typeof f.marker=="number"){const TA=L[f.marker];if(TA===void 0)throw new Error(`invalid marker index: ${f.marker}`);f=TA[0]}}const J=Math.min(Math.max(f,0),R);if(J*1e3===U)return!1;Jf;)J=D[0],D=L[--y];return J}function w(f){f===void 0&&(f=1);let y,D;if(f>0){let J=H;y=p[J];for(let x=0;xy[0]y[2])}function O(){return G?(W()-$)/1e3:(U??0)/1e3}function F(){B(a,s)}function Y(){M=new AudioContext({latencyHint:"interactive"}),M.createMediaElementSource(N).connect(M.destination),W=T}function T(){if(!M)throw new Error("audio context not started - can't tell time!");const{contextTime:f,performanceTime:y}=M.getOutputTimestamp();return y===0?f*1e3:f*1e3+(performance.now()-y)}function QA(){if(g.debug("audio buffering"),IA=!0,_=!!G,VA=setTimeout(()=>i("loading"),1e3),!G)return!0;g.debug("pausing session playback"),wA(),U=W()-$}function cA(){g.debug("audio resumed"),clearTimeout(VA),i("playing"),IA&&(IA=!1,_&&(g.debug("resuming session playback"),$=W()-U,U=null,gA()))}function fA(){if(N)return N.muted=!0,!0}function aA(){if(N)return N.muted=!1,!0}return{init:GA,play:ne,pause:lA,seek:YA,step:w,restart:q,stop:lA,mute:fA,unmute:aA,getCurrentTime:O}}function qn(A){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:.016666666666666666,e;return n=>{let B=0,r=0;return{step:o=>{if(B++,e===void 0){e=o;return}o[1]==="o"&&e[1]==="o"&&o[0]-e[0]{e!==void 0&&(n(e),r++),A.debug(`batched ${B} frames to ${r} frames`)}}}}function Ln(A,t,e){let{startAt:n=0,idleTimeLimit:B,minFrameTime:r,inputOffset:o,markers_:i}=e,{events:g}=A;g instanceof uA||(g=new uA(g)),B=B??A.idleTimeLimit??1/0;const Q={offset:0};g=g.transform(qn(t,r)).map(Fn(B,n,Q)).map(ht()),i!==void 0&&(i=new uA(i).map(Rn),g=g.filter(u=>u[1]!=="m").multiplex(i,(u,c)=>u[0]u[1]==="i"?[u[0]+o,u[1],u[2]]:u),g.sort((u,c)=>u[0]-c[0]));const C=g[g.length-1][0],E=n-Q.offset;return{...A,events:g,duration:C,effectiveStartAt:E}}function Rn(A){return typeof A=="number"?[A,"m",""]:[A[0],"m",A[1]]}function Fn(A,t,e){let n=0,B=0;return function(r){const i=r[0]-n-A;return n=r[0],i>0&&(B+=i,r[0]r[1]==="m"?[r[0],r[1],r[2].label]:r),B=kn({...A,events:n});e.href=URL.createObjectURL(new Blob([B],{type:"text/plain"})),e.download=t,e.click()}async function Nn(A){const t=new Audio;t.preload="metadata",t.loop=!1,t.crossOrigin="anonymous";let e;const n=new Promise(r=>{e=r});function B(){e(),t.removeEventListener("canplay",B)}return t.addEventListener("canplay",B),t.src=A,t.load(),await n,t}function Gn(A,t,e){let{hourColor:n=3,minuteColor:B=4,separatorColor:r=9}=A,{feed:o}=t,{cols:i=5,rows:g=1}=e;const Q=Math.floor(g/2),C=Math.floor(i/2)-2,E=`\x1B[?25l\x1B[1m\x1B[${Q}B`;let u;const c=()=>{const I=new Date,a=I.getHours(),s=I.getMinutes(),d=[];d.push("\r");for(let m=0;m{c().forEach(o)};return{init:()=>{const a=[E].concat(c());return{cols:i,rows:g,duration:1440,poster:a}},play:()=>(o(E),V(),u=setInterval(V,1e3),!0),stop:()=>{clearInterval(u)},getCurrentTime:()=>{const I=new Date;return I.getHours()*60+I.getMinutes()}}}function Sn(A,t,e){let{feed:n}=t,{speed:B}=e;const r=32,o=126-r;let i;const g=()=>{const C=Math.pow(5,Math.random()*4);i=setTimeout(Q,C/B)},Q=()=>{g();const C=String.fromCharCode(r+Math.floor(Math.random()*o));n(C)};return()=>(g(),()=>clearInterval(i))}function Un(A,t){let{url:e,iterations:n=10}=A,{feed:B,setState:r}=t,o,i=0;return{async init(){const g=await lt(await fetch(e)),{cols:Q,rows:C,events:E}=g;o=Array.from(E).filter(c=>{let[V,I,a]=c;return I==="o"}).map(c=>{let[V,I,a]=c;return[V,a]});const u=o[o.length-1][0];for(const[c,V]of o)i+=new Blob([V]).size;return{cols:Q,rows:C,duration:u}},play(){const g=performance.now();for(let c=0;c{r("stopped",{reason:"ended"})},0),!0}}}class Jn{constructor(){this.items=[],this.onPush=void 0}push(t){this.items.push(t),this.onPush!==void 0&&(this.onPush(this.popAll()),this.onPush=void 0)}popAll(){if(this.items.length>0){const t=this.items;return this.items=[],t}else{const t=this;return new Promise(e=>{t.onPush=e})}}}function wt(A,t,e,n,B,r,o,i,g){const Q=Yn(t,e,n,B);if(A===0)return g.debug("using no buffer"),vn(Q);{A=A??{};let C;return typeof A=="number"?(g.debug(`using fixed time buffer (${A} ms)`),C=E=>A):typeof A=="function"?(g.debug("using custom dynamic buffer"),C=A({logger:g})):(g.debug("using adaptive buffer",A),C=On({logger:g},A)),Tn(C,Q,r,g,o??0,i)}}function vn(A){return{pushEvent(t){A(t[1],t[2])},pushText(t){A("o",t)},stop(){}}}function Yn(A,t,e,n){return function(B,r){B==="o"?A(r):B==="i"?e(r):B==="r"?t(r.cols,r.rows):B==="m"&&n(r)}}function Tn(A,t,e,n,B){let r=arguments.length>5&&arguments[5]!==void 0?arguments[5]:.016666666666666666,o=performance.now()-B*1e3,i=A(0);const g=new Jn;r*=1e3;let Q=-r,C=!1;function E(){return performance.now()-o}return setTimeout(async()=>{for(;!C;){const u=await g.popAll();if(C)return;for(const c of u){const V=c[0]*1e3+i;if(V-Q0&&(await Kn(I),C))return;e(c[0]),t(c[1],c[2]),Q=V}}},0),{pushEvent(u){let c=E()-u[0]*1e3;c<0&&(n.debug(`correcting epoch by ${c} ms`),o+=c,c=0),i=A(c),g.push(u)},pushText(u){g.push([E()/1e3,"o",u])},stop(){C=!0,g.push(void 0)}}}function Kn(A){return new Promise(t=>{setTimeout(t,A)})}function On(){let{logger:A}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},{minBufferTime:t=50,bufferLevelStep:e=100,maxBufferLevel:n=50,transitionDuration:B=500,peakHalfLifeUp:r=100,peakHalfLifeDown:o=1e4,floorHalfLifeUp:i=5e3,floorHalfLifeDown:g=100,idealHalfLifeUp:Q=1e3,idealHalfLifeDown:C=5e3,safetyMultiplier:E=1.2,minImprovementDuration:u=3e3}=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};function c(R){return R===0?t:e*R}let V=1,I=c(V),a=performance.now(),s=null,d=null,m=null,b=null,p=null,L=null;return function(R){const z=performance.now(),G=Math.max(0,z-a);if(a=z,s===null)s=R;else if(R>s){const U=1-Math.pow(2,-G/r);s+=U*(R-s)}else{const U=1-Math.pow(2,-G/o);s+=U*(R-s)}if(s=Math.max(s,0),d===null)d=R;else if(R>d){const U=1-Math.pow(2,-G/i);d+=U*(R-d)}else{const U=1-Math.pow(2,-G/g);d+=U*(R-d)}d=Math.max(d,0);const H=s-d,S=E*(s+H);if(m===null)m=S;else if(S>m){const U=1-Math.pow(2,-G/Q);m+=+U*(S-m)}else{const U=1-Math.pow(2,-G/C);m+=+U*(S-m)}let $;return m<=t?$=0:$=xn(Math.ceil(m/e),1,n),R>I&&A.debug("buffer underrun",{latency:R,bufferTime:I}),$>V?(R>I?V=Math.min($,V+3):V+=1,p=c(V),L=(p-I)/B,b=null,A.debug("raising buffer",{latency:R,bufferTime:I,targetBufferTime:p})):$=u&&(V-=1,p=c(V),L=(p-I)/B,b=z,A.debug("lowering buffer",{latency:R,bufferTime:I,targetBufferTime:p}))):b=null,p!==null&&(I+=L*G,(L>=0&&I>p||L<0&&I0&&(L=t.decode(new Uint8Array(I,V.offset,p))),n=Q,{time:a,term:{size:{cols:s,rows:d},theme:b,init:L}}}function Q(V){const I=new mt(new DataView(V)),a=I.getUint8();if(a===1)return g(I,V);if(a===111)return C(I,V);if(a===105)return E(I,V);if(a===114)return u(I);if(a===109)return c(I,V);if(a===4)return n=i,!1;A.debug(`alis: unknown frame type: ${a}`)}function C(V,I){V.decodeVarUint();const a=V.decodeVarUint();B+=a;const s=V.decodeVarUint(),d=t.decode(new Uint8Array(I,V.offset,s));return[B/se,"o",d]}function E(V,I){V.decodeVarUint();const a=V.decodeVarUint();B+=a;const s=V.decodeVarUint(),d=e.decode(new Uint8Array(I,V.offset,s));return[B/se,"i",d]}function u(V){V.decodeVarUint();const I=V.decodeVarUint();B+=I;const a=V.decodeVarUint(),s=V.decodeVarUint();return[B/se,"r",{cols:a,rows:s}]}function c(V,I){V.decodeVarUint();const a=V.decodeVarUint();B+=a;const s=V.decodeVarUint(),d=new TextDecoder,m=r++,b=B/se,p=d.decode(new Uint8Array(I,V.offset,s));return[b,"m",{index:m,time:b,label:p}]}return function(V){return n(V)}}function pt(A){const t=A.length/3,e=Oe(A[0],A[1],A[2]),n=Oe(A[3],A[4],A[5]),B=[];for(let r=2;r1&&arguments[1]!==void 0?arguments[1]:0;this.inner=t,this.offset=e}forward(t){this.offset+=t}getUint8(){const t=this.inner.getUint8(this.offset);return this.offset+=1,t}decodeVarUint(){let t=BigInt(0),e=BigInt(0),n=this.getUint8();for(;n>127;)n&=127,t+=BigInt(n)<{const _=I.protocol||"raw";c.info("opened"),c.info(`activating ${_} protocol handler`),_==="v1.alis"?I.onmessage=G(Hn(c)):_==="v2.asciicast"?I.onmessage=G(Zn()):_==="v3.asciicast"?I.onmessage=G(Wn()):_==="raw"&&(I.onmessage=G($n())),m=setTimeout(()=>{d=0},1e3)},I.onclose=_=>{if(clearTimeout(L),$(),b||_.code===1e3||_.code===1005)c.info("closed"),u("ended",{message:"Stream ended"});else if(_.code===1002)c.debug(`close reason: ${_.reason}`),u("ended",{message:"Err: Player not compatible with the server"});else{clearTimeout(m);const W=r(d++);c.info(`unclean close, reconnecting in ${W}...`),u("loading"),setTimeout(z,W)}},p=!1}function G(_){return L=setTimeout(S,5e3),function(W){try{const M=_(W.data);if(a){if(Array.isArray(M))a.pushEvent(M);else if(typeof M=="string")a.pushText(M);else if(typeof M=="object"&&!Array.isArray(M))H(M);else if(M===!1)S();else if(M!==void 0)throw new Error(`unexpected value from protocol handler: ${M}`)}else if(typeof M=="object"&&!Array.isArray(M))H(M),clearTimeout(L);else if(M===void 0)clearTimeout(L),L=setTimeout(S,1e3);else throw clearTimeout(L),new Error(`unexpected value from protocol handler: ${M}`)}catch(M){throw I.close(),M}}}function H(_){let{time:W,term:M}=_;const{size:N,init:sA,theme:GA}=M,{cols:hA,rows:SA}=N;c.info(`stream reset (${hA}x${SA} @${W})`),u("playing"),$(),a=wt(B,i,Q,C,E,UA=>s.setTime(UA),W,o,c),g(hA,SA,sA,GA),s=new Ke,p=!0,typeof W=="number"&&s.setTime(W)}function S(){$(),p?(c.info("stream ended"),u("offline",{message:"Stream ended"})):(c.info("stream offline"),u("offline",{message:"Stream offline"})),s=new Ve}function $(){a&&a.stop(),a=null}function U(){V&&(R=new Audio,R.preload="auto",R.crossOrigin="anonymous",R.src=V,R.play())}function EA(){R&&R.pause()}function IA(){if(R)return R.muted=!0,!0}function VA(){if(R)return R.muted=!1,!0}return{init:()=>({hasAudio:!!V}),play:()=>{z(),U()},stop:()=>{b=!0,$(),I!==void 0&&I.close(),EA()},mute:IA,unmute:VA,getCurrentTime:()=>s.getTime()}}function eB(A,t){let{url:e,bufferTime:n,minFrameTime:B}=A,{feed:r,reset:o,resize:i,onInput:g,onMarker:Q,setState:C,logger:E}=t;E=new it(E,"eventsource: ");let u,c,V=new Ve;function I(a){c!==void 0&&c.stop(),c=wt(n,r,i,g,Q,s=>V.setTime(s),a,B,E)}return{play:()=>{u=new EventSource(e),u.addEventListener("open",()=>{E.info("opened"),I()}),u.addEventListener("error",a=>{E.info("errored"),E.debug({e:a}),C("loading")}),u.addEventListener("message",a=>{const s=JSON.parse(a.data);if(Array.isArray(s))c.pushEvent(s);else if(s.cols!==void 0||s.width!==void 0){const d=s.cols??s.width,m=s.rows??s.height;E.debug(`vt reset (${d}x${m})`),C("playing"),I(s.time),o(d,m,s.init??void 0),V=new Ke,typeof s.time=="number"&&V.setTime(s.time)}else s.state==="offline"&&(E.info("stream offline"),C("offline",{message:"Stream offline"}),V=new Ve)}),u.addEventListener("done",()=>{E.info("closed"),u.close(),C("ended",{message:"Stream ended"})})},stop:()=>{c!==void 0&&c.stop(),u!==void 0&&u.close()},getCurrentTime:()=>V.getTime()}}async function tB(A,t){let{encoding:e}=t;const n=new TextDecoder(e);let B,r,o=(await A[0].text()).split(` `).filter(a=>a.length>0).map(a=>a.split(" "));o[0].length<3&&(o=o.map(a=>["O",a[0],a[1]]));const i=await A[1].arrayBuffer(),g=new Uint8Array(i),Q=g.findIndex(a=>a==10)+1,E=n.decode(g.subarray(0,Q)).match(/COLUMNS="(\d+)" LINES="(\d+)"/);E!==null&&(B=parseInt(E[1],10),r=parseInt(E[2],10));const u={array:g,cursor:Q};let c=u;if(A[2]!==void 0){const a=await A[2].arrayBuffer();c={array:new Uint8Array(a),cursor:Q}}const V=[];let I=0;for(const a of o)if(I+=parseFloat(a[1]),a[0]==="O"){const s=parseInt(a[2],10),d=u.array.subarray(u.cursor,u.cursor+s),m=n.decode(d);V.push([I,"o",m]),u.cursor+=s}else if(a[0]==="I"){const s=parseInt(a[2],10),d=c.array.subarray(c.cursor,c.cursor+s),m=n.decode(d);V.push([I,"i",m]),c.cursor+=s}else if(a[0]==="S"&&a[2]==="SIGWINCH"){const s=parseInt(a[4].slice(5),10),d=parseInt(a[3].slice(5),10);V.push([I,"r",`${s}x${d}`])}else a[0]==="H"&&a[2]==="COLUMNS"?B=parseInt(a[3],10):a[0]==="H"&&a[2]==="LINES"&&(r=parseInt(a[3],10));return B=B??80,r=r??24,{cols:B,rows:r,events:V}}async function nB(A,t){let{encoding:e}=t;const n=new TextDecoder(e),B=await A.arrayBuffer(),r=new Uint8Array(B),o=He(r),i=o.time,Q=n.decode(o.data).match(/\x1b\[8;(\d+);(\d+)t/),C=[];let E=80,u=24;Q!==null&&(E=parseInt(Q[2],10),u=parseInt(Q[1],10));let c=0,V=He(r);for(;V!==void 0;){const I=V.time-i,a=n.decode(V.data);C.push([I,"o",a]),c+=V.len,V=He(r.subarray(c))}return{cols:E,rows:u,events:C}}function He(A){if(A.length<13)return;const t=BB(A.subarray(0,8)),e=Ze(A.subarray(8,12)),n=A.subarray(12,12+e);return{time:t,data:n,len:e+12}}function Ze(A){return A[0]+A[1]*256+A[2]*256*256+A[3]*256*256*256}function BB(A){const t=Ze(A.subarray(0,4)),e=Ze(A.subarray(4,8));return t+e/1e6}const We=80,$e=24,rB=fn({module:cn});class OA{constructor(t){this.core=t,this.driver=t.driver}onEnter(t){}init(){}play(){}pause(){}togglePlay(){}mute(){this.driver&&this.driver.mute()&&this.core._dispatchEvent("muted",!0)}unmute(){this.driver&&this.driver.unmute()&&this.core._dispatchEvent("muted",!1)}seek(t){return!1}step(t){}stop(){this.driver.stop()}}class gB extends OA{async init(){try{return await this.core._initializeDriver(),this.core._setState("idle")}catch(t){throw this.core._setState("errored"),t}}async play(){this.core._dispatchEvent("play"),await(await this.init()).doPlay()}async togglePlay(){await this.play()}async seek(t){return await(await this.init()).seek(t)}async step(t){await(await this.init()).step(t)}stop(){}}class QB extends OA{onEnter(t){let{reason:e,message:n}=t;this.core._dispatchEvent("idle",{message:n}),e==="paused"&&this.core._dispatchEvent("pause")}async play(){this.core._dispatchEvent("play"),await this.doPlay()}async doPlay(){const t=await this.driver.play();t===!0?this.core._setState("playing"):typeof t=="function"&&(this.core._setState("playing"),this.driver.stop=t)}async togglePlay(){await this.play()}seek(t){return this.driver.seek(t)}step(t){this.driver.step(t)}}class oB extends OA{onEnter(){this.core._dispatchEvent("playing")}pause(){this.driver.pause()===!0&&this.core._setState("idle",{reason:"paused"})}togglePlay(){this.pause()}seek(t){return this.driver.seek(t)}}class iB extends OA{onEnter(){this.core._dispatchEvent("loading")}}class EB extends OA{onEnter(t){let{message:e}=t;this.core._dispatchEvent("offline",{message:e})}}class VB extends OA{onEnter(t){let{message:e}=t;this.core._dispatchEvent("ended",{message:e})}async play(){this.core._dispatchEvent("play"),await this.driver.restart()&&this.core._setState("playing")}async togglePlay(){await this.play()}async seek(t){return await this.driver.seek(t)===!0?(this.core._setState("idle"),!0):!1}}class sB extends OA{onEnter(){this.core._dispatchEvent("errored")}}class IB{constructor(t,e){this.logger=e.logger,this.state=new gB(this),this.stateName="uninitialized",this.driver=aB(t),this.changedLines=new Set,this.duration=void 0,this.cols=e.cols,this.rows=e.rows,this.speed=e.speed,this.loop=e.loop,this.autoPlay=e.autoPlay,this.idleTimeLimit=e.idleTimeLimit,this.preload=e.preload,this.startAt=ot(e.startAt),this.poster=this._parsePoster(e.poster),this.markers=this._normalizeMarkers(e.markers),this.pauseOnMarkers=e.pauseOnMarkers,this.audioUrl=e.audioUrl,this.boldIsBright=e.boldIsBright??!1,this.commandQueue=Promise.resolve(),this.needsClear=!1,this.eventHandlers=new Map([["ended",[]],["errored",[]],["idle",[]],["input",[]],["loading",[]],["marker",[]],["metadata",[]],["muted",[]],["offline",[]],["pause",[]],["play",[]],["playing",[]],["ready",[]],["seeked",[]],["vtUpdate",[]]])}async init(){this.wasm=await rB;const{memory:t}=await this.wasm.default();this.memory=t,this._initializeVt(this.cols??We,this.rows??$e);const e=this._feed.bind(this),n=C=>{this._dispatchEvent("input",{data:C})},B=C=>{let{index:E,time:u,label:c}=C;this._dispatchEvent("marker",{index:E,time:u,label:c})},r=this._resetVt.bind(this),o=this._resizeVt.bind(this),i=this._setState.bind(this),g=this.poster.type==="npt"&&!this.autoPlay?this.poster.value:void 0;this.driver=this.driver({feed:e,onInput:n,onMarker:B,reset:r,resize:o,setState:i,logger:this.logger},{cols:this.cols,rows:this.rows,speed:this.speed,idleTimeLimit:this.idleTimeLimit,startAt:this.startAt,loop:this.loop,posterTime:g,markers:this.markers,pauseOnMarkers:this.pauseOnMarkers,audioUrl:this.audioUrl}),typeof this.driver=="function"&&(this.driver={play:this.driver}),(this.preload||g!==void 0)&&this._withState(C=>C.init());const Q={isPausable:!!this.driver.pause,isSeekable:!!this.driver.seek};if(this.driver.init===void 0&&(this.driver.init=()=>({})),this.driver.pause===void 0&&(this.driver.pause=()=>{}),this.driver.seek===void 0&&(this.driver.seek=C=>!1),this.driver.step===void 0&&(this.driver.step=C=>{}),this.driver.stop===void 0&&(this.driver.stop=()=>{}),this.driver.restart===void 0&&(this.driver.restart=()=>{}),this.driver.mute===void 0&&(this.driver.mute=()=>{}),this.driver.unmute===void 0&&(this.driver.unmute=()=>{}),this.driver.getCurrentTime===void 0){const C=this.driver.play;let E=new Ve;this.driver.play=()=>(E=new Ke(this.speed),C()),this.driver.getCurrentTime=()=>E.getTime()}this._dispatchEvent("ready",Q),this.autoPlay?this.play():this.poster.type==="text"&&(this._feed(this.poster.value),this.needsClear=!0)}play(){return this._clearIfNeeded(),this._withState(t=>t.play())}pause(){return this._withState(t=>t.pause())}togglePlay(){return this._clearIfNeeded(),this._withState(t=>t.togglePlay())}seek(t){return this._clearIfNeeded(),this._withState(async e=>{await e.seek(t)&&this._dispatchEvent("seeked")})}step(t){return this._clearIfNeeded(),this._withState(e=>e.step(t))}stop(){return this._withState(t=>t.stop())}mute(){return this._withState(t=>t.mute())}unmute(){return this._withState(t=>t.unmute())}getLine(t,e){return this.vt.getLine(t,e)}getDataView(t,e){let[n,B]=t;return new DataView(this.memory.buffer,n,B*e)}getUint32Array(t){let[e,n]=t;return new Uint32Array(this.memory.buffer,e,n)}getCursor(){const t=this.vt.getCursor();return t?{col:t[0],row:t[1],visible:!0}:{col:0,row:0,visible:!1}}getCurrentTime(){return this.driver.getCurrentTime()}getRemainingTime(){if(typeof this.duration=="number")return this.duration-Math.min(this.getCurrentTime(),this.duration)}getProgress(){if(typeof this.duration=="number")return Math.min(this.getCurrentTime(),this.duration)/this.duration}getDuration(){return this.duration}addEventListener(t,e){this.eventHandlers.get(t).push(e)}removeEventListener(t,e){const n=this.eventHandlers.get(t);if(!n)return;const B=n.indexOf(e);B!==-1&&n.splice(B,1)}_dispatchEvent(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};for(const n of this.eventHandlers.get(t))n(e)}_withState(t){return this._enqueueCommand(()=>t(this.state))}_enqueueCommand(t){return this.commandQueue=this.commandQueue.then(t),this.commandQueue}_setState(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(this.stateName===t)return this.state;if(this.stateName=t,t==="playing")this.state=new oB(this);else if(t==="idle")this.state=new QB(this);else if(t==="loading")this.state=new iB(this);else if(t==="ended")this.state=new VB(this);else if(t==="offline")this.state=new EB(this);else if(t==="errored")this.state=new sB(this);else throw new Error(`invalid state: ${t}`);return this.state.onEnter(e),this.state}_feed(t){const e=this.vt.feed(t);this._dispatchEvent("vtUpdate",{changedRows:e})}async _initializeDriver(){const t=await this.driver.init();this.cols=this.cols??t.cols??We,this.rows=this.rows??t.rows??$e,this.duration=this.duration??t.duration,this.markers=this._normalizeMarkers(t.markers)??this.markers??[],this.cols===0&&(this.cols=We),this.rows===0&&(this.rows=$e),this._initializeVt(this.cols,this.rows),t.poster!==void 0?(t.poster.forEach(e=>this.vt.feed(e)),this.needsClear=!0):this.poster.type==="text"&&(this.vt.feed(this.poster.value),this.needsClear=!0),this._dispatchEvent("metadata",{size:{cols:this.cols,rows:this.rows},theme:t.theme??null,duration:this.duration,markers:this.markers,hasAudio:t.hasAudio}),this._dispatchEvent("vtUpdate",{size:{cols:this.cols,rows:this.rows},theme:t.theme??null,changedRows:Array.from({length:this.rows},(e,n)=>n)})}_clearIfNeeded(){this.needsClear&&(this._feed("\x1Bc"),this.needsClear=!1)}_resetVt(t,e){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:void 0,B=arguments.length>3&&arguments[3]!==void 0?arguments[3]:void 0;this.logger.debug(`core: vt reset (${t}x${e})`),this.cols=t,this.rows=e,this._initializeVt(t,e),n!==void 0&&n!==""&&this.vt.feed(n),this._dispatchEvent("metadata",{size:{cols:t,rows:e},theme:B??null}),this._dispatchEvent("vtUpdate",{size:{cols:t,rows:e},theme:B??null,changedRows:Array.from({length:e},(r,o)=>o)})}_resizeVt(t,e){if(t===this.vt.cols&&e===this.vt.rows)return;const n=this.vt.resize(t,e);this.vt.cols=t,this.vt.rows=e,this.logger.debug(`core: vt resize (${t}x${e})`),this._dispatchEvent("metadata",{size:{cols:t,rows:e}}),this._dispatchEvent("vtUpdate",{size:{cols:t,rows:e},changedRows:n})}_initializeVt(t,e){this.logger.debug("vt init",{cols:t,rows:e}),this.vt=this.wasm.create(t,e,100,this.boldIsBright),this.vt.cols=t,this.vt.rows=e}_parsePoster(t){return typeof t!="string"?{}:t.substring(0,16)=="data:text/plain,"?{type:"text",value:t.substring(16)}:t.substring(0,4)=="npt:"?{type:"npt",value:ot(t.substring(4))}:{}}_normalizeMarkers(t){if(Array.isArray(t))return t.map(e=>typeof e=="number"?[e,""]:e)}}const Dt=new Map([["benchmark",Un],["clock",Gn],["eventsource",eB],["random",Sn],["recording",bn],["websocket",AB]]),yt=new Map([["asciicast",lt],["typescript",tB],["ttyrec",nB]]);function aB(A){if(typeof A=="function")return A;if(typeof A=="string"&&(A.substring(0,5)=="ws://"||A.substring(0,6)=="wss://"?A={driver:"websocket",url:A}:A.substring(0,6)=="clock:"?A={driver:"clock"}:A.substring(0,7)=="random:"?A={driver:"random"}:A.substring(0,10)=="benchmark:"?A={driver:"benchmark",url:A.substring(10)}:A={driver:"recording",url:A}),A.driver===void 0&&(A.driver="recording"),A.driver=="recording"&&(A.parser===void 0&&(A.parser="asciicast"),typeof A.parser=="string"))if(yt.has(A.parser))A.parser=yt.get(A.parser);else throw new Error(`unknown parser: ${A.parser}`);if(Dt.has(A.driver)){const t=Dt.get(A.driver);return(e,n)=>t(A,e,n)}else throw new Error(`unsupported driver: ${JSON.stringify(A)}`)}const CB=!1,lB=(A,t)=>A===t,xA=Symbol("solid-proxy"),_e=Symbol("solid-track"),De={equals:lB};let kt=Ft;const yA=1,ye=2,bt={owned:null,cleanups:null,context:null,owner:null};var eA=null;let ze=null,cB=null,AA=null,oA=null,kA=null,ke=0;function be(A,t){const e=AA,n=eA,B=A.length===0,r=t===void 0?n:t,o=B?bt:{owned:null,cleanups:null,context:r?r.context:null,owner:r},i=B?A:()=>A(()=>iA(()=>Ie(o)));eA=o,AA=null;try{return HA(i,!0)}finally{AA=e,eA=n}}function BA(A,t){t=t?Object.assign({},De,t):De;const e={value:A,observers:null,observerSlots:null,comparator:t.equals||void 0},n=B=>(typeof B=="function"&&(B=B(e.value)),Rt(e,B));return[Lt.bind(e),n]}function fB(A,t,e){const n=Le(A,t,!0,yA);Ae(n)}function bA(A,t,e){const n=Le(A,t,!1,yA);Ae(n)}function Xe(A,t,e){kt=DB;const n=Le(A,t,!1,yA);n.user=!0,kA?kA.push(n):Ae(n)}function nA(A,t,e){e=e?Object.assign({},De,e):De;const n=Le(A,t,!0,0);return n.observers=null,n.observerSlots=null,n.comparator=e.equals||void 0,Ae(n),Lt.bind(n)}function dA(A){return HA(A,!1)}function iA(A){if(AA===null)return A();const t=AA;AA=null;try{return A()}finally{AA=t}}function qt(A){Xe(()=>iA(A))}function qe(A){return eA===null||(eA.cleanups===null?eA.cleanups=[A]:eA.cleanups.push(A)),A}function je(){return AA}function uB(A){const t=AA,e=eA;return Promise.resolve().then(()=>{AA=t,eA=e;let n;return HA(A,!1),AA=eA=null,n?n.done:void 0})}const[dB]=BA(!1);function hB(){return[dB,uB]}function wB(A){const t=nA(A),e=nA(()=>Pe(t()));return e.toArray=()=>{const n=e();return Array.isArray(n)?n:n!=null?[n]:[]},e}function Lt(){if(this.sources&&this.state)if(this.state===yA)Ae(this);else{const A=oA;oA=null,HA(()=>Fe(this),!1),oA=A}if(AA){const A=this.observers?this.observers.length:0;AA.sources?(AA.sources.push(this),AA.sourceSlots.push(A)):(AA.sources=[this],AA.sourceSlots=[A]),this.observers?(this.observers.push(AA),this.observerSlots.push(AA.sources.length-1)):(this.observers=[AA],this.observerSlots=[AA.sources.length-1])}return this.value}function Rt(A,t,e){let n=A.value;return(!A.comparator||!A.comparator(n,t))&&(A.value=t,A.observers&&A.observers.length&&HA(()=>{for(let B=0;B1e6)throw oA=[],new Error},!1)),t}function Ae(A){if(!A.fn)return;Ie(A);const t=ke;pB(A,A.value,t)}function pB(A,t,e){let n;const B=eA,r=AA;AA=eA=A;try{n=A.fn(t)}catch(o){return A.pure&&(A.state=yA,A.owned&&A.owned.forEach(Ie),A.owned=null),A.updatedAt=e+1,Nt(o)}finally{AA=r,eA=B}(!A.updatedAt||A.updatedAt<=e)&&(A.updatedAt!=null&&"observers"in A?Rt(A,n):A.value=n,A.updatedAt=e)}function Le(A,t,e,n=yA,B){const r={fn:A,state:n,updatedAt:null,owned:null,sources:null,sourceSlots:null,cleanups:null,value:t,owner:eA,context:eA?eA.context:null,pure:e};return eA===null||eA!==bt&&(eA.owned?eA.owned.push(r):eA.owned=[r]),r}function Re(A){if(A.state===0)return;if(A.state===ye)return Fe(A);if(A.suspense&&iA(A.suspense.inFallback))return A.suspense.effects.push(A);const t=[A];for(;(A=A.owner)&&(!A.updatedAt||A.updatedAt=0;e--)if(A=t[e],A.state===yA)Ae(A);else if(A.state===ye){const n=oA;oA=null,HA(()=>Fe(A,t[0]),!1),oA=n}}function HA(A,t){if(oA)return A();let e=!1;t||(oA=[]),kA?e=!0:kA=[],ke++;try{const n=A();return mB(e),n}catch(n){e||(kA=null),oA=null,Nt(n)}}function mB(A){if(oA&&(Ft(oA),oA=null),A)return;const t=kA;kA=null,t.length&&HA(()=>kt(t),!1)}function Ft(A){for(let t=0;t=0;t--)Ie(A.tOwned[t]);delete A.tOwned}if(A.owned){for(t=A.owned.length-1;t>=0;t--)Ie(A.owned[t]);A.owned=null}if(A.cleanups){for(t=A.cleanups.length-1;t>=0;t--)A.cleanups[t]();A.cleanups=null}A.state=0}function yB(A){return A instanceof Error?A:new Error(typeof A=="string"?A:"Unknown error",{cause:A})}function Nt(A,t=eA){throw yB(A)}function Pe(A){if(typeof A=="function"&&!A.length)return Pe(A());if(Array.isArray(A)){const t=[];for(let e=0;e1?[]:null;return qe(()=>Gt(r)),()=>{let g=A()||[],Q=g.length,C,E;return g[_e],iA(()=>{let c,V,I,a,s,d,m,b,p;if(Q===0)o!==0&&(Gt(r),r=[],n=[],B=[],o=0,i&&(i=[])),e.fallback&&(n=[kB],B[0]=be(L=>(r[0]=L,e.fallback())),o=1);else if(o===0){for(B=new Array(Q),E=0;E=d&&b>=d&&n[m]===g[b];m--,b--)I[b]=B[m],a[b]=r[m],i&&(s[b]=i[m]);for(c=new Map,V=new Array(b+1),E=b;E>=d;E--)p=g[E],C=c.get(p),V[E]=C===void 0?-1:C,c.set(p,E);for(C=d;C<=m;C++)p=n[C],E=c.get(p),E!==void 0&&E!==-1?(I[E]=B[C],a[E]=r[C],i&&(s[E]=i[C]),E=V[E],c.set(p,E)):r[C]();for(E=d;EA(t||{}))}const St=A=>`Stale read from <${A}>.`;function qB(A){const t="fallback"in A&&{fallback:()=>A.fallback};return nA(bB(()=>A.each,A.children,t||void 0))}function qA(A){const t=A.keyed,e=nA(()=>A.when,void 0,void 0),n=t?e:nA(e,void 0,{equals:(B,r)=>!B==!r});return nA(()=>{const B=n();if(B){const r=A.children;return typeof r=="function"&&r.length>0?iA(()=>r(t?B:()=>{if(!iA(n))throw St("Show");return e()})):r}return A.fallback},void 0,void 0)}function At(A){const t=wB(()=>A.children),e=nA(()=>{const n=t(),B=Array.isArray(n)?n:[n];let r=()=>{};for(let o=0;oQ()?void 0:g.when,void 0,void 0),E=g.keyed?C:nA(C,void 0,{equals:(u,c)=>!u==!c});r=()=>Q()||(E()?[i,C,g]:void 0)}return r});return nA(()=>{const n=e()();if(!n)return A.fallback;const[B,r,o]=n,i=o.children;return typeof i=="function"&&i.length>0?iA(()=>i(o.keyed?r():()=>{if(iA(e)()?.[0]!==B)throw St("Match");return r()})):i},void 0,void 0)}function ZA(A){return A}function LB(A,t,e){let n=e.length,B=t.length,r=n,o=0,i=0,g=t[B-1].nextSibling,Q=null;for(;oC-i){const V=t[o];for(;i{B=r,t===document?A():tA(t,A(),t.firstChild?null:void 0,e)},n.owner),()=>{B(),t.textContent=""}}function Z(A,t,e,n){let B;const r=()=>{const i=document.createElement("template");return i.innerHTML=A,i.content.firstChild},o=t?()=>iA(()=>document.importNode(B||(B=r()),!0)):()=>(B||(B=r())).cloneNode(!0);return o.cloneNode=o,o}function Me(A,t=window.document){const e=t[Ut]||(t[Ut]=new Set);for(let n=0,B=A.length;nA(t,e))}function tA(A,t,e,n){if(e!==void 0&&!n&&(n=[]),typeof t!="function")return Ne(A,t,n,e);bA(B=>Ne(A,t(),B,e),n)}function MB(A){let t=A.target;const e=`$$${A.type}`,n=A.target,B=A.currentTarget,r=g=>Object.defineProperty(A,"target",{configurable:!0,value:g}),o=()=>{const g=t[e];if(g&&!t.disabled){const Q=t[`${e}Data`];if(Q!==void 0?g.call(t,Q,A):g.call(t,A),A.cancelBubble)return}return t.host&&typeof t.host!="string"&&!t.host._$host&&t.contains(A.target)&&r(t.host),!0},i=()=>{for(;o()&&(t=t._$host||t.parentNode||t.host););};if(Object.defineProperty(A,"currentTarget",{configurable:!0,get(){return t||document}}),A.composedPath){const g=A.composedPath();r(g[0]);for(let Q=0;Q{let i=t();for(;typeof i=="function";)i=i();e=Ne(A,i,e,n)}),()=>e;if(Array.isArray(t)){const i=[],g=e&&Array.isArray(e);if(tt(i,t,e,B))return bA(()=>e=Ne(A,i,e,n,!0)),()=>e;if(i.length===0){if(e=ee(A,e,n),o)return e}else g?e.length===0?vt(A,i,n):LB(A,e,i):(e&&ee(A),vt(A,i));e=i}else if(t.nodeType){if(Array.isArray(e)){if(o)return e=ee(A,e,n,t);ee(A,e,null,t)}else e==null||e===""||!A.firstChild?A.appendChild(t):A.replaceChild(t,A.firstChild);e=t}}return e}function tt(A,t,e,n){let B=!1;for(let r=0,o=t.length;r=0;o--){const i=t[o];if(B!==i){const g=i.parentNode===A;!r&&!o?g?A.replaceChild(B,i):A.insertBefore(B,e):g&&i.remove()}else r=!0}}else A.insertBefore(B,e);return[B]}const nt=Symbol("store-raw"),te=Symbol("store-node"),RA=Symbol("store-has"),Yt=Symbol("store-self");function Tt(A){let t=A[xA];if(!t&&(Object.defineProperty(A,xA,{value:t=new Proxy(A,SB)}),!Array.isArray(A))){const e=Object.keys(A),n=Object.getOwnPropertyDescriptors(A);for(let B=0,r=e.length;BA[xA][t]),e}function Kt(A){je()&&Ce(Se(A,te),Yt)()}function GB(A){return Kt(A),Reflect.ownKeys(A)}const SB={get(A,t,e){if(t===nt)return A;if(t===xA)return e;if(t===_e)return Kt(A),e;const n=Se(A,te),B=n[t];let r=B?B():A[t];if(t===te||t===RA||t==="__proto__")return r;if(!B){const o=Object.getOwnPropertyDescriptor(A,t);je()&&(typeof r!="function"||A.hasOwnProperty(t))&&!(o&&o.get)&&(r=Ce(n,t,r)())}return Ge(r)?Tt(r):r},has(A,t){return t===nt||t===xA||t===_e||t===te||t===RA||t==="__proto__"?!0:(je()&&Ce(Se(A,RA),t)(),t in A)},set(){return!0},deleteProperty(){return!0},ownKeys:GB,getOwnPropertyDescriptor:NB};function Ue(A,t,e,n=!1){if(!n&&A[t]===e)return;const B=A[t],r=A.length;e===void 0?(delete A[t],A[RA]&&A[RA][t]&&B!==void 0&&A[RA][t].$()):(A[t]=e,A[RA]&&A[RA][t]&&B===void 0&&A[RA][t].$());let o=Se(A,te),i;if((i=Ce(o,t,B))&&i.$(()=>e),Array.isArray(A)&&A.length!==r){for(let g=A.length;g1){n=t.shift();const o=typeof n,i=Array.isArray(A);if(Array.isArray(n)){for(let g=0;g1){le(A[n],t,[n].concat(e));return}B=A[n],e=[n].concat(e)}let r=t[0];typeof r=="function"&&(r=r(B,e),r===B)||n===void 0&&r==null||(r=ae(r),n===void 0||Ge(B)&&Ge(r)&&!Array.isArray(r)?Ot(B,r):Ue(A,n,r))}function xt(...[A,t]){const e=ae(A||{}),n=Array.isArray(e),B=Tt(e);function r(...o){dA(()=>{n&&o.length===1?UB(e,o[0]):le(e,o)})}return[B,r]}const JB=()=>{},Ht=(A,t)=>t();function vB(A,t){const e=iA(A),n=e?[e]:[],{onEnter:B=Ht,onExit:r=Ht}=t,[o,i]=BA(t.appear?[]:n),[g]=hB();let Q,C=!1;function E(V,I){if(!V)return I&&I();C=!0,r(V,()=>{dA(()=>{C=!1,i(a=>a.filter(s=>s!==V)),I&&I()})})}function u(V){const I=Q;if(!I)return V&&V();Q=void 0,i(a=>[I,...a]),B(I,V??JB)}const c=t.mode==="out-in"?V=>C||E(V,u):t.mode==="in-out"?V=>u(()=>E(V)):V=>{E(V),u()};return fB(V=>{const I=A();return iA(g)?(g(),V):(I!==V&&(Q=I,dA(()=>iA(()=>c(V)))),I)},t.appear?void 0:e),o}const Zt=A=>A instanceof Element;function Bt(A,t){if(t(A))return A;if(typeof A=="function"&&!A.length)return Bt(A(),t);if(Array.isArray(A))for(const e of A){const n=Bt(e,t);if(n)return n}return null}function YB(A,t=Zt,e=Zt){const n=nA(A);return nA(()=>Bt(n(),t))}function TB(A){return nA(()=>{const t=A.name||"s";return{enterActive:(A.enterActiveClass||t+"-enter-active").split(" "),enter:(A.enterClass||t+"-enter").split(" "),enterTo:(A.enterToClass||t+"-enter-to").split(" "),exitActive:(A.exitActiveClass||t+"-exit-active").split(" "),exit:(A.exitClass||t+"-exit").split(" "),exitTo:(A.exitToClass||t+"-exit-to").split(" "),move:(A.moveClass||t+"-move").split(" ")}})}function Wt(A){requestAnimationFrame(()=>requestAnimationFrame(A))}function KB(A,t,e,n){const{onBeforeEnter:B,onEnter:r,onAfterEnter:o}=t;B?.(e),e.classList.add(...A.enter),e.classList.add(...A.enterActive),queueMicrotask(()=>{if(!e.parentNode)return n?.();r?.(e,()=>i())}),Wt(()=>{e.classList.remove(...A.enter),e.classList.add(...A.enterTo),(!r||r.length<2)&&(e.addEventListener("transitionend",i),e.addEventListener("animationend",i))});function i(g){(!g||g.target===e)&&(n?.(),e.removeEventListener("transitionend",i),e.removeEventListener("animationend",i),e.classList.remove(...A.enterActive),e.classList.remove(...A.enterTo),o?.(e))}}function OB(A,t,e,n){const{onBeforeExit:B,onExit:r,onAfterExit:o}=t;if(!e.parentNode)return n?.();B?.(e),e.classList.add(...A.exit),e.classList.add(...A.exitActive),r?.(e,()=>i()),Wt(()=>{e.classList.remove(...A.exit),e.classList.add(...A.exitTo),(!r||r.length<2)&&(e.addEventListener("transitionend",i),e.addEventListener("animationend",i))});function i(g){(!g||g.target===e)&&(n?.(),e.removeEventListener("transitionend",i),e.removeEventListener("animationend",i),e.classList.remove(...A.exitActive),e.classList.remove(...A.exitTo),o?.(e))}}var xB={inout:"in-out",outin:"out-in"},HB=A=>{const t=TB(A);return vB(YB(()=>A.children),{mode:xB[A.mode],appear:A.appear,onEnter(e,n){KB(t(),A,e,n)},onExit(e,n){OB(t(),A,e,n)}})};const ZB=Z('
',12),rt="http://www.w3.org/2000/svg",j=8,P=24,WB=1,$B=2,_B=4,zB=8,XB=16,$t=32;var jB=(A=>{const t=A.core,e=[],n=[],B=[],r=new Set,o=new Map,i=new Map,[g,Q]=BA({cols:A.cols,rows:A.rows},{equals:(l,w)=>l.cols===w.cols&&l.rows===w.rows}),[C,E]=BA(gt(Br)),u=()=>A.lineHeight??1.3333333333,[c,V]=BA(!0),I=nA(()=>c()||U),a=nA(()=>({width:`${g().cols}ch`,height:`${u()*g().rows}em`,"font-size":`${(A.scale||1)*100}%`,"--term-line-height":`${u()}em`,"--term-cols":g().cols,"--term-rows":g().rows}));let s={col:0,row:0,visible:!1},d={size:void 0,theme:void 0,rows:new Set},m,b,p,L,R,z,G,H,S,$,U=!1;qt(()=>{EA(),VA(),wA(g().rows),JA(g().rows),t.addEventListener("vtUpdate",_)}),qe(()=>{t.removeEventListener("vtUpdate",_),clearInterval(S),cancelAnimationFrame(H)}),Xe(()=>{A.blinking&&S===void 0?S=setInterval(W,600):(clearInterval(S),S=void 0,V(!0))}),Xe(()=>{I(),s.visible&&(d.rows.add(s.row),M())});function EA(){if(p=b.getContext("2d"),!p)throw new Error("2D ctx not available");const{cols:l,rows:w}=g();b.width=l*j,b.height=w*P,b.style.imageRendering="pixelated",p.imageSmoothingEnabled=!1}function IA(l){let{cols:w,rows:q}=l;b.width=w*j,b.height=q*P,p.imageSmoothingEnabled=!1}function VA(){$=PB(m),d.theme=$}function _(l){let{size:w,theme:q,changedRows:k}=l,O=!1;if(k!==void 0)for(const Y of k)d.rows.add(Y),U=!0,O=!0;if(q!==void 0&&A.preferEmbeddedTheme){d.theme=q;for(let Y=0;Y=w.rows&&d.rows.delete(Y)}O&&s.visible&&d.rows.add(s.row),M()}function W(){V(l=>(l||(U=!1),!l))}function M(){H===void 0&&(H=requestAnimationFrame(N))}function N(){H=void 0;const{size:l,theme:w,rows:q}=d;dA(function(){l!==void 0&&(IA(l),wA(l.rows),JA(l.rows),Q(l)),w!==void 0&&(E(gt(w===null?$:w)),o.clear());const k=C(),O=c()||U;for(const F of q)sA(F,k,O)}),d.size=void 0,d.theme=void 0,d.rows.clear(),A.stats.renders+=1}function sA(l,w,q){const k=t.getLine(l,q);GA(l),hA(l,k.bg,w),SA(l,k.raster_symbols,w),UA(l,k.vector_symbols,w),$A(l,k.text,k.codepoints,w)}function GA(l){p.clearRect(0,l*P,g().cols*j,P)}function hA(l,w,q){const k=t.getDataView(w,8),O=l*P;let F=0;for(;Fl;){const q=L.lastElementChild;L.removeChild(q),e.push(q)}}function JA(l){let w=G.children.length;if(wl;){const q=G.lastElementChild;G.removeChild(q),n.push(q)}}function pA(){let l=e.pop();return l===void 0&&(l=document.createElement("span"),l.className="ap-line"),l}function ne(){let l=n.pop();return l===void 0&&(l=document.createElementNS(rt,"g"),l.setAttribute("class","ap-symbol-line")),l}function lA(l,w,q,k){if(!zA(l))return null;const O=nr.has(l),F=O?w-zt:w,Y=O?1+zt*2:1,T=YA();return T.setAttribute("href",`#sym-${l}`),T.setAttribute("x",F),T.setAttribute("y",0),T.setAttribute("width",Y),T.setAttribute("height","1"),q?T.style.setProperty("color",q):T.style.removeProperty("color"),k?T.classList.add("ap-blink"):T.classList.remove("ap-blink"),T}function vA(l){for(;l.firstChild;){const w=l.firstChild;l.removeChild(w),B.push(w)}}function YA(){let l=B.pop();return l===void 0&&(l=document.createElementNS(rt,"use")),l}function zA(l){const w=tr(l);if(!w)return!1;if(r.has(l))return!0;const q=`sym-${l}`,k=document.createElementNS(rt,"symbol");return k.setAttribute("id",q),k.setAttribute("viewBox","0 0 1 1"),k.setAttribute("preserveAspectRatio","none"),k.setAttribute("overflow","visible"),k.innerHTML=w,z.appendChild(k),r.add(l),!0}return(()=>{const l=ZB.cloneNode(!0),w=l.firstChild,q=w.nextSibling,k=q.firstChild,O=k.nextSibling,F=q.nextSibling,Y=m;typeof Y=="function"?LA(Y,l):m=l;const T=b;typeof T=="function"?LA(T,w):b=w;const QA=R;typeof QA=="function"?LA(QA,q):R=q;const cA=z;typeof cA=="function"?LA(cA,k):z=k;const fA=G;typeof fA=="function"?LA(fA,O):G=O;const aA=L;return typeof aA=="function"?LA(aA,F):L=F,bA(f=>{const y=a(),D=`0 0 ${g().cols} ${g().rows}`,J=!!c(),x=!!c();return f._v$=et(l,y,f._v$),D!==f._v$2&&Jt(q,"viewBox",f._v$2=D),J!==f._v$3&&q.classList.toggle("ap-blink",f._v$3=J),x!==f._v$4&&F.classList.toggle("ap-blink",f._v$4=x),f},{_v$:void 0,_v$2:void 0,_v$3:void 0,_v$4:void 0}),l})()});function gt(A){return{fg:A.foreground,bg:A.background,palette:[...A.palette,...rr]}}function PB(A){const t=getComputedStyle(A),e=t.getPropertyValue("--term-color-foreground"),n=t.getPropertyValue("--term-color-background"),B=[];for(let r=0;r<16;r++){const o=t.getPropertyValue(`--term-color-${r}`);if(o===void 0)throw new Error(`--term-color-${r} has not been defined`);B[r]=o}return{foreground:e,background:n,palette:B}}function Ar(A,t,e,n){const B=j/8,r=P/8,o=j/2,i=P/2,g=j/2,Q=P/3;switch(t){case 9600:A.fillRect(e,n,j,i);break;case 9601:A.fillRect(e,n+r*7,j,r);break;case 9602:A.fillRect(e,n+r*6,j,r*2);break;case 9603:A.fillRect(e,n+r*5,j,r*3);break;case 9604:A.fillRect(e,n+i,j,i);break;case 9605:A.fillRect(e,n+r*3,j,r*5);break;case 9606:A.fillRect(e,n+r*2,j,r*6);break;case 9607:A.fillRect(e,n+r,j,r*7);break;case 9608:A.fillRect(e,n,j,P);break;case 9632:A.fillRect(e,n+r*2,j,r*4);break;case 9609:A.fillRect(e,n,B*7,P);break;case 9610:A.fillRect(e,n,B*6,P);break;case 9611:A.fillRect(e,n,B*5,P);break;case 9612:A.fillRect(e,n,o,P);break;case 9613:A.fillRect(e,n,B*3,P);break;case 9614:A.fillRect(e,n,B*2,P);break;case 9615:A.fillRect(e,n,B,P);break;case 9616:A.fillRect(e+o,n,o,P);break;case 9617:A.save(),A.globalAlpha=.25,A.fillRect(e,n,j,P),A.restore();break;case 9618:A.save(),A.globalAlpha=.5,A.fillRect(e,n,j,P),A.restore();break;case 9619:A.save(),A.globalAlpha=.75,A.fillRect(e,n,j,P),A.restore();break;case 9620:A.fillRect(e,n,j,r);break;case 9621:A.fillRect(e+B*7,n,B,P);break;case 9622:A.fillRect(e,n+i,o,i);break;case 9623:A.fillRect(e+o,n+i,o,i);break;case 9624:A.fillRect(e,n,o,i);break;case 9625:A.fillRect(e,n,o,P),A.fillRect(e+o,n+i,o,i);break;case 9626:A.fillRect(e,n,o,i),A.fillRect(e+o,n+i,o,i);break;case 9627:A.fillRect(e,n,j,i),A.fillRect(e,n+i,o,i);break;case 9628:A.fillRect(e,n,j,i),A.fillRect(e+o,n+i,o,i);break;case 9629:A.fillRect(e+o,n,o,i);break;case 9630:A.fillRect(e+o,n,o,i),A.fillRect(e,n+i,o,i);break;case 9631:A.fillRect(e+o,n,o,P),A.fillRect(e,n+i,o,i);break;case 129792:A.fillRect(e,n,g,Q);break;case 129793:A.fillRect(e+g,n,g,Q);break;case 129794:A.fillRect(e,n,g*2,Q);break;case 129795:A.fillRect(e,n+Q,g,Q);break;case 129796:A.fillRect(e,n,g,Q),A.fillRect(e,n+Q,g,Q);break;case 129797:A.fillRect(e+g,n,g,Q),A.fillRect(e,n+Q,g,Q);break;case 129798:A.fillRect(e,n,g*2,Q),A.fillRect(e,n+Q,g,Q);break;case 129799:A.fillRect(e+g,n+Q,g,Q);break;case 129800:A.fillRect(e,n,g,Q),A.fillRect(e+g,n+Q,g,Q);break;case 129801:A.fillRect(e+g,n,g,Q),A.fillRect(e+g,n+Q,g,Q);break;case 129802:A.fillRect(e,n,g*2,Q),A.fillRect(e+g,n+Q,g,Q);break;case 129803:A.fillRect(e,n+Q,g*2,Q);break;case 129804:A.fillRect(e,n,g,Q),A.fillRect(e,n+Q,g*2,Q);break;case 129805:A.fillRect(e+g,n,g,Q),A.fillRect(e,n+Q,g*2,Q);break;case 129806:A.fillRect(e,n,g*2,Q),A.fillRect(e,n+Q,g*2,Q);break;case 129807:A.fillRect(e,n+Q*2,g,Q);break;case 129808:A.fillRect(e,n,g,Q),A.fillRect(e,n+Q*2,g,Q);break;case 129809:A.fillRect(e+g,n,g,Q),A.fillRect(e,n+Q*2,g,Q);break;case 129810:A.fillRect(e,n,g*2,Q),A.fillRect(e,n+Q*2,g,Q);break;case 129811:A.fillRect(e,n+Q,g,Q*2);break;case 129812:A.fillRect(e+g,n,g,Q),A.fillRect(e,n+Q,g,Q*2);break;case 129813:A.fillRect(e,n,g*2,Q),A.fillRect(e,n+Q,g,Q*2);break;case 129814:A.fillRect(e+g,n+Q,g,Q),A.fillRect(e,n+Q*2,g,Q);break;case 129815:A.fillRect(e,n,g,Q),A.fillRect(e+g,n+Q,g,Q),A.fillRect(e,n+Q*2,g,Q);break;case 129816:A.fillRect(e+g,n,g,Q*2),A.fillRect(e,n+Q*2,g,Q);break;case 129817:A.fillRect(e,n,g*2,Q),A.fillRect(e+g,n+Q,g,Q),A.fillRect(e,n+Q*2,g,Q);break;case 129818:A.fillRect(e,n+Q,g*2,Q),A.fillRect(e,n+Q*2,g,Q);break;case 129819:A.fillRect(e,n,g,Q*3),A.fillRect(e+g,n+Q,g,Q);break;case 129820:A.fillRect(e+g,n,g,Q),A.fillRect(e,n+Q,g*2,Q),A.fillRect(e,n+Q*2,g,Q);break;case 129821:A.fillRect(e,n,g*2,Q*2),A.fillRect(e,n+Q*2,g,Q);break;case 129822:A.fillRect(e+g,n+Q*2,g,Q);break;case 129823:A.fillRect(e,n,g,Q),A.fillRect(e+g,n+Q*2,g,Q);break;case 129824:A.fillRect(e+g,n,g,Q),A.fillRect(e+g,n+Q*2,g,Q);break;case 129825:A.fillRect(e,n,g*2,Q),A.fillRect(e+g,n+Q*2,g,Q);break;case 129826:A.fillRect(e,n+Q,g,Q),A.fillRect(e+g,n+Q*2,g,Q);break;case 129827:A.fillRect(e,n,g,Q*2),A.fillRect(e+g,n+Q*2,g,Q);break;case 129828:A.fillRect(e+g,n,g,Q),A.fillRect(e,n+Q,g,Q),A.fillRect(e+g,n+Q*2,g,Q);break;case 129829:A.fillRect(e,n,g*2,Q),A.fillRect(e,n+Q,g,Q),A.fillRect(e+g,n+Q*2,g,Q);break;case 129830:A.fillRect(e+g,n+Q,g,Q*2);break;case 129831:A.fillRect(e,n,g,Q),A.fillRect(e+g,n+Q,g,Q*2);break;case 129832:A.fillRect(e,n,g*2,Q),A.fillRect(e+g,n+Q,g,Q*2);break;case 129833:A.fillRect(e,n+Q,g*2,Q),A.fillRect(e+g,n+Q*2,g,Q);break;case 129834:A.fillRect(e,n,g,Q*2),A.fillRect(e+g,n+Q,g,Q*2);break;case 129835:A.fillRect(e+g,n,g,Q),A.fillRect(e,n+Q,g*2,Q),A.fillRect(e+g,n+Q*2,g,Q);break;case 129836:A.fillRect(e,n,g*2,Q*2),A.fillRect(e+g,n+Q*2,g,Q);break;case 129837:A.fillRect(e,n+Q*2,g*2,Q);break;case 129838:A.fillRect(e,n,g,Q),A.fillRect(e,n+Q*2,g*2,Q);break;case 129839:A.fillRect(e+g,n,g,Q),A.fillRect(e,n+Q*2,g*2,Q);break;case 129840:A.fillRect(e,n,g*2,Q),A.fillRect(e,n+Q*2,g*2,Q);break;case 129841:A.fillRect(e,n+Q,g,Q),A.fillRect(e,n+Q*2,g*2,Q);break;case 129842:A.fillRect(e,n,g,Q*2),A.fillRect(e,n+Q*2,g*2,Q);break;case 129843:A.fillRect(e+g,n,g,Q),A.fillRect(e,n+Q,g,Q),A.fillRect(e,n+Q*2,g*2,Q);break;case 129844:A.fillRect(e,n,g*2,Q),A.fillRect(e,n+Q,g,Q),A.fillRect(e,n+Q*2,g*2,Q);break;case 129845:A.fillRect(e+g,n+Q,g,Q),A.fillRect(e,n+Q*2,g*2,Q);break;case 129846:A.fillRect(e,n,g,Q),A.fillRect(e+g,n+Q,g,Q),A.fillRect(e,n+Q*2,g*2,Q);break;case 129847:A.fillRect(e+g,n,g,Q*2),A.fillRect(e,n+Q*2,g*2,Q);break;case 129848:A.fillRect(e,n,g*2,Q),A.fillRect(e+g,n+Q,g,Q),A.fillRect(e,n+Q*2,g*2,Q);break;case 129849:A.fillRect(e,n+Q,g*2,Q*2);break;case 129850:A.fillRect(e,n,g,Q*3),A.fillRect(e+g,n+Q,g,Q),A.fillRect(e+g,n+Q*2,g,Q);break;case 129851:A.fillRect(e+g,n,g,Q),A.fillRect(e,n+Q,g*2,Q*2);break}}const _t=.05,er=9.0375/20;function tr(A){const t=`stroke="currentColor" stroke-width="${_t}" stroke-linejoin="miter" stroke-linecap="square"`,e=`stroke="currentColor" stroke-width="${_t}" stroke-linejoin="miter" stroke-linecap="butt"`,n=o=>``,B=1/3,r=2/3;switch(A){case 9698:return''+n("M1,1 L1,0 L0,1 Z");case 9699:return''+n("M0,1 L0,0 L1,1 Z");case 9700:return''+n("M0,0 L1,0 L0,1 Z");case 9701:return''+n("M1,0 L1,1 L0,0 Z");case 9871:{const E=b=>.5+b*er,I=E(-.27),a=E(-.1),s=E(.1),d=E(.1+.17),m=(b,p,L,R)=>`M${b},${L} L${p},${L} L${p},${R} L${b},${R} Z`;return``}case 129852:return``+n(`M0,${r} L0,1 L0.5,1 Z`);case 129853:return``+n(`M0,${r} L0,1 L1,1 Z`);case 129854:return``+n(`M0,${B} L0.5,1 L0,1 Z`);case 129855:return``+n(`M0,${B} L1,1 L0,1 Z`);case 129856:return''+n("M0,0 L0.5,1 L0,1 Z");case 129857:return``+n(`M0,${B} L0,1 L1,1 L1,0 L0.5,0 Z`);case 129858:return``+n(`M0,${B} L0,1 L1,1 L1,0 Z`);case 129859:return``+n(`M0,${r} L0,1 L1,1 L1,0 L0.5,0 Z`);case 129860:return``+n(`M0,${r} L0,1 L1,1 L1,0 Z`);case 129861:return''+n("M0.5,0 L1,0 L1,1 L0,1 Z");case 129862:return``+n(`M0,${r} L0,1 L1,1 L1,${B} Z`);case 129863:return``+n(`M0.5,1 L1,1 L1,${r} Z`);case 129864:return``+n(`M0,1 L1,1 L1,${r} Z`);case 129865:return``+n(`M0.5,1 L1,1 L1,${B} Z`);case 129866:return``+n(`M0,1 L1,1 L1,${B} Z`);case 129867:return''+n("M0.5,1 L1,0 L1,1 Z");case 129868:return``+n(`M0,0 L0.5,0 L1,${B} L1,1 L0,1 Z`);case 129869:return``+n(`M0,0 L0,1 L1,1 L1,${B} Z`);case 129870:return``+n(`M0,0 L0.5,0 L1,${r} L1,1 L0,1 Z`);case 129871:return``+n(`M0,0 L1,${r} L1,1 L0,1 Z`);case 129872:return''+n("M0,0 L0.5,0 L1,1 L0,1 Z");case 129873:return``+n(`M0,${B} L1,${r} L1,1 L0,1 Z`);case 129874:return``+n(`M0,${r} L0,0 L1,0 L1,1 L0.5,1 Z`);case 129875:return``+n(`M0,${r} L0,0 L1,0 L1,1 Z`);case 129876:return``+n(`M0,${B} L0,0 L1,0 L1,1 L0.5,1 Z`);case 129877:return``+n(`M0,${B} L0,0 L1,0 L1,1 Z`);case 129878:return''+n("M0,0 L1,0 L1,1 L0.5,1 Z");case 129879:return``+n(`M0,${B} L0.5,0 L0,0 Z`);case 129880:return``+n(`M0,0 L1,0 L0,${B} Z`);case 129881:return``+n(`M0,0 L0.5,0 L0,${r} Z`);case 129882:return``+n(`M0,0 L1,0 L0,${r} Z`);case 129883:return''+n("M0,0 L0.5,0 L0,1 Z");case 129884:return``+n(`M0,0 L1,0 L1,${B} L0,${r} Z`);case 129885:return``+n(`M0,0 L1,0 L1,${r} L0.5,1 L0,1 Z`);case 129886:return``+n(`M0,0 L1,0 L1,${r} L0,1 Z`);case 129887:return``+n(`M0,0 L1,0 L1,${B} L0.5,1 L0,1 Z`);case 129888:return``+n(`M0,0 L1,0 L1,${B} L0,1 Z`);case 129889:return''+n("M0,0 L1,0 L0.5,1 L0,1 Z");case 129890:return``+n(`M0.5,0 L1,0 L1,${B} Z`);case 129891:return``+n(`M0,0 L1,0 L1,${B} Z`);case 129892:return``+n(`M0.5,0 L1,0 L1,${r} Z`);case 129893:return``+n(`M0,0 L1,0 L1,${r} Z`);case 129894:return''+n("M0.5,0 L1,0 L1,1 Z");case 129895:return``+n(`M0,${B} L0,0 L1,0 L1,${r} Z`);case 129896:return``;case 129897:return``;case 129898:return``;case 129899:return``;case 129900:return''+n("M0,0 L0,1 L0.5,0.5 Z");case 57520:return'';case 57521:return'';case 57522:return'';case 57523:return'';default:return null}}const nr=new Set([57520,57521,57522,57523]),zt=.02,Br={foreground:"black",background:"black",palette:["black","black","black","black","black","black","black","black","black","black","black","black","black","black","black","black"]},rr=["#000000","#00005f","#000087","#0000af","#0000d7","#0000ff","#005f00","#005f5f","#005f87","#005faf","#005fd7","#005fff","#008700","#00875f","#008787","#0087af","#0087d7","#0087ff","#00af00","#00af5f","#00af87","#00afaf","#00afd7","#00afff","#00d700","#00d75f","#00d787","#00d7af","#00d7d7","#00d7ff","#00ff00","#00ff5f","#00ff87","#00ffaf","#00ffd7","#00ffff","#5f0000","#5f005f","#5f0087","#5f00af","#5f00d7","#5f00ff","#5f5f00","#5f5f5f","#5f5f87","#5f5faf","#5f5fd7","#5f5fff","#5f8700","#5f875f","#5f8787","#5f87af","#5f87d7","#5f87ff","#5faf00","#5faf5f","#5faf87","#5fafaf","#5fafd7","#5fafff","#5fd700","#5fd75f","#5fd787","#5fd7af","#5fd7d7","#5fd7ff","#5fff00","#5fff5f","#5fff87","#5fffaf","#5fffd7","#5fffff","#870000","#87005f","#870087","#8700af","#8700d7","#8700ff","#875f00","#875f5f","#875f87","#875faf","#875fd7","#875fff","#878700","#87875f","#878787","#8787af","#8787d7","#8787ff","#87af00","#87af5f","#87af87","#87afaf","#87afd7","#87afff","#87d700","#87d75f","#87d787","#87d7af","#87d7d7","#87d7ff","#87ff00","#87ff5f","#87ff87","#87ffaf","#87ffd7","#87ffff","#af0000","#af005f","#af0087","#af00af","#af00d7","#af00ff","#af5f00","#af5f5f","#af5f87","#af5faf","#af5fd7","#af5fff","#af8700","#af875f","#af8787","#af87af","#af87d7","#af87ff","#afaf00","#afaf5f","#afaf87","#afafaf","#afafd7","#afafff","#afd700","#afd75f","#afd787","#afd7af","#afd7d7","#afd7ff","#afff00","#afff5f","#afff87","#afffaf","#afffd7","#afffff","#d70000","#d7005f","#d70087","#d700af","#d700d7","#d700ff","#d75f00","#d75f5f","#d75f87","#d75faf","#d75fd7","#d75fff","#d78700","#d7875f","#d78787","#d787af","#d787d7","#d787ff","#d7af00","#d7af5f","#d7af87","#d7afaf","#d7afd7","#d7afff","#d7d700","#d7d75f","#d7d787","#d7d7af","#d7d7d7","#d7d7ff","#d7ff00","#d7ff5f","#d7ff87","#d7ffaf","#d7ffd7","#d7ffff","#ff0000","#ff005f","#ff0087","#ff00af","#ff00d7","#ff00ff","#ff5f00","#ff5f5f","#ff5f87","#ff5faf","#ff5fd7","#ff5fff","#ff8700","#ff875f","#ff8787","#ff87af","#ff87d7","#ff87ff","#ffaf00","#ffaf5f","#ffaf87","#ffafaf","#ffafd7","#ffafff","#ffd700","#ffd75f","#ffd787","#ffd7af","#ffd7d7","#ffd7ff","#ffff00","#ffff5f","#ffff87","#ffffaf","#ffffd7","#ffffff","#080808","#121212","#1c1c1c","#262626","#303030","#3a3a3a","#444444","#4e4e4e","#585858","#626262","#6c6c6c","#767676","#808080","#8a8a8a","#949494","#9e9e9e","#a8a8a8","#b2b2b2","#bcbcbc","#c6c6c6","#d0d0d0","#dadada","#e4e4e4","#eeeeee"],gr=Z('',6);var Qr=(A=>gr.cloneNode(!0));const or=Z('',4);var ir=(A=>or.cloneNode(!0));const Er=Z('',6);var Vr=(A=>Er.cloneNode(!0));const sr=Z('',4);var Ir=(A=>sr.cloneNode(!0));const ar=Z('',6);var Cr=(A=>ar.cloneNode(!0));const lr=Z('',6);var cr=(A=>lr.cloneNode(!0));const fr=Z('',4);var ur=(A=>fr.cloneNode(!0));const dr=Z('',2),hr=Z('',6),wr=Z('Unmute (m)',2),pr=Z('Mute (m)',2),mr=Z('',2),Dr=Z('
Keyboard shortcuts (?)Fullscreen (f)
',18),yr=Z('',6);function Je(A){let t=Math.floor(A);const e=Math.floor(t/86400);t%=86400;const n=Math.floor(t/3600);t%=3600;const B=Math.floor(t/60);return t%=60,e>0?`${FA(e)}:${FA(n)}:${FA(B)}:${FA(t)}`:n>0?`${FA(n)}:${FA(B)}:${FA(t)}`:`${FA(B)}:${FA(t)}`}function FA(A){return A<10?`0${A}`:A.toString()}var kr=(A=>{const t=s=>d=>{d.preventDefault(),s(d)},e=()=>typeof A.currentTime=="number"?Je(A.currentTime):"--:--",n=()=>typeof A.remainingTime=="number"?"-"+Je(A.remainingTime):e(),B=nA(()=>typeof A.duration=="number"?A.markers.filter(s=>s[0]`${s[0]/A.duration*100}%`,o=s=>s[1]===""?Je(s[0]):`${Je(s[0])} - ${s[1]}`,i=s=>typeof A.currentTime=="number"?s[0]<=A.currentTime:!1,g=()=>({transform:`scaleX(${A.progress||0}`}),Q=s=>{const d=s.currentTarget.offsetWidth,m=s.currentTarget.getBoundingClientRect(),b=s.clientX-m.left;return`${Math.max(0,b/d)*100}%`},[C,E]=BA(!1),u=tn(A.onSeekClick,50),c=s=>{s._marker||s.altKey||s.shiftKey||s.metaKey||s.ctrlKey||s.button!==0||(E(!0),A.onSeekClick(Q(s)))},V=s=>t(()=>{A.onSeekClick({marker:s})}),I=s=>{s.altKey||s.shiftKey||s.metaKey||s.ctrlKey||C()&&u(Q(s))},a=()=>{E(!1)};return document.addEventListener("mouseup",a),qe(()=>{document.removeEventListener("mouseup",a)}),(()=>{const s=Dr.cloneNode(!0),d=s.firstChild,m=d.firstChild,b=m.nextSibling,p=d.nextSibling,L=p.nextSibling,R=L.firstChild,z=L.nextSibling,G=z.firstChild,H=A.ref;return typeof H=="function"?LA(H,s):A.ref=s,tA(s,v(qA,{get when(){return A.isPausable},get children(){const S=dr.cloneNode(!0);return WA(S,"click",t(A.onPlayClick)),tA(S,v(At,{get children(){return[v(ZA,{get when(){return A.isPlaying},get children(){return v(Vr,{})}}),v(ZA,{when:!0,get children(){return v(Ir,{})}})]}})),S}}),d),tA(m,e),tA(b,n),tA(p,v(qA,{get when(){return typeof A.progress=="number"||A.isSeekable},get children(){const S=hr.cloneNode(!0),$=S.firstChild,U=$.nextSibling;return S.$$mousemove=I,S.$$mousedown=c,tA(S,v(qB,{get each(){return B()},children:(EA,IA)=>(()=>{const VA=yr.cloneNode(!0),_=VA.firstChild,W=_.nextSibling;return VA.$$mousedown=M=>{M._marker=!0},WA(VA,"click",V(IA())),tA(W,()=>o(EA)),bA(M=>{const N=r(EA),sA=!!i(EA);return N!==M._v$&&VA.style.setProperty("left",M._v$=N),sA!==M._v$2&&_.classList.toggle("ap-marker-past",M._v$2=sA),M},{_v$:void 0,_v$2:void 0}),VA})()}),null),bA(EA=>et(U,g(),EA)),S}})),tA(s,v(qA,{get when(){return A.isMuted!==void 0},get children(){const S=mr.cloneNode(!0);return WA(S,"click",t(A.onMuteClick)),tA(S,v(At,{get children(){return[v(ZA,{get when(){return A.isMuted===!0},get children(){return[v(ur,{}),wr.cloneNode(!0)]}}),v(ZA,{get when(){return A.isMuted===!1},get children(){return[v(cr,{}),pr.cloneNode(!0)]}})]}})),S}}),L),WA(L,"click",t(A.onHelpClick)),tA(L,v(ir,{}),R),WA(z,"click",t(A.onFullscreenClick)),tA(z,v(Cr,{}),G),tA(z,v(Qr,{}),G),bA(()=>s.classList.toggle("ap-seekable",!!A.isSeekable)),s})()});Me(["click","mousedown","mousemove"]);const br=Z('
\u{1F4A5}
',4);var qr=(A=>br.cloneNode(!0));const Lr=Z('
',4);var Rr=(A=>Lr.cloneNode(!0));const Fr=Z('
',4);var Mr=(A=>(()=>{const t=Fr.cloneNode(!0),e=t.firstChild;return tA(e,()=>A.message),bA(()=>t.classList.toggle("ap-was-playing",!!A.wasPlaying)),t})());const Nr=Z('
',22);var Gr=(A=>{const t=e=>n=>{n.preventDefault(),e(n)};return(()=>{const e=Nr.cloneNode(!0);return WA(e,"click",t(A.onClick)),e})()});Me(["click"]);const Sr=Z("
  • space - pause / resume
  • ",4),Ur=Z("
  • \u2190 / \u2192 - rewind / fast-forward by 5 seconds
  • ",6),Jr=Z("
  • Shift + \u2190 / \u2192 - rewind / fast-forward by 10%
  • ",8),vr=Z("
  • [ / ] - jump to the previous / next marker
  • ",6),Yr=Z("
  • 0, 1, 2 ... 9 - jump to 0%, 10%, 20% ... 90%
  • ",10),Tr=Z("
  • , / . - step back / forward, a frame at a time (when paused)
  • ",6),Kr=Z("
  • m - mute / unmute audio
  • ",4),Or=Z('

    Keyboard shortcuts

    • f - toggle fullscreen mode
    • ? - show this help popup
    ',18);var xr=(A=>{const t=e=>n=>{n.preventDefault(),e(n)};return(()=>{const e=Or.cloneNode(!0),n=e.firstChild,B=n.firstChild,r=B.firstChild,o=r.nextSibling,i=o.firstChild,g=i.nextSibling;return WA(e,"click",t(A.onClose)),n.$$click=Q=>{Q.stopPropagation()},tA(o,v(qA,{get when(){return A.isPausable},get children(){return Sr.cloneNode(!0)}}),i),tA(o,v(qA,{get when(){return A.isSeekable},get children(){return[Ur.cloneNode(!0),Jr.cloneNode(!0),vr.cloneNode(!0),Yr.cloneNode(!0),Tr.cloneNode(!0)]}}),i),tA(o,v(qA,{get when(){return A.hasAudio},get children(){return Kr.cloneNode(!0)}}),g),e})()});Me(["click"]);const Hr=Z('
    ',4),Zr=32;var Wr=(A=>{const t=A.logger,e=A.core,n=A.autoPlay,B=A.charW,r=A.charH,o=A.bordersW,i=A.bordersH,g=A.theme??"auto/asciinema",Q=g.slice(0,5)==="auto/",C=Q?g.slice(5):g,[E,u]=xt({containerW:0,containerH:0,isPausable:!0,isSeekable:!0,isFullscreen:!1,currentTime:null,remainingTime:null,progress:null}),[c,V]=BA(!1),[I,a]=BA(void 0),[s,d]=BA(!1),[m,b]=BA(n?null:"start"),[p,L]=BA(null),[R,z]=BA(!1),[G,H]=BA({cols:A.cols,rows:A.rows},{equals:(h,K)=>h.cols===K.cols&&h.rows===K.rows}),[S,$]=BA(null),[U,EA]=xt([]),[IA,VA]=BA(!1),[_,W]=BA(!1),[M,N]=BA(null),sA=nA(()=>G().cols||80),GA=nA(()=>G().rows||24),hA=()=>A.controls===!1?0:Zr,SA=()=>A.controls===!0||A.controls==="auto"&&IA();let UA,$A,gA,_A,MA,wA;function JA(){z(!0),TA()}function pA(){z(!1),ce(),XA()}let ne;const lA=new Promise(h=>{ne=h}),vA=h=>{let{isPausable:K,isSeekable:rA}=h;u({isPausable:K,isSeekable:rA}),ne()},YA=h=>{dA(()=>{h.duration!==void 0&&$(h.duration),h.markers!==void 0&&EA(h.markers),h.hasAudio!==void 0&&a(h.hasAudio?!1:void 0),h.size!==void 0&&H(h.size),h.theme!==void 0&&N(h.theme)})},zA=()=>{b(null)},l=()=>{dA(()=>{V(!0),d(!0),b(null),JA()})},w=()=>{dA(()=>{V(!1),pA()})},q=()=>{dA(()=>{V(!1),pA(),b("loader")})},k=h=>{let{message:K}=h;dA(()=>{V(!1),pA(),K!==void 0&&(L(K),b("info"))})},O=h=>{a(h)},F={terminal:{renders:0}},Y=h=>{let{message:K}=h;dA(()=>{V(!1),pA(),K!==void 0&&(L(K),b("info"))}),t.debug("stats",F.terminal)},T=()=>{b("error")},QA=()=>{XA()};e.addEventListener("ready",vA),e.addEventListener("metadata",YA),e.addEventListener("play",zA),e.addEventListener("playing",l),e.addEventListener("idle",w),e.addEventListener("loading",q),e.addEventListener("offline",k),e.addEventListener("muted",O),e.addEventListener("ended",Y),e.addEventListener("errored",T),e.addEventListener("seeked",QA);const cA=()=>{wA=new ResizeObserver(en(h=>{u({containerW:gA.offsetWidth,containerH:gA.offsetHeight}),gA.dispatchEvent(new CustomEvent("resize",{detail:{el:_A}}))},10)),wA.observe(gA)};qt(async()=>{t.info("view: mounted"),t.debug("view: font measurements",{charW:B,charH:r}),cA(),u({containerW:gA.offsetWidth,containerH:gA.offsetHeight})}),qe(()=>{e.removeEventListener("ready",vA),e.removeEventListener("metadata",YA),e.removeEventListener("play",zA),e.removeEventListener("playing",l),e.removeEventListener("idle",w),e.removeEventListener("loading",q),e.removeEventListener("offline",k),e.removeEventListener("muted",O),e.removeEventListener("ended",Y),e.removeEventListener("errored",T),e.removeEventListener("seeked",QA),e.stop(),ce(),wA.disconnect()});const fA=nA(()=>{const h=B*sA()+o,K=r*GA()+i;let rA=A.fit??"width";if(rA==="both"||E.isFullscreen){const mA=E.containerW/(E.containerH-hA()),CA=h/K;mA>CA?rA="height":rA="width"}if(rA===!1||rA==="none")return{};if(rA==="width"){const mA=E.containerW/h;return{scale:mA,width:E.containerW,height:K*mA+hA()}}else if(rA==="height"){const mA=(E.containerH-hA())/K;return{scale:mA,width:h*mA,height:E.containerH}}else throw new Error(`unsupported fit mode: ${rA}`)}),aA=()=>{u("isFullscreen",document.fullscreenElement??document.webkitFullscreenElement)},f=()=>{E.isFullscreen?(document.exitFullscreen??document.webkitExitFullscreen??(()=>{})).apply(document):(gA.requestFullscreen??gA.webkitRequestFullscreen??(()=>{})).apply(gA)},y=()=>{_()?W(!1):(e.pause(),W(!0))},D=h=>{if(!(h.altKey||h.metaKey||h.ctrlKey)){if(h.key==" ")e.togglePlay();else if(h.key==",")e.step(-1).then(XA);else if(h.key==".")e.step().then(XA);else if(h.key=="f")f();else if(h.key=="m")jt();else if(h.key=="[")e.seek({marker:"prev"});else if(h.key=="]")e.seek({marker:"next"});else if(h.key.charCodeAt(0)>=48&&h.key.charCodeAt(0)<=57){const K=(h.key.charCodeAt(0)-48)/10;e.seek(`${K*100}%`)}else if(h.key=="?")y();else if(h.key=="ArrowLeft")h.shiftKey?e.seek("<<<"):e.seek("<<");else if(h.key=="ArrowRight")h.shiftKey?e.seek(">>>"):e.seek(">>");else if(h.key=="Escape")W(!1);else return;h.stopPropagation(),h.preventDefault()}},J=()=>{E.isFullscreen&&Be(!0)},x=()=>{E.isFullscreen||Be(!1)},TA=()=>{$A=setInterval(XA,100)},ce=()=>{clearInterval($A)},XA=async()=>{const h=await e.getCurrentTime(),K=await e.getRemainingTime(),rA=await e.getProgress();u({currentTime:h,remainingTime:K,progress:rA})},Be=h=>{clearTimeout(UA),h&&(UA=setTimeout(()=>Be(!1),2e3)),VA(h)},fe=nA(()=>Q?M():null),Qt=()=>{const h={};(A.fit===!1||A.fit==="none")&&A.terminalFontSize!==void 0&&(A.terminalFontSize==="small"?h["font-size"]="12px":A.terminalFontSize==="medium"?h["font-size"]="18px":A.terminalFontSize==="big"?h["font-size"]="24px":h["font-size"]=A.terminalFontSize);const K=fA();K.width!==void 0&&(h.width=`${K.width}px`,h.height=`${K.height}px`),A.terminalFontFamily!==void 0&&(h["--term-font-family"]=A.terminalFontFamily);const rA=fe();return rA&&(h["--term-color-foreground"]=rA.foreground,h["--term-color-background"]=rA.background),h},re=()=>{lA.then(()=>e.play())},ng=()=>{lA.then(()=>e.togglePlay())},jt=()=>{lA.then(()=>{I()===!0?e.unmute():e.mute()})},Bg=h=>{lA.then(()=>e.seek(h))},rg=()=>`ap-player ap-default-term-ff asciinema-player-theme-${C}`,gg=()=>fA()?.scale;return(()=>{const h=Hr.cloneNode(!0),K=h.firstChild,rA=gA;typeof rA=="function"?LA(rA,h):gA=h,h.addEventListener("webkitfullscreenchange",aA),h.addEventListener("fullscreenchange",aA),h.$$mousemove=J,h.$$keydown=D;const mA=_A;return typeof mA=="function"?LA(mA,K):_A=K,K.$$mousemove=()=>Be(!0),K.addEventListener("mouseleave",x),tA(K,v(jB,{get cols(){return sA()},get rows(){return GA()},get scale(){return gg()},get blinking(){return R()},get lineHeight(){return A.terminalLineHeight},preferEmbeddedTheme:Q,core:e,get stats(){return F.terminal}}),null),tA(K,v(qA,{get when(){return A.controls!==!1},get children(){return v(kr,{get duration(){return S()},get currentTime(){return E.currentTime},get remainingTime(){return E.remainingTime},get progress(){return E.progress},markers:U,get isPlaying(){return c()||m()=="loader"},get isPausable(){return E.isPausable},get isSeekable(){return E.isSeekable},get isMuted(){return I()},onPlayClick:ng,onFullscreenClick:f,onHelpClick:y,onSeekClick:Bg,onMuteClick:jt,ref(CA){const ue=MA;typeof ue=="function"?ue(CA):MA=CA}})}}),null),tA(K,v(At,{get children(){return[v(ZA,{get when(){return m()=="start"},get children(){return v(Gr,{onClick:re})}}),v(ZA,{get when(){return m()=="loader"},get children(){return v(Rr,{})}}),v(ZA,{get when(){return m()=="error"},get children(){return v(qr,{})}})]}}),null),tA(K,v(HB,{name:"slide",get children(){return v(qA,{get when(){return m()=="info"},get children(){return v(Mr,{get message(){return p()},get wasPlaying(){return s()}})}})}}),null),tA(K,v(qA,{get when(){return _()},get children(){return v(xr,{onClose:()=>W(!1),get isPausable(){return E.isPausable},get isSeekable(){return E.isSeekable},get hasAudio(){return I()!==void 0}})}}),null),bA(CA=>{const ue=!!SA(),Pt=rg(),Qg=Qt();return ue!==CA._v$&&h.classList.toggle("ap-hud",CA._v$=ue),Pt!==CA._v$2&&FB(K,CA._v$2=Pt),CA._v$3=et(K,Qg,CA._v$3),CA},{_v$:void 0,_v$2:void 0,_v$3:void 0}),h})()});Me(["keydown","mousemove"]);function $r(A,t){let e=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};const n=_r(e.terminalFontFamily,e.terminalLineHeight),B={core:A,logger:e.logger,cols:e.cols,rows:e.rows,fit:e.fit,controls:e.controls,autoPlay:e.autoPlay,terminalFontSize:e.terminalFontSize,terminalFontFamily:e.terminalFontFamily,terminalLineHeight:e.terminalLineHeight,theme:e.theme,...n};let r;const o=RB(()=>(r=v(Wr,B),r),t);return{el:r,dispose:o}}function _r(A,t){const B=document.createElement("div");B.className="ap-default-term-ff",B.style.height="0px",B.style.overflow="hidden",B.style.fontSize="15px",A!==void 0&&B.style.setProperty("--term-font-family",A);const r=document.createElement("div");r.className="ap-term",r.style.width="80ch",r.style.height=`${24*(t??1.3333333333)}em`,r.style.fontSize="100%",B.appendChild(r),document.body.appendChild(B);const o={charW:r.clientWidth/80,charH:r.clientHeight/24,bordersW:r.offsetWidth-r.clientWidth,bordersH:r.offsetHeight-r.clientHeight};return document.body.removeChild(B),o}const zr=["audioUrl","autoPlay","autoplay","boldIsBright","cols","idleTimeLimit","loop","markers","pauseOnMarkers","poster","preload","rows","speed","startAt"],Xr=["autoPlay","autoplay","cols","controls","fit","rows","terminalFontFamily","terminalFontSize","terminalLineHeight","theme"];function jr(A){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const e=Object.fromEntries(Object.entries(A).filter(n=>{let[B]=n;return zr.includes(B)}));return e.autoPlay??=e.autoplay,e.speed??=1,{...e,...t}}function Pr(A){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const e=Object.fromEntries(Object.entries(A).filter(n=>{let[B]=n;return Xr.includes(B)}));return e.autoPlay??=e.autoplay,e.controls??="auto",{...e,...t}}function Ag(A,t){let e=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};const n=e.logger??new nn,B=new IB(A,jr(e,{logger:n})),{el:r,dispose:o}=$r(B,t,Pr(e,{logger:n})),i=B.init(),g={el:r,dispose:o,getCurrentTime:()=>i.then(B.getCurrentTime.bind(B)),getDuration:()=>i.then(B.getDuration.bind(B)),play:()=>i.then(B.play.bind(B)),pause:()=>i.then(B.pause.bind(B)),seek:Q=>i.then(()=>B.seek(Q))};return g.addEventListener=(Q,C)=>B.addEventListener(Q,C.bind(g)),g}let Xt=0;const eg=500;function tg(){let A=document.querySelectorAll('article.markdown-body a[href^="https://asciinema.org/a/"]:has(img)');console.log("Found elements:",A.length),A.forEach(async t=>{console.log("Found element:",t.href);try{const e=new URL(t.href);e.search="";const n=e+".cast",B=e+"/iframe",r=t.parentElement;if(r===null)return;console.log("Fetching cast opts:",B),GM_xmlhttpRequest({url:B,method:"GET",onload:o=>{console.log("Fetched cast opts:",B);const i=JSON.parse(o.responseText.match(/const opts = (\{.*?\});/s)?.[1]??"{}");console.log(i),r.removeChild(t);const g=r.attachShadow({mode:"open"}),Q=document.createElement("div"),C=document.createElement("style"),E=document.createElement("style");E.textContent=` :host { position: relative; z-index: 0; `,C.textContent=An,g.append(E,C,Q),Ag(n,Q,{...i})}})}catch(e){console.error("Error fetching cast file:",e)}})}new MutationObserver(()=>{const A=Date.now();A-Xt>eg&&(Xt=A,tg())}).observe(document.body,{childList:!0,subtree:!0,attributes:!1,characterData:!1})})();