diff --git a/docs/community/README.md b/docs/community/README.md index f8a2d85b..e4d6ec93 100644 --- a/docs/community/README.md +++ b/docs/community/README.md @@ -16,3 +16,8 @@ The [three characteristics](https://www.communityofpractice.ca/background/what-i 3. Domain: A shared interest, problem, or concern. We regularly meet as a community, report [meeting summaries](meetings/README.md), and collect [case studies](case-studies/README.md) that showcase good practices. + +## Training events + +To support skill development, we have the capacity to prepare and deliver bespoke training events as standalone session and as part of larger meetings and conferences. +See our [Training events](training/README.md) page for further details. diff --git a/docs/community/training/README.md b/docs/community/training/README.md new file mode 100644 index 00000000..546671a6 --- /dev/null +++ b/docs/community/training/README.md @@ -0,0 +1,3 @@ +# Training events + +We will be running an [Introduction to Debugging](debugging/README.md) workshop at the [SPECTRUM](https://spectrum.edu.au/) Annual Meeting 2024 (23-25 September). diff --git a/docs/community/training/debugging/README.md b/docs/community/training/debugging/README.md new file mode 100644 index 00000000..54002252 --- /dev/null +++ b/docs/community/training/debugging/README.md @@ -0,0 +1,11 @@ +# Introduction to Debugging + +This workshop was prepared for the [SPECTRUM](https://spectrum.edu.au/) Annual Meeting 2024 (23-25 September). + +!!! tip + + **We all make mistakes** when writing code and introduce errors. + + Having good debugging skills means that you can spend **less time fixing your code**. + +See the discussion in our [August 2024 meeting](../../meetings/2024-08-08.md#debugging) for further background. diff --git a/docs/community/training/debugging/acknowledgements.md b/docs/community/training/debugging/acknowledgements.md new file mode 100644 index 00000000..82a67a6e --- /dev/null +++ b/docs/community/training/debugging/acknowledgements.md @@ -0,0 +1,17 @@ +# Acknowledgements + +Thank you to everyone who contributed to these materials, participated in the practice run, and/or provided feedback. +This includes, in no particular order: + +- Eamon Conway +- James Ong +- Michael Lydeamore +- Ada Yan +- Ruarai Tobin +- Lauren Smith +- Roben Delos Reyes +- Nefel Tellioglu +- Tanaphum Wichaita +- Jiahao Diao +- TK Le +- Dionne Argyropoulos diff --git a/docs/community/training/debugging/building-your-skills.md b/docs/community/training/debugging/building-your-skills.md new file mode 100644 index 00000000..b35bfc18 --- /dev/null +++ b/docs/community/training/debugging/building-your-skills.md @@ -0,0 +1,56 @@ +# Building your skills + +!!! tip + + Whenever you debug some code, consider it as an opportunity to learn, reflect, and [build your debugging skills](manifesto.md). + + Pay attention to your experience — what worked well, and what would you do differently next time? + +## Identifying errors + +Write a failing test case, this allows you to verify that the bug can be reproduced. + +## Developing a plan + +What information might help you decide how to begin? + +Can you identify a recent "known good" version of the code that doesn't include the error? + +If you're using version control, have a look at your recent commits and check whether any of them are likely to have introduced or exposed this error. + +## Searching for the root cause + +We've shown how a debugger allows you to pause your code and see what it's actually doing. +This is extremely helpful! + +!!! tip + + Other approaches may be useful, but avoid using trial-and-error. + +To quickly confirm or rule out specific suspicions, you might consider using: + +- `print()` statements; +- using `assert()` to verify whether specific conditions are met; +- manually calling functions from an interactive session (a "[REPL](https://en.wikipedia.org/wiki/Read%E2%80%93eval%E2%80%93print_loop)"); +- reverting or commenting out the most recent changes; or +- using `git bisect` to [identify the commit](../../../guides/using-git/where-did-this-problem-come-from.md) that introduced the error. + +## Fixing the root cause + +Is there an optimal solution? + +This might be the solution that changes as little code as possible, or it might be a solution that involves modifying and/or restructuring other parts of your code. + +## After it's fixed + +If you didn't write a test case to identify the error (see above), now is the time to write a test case to ensure you don't even make the same error again. + +Are there other parts of your code where you might make a similar mistake, for which you could also write test cases? + +Are there coding practices that might make this kind of error easier to find next time? +For example, this might involve dividing your code into smaller functions, using version control to record commits [early and often](../../../guides/version-control/what-should-I-commit.md). + +Have you considered defensive programming practices? +For example, at the start of a function it can often be a good idea to check that all of the arguments have valid values. + +Are there tools or approaches that you haven't used before, and which might be worth trying next time? diff --git a/docs/community/training/debugging/debugging-manifesto-poster.jpg b/docs/community/training/debugging/debugging-manifesto-poster.jpg new file mode 100644 index 00000000..4dd03eee Binary files /dev/null and b/docs/community/training/debugging/debugging-manifesto-poster.jpg differ diff --git a/docs/community/training/debugging/example-square-numbers.md b/docs/community/training/debugging/example-square-numbers.md new file mode 100644 index 00000000..0621bf47 --- /dev/null +++ b/docs/community/training/debugging/example-square-numbers.md @@ -0,0 +1,101 @@ +# Example: Square numbers + +[Square numbers](https://en.wikipedia.org/wiki/Square_number) are positive integers that are equal to the square of an integer. +Here we have provided example Python and R scripts that print all of the square numbers between 1 and 100: + +
+ +You can download these scripts to run on your own computer: + +- [square_numbers.py](square_numbers.py) +- [square_numbers.R](square_numbers.R) + +Each script contains three functions: + +- `main()` +- `find_squares(lower_bound, upper_bound)` +- `is_square(value)` + +The diagram below shows how `main()` calls `find_squares()`, which in turn calls `is_square()` many times. + +```mermaid +sequenceDiagram + participant M as main() + participant F as find_squares() + participant I as is_square() + activate M + M ->>+ F: lower_bound = 1, upper_bound = 100 + Note over F: squares = [ ] + F ->>+ I: value = 1 + I ->>- F: True/False + F ->>+ I: value = 2 + I ->>- F: True/False + F -->>+ I: ... + I -->>- F: ... + F ->>+ I: value = 100 + I ->>- F: True/False + F ->>- M: squares = [...] + Note over M: print(squares) + deactivate M +``` + +??? info "Source code" + + === "Python" + + ```py title="square_numbers.py" linenums="1" + --8<-- "square_numbers.py" + ``` + + === "R" + + ```R title="square_numbers.R" linenums="1" + --8<-- "square_numbers.R" + ``` + +## Stepping through the code + +These recorded terminal sessions demonstrate how to use Python and R debuggers from the command line. +They cover: + +- How to define breakpoints; +- How to inspect the current values of variables; and +- How to step through, and over, lines of code. + +!!! info "Manual breakpoints" + + You can also create breakpoints in your code by calling [`breakpoint()`](https://docs.python.org/3/library/pdb.html) in Python, and [`browser()`](https://adv-r.hadley.nz/debugging.html#browser) in R. + +!!! tip "Interactive debugger sessions" + + If your editor supports running a debugger, **use this feature!** + See these examples for [RStudio](https://support.posit.co/hc/en-us/articles/205612627-Debugging-with-the-RStudio-IDE), [PyCharm](https://www.jetbrains.com/pycharm/features/debugger.html), [Spyder](https://docs.spyder-ide.org/current/panes/debugging.html), and [VS Code](https://code.visualstudio.com/docs/editor/debugging). + +=== "Python debugger" + + + + Video timeline: + + 1. Set a breakpoint + 2. Show current location + 3. Step into `is_square()` + 4. Return from `is_square()` + 5. Show updated `squares` list + 6. Add a conditional breakpoint + 7. Stop at the conditional breakpoint + 8. Continue until the script ends + +=== "R debugger" + + + + Video timeline: + + 1. Set a breakpoint + 2. Step into `is_square()` + 3. Return from `is_square()` + 4. Show updated `squares` list + 5. Add a conditional breakpoint + 6. Stop at the conditional breakpoint + 7. Continue until the script ends diff --git a/docs/community/training/debugging/exercise-perfect-numbers.md b/docs/community/training/debugging/exercise-perfect-numbers.md new file mode 100644 index 00000000..9b4359d8 --- /dev/null +++ b/docs/community/training/debugging/exercise-perfect-numbers.md @@ -0,0 +1,50 @@ +# Exercise: Perfect numbers + +=== "Overview" + + [Perfect numbers](https://en.wikipedia.org/wiki/Perfect_number) are positive integers that are equal to the sum of their divisors. + Here we have provided example Python and R scripts that should print all of the perfect numbers up to 1,000. + + You can download each script to debug on your own computer: + + - [perfect_numbers.py](perfect_numbers.py) + - [perfect_numbers.R](perfect_numbers.R) + +=== "Python" + + ```py title="perfect_numbers.py" linenums="1" + --8<-- "perfect_numbers.py" + ``` + +=== "R" + + ```R title="perfect_numbers.R" linenums="1" + --8<-- "perfect_numbers.R" + ``` + +!!! bug "But there's a problem ..." + + If we run these scripts, we see that **they don't print anything**: + + + + How should we begin investigating? + +!!! tip "Interactive debugger sessions" + + If your editor supports running a debugger, **use this feature!** + See these examples for [RStudio](https://support.posit.co/hc/en-us/articles/205612627-Debugging-with-the-RStudio-IDE), [PyCharm](https://www.jetbrains.com/pycharm/features/debugger.html), [Spyder](https://docs.spyder-ide.org/current/panes/debugging.html), and [VS Code](https://code.visualstudio.com/docs/editor/debugging). + +??? note "Some initial thoughts ..." + + - Are we actually running the `main()` function at all? + + - The `main()` function is almost certainly not the cause of this error. + + - The `is_perfect()` function is very simple, so it's unlikely to be the cause of this error. + + - The `divisors_of()` function doesn't look obviously wrong. + + - But there must be a mistake **somewhere**! + + - Let's **use a debugger** to investigate. diff --git a/docs/community/training/debugging/exercise-python-vs-r.md b/docs/community/training/debugging/exercise-python-vs-r.md new file mode 100644 index 00000000..a73a8a6d --- /dev/null +++ b/docs/community/training/debugging/exercise-python-vs-r.md @@ -0,0 +1,58 @@ +# Exercise: Python vs R + +=== "Overview" + + Here we have provided SIR ODE model implementations in Python and in R. + Each script runs several scenarios and produces a plot of infection prevalence for each scenario. + + You can download each script to debug on your computer: + + - [sir_ode.py](sir_ode.py) + - [sir_ode.R](sir_ode.R) + +=== "Python" + + ```py title="sir_ode.py" linenums="1" + --8<-- "sir_ode.py" + ``` + +=== "R" + + ```R title="sir_ode.R" linenums="1" + --8<-- "sir_ode.R" + ``` + +!!! bug "The model outputs differ!" + + Here are prevalence time-series plots produced by each script: + + === "Python plot" + + + + === "R plot" + + + +!!! tip "Interactive debugger sessions" + + If your editor supports running a debugger, **use this feature!** + See these examples for [RStudio](https://support.posit.co/hc/en-us/articles/205612627-Debugging-with-the-RStudio-IDE), [PyCharm](https://www.jetbrains.com/pycharm/features/debugger.html), [Spyder](https://docs.spyder-ide.org/current/panes/debugging.html), and [VS Code](https://code.visualstudio.com/docs/editor/debugging). + +??? note "Some initial thoughts ..." + + - Is it obvious whether one of the figures is correct and the other is wrong? + + - The `sir_rhs()` functions in the two scripts appear to be equivalent — but are they? + + - The `default_settings()` functions appear to be equivalent — but are they? + + - The `run_model_scaled_beta()` and `run_model_scaled_gamma()` functions also appear to be equivalent. + + - Where might you begin looking? diff --git a/docs/community/training/debugging/first_demo.R b/docs/community/training/debugging/first_demo.R new file mode 100644 index 00000000..42771411 --- /dev/null +++ b/docs/community/training/debugging/first_demo.R @@ -0,0 +1,16 @@ +first_function <- function() { + total <- 0 + for (x in seq(49)) { + y <- second_function(x) + total <- total + y + } + total +} + +second_function <- function(a) { + result <- 3 * a^2 + 5 * a + result +} + +total <- first_function() +cat("Total =", total, "\n") diff --git a/docs/community/training/debugging/first_demo.py b/docs/community/training/debugging/first_demo.py new file mode 100644 index 00000000..260dc148 --- /dev/null +++ b/docs/community/training/debugging/first_demo.py @@ -0,0 +1,16 @@ +def first_function(): + total = 0 + for x in range(1, 50): + y = second_function(x) + total = total + y + + return total + + +def second_function(a): + result = 3 * a**2 + 5 * a + return result + + +total = first_function() +print(f'Total = {total}') diff --git a/docs/community/training/debugging/headless-horse.jpg b/docs/community/training/debugging/headless-horse.jpg new file mode 100644 index 00000000..3f2bf4fa Binary files /dev/null and b/docs/community/training/debugging/headless-horse.jpg differ diff --git a/docs/community/training/debugging/learning-objectives.md b/docs/community/training/debugging/learning-objectives.md new file mode 100644 index 00000000..f3cc8893 --- /dev/null +++ b/docs/community/training/debugging/learning-objectives.md @@ -0,0 +1,17 @@ +# Learning objectives + +In this workshop, we will introduce the concept of "debugging", and demonstrate techniques and tools that can help us efficiently identify and remove errors from our code. + +After completing this workshop, participants will: + ++ Understand that debugging can be divided into a sequence of actions; + ++ Understand the purpose of each of these actions; + ++ Be familiar with techniques and tools that can help perform these actions; + ++ Be able to apply these techniques and tools to their own code. + +!!! info + + By achieving these learning objectives, participants should be able to find and correct errors in their code more quickly and with greater confidence. diff --git a/docs/community/training/debugging/long_stacktrace.py b/docs/community/training/debugging/long_stacktrace.py new file mode 100755 index 00000000..50150350 --- /dev/null +++ b/docs/community/training/debugging/long_stacktrace.py @@ -0,0 +1,7 @@ +#!/usr/bin/env python3 + +import matplotlib.pyplot as plt +import matplotlib.cm as cm + +example_counts = [1, 2, 3, 4, 5] +plt.plot(example_counts, cbap=cm.Blues) diff --git a/docs/community/training/debugging/manifesto.md b/docs/community/training/debugging/manifesto.md new file mode 100644 index 00000000..55f04f3a --- /dev/null +++ b/docs/community/training/debugging/manifesto.md @@ -0,0 +1,12 @@ +# Debugging manifesto + + + +!!! info + + See the [Resources](resources.md) page for links to more of Julia Evans' articles, stories, and zines about debugging. diff --git a/docs/community/training/debugging/perfect-numbers-first-run.cast b/docs/community/training/debugging/perfect-numbers-first-run.cast new file mode 100644 index 00000000..8b34ffc1 --- /dev/null +++ b/docs/community/training/debugging/perfect-numbers-first-run.cast @@ -0,0 +1,48 @@ +{"version": 2, "width": 80, "height": 4, "timestamp": 1723508323, "env": {"SHELL": "/bin/bash", "TERM": "xterm-256color"}} +[0.106254, "o", "\u001b[?2004h\u001b]2;(x1::debugging)\u0007\u001b[32;1m(x1::debugging)\u001b[0m "] +[1.439464, "o", "."] +[1.511348, "o", "/"] +[1.735208, "o", "p"] +[1.815337, "o", "e"] +[1.879152, "o", "r"] +[2.063205, "o", "f"] +[2.151301, "o", "e"] +[2.271034, "o", "c"] +[2.46335, "o", "t"] +[2.663166, "o", "_"] +[2.823218, "o", "n"] +[3.007567, "o", "u"] +[3.199264, "o", "m"] +[3.271363, "o", "b"] +[3.439513, "o", "e"] +[3.487438, "o", "r"] +[3.607177, "o", "s"] +[3.687383, "o", "."] +[3.847072, "o", "p"] +[3.991135, "o", "y"] +[4.967213, "o", "\r\n"] +[4.967292, "o", "\u001b[?2004l\r"] +[5.065072, "o", "\u001b[?2004h\u001b]2;(x1::debugging)\u0007\u001b[32;1m(x1::debugging)\u001b[0m "] +[6.879247, "o", "."] +[7.079536, "o", "/"] +[7.319153, "o", "p"] +[7.415356, "o", "e"] +[7.479395, "o", "r"] +[7.639271, "o", "f"] +[7.727076, "o", "e"] +[7.823333, "o", "c"] +[8.00743, "o", "t"] +[8.151241, "o", "_"] +[8.407055, "o", "n"] +[8.527353, "o", "u"] +[8.71911, "o", "m"] +[8.783422, "o", "b"] +[8.967451, "o", "e"] +[9.015325, "o", "r"] +[9.151235, "o", "s"] +[9.247291, "o", "."] +[9.575237, "o", "R"] +[10.167232, "o", "\r\n"] +[10.167313, "o", "\u001b[?2004l\r"] +[10.450741, "o", "\u001b[?2004h\u001b]2;(x1::debugging)\u0007\u001b[32;1m(x1::debugging)\u001b[0m "] +[12.800104, "o", "\u001b[?2004l"] diff --git a/docs/community/training/debugging/perfect_numbers.R b/docs/community/training/debugging/perfect_numbers.R new file mode 100755 index 00000000..5a5be50c --- /dev/null +++ b/docs/community/training/debugging/perfect_numbers.R @@ -0,0 +1,40 @@ +#!/usr/bin/env -S Rscript --vanilla +# +# This script prints perfect numbers. +# +# Perfect numbers are positive integers that are equal to the sum of their +# divisors. +# + + +main <- function() { + start <- 2 + end <- 1000 + for (value in seq.int(start, end)) { + if (is_perfect(value)) { + print(value) + } + } +} + + +is_perfect <- function(value) { + divisors <- divisors_of(value) + sum(divisors) == value +} + + +divisors_of <- function(value) { + divisors <- c() + candidate <- 2 + while (candidate < value) { + if (value %% candidate == 0) { + divisors <- c(divisors, candidate) + } + candidate <- candidate + 1 + } + divisors +} + + +main() diff --git a/docs/community/training/debugging/perfect_numbers.py b/docs/community/training/debugging/perfect_numbers.py new file mode 100755 index 00000000..149a2919 --- /dev/null +++ b/docs/community/training/debugging/perfect_numbers.py @@ -0,0 +1,34 @@ +#!/usr/bin/env python3 +""" +This script prints perfect numbers. + +Perfect numbers are positive integers that are equal to the sum of their +divisors. +""" + + +def main(): + start = 2 + end = 1_000 + for value in range(start, end + 1): + if is_perfect(value): + print(value) + + +def is_perfect(value): + divisors = divisors_of(value) + return sum(divisors) == value + + +def divisors_of(value): + divisors = [] + candidate = 2 + while candidate < value: + if value % candidate == 0: + divisors.append(candidate) + candidate += 1 + return divisors + + +if __name__ == '__main__': + main() diff --git a/docs/community/training/debugging/real-world-stories.md b/docs/community/training/debugging/real-world-stories.md new file mode 100644 index 00000000..65ba4d1a --- /dev/null +++ b/docs/community/training/debugging/real-world-stories.md @@ -0,0 +1,284 @@ +# Real-world stories + +## Rob Moss: pypfilt (Python) + +Last week (Tues 17 Sep, 2024) I encountered an error when running model simulations with my [pypfilt](https://pypfilt.readthedocs.io/) Python library. +I used the breakpoint technique described on [the previous page](when-something-fails.md), and identified the cause in **less than 2 minutes**. + +Here is the original stack trace that made me aware of the error: + +```text linenums="1" hl_lines="11" +Traceback (most recent call last): + File "./run_model_simulations.py", line 633, inB.call(A,I[1],g))}else A.addEventListener(g,I)}function _(A,g,I){if(!g)return I?function(A,g,I){null==I?A.removeAttribute(g):A.setAttribute(g,I)}(A,"style"):g;const B=A.style;if("string"==typeof g)return B.cssText=g;let Q,C;for(C in"string"==typeof I&&(B.cssText=I=void 0),I||(I={}),g||(g={}),I)null==g[C]&&B.removeProperty(C),delete I[C];for(C in g)Q=g[C],Q!==I[C]&&(B.setProperty(C,Q),I[C]=Q);return I}function $(A,g,I){return l((()=>A(g,I)))}function AA(A,g,I,B){if(void 0===I||B||(B=[]),"function"!=typeof g)return IA(A,g,B,I);w((B=>IA(A,g(),B,I)),B)}function gA(A){const I=`$$${A.type}`;let B=A.composedPath&&A.composedPath()[0]||A.target;for(A.target!==B&&Object.defineProperty(A,"target",{configurable:!0,value:B}),Object.defineProperty(A,"currentTarget",{configurable:!0,get:()=>B||document}),g.registry&&!g.done&&(g.done=!0,document.querySelectorAll("[id^=pl-]").forEach((g=>{for(;g&&8!==g.nodeType&&g.nodeValue!=="pl-"+A;){let A=g.nextSibling;g.remove(),g=A}g&&g.remove()})));B;){const g=B[I];if(g&&!B.disabled){const Q=B[`${I}Data`];if(void 0!==Q?g.call(B,Q,A):g.call(B,A),A.cancelBubble)return}B=B._$host||B.parentNode||B.host}}function IA(A,I,B,Q,C){for(g.context&&!B&&(B=[...A.childNodes]);"function"==typeof B;)B=B();if(I===B)return B;const E=typeof I,e=void 0!==Q;if(A=e&&B[0]&&B[0].parentNode||A,"string"===E||"number"===E){if(g.context)return B;if("number"===E&&(I=I.toString()),e){let g=B[0];g&&3===g.nodeType?g.data=I:g=document.createTextNode(I),B=CA(A,B,Q,g)}else B=""!==B&&"string"==typeof B?A.firstChild.data=I:A.textContent=I}else if(null==I||"boolean"===E){if(g.context)return B;B=CA(A,B,Q)}else{if("function"===E)return w((()=>{let g=I();for(;"function"==typeof g;)g=g();B=IA(A,g,B,Q)})),()=>B;if(Array.isArray(I)){const E=[],t=B&&Array.isArray(B);if(BA(E,I,B,C))return w((()=>B=IA(A,E,B,Q,!0))),()=>B;if(g.context){if(!E.length)return B;for(let A=0;AB-e){const Q=g[E];for(;e=0;C--){const E=g[C];if(Q!==E){const g=E.parentNode===A;B||C?g&&E.remove():g?A.replaceChild(Q,E):A.insertBefore(Q,I)}else B=!0}}else A.insertBefore(Q,I);return[Q]}let EA;const eA=new Array(128).fill(void 0);function tA(A){return eA[A]}eA.push(void 0,null,!0,!1);let iA=eA.length;function oA(A){const g=tA(A);return function(A){A<132||(eA[A]=iA,iA=A)}(A),g}const sA=new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0});sA.decode();let nA=null;function rA(){return null!==nA&&0!==nA.byteLength||(nA=new Uint8Array(EA.memory.buffer)),nA}function aA(A,g){return sA.decode(rA().subarray(A,A+g))}function cA(A){iA===eA.length&&eA.push(eA.length+1);const g=iA;return iA=eA[g],eA[g]=A,g}function DA(A){const g=typeof A;if("number"==g||"boolean"==g||null==A)return`${A}`;if("string"==g)return`"${A}"`;if("symbol"==g){const g=A.description;return null==g?"Symbol":`Symbol(${g})`}if("function"==g){const g=A.name;return"string"==typeof g&&g.length>0?`Function(${g})`:"Function"}if(Array.isArray(A)){const g=A.length;let I="[";g>0&&(I+=DA(A[0]));for(let B=1;B 1))return toString.call(A);if(B=I[1],"Object"==B)try{return"Object("+JSON.stringify(A)+")"}catch(A){return"Object"}return A instanceof Error?`${A.name}: ${A.message}\n${A.stack}`:B}let wA=0;const yA=new TextEncoder("utf-8"),hA="function"==typeof yA.encodeInto?function(A,g){return yA.encodeInto(A,g)}:function(A,g){const I=yA.encode(A);return g.set(I),{read:A.length,written:I.length}};function lA(A,g,I){if(void 0===I){const I=yA.encode(A),B=g(I.length);return rA().subarray(B,B+I.length).set(I),wA=I.length,B}let B=A.length,Q=g(B);const C=rA();let E=0;for(;E127)break;C[Q+E]=g}if(E!==B){0!==E&&(A=A.slice(E)),Q=I(Q,B,B=E+3*A.length);const g=rA().subarray(Q+E,Q+B);E+=hA(A,g).written}return wA=E,Q}let GA=null;function kA(){return null!==GA&&0!==GA.byteLength||(GA=new Int32Array(EA.memory.buffer)),GA}let NA=null;function MA(A,g){return(null!==NA&&0!==NA.byteLength||(NA=new Uint32Array(EA.memory.buffer)),NA).subarray(A/4,A/4+g)}class uA{static __wrap(A){const g=Object.create(uA.prototype);return g.ptr=A,g}__destroy_into_raw(){const A=this.ptr;return this.ptr=0,A}free(){const A=this.__destroy_into_raw();EA.__wbg_vtwrapper_free(A)}feed(A){const g=lA(A,EA.__wbindgen_malloc,EA.__wbindgen_realloc),I=wA;return oA(EA.vtwrapper_feed(this.ptr,g,I))}inspect(){try{const I=EA.__wbindgen_add_to_stack_pointer(-16);EA.vtwrapper_inspect(I,this.ptr);var A=kA()[I/4+0],g=kA()[I/4+1];return aA(A,g)}finally{EA.__wbindgen_add_to_stack_pointer(16),EA.__wbindgen_free(A,g)}}get_size(){try{const B=EA.__wbindgen_add_to_stack_pointer(-16);EA.vtwrapper_get_size(B,this.ptr);var A=kA()[B/4+0],g=kA()[B/4+1],I=MA(A,g).slice();return EA.__wbindgen_free(A,4*g),I}finally{EA.__wbindgen_add_to_stack_pointer(16)}}get_line(A){return oA(EA.vtwrapper_get_line(this.ptr,A))}get_cursor(){return oA(EA.vtwrapper_get_cursor(this.ptr))}}function FA(){const A={wbg:{}};return A.wbg.__wbindgen_object_drop_ref=function(A){oA(A)},A.wbg.__wbindgen_error_new=function(A,g){return cA(new Error(aA(A,g)))},A.wbg.__wbindgen_number_new=function(A){return cA(A)},A.wbg.__wbindgen_bigint_from_u64=function(A){return cA(BigInt.asUintN(64,A))},A.wbg.__wbindgen_string_new=function(A,g){return cA(aA(A,g))},A.wbg.__wbg_set_20cbc34131e76824=function(A,g,I){tA(A)[oA(g)]=oA(I)},A.wbg.__wbg_new_b525de17f44a8943=function(){return cA(new Array)},A.wbg.__wbg_new_f841cc6f2098f4b5=function(){return cA(new Map)},A.wbg.__wbg_new_f9876326328f45ed=function(){return cA(new Object)},A.wbg.__wbindgen_is_string=function(A){return"string"==typeof tA(A)},A.wbg.__wbg_set_17224bc548dd1d7b=function(A,g,I){tA(A)[g>>>0]=oA(I)},A.wbg.__wbg_set_388c4c6422704173=function(A,g,I){return cA(tA(A).set(tA(g),tA(I)))},A.wbg.__wbindgen_debug_string=function(A,g){const I=lA(DA(tA(g)),EA.__wbindgen_malloc,EA.__wbindgen_realloc),B=wA;kA()[A/4+1]=B,kA()[A/4+0]=I},A.wbg.__wbindgen_throw=function(A,g){throw new Error(aA(A,g))},A}function dA(A,g){return EA=A.exports,fA.__wbindgen_wasm_module=g,GA=null,NA=null,nA=null,EA}async function fA(A){const g=FA();("string"==typeof A||"function"==typeof Request&&A instanceof Request||"function"==typeof URL&&A instanceof URL)&&(A=fetch(A));const{instance:I,module:B}=await async function(A,g){if("function"==typeof Response&&A instanceof Response){if("function"==typeof WebAssembly.instantiateStreaming)try{return await WebAssembly.instantiateStreaming(A,g)}catch(g){if("application/wasm"==A.headers.get("Content-Type"))throw g;console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n",g)}const I=await A.arrayBuffer();return await WebAssembly.instantiate(I,g)}{const I=await WebAssembly.instantiate(A,g);return I instanceof WebAssembly.Instance?{instance:I,module:A}:I}}(await A,g);return dA(I,B)}var RA=Object.freeze({__proto__:null,VtWrapper:uA,create:function(A,g,I,B){const Q=EA.create(A,g,I,B);return uA.__wrap(Q)},default:fA,initSync:function(A){const g=FA();return A instanceof WebAssembly.Module||(A=new WebAssembly.Module(A)),dA(new WebAssembly.Instance(A,g),A)}});const JA=[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 YA(A){return JA[A-43]}const pA=function(A){let g,I=A.endsWith("==")?2:A.endsWith("=")?1:0,B=A.length,Q=new Uint8Array(B/4*3);for(let I=0,C=0;I>16,Q[C+1]=g>>8&255,Q[C+2]=255&g;return Q.subarray(0,Q.length-I)}("AGFzbQEAAAAB7AEdYAJ/fwF/YAN/f38Bf2ACf38AYAN/f38AYAF/AGAEf39/fwBgAX8Bf2AFf39/f38AYAV/f39/fwF/YAABf2AGf39/f39/AGAAAGAEf39/fwF/YAF/AX5gAXwBf2ABfgF/YAd/f39/f39/AX9gAn5/AX9gF39/f39/f39/f39/f39/f39/f39/f39/AX9gD39/f39/f39/f39/f39/fwF/YAt/f39/f39/f39/fwF/YAN/f34AYAZ/f39/f38Bf2AFf398f38AYAR/fH9/AGAFf39+f38AYAR/fn9/AGAFf399f38AYAR/fX9/AAKsAw4Dd2JnGl9fd2JpbmRnZW5fb2JqZWN0X2Ryb3BfcmVmAAQDd2JnFF9fd2JpbmRnZW5fZXJyb3JfbmV3AAADd2JnFV9fd2JpbmRnZW5fbnVtYmVyX25ldwAOA3diZxpfX3diaW5kZ2VuX2JpZ2ludF9mcm9tX3U2NAAPA3diZxVfX3diaW5kZ2VuX3N0cmluZ19uZXcAAAN3YmcaX193Ymdfc2V0XzIwY2JjMzQxMzFlNzY4MjQAAwN3YmcaX193YmdfbmV3X2I1MjVkZTE3ZjQ0YTg5NDMACQN3YmcaX193YmdfbmV3X2Y4NDFjYzZmMjA5OGY0YjUACQN3YmcaX193YmdfbmV3X2Y5ODc2MzI2MzI4ZjQ1ZWQACQN3YmcUX193YmluZGdlbl9pc19zdHJpbmcABgN3YmcaX193Ymdfc2V0XzE3MjI0YmM1NDhkZDFkN2IAAwN3YmcaX193Ymdfc2V0XzM4OGM0YzY0MjI3MDQxNzMAAQN3YmcXX193YmluZGdlbl9kZWJ1Z19zdHJpbmcAAgN3YmcQX193YmluZGdlbl90aHJvdwACA+IB4AEGBAEAAwICCAECAgIAAAEQCAcAEQQBAgIKAAkABAAKAAISAwMDBAUCBwgFEwIUBQUCBRUFBQAAAAAEBAUHCQECAgMHBAIDBAUCBwICCgAAAAAAAAMAAAYAAAUFAwQAAgMDAAADAgICAwMBAAAABAMFBgICAQEAAgIAAwsABAIIDAIGAAAAAAQAAAAAAwICAgAABAQEARYEFxkHGwgAAAUEAAQAAQADAgQEDAUAAAAAAgABAAABAAAAAgAAAQMDBgAAAwMDAAADAQAGBAAAAAAAAAILCwAAAQADAwEADQ0NBAQFAXABf38FAwEAEQYJAX8BQYCAwAALB/IBDAZtZW1vcnkCABRfX3diZ192dHdyYXBwZXJfZnJlZQBUBmNyZWF0ZQCNAQ52dHdyYXBwZXJfZmVlZABMEXZ0d3JhcHBlcl9pbnNwZWN0AD4SdnR3cmFwcGVyX2dldF9zaXplAE0SdnR3cmFwcGVyX2dldF9saW5lAHoUdnR3cmFwcGVyX2dldF9jdXJzb3IAfhFfX3diaW5kZ2VuX21hbGxvYwCPARJfX3diaW5kZ2VuX3JlYWxsb2MAogEfX193YmluZGdlbl9hZGRfdG9fc3RhY2tfcG9pbnRlcgDXAQ9fX3diaW5kZ2VuX2ZyZWUAvQEJ5gEBAEEBC37YAckBKWPtAb4BhgG2AZEB0wHWAdgByQEpZe0B2QGxAawBqAGnAacBqQGlAacBqQFapgGjAe0BeaoBmAHtAZ0B7QHCASdb2wHtAZ4BnwFgsgF4cGveAa0BlgHpAWKtAZMB4gHtARvaAbsBigFv3QGkAcQB7QGeAe0BqwGtAZUBkAG5AboBrQHDAe0B7QGSAdwBngHpAbwB7QGXAYkBgwGuAeMBxQHtAcIBJ1zSAVjtAYEBIF2vAesB6gGhATVZiwHGAewB7QGCAc0BXs4BwAHHAcgB7QHsARwtZtUBK1/lAQq14QPgAe4hAgt/AX4jAEEQayILJAACQAJAAkACQAJAAkAgAEH1AU8EQCAAQc3/e08NBiAAQQtqQXhxIQRB3MrAACgCAEUNBUEAIARrIQICf0EAIARBgAJJDQAaQR8gBEH///8HSw0AGiAEQQYgBEEIdmciAGt2QQFxIABBAXRrQT5qCyIFQQJ0QcDHwABqKAIAIgENAUEAIQAMAgsCQAJAAkACfwJAAkBB2MrAACgCACIBQRAgAEEEaiAAQQtJG0EHakF4cSIEQQN2IgB2IgNBA3FFBEAgBEHgysAAKAIATQ0LIAMNAUHcysAAKAIAIgBFDQtBACAAayAAcWhBAnRBwMfAAGooAgAiASgCBEF4cSAEayECIAEoAhAiAEUEQCABQRRqKAIAIQALIAAEQANAIAAoAgRBeHEgBGsiAyACSSEFIAMgAiAFGyECIAAgASAFGyEBIAAoAhAiAwR/IAMFIABBFGooAgALIgANAAsLIAEQIiACQRBJDQUgASAEQQNyNgIEIAEgBGoiBiACQQFyNgIEIAIgBmogAjYCAEHgysAAKAIAIgBFDQQgAEF4cUHQyMAAaiEDQejKwAAoAgAhB0HYysAAKAIAIgVBASAAQQN2dCIAcUUNAiADKAIIDAMLAkAgA0F/c0EBcSAAaiIFQQN0IgBB2MjAAGooAgAiBkEIaigCACIDIABB0MjAAGoiAEcEQCADIAA2AgwgACADNgIIDAELQdjKwAAgAUF+IAV3cTYCAAsgBiAFQQN0IgBBA3I2AgQgACAGaiIAIAAoAgRBAXI2AgQgBkEIaiECDAsLAkBBAEEAQQEgAEEfcSIBdEEBdCIAayAAciADIAF0cSIAayAAcWgiA0EDdCIAQdjIwABqKAIAIgJBCGooAgAiASAAQdDIwABqIgBHBEAgASAANgIMIAAgATYCCAwBC0HYysAAQdjKwAAoAgBBfiADd3E2AgALIAIgBEEDcjYCBCACIARqIgYgA0EDdCAEayIFIgBBAXI2AgQgACAGaiAANgIAQeDKwAAoAgAiAARAIABBeHFB0MjAAGohAUHoysAAKAIAIQcCf0HYysAAKAIAIgNBASAAQQN2dCIAcQRAIAEoAggMAQtB2MrAACAAIANyNgIAIAELIQAgASAHNgIIIAAgBzYCDCAHIAE2AgwgByAANgIIC0HoysAAIAY2AgBB4MrAACAFNgIAIAJBCGohAgwKC0HYysAAIAAgBXI2AgAgAwshACADIAc2AgggACAHNgIMIAcgAzYCDCAHIAA2AggLQejKwAAgBjYCAEHgysAAIAI2AgAMAQsgASACIARqIgBBA3I2AgQgACABaiIAIAAoAgRBAXI2AgQLIAFBCGoiAg0FDAQLIARBAEEZIAVBAXZrIAVBH0YbdCEHQQAhAANAAkAgASgCBEF4cSIDIARJDQAgAyAEayIDIAJPDQAgASEGIAMiAg0AQQAhAiABIQAMAwsgAUEUaigCACIDIAAgAyABIAdBHXZBBHFqQRBqKAIAIgFHGyAAIAMbIQAgB0EBdCEHIAENAAsLIAAgBnJFBEBBACEGQdzKwAAoAgBBAEEBIAV0QQF0IgBrIABycSIARQ0DQQAgAGsgAHFoQQJ0QcDHwABqKAIAIQALIABFDQELA0AgACgCBEF4cSIBIARrIQMgACAGIAIgA0sgASAET3EiARshBiADIAIgARshAiAAKAIQIgEEfyABBSAAQRRqKAIACyIADQALCyAGRQ0AQeDKwAAoAgAiACAETyACIAAgBGtPcQ0AIAQgBmohBSAGECICQCACQRBPBEAgBiAEQQNyNgIEIAUgAkEBcjYCBCACIAVqIAI2AgAgAkGAAk8EQCAFIAIQJAwCCyACQXhxQdDIwABqIQECf0HYysAAKAIAIgNBASACQQN2dCIAcQRAIAEoAggMAQtB2MrAACAAIANyNgIAIAELIQAgASAFNgIIIAAgBTYCDCAFIAE2AgwgBSAANgIIDAELIAYgAiAEaiIAQQNyNgIEIAAgBmoiACAAKAIEQQFyNgIECyAGQQhqIgINAQsCQAJAAkACQAJAAkACQEHgysAAKAIAIgAgBEkEQEHkysAAKAIAIgAgBEsNAiAEQa+ABGpBgIB8cSIAQRB2QAAhASALQQA2AgggC0EAIABBgIB8cSABQX9GIgAbNgIEIAtBACABQRB0IAAbNgIAIAsoAgAiCA0BQQAhAgwIC0HoysAAKAIAIQMgACAEayIBQRBJBEBB6MrAAEEANgIAQeDKwAAoAgAhAEHgysAAQQA2AgAgAyAAQQNyNgIEIAAgA2oiACAAKAIEQQFyNgIEIANBCGohAgwIC0HgysAAIAE2AgBB6MrAACADIARqIgA2AgAgACABQQFyNgIEIAAgAWogATYCACADIARBA3I2AgQgA0EIaiECDAcLIAsoAgghB0HwysAAIAsoAgQiCkHwysAAKAIAaiIBNgIAQfTKwABB9MrAACgCACIAIAEgACABSxs2AgACQAJAAkBB7MrAACgCAARAQcDIwAAhAANAIAAoAgAgACgCBGogCEYNAiAAKAIIIgANAAsMAgtB/MrAACgCACIARQ0FIAAgCEsNBQwHCyAAKAIMQQFxDQAgACgCDEEBdiAHRw0AQezKwAAoAgAiAyAAKAIAIgFPBH8gASAAKAIEaiADSwVBAAsNAQtB/MrAAEH8ysAAKAIAIgAgCCAAIAhJGzYCACAIIApqIQFBwMjAACEAAkACQANAIAEgACgCAEcEQCAAKAIIIgANAQwCCwsgACgCDEEBcQ0AIAAoAgxBAXYgB0YNAQtB7MrAACgCACEJQcDIwAAhAAJAA0AgCSAAKAIATwRAIAAoAgAgACgCBGogCUsNAgsgACgCCCIADQALQQAhAAsgACgCACAAKAIEaiIDQS9rIgBBCGohASAJIAFBB2pBeHEgAWsgAGoiACAAIAlBEGpJGyICQQhqIQYgAkEYaiEAQezKwAAgCEEIaiIBQQdqQXhxIAFrIgEgCGoiBTYCAEHkysAAIAogAWtBKGsiATYCACAFIAFBAXI2AgQgASAFakEoNgIEQfjKwABBgICAATYCACACQRs2AgRBwMjAACkCACEMIAZBCGpByMjAACkCADcCACAGIAw3AgBBzMjAACAHNgIAQcTIwAAgCjYCAEHAyMAAIAg2AgBByMjAACAGNgIAA0AgAEEHNgIEIABBBGoiAEEEaiADSQ0ACyACIAlGDQcgAiAJayIFIAlqIgAgACgCBEF+cTYCBCAJIAVBAXI2AgQgACAFNgIAIAVBgAJPBEAgCSAFECQMCAsgBUF4cUHQyMAAaiEBAn9B2MrAACgCACIDQQEgBUEDdnQiAHEEQCABKAIIDAELQdjKwAAgACADcjYCACABCyEAIAEgCTYCCCAAIAk2AgwgCSABNgIMIAkgADYCCAwHCyAAKAIAIQMgACAINgIAIAAgACgCBCAKajYCBCAIIAhBCGoiAEEHakF4cSAAa2oiBiAEaiIBIQIgBiAEQQNyNgIEIAMgA0EIaiIAQQdqQXhxIABraiIAIAFrIQRB7MrAACgCACAARwRAIABB6MrAACgCAEYNAyAAKAIEQQNxQQFHDQUCQCAAKAIEQXhxIgVBgAJPBEAgABAiDAELIABBDGooAgAiAyAAQQhqKAIAIgFHBEAgASADNgIMIAMgATYCCAwBC0HYysAAQdjKwAAoAgBBfiAFQQN2d3E2AgALIAQgBWohBCAAIAVqIQAMBQtB7MrAACACNgIAQeTKwABB5MrAACgCACAEaiIANgIAIAIgAEEBcjYCBCAGQQhqIQIMBwsgACAAKAIEIApqNgIEQeTKwABB5MrAACgCACAKakHsysAAKAIAIgFBCGoiAEEHakF4cSAAayIAayIDNgIAQezKwAAgACABaiIANgIAIAAgA0EBcjYCBCAAIANqQSg2AgRB+MrAAEGAgIABNgIADAULQeTKwAAgACAEayIBNgIAQezKwABB7MrAACgCACIDIARqIgA2AgAgACABQQFyNgIEIAMgBEEDcjYCBCADQQhqIQIMBQtB6MrAACACNgIAQeDKwABB4MrAACgCACAEaiIANgIAIAIgAEEBcjYCBCAAIAJqIAA2AgAgBkEIaiECDAQLQfzKwAAgCDYCAAwBCyAAIAAoAgRBfnE2AgQgAiAEQQFyNgIEIAIgBGogBDYCACAEQYACTwRAIAIgBBAkIAZBCGohAgwDCyAEQXhxQdDIwABqIQECf0HYysAAKAIAIgNBASAEQQN2dCIAcQRAIAEoAggMAQtB2MrAACAAIANyNgIAIAELIQAgASACNgIIIAAgAjYCDCACIAE2AgwgAiAANgIIIAZBCGohAgwCC0GAy8AAQf8fNgIAQczIwAAgBzYCAEHEyMAAIAo2AgBBwMjAACAINgIAQdzIwABB0MjAADYCAEHkyMAAQdjIwAA2AgBB2MjAAEHQyMAANgIAQezIwABB4MjAADYCAEHgyMAAQdjIwAA2AgBB9MjAAEHoyMAANgIAQejIwABB4MjAADYCAEH8yMAAQfDIwAA2AgBB8MjAAEHoyMAANgIAQYTJwABB+MjAADYCAEH4yMAAQfDIwAA2AgBBjMnAAEGAycAANgIAQYDJwABB+MjAADYCAEGUycAAQYjJwAA2AgBBiMnAAEGAycAANgIAQZzJwABBkMnAADYCAEGQycAAQYjJwAA2AgBBmMnAAEGQycAANgIAQaTJwABBmMnAADYCAEGgycAAQZjJwAA2AgBBrMnAAEGgycAANgIAQajJwABBoMnAADYCAEG0ycAAQajJwAA2AgBBsMnAAEGoycAANgIAQbzJwABBsMnAADYCAEG4ycAAQbDJwAA2AgBBxMnAAEG4ycAANgIAQcDJwABBuMnAADYCAEHMycAAQcDJwAA2AgBByMnAAEHAycAANgIAQdTJwABByMnAADYCAEHQycAAQcjJwAA2AgBB3MnAAEHQycAANgIAQeTJwABB2MnAADYCAEHYycAAQdDJwAA2AgBB7MnAAEHgycAANgIAQeDJwABB2MnAADYCAEH0ycAAQejJwAA2AgBB6MnAAEHgycAANgIAQfzJwABB8MnAADYCAEHwycAAQejJwAA2AgBBhMrAAEH4ycAANgIAQfjJwABB8MnAADYCAEGMysAAQYDKwAA2AgBBgMrAAEH4ycAANgIAQZTKwABBiMrAADYCAEGIysAAQYDKwAA2AgBBnMrAAEGQysAANgIAQZDKwABBiMrAADYCAEGkysAAQZjKwAA2AgBBmMrAAEGQysAANgIAQazKwABBoMrAADYCAEGgysAAQZjKwAA2AgBBtMrAAEGoysAANgIAQajKwABBoMrAADYCAEG8ysAAQbDKwAA2AgBBsMrAAEGoysAANgIAQcTKwABBuMrAADYCAEG4ysAAQbDKwAA2AgBBzMrAAEHAysAANgIAQcDKwABBuMrAADYCAEHUysAAQcjKwAA2AgBByMrAAEHAysAANgIAQdDKwABByMrAADYCAEHsysAAIAhBCGoiAEEHakF4cSAAayIAIAhqIgE2AgBB5MrAACAKIABrQShrIgA2AgAgASAAQQFyNgIEIAAgAWpBKDYCBEH4ysAAQYCAgAE2AgALQQAhAkHkysAAKAIAIgAgBE0NAEHkysAAIAAgBGsiATYCAEHsysAAQezKwAAoAgAiAyAEaiIANgIAIAAgAUEBcjYCBCADIARBA3I2AgQgA0EIaiECCyALQRBqJAAgAgv1BgEFfyAAQQhrIgAoAgRBeHEhAiAAIAJqIQECQAJAAkAgACgCBEEBcQ0AIAAoAgAhAwJAIAAtAARBA3EEQCACIANqIQIgACADayIAQejKwAAoAgBHDQEgASgCBEEDcUEDRw0CQeDKwAAgAjYCACABIAEoAgRBfnE2AgQgACACQQFyNgIEIAAgAmogAjYCAA8LDAILIANBgAJPBEAgABAiDAELIABBDGooAgAiBCAAQQhqKAIAIgVHBEAgBSAENgIMIAQgBTYCCAwBC0HYysAAQdjKwAAoAgBBfiADQQN2d3E2AgALAkAgAS0ABEECcUEBdgRAIAEgASgCBEF+cTYCBCAAIAJBAXI2AgQgACACaiACNgIADAELAkACQAJAQezKwAAoAgAgAUcEQCABQejKwAAoAgBHDQFB6MrAACAANgIAQeDKwABB4MrAACgCACACaiIBNgIAIAAgAUEBcjYCBCAAIAFqIAE2AgAPC0HsysAAIAA2AgBB5MrAAEHkysAAKAIAIAJqIgE2AgAgACABQQFyNgIEIABB6MrAACgCAEYNAQwCCyABKAIEQXhxIgMgAmohAgJAIANBgAJPBEAgARAiDAELIAFBDGooAgAiBCABQQhqKAIAIgFHBEAgASAENgIMIAQgATYCCAwBC0HYysAAQdjKwAAoAgBBfiADQQN2d3E2AgALIAAgAkEBcjYCBCAAIAJqIAI2AgAgAEHoysAAKAIARw0CQeDKwAAgAjYCAAwDC0HgysAAQQA2AgBB6MrAAEEANgIAC0H4ysAAKAIAIAFPDQFB7MrAACgCAEUNAUEAIQICQEHkysAAKAIAQShNDQBB7MrAACgCACEBQcDIwAAhAAJAA0AgASAAKAIATwRAIAAoAgAgACgCBGogAUsNAgsgACgCCCIADQALQQAhAAsgACgCDEEBcQ0AIABBDGooAgAaCxAoDQFB5MrAACgCAEH4ysAAKAIATQ0BQfjKwABBfzYCAA8LIAJBgAJJDQEgACACECRBgMvAAEGAy8AAKAIAQQFrIgA2AgAgAA0AECgaDwsPCyACQXhxQdDIwABqIQECf0HYysAAKAIAIgNBASACQQN2dCICcQRAIAEoAggMAQtB2MrAACACIANyNgIAIAELIQIgASAANgIIIAIgADYCDCAAIAE2AgwgACACNgIIC/gGAQh/AkACQCAAKAIIIgogACgCECIDcgRAAkAgA0UNACABIAJqIQkgAEEUaigCAEEBaiEHIAEhBANAAkAgBCEDIAdBAWsiB0UNACADIAlGDQICfyADLAAAIgVBAE4EQCAFQf8BcSEFIANBAWoMAQsgAy0AAUE/cSEIIAVBH3EhBCAFQV9NBEAgBEEGdCAIciEFIANBAmoMAQsgAy0AAkE/cSAIQQZ0ciEIIAVBcEkEQCAIIARBDHRyIQUgA0EDagwBCyAEQRJ0QYCA8ABxIAMtAANBP3EgCEEGdHJyIgVBgIDEAEYNAyADQQRqCyIEIAYgA2tqIQYgBUGAgMQARw0BDAILCyADIAlGDQACQCADLAAAIgRBAE4NACAEQWBJDQAgBEFwSQ0AIARB/wFxQRJ0QYCA8ABxIAMtAANBP3EgAy0AAkE/cUEGdCADLQABQT9xQQx0cnJyQYCAxABGDQELAkACQCAGRQ0AIAIgBk0EQEEAIQMgAiAGRg0BDAILQQAhAyABIAZqLAAAQUBIDQELIAEhAwsgBiACIAMbIQIgAyABIAMbIQELIApFDQIgAEEMaigCACEGAkAgAkEQTwRAIAEgAhARIQQMAQsgAkUEQEEAIQQMAQsgAkEDcSEFAkAgAkEESQRAQQAhBCABIQMMAQsgAkF8cSEHQQAhBCABIQMDQCAEIAMsAABBv39KaiADLAABQb9/SmogAywAAkG/f0pqIAMsAANBv39KaiEEIANBBGohAyAHQQRrIgcNAAsLIAVFDQADQCAEIAMsAABBv39KaiEEIANBAWohAyAFQQFrIgUNAAsLIAQgBkkEQCAGIARrIgQhBgJAAkACQEEAIAAtACAiAyADQQNGGyIDQQFrDgIAAQILQQAhBiAEIQMMAQsgBEEBdiEDIARBAWpBAXYhBgsgA0EBaiEDIABBBGooAgAhBCAAKAIcIQUgACgCACEAAkADQCADQQFrIgNFDQEgACAFIAQoAhARAABFDQALQQEPC0EBIQMgBUGAgMQARg0CIAAgASACIAQoAgwRAQANAkEAIQMDQCADIAZGBEBBAA8LIANBAWohAyAAIAUgBCgCEBEAAEUNAAsgA0EBayAGSQ8LDAILIAAoAgAgASACIAAoAgQoAgwRAQAhAwsgAw8LIAAoAgAgASACIAAoAgQoAgwRAQAL1gYBCH8CQAJAIABBA2pBfHEiAiAAayIEIAFLDQAgBEEESw0AIAEgBGsiBkEESQ0AIAZBA3EhB0EAIQECQCAAIAJGDQAgBEEDcSEDAkAgAiAAQX9zakEDSQRAIAAhAgwBCyAEQXxxIQggACECA0AgASACLAAAQb9/SmogAiwAAUG/f0pqIAIsAAJBv39KaiACLAADQb9/SmohASACQQRqIQIgCEEEayIIDQALCyADRQ0AA0AgASACLAAAQb9/SmohASACQQFqIQIgA0EBayIDDQALCyAAIARqIQACQCAHRQ0AIAAgBkF8cWoiAiwAAEG/f0ohBSAHQQFGDQAgBSACLAABQb9/SmohBSAHQQJGDQAgBSACLAACQb9/SmohBQsgBkECdiEEIAEgBWohAwNAIAAhASAERQ0CIARBwAEgBEHAAUkbIgVBA3EhBiAFQQJ0IQgCQCAFQfwBcSIHRQRAQQAhAgwBCyABIAdBAnRqIQlBACECA0AgAEUNASACIAAoAgAiAkF/c0EHdiACQQZ2ckGBgoQIcWogAEEEaigCACICQX9zQQd2IAJBBnZyQYGChAhxaiAAQQhqKAIAIgJBf3NBB3YgAkEGdnJBgYKECHFqIABBDGooAgAiAkF/c0EHdiACQQZ2ckGBgoQIcWohAiAJIABBEGoiAEcNAAsLIAQgBWshBCABIAhqIQAgAkEIdkH/gfwHcSACQf+B/AdxakGBgARsQRB2IANqIQMgBkUNAAsCf0EAIAFFDQAaIAEgB0ECdGoiASgCACIAQX9zQQd2IABBBnZyQYGChAhxIgAgBkEBRg0AGiAAIAEoAgQiAEF/c0EHdiAAQQZ2ckGBgoQIcWoiACAGQQJGDQAaIAAgASgCCCIAQX9zQQd2IABBBnZyQYGChAhxagsiAEEIdkH/gRxxIABB/4H8B3FqQYGABGxBEHYgA2oPCyABRQRAQQAPCyABQQNxIQICQCABQQRJBEAMAQsgAUF8cSEBA0AgAyAALAAAQb9/SmogACwAAUG/f0pqIAAsAAJBv39KaiAALAADQb9/SmohAyAAQQRqIQAgAUEEayIBDQALCyACRQ0AA0AgAyAALAAAQb9/SmohAyAAQQFqIQAgAkEBayICDQALCyADC/QGAgp/An4jAEGgAWsiBSQAAkAgAEUNACACRQ0AA0ACQAJAAkAgACACakEYTwRAIAAgAiAAIAJJIgQbQQlJDQMgBA0BIAJBAnQhBkEAIAJrIQdBACACQQR0ayEIA0AgB0EEdCEJIAYEQCABIQMgBiEEA0AgAyAIaiIKKAIAIQsgCiADKAIANgIAIAMgCzYCACADQQRqIQMgBEEBayIEDQALCyABIAlqIQEgAiAAIAJrIgBNDQALDAILIAVBCGoiByABIABBBHRrIgZBCGopAgA3AwAgBSAGKQIANwMAIAJBBHQhCEEAIABrIQkgAiIBIQQDQCAGIARBBHRqIQMDQCAFQRhqIAcpAwAiDTcDACAFIAUpAwAiDjcDECAFQShqIgogA0EIaiILKQIANwMAIAUgAykCADcDICADIA43AgAgCyANNwIAIAcgCikDADcDACAFIAUpAyA3AwAgACAETUUEQCADIAhqIQMgAiAEaiEEDAELCyAEIAlqIgQEQCAEIAEgASAESxshAQwBBSAFKQMAIQ0gBkEIaiAFQQhqIgcpAwA3AgAgBiANNwIAIAFBAkkNBkEBIQQDQCAGIARBBHRqIggpAgAhDSAHIAhBCGoiCikCADcDACAFIA03AwAgAiAEaiEDA0AgBUEYaiAHKQMAIg03AwAgBSAFKQMAIg43AxAgBUEoaiILIAYgA0EEdGoiCUEIaiIMKQIANwMAIAUgCSkCADcDICAJIA43AgAgDCANNwIAIAcgCykDADcDACAFIAUpAyA3AwAgACADSwRAIAIgA2ohAwwBCyAEIAMgAGsiA0cNAAsgBSkDACENIAogBykDADcCACAIIA03AgAgBEEBaiIEIAFHDQALDAYLAAsACyAAQQJ0IQZBACAAQQR0IgdrIQgDQCAGBEAgASEDIAYhBANAIAMgCGoiCSgCACEKIAkgAygCADYCACADIAo2AgAgA0EEaiEDIARBAWsiBA0ACwsgASAHaiEBIAIgAGsiAiAATw0ACwsgAkUNAiAADQEMAgsLIAEgAEEEdCIDayIEIAJBBHQiBmohByAAIAJLBEAgBUEgaiIAIAEgBhDoARogByAEIAMQ5gEgBCAAIAYQ6AEaDAELIAVBIGoiACAEIAMQ6AEaIAQgASAGEOYBIAcgACADEOgBGgsgBUGgAWokAAvDBgIHfwN+IwBBIGsiCCQAAkACQCABKAIEIgIgASgCAEcEQCABQRRqIQcgAUEIaiEFA0AgASACQRBqNgIEAkAgAS0AFCIDQQNGBEBBBEEEEMEBIgNFDQUgAyACKAIANgIAIAhBGGoiBCACQQxqLwEAOwEAIAggAikCBDcDEAJAIActAABBA0YNACAFKAIARQ0AIAEoAgwQDwsgAUEBNgIQIAEgAzYCDCABQQE2AgggByAIKQMQNwIAIAdBCGogBC8BADsBAAwBC0EAIAUgA0EDRhsiAy0ADCEEAkACQAJAAkAgAi0ABCIGQQJGDQAgBEECRg0AIAQgBkcNAiAGRQRAIAJBBWotAAAgA0ENai0AAEYNAgwDCyACQQVqLQAAIANBDWotAABHDQIgAkEGai0AACADQQ5qLQAARw0CIAJBB2otAAAgA0EPai0AAEYNAQwCCyAGQQJHDQEgBEECRw0BCyADQRBqLQAAIQQCQAJAIAJBCGotAAAiBkECRg0AIARBAkYNACAEIAZHDQIgBkUEQCACQQlqLQAAIANBEWotAABGDQIMAwsgAkEJai0AACADQRFqLQAARw0CIAJBCmotAAAgA0ESai0AAEcNAiACQQtqLQAAIANBE2otAABGDQEMAgsgBkECRw0BIARBAkcNAQsgAkENai0AACADQRVqLQAARw0AIAJBDGotAAAgA0EUai0AAEYNAQtBBEEEEMEBIgNFDQUgAyACKAIANgIAIAAgBSkCADcCACAFQRBqKQIAIQkgBUEIaikCACEKIAJBDGovAQAhBSACKQIEIQsgAUEBNgIIIAEgAzYCDCABQQE2AhAgB0EIaiAFOwEAIAcgCzcCACAAQQhqIAo3AgAgAEEQaiAJNwIADAQLIAIoAgAhBCADKAIIIgIgAygCAEYEQCADIAIQciADKAIIIQILIAMoAgQgAkECdGogBDYCACADIAMoAghBAWo2AggLIAEoAgQiAiABKAIARw0ACwsgACABKQIINwIAIABBEGogAUEYaikCADcCACAAQQhqIAFBEGopAgA3AgAgAUEUakEDOgAACyAIQSBqJAAPC0EEQQRBqMfAACgCACIAQeAAIAAbEQIAAAvdDAIQfwF+IwBB0ABrIgIkACABQQ1qIQwgAUEYaigCACEGIAEoAhAhCCACQRVqIQ0gASgCFCEOIAJBOGpBBHIhDyACQSVqIRACQANAIAEtAAwhCSABQQI6AAwCfyAJQQJGBEACQCAGIA5GDQAgASAGQRBqIgM2AhggAkEGaiAGQQ9qLQAAOgAAIAIgBi8ADTsBBCAGLQAMIglBAkYNACAGKAIEIQcgBigCACEFIAYoAggMAgsgAEECOgAMIAFBAjoADAwDCyACQQZqIAxBAmotAAA6AAAgAiAMLwAAOwEEIAEoAgQhByABKAIAIQUgBiEDIAEoAggLIQQgDSACLwEEOwAAIA1BAmogAkEGai0AADoAACACIAk6ABQgAiAHNgIMIAIgBTYCCCACIAQ2AhBBfyAEIAhHIAQgCEsbIgZBAUcEQCAGQf8BcQRAIAJBOGohCiMAQSBrIgQkACACQQhqIgUoAgghAwJAIAUtAAwiCQ0AIAggAyAFEGRrIgYgBiAISRsiBiADSw0AIAUgBjYCCCAGIQMLAkAgAyAITQRAIApBAjoADAwBCwJAIAhFBEAgBCAFKAIAIgcQTiAFKAIEIQYgBCgCACEIIAUgBCgCBDYCBCAFQQA2AgggBSAINgIADAELIARBCGogAyAIayIDEE4gBCgCCCEHIAQoAgwhBiAFIAg2AgggBiAFKAIEIAhBBHRqIANBBHQQ6AEaIAUtAAwhCQsgBCAGNgIUIAQgBzYCECAEIAM2AhggBCAJOgAcAkAgCQ0AIARBEGoQZCIIQQFrIANPDQAgBCADIAhrIgM2AhgLIAMEQCAFQQE6AAwgCiAEKQMQNwIAIApBCGogBEEYaikDADcCAAwBCyAKQQI6AAwgB0UNACAGEA8LIARBIGokACABEKABIAFBCGogCkEIaikDADcCACABIAIpAzg3AgAgAEEIaiAFQQhqKQMANwIAIAAgAikDCDcCAAwDCyAAIAIpAwg3AgAgAEEIaiACQRBqKQMANwIADAILAkAgAyAORwRAIAEgA0EQaiIGNgIYIAMtAAwiBUECRw0BCyACQQA7AUQgAkECOgBAIAJBAjoAPCACQSA2AjggAiAIIARrNgJIIAJBCGoiASACQThqEC4gACACKQMINwIAIAJBADoAFCAAQQhqIAFBCGopAwA3AgAMAgsgAkEYaiIEQQhqIANBCGooAgA2AgAgAykCACESIBAgAy8ADTsAACAQQQJqIANBD2otAAA6AAAgAiASNwMYIAIgBToAJCACQThqIQUjAEEgayIDJAACQCACQQhqIgkoAggiByAIRgRAIAVBAToAACAFIAQpAgA3AgQgBUEMaiAEQQhqKQIANwIADAELIAggB2shBwJAAkAgCS0ADARAIAQtAAwiEUUNAQwCCyADQQA7ARQgA0ECOgAQIANBAjoADCADIAc2AhggA0EgNgIIIAkgA0EIahAuIAVBAToAACAFQQxqIARBCGopAgA3AgAgBSAEKQIANwIEDAILIAQQZCIKRQ0AIAQoAggiCyAKSQ0AIAQgCyAKazYCCAsgBCgCCCIKIAdNBEAgCSAEKAIEIgsgChB8QQAhBwJAIBENACAJQQA6AAxBASEHIAkoAggiCiAITw0AIANBADsBFCADQQI6ABAgA0ECOgAMIANBIDYCCCADIAggCms2AhggCSADQQhqEC4LIAUgBzoAACAFQRBqQQI6AAAgBCgCAEUNASALEA8MAQsCQCAEKAIIIgsgB08EQCAEKAIEIQsgAyAHNgIEIAMgCzYCAAwBCyAHIAtByKHAABDQAQALIAkgAygCACADKAIEEHwgBCgCACEJIAQoAgQiBCAKIAcQmQEgBUEQaiAROgAAIAVBDGogCiAKIAdrIgcgByAKSxs2AgAgBUEIaiAENgIAIAUgCTYCBCAFQQE6AAALIANBIGokACACLQA4RQRAIAJBMGoiAyACQRBqKQMANwMAIAIgAikDCDcDKCABEKABIAFBCGogAykDADcCACABIAIpAyg3AgAgAi0ASEECRg0BIAIoAjxFDQEgAigCQBAPDAELCyACLQBIQQJHBEAgARCgASABQQhqIA9BCGopAgA3AgAgASAPKQIANwIA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IAFBAE4EQCADKAIIRQ0CIAMoAgQiAA0BIAENAwwFCyAEQQhqQQA2AgAMBgsgAygCACAAIAIgARC3AQwECyABRQ0CCyABIAIQwQEMAgsgBCABNgIEIARBCGpBADYCAAwCCyACCyIABEAgBCAANgIEIARBCGogATYCAEEADAILIAQgATYCBCAEQQhqIAI2AgALQQELNgIAC60BAQF/AkAgAgRAAn8CQAJAAkAgAUEATgRAIAMoAghFDQIgAygCBCIEDQEgAQ0DIAIMBAsgAEEIakEANgIADAULIAMoAgAgBCACIAEQtwEMAgsgAQ0AIAIMAQsgASACEMEBCyIDBEAgACADNgIEIABBCGogATYCACAAQQA2AgAPCyAAIAE2AgQgAEEIaiACNgIADAELIAAgATYCBCAAQQhqQQA2AgALIABBATYCAAuqAQECfyMAQUBqIgIkAAJAIAEEQCABKAIAIgNBf0YNASABIANBAWo2AgAgAkEcakEBNgIAIAJBJGpBATYCACACQeiDwAA2AhggAkEANgIQIAJBBzYCLCACIAFBBGo2AiggAiACQShqNgIgIAJBMGoiAyACQRBqEBkgASABKAIAQQFrNgIAIAJBCGogAxCaASAAIAIpAwg3AwAgAkFAayQADwsQ4AEACxDhAQALzAEBAn8CQAJAIAAoAggiBSABTwRAIAAoAgQgAUEEdGohAAJAIAUgAWsiBCACTwRAIAQgAmsiBCAAIARBBHRqIAIQEgwBC0GwkcAAQSFB1JHAABBxAAsgASACaiIEIAJJDQEgBCAFSw0CIAIEQCACQQR0IQIDQCAAIAMpAgA3AgAgAEEIaiADQQhqKQIANwIAIABBEGohACACQRBrIgINAAsLDwsgASAFQYihwAAQzwEACyABIARBmKHAABDRAQALIAQgBUGYocAAENABAAuxAgECfyMAQTBrIgMkACADIAI3AwgCfwJAIAEtAAJFBEAgAkKAgICAgICAEFQNASADQRxqQQI2AgAgA0EkakEBNgIAIANBmIXAADYCGCADQQA2AhAgA0ELNgIsIAMgA0EoajYCICADIANBCGo2AigjAEFAaiIEJAAgBEEANgIIIARCgICAgBA3AwAgBEEQaiIBQQM6ACAgAUKAgICAgAQ3AhggAUEANgIQIAFBADYCCCABQaiFwAA2AgQgASAENgIAIANB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IANBCGogBEEIaikDADcCACADQSBqIQQgA0EwaiIFEHsgBSgCAARAIANBNGooAgAQDwsgBCACKQMwNwIAIARBGGogAkEwaiIFQRhqKQMANwIAIARBEGogBUEQaikDADcCACAEQQhqIAVBCGopAwA3AgAgA0EAOgC0ASAFIAMoAkgQOiADQdwAaiEEIAMoAlwEQCADQeAAaigCABAPCyAEIAIpAzA3AgAgBEEIaiACQTBqIgdBCGoiBCgCADYCACADQbABakEANgIAIANBrAFqQQI6AAAgA0ECOgCoASADQfwAakEBOgAAIANCADcCdCADQQA6ALkBIANBgIAENgC1ASADQgA3AlAgA0GkAWpBgICACDYCACADQaABakECOgAAIANBnAFqQQI6AAAgA0GYAWpBADYCACADQZABakKAgIAINwIAIANBjAFqQQI6AAAgA0GIAWpBAjoAACADQgA3AoABIAMgAygCTCIFQQFrNgJYIAJBCGogBRBsIARBADYCACACIAIpAwg3AzAgByAFQQEQTyACQRhqIgUgBCgCADYCACACIAIpAzA3AxAgA0HoAGohBCADKAJoBEAgA0HsAGooAgAQDwsgBCACKQMQNwIAIARBCGogBSgCADYCACADQQA6ALsBIAJB0ABqJAAMAQsCQAJAIARBKGsOAgABAgsgA0EAOgCyAQwBCyACQTBGBEAgA0EBOgCzAQwBCyADQQA6ALMBCwwECyADIAIQJQwDCyAGQQA6ABgCQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAZBFGooAgAiBEUEQCACQUBqDjYBAgMSBAUGHxYHCAkKCyAgDCAgDQ4gIA8QIBEgICAgIB8SEyAUFRYXGCAgIB4dICAgIBwbGhkgCyAGQRBqKAIAQQAgBBshBAJAAkACQAJAIAJB7ABrDgUBIyMjAwALIAJB6ABGDQEMIgsgBCgCAEE/Rw0hIAYoAggiAgRAIAYoAgQhBSACQQF0IQQgA0GoAWohAiADQYgBaiEHA0ACQAJAIAUvAQAiCEGWCE0EQAJAAkACQAJAIAhBBmsOAgECAAsgCEEZRg0CIAhBL0YNBAwFCyADQQA6ALkBIANCADcCdCADQQA6ALYBDAQLIANBADoAtwEMAwsg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CyAHQQFrDAsLIAdBA0kNDCADIAItAAQ6AKkBIANBADoAqAEMBAsgB0EFSQ0AIAItAAQhBCACLwEGIQogCSACLwEIOgAAIANBAToAqAEgAyAEIApBCHRyOwCpAQwCCyACQQRqIQQgB0ECawwICyACLQAEIQQgAi8BBiEKIAggAi8BCDoAACADQQE6AKwBIAMgBCAKQQh0cjsArQELIAJBCmohBCAHQQVrDAYLIAJBBmohBCAHQQNrDAULIANBADoAqAEgAyAEQdIAazoAqQEMAwsgA0EAOgCsASADIARBKGs6AK0BDAILIANBADoAqAEgAyAKOgCpAQwBCyADIAU6ALABCyACQQJqIQQgB0EBawshByAEIQIgBw0ACwsMAgsgBigCCCICRQ0BIAYoAgQhBCACQQF0IQIDQAJAAkAgBC8BACIFQQRHBEAgBUEURg0BDAILIANBADoAtQEMAQsgA0EAOgC4AQsgBEECaiEEIAJBAmsiAg0ACwwBCyADQQA6ALkBIAMgBigCBEHIm8AAIAYoAggbLwEAIgJBASACG0EBayICIAMoAkgiBEEBayACIARJGzYCdAsMAgsgBkEKOgAYDAELIAZBCzoAGAsgASATRw0ACwsgBkE4ai0AAARAIwBBIGsiASQAAkACQAJAIAMoAgBFDQAgAygCBCICIANBGGooAgAiBCADKAIMayIFTw0AIAUgAmsiAiAESw0BIANBADYCGCABIANBEGo2AhggASACNgIQIAEgBCACazYCFCABIANBFGooAgAiBDYCDCABIAQgAkEEdGo2AgggAUEIahAqCyABQSBqJAAMAQsgAiAEQbCVwAAQ0AEACyAGQQA6ADgLIwBBEGsiASQAIANB8ABqKAIAIQggA0HsAGooAgAhCSABQQA2AgggASAJNgIEIAEgCCAJajYCACMAQTBrIgYkACABKAIEIQIgASgCACEFAkACQANAIAIgBUYNASABIAJBAWoiBDYCBCABIAEoAggiB0EBajYCCCACLQAAIAQhAkUNAAsgBkEIaiECQRBBBBDBASIERQRAQRBBBEGox8AAKAIAIgBB4AAgABsRAgAACyACIAQ2AgQgAkEENgIAIAYoAgghBCAGKAIMIgUgBzYCACAGQRBqIgJBCGoiCkEBNgIAIAYgBTYCFCAGIAQ2AhAgBkEgaiIEQQhqIAFBCGoo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3wEAC18BAn8jAEEgayICJAAgACgCACEDIAJBCGoiAEEQaiABQRBqKQIANwMAIABBCGogAUEIaikCADcDACACIAEpAgA3AwggAiADNgIEIAJBBGpB4InAACAAEBYgAkEgaiQAC18BAn8jAEEgayICJAAgACgCACEDIAJBCGoiAEEQaiABQRBqKQIANwMAIABBCGogAUEIaikCADcDACACIAEpAgA3AwggAiADNgIEIAJBBGpBxKfAACAAEBYgAkEgaiQAC18BAn8jAEEgayICJAAgACgCACEDIAJBCGoiAEEQaiABQRBqKQIANwMAIABBCGogAUEIaikCADcDACACIAEpAgA3AwggAiADNgIEIAJBBGpB3KfAACAAEBYgAkEgaiQAC18BAn8jAEEgayICJAAgACgCACEDIAJBCGoiAEEQaiABQRBqKQIANwMAIABBCGogAUEIaikCADcDACACIAEpAgA3AwggAiADNgIEIAJBBGpBkKrAACAAEBYgAkEgaiQAC18BAn8jAEEgayICJAAgACgCACEDIAJBCGoiAEEQaiABQRBqKQIANwMAIABBCGogAUEIaikCADcDACACIAEpAgA3AwggAiADNgIEIAJBBGpB3LHAACAAEBYgAkEgaiQAC3sBAX8jAEEQayICJAAgAiAAQRxqNgIMIAFB7JnAAEEGQfKZwABBBSAAQRBqQfiZwABBiJrAAEEEIABBCGpBjJrAAEGcmsAAQQQgAEEMakGMmsAAQaCawABBECAAQbCawABBwJrAAEELIAJBDGpBzJrAABAvIAJBEGokAAuFAgIEfwF+IwBBIGsiAyQAIANBHGogAkEIai8AADsBACADIAIpAAA3AhQgA0EIaiABEE4gAykDCCEHIABBADYCCCAAIAc3AgAgA0EgNgIQIANBEGohBSABIAAoAgAgACgCCCICa0sEQCAAIAIgARB1IAAoAgghAgsgACgCBCACQQR0aiEEIAFBAk8EQCABQQFrIQYDQCAEIAUpAgA3AgAgBEEIaiAFQQhqKQIANwIAIARBEGohBCAGQQFrIgYNAAsgASACakEBayECCyAAIAEEQCAEIAUpAgA3AgAgBEEIaiAFQQhqKQIANwIAIAJBAWohAgsgAjYCCCAAQQA6AAwgA0EgaiQAC3sBAX8jAEEQayICJAAgAiAAQRNqNgIMIAFBnKPAAEEIQaSjwABBCiAAQbCjwABBwKPAAEEKIABBBGpBsKPAAEHKo8AAQQMgAEEIakHQo8AAQeCjwABBCyAAQRJqQeyjwABB/KPAAEEOIAJBDGpBjKTAABAvIAJBEGokAAtYAQF/IwBBIGsiAiQAIAIgADYCBCACQQhqIgBBEGogAUEQaikCADcDACAAQQhqIAFBCGopAgA3AwAgAiABKQIANwMIIAJBBGpB4InAACAAEBYgAkEgaiQAC6MBAQV/IAAoAggiAkUEQEEADwsgACgCBEEQayEFIAJBBHQhACACQQFrQf////8AcUEBaiECAkADQEEAIQQCQCAAIAVqIgEoAgBBIEcNACABLQAEQQJHDQAgAUEIai0AAEECRw0AIAFBDWotAAANACABQQxqLQAAIgFBD3ENACABQRBxRSEECyAERQ0BIANBAWohAyAAQRBrIgANAAsgAiEDCyADC1gBAX8jAEEgayICJAAgAiAANgIEIAJBCGoiAEEQaiABQRBqKQIANwMAIABBCGogAUEIaikCADcDACACIAEpAgA3AwggAkEEakHEp8AAIAAQFiACQSBqJAALWAEBfyMAQSBrIgIkACACIAA2AgQgAkEIaiIAQRBqIAFBEGopAgA3AwAgAEEIaiABQQhqKQIANwMAIAIgASkCADcDCCACQQRqQdyxwAAgABAWIAJBIGokAAvzBAEHfyMAQRBrIgYkACAGQQhqIAEgAkECEFUCfyAGKAIIBEBBASECIAYoAgwMAQsjAEEgayIFJAAgASICKAIIIQEgAkEANgIIAn8CQAJAIAEEQCAFIAJBDGooAgAiATYCFCAFQQhqIQkgAigCECEKIwBB0ABrIgQkAAJAIAMtAABFBEAgBCADLQABuBACNgIEIARBADYCACAEKAIEIQMgBCgCACEHDAELIARBIGoiB0EMakEENgIAIAdBFGpBAzYCACAEQThqIghBFGpBCjYCACAIQQxqQQo2AgAgBEHMhMAANgIoIARBADYCICAEIANBA2o2AkggBCADQQJqNgJAIARBCjYCPCAEIANBAWo2AjggBCAINgIwIARBEGoiCCAHEBkgBEEIaiAKIAQoAhQgBCgCGBC4ASAEKAIMIQMgBCgCCCEHIAgQrQELIAkgBzYCACAJIAM2AgQgBEHQAGokACAFKAIMIQMCQAJAIAUoAghFBEAgBSADNgIYIAIoAgBFBEAgAkEEaiAFQRRqIAVBGGoQvwEiAkGEAU8EQCACEAALIAUoAhgiAkGEAU8EQCACEAALIAUoAhQiAkGEAUkNAyACEAAMAwsgBSABNgIcIAVBHGoQzAEhASAFKAIcIQQgAQ0BEEshASAEQYQBTwRAIAQQAAsgA0GEAUkNBSADEAAMBQsgAUGEAUkNAyABEAAMAwsgAkEEaiAEIAMQygELQQAMAwtB+ILAAEEVEN8BAAsgAyEBC0EBCyECIAYgATYCBCAGIAI2AgAgBUEgaiQAIAYoAgAhAiAGKAIECyEBIAAgAjYCACAAIAE2AgQgBkEQaiQAC5YDAQN/IwBBEGsiBCQAIARBCGogASACIAMQVSAAIgYCfyAEKAIIBEAgBCgCDCEDQQEMAQsjAEEgayIDJAAgASgCCCEAIAFBADYCCAJ/AkACQCAABEAgAyABQQxqKAIAIgA2AhQgASgCEBogA0EIaiICQYIBQYMBQZmEwAAtAAAbNgIEIAJBADYCACADKAIMIQICQAJAIAMoAghFBEAgAyACNgIYIAEoAgBFBEAgAUEEaiADQRRqIANBGGoQvwEiAUGEAU8EQCABEAALIAMoAhgiAUGEAU8EQCABEAALIAMoAhQiAUGEAUkNAyABEAAMAwsgAyAANgIcIANBHGoQzAEhACADKAIcIQUgAA0BEEshACAFQYQBTwRAIAUQAAsgAkGEAUkNBSACEAAMBQsgAEGEAUkNAyAAEAAMAwsgAUEEaiAFIAIQygELQQAMAwtB+ILAAEEVEN8BAAsgAiEAC0EBCyEBIAQgADYCBCAEIAE2AgAgA0EgaiQAIAQoAgQhAyAEKAIACzYCACAGIAM2AgQgBEEQaiQAC2IBA38jAEEQayIDJAAgASgCBCEEIANBCGogASgCCCACNQIAEEAgAygCDCECIAMoAggiBUUEQCABIAQgAhDLASABIAEoAgRBAWo2AgQLIAAgBTYCACAAIAI2AgQgA0EQaiQAC14BAX8CQCAAQfgAaigCACIBIAAoAlhHBEAgASAAKAJMQQFrTw0BIABBADoAuQEgACABQQFqNgJ4IAAgACgCdCIBIAAoAkhBAWsiACAAIAFLGzYCdA8LIABBARCbAQsLigIBA38jAEEQayIDJAAgAyAAQQhqNgIMIwBBEGsiAiQAIAEoAgBBtojAAEEDIAEoAgQoAgwRAQAhBCACQQA6AA0gAiAEOgAMIAIgATYCCCACQQhqQbmIwABBCiAAQcSIwAAQHkHUiMAAQQogAEEEakHEiMAAEB5B3ojAAEEJIABBCWpB6IjAABAeQfiIwABBBSADQQxqQYCJwAAQHiEBAn8gAi0ADCIEQQBHIAItAA1FDQAaQQEgBA0AGiABKAIAIgAtABhBBHFFBEAgACgCAEHbr8AAQQIgACgCBCgCDBEBAAwBCyAAKAIAQdqvwABBASAAKAIEKAIMEQEACyACQRBqJAAgA0EQaiQAC1IBAn8CQCABRQRAQQEhAgwBCyABQQBOIgMEQCABIAMQwQEiAg0BIAEgA0Gox8AAKAIAIgBB4AAgABsRAgAACxCIAQALIAAgAjYCBCAAIAE2AgALUAEBfwJAIAEgAk0EQCAAKAIIIgMgAkkNASABIAJHBEAgACgCBCABakEBIAIgAWsQ5wELDwsgASACQdiTwAAQ0QEACyACIANB2JPAABDQAQALsgIBC38jAEEwayIDJAAgA0ECOgAMIANBAjoACCADQQA7ARAgA0EYaiIEIAIgA0EIahBhIAMgATYCKCMAQRBrIgckACAAQRBqIgYoAgghAAJAAkAgBCgCECIIIAYoAgAgAGtLBEAgBiAAIAgQdSAEKAIEIQkgBCgCACELDAELIAQoAgQhCSAEKAIAIQsgCEUNAQsgBCgCCCIMQQR0IQ0gBigCBCAGKAIIIgpBBHRqIQUgBC0ADCECA0AgB0EIaiAMEE4gBygCCCEBIAcoAgwgCSANEOgBIQAgBUEMaiACOgAAIAVBCGogDDYCACAFQQRqIAA2AgAgBSABNgIAIAVBEGohBSAKQQFqIQogCEEBayIIDQALIAYgCjYCCAsgCwRAIAkQDwsgB0EQaiQAIANBMGokAAtZAQF/IwBBEGsiAiQAIAIgAEEMajYCDCABQcqbwABBBkHQm8AAQQUgAEEYakHYm8AAQeibwABBBiAAQfCbwABBgJzAAEENIAJBDGpBkJzAABA5IAJBEGokAAtZAQF/IwBBEGsiAiQAIAIgAEEIajYCDCABQbCkwABBBkG2pMAAQQMgAEGwo8AAQbmkwABBAyAAQQRqQbCjwABBvKTAAEEHIAJBDGpBjKTAABA5IAJBEGokAAtSAQF/IwBBIGsiAyQAIANBDGpBATYCACADQRRqQQA2AgAgA0G8rcAANgIQIANBADYCACADIAE2AhwgAyAANgIYIAMgA0EYajYCCCADIAIQjgEAC1gBAX8jAEEQayICJAAgAkEIaiAAIAEQMAJAIAIoAgwiAEGBgICAeEcEQCAARQ0BIAIoAgggAEGox8AAKAIAIgBB4AAgABsRAgAACyACQRBqJAAPCxCIAQALWgEBfyMAQRBrIgIkACACQQhqIAAgAUEBEDQCQCACKAIMIgBBgYCAgHhHBEAgAEUNASACKAIIIABBqMfAACgCACIAQeAAIAAbEQIAAAsgAkEQaiQADwsQiAEAC5YCAQd/IwBBEGsiAyQAIwBBIGsiAiQAIANBCGoiBgJ/QQAgASABQQFqIgFLDQAaIAAoAgAiB0EBdCIEIAEgASAESRsiAUEEIAFBBEsbIgVBAXQhASAFQYCAgIAESUEBdCEIAkAgBwRAIAJBAjYCGCACIAQ2AhQgAiAAKAIENgIQDAELIAJBADYCGAsgAiABIAggAkEQahA8IAIoAgQhASACKAIABEAgAkEIaigCAAwBCyAAIAU2AgAgACABNgIEQYGAgIB4CzYCBCAGIAE2AgAgAkEgaiQAAkAgAygCDCIAQYGAgIB4RwRAIABFDQEgAygCCCAAQajHwAAoAgAiAEHgACAAGxECAAALIANBEGokAA8LEIgBAAuZAgEFfyMAQRBrIgQkACMAQSBrIgMkACAEQQhqIgYCf0EAIAEgAmoiAiABSQ0AGiAAKAIAIgFBAXQiBSACIAIgBUkbIgJBBCACQQRLGyIFQQR0IQIgBUGAgIDAAElBAnQhBwJAIAEEQCADIAAoAgQ2AhAgA0EENgIYIAMgAUEEdDYCFAwBCyADQQA2AhgLIAMgAiAHIANBEGoQPCADKAIEIQIgAygCAARAIANBCGooAgAMAQsgACAFNgIAIAAgAjYCBEGBgICAeAs2AgQgBiACNgIAIANBIGokAAJAIAQoAgwiAEGBgICAeEcEQCAARQ0BIAQoAgggAEGox8AAKAIAIgBB4AAgABsRAgAACyAEQRBqJAAPCxCIAQALWgEBfyMAQRBrIgMkACADQQhqIAAgASACEDQCQCADKAIMIgBBgYCAgHhHBEAgAEUNASADKAIIIABBqMfAACgCACIAQeAAIAAbEQIAAAsgA0EQaiQADwsQiAEAC0ABAX8jAEEQayIDJAAgA0EIaiAAEIABIAEgAygCDCIASQRAIAMoAgggA0EQaiQAIAFBBHRqDwsgASAAIAIQUwALWAEBfyMAQRBrIgIkAAJ/IAAoAgBFBEAgASgCAEGgosAAQQQgASgCBCgCDBEBAAwBCyACIABBBGo2AgwgAUGMosAAQQQgAkEMakGQosAAEDcLIAJBEGokAAtXAQF/IwBBEGsiAiQAAn8gAC0AAEECRgRAIAEoAgBBoKLAAEEEIAEoAgQoAgwRAQAMAQsgAiAANgIMIAFBjKLAAEEEIAJBDGpBpKLAABA3CyACQRBqJAAL0xgCGH8CfgJAIAAEQCAAKAIAIgJBf0YNASAAIAJBAWo2AgAjAEFAaiIJJAAjAEEQayICJAAgAkEIaiAAQSBqEH8CQCACKAIMIgQgAUsEQCACKAIIIAJBEGokACABQQR0aiECDAELIAEgBEGAi8AAEFMACyAJQSBqIgFBFGpBAzoAACABIAIoAgQiBDYCBCABIAQgAigCCEEEdGo2AgAgCUEQaiILIQgjAEFAaiICJAAgAkEgaiABEBMCQCACLQAsQQNGBEAgCEEANgIIIAhCgICAgMAANwIAIAFBCGoQtQEMAQsgAkEIaiEEQeAAQQQQwQEiBUUEQEHgAEEEQajHwAAoAgAiAEHgACAAGxECAAALIAQgBTYCBCAEQQQ2AgAgAkEgaiIHQQhqIgYpAwAhGiAHQRBqIgMpAwAhGyACKAIIIQwgAigCDCIEIAIpAyA3AgAgBEEQaiAbNwIAIARBCGogGjcCACACQRBqIgVBCGoiD0EBNgIAIAIgBDYCFCACIAw2AhAgB0EYaiABQRhqKQIANwMAIAMgAUEQaikCADcDACAGIAFBCGopAgA3AwAgAiABKQIANwMgIwBBIGsiBiQAIAZBCGogBxATIAYtABRBA0cEQANAIAUoAggiDCAFKAIARgRAAkAjAEEQayINJAAjAEEgayIEJAAgDUEIaiIQAn9BACAMIAxBAWoiA0sNABogBSgCACIOQQF0IgogAyADIApJGyIDQQQgA0EESxsiCkEYbCEDIApB1qrVKklBAnQhEQJAIA4EQCAEQQQ2AhggBCAOQRhsNgIUIAQgBSgCBDYCEAwBCyAEQQA2AhgLIAQgAyARIARBEGoQPCAEKAIEIQMgBCgCAARAIARBCGooAgAMAQsgBSAKNgIAIAUgAzYCBEGBgICAeAs2AgQgECADNgIAIARBIGokAAJAIA0oAgwiBEGBgICAeEcEQCAERQ0BIA0oAgggBEGox8AAKAIAIgBB4AAgABsRAgAACyANQRBqJAAMAQsQiAEACwsgBkEIaiIEQQhqKQMAIRogBEEQaikDACEbIAUoAgQgDEEYbGoiAyAGKQMINwIAIANBEGogGzcCACADQQhqIBo3AgAgBSAMQQFqNgIIIAQgBxATIAYtABRBA0cNAAsLIAZBCGoQtQEgB0EIahC1ASAGQSBqJAAgCEEIaiAPKAIANgIAIAggAikDEDcCAAsgAkFAayQAIAlBADsBICAJQQA6ACIgCUEIaiEPIwBBMGsiBiQAIAsoAgQhCCAGQSBqIAEgCygCCCIBELMBAn8CQAJAIAYoAigEQCAGQRhqIAZBKGooAgA2AgAgBiAGKQMgNwMQIAFBGGwhDgNAIA5FDQMgDkEYayEOIAYgCDYCICAIQRhqIQggBkEIaiEQIwBBEGsiDCQAIAZBEGoiDSgCBCEVIAxBCGohESAGQSBqKAIAIQsgDSgCCCEBIwBB0ABrIgUkACAFQUBrIAEQtAEgBSgCQCEBAkACQAJAIAUoAkgiAkUNACAFIAI2AiggBSAFKAJENgIkIAUgATYCICALKAIEIgIgCygCCEECdGohCiAFQTBqIgFBADYCCCABQoCAgIAQNwIAIAogAmtBAnYiByABKAIAIAEoAggiBGtLBEAgASAEIAcQdgsjAEEQayIHJAAgAiAKRwRAA0AgAkEEaiEEAkAgAigCACIDQf8ATQRAIAEoAggiAiABKAIARgRAIAEgAhBzIAEoAgghAgsgAiABKAIEaiADOgAAIAEgASgCCEEBajYCCAwBCyAHQQA2AgwgASAHQQxqAn8gA0GAEE8EQCADQYCABE8EQCAHIANBP3FBgAFyOgAPIAcgA0ESdkHwAXI6AAwgByADQQZ2QT9xQYABcjoADiAHIANBDHZBP3FBgAFyOgANQQQMAgsgByADQT9xQYABcjoADiAHIANBDHZB4AFyOgAMIAcgA0EGdkE/cUGAAXI6AA1BAwwBCyAHIANBP3FBgAFyOgANIAcgA0EGdkHAAXI6AAxBAgsQhwELIAogBCICRw0ACwsgB0EQaiQAIAVBGGohByMAQRBrIgIkACAFQSBqIgQoAgQhAyACQQhqIAQoAgggASgCBCABKAIIELgBIAIoAgwhASACKAIIIgpFBEAgBCADIAEQywEgBCAEKAIEQQFqNgIECyAHIAo2AgAgByABNgIEIAJBEGokAAJ/IAUoAhgEQCAFKAIcDAELIAVBEGohCiMAQRBrIgQkACAFQSBqIgcoAgQhFiAEQQhqIRMgBygCCCEUIwBBkAFrIgEkACABQfgAaiEDIAtBDGoiAi0ACCILQQFxIAItAAAiF0ECRyISQQJBASASGyACLQAEIhhBAkYbaiALQQJxQQF2aiACLQAJIhlBAWtBAklqGkEAIQsCfyAULQABRQRAEAcMAQtBASELEAgLIRIgAyAUNgIQIANBADYCCCADIBI2AgQgAyALNgIAAn8CQAJAAkAgASgCeCIDQQJHBEAgAUHgAGogAUGIAWooAgA2AgAgASABKAJ8NgJUIAEgAzYCUCABIAEpA4ABNwNYIBdBAkYNASABIAIoAAA2AnggAUHIAGogAUHQAGpBkITAACABQfgAahBnIAEoAkhFDQEgASgCTCECDAILIAEoAnwhAgwCCwJAIBhBAkYNACABIAIoAAQ2AnggAUFAayABQdAAakGShMAAIAFB+ABqEGcgASgCQEUNACABKAJEIQIMAQsCQAJAAkAgGUEBaw4CAAECCyABQTBqIAFB0ABqQZqEwABBBBBoIAEoAjBFDQEgASgCNCECDAILIAFBOGogAUHQAGpBlITAAEEFEGggASgCOEUNACABKAI8IQIMAQsCQCACLQAIQQFxRQ0AIAFBKGogAUHQAGpBnoTAAEEGEGggASgCKEUNACABKAIsIQIMAQsCQCACLQAIQQJxQQF2RQ0AIAFBIGogAUHQAGpBpITAAEEJEGggASgCIEUNACABKAIkIQIMAQsCQCACLQAIQQRxQQJ2RQ0AIAFBGGogAUHQAGpBrYTAAEENEGggASgCGEUNACABKAIcIQIMAQsCQCACLQAIQQhxQQN2RQ0AIAFBEGogAUHQAGpBuoTAAEEFEGggASgCEEUNACABKAIUIQIMAQsCQCACLQAIQRBxQQR2RQ0AIAFBCGogAUHQAGpBv4TAAEEHEGggASgCCEUNACABKAIMIQIMAQsgAUH4AGoiAkEQaiABQdAAaiIDQRBqKAIANgIAIAJBCGogA0EIaikDADcDACABIAEpA1A3A3ggAigCBCEDAkAgAigCCEUNACACQQxqKAIAIgJBhAFJDQAgAhAACyABIAM2AgQgAUEANgIAIAEoAgQhAiABKAIADAILIAEoAlQiA0GEAU8EQCADEAALIAEoAlhFDQAgAUHcAGooAgAiA0GEAUkNACADEAALQQELIQMgEyACNgIEIBMgAzYCACABQZABaiQAIAQoAgwhASAEKAIIIgJFBEAgByAWIAEQywEgByAHKAIEQQFqNgIECyAKIAI2AgAgCiABNgIEIARBEGokACAFKAIQRQ0CIAUoAhQLIQEgBUEwahCtASAFKAIgIgJBhAFJDQAgAhAAC0EBIQIMAQsgBUFAayIBQQhqIAVBKGooAgA2AgAgBSAFKQMgNwNAIAVBCGoiAiABKAIANgIEIAJBADYCACAFKAIMIQEgBSgCCCECIAVBMGoQrQELIBEgATYCBCARIAI2AgAgBUHQAGokACAMKAIMIQEgDCgCCCICRQRAIA0gFSABEMsBIA0gDSgCBEEBajYCBAsgECACNgIAIBAgATYCBCAMQRBqJAAgBigCCEUNAAsgBigCDCEIIAYoAhAiAUGEAUkNASABEAAMAQsgBigCICEIC0EBDAELIAZBIGoiAUEIaiAGQRhqKAIANgIAIAYgBikDEDcDICAGIAEoAgA2AgQgBkEANgIAIAYoAgQhCCAGKAIACyEBIA8gCDYCBCAPIAE2AgAgBkEwaiQAIAkoAgwhAQJAIAkoAghFBEAgCUEQaiIEKAIIIgIEQCAEKAIEIQgDQCAIEK0BIAhBGGohCCACQQFrIgINAAsLIAkoAhAEQCAJKAIUEA8LIAlBQGskAAwBCyAJIAE2AiBBkIPAAEErIAlBIGpBvIPAAEHwg8AAEEoACyAAIAAoAgBBAWs2AgAgAQ8LEOABAAsQ4QEACzoBAX8gACgCCCIBBEAgACgCBCEAA0AgACgCAARAIABBBGooAgAQDwsgAEEQaiEAIAFBAWsiAQ0ACwsLRgEBfyACIAAoAgAgACgCCCIDa0sEQCAAIAMgAhB1IAAoAgghAwsgACgCBCADQQR0aiABIAJBBHQQ6AEaIAAgAiADajYCCAtLACABIAAgAkHElsAAEHciACgCCCICTwRAIAEgAkH4oMAAEFMACyAAKAIEIAFBBHRqIgAgAykCADcCACAAQQhqIANBCGopAgA3AgALygQBB38CQCAABEAgACgCACICQX9GDQEgACACQQFqNgIAIwBBMGsiBCQAIARBIGoiAUEIaiAAQQRqIgJBmAFqKAIANgIAIAEgAkGQAWopAgA3AgAgBEEQaiICIAEtAAgEfyACIAEpAgA3AgRBAQVBAAs2AgAjAEEgayIDJAAgA0EAOwEYIANBADoAGiAEQQhqIQYCfyACKAIARQRAIANBCGoiAkEANgIAIAJBgQFBgAEgA0EYai0AABs2AgQgAygCDCEBIAMoAggMAQsgA0EQaiEHIAJBBGohAiMAQUBqIgEkACABQTBqIANBGGoQtAECfwJAAkACfwJAIAEoAjgEQCABQSBqIgVBCGogAUE4aigCADYCACABIAEpAzA3AyAgAUEYaiAFIAIQaSABKAIYRQ0BIAEoAhwMAgsgASgCMCECDAMLIAFBEGogAUEgaiACQQRqEGkgASgCEEUNASABKAIUCyECIAEoAiAiBUGEAUkNASAFEAAMAQsgAUEwaiICQQhqIAFBKGooAgA2AgAgASABKQMgNwMwIAFBCGoiBSACKAIANgIEIAVBADYCACABKAIMIQIgASgCCAwBC0EBCyEFIAcgAjYCBCAHIAU2AgAgAUFAayQAIAMoAhQhASADKAIQCyECIAYgATYCBCAGIAI2AgAgA0EgaiQAIAQoAgwhAiAEKAIIBEAgBCACNgIgQZCDwABBKyAEQSBqQbyDwABBgITAABBKAAsgBEEwaiQAIAAgACgCAEEBazYCACACDwsQ4AEACxDhAQALRwEDfyABQRhqKAIAIgIgASgCDCIDayEEIAIgA0kEQCAEIAJB9JjAABDPAQALIAAgAzYCBCAAIAFBFGooAgAgBEEEdGo2AgALRwEDfyABQRhqKAIAIgIgASgCDCIDayEEIAIgA0kEQCAEIAJBhJnAABDPAQALIAAgAzYCBCAAIAFBFGooAgAgBEEEdGo2AgALSQEBfyAAKAIAIgAoAgghAyACIAAoAgAgA2tLBEAgACADIAIQMSAAKAIIIQMLIAAoAgQgA2ogASACEOgBGiAAIAIgA2o2AghBAAtJAQF/IAAoAgAiACgCCCEDIAIgACgCACADa0sEQCAAIAMgAhAyIAAoAgghAwsgACgCBCADaiABIAIQ6AEaIAAgAiADajYCCEEAC00BAX8jAEEQayICJAAgAiAAKAIAIgBBDGo2AgwgAUHYocAAQQRB3KHAAEEFIABB5KHAAEH0ocAAQQcgAkEMakH8ocAAEDsgAkEQaiQAC58BAQR/IwBBEGsiAiQAIAIgATYCDCACIAAoAgQgACgCCCACQQxqEEEgAigCAEEBRgRAIAIoAgQhBCAAKAIIIgMgACgCAEYEQCAAIAMQcgsgACgCBCAEQQJ0aiEFAkAgAyAETQRAIAMgBEYNASAEIAMQUgALIAVBBGogBSADIARrQQJ0EOYBCyAFIAE2AgAgACADQQFqNgIICyACQRBqJAAL+gEBA38jAEEQayICJAAgAiABNgIMIAIgACgCBCAAKAIIIAJBDGoQQSACKAIARQRAAkAgAigCBCIBIAAoAggiA0kEQCAAKAIEIAFBAnRqIgQoAgAaIAQgBEEEaiADIAFBf3NqQQJ0EOYBIAAgA0EBazYCCAwBCyMAQTBrIgAkACAAIAM2AgQgACABNgIAIABBCGoiAUEMakEDNgIAIABBHGpBAjYCACAAQSBqIgJBDGpB3wA2AgAgAEH4rMAANgIQIABBADYCCCAAQd8ANgIkIAAgAjYCGCAAIABBBGo2AiggACAANgIgIAFBjKPAABCOAQALCyACQRBqJAALSAEBfyMAQRBrIgIkACACIABBHGo2AgwgAUG0lMAAQQJBtpTAAEEGIABBvJTAAEHMlMAAQQggAkEMakHUlMAAEDsgAkEQaiQAC0ABAX8gAiAAKAIAIAAoAggiA2tLBEAgACADIAIQdiAAKAIIIQMLIAAoAgQgA2ogASACEOgBGiAAIAIgA2o2AggLSgEBfyMAQSBrIgAkACAAQRRqQQE2AgAgAEEcakEANgIAIABB2KrAADYCECAAQaiqwAA2AhggAEEANgIIIABBCGpB4KrAABCOAQAL8gEBAn8jAEEQayIDJAAgAyAAKAIAIgBBBGo2AgwjAEEQayICJAAgAiABKAIAQeiTwABBBCABKAIEKAIMEQEAOgAIIAIgATYCBCACQQA6AAkgAkEANgIAIAIgAEHsk8AAECMgA0EMakH8k8AAECMhAAJ/IAItAAgiAUEARyAAKAIAIgBFDQAaQQEgAQ0AGiACKAIEIQECQCAAQQFHDQAgAi0ACUUNACABLQAYQQRxDQBBASABKAIAQeCvwABBASABKAIEKAIMEQEADQEaCyABKAIAQbytwABBASABKAIEKAIMEQEACyACQRBqJAAgA0EQaiQACyMAIAAoAgAEQCAAKAIEEA8LIAAoAgwEQCAAQRBqKAIAEA8LC1YBAn8gASgCBCECIAEoAgAhA0EIQQQQwQEiAUUEQEEIQQRBqMfAACgCACIAQeAAIAAbEQIAAAsgASACNgIEIAEgAzYCACAAQcipwAA2AgQgACABNgIACzkAAkACfyACQYCAxABHBEBBASAAIAIgASgCEBEAAA0BGgsgAw0BQQALDwsgACADIAQgASgCDBEBAAv3BAEIfyMAQeABayIGJAAjAEEgayIHJAAgB0EIaiIEQQA6ABAgBEEANgIIIARC0ICAgIADNwIAIAQgATYCBCAEIAA2AgAgBCACQQBHOgAQIARBATYCCCAEQQxqIgEgAzYCACAGQQhqIgoiABBIIABBADoAGCAAQRRqQQA2AgAgAEKAgICAwAA3AgwgBCgCACEDIAQoAgQhAiAEKAIIIQggASgCACEJIAQtABAhBCMAQTBrIgEkACAAQRxqIgAgAyACIAggCUEAECwgAEEgaiADIAJBAUEAQQAQLCABQQhqIAIQbCABQSBqIgVBCGoiC0EANgIAIAEgASkDCDcDICAFIAJBARBPIAFBGGoiBSALKAIANgIAIAEgASkDIDcDECAAQdwAaiADEDogAEGsAWpBAjoAACAAQQI6AKgBIABB/ABqQQE6AAAgAEIANwJ0IABBjAFqQQI6AAAgAEGIAWpBAjoAACAAQaABakECOgAAIABBnAFqQQI6AAAgAEGQAWpBgICACDYCACAAQgA3AoABIABBpAFqQYCAgAg2AgAgAEIANwKUASAAIAM2AkggACACNgJMIABBADoAtAEgACAINgJAIABBxABqIAk2AgAgAEGwAWpBADYCACAAQQA6ALkBIABBgIAENgC1ASAAQgA3AlAgACACQQFrNgJYIABBADoAuwEgACAEOgC6ASAAIAEpAxA3AmggAEHwAGogBSgCADYCACABQTBqJAAgB0EgaiQAQdwBQQQQwQEiAEUEQEHcAUEEQajHwAAoAgAiAEHgACAAGxECAAALIABBADYCACAAQQRqIApB2AEQ6AEaIAZB4AFqJAAgAAu9AgECfyMAQSBrIgIkACACQQE6ABggAiABNgIUIAIgADYCECACQcCtwAA2AgwgAkG8rcAANgIIIwBB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ATYCACADBEAgA0ECdCEBA0AgACACNgIMIAAgAEEMakGkpcAAENQBIAJBBGohAiABQQRrIgENAAsLIAAtAAQEf0EBBSAAKAIAIgEoAgBB4q/AAEEBIAFBBGooAgAoAgwRAQALIABBEGokAAutAQEDfyAAKAIAIgAoAgQhAiAAKAIIIQMjAEEQayIAJAAgASgCAEG9rcAAQQEgASgCBCgCDBEBACEEIABBADoABSAAIAQ6AAQgACABNgIAIAMEQANAIAAgAjYCDCAAIABBDGpBhKXAABDUASACQQFqIQIgA0EBayIDDQALCyAALQAEBH9BAQUgACgCACIBKAIAQeKvwABBASABQQRqKAIAKAIMEQEACyAAQRBqJAALtAEBA38gACgCACIAKAIEIQIgACgCCCEDIwBBEGsiACQAIAEoAgBBva3AAEEBIAEoAgQoAgwRAQAhBCAAQQA6AAUgACAEOgAEIAAgATYCACADBEAgA0ECdCEBA0AgACACNgIMIAAgAEEMakGUpcAAENQBIAJBBGohAiABQQRrIgENAAsLIAAtAAQEf0EBBSAAKAIAIgEoAgBB4q/AAEEBIAFBBGooAgAoAgwRAQALIABBEGokAAsLACABBEAgABAPCwsZACABKAIAQYDAwABBBSABKAIEKAIMEQEACxMAIAAoAgAgASgCACACKAIAEAsLFAAgACgCACABIAAoAgQoAgwRAAALCAAgACABEBoLEAAgACgCACABIAIQhwFBAAuvAQEDfyAAKAIEIQIgACgCCCEDIwBBEGsiACQAIAEoAgBBva3AAEEBIAEoAgQoAgwRAQAhBCAAQQA6AAUgACAEOgAEIAAgATYCACADBEAgA0EEdCEBA0AgACACNgIMIAAgAEEMakHUpMAAENQBIAJBEGohAiABQRBrIgENAAsLIAAtAAQEf0EBBSAAKAIAIgEoAgBB4q/AAEEBIAFBBGooAgAoAgwRAQALIABBEGokAAuvAQEDfyAAKAIEIQIgACgCCCEDIwBBEGsiACQAIAEoAgBBva3AAEEBIAEoAgQoAgwRAQAhBCAAQQA6AAUgACAEOgAEIAAgATYCACADBEAgA0EEdCEBA0AgACACNgIMIAAgAEEMakHkpMAAENQBIAJBEGohAiABQRBrIgENAAsLIAAtAAQEf0EBBSAAKAIAIgEoAgBB4q/AAEEBIAFBBGooAgAoAgwRAQALIABBEGokAAsRACAAKAIEIAAoAgggARDkAQsTACAAQcipwAA2AgQgACABNgIACxAAIAEgACgCACAAKAIEEBALEAAgASgCACABKAIEIAAQFgsNACAAIAEgAhCHAUEACw0AIAAoAgAgASACEAULDQAgACgCACABIAIQCgsMACAAKAIAEAlBAUYLoAQBBX8gACgCACEDIwBBEGsiBCQAAkAgAUH/AE0EQCADKAIIIgIgAygCAEYEQCMAQSBrIgAkAAJAAkAgAkEBaiICRQ0AIAMoAgAiBUEBdCIGIAIgAiAGSRsiAkEIIAJBCEsbIgJBf3NBH3YhBgJAIAUEQCAAQQE2AhggACAFNgIUIAAgA0EEaigCADYCEAwBCyAAQQA2AhgLIAAgAiAGIABBEGoQOCAAKAIEIQUgACgCAEUEQCADIAI2AgAgAyAFNgIEDAILIABBCGooAgAiAkGBgICAeEYNASACRQ0AIAUgAkGox8AAKAIAIgBB4AAgABsRAgAACxCIAQALIABBIGokACADKAIIIQILIAMgAkEBajYCCCADKAIEIAJqIAE6AAAMAQsgBEEANgIMAn8gAUGAEE8EQCABQYCABE8EQCAEIAFBP3FBgAFyOgAPIAQgAUEGdkE/cUGAAXI6AA4gBCABQQx2QT9xQYABcjoADSAEIAFBEnZBB3FB8AFyOgAMQQQMAgsgBCABQT9xQYABcjoADiAEIAFBDHZB4AFyOgAMIAQgAUEGdkE/cUGAAXI6AA1BAwwBCyAEIAFBP3FBgAFyOgANIAQgAUEGdkHAAXI6AAxBAgshACAAIAMoAgAgAygCCCICa0sEQCADIAIgABAyIAMoAgghAgsgAygCBCACaiAEQQxqIAAQ6AEaIAMgACACajYCCAsgBEEQaiQAQQALDgAgACgCABoDQAwACwALfQEBfyMAQTBrIgMkACADIAE2AgQgAyAANgIAIANBCGoiAEEMakECNgIAIANBHGpBAjYCACADQSBqIgFBDGpB3wA2AgAgA0Ggs8AANgIQIANBADYCCCADQd8ANgIkIAMgATYCGCADIANBBGo2AiggAyADNgIgIAAgAhCOAQALfQEBfyMAQTBrIgMkACADIAE2AgQgAyAANgIAIANBCGoiAEEMakECNgIAIANBHGpBAjYCACADQSBqIgFBDGpB3wA2AgAgA0HAs8AANgIQIANBADYCCCADQd8ANgIkIAMgATYCGCADIANBBGo2AiggAyADNgIgIAAgAhCOAQALfQEBfyMAQTBrIgMkACADIAE2AgQgAyAANgIAIANBCGoiAEEMakECNgIAIANBHGpBAjYCACADQSBqIgFBDGpB3wA2AgAgA0H0s8AANgIQIANBADYCCCADQd8ANgIkIAMgATYCGCADIANBBGo2AiggAyADNgIgIAAgAhCOAQALCwAgADUCACABECELCwAgADEAACABECELyQICBH8CfiMAQUBqIgMkAEEBIQUCQCAALQAEDQAgAC0ABSEFAkACQAJAIAAoAgAiBCgCGCIGQQRxRQRAIAUNAQwDCyAFDQFBASEFIAQoAgBB4a/AAEEBIAQoAgQoAgwRAQANAyAEKAIYIQYMAQtBASEFIAQoAgBB1a/AAEECIAQoAgQoAgwRAQBFDQEMAgtBASEFIANBAToAFyADQbSvwAA2AhwgAyAEKQIANwMIIAMgA0EXajYCECAEKQIIIQcgBCkCECEIIAMgBC0AIDoAOCADIAQoAhw2AjQgAyAGNgIwIAMgCDcDKCADIAc3AyAgAyADQQhqNgIYIAEgA0EYaiACKAIMEQAADQEgAygCGEHTr8AAQQIgAygCHCgCDBEBACEFDAELIAEgBCACKAIMEQAAIQULIABBAToABSAAIAU6AAQgA0FAayQACw0AIAAoAgAgASACEBwLCwAgACkDACABECELCwAgACMAaiQAIwALBwAgABCtAQvpAQEFfyAAKAIAIQIjAEFAaiIAJAAgAEIANwM4IABBOGogAigCABAMIABBFGpBAjYCACAAQRxqQQE2AgAgACAAKAI8IgI2AjAgACAAKAI4NgIsIAAgAjYCKCAAQdoANgIkIABBwKXAADYCECAAQQA2AgggACAAQShqIgQ2AiAgACAAQSBqNgIYIwBBIGsiAiQAIAEoAgQhBSABKAIAIAJBCGoiAUEQaiAAQQhqIgNBEGopAgA3AwAgAUEIaiADQQhqKQIANwMAIAIgAykCADcDCCAFIAEQFiACQSBqJAAgBBCtASAAQUBrJAALCwAgACgCACABEGsLYAEBfyAAKAIAIQAjAEEQayICJAAgAiAAQQJqNgIMIAFBuInAAEEDQbuJwABBASAAQbyJwABBzInAAEEBIABB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QQsNAEKy+KXLheeH1Jt/CwwAQuLnycndnOOADQsDAAELC4xHAQBBgIDAAAuCR1RyaWVkIHRvIHNocmluayB0byBhIGxhcmdlciBjYXBhY2l0eQAAEAAkAAAAL3J1c3RjLzkwYzU0MTgwNmYyM2ExMjcwMDJkZTViNDAzOGJlNzMxYmExNDU4Y2EvbGlicmFyeS9hbGxvYy9zcmMvcmF3X3ZlYy5ycywAEABMAAAArgEAAAkAAABNYXAga2V5IGlzIG5vdCBhIHN0cmluZyBhbmQgY2Fubm90IGJlIGFuIG9iamVjdCBrZXkAAQAAAAwAAAAEAAAAAgAAAAMAAAAEAAAAYSBEaXNwbGF5IGltcGxlbWVudGF0aW9uIHJldHVybmVkIGFuIGVycm9yIHVuZXhwZWN0ZWRseQAFAAAAAAAAAAEAAAAGAAAAL3J1c3RjLzkwYzU0MTgwNmYyM2ExMjcwMDJkZTViNDAzOGJlNzMxYmExNDU4Y2EvbGlicmFyeS9hbGxvYy9zcmMvc3RyaW5nLnJzABwBEABLAAAA3QkAAA4AAABgdW53cmFwX3Rocm93YCBmYWlsZWQAAABjYWxsZWQgYFJlc3VsdDo6dW53cmFwKClgIG9uIGFuIGBFcnJgIHZhbHVlAAgAAAAEAAAABAAAAAkAAABzcmMvbGliLnJzAADMARAACgAAAB0AAAAwAAAAkAEQAAAAAADMARAACgAAACwAAAAtAAAAzAEQAAoAAAAyAAAALwAAAGZnYmdmYWludAFib2xkaXRhbGljdW5kZXJsaW5lc3RyaWtldGhyb3VnaGJsaW5raW52ZXJzZXJnYigsKUYCEAAEAAAASgIQAAEAAABKAhAAAQAAAEsCEAABAAAAIGNhbid0IGJlIHJlcHJlc2VudGVkIGFzIGEgSmF2YVNjcmlwdCBudW1iZXJsAhAAAAAAAGwCEAAsAAAADAAAAAwAAAAEAAAADQAAAA4AAAAPAAAAYSBEaXNwbGF5IGltcGxlbWVudGF0aW9uIHJldHVybmVkIGFuIGVycm9yIHVuZXhwZWN0ZWRseQAQAAAAAAAAAAEAAAAGAAAAL3J1c3RjLzkwYzU0MTgwNmYyM2ExMjcwMDJkZTViNDAzOGJlNzMxYmExNDU4Y2EvbGlicmFyeS9hbGxvYy9zcmMvc3RyaW5nLnJzAAgDEABLAAAA3QkAAA4AAABFcnJvcgAAABAAAAAEAAAABAAAABEAAABUcmllZCB0byBzaHJpbmsgdG8gYSBsYXJnZXIgY2FwYWNpdHl8AxAAJAAAAC9ydXN0Yy85MGM1NDE4MDZmMjNhMTI3MDAyZGU1YjQwMzhiZTczMWJhMTQ1OGNhL2xpYnJhcnkvYWxsb2Mvc3JjL3Jhd192ZWMucnOoAxAATAAAAK4BAAAJAAAAY2xvc3VyZSBpbnZva2VkIHJlY3Vyc2l2ZWx5IG9yIGFmdGVyIGJlaW5nIGRyb3BwZWRQZW5mb3JlZ3JvdW5kAB4AAAAEAAAAAQAAAB8AAABiYWNrZ3JvdW5kaW50ZW5zaXR5AB4AAAABAAAAAQAAACAAAABhdHRycwAAAB4AAAAEAAAABAAAACEAAABGYWludEJvbGROb3JtYWwABgAAAAQAAAAFAAAAmQQQAJUEEACQBBAAUkdCciIAAAABAAAAAQAAACMAAABnYgAAIgAAAAQAAAAEAAAAIQAAACQAAAAEAAAABAAAACUAAAAmAAAAJwAAAFJHQgAkAAAABAAAAAQAAAAoAAAASW5kZXhlZAAkAAAABAAAAAQAAAAhAAAAL2hvbWUvbWFyY2luLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvYXZ0LTAuOS4wL3NyYy90ZXJtaW5hbC5ycwAkBRAAWwAAAHABAAAKAAAAJAUQAFsAAACnAQAAEQAAACQFEABbAAAA5gIAABgAAABjb2xzcm93c2J1ZmZlcm90aGVyX2J1ZmZlcmFjdGl2ZV9idWZmZXJfdHlwZXNjcm9sbGJhY2tfbGltaXRjdXJzb3JwZW5jaGFyc2V0c2FjdGl2ZV9jaGFyc2V0dGFic2luc2VydF9tb2Rlb3JpZ2luX21vZGVhdXRvX3dyYXBfbW9kZW5ld19saW5lX21vZGVuZXh0X3ByaW50X3dyYXBzdG9wX21hcmdpbmJvdHRvbV9tYXJnaW5zYXZlZF9jdHhhbHRlcm5hdGVfc2F2ZWRfY3R4ZGlydHlfbGluZXNyZXNpemFibGVyZXNpemVkAACwBRAABAAAALQFEAAEAAAAuAUQAAYAAAC+BRAADAAAAMoFEAASAAAA3AUQABAAAADsBRAABgAAAPIF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AABFAAAAcGFyYW1zAABGAAAADAAAAAQAAABHAAAAaW50ZXJtZWRpYXRlcwAAAEQAAAAEAAAABAAAAEgAAABTb3NQbUFwY1N0cmluZ09zY1N0cmluZ0Rjc0lnbm9yZURjc1Bhc3N0aHJvdWdoRGNzSW50ZXJtZWRpYXRlRGNzUGFyYW1EY3NFbnRyeUNzaUlnbm9yZUNzaUludGVybWVkaWF0ZUNzaVBhcmFtQ3NpRW50cnlFc2NhcGVJbnRlcm1lZGlhdGVFc2NhcGVHcm91bmRQYXJhbXMAAABEAAAABAAAAAQAAABJAAAASW50ZXJtZWRpYXRlcwAAAEQAAAAEAAAABAAAAEoAAAAGAAAABgAAABIAAAAIAAAACAAAAA8AAAAJAAAACAAAAAgAAAAPAAAADgAAAAkAAAAJAAAADgAAAK0OEACnDhAAlQ4QAI0OEACFDhAAdg4QAG0OEABlDhAAXQ4QAE4OEABADhAANw4QAC4OEAAgDhAAYXNzZXJ0aW9uIGZhaWxlZDogbWlkIDw9IHNlbGYubGVuKCkvcnVzdGMvOTBjNTQxODA2ZjIzYTEyNzAwMmRlNWI0MDM4YmU3MzFiYTE0NThjYS9saWJyYXJ5L2NvcmUvc3JjL3NsaWNlL21vZC5yc38PEABNAAAAKwwAAAkAAABhc3NlcnRpb24gZmFpbGVkOiBrIDw9IHNlbGYubGVuKCkAAAB/DxAATQAAAFYMAAAJAAAAL2hvbWUvbWFyY2luLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvYXZ0LTAuOS4wL3NyYy9saW5lLnJzABAQEABXAAAAFwAAAAkAAAAQEBAAVwAAABsAAAAJAAAAEBAQAFcAAAAfAAAACQAAABAQEABXAAAAIAAAAAkAAAAQEBAAVwAAACQAAAAJAAAAEBAQAFcAAAAmAAAACQAAABAQEABXAAAAOwAAACAAAABMaW5lY2VsbHMAAABLAAAADAAAAAQAAABMAAAAd3JhcHBlZABNAAAABAAAAAQAAAA4AAAAU29tZU4AAAAEAAAABAAAAE8AAABOb25lTgAAAAQAAAAEAAAAUAAAAC9ob21lL21hcmNpbi8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02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");function SA(A){return"number"==typeof A?A:"string"==typeof A?A.split(":").reverse().map(parseFloat).reduce(((A,g,I)=>A+g*Math.pow(60,I))):void 0}class LA{constructor(){let A=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;this.speed=A,this.startTime=performance.now()}getTime(){return this.speed*(performance.now()-this.startTime)/1e3}setTime(A){this.startTime=performance.now()-A/this.speed*1e3}}class KA{constructor(){}getTime(A){}setTime(A){}}const UA=(async()=>(await fA(pA),RA))();class HA{constructor(A){this.core=A,this.driver=A.driver}onEnter(A){}init(){}play(){}pause(){}togglePlay(){}seek(A){return!1}step(){}stop(){this.driver.stop()}}class mA extends HA{async init(){try{return await this.core.initializeDriver(),this.core.setState("stopped")}catch(A){throw this.core.setState("errored"),A}}async play(){this.core.dispatchEvent("play");const A=await this.init();return await A.doPlay()}togglePlay(){return this.play()}async seek(A){const g=await this.init();return await g.seek(A)}async step(){const A=await this.init();return await A.step()}stop(){}}class bA extends HA{onEnter(A){let{reason:g,message:I}=A;this.core.dispatchEvent("stopped",{message:I}),"paused"===g?this.core.dispatchEvent("pause"):"ended"===g&&this.core.dispatchEvent("ended")}play(){return this.core.dispatchEvent("play"),this.doPlay()}async doPlay(){const A=await this.driver.play();!0===A?this.core.setState("playing"):"function"==typeof A&&(this.core.setState("playing"),this.driver.stop=A)}togglePlay(){return this.play()}seek(A){return this.driver.seek(A)}step(){this.driver.step()}}class vA extends HA{onEnter(){this.core.dispatchEvent("playing")}pause(){!0===this.driver.pause()&&this.core.setState("stopped",{reason:"paused"})}togglePlay(){return this.pause()}seek(A){return this.driver.seek(A)}}class qA extends HA{onEnter(){this.core.dispatchEvent("loading")}}class xA extends HA{onEnter(){this.core.dispatchEvent("offline")}}class TA extends HA{onEnter(){this.core.dispatchEvent("errored")}}class jA{constructor(A,g){this.logger=g.logger,this.state=new mA(this),this.stateName="uninitialized",this.driver=null,this.driverFn=A,this.changedLines=new Set,this.cursor=void 0,this.duration=void 0,this.cols=g.cols,this.rows=g.rows,this.speed=g.speed??1,this.loop=g.loop,this.idleTimeLimit=g.idleTimeLimit,this.preload=g.preload,this.startAt=SA(g.startAt),this.poster=this.parsePoster(g.poster),this.markers=this.normalizeMarkers(g.markers),this.pauseOnMarkers=g.pauseOnMarkers,this.commandQueue=Promise.resolve(),this.eventHandlers=new Map([["marker",[]],["ended",[]],["errored",[]],["init",[]],["input",[]],["loading",[]],["offline",[]],["pause",[]],["play",[]],["playing",[]],["reset",[]],["resize",[]],["seeked",[]],["stopped",[]],["terminalUpdate",[]]])}addEventListener(A,g){this.eventHandlers.get(A).push(g)}dispatchEvent(A){let g=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};for(const I of this.eventHandlers.get(A))I(g)}async init(){this.wasm=await UA;const A=this.feed.bind(this),g=this.now.bind(this),I=this.resetVt.bind(this),B=this.setState.bind(this),Q="npt"===this.poster.type?this.poster.value:void 0;this.driver=this.driverFn({feed:A,onInput:A=>{this.dispatchEvent("input",{data:A})},onMarker:A=>{let{index:g,time:I,label:B}=A;this.dispatchEvent("marker",{index:g,time:I,label:B})},reset:I,now:g,setTimeout:(A,g)=>window.setTimeout(A,g/this.speed),setInterval:(A,g)=>window.setInterval(A,g/this.speed),setState:B,logger:this.logger},{cols:this.cols,rows:this.rows,idleTimeLimit:this.idleTimeLimit,startAt:this.startAt,loop:this.loop,posterTime:Q,markers:this.markers,pauseOnMarkers:this.pauseOnMarkers}),"function"==typeof this.driver&&(this.driver={play:this.driver}),(this.preload||void 0!==Q)&&this.withState((A=>A.init()));const C="text"===this.poster.type?this.renderPoster(this.poster.value):void 0,E={isPausable:!!this.driver.pause,isSeekable:!!this.driver.seek,poster:C};if(void 0===this.driver.init&&(this.driver.init=()=>({})),void 0===this.driver.pause&&(this.driver.pause=()=>{}),void 0===this.driver.seek&&(this.driver.seek=A=>!1),void 0===this.driver.step&&(this.driver.step=()=>{}),void 0===this.driver.stop&&(this.driver.stop=()=>{}),void 0===this.driver.getCurrentTime){const A=this.driver.play;let g=new KA;this.driver.play=()=>(g=new LA(this.speed),A()),this.driver.getCurrentTime=()=>g.getTime()}return E}play(){return this.withState((A=>A.play()))}pause(){return this.withState((A=>A.pause()))}togglePlay(){return this.withState((A=>A.togglePlay()))}seek(A){return this.withState((async g=>{await g.seek(A)&&this.dispatchEvent("seeked")}))}step(){return this.withState((A=>A.step()))}stop(){return this.withState((A=>A.stop()))}withState(A){return this.enqueueCommand((()=>A(this.state)))}enqueueCommand(A){return this.commandQueue=this.commandQueue.then(A),this.commandQueue}getChangedLines(){if(this.changedLines.size>0){const A=new Map,g=this.vt.rows;for(const I of this.changedLines)I 1&&void 0!==arguments[1]?arguments[1]:{};if(this.stateName===A)return this.state;if(this.stateName=A,"playing"===A)this.state=new vA(this);else if("stopped"===A)this.state=new bA(this);else if("loading"===A)this.state=new qA(this);else if("offline"===A)this.state=new xA(this);else{if("errored"!==A)throw`invalid state: ${A}`;this.state=new TA(this)}return this.state.onEnter(g),this.state}feed(A){this.doFeed(A),this.dispatchEvent("terminalUpdate")}doFeed(A){const[g,I]=this.vt.feed(A);if(g.forEach((A=>this.changedLines.add(A))),this.cursor=void 0,I){const[A,g]=this.vt.get_size();this.vt.cols=A,this.vt.rows=g,this.logger.debug(`core: vt resize (${A}x${g})`),this.dispatchEvent("resize",{cols:A,rows:g})}}now(){return performance.now()*this.speed}async initializeDriver(){const A=await this.driver.init();this.cols=this.cols??A.cols??80,this.rows=this.rows??A.rows??24,this.duration=this.duration??A.duration,this.markers=this.normalizeMarkers(A.markers)??this.markers??[],0===this.cols&&(this.cols=80),0===this.rows&&(this.rows=24),this.initializeVt(this.cols,this.rows);const g=void 0!==A.poster?this.renderPoster(A.poster):void 0;this.dispatchEvent("init",{cols:this.cols,rows:this.rows,duration:this.duration,markers:this.markers,theme:A.theme,poster:g})}resetVt(A,g){let I=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0,B=arguments.length>3&&void 0!==arguments[3]?arguments[3]:void 0;this.cols=A,this.rows=g,this.cursor=void 0,this.initializeVt(A,g),void 0!==I&&""!==I&&this.doFeed(I),this.dispatchEvent("reset",{cols:A,rows:g,theme:B})}initializeVt(A,g){this.logger.debug(`core: vt init (${A}x${g})`),this.vt=this.wasm.create(A,g,!0,100),this.vt.cols=A,this.vt.rows=g,this.changedLines.clear();for(let A=0;A B.feed(A)));const Q=B.get_cursor()??!1,C=[];for(let A=0;A"number"==typeof A?[A,""]:A))}}const WA=Symbol("store-raw"),ZA=Symbol("store-node"),XA=Symbol("store-name");function OA(A,g){let B=A[I];if(!B&&(Object.defineProperty(A,I,{value:B=new Proxy(A,gg)}),!Array.isArray(A))){const g=Object.keys(A),I=Object.getOwnPropertyDescriptors(A);for(let Q=0,C=g.length;Q !0,deleteProperty:()=>!0,ownKeys:function(A){return $A(A),Reflect.ownKeys(A)},getOwnPropertyDescriptor:function(A,g){const B=Reflect.getOwnPropertyDescriptor(A,g);return B&&!B.get&&B.configurable&&g!==I&&g!==ZA&&g!==XA?(delete B.value,delete B.writable,B.get=()=>A[I][g],B):B}};function Ig(A,g,I,B=!1){if(!B&&A[g]===I)return;const Q=A[g],C=A.length;void 0===I?delete A[g]:A[g]=I;let E,e=PA(A);(E=_A(e,g,Q))&&E.$((()=>I)),Array.isArray(A)&&A.length!==C&&(E=_A(e,"length",C))&&E.$(A.length),(E=e._)&&E.$()}function Bg(A,g){const I=Object.keys(g);for(let B=0;B 1){B=g.shift();const C=typeof B,E=Array.isArray(A);if(Array.isArray(B)){for(let Q=0;Q 1)return void Qg(A[B],g,[B].concat(I));Q=A[B],I=[B].concat(I)}let C=g[0];"function"==typeof C&&(C=C(Q,I),C===Q)||void 0===B&&null==C||(C=VA(C),void 0===B||zA(Q)&&zA(C)&&!Array.isArray(C)?Bg(Q,C):Ig(A,B,C))}function Cg(...[A,g]){const I=VA(A||{}),B=Array.isArray(I);return[OA(I),function(...A){h((()=>{B&&1===A.length?function(A,g){if("function"==typeof g&&(g=g(A)),g=VA(g),Array.isArray(g)){if(A===g)return;let I=0,B=g.length;for(;I=E&&t>=E&&(C[e]===A[t]||Q&&C[E]&&A[E]&&C[e][Q]===A[t][Q]);e--,t--)n[t]=C[e];if(E>t||E>e){for(I=E;I<=t;I++)Ig(C,I,A[I]);for(;I A.length&&Ig(C,"length",A.length))}for(o=new Array(t+1),I=t;I>=E;I--)i=A[I],s=Q&&i?i[Q]:i,g=r.get(s),o[I]=void 0===g?-1:g,r.set(s,I);for(g=E;g<=e;g++)i=C[g],s=Q&&i?i[Q]:i,I=r.get(s),void 0!==I&&-1!==I&&(n[I]=C[g],I=o[I],r.set(s,I));for(I=E;I A.length&&Ig(C,"length",A.length))}const E=Object.keys(A);for(let g=0,I=E.length;g{if(!zA(A)||!zA(Q))return Q;const g=eg(Q,{[Eg]:A},Eg,I,B);return void 0===g?A:g}}const ig=O("");var og=A=>(()=>{const g=ig.cloneNode(!0);return AA(g,(()=>A.text)),w((I=>{const B=function(A,g){const I=A.get("inverse")?A.has("bg")?A.get("bg"):"bg":A.get("fg"),B=A.get("inverse")?A.has("fg")?A.get("fg"):"fg":A.get("bg"),Q=sg(I,A.get("bold"),"fg-"),C=sg(B,A.get("blink"),"bg-");let E=g??"";Q&&(E+=" "+Q);C&&(E+=" "+C);A.has("bold")&&(E+=" ap-bright");A.has("faint")&&(E+=" ap-faint");A.has("italic")&&(E+=" ap-italic");A.has("underline")&&(E+=" ap-underline");A.has("blink")&&(E+=" ap-blink");return E}(A.attrs,A.extraClass),Q=function(A){const g=A.get("inverse")?A.get("bg"):A.get("fg"),I=A.get("inverse")?A.get("fg"):A.get("bg");let B={};"string"==typeof g&&(B.color=g);"string"==typeof I&&(B["background-color"]=I);return B}(A.attrs);return B!==I._v$&&V(g,I._v$=B),I._v$2=_(g,Q,I._v$2),I}),{_v$:void 0,_v$2:void 0}),g})();function sg(A,g,I){return"number"==typeof A?(g&&A<8&&(A+=8),`${I}${A}`):"fg"==A||"bg"==A?`${I}${A}`:void 0}const ng=O('');var rg=A=>(()=>{const g=ng.cloneNode(!0);return AA(g,v(x,{get each(){return(()=>{if("number"==typeof A.cursor){const g=[];let I=0,B=0;for(;B 0&&g.push([Q[0].substring(0,e),Q[1]]),g.push([Q[0][e],C," ap-cursor-a"]),g.push([Q[0][e],E," ap-cursor-b"]),e v(og,{get text(){return A()[0]},get attrs(){return A()[1]},get extraClass(){return A()[2]}})})),w((()=>g.style.setProperty("height",A.height))),g})();const ag=O('');var cg=A=>{const g=()=>A.lineHeight??1.3333333333,I=y((()=>({width:`${A.cols}ch`,height:g()*A.rows+"em","font-size":100*(A.scale||1)+"%","font-family":A.fontFamily,"line-height":`${g()}em`})));return(()=>{const B=ag.cloneNode(!0),Q=A.ref;return"function"==typeof Q?$(Q,B):A.ref=B,AA(B,v(q,{get each(){return A.lines},children:(I,B)=>v(rg,{get segments(){return I.segments},get cursor(){return y((()=>B()===A.cursor?.[1]))()?A.cursor?.[0]:null},get height(){return`${g()}em`}})})),w((g=>{const Q=!(!A.blink&&!A.cursorHold),C=!!A.blink,E=I();return Q!==g._v$&&B.classList.toggle("ap-cursor",g._v$=Q),C!==g._v$2&&B.classList.toggle("ap-blink",g._v$2=C),g._v$3=_(B,E,g._v$3),g}),{_v$:void 0,_v$2:void 0,_v$3:void 0}),B})()};const Dg=O(''),wg=O(''),yg=O(''),hg=O('');function kg(A){let g=Math.floor(A);const I=Math.floor(g/86400);g%=86400;const B=Math.floor(g/3600);g%=3600;const Q=Math.floor(g/60);return g%=60,I>0?`${Ng(I)}:${Ng(B)}:${Ng(Q)}:${Ng(g)}`:B>0?`${Ng(B)}:${Ng(Q)}:${Ng(g)}`:`${Ng(Q)}:${Ng(g)}`}function Ng(A){return A<10?`0${A}`:A.toString()}var Mg=A=>{const g=A=>g=>{g.preventDefault(),A(g)},I=()=>"number"==typeof A.currentTime?kg(A.currentTime):"--:--",B=()=>"number"==typeof A.remainingTime?"-"+kg(A.remainingTime):I(),Q=y((()=>"number"==typeof A.duration?A.markers.filter((g=>g[0]'),lg=O(' '),Gg=O('{const g=A.currentTarget.offsetWidth,I=A.currentTarget.getBoundingClientRect(),B=A.clientX-I.left;return 100*Math.max(0,B/g)+"%"},[E,e]=D(!1),t=function(A,g){let I=!0;return function(){if(I){I=!1;for(var B=arguments.length,Q=new Array(B),C=0;CI=!0),g)}}}(A.onSeekClick,50),i=g=>{g.altKey||g.shiftKey||g.metaKey||g.ctrlKey||0!==g.button||(e(!0),A.onSeekClick(C(g)))},o=A=>{A.altKey||A.shiftKey||A.metaKey||A.ctrlKey||E()&&t(C(A))},s=()=>{e(!1)},n=g((A=>{A.stopPropagation()}));return document.addEventListener("mouseup",s),k((()=>{document.removeEventListener("mouseup",s)})),(()=>{const C=lg.cloneNode(!0),E=C.firstChild,e=E.firstChild,t=e.nextSibling,s=E.nextSibling,r=A.ref;return"function"==typeof r?$(r,C):A.ref=C,AA(C,v(T,{get when(){return A.isPausable},get children(){const I=yg.cloneNode(!0);return P(I,"click",g(A.onPlayClick),!0),AA(I,v(j,{get children(){return[v(W,{get when(){return A.isPlaying},get children(){return Dg.cloneNode(!0)}}),v(W,{get when(){return!A.isPlaying},get children(){return wg.cloneNode(!0)}})]}})),I}}),E),AA(e,I),AA(t,B),AA(C,v(T,{get when(){return"number"==typeof A.progress||A.isSeekable},get children(){const I=hg.cloneNode(!0),B=I.firstChild,C=B.firstChild.firstChild;return B.$$mousemove=o,B.$$mousedown=i,AA(B,v(q,{get each(){return Q()},children:(I,B)=>(()=>{const Q=Gg.cloneNode(!0),C=Q.firstChild,E=C.nextSibling;var e;return P(Q,"mousedown",n,!0),P(Q,"click",(e=B(),g((()=>{A.onSeekClick({marker:e})}))),!0),AA(E,(()=>(A=>""===A[1]?kg(A[0]):`${kg(A[0])} - ${A[1]}`)(I))),w((g=>{const B=(g=>g[0]/A.duration*100+"%")(I),E=!!(g=>"number"==typeof A.currentTime&&g[0]<=A.currentTime)(I);return B!==g._v$&&Q.style.setProperty("left",g._v$=B),E!==g._v$2&&C.classList.toggle("ap-marker-past",g._v$2=E),g}),{_v$:void 0,_v$2:void 0}),Q})()}),null),w((g=>_(C,{width:"100%",transform:`scaleX(${A.progress||0}`,"transform-origin":"left center"},g))),I}}),s),P(s,"click",g(A.onFullscreenClick),!0),w((()=>C.classList.toggle("ap-seekable",!!A.isSeekable))),C})()};z(["click","mousedown","mousemove"]);const ug=O(' ');var Fg=A=>ug.cloneNode(!0);const dg=O(' ');var fg=A=>dg.cloneNode(!0);const Rg=O(' ');var Jg=A=>(()=>{const g=Rg.cloneNode(!0),I=g.firstChild;return AA(I,(()=>A.message)),w((g=>_(I,{"font-family":A.fontFamily},g))),g})();const Yg=O(' ');var pg=A=>(()=>{const g=Yg.cloneNode(!0);var I;return P(g,"click",(I=A.onClick,A=>{A.preventDefault(),I(A)}),!0),g})();z(["click"]);const Sg=O('');var Lg=A=>{const g=A.logger,I=A.core,B=A.autoPlay,[Q,C]=Cg({lines:[],cursor:void 0,charW:A.charW,charH:A.charH,bordersW:A.bordersW,bordersH:A.bordersH,containerW:0,containerH:0,isPausable:!0,isSeekable:!0,isFullscreen:!1,currentTime:null,remainingTime:null,progress:null,blink:!0,cursorHold:!1}),[E,e]=D(!1),[t,i]=D(B?null:"start"),[o,s]=D(null),[n,r]=D({cols:A.cols,rows:A.rows}),[a,c]=D(void 0),[l,N]=Cg([]),[M,u]=D(!1),[F,d]=D(void 0),f=()=>n().cols||80,R=()=>n().rows||24,J=()=>!1===A.controls?0:32;let Y,p,S,L,K,U,H,m,b;function q(){iA(),EA(),eA()}function x(A){A.rows{let{cols:g,rows:I,duration:B,theme:Q,poster:C,markers:E}=A;x({cols:g,rows:I}),c(B),d(Q),N(E),Z(C)})),I.addEventListener("play",(()=>{i(null)})),I.addEventListener("playing",(()=>{e(!0),i(null),O(),tA(),CA()})),I.addEventListener("stopped",(A=>{let{message:g}=A;e(!1),q(),void 0!==g&&(s(g),i("info"))})),I.addEventListener("loading",(()=>{e(!1),q(),i("loader")})),I.addEventListener("offline",(()=>{e(!1),q(),s("Stream offline"),i("info")})),I.addEventListener("errored",(()=>{i("error")})),I.addEventListener("resize",x),I.addEventListener("reset",(A=>{let{cols:g,rows:I,theme:B}=A;x({cols:g,rows:I}),d(B),O()})),I.addEventListener("seeked",(()=>{eA()})),I.addEventListener("terminalUpdate",(()=>{void 0===Y&&(Y=requestAnimationFrame(O))}));const X=()=>{b=new ResizeObserver(function(A,g){let I;return function(){for(var B=arguments.length,Q=new Array(B),C=0;CA.apply(this,Q)),g)}}((A=>{C({containerW:K.offsetWidth,containerH:K.offsetHeight}),K.dispatchEvent(new CustomEvent("resize",{detail:{el:U}}))}),10)),b.observe(K)};G((async()=>{g.info("player mounted"),g.debug("font measurements",{charW:Q.charW,charH:Q.charH}),X();const{isPausable:A,isSeekable:E,poster:e}=await I.init();C({isPausable:A,isSeekable:E,containerW:K.offsetWidth,containerH:K.offsetHeight}),Z(e),B&&I.play()})),k((()=>{I.stop(),iA(),EA(),b.disconnect()}));const O=()=>{const A=I.getChangedLines();A&&h((()=>{A.forEach(((A,g)=>{C("lines",g,tg(A))}))})),C("cursor",tg(I.getCursor())),C("cursorHold",!0),Y=void 0},z=y((()=>{g.debug(`containerW = ${Q.containerW}`);const I=Q.charW*f()+Q.bordersW,B=Q.charH*R()+Q.bordersH;let C=A.fit??"width";if("both"===C||Q.isFullscreen){C=Q.containerW/(Q.containerH-J())>I/B?"height":"width"}if(!1===C||"none"===C)return{};if("width"===C){const A=Q.containerW/I;return{scale:A,width:Q.containerW,height:B*A+J()}}if("height"===C){const A=(Q.containerH-J())/B;return{scale:A,width:I*A,height:Q.containerH}}throw`unsupported fit mode: ${C}`})),P=()=>{C("isFullscreen",document.fullscreenElement??document.webkitFullscreenElement)},gA=()=>{Q.isFullscreen?(document.exitFullscreen??document.webkitExitFullscreen??(()=>{})).apply(document):(K.requestFullscreen??K.webkitRequestFullscreen??(()=>{})).apply(K)},IA=A=>{if(!(A.altKey||A.metaKey||A.ctrlKey)){if(A.shiftKey){if("ArrowLeft"==A.key)I.seek("<<<");else{if("ArrowRight"!=A.key)return;I.seek(">>>")}return A.stopPropagation(),void A.preventDefault()}if(" "==A.key)I.togglePlay();else if("."==A.key)I.step(),eA();else if("f"==A.key)gA();else if("ArrowLeft"==A.key)I.seek("<<");else if("ArrowRight"==A.key)I.seek(">>");else if("["==A.key)I.seek({marker:"prev"});else if("]"==A.key)I.seek({marker:"next"});else{if(!(A.key.charCodeAt(0)>=48&&A.key.charCodeAt(0)<=57))return;{const g=(A.key.charCodeAt(0)-48)/10;I.seek(100*g+"%")}}A.stopPropagation(),A.preventDefault()}},BA=()=>{Q.isFullscreen&&oA(!0)},QA=()=>{Q.isFullscreen||oA(!1)},CA=()=>{S=setInterval(eA,100)},EA=()=>{clearInterval(S)},eA=()=>{const A=I.getCurrentTime(),g=I.getRemainingTime(),B=I.getProgress();C({currentTime:A,remainingTime:g,progress:B})},tA=()=>{L=setInterval((()=>{C((A=>{const g={blink:!A.blink};return g.blink&&(g.cursorHold=!1),g}))}),500)},iA=()=>{clearInterval(L),C("blink",!0)},oA=A=>{clearTimeout(p),A&&(p=setTimeout((()=>oA(!1)),2e3)),u(A)},sA=(()=>{const g=Sg.cloneNode(!0),B=g.firstChild;"function"==typeof K?$(K,g):K=g,g.addEventListener("webkitfullscreenchange",P),g.addEventListener("fullscreenchange",P),g.$$mousemove=BA,g.$$keydown=IA,g.addEventListener("keypress",IA);return"function"==typeof U?$(U,B):U=B,B.$$mousemove=()=>oA(!0),B.addEventListener("mouseleave",QA),AA(B,v(cg,{get cols(){return f()},get rows(){return R()},get scale(){return z()?.scale},get blink(){return Q.blink},get lines(){return Q.lines},get cursor(){return Q.cursor},get cursorHold(){return Q.cursorHold},get fontFamily(){return A.terminalFontFamily},get lineHeight(){return A.terminalLineHeight},ref(A){"function"==typeof H?H(A):H=A}}),null),AA(B,v(T,{get when(){return!1!==A.controls},get children(){return v(Mg,{get duration(){return a()},get currentTime(){return Q.currentTime},get remainingTime(){return Q.remainingTime},get progress(){return Q.progress},markers:l,get isPlaying(){return E()},get isPausable(){return Q.isPausable},get isSeekable(){return Q.isSeekable},onPlayClick:()=>I.togglePlay(),onFullscreenClick:gA,onSeekClick:A=>I.seek(A),ref(A){"function"==typeof m?m(A):m=A}})}}),null),AA(B,v(j,{get children(){return[v(W,{get when(){return"start"==t()},get children(){return v(pg,{onClick:()=>I.play()})}}),v(W,{get when(){return"loader"==t()},get children(){return v(fg,{})}}),v(W,{get when(){return"info"==t()},get children(){return v(Jg,{get message(){return o()},get fontFamily(){return A.terminalFontFamily}})}}),v(W,{get when(){return"error"==t()},get children(){return v(Fg,{})}})]}}),null),w((I=>{const Q=!!(!0===A.controls||"auto"===A.controls&&M()),C=`ap-player asciinema-player-theme-${A.theme??"asciinema"}`,E=(()=>{const g={};!1!==A.fit&&"none"!==A.fit||void 0===A.terminalFontSize||("small"===A.terminalFontSize?g["font-size"]="12px":"medium"===A.terminalFontSize?g["font-size"]="18px":"big"===A.terminalFontSize?g["font-size"]="24px":g["font-size"]=A.terminalFontSize);const I=z();void 0!==I.width&&(g.width=`${I.width}px`,g.height=`${I.height}px`);const B=F();return void 0===B||void 0!==A.theme&&null!==A.theme||(g["--term-color-foreground"]=B.foreground,g["--term-color-background"]=B.background,B.palette.forEach(((A,I)=>{g[`--term-color-${I}`]=A}))),g})();return Q!==I._v$&&g.classList.toggle("ap-hud",I._v$=Q),C!==I._v$2&&V(B,I._v$2=C),I._v$3=_(B,E,I._v$3),I}),{_v$:void 0,_v$2:void 0,_v$3:void 0}),g})();return sA};z(["keydown","mousemove"]);class Kg{log(){}debug(){}info(){}warn(){}error(){}}class Ug{constructor(A,g){this.logger=A,this.prefix=g}log(A){for(var g=arguments.length,I=new Array(g>1?g-1:0),B=1;B 1?g-1:0),B=1;B 1?g-1:0),B=1;B 1?g-1:0),B=1;B 1?g-1:0),B=1;B I=>{g(A(I))}}(A))}flatMap(A){return this.transform(function(A){return g=>I=>{A(I).forEach(g)}}(A))}filter(A){return this.transform(function(A){return g=>I=>{A(I)&&g(I)}}(A))}take(A){return this.transform(function(A){let g=0;return I=>B=>{gB=>{g+=1,g>A&&I(B)}}(A))}transform(A){return new Hg(this.input,this.xfs.concat([A]))}multiplex(A,g){return new Hg(new bg(this[Symbol.iterator](),A[Symbol.iterator](),g))}toArray(){return Array.from(this)}[Symbol.iterator](){let A=0,g=[],I=!1;const B=(Q=this.xfs,C=A=>g.push(A),Q.reverse().reduce(((A,g)=>{const I=mg(g(A.step));return{step:I.step,flush:()=>{I.flush(),A.flush()}}}),mg(C)));var Q,C;return{next:()=>{for(A===g.length&&(g=[],A=0);0===g.length;){const A=this.input.next();if(A.done)break;B.step(A.value)}return 0!==g.length||I||(B.flush(),I=!0),g.length>0?{done:!1,value:g[A++]}:{done:!0}}}}}function mg(A){return"function"==typeof A?{step:A,flush:()=>{}}:A}class bg{constructor(A,g,I){this.left=A,this.right=g,this.comparator=I}[Symbol.iterator](){let A,g;return{next:()=>{if(void 0===A&&void 0!==this.left){const g=this.left.next();g.done?this.left=void 0:A=g.value}if(void 0===g&&void 0!==this.right){const A=this.right.next();A.done?this.right=void 0:g=A.value}if(void 0===A&&void 0===g)return{done:!0};if(void 0===A){const A=g;return g=void 0,{done:!1,value:A}}if(void 0===g){const g=A;return A=void 0,{done:!1,value:g}}if(this.comparator(A,g)){const g=A;return A=void 0,{done:!1,value:g}}{const A=g;return g=void 0,{done:!1,value:A}}}}}}async function vg(A){let g,I;if(A instanceof Response){const B=await A.text(),Q=function(A){const g=A.split("\n");let I;try{I=JSON.parse(g[0])}catch(A){return}const B=new Hg(g).drop(1).filter((A=>"["===A[0])).map(JSON.parse).toArray();return{header:I,events:B}}(B);void 0!==Q?(g=Q.header,I=Q.events):g=JSON.parse(B)}else if("object"==typeof A&&"number"==typeof A.version)g=A;else{if(!Array.isArray(A))throw"invalid data";g=A[0],I=A.slice(1,A.length)}if(1===g.version)return function(A){let g=0;const I=new Hg(A.stdout).map((A=>(g+=A[0],[g,"o",A[1]])));return{cols:A.width,rows:A.height,events:I}}(g);if(2===g.version)return function(A,g){return{cols:A.width,rows:A.height,theme:qg(A.theme),events:g,idleTimeLimit:A.idle_time_limit}}(g,I);throw`asciicast v${g.version} format not supported`}function qg(A){const g=/^#[0-9A-Fa-f]{6}$/,I=A?.fg,B=A?.bg,Q=A?.palette;if(g.test(I)&&g.test(B)&&/^(#[0-9A-Fa-f]{6}:){7,}#[0-9A-Fa-f]{6}$/.test(Q))return{foreground:I,background:B,palette:Q.split(":")}}function xg(A){if("r"===A[1]){const[g,I]=A[2].split("x");return[A[0],"o",`[8;${I};${g};t`]}return A}function Tg(A){return"number"==typeof A?[A,"m",""]:[A[0],"m",A[1]]}function jg(){let A=0;return function(g){return"m"===g[1]?[g[0],g[1],{index:A++,time:g[0],label:g[2]}]:g}}class Wg{constructor(){this.items=[],this.onPush=void 0}push(A){this.items.push(A),void 0!==this.onPush&&(this.onPush(this.popAll()),this.onPush=void 0)}popAll(){if(this.items.length>0){const A=this.items;return this.items=[],A}{const A=this;return new Promise((g=>{A.onPush=g}))}}}function Zg(A,g,I,B,Q){return I>0?function(A,g,I,B){let Q=arguments.length>4&&void 0!==arguments[4]?arguments[4]:1/60;const C=new Wg,E=Xg();let e=!1,t=-Q;return setTimeout((async()=>{for(;!e;){const i=await C.popAll();if(e)return;for(const C of i){const i=C[0]-B+I;if(i-t 0&&(await Og(o),e))return;g(C[0]),A(C[2]),t=i}}}),0),{pushEvent(A){if("o"===A[1])C.push(A);else if("r"===A[1]){const[g,I]=A[2].split("x");C.push([A[0],"o",`[8;${I};${g};t`])}},pushText(A){const g=(Xg()-E)/1e3;C.push([g,"o",A])},stop(){e=!0,C.push(void 0)}}}(A,g,I,B??0,Q):function(A){return{pushEvent(g){"o"===g[1]&&A(g[2])},pushText(g){A(g)},stop(){}}}(A)}function Xg(){return(new Date).getTime()}function Og(A){return new Promise((g=>{setTimeout(g,1e3*A)}))}function zg(A){return Math.min(500*Math.pow(2,A),5e3)}function Vg(A){if(A.length<13)return;const g=function(A){const g=Pg(A.subarray(0,4)),I=Pg(A.subarray(4,8));return g+I/1e6}(A.subarray(0,8)),I=Pg(A.subarray(8,12));return{time:g,data:A.subarray(12,12+I),len:I+12}}function Pg(A){return A[0]+256*A[1]+256*A[2]*256+256*A[3]*256*256}const _g=new Map([["benchmark",function(A,g){let I,{url:B,iterations:Q=10}=A,{feed:C,setState:E,now:e}=g,t=0;return{async init(){const A=await vg(await fetch(B)),{cols:g,rows:Q,events:C}=A;I=Array.from(C).filter((A=>{let[g,I,B]=A;return"o"===I})).map((A=>{let[g,I,B]=A;return[g,B]}));const E=I[I.length-1][0];for(const[A,g]of I)t+=new Blob([g]).size;return{cols:g,rows:Q,duration:E}},play(){const A=e();for(let A=0;A{E("stopped",{reason:"ended"})}),0),!0}}}],["clock",function(A,g,I){let{hourColor:B=3,minuteColor:Q=4,separatorColor:C=9}=A,{feed:E}=g,{cols:e=5,rows:t=1}=I;const i=Math.floor(t/2),o=Math.floor(e/2)-2,s=`[?25l[1m[${i}B`;let n;const r=()=>{const A=new Date,g=A.getHours(),I=A.getMinutes(),E=[];E.push("\r");for(let A=0;A{r().forEach(E)};return{init:()=>{const A=[s].concat(r());return{cols:e,rows:t,duration:1440,poster:A}},play:()=>(E(s),a(),n=setInterval(a,1e3),!0),stop:()=>{clearInterval(n)},getCurrentTime:()=>{const A=new Date;return 60*A.getHours()+A.getMinutes()}}}],["eventsource",function(A,g){let I,B,{url:Q,bufferTime:C=.1,minFrameTime:E}=A,{feed:e,reset:t,setState:i,logger:o}=g;o=new Ug(o,"eventsource: ");let s=new KA;function n(A){void 0!==B&&B.stop(),B=Zg(e,(A=>s.setTime(A)),C,A,E)}return{play:()=>{I=new EventSource(Q),I.addEventListener("open",(()=>{o.info("opened"),n()})),I.addEventListener("error",(A=>{o.info("errored"),o.debug({e:A}),i("loading")})),I.addEventListener("message",(A=>{const g=JSON.parse(A.data);if(Array.isArray(g))B.pushEvent(g);else if(void 0!==g.cols||void 0!==g.width){const A=g.cols??g.width,I=g.rows??g.height;o.debug(`vt reset (${A}x${I})`),i("playing"),n(g.time),t(A,I,g.init??void 0),s=new LA,"number"==typeof g.time&&s.setTime(g.time)}else"offline"===g.state&&(o.info("stream offline"),i("offline"),s=new KA)})),I.addEventListener("done",(()=>{o.info("closed"),I.close(),i("stopped",{reason:"ended"})}))},stop:()=>{void 0!==B&&B.stop(),void 0!==I&&I.close()},getCurrentTime:()=>s.getTime()}}],["random",function(A,g){let{feed:I,setTimeout:B}=g;const Q=" ".charCodeAt(0),C="~".charCodeAt(0)-Q;let E;const e=()=>{const A=Math.pow(5,4*Math.random());E=B(t,A)},t=()=>{e();const A=String.fromCharCode(Q+Math.floor(Math.random()*C));I(A)};return()=>(e(),()=>clearInterval(E))}],["recording",function(A,g,I){let B,Q,C,E,e,t,i,o,s,{feed:n,onInput:r,onMarker:a,now:c,setTimeout:D,setState:w,logger:y}=g,{idleTimeLimit:h,startAt:l,loop:G,posterTime:k,markers:N,pauseOnMarkers:M,cols:u,rows:F}=I,d=0,f=0,R=0;async function J(A,g){const I=await fetch(A,g);if(!I.ok)throw`failed fetching recording from ${A}: ${I.status} ${I.statusText}`;return I}function Y(){const A=C[d];A?i=D(p,function(A){let g=1e3*A-(c()-o);return g<0&&(g=0),g}(A[0])):(S(),R++,!0===G||"number"==typeof G&&R 1e3*g[0]);Y()}function S(){clearTimeout(i),i=null}function L(A){const[g,I,B]=A;if("o"===I)n(B);else if("i"===I)r(B);else if("m"===I&&(a(B),M))return K(),s=1e3*g,w("stopped",{reason:"paused"}),!0;return!1}function K(){return!i||(S(),s=c()-o,!0)}function U(){o=c()-s,s=null,Y()}function H(A){const g=!!i;K();const I=(s??0)/1e3;if("string"==typeof A)"<<"===A?A=I-5:">>"===A?A=I+5:"<<<"===A?A=I-.1*e:">>>"===A?A=I+.1*e:"%"===A[A.length-1]&&(A=parseFloat(A.substring(0,A.length-1))/100*e);else if("object"==typeof A)if("prev"===A.marker)A=m(I)??0,g&&I-A<1&&(A=m(A)??0);else if("next"===A.marker)A=function(A){if(0==E.length)return;let g,I=E.length-1,B=E[I];for(;B&&B[0]>A;)g=B[0],B=E[--I];return g}(I)??e;else if("number"==typeof A.marker){const g=E[A.marker];if(void 0===g)throw`invalid marker index: ${A.marker}`;A=g[0]}const B=Math.min(Math.max(A,0),e);B [A[0],"o",A[1]])),C=new Hg(I).map((A=>[A[0],"i",A[1]])),E=new Hg(B).map(Tg);return Q.multiplex(C,((A,g)=>A[0] A[0] 1&&void 0!==arguments[1]?arguments[1]:1/60;return B=>{let Q=0,C=0;return{step:A=>{Q++,void 0!==g?A[1]===g[1]&&A[0]-g[0]{void 0!==g&&(B(g),C++),A.debug(`batched ${Q} frames to ${C} frames`)}}}}(g,C)).map(function(A,g,I){let B=0,Q=0;return function(C){const E=C[0]-B-A;return B=C[0],E>0&&(Q+=E,C[0] "m"!==A[1])).multiplex(e,((A,g)=>A[0] "i"===A[1]?[A[0]+E,A[1],A[2]]:A)),t.sort(((A,g)=>A[0]-g[0])));const o=t[t.length-1][0],s=B-i.offset;return{...A,events:t,duration:o,effectiveStartAt:s}}(await g(await function(A){let{url:g,data:I,fetchOpts:B={}}=A;if("string"==typeof g)return J(g,B);if(Array.isArray(g))return Promise.all(g.map((A=>J(A,B))));if(void 0!==I)return"function"==typeof I&&(I=I()),I instanceof Promise||(I=Promise.resolve(I)),I.then((A=>"string"==typeof A||A instanceof ArrayBuffer?new Response(A):A));throw"failed fetching recording file: url/data missing in src"}(A),{encoding:s}),y,{idleTimeLimit:h,startAt:l,minFrameTime:I,inputOffset:i,markers_:N});if(({cols:B,rows:Q,events:C,duration:e,effectiveStartAt:t}=n),u=u??B,F=F??Q,0===C.length)throw"recording is missing events";void 0!==o&&function(A,g){const I=document.createElement("a"),B=A.events.map((A=>"m"===A[1]?[A[0],A[1],A[2].label]:A)),Q=function(A){return`${JSON.stringify({version:2,width:A.cols,height:A.rows})}\n${A.events.map(JSON.stringify).join("\n")}\n`}({...A,events:B});I.href=URL.createObjectURL(new Blob([Q],{type:"text/plain"})),I.download=g,I.click()}(n,o);const r=void 0!==k?(a=k,C.filter((A=>A[0]A[2]))):void 0;var a;return E=C.filter((A=>"m"===A[1])).map((A=>[A[0],A[2].label])),{cols:B,rows:Q,duration:e,theme:n.theme,poster:r,markers:E}},play:function(){return i||(void 0===C[d]&&(t=0),null!==t&&H(t),U()),!0},pause:K,seek:H,step:function(){let A=C[d++];for(;void 0!==A&&"o"!==A[1];)A=C[d++];if(void 0===A)return;n(A[2]);const g=A[0];f=g,s=1e3*g,t=null},stop:K,getCurrentTime:function(){return i?(c()-o)/1e3:(s??0)/1e3}}}],["websocket",function(A,g){let{url:I,bufferTime:B=.1,reconnectDelay:Q=zg,minFrameTime:C}=A,{feed:E,reset:e,setState:t,logger:i}=g;i=new Ug(i,"websocket: ");const o=new TextDecoder;let s,n,r,a=new KA,c=0,D=!1;function w(A){void 0!==n&&n.stop(),n=Zg(E,(A=>a.setTime(A)),B,A,C)}function y(A){if("string"==typeof A.data)i.info("activating asciicast-compatible handler"),s.onmessage=h,h(A);else{const g=new Uint8Array(A.data);if(65==g[0]&&76==g[1]&&105==g[2]&&83==g[3])1==g[4]?(i.info("activating ALiS v1 handler"),s.onmessage=G):(i.warn(`unsupported ALiS version (${g[4]})`),s.close());else{i.info("activating raw text handler");const I=o.decode(g),B=function(A){const g=A.match(/\x1b\[8;(\d+);(\d+)t/);if(null!==g)return[parseInt(g[2],10),parseInt(g[1],10)]}(I)??function(A){const g=A.match(/\[.*COLUMNS="(\d{1,3})" LINES="(\d{1,3})".*\]/);if(null!==g)return[parseInt(g[1],10),parseInt(g[2],10)]}(I);if(void 0!==B){const[A,g]=B;u(A,g,0,void 0)}s.onmessage=M,M(A)}}}function h(A){const g=JSON.parse(A.data);Array.isArray(g)?n.pushEvent(g):void 0!==g.cols||void 0!==g.width?u(g.cols??g.width,g.rows??g.height,g.time,g.init??void 0):"offline"===g.status&&F()}const l=54;function G(A){const g=A.data,I=new DataView(g),B=I.getUint8(0);let Q=1;if(1===B){const A=I.getUint16(Q,!0);Q+=2;const B=I.getUint16(Q,!0);Q+=2;const C=I.getFloat32(Q,!0);Q+=4;const E=I.getUint8(Q);let e;Q+=1,1===E&&(e=function(A){const g=k(A[0],A[1],A[2]),I=k(A[3],A[4],A[5]),B=[];for(let g=0;g<16;g++)B.push(k(A[3*g+6],A[3*g+7],A[3*g+8]));return{foreground:g,background:I,palette:B}}(new Uint8Array(g,Q,l)),Q+=l);const t=I.getUint32(Q,!0);let i;Q+=4,t>0&&(i=o.decode(new Uint8Array(g,Q,t)),Q+=t),u(A,B,C,i,e)}else if(111===B){const A=I.getFloat32(1,!0),B=I.getUint32(5,!0),Q=o.decode(new Uint8Array(g,9,B));n.pushEvent([A,"o",Q])}else if(114===B){const A=I.getFloat32(1,!0),g=I.getUint16(5,!0),B=I.getUint16(7,!0);n.pushEvent([A,"r",`${g}x${B}`])}else 4===B?F():i.debug(`unknown frame type: ${B}`)}function k(A,g,I){return`#${N(A)}${N(g)}${N(I)}`}function N(A){return A.toString(16).padStart(2,"0")}function M(A){n.pushText(o.decode(A.data))}function u(A,g,I,B,Q){i.debug(`stream reset (${A}x${g} @${I})`),t("playing"),w(I),e(A,g,B,Q),a=new LA,"number"==typeof I&&a.setTime(I)}function F(){i.info("stream offline"),t("offline"),a=new KA}function d(){s=new WebSocket(I),s.binaryType="arraybuffer",s.onopen=()=>{i.info("opened"),w(),r=setTimeout((()=>{c=0}),1e3)},s.onmessage=y,s.onclose=A=>{if(D||1e3===A.code||1005===A.code)i.info("closed"),t("stopped",{reason:"ended",message:"Stream ended"});else{clearTimeout(r);const A=Q(c++);i.info(`unclean close, reconnecting in ${A}...`),t("loading"),setTimeout(d,A)}}}return{play:()=>{d()},stop:()=>{D=!0,void 0!==n&&n.stop(),void 0!==s&&s.close()},getCurrentTime:()=>a.getTime()}}]]),$g=new Map([["asciicast",vg],["typescript",async function(A,g){let{encoding:I}=g;const B=new TextDecoder(I);let Q,C,E=(await A[0].text()).split("\n").filter((A=>A.length>0)).map((A=>A.split(" ")));E[0].length<3&&(E=E.map((A=>["O",A[0],A[1]])));const e=await A[1].arrayBuffer(),t=new Uint8Array(e),i=t.findIndex((A=>10==A))+1,o=B.decode(t.subarray(0,i)).match(/COLUMNS="(\d+)" LINES="(\d+)"/);null!==o&&(Q=parseInt(o[1],10),C=parseInt(o[2],10));const s={array:t,cursor:i};let n=s;if(void 0!==A[2]){const g=await A[2].arrayBuffer();n={array:new Uint8Array(g),cursor:i}}const r=[];let a=0;for(const A of E)if(a+=parseFloat(A[1]),"O"===A[0]){const g=parseInt(A[2],10),I=s.array.subarray(s.cursor,s.cursor+g),Q=B.decode(I);r.push([a,"o",Q]),s.cursor+=g}else if("I"===A[0]){const g=parseInt(A[2],10),I=n.array.subarray(n.cursor,n.cursor+g),Q=B.decode(I);r.push([a,"i",Q]),n.cursor+=g}else if("S"===A[0]&&"SIGWINCH"===A[2]){const g=parseInt(A[4].slice(5),10),I=parseInt(A[3].slice(5),10);r.push([a,"r",`${g}x${I}`])}else"H"===A[0]&&"COLUMNS"===A[2]?Q=parseInt(A[3],10):"H"===A[0]&&"LINES"===A[2]&&(C=parseInt(A[3],10));return Q=Q??80,C=C??24,{cols:Q,rows:C,events:r}}],["ttyrec",async function(A,g){let{encoding:I}=g;const B=new TextDecoder(I),Q=await A.arrayBuffer(),C=new Uint8Array(Q),E=Vg(C),e=E.time,t=B.decode(E.data).match(/\x1b\[8;(\d+);(\d+)t/),i=[];let o=80,s=24;null!==t&&(o=parseInt(t[2],10),s=parseInt(t[1],10));let n=0,r=Vg(C);for(;void 0!==r;){const A=r.time-e,g=B.decode(r.data);i.push([A,"o",g]),n+=r.len,r=Vg(C.subarray(n))}return{cols:o,rows:s,events:i}}]]);return A.create=function(A,g){let I=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const B=I.logger??new Kg,Q=new jA(function(A){if("function"==typeof A)return A;"string"==typeof A&&(A="ws://"==A.substring(0,5)||"wss://"==A.substring(0,6)?{driver:"websocket",url:A}:"clock:"==A.substring(0,6)?{driver:"clock"}:"random:"==A.substring(0,7)?{driver:"random"}:"benchmark:"==A.substring(0,10)?{driver:"benchmark",url:A.substring(10)}:{driver:"recording",url:A});void 0===A.driver&&(A.driver="recording");if("recording"==A.driver&&(void 0===A.parser&&(A.parser="asciicast"),"string"==typeof A.parser)){if(!$g.has(A.parser))throw`unknown parser: ${A.parser}`;A.parser=$g.get(A.parser)}if(_g.has(A.driver)){const g=_g.get(A.driver);return(I,B)=>g(A,I,B)}throw`unsupported driver: ${JSON.stringify(A)}`}(A),{logger:B,cols:I.cols,rows:I.rows,loop:I.loop,speed:I.speed,preload:I.preload,startAt:I.startAt,poster:I.poster,markers:I.markers,pauseOnMarkers:I.pauseOnMarkers,idleTimeLimit:I.idleTimeLimit}),C=function(A,g){const I=80,B=24,Q=document.createElement("div");let C;Q.style.height="0px",Q.style.overflow="hidden",Q.style.fontSize="15px",document.body.appendChild(Q);const E=X((()=>(C=v(cg,{cols:I,rows:B,lineHeight:g,fontFamily:A,lines:[]}),C)),Q),e={charW:C.clientWidth/I,charH:C.clientHeight/B,bordersW:C.offsetWidth-C.clientWidth,bordersH:C.offsetHeight-C.clientHeight};return E(),document.body.removeChild(Q),e}(I.terminalFontFamily,I.terminalLineHeight),E={logger:B,core:Q,cols:I.cols,rows:I.rows,fit:I.fit,controls:I.controls??"auto",autoPlay:I.autoPlay??I.autoplay,terminalFontSize:I.terminalFontSize,terminalFontFamily:I.terminalFontFamily,terminalLineHeight:I.terminalLineHeight,theme:I.theme,...C};let e;const t=X((()=>(e=v(Lg,E),e)),g),i={el:e,dispose:t,getCurrentTime:()=>Q.getCurrentTime(),getDuration:()=>Q.getDuration(),play:()=>Q.play(),pause:()=>Q.pause(),seek:A=>Q.seek(A),addEventListener:(A,g)=>Q.addEventListener(A,g.bind(i))};return i},A}({}); +var AsciinemaPlayer=function(A){"use strict";const g={};const I=Symbol("solid-proxy"),B=Symbol("solid-track"),Q={equals:(A,g)=>A===g};let C=q;const E=1,e=2,i={owned:null,cleanups:null,context:null,owner:null};var V=null;let t=null,o=null,s=null,n=null,r=0;function a(A,g){const I=o,B=V,Q=0===A.length,C=Q?i:{owned:null,cleanups:null,context:null,owner:void 0===g?B:g},E=Q?A:()=>A((()=>l((()=>S(C)))));V=C,o=null;try{return R(E,!0)}finally{o=I,V=B}}function c(A,g){const I={value:A,observers:null,observerSlots:null,comparator:(g=g?Object.assign({},Q,g):Q).equals||void 0};return[F.bind(I),A=>("function"==typeof A&&(A=A(I.value)),d(I,A))]}function w(A,g,I){u(N(A,g,!1,E))}function D(A,g,I){I=I?Object.assign({},Q,I):Q;const B=N(A,g,!0,0);return B.observers=null,B.observerSlots=null,B.comparator=I.equals||void 0,u(B),F.bind(B)}function h(A){return R(A,!1)}function l(A){if(null===o)return A();const g=o;o=null;try{return A()}finally{o=g}}function M(A){!function(A,g,I){C=J;const B=N(A,g,!1,E);B.user=!0,n?n.push(B):u(B)}((()=>l(A)))}function y(A){return null===V||(null===V.cleanups?V.cleanups=[A]:V.cleanups.push(A)),A}function G(){return o}function k(A){const g=D(A),I=D((()=>L(g())));return I.toArray=()=>{const A=I();return Array.isArray(A)?A:null!=A?[A]:[]},I}function F(){const A=t;if(this.sources&&(this.state||A))if(this.state===E||A)u(this);else{const A=s;s=null,R((()=>Y(this)),!1),s=A}if(o){const A=this.observers?this.observers.length:0;o.sources?(o.sources.push(this),o.sourceSlots.push(A)):(o.sources=[this],o.sourceSlots=[A]),this.observers?(this.observers.push(o),this.observerSlots.push(o.sources.length-1)):(this.observers=[o],this.observerSlots=[o.sources.length-1])}return this.value}function d(A,g,I){let B=A.value;return A.comparator&&A.comparator(B,g)||(A.value=g,A.observers&&A.observers.length&&R((()=>{for(let g=0;g 1e6)throw s=[],new Error}),!1)),g}function u(A){if(!A.fn)return;S(A);const g=V,I=o,B=r;o=V=A,function(A,g,I){let B;try{B=A.fn(g)}catch(g){A.pure&&(A.state=E,A.owned&&A.owned.forEach(S),A.owned=null),p(g)}(!A.updatedAt||A.updatedAt<=I)&&(null!=A.updatedAt&&"observers"in A?d(A,B):A.value=B,A.updatedAt=I)}(A,A.value,B),o=I,V=g}function N(A,g,I,B=E,Q){const C={fn:A,state:B,updatedAt:null,owned:null,sources:null,sourceSlots:null,cleanups:null,value:g,owner:V,context:null,pure:I};return null===V||V!==i&&(V.owned?V.owned.push(C):V.owned=[C]),C}function f(A){const g=t;if(0===A.state||g)return;if(A.state===e||g)return Y(A);if(A.suspense&&l(A.suspense.inFallback))return A.suspense.effects.push(A);const I=[A];for(;(A=A.owner)&&(!A.updatedAt||A.updatedAt =0;B--)if((A=I[B]).state===E||g)u(A);else if(A.state===e||g){const g=s;s=null,R((()=>Y(A,I[0])),!1),s=g}}function R(A,g){if(s)return A();let I=!1;g||(s=[]),n?I=!0:n=[],r++;try{const g=A();return function(A){s&&(q(s),s=null);if(A)return;const g=n;n=null,g.length&&R((()=>C(g)),!1)}(I),g}catch(A){I||(n=null),s=null,p(A)}}function q(A){for(let g=0;g A(g||{})))}function z(){return!0}const b={get:(A,g,B)=>g===I?B:A.get(g),has:(A,g)=>g===I||A.has(g),set:z,deleteProperty:z,getOwnPropertyDescriptor:(A,g)=>({configurable:!0,enumerable:!0,get:()=>A.get(g),set:z,deleteProperty:z}),ownKeys:A=>A.keys()};function v(A){return(A="function"==typeof A?A():A)?A:{}}function x(A){const g="fallback"in A&&{fallback:()=>A.fallback};return D(function(A,g,I={}){let Q=[],C=[],E=[],e=0,i=g.length>1?[]:null;return y((()=>H(E))),()=>{let V,t,o=A()||[];return o[B],l((()=>{let A,g,B,n,r,c,w,D,h,l=o.length;if(0===l)0!==e&&(H(E),E=[],Q=[],C=[],e=0,i&&(i=[])),I.fallback&&(Q=[m],C[0]=a((A=>(E[0]=A,I.fallback()))),e=1);else if(0===e){for(C=new Array(l),t=0;t =c&&D>=c&&Q[w]===o[D];w--,D--)B[D]=C[w],n[D]=E[w],i&&(r[D]=i[w]);for(A=new Map,g=new Array(D+1),t=D;t>=c;t--)h=o[t],V=A.get(h),g[t]=void 0===V?-1:V,A.set(h,t);for(V=c;V<=w;V++)h=Q[V],t=A.get(h),void 0!==t&&-1!==t?(B[t]=C[V],n[t]=E[V],i&&(r[t]=i[V]),t=g[t],A.set(h,t)):E[V]();for(t=c;t A.each),A.children,g||void 0))}function Z(A){const g="fallback"in A&&{fallback:()=>A.fallback};return D(function(A,g,I={}){let Q,C=[],E=[],e=[],i=[],V=0;return y((()=>H(e))),()=>{const t=A()||[];return t[B],l((()=>{if(0===t.length)return 0!==V&&(H(e),e=[],C=[],E=[],V=0,i=[]),I.fallback&&(C=[m],E[0]=a((A=>(e[0]=A,I.fallback()))),V=1),E;for(C[0]===m&&(e[0](),e=[],C=[],E=[],V=0),Q=0;Q t[Q])):Q>=C.length&&(E[Q]=a(o));for(;Q A.each),A.children,g||void 0))}function W(A){let g=!1;const I=A.keyed,B=D((()=>A.when),void 0,{equals:(A,I)=>g?A===I:!A==!I});return D((()=>{const Q=B();if(Q){const B=A.children,C="function"==typeof B&&B.length>0;return g=I||C,C?l((()=>B(Q))):B}return A.fallback}),void 0,void 0)}function T(A){let g=!1,I=!1;const B=k((()=>A.children)),Q=D((()=>{let A=B();Array.isArray(A)||(A=[A]);for(let g=0;g A[0]===I[0]&&(g?A[1]===I[1]:!A[1]==!I[1])&&A[2]===I[2]});return D((()=>{const[B,C,E]=Q();if(B<0)return A.fallback;const e=E.children,i="function"==typeof e&&e.length>0;return g=I||i,i?l((()=>e(C))):e}),void 0,void 0)}function j(A){return A}const X="_$DX_DELEGATE";function O(A,g,I,B={}){let Q;return a((B=>{Q=B,g===document?A():BA(g,A(),g.firstChild?null:void 0,I)}),B.owner),()=>{Q(),g.textContent=""}}function P(A,g,I){const B=document.createElement("template");B.innerHTML=A;let Q=B.content.firstChild;return I&&(Q=Q.firstChild),Q}function _(A,g=window.document){const I=g[X]||(g[X]=new Set);for(let B=0,Q=A.length;B B.call(A,I[1],g))}else A.addEventListener(g,I)}function gA(A,g,I){if(!g)return I?function(A,g,I){null==I?A.removeAttribute(g):A.setAttribute(g,I)}(A,"style"):g;const B=A.style;if("string"==typeof g)return B.cssText=g;let Q,C;for(C in"string"==typeof I&&(B.cssText=I=void 0),I||(I={}),g||(g={}),I)null==g[C]&&B.removeProperty(C),delete I[C];for(C in g)Q=g[C],Q!==I[C]&&(B.setProperty(C,Q),I[C]=Q);return I}function IA(A,g,I){return l((()=>A(g,I)))}function BA(A,g,I,B){if(void 0===I||B||(B=[]),"function"!=typeof g)return CA(A,g,B,I);w((B=>CA(A,g(),B,I)),B)}function QA(A){const I=`$$${A.type}`;let B=A.composedPath&&A.composedPath()[0]||A.target;for(A.target!==B&&Object.defineProperty(A,"target",{configurable:!0,value:B}),Object.defineProperty(A,"currentTarget",{configurable:!0,get:()=>B||document}),g.registry&&!g.done&&(g.done=!0,document.querySelectorAll("[id^=pl-]").forEach((g=>{for(;g&&8!==g.nodeType&&g.nodeValue!=="pl-"+A;){let A=g.nextSibling;g.remove(),g=A}g&&g.remove()})));B;){const g=B[I];if(g&&!B.disabled){const Q=B[`${I}Data`];if(void 0!==Q?g.call(B,Q,A):g.call(B,A),A.cancelBubble)return}B=B._$host||B.parentNode||B.host}}function CA(A,I,B,Q,C){for(g.context&&!B&&(B=[...A.childNodes]);"function"==typeof B;)B=B();if(I===B)return B;const E=typeof I,e=void 0!==Q;if(A=e&&B[0]&&B[0].parentNode||A,"string"===E||"number"===E){if(g.context)return B;if("number"===E&&(I=I.toString()),e){let g=B[0];g&&3===g.nodeType?g.data=I:g=document.createTextNode(I),B=iA(A,B,Q,g)}else B=""!==B&&"string"==typeof B?A.firstChild.data=I:A.textContent=I}else if(null==I||"boolean"===E){if(g.context)return B;B=iA(A,B,Q)}else{if("function"===E)return w((()=>{let g=I();for(;"function"==typeof g;)g=g();B=CA(A,g,B,Q)})),()=>B;if(Array.isArray(I)){const E=[],i=B&&Array.isArray(B);if(EA(E,I,B,C))return w((()=>B=CA(A,E,B,Q,!0))),()=>B;if(g.context){if(!E.length)return B;for(let A=0;AB-e){const Q=g[E];for(;e=0;C--){const E=g[C];if(Q!==E){const g=E.parentNode===A;B||C?g&&E.remove():g?A.replaceChild(Q,E):A.insertBefore(Q,I)}else B=!0}}else A.insertBefore(Q,I);return[Q]}let VA;const tA=new Array(128).fill(void 0);function oA(A){return tA[A]}tA.push(void 0,null,!0,!1);let sA=tA.length;function nA(A){const g=oA(A);return function(A){A<132||(tA[A]=sA,sA=A)}(A),g}const rA="undefined"!=typeof TextDecoder?new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0}):{decode:()=>{throw Error("TextDecoder not available")}};"undefined"!=typeof TextDecoder&&rA.decode();let aA=null;function cA(){return null!==aA&&0!==aA.byteLength||(aA=new Uint8Array(VA.memory.buffer)),aA}function wA(A,g){return A>>>=0,rA.decode(cA().subarray(A,A+g))}function DA(A){sA===tA.length&&tA.push(tA.length+1);const g=sA;return sA=tA[g],tA[g]=A,g}function hA(A){const g=typeof A;if("number"==g||"boolean"==g||null==A)return`${A}`;if("string"==g)return`"${A}"`;if("symbol"==g){const g=A.description;return null==g?"Symbol":`Symbol(${g})`}if("function"==g){const g=A.name;return"string"==typeof g&&g.length>0?`Function(${g})`:"Function"}if(Array.isArray(A)){const g=A.length;let I="[";g>0&&(I+=hA(A[0]));for(let B=1;B 1))return toString.call(A);if(B=I[1],"Object"==B)try{return"Object("+JSON.stringify(A)+")"}catch(A){return"Object"}return A instanceof Error?`${A.name}: ${A.message}\n${A.stack}`:B}let lA=0;const MA="undefined"!=typeof TextEncoder?new TextEncoder("utf-8"):{encode:()=>{throw Error("TextEncoder not available")}},yA="function"==typeof MA.encodeInto?function(A,g){return MA.encodeInto(A,g)}:function(A,g){const I=MA.encode(A);return g.set(I),{read:A.length,written:I.length}};function GA(A,g,I){if(void 0===I){const I=MA.encode(A),B=g(I.length,1)>>>0;return cA().subarray(B,B+I.length).set(I),lA=I.length,B}let B=A.length,Q=g(B,1)>>>0;const C=cA();let E=0;for(;E127)break;C[Q+E]=g}if(E!==B){0!==E&&(A=A.slice(E)),Q=I(Q,B,B=E+3*A.length,1)>>>0;const g=cA().subarray(Q+E,Q+B);E+=yA(A,g).written,Q=I(Q,B,E,1)>>>0}return lA=E,Q}let kA=null;function FA(){return null!==kA&&0!==kA.byteLength||(kA=new Int32Array(VA.memory.buffer)),kA}let dA=null;function uA(A,g){return A>>>=0,(null!==dA&&0!==dA.byteLength||(dA=new Uint32Array(VA.memory.buffer)),dA).subarray(A/4,A/4+g)}const NA="undefined"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry((A=>VA.__wbg_vtwrapper_free(A>>>0)));class fA{static __wrap(A){A>>>=0;const g=Object.create(fA.prototype);return g.__wbg_ptr=A,NA.register(g,g.__wbg_ptr,g),g}__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,NA.unregister(this),A}free(){const A=this.__destroy_into_raw();VA.__wbg_vtwrapper_free(A)}feed(A){const g=GA(A,VA.__wbindgen_malloc,VA.__wbindgen_realloc),I=lA;return nA(VA.vtwrapper_feed(this.__wbg_ptr,g,I))}inspect(){let A,g;try{const Q=VA.__wbindgen_add_to_stack_pointer(-16);VA.vtwrapper_inspect(Q,this.__wbg_ptr);var I=FA()[Q/4+0],B=FA()[Q/4+1];return A=I,g=B,wA(I,B)}finally{VA.__wbindgen_add_to_stack_pointer(16),VA.__wbindgen_free(A,g,1)}}get_size(){try{const B=VA.__wbindgen_add_to_stack_pointer(-16);VA.vtwrapper_get_size(B,this.__wbg_ptr);var A=FA()[B/4+0],g=FA()[B/4+1],I=uA(A,g).slice();return VA.__wbindgen_free(A,4*g,4),I}finally{VA.__wbindgen_add_to_stack_pointer(16)}}get_line(A){return nA(VA.vtwrapper_get_line(this.__wbg_ptr,A))}get_cursor(){return nA(VA.vtwrapper_get_cursor(this.__wbg_ptr))}}function RA(){const A={wbg:{}};return A.wbg.__wbindgen_object_drop_ref=function(A){nA(A)},A.wbg.__wbindgen_error_new=function(A,g){return DA(new Error(wA(A,g)))},A.wbg.__wbindgen_object_clone_ref=function(A){return DA(oA(A))},A.wbg.__wbindgen_number_new=function(A){return DA(A)},A.wbg.__wbindgen_bigint_from_u64=function(A){return DA(BigInt.asUintN(64,A))},A.wbg.__wbindgen_string_new=function(A,g){return DA(wA(A,g))},A.wbg.__wbg_set_f975102236d3c502=function(A,g,I){oA(A)[nA(g)]=nA(I)},A.wbg.__wbg_new_b525de17f44a8943=function(){return DA(new Array)},A.wbg.__wbg_new_f841cc6f2098f4b5=function(){return DA(new Map)},A.wbg.__wbg_new_f9876326328f45ed=function(){return DA(new Object)},A.wbg.__wbindgen_is_string=function(A){return"string"==typeof oA(A)},A.wbg.__wbg_set_17224bc548dd1d7b=function(A,g,I){oA(A)[g>>>0]=nA(I)},A.wbg.__wbg_set_388c4c6422704173=function(A,g,I){return DA(oA(A).set(oA(g),oA(I)))},A.wbg.__wbindgen_debug_string=function(A,g){const I=GA(hA(oA(g)),VA.__wbindgen_malloc,VA.__wbindgen_realloc),B=lA;FA()[A/4+1]=B,FA()[A/4+0]=I},A.wbg.__wbindgen_throw=function(A,g){throw new Error(wA(A,g))},A}function qA(A,g){return VA=A.exports,JA.__wbindgen_wasm_module=g,kA=null,dA=null,aA=null,VA}async function JA(A){if(void 0!==VA)return VA;const g=RA();("string"==typeof A||"function"==typeof Request&&A instanceof Request||"function"==typeof URL&&A instanceof URL)&&(A=fetch(A));const{instance:I,module:B}=await async function(A,g){if("function"==typeof Response&&A instanceof Response){if("function"==typeof WebAssembly.instantiateStreaming)try{return await WebAssembly.instantiateStreaming(A,g)}catch(g){if("application/wasm"==A.headers.get("Content-Type"))throw g;console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n",g)}const I=await A.arrayBuffer();return await WebAssembly.instantiate(I,g)}{const I=await WebAssembly.instantiate(A,g);return I instanceof WebAssembly.Instance?{instance:I,module:A}:I}}(await A,g);return qA(I,B)}var YA=Object.freeze({__proto__:null,VtWrapper:fA,create:function(A,g,I,B){const Q=VA.create(A,g,I,B);return fA.__wrap(Q)},default:JA,initSync:function(A){if(void 0!==VA)return VA;const g=RA();return A instanceof WebAssembly.Module||(A=new WebAssembly.Module(A)),qA(new WebAssembly.Instance(A,g),A)}});const UA=[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 SA(A){return UA[A-43]}const pA=function(A){let g,I=A.endsWith("==")?2:A.endsWith("=")?1:0,B=A.length,Q=new Uint8Array(B/4*3);for(let I=0,C=0;I>16,Q[C+1]=g>>8&255,Q[C+2]=255&g;return Q.subarray(0,Q.length-I)}("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IAMhAAwCCyAHIANBAWoiA0cNAAsgAiEEDAILIAAgBGoiBkEBaiEEAkAgAiAGTQ0AIAAgBWotAABBCkcNAEEAIQUgBCIGIQAMAwsgAiAETw0ACwtBASEFIAIiACAIIgZHDQBBAA8LAkAgDC0AAEUNACALQejnwABBBCAKKAIMEQEARQ0AQQEPCyAAIAhrIQdBACEDIAAgCEcEQCAAIA1qLQAAQQpGIQMLIAEgCGohACAMIAM6AAAgBiEIIAsgACAHIAooAgwRAQAiACAFckUNAAsgAAvSBgEFfyMAQcABayICJAAgACgCACEDIAJBuAFqQeCEwAA2AgAgAkEEaiIAQawBakHohsAANgIAIABBpAFqQYiHwAA2AgAgAEGcAWpB+IbAADYCACACQZgBakH4hsAANgIAIAJBkAFqQaCCwAA2AgAgAkGIAWpBoILAADYCACACQYABakHohsAANgIAIABB9ABqQeiGwAA2AgAgAkHwAGpB6IbAADYCACACQegAakHohsAANgIAIABB3ABqQeiGwAA2AgAgAkHYAGpB2IbAADYCACACQdAAakGggsAANgIAIAJByABqQciGwAA2AgAgAkFAa0G4hsAANgIAIAJBOGpBqIbAADYCACACQTBqQZiGwAA2AgAgAEEkakGIhsAANgIAIAJBIGpB+IXAADYCACACQRhqQfiFwAA2AgAgAkEQakGggsAANgIAIAIgA0HCAWo2AqwBIAIgA0HcAGo2AqQBIAIgA0GIAWo2ApwBIAIgA0H0AGo2ApQBIAIgA0GsAWo2AowBIAIgA0GoAWo2AoQBIAIgA0HBAWo2AnwgAiADQcABajYCdCACIANBvwFqNgJsIAIgA0G+AWo2AmQgAiADQb0BajYCXCACIANB0ABqNgJUIAIgA0GkAWo2AkwgAiADQbABajYCRCACIANBsgFqNgI8IAIgA0HoAGo2AjQgAiADQcgAajYCLCACIANBvAFqNgIkIAIgA0EkajYCHCACIAM2AhQgAiADQaABajYCDCACQaCCwAA2AgggAiADQZwBajYCBCACIANBwwFqNgK8ASACIAJBvAFqNgK0AUEXIQZB9IjAACEEIwBBIGsiAyQAIANBFzYCACADQRc2AgQgASgCFEGYh8AAQQggASgCGCgCDBEBACEFIANBADoADSADIAU6AAwgAyABNgIIAn8D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IAMtAAwhAgNAIAUgAxBYIAAoAgAiBgRAIAAoAgQgBkEEdBDUAQsgACAFKQMANwIAIAAgAjoADCAAQQhqIAVBCGooAgA2AgAgASAAQRBqIgBHDQALCyABKAIAIgAEQCABKAIEIABBBHQQ1AELIAEgAykCADcCACABQQhqIANBCGopAgA3AgALIAVBEGokACAEQTBqJAAPCyABIAJBoJ7AABDcAQALIAIgAEGgnsAAENoBAAvIAQECfwJAAkAgACgCCCIFIAFPBEAgACgCBCABQQR0aiEAIAUgAWsiBCACSQRAQYyqwABBIUGwqsAAEIwBAAsgBCACayIEIAAgBEEEdGogAhASIAEgAmoiBCACSQ0BIAQgBUsNAiACBEAgAkEEdCECA0AgACADKQIANwIAIABBCGogA0EIaikCADcCACAAQRBqIQAgAkEQayICDQALCw8LIAEgBUG4p8AAENkBAAsgASAEQcinwAAQ3AEACyAEIAVByKfAABDaAQALjgEBA38jAEGAAWsiBCQAIAAoAgAhAANAIAIgBGpB/wBqIABBD3EiA0EwciADQdcAaiADQQpJGzoAACACQQFrIQIgAEEQSSAAQQR2IQBFDQALIAJBgAFqIgBBgQFPBEAgAEGAAUGc6MAAENkBAAsgAUGs6MAAQQIgAiAEakGAAWpBACACaxAUIARBgAFqJAALlgEBA38jAEGAAWsiBCQAIAAtAAAhAkEAIQADQCAAIARqQf8AaiACQQ9xIgNBMHIgA0E3aiADQQpJGzoAACAAQQFrIQAgAkH/AXEiA0EEdiECIANBEE8NAAsgAEGAAWoiAkGBAU8EQCACQYABQZzowAAQ2QEACyABQazowABBAiAAIARqQYABakEAIABrEBQgBEGAAWokAAuXAQEDfyMAQYABayIEJAAgAC0AACECQQAhAANAIAAgBGpB/wBqIAJBD3EiA0EwciADQdcAaiADQQpJGzoAACAAQQFrIQAgAkH/AXEiA0EEdiECIANBEE8NAAsgAEGAAWoiAkGBAU8EQCACQYABQZzowAAQ2QEACyABQazowABBAiAAIARqQYABakEAIABrEBQgBEGAAWokAAuNAQEDfyMAQYABayIEJAAgACgCACEAA0AgAiAEakH/AGogAEEPcSIDQTByIANBN2ogA0EKSRs6AAAgAkEBayECIABBEEkg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IQEgCCAFNgIEIAggATYCACACQSBqJAAMAQsgAkEBNgIMIAJBmJfAADYCCCACQgA3AhQgAkH0lsAANgIQIAJBCGpB7JfAABCSAQALIAMoAggiAUGBgICAeEYNACABRQ0BIAEgAygCDEHU/8AAKAIAIgBB1wAgABsRAgAACyADQRBqJAAMAQsQlwEACyAGQQhqIAcpAgQ3AwAgBigCCCEBIAYgBigCDDYCBCAGIAE2AgAgBigCBCEBIAAgBigCADYCACAAIAE2AgQgBkEgaiQAC3EBAX8jAEEQayICJAAgAiAAQSBqNgIMIAFBkYTAAEEGQZeEwABBBSAAQQxqQZyEwABBrITAAEEEIABBGGpBsITAAEEEIABBHGpBoILAAEG0hMAAQRAgAEHEhMAAQdSEwABBCyACQQxqEDIgAkEQaiQAC3EBAX8jAEEQayICJAAgAiAAQRNqNgIMIAFBrIrAAEEIQbSKwABBCiAAQaCCwABBvorAAEEKIABBBGpBoIDAAEEDIABBCGpBuIbAAEHvh8AAQQsgAEESakHohsAAQfqHwABBDiACQQxqEDIgAkEQaiQAC28BAX8jAEEwayICJAAgAiABNgIEIAIgADYCACACQSxqQdYANgIAIAJBAzYCDCACQYTkwAA2AgggAkICNwIUIAJB1gA2AiQgAiACQSBqNgIQIAIgAkEEajYCKCACIAI2AiAgAkEIakHkmsAAEJIBAAtsAQF/IwBBMGsiAyQAIAMgATYCBCADIAA2AgAgA0EsakHWADYCACADQQI2AgwgA0GM5sAANgIIIANCAjcCFCADQdYANgIkIAMgA0EgajYCECADIAM2AiggAyADQQRqNgIgIANBCGogAhCSAQALZgECfyMAQRBrIgIkACAAKAIAIgNBAWohAAJ/IAMtAABFBEAgAiAANgIIIAFBtJLAAEEHIAJBCGpBvJLAABA3DAELIAIgADYCDCABQcySwABBAyACQQxqQdCSwAAQNwsgAkEQaiQAC2IBA38jAEEQayIDJAAgASgCCCEEIANBCGogASgCACACNQIAEEogAygCDCECIAMoAggiBUUEQCABQQRqIAQgAhDWASABIARBAWo2AggLIAAgBTYCACAAIAI2AgQgA0EQaiQAC2YAIwBBMGsiACQAQZj/wAAtAAAEQCAAQQI2AhAgAEHQ38AANgIMIABC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QRBxRQRAIANBIHFFBEAgADMBACABECMPCyMAQYABayIDJAAgAC8BACECQQAhAANAIAAgA2pB/wBqIAJBD3EiBEEwciAEQTdqIARBCkkbOgAAIABBAWshACACQf//A3EiBEEEdiECIARBEE8NAAsgAEGAAWoiAkGBAU8EQCACQYABQZzowAAQ2QEACyABQazowABBAiAAIANqQYABakEAIABrEBQgA0GAAWokAA8LIwBBgAFrIgMkACAALwEAIQJBACEAA0AgACADakH/AGogAkEPcSIEQTByIARB1wBqIARBCkkbOgAAIABBAWshACACQf//A3EiBEEEdiECIARBEE8NAAsgAEGAAWoiAkGBAU8EQCACQYABQZzowAAQ2QEACyABQazowABBAiAAIANqQYABakEAIABrEBQgA0GAAWokAAs3AQF/IAAoAgAhACABKAIcIgJBEHFFBEAgAkEgcUUEQCAAIAEQ3QEPCyAAIAEQRg8LIAAgARBHCzcBAX8gACgCACEAIAEoAhwiAkEQcUUEQCACQSBxRQRAIAAgARDbAQ8LIAAgARBIDwsgACABEEULsAIBAn8jAEEgayICJAAgAkEBOwEcIAIgATYCGCACIAA2AhQgAkHI5cAANgIQIAJByOTAADYCDCMAQRBrIgEkACACQQxqIgAoAggiAkUEQEGk4MAAEN4BAAsgASAAKAIMNgIMIAEgADYCCCABIAI2AgQjAEEQayIAJAAgAUEEaiIBKAIAIgIoAgwhAwJAAkACQAJAIAIoAgQOAgABAgsgAw0BQeDdwAAhAkEAIQMMAgsgAw0AIAIoAgAiAigCBCEDIAIoAgAhAgwBCyAAIAI2AgwgAEGAgICAeDYCACAAQejgwAAgASgCBCIAKAIIIAEoAgggAC0AECAALQAREDQACyAAIAM2AgQgACACNgIAIABB1ODAACABKAIEIgAoAgggASgCCCAALQAQIAAtABEQNAALMwEBfyMAQRBrIgIkACACIAAoAgA2AgwgAUHYisAAQQ0gAkEMakHoisAAEDcgAkEQaiQACzABAX8gASgCHCICQRBxRQRAIAJBIHFFBEAgACABENsBDwsgACABEEgPCyAAIAEQRQswAQF/IAEoAhwiAkEQcUUEQCACQSBxRQRAIAAgARDdAQ8LIAAgARBGDwsgACABEEcLMAACQAJAIANp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AgAgCkEwaiQADAILQZ6TwABBxgAgCkEvakHkk8AAQcSUwAAQVgALIwBBMGsiACQAIABBATYCECAAQZTlwAA2AgwgAEIBNwIYIABB7QA2AiggACAAQSRqNgIUIAAgAEEvajYCJCAAQQxqQZiWwAAQkgEACyATQRBqJAAgAAvGAQECfyMAQRBrIgAkACABKAIUQaDfwABBCyABKAIYKAIMEQEAIQMgAEEIaiICQQA6AAUgAiADOgAEIAIgATYCACACIgEtAAQhAwJAIAItAAVFBEAgA0EARyEBDAELQQEhAiADRQRAIAEoAgAiAi0AHEEEcUUEQCABIAIoAhRB9+fAAEECIAIoAhgoAgwRAQAiAToABAwCCyACKAIUQfbnwABBASACKAIYKAIMEQEAIQILIAEgAjoABCACIQELIABBEGokACABCzABAX8gAEEQahAuAkAgACgCACIBQYCAgIB4Rg0AIAFFDQAgACgCBCABQQR0ENQBCwsvAQJ/IAAgACgCqAEiAiAAKAKsAUEBaiIDIAEgAEGyAWoQISAAQdwAaiACIAMQbQsvAQJ/IAAgACgCqAEiAiAAKAKsAUEBaiIDIAEgAEGyAWoQUCAAQdwAaiACIAMQbQsrACABIAJJBEBBjKnAAEEjQfypwAAQjAEACyACIAAgAkEEdGogASACaxASCyUAIABFBEBBqJbAAEEyEOoBAAsgACACIAMgBCAFIAEoAhARBwALMAAgASgCFCAALQAAQQJ0IgBBjI3AAGooAgAgAEHUjMAAaigCACABKAIYKAIMEQEACzAAIAEoAhQgAC0AAEECdCIAQdCNwABqKAIAIABBxI3AAGooAgAgASgCGCgCDBEBAAuoAQEDfyMAQeABayIBJAAjAEHwAWsiAiQAAkACQCAABEAgACgCAA0BIABBADYCACACQQxqIgMgAEHkARD3ARogASADQQRqQeABEPcBGiAAQeQBENQBIAJB8AFqJAAMAgsQ6wEACxDsAQALIAFBxAFqELMBIAFBDGoiABB7IAAQrgEgAUEwaiIAEHsgABCuASABQdAAahCvASABQdwAahC3ASABQeABaiQACyMAIABFBEBBqJbAAEEyEOoBAAsgACACIAMgBCABKAIQEQUACyMAIABFBEBBqJbAAEEyEOoBAAsgACACIAMgBCABKAIQERcACyMAIABFBEBB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cGFydAAAAAQAAAAEAAAABAAAAA0AAABwYXJ0cwAAAAQAAAAEAAAABAAAAA4AAABHcm91bmRFc2NhcGVFc2NhcGVJbnRlcm1lZGlhdGVDc2lFbnRyeUNzaVBhcmFtQ3NpSW50ZXJtZWRpYXRlQ3NpSWdub3JlRGNzRW50cnlEY3NQYXJhbURjc0ludGVybWVkaWF0ZURjc1Bhc3N0aHJvdWdoRGNzSWdub3JlT3NjU3RyaW5nU29zUG1BcGNTdHJpbmdmZ2JnYm9sZAFmYWludGl0YWxpY3VuZGVybGluZXN0cmlrZXRocm91Z2hibGlua2ludmVyc2VCdWZmZXJsaW5lcw8AAAAMAAAABAAAABAAAABjb2xzcm93c3Njcm9sbGJhY2tfbGltaXQEAAAADAAAAAQAAAARAAAAdHJpbV9uZWVkZWQABAAAAAQAAAAEAAAAEgAAAFBhcmFtcwAABAAAAAQAAAAEAAAAEwAAAFBhcnNlcnN0YXRlAAgAAAABAAAAAQAAABQAAABwYXJhbXMAABUAAAAMAAAABAAAABYAAABpbnRlcm1lZGlhdGVzAAAABAAAAAQAAAAEAAAAFwAAAE5vcm1hbEJvbGRGYWludEFzY2lpRHJhd2luZwAYAAAAJAAAAAQAAAAZAAAACAAAAAEAAAABAAAAGgAAAAQAAAAIAAAABAAAABsAAAAEAAAADAAAAAQAAAAcAAAACAAAAAoAAAABAAAAHQAAAAgAAAACAAAAAQAAAB4AAAAfAAAADAAAAAQAAAAgAAAACAAAAAEAAAABAAAAIQAAAAQAAAAUAAAABAAAACIAAAAjAAAADAAAAAQAAAAkAAAAVGVybWluYWxidWZmZXJvdGhlcl9idWZmZXJhY3RpdmVfYnVmZmVyX3R5cGVjdXJzb3JjaGFyc2V0c2FjdGl2ZV9jaGFyc2V0dGFic2luc2VydF9tb2Rlb3JpZ2luX21vZGVhdXRvX3dyYXBfbW9kZW5ld19saW5lX21vZGVuZXh0X3ByaW50X3dyYXBzdG9wX21hcmdpbmJvdHRvbV9tYXJnaW5zYXZlZF9jdHhhbHRlcm5hdGVfc2F2ZWRfY3R4ZGlydHlfbGluZXNyZXNpemFibGVyZXNpemVkACwCEAAEAAAAMAIQAAQAAACgAxAABgAAAKYDEAAMAAAAsgMQABIAAAA0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VVVVVFVVVVVVVVVVBQAUABQEUFVVVVVVVVUVUVVVVVVVVVUAAAAAAABAVVVVVVVVVVVVVVVVVVVVVVVVVVVVVQUAAFRVVVVVVVVVVVVVVVVVFQAAVVVRVVVVVVUFEAAAAQFQVVVVVVVVVVVVVQFVVVVVVVVVVVVVVVVVUFUAAFVVVVVVVVVVVVUFAEHQwsAAC+MNQFVVVVVVVVVVVVVVVVVFVAEAVFEBAFVVBVVVVVVVVVVRVVVVVVVVVVVVVVVVVVVEAVRVUVUVVVUFVVVVVVVVRUFVVVVVVVVVVVVVVVVVVVRBFRRQUVVVVVVVVVVQUVVVARBUUVVVVVUFVVVVVVUFAFFVVVVVVVVVVVVVVVVVVQQBVFVRVQFVVQVVVVVVVVVVRVVVVVVVVVVVVVVVVVVVRVRVVVFVFVVVVVVVVVVVVVVUVFVVVVVVVVVVVVVVVVUEVAUEUFVBVVUFVVVVVVVVVVFVVVVVVVVVVVVVVVVVVRREBQRQVUFVVQVVVVVVVVVVUFVVVVVVVVVVVVVVVVUVRAFUVVFVFVVVBVVVVVVVVVVRVVVVVVVVVVVVVVVVVVVVVVVFFQVEVRVVVVVVVVVVVVVVVVVVVVVVVVVVVVEAQFVVFQBAVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUQAAVFVVAEBVVVVVVVVVVVVVVVVVVVVVVVVQVVVVVVVVEVFVVVVVVVVVVVVVVVVVAQAAQAAEVQEAAAEAAAAAAAAAAFRVRVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUBBABBQVVVVVVVVVAFVFVVVQFUVVVFQVVRVVVVUVVVVVVVVVVVqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqAAAAAAAAAABVVVVVVVVVAVVVVVVVVVVVVVVVVQVUVVVVVVVVBVVVVVVVVVUFVVVVVVVVVQVVVVVVVVVVVVVVVVVVVVVVEABQVUUBAABVVVFVVVVVVVVVVVVVFQBVVVVVVVVVVVVVVVVVQVVVVVVVVVVVUVVVVVVVVVVVVVVVVVVAFVRVRVUBVVVVVVVVFRRVVVVVVVVVVVVVVVVVVUUAQEQBAFQVAAAUVVVVVVVVVVVVVVVVAAAAAAAAAEBVVVVVVVVVVVVVVVUAVVVVVVVVVVVVVVVVAABQBVVVVVVVVVVVVRUAAFVVVVBVVVVVVVVVBVAQUFVVVVVVVVVVVVVVVVVFUBFQVVVVVVVVVVVVVVVVVVUAAAVVVVVVVVVAAAAABABUUVVUUFVVVRUA139fX3//BUD3XdV1VVVVVVVVVVUAAAAAVVdVVf1XVVVVVVVVVVVVV1VVVVVVVVVVAAAAAAAAAABUVVVV1V1dVdV1VVV9VVVVVVVVVVVVVVXVV9V/////Vf//X1VVVV1V////VVVVVXVVVV9VVVVV9XVXVVVV1VVVVVVVVffX39ddXXX91///d1X/VV9dVV9XdVVVVX//9fVfVVVV9f9fVVVdXVVVXVVVVVVV1VVVVVV1VaVVVVVpVVVVVVVVVVVVVVVVVVVVqVaWVVVVVVVVVVVVVVX/////////////////////////////////////////////3///////////Vf///////////1VVVf/////1X1VV3/9fVfX1VV9f9df1X1VVVfVfVdVVVVVpVX1d9VVaVXdVVVVVVVVVVXdVqqqqVVVV399/31VVVZVVVVVVlVVV9VlVpVVVVVXpVfr/7//+///fVe//r/vv+1VZpVVVVVVVVVVWVVVVVV1VVVVmlZpVVVVVVVVV9f//VVVVVVWpVVVVVVVVVlVVlVVVVVVVVZVWVVVVVVVVVVVVVVVVVvlfVVVVVVVVVVVVVVVVVVVVVVVVVVUVUFVVVVVVVVVVVVVVVVVVVVVVVRVVVVVVVVVVVQAAAAAAAAAAqqqqqqqqmqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpVVVWqqqqqqlpVVVVVVVWqqqqqqqqqqqqqqqqqqgoAqqqqaqmqqqqqqqqqqqqqqqqqqqqqqqqqqmqBqqqqqqqqqqqqVamqqqqqqqqqqqqqqaqqqqqqqqqqqqqqqqiqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqVVWVqqqqqqqqqqqqqqpqqqqqqqqqqqqqqv//qqqqqqqqqqqqqqqqqqqqVqqqqqqqqqqqqqqqqqpqVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVRVAAABQVVVVVVVVVQVVVVVVVVVVVVVVVVVVVVVVVVVVVVBVVVVFRRVVVVVVVVVBVVRVVVVVVVBVVVVVVVUAAAAAUFVFFVVVVVVVVVVVVQUAUFVVVVVVFQAAUFVVVaqqqqqqqqpWQFVVVVVVVVVVVVVVFQVQUFVVVVVVVVVVVVFVVVVVVVVVVVVVVVVVVVVVAUBBQVVVFVVVVFVVVVVVVVVVVVVVVFVVVVVVVVVVVVVVVQQUVAVRVVVVVVVVVVVVVVBVRVVVVVVVVVVVVVVVUVRRVVVVVaqqqqqqqqqqqlVVVQAAAAAAQBUAQb/QwAALoQhVVVVVVVVVVUVVVVVVVVVVVQAAAACqqlpVAAAAAKqqqqqqqqqqaqqqqqpqqlVVVVVVqqqqqqqqqqpWVVVVVVVVVVVVVVVVVVUFVFVVVVVVVVVVVVVVVVVVVapqVVUAAFRdVVVVVVVVVVVVVVVVVVVVUVVVVVVVVVVVVFVVVVVVVVVVVVVVVVVVVVVVVVVVBUBVAUFVAFVVVVVVVVVVVVVAFVVVVVVVVVVVVUFVVVVVVVVVVVVVVVVVVVUAVVVVVVVVVVVVVVVVVVVVVRVUVVVVVVVVVVVVVVVVVVVVVVVVVQFVBQAAVFVVVVVVVVVVVVVVBVBVVVVVVVVVVVVVVVVVVVFVVVVVVVVVVVVVVVVVAAAAQFVVVVVVVVVVVVUUVFUVUFVVVVVVVVVVVVVVFUBBVUVVVVVVVVVVVVVVVVVVVVVAVVVVVVVVVVUVAAEAVFVVVVVVVVVVVVVVVVVVFVVVVVBVVVVVVVVVVVVVVVUFAEBVVQEUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUVUARVRVVVVVVVVVUVFQBAVVVVVVVUVVVVVRVVVVUFAFQAVFVVVVVVVVVVVVVVVVVVVVUAAAVEVVVVVVVFVVVVVVVVVVVVVVVVVVVVVVVVVVUUAEQRBFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVFQVQVRBUVVVVVVVVUFVVVVVVVVVVVVVVVVVVVVVVVVVVFQBAEVRVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVFVEAEFVVVVVVVVVVVQEFEABVVVVVVVVVVVVVVVVVVVVVFQAAQVVVVVVVVVVVVVVVVVVUVRVEFVVVVVVVVVVVVVVVVVVVVVVVVVVVAAVVVFVVVVVVVVUBAEBVVVVVVVVVVVUVABRAVRVVVQFAAVVVVVVVVVVVVVVVBQAAQFBVVVVVVVVVVVVVVVVVVVVVVVVVVVUAQAAQVVVVVQUAAAAAAAUABEFVVVVVVVVVVVVVVVVVVQFARRAAEFVVVVVVVVVVVVVVVVVVVVVVVVARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVRVUVVVQVVVVVVVVVVVVVVVVBUBVRFVVVVVVVVVVVVVVVVVVVVQVAAAAUFVVVVVVVVVVVVVVVVVVVVVVVVVVVVUAVFVVVVVVVVVVVVVVVVVVAEBVVVVVVRVVVVVVVVVVVVVVVVVVVVUVQFVVVVVVVVVVVVVVVVVVVVVVVVWqVFVVWlVVVaqqqqqqqqqqqqqqqqqqVVWqqqqqqlpVVVVVVVVVVVVVqqpWVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVaqpqmmqqqqqqqqqqmpVVVVlVVVVVVVVVWpZVVVVqlVVqqqqqqqqqqqqqqqqqqqqqqqqqlVVVVVVVVVVQQBVVVVVVVVVAEHr2MAAC0VQAAAAAABAVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVURUAUAAAAAQAEAVVVVVVVVVQVQVVVVVQVUVVVVVVVVVVVVVVVVVVUAQb3ZwAALAkAVAEHL2cAAC8slVFVRVVVVVFVVVVUVAAEAAABVVVVVAEAAAAAAFAAQBEBVVVVVVVVVVVVVVVVVVVVVRVVVVVVVVVVVVVVVVVVVVQBVVVVVVVVVVQBAVVVVVVVVVVVVVVUAQFVVVVVVVVVVVVVVVVVVVlVVVVVVVVVVVVVVVVVVVVVVlVVVVVVVVVVVVVVVVf//f1X/////////X///////////////////X1X/////////76uq6v////9XVVVVVWpVVVWqqqqqqqqqqqqqqlWqqlZVWlVVVapaVVVVVVVVqqqqqqqqqqpWVVWpqpqqqqqqqqqqqqqqqqqqqqqqqqaqqqqqqlVVVaqqqqqqqqqqqqpqlapVVVWqqqqqVlaqqqqqqqqqqqqqqqqqqqqqqmqmqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqlqqqqqqqqqqqqqqqqqqqqlpVVZVqqqqqqqqqVVVVVWVVVVVVVVVpVVVVVlVVVVVVVVVVVVVVVVVVVVVVVVVVlaqqqqqqVVVVVVVVVVVVVVVVqlpVVmqpVapVVZVWVaqqVlVVVVVVVVVVqqqqVVZVVVVVVVWqqqqqqqqqqqqqqmqqqpqqqqqqqqqqqqqqqqqqqlVVVVVVVVVVVVVVVaqqqlaqqlZVqqqqqqqqqqqqqqqaqlpVpaqqqlWqqlZVqqpWVf///////////////////19YAAAADAAAAAQAAABZAAAAWgAAAFsAAAAvcnVzdC9kZXBzL2RsbWFsbG9jLTAuMi42L3NyYy9kbG1hbGxvYy5yc2Fzc2VydGlvbiBmYWlsZWQ6IHBzaXplID49IHNpemUgKyBtaW5fb3ZlcmhlYWQA+C4QACkAAACoBAAACQAAAGFzc2VydGlvbiBmYWlsZWQ6IHBzaXplIDw9IHNpemUgKyBtYXhfb3ZlcmhlYWQAAPguEAApAAAArgQAAA0AAABBY2Nlc3NFcnJvcm1lbW9yeSBhbGxvY2F0aW9uIG9mICBieXRlcyBmYWlsZWQAAACrLxAAFQAAAMAvEAANAAAAbGlicmFyeS9zdGQvc3JjL2FsbG9jLnJz4C8QABgAAABiAQAACQAAAGxpYnJhcnkvc3RkL3NyYy9wYW5pY2tpbmcucnMIMBAAHAAAAIQCAAAeAAAAWAAAAAwAAAAEAAAAXAAAAF0AAAAIAAAABAAAAF4AAABdAAAACAAAAAQAAABfAAAAYAAAAGEAAAAQAAAABAAAAGIAAABjAAAAZAAAAAAAAAABAAAAZQAAAEhhc2ggdGFibGUgY2FwYWNpdHkgb3ZlcmZsb3eMMBAAHAAAAC9ydXN0L2RlcHMvaGFzaGJyb3duLTAuMTQuMy9zcmMvcmF3L21vZC5ycwAAsDAQACoAAABWAAAAKAAAAEVycm9yAAAAZgAAAAwAAAAEAAAAZwAAAGgAAABpAAAAY2FwYWNpdHkgb3ZlcmZsb3cAAAAMMRAAEQAAAGxpYnJhcnkvYWxsb2Mvc3JjL3Jhd192ZWMucnMoMRAAHAAAABkAAAAFAAAAYSBmb3JtYXR0aW5nIHRyYWl0IGltcGxlbWVudGF0aW9uIHJldHVybmVkIGFuIGVycm9yAGoAAAAAAAAAAQAAAGsAAABsaWJyYXJ5L2FsbG9jL3NyYy9mbXQucnOYMRAAGAAAAHkCAAAgAAAAKSBzaG91bGQgYmUgPCBsZW4gKGlzIClpbnNlcnRpb24gaW5kZXggKGlzICkgc2hvdWxkIGJlIDw9IGxlbiAoaXMgAADXMRAAFAAAAOsxEAAXAAAA1jEQAAEAAAByZW1vdmFsIGluZGV4IChpcyAAABwyEAASAAAAwDEQABYAAADWMRAAAQAAAGxpYnJhcnkvY29yZS9zcmMvZm10L21vZC5ycykwMTIzNDU2Nzg5YWJjZGVmQm9ycm93TXV0RXJyb3JhbHJlYWR5IGJvcnJvd2VkOiCCMhAAEgAAAFtjYWxsZWQgYE9wdGlvbjo6dW53cmFwKClgIG9uIGEgYE5vbmVgIHZhbHVlcQAAAAAAAAABAAAAcgAAAGluZGV4IG91dCBvZiBib3VuZHM6IHRoZSBsZW4gaXMgIGJ1dCB0aGUgaW5kZXggaXMgAADYMhAAIAAAAPgyEAASAAAAcwAAAAQAAAAEAAAAdAAAAD09IT1tYXRjaGVzYXNzZXJ0aW9uIGBsZWZ0ICByaWdodGAgZmFpbGVkCiAgbGVmdDogCiByaWdodDogADczEAAQAAAARzMQABcAAABeMxAACQAAACByaWdodGAgZmFpbGVkOiAKICBsZWZ0OiAAAAA3MxAAEAAAAIAzEAAQAAAAkDMQAAkAAABeMxAACQAAADogAABIMhAAAAAAALwzEAACAAAAcwAAAAwAAAAEAAAAdQAAAHYAAAB3AAAAICAgICB7ICwgIHsKLAp9IH0oKAosCl1saWJyYXJ5L2NvcmUvc3JjL2ZtdC9udW0ucnMAAP8zEAAbAAAAaQAAABcAAAAweDAwMDEwMjAzMDQwNTA2MDcwODA5MTAxMTEyMTMxNDE1MTYxNzE4MTkyMDIxMjIyMzI0MjUyNjI3MjgyOTMwMzEzMjMzMzQzNTM2MzczODM5NDA0MTQyNDM0NDQ1NDY0NzQ4NDk1MDUxNTI1MzU0NTU1NjU3NTg1OTYwNjE2MjYzNjQ2NTY2Njc2ODY5NzA3MTcyNzM3NDc1NzY3Nzc4Nzk4MDgxODI4Mzg0ODU4Njg3ODg4OTkwOTE5MjkzOTQ5NTk2OTc5ODk5AABIMhAAGwAAAAIIAAAJAAAAcwAAAAgAAAAEAAAAbgAAAGZhbHNldHJ1ZXJhbmdlIHN0YXJ0IGluZGV4ICBvdXQgb2YgcmFuZ2UgZm9yIHNsaWNlIG9mIGxlbmd0aCAAAAAhNRAAEgAAADM1EAAiAAAAcmFuZ2UgZW5kIGluZGV4IGg1EAAQAAAAMzUQACIAAABzbGljZSBpbmRleCBzdGFydHMgYXQgIGJ1dCBlbmRzIGF0IACINRAAFgAAAJ41EAANAAAAYXR0ZW1wdGVkIHRvIGluZGV4IHNsaWNlIHVwIHRvIG1heGltdW0g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AwEFKwM8CCoYASA3AQEBBAgEAQMHCgIdAToBAQECBAgBCQEKAhoBAgI5AQQCBAICAwMBHgIDAQsCOQEEBQECBAEUAhYGAQE6AQECAQQIAQcDCgIeATsBAQEMAQkBKAEDATcBAQMFAwEEBwILAh0BOgECAQIBAwEFAgcCCwIcAjkCAQECBAgBCQEKAh0BSAEEAQIDAQEIAVEBAgcMCGIBAgkLB0kCGwEBAQEBNw4BBQECBQsBJAkBZgQBBgECAgIZAgQDEAQNAQICBgEPAQADAAMdAh4CHgJAAgEHCAECCwkBLQMBAXUCIgF2AwQCCQEGA9sCAgE6AQEHAQEBAQIIBgoCATAfMQQwBwEBBQEoCQwCIAQCAgEDOAEBAgMBAQM6CAICmAMBDQEHBAEGAQMCxkAAAcMhAAONAWAgAAZpAgAEAQogAlACAAEDAQQBGQIFAZcCGhINASYIGQsuAzABAgQCAicBQwYCAgICDAEIAS8BMwEBAwICBQIBASoCCAHuAQIBBAEAAQAQEBAAAgAB4gGVBQADAQIFBCgDBAGlAgAEAAJQA0YLMQR7ATYPKQECAgoDMQQCAgcBPQMkBQEIPgEMAjQJCgQCAV8DAgEBAgYBAgGdAQMIFQI5AgEBAQEWAQ4HAwXDCAIDAQEXAVEBAgYBAQIBAQIBAusBAgQGAgECGwJVCAIBAQJqAQEBAgYBAWUDAgQBBQAJAQL1AQoCAQEEAZAEAgIEASAKKAYCBAgBCQYCAy4NAQIABwEGAQFSFgIHAQIBAnoGAwEBAgEHAQFIAgMBAQEAAgsCNAUFAQEBAAEGDwAFOwcAAT8EUQEAAgAuAhcAAQEDBAUICAIHHgSUAwA3BDIIAQ4BFgUBDwAHARECBwECAQVkAaAHAAE9BAAEAAdtBwBggPAAewlwcm9kdWNlcnMCCGxhbmd1YWdlAQRSdXN0AAxwcm9jZXNzZWQtYnkDBXJ1c3RjHTEuNzguMCAoOWIwMDk1NmU1IDIwMjQtMDQtMjkpBndhbHJ1cwYwLjIwLjMMd2FzbS1iaW5kZ2VuEjAuMi45MiAoMmE0YTQ5MzYyKQAsD3RhcmdldF9mZWF0dXJlcwIrD211dGFibGUtZ2xvYmFscysIc2lnbi1leHQ=");function LA(A){return"number"==typeof A?A:"string"==typeof A?A.split(":").reverse().map(parseFloat).reduce(((A,g,I)=>A+g*Math.pow(60,I))):void 0}class mA{constructor(){let A=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;this.speed=A,this.startTime=performance.now()}getTime(){return this.speed*(performance.now()-this.startTime)/1e3}setTime(A){this.startTime=performance.now()-A/this.speed*1e3}}class HA{constructor(){}getTime(A){}setTime(A){}}const KA=(async()=>(await JA(pA),YA))();class zA{constructor(A){this.core=A,this.driver=A.driver}onEnter(A){}init(){}play(){}pause(){}togglePlay(){}seek(A){return!1}step(){}stop(){this.driver.stop()}}class bA extends zA{async init(){try{return await this.core.initializeDriver(),this.core.setState("idle")}catch(A){throw this.core.setState("errored"),A}}async play(){this.core.dispatchEvent("play");const A=await this.init();await A.doPlay()}async togglePlay(){await this.play()}async seek(A){const g=await this.init();return await g.seek(A)}async step(){const A=await this.init();await A.step()}stop(){}}class vA extends zA{onEnter(A){let{reason:g,message:I}=A;this.core.dispatchEvent("idle",{message:I}),"paused"===g&&this.core.dispatchEvent("pause")}async play(){this.core.dispatchEvent("play"),await this.doPlay()}async doPlay(){const A=await this.driver.play();!0===A?this.core.setState("playing"):"function"==typeof A&&(this.core.setState("playing"),this.driver.stop=A)}async togglePlay(){await this.play()}seek(A){return this.driver.seek(A)}step(){this.driver.step()}}class xA extends zA{onEnter(){this.core.dispatchEvent("playing")}pause(){!0===this.driver.pause()&&this.core.setState("idle",{reason:"paused"})}togglePlay(){this.pause()}seek(A){return this.driver.seek(A)}}class ZA extends zA{onEnter(){this.core.dispatchEvent("loading")}}class WA extends zA{onEnter(A){let{message:g}=A;this.core.dispatchEvent("offline",{message:g})}}class TA extends zA{onEnter(A){let{message:g}=A;this.core.dispatchEvent("ended",{message:g})}async play(){this.core.dispatchEvent("play"),await this.driver.restart()&&this.core.setState("playing")}async togglePlay(){await this.play()}seek(A){return!0===this.driver.seek(A)&&(this.core.setState("idle"),!0)}}class jA extends zA{onEnter(){this.core.dispatchEvent("errored")}}class XA{constructor(A,g){this.logger=g.logger,this.state=new bA(this),this.stateName="uninitialized",this.driver=null,this.driverFn=A,this.changedLines=new Set,this.cursor=void 0,this.duration=void 0,this.cols=g.cols,this.rows=g.rows,this.speed=g.speed??1,this.loop=g.loop,this.idleTimeLimit=g.idleTimeLimit,this.preload=g.preload,this.startAt=LA(g.startAt),this.poster=this.parsePoster(g.poster),this.markers=this.normalizeMarkers(g.markers),this.pauseOnMarkers=g.pauseOnMarkers,this.commandQueue=Promise.resolve(),this.eventHandlers=new Map([["ended",[]],["errored",[]],["idle",[]],["init",[]],["input",[]],["loading",[]],["marker",[]],["offline",[]],["pause",[]],["play",[]],["playing",[]],["reset",[]],["resize",[]],["seeked",[]],["terminalUpdate",[]]])}addEventListener(A,g){this.eventHandlers.get(A).push(g)}dispatchEvent(A){let g=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};for(const I of this.eventHandlers.get(A))I(g)}async init(){this.wasm=await KA;const A=this.feed.bind(this),g=this.now.bind(this),I=this.resetVt.bind(this),B=this.setState.bind(this),Q="npt"===this.poster.type?this.poster.value:void 0;this.driver=this.driverFn({feed:A,onInput:A=>{this.dispatchEvent("input",{data:A})},onMarker:A=>{let{index:g,time:I,label:B}=A;this.dispatchEvent("marker",{index:g,time:I,label:B})},reset:I,now:g,setTimeout:(A,g)=>window.setTimeout(A,g/this.speed),setInterval:(A,g)=>window.setInterval(A,g/this.speed),setState:B,logger:this.logger},{cols:this.cols,rows:this.rows,idleTimeLimit:this.idleTimeLimit,startAt:this.startAt,loop:this.loop,posterTime:Q,markers:this.markers,pauseOnMarkers:this.pauseOnMarkers}),"function"==typeof this.driver&&(this.driver={play:this.driver}),(this.preload||void 0!==Q)&&this.withState((A=>A.init()));const C="text"===this.poster.type?this.renderPoster(this.poster.value):void 0,E={isPausable:!!this.driver.pause,isSeekable:!!this.driver.seek,poster:C};if(void 0===this.driver.init&&(this.driver.init=()=>({})),void 0===this.driver.pause&&(this.driver.pause=()=>{}),void 0===this.driver.seek&&(this.driver.seek=A=>!1),void 0===this.driver.step&&(this.driver.step=()=>{}),void 0===this.driver.stop&&(this.driver.stop=()=>{}),void 0===this.driver.restart&&(this.driver.restart=()=>{}),void 0===this.driver.getCurrentTime){const A=this.driver.play;let g=new HA;this.driver.play=()=>(g=new mA(this.speed),A()),this.driver.getCurrentTime=()=>g.getTime()}return E}play(){return this.withState((A=>A.play()))}pause(){return this.withState((A=>A.pause()))}togglePlay(){return this.withState((A=>A.togglePlay()))}seek(A){return this.withState((async g=>{await g.seek(A)&&this.dispatchEvent("seeked")}))}step(){return this.withState((A=>A.step()))}stop(){return this.withState((A=>A.stop()))}withState(A){return this.enqueueCommand((()=>A(this.state)))}enqueueCommand(A){return this.commandQueue=this.commandQueue.then(A),this.commandQueue}getChangedLines(){if(this.changedLines.size>0){const A=new Map,g=this.vt.rows;for(const I of this.changedLines)I 1&&void 0!==arguments[1]?arguments[1]:{};if(this.stateName===A)return this.state;if(this.stateName=A,"playing"===A)this.state=new xA(this);else if("idle"===A)this.state=new vA(this);else if("loading"===A)this.state=new ZA(this);else if("ended"===A)this.state=new TA(this);else if("offline"===A)this.state=new WA(this);else{if("errored"!==A)throw`invalid state: ${A}`;this.state=new jA(this)}return this.state.onEnter(g),this.state}feed(A){this.doFeed(A),this.dispatchEvent("terminalUpdate")}doFeed(A){const[g,I]=this.vt.feed(A);if(g.forEach((A=>this.changedLines.add(A))),this.cursor=void 0,I){const[A,g]=this.vt.get_size();this.vt.cols=A,this.vt.rows=g,this.logger.debug(`core: vt resize (${A}x${g})`),this.dispatchEvent("resize",{cols:A,rows:g})}}now(){return performance.now()*this.speed}async initializeDriver(){const A=await this.driver.init();this.cols=this.cols??A.cols??80,this.rows=this.rows??A.rows??24,this.duration=this.duration??A.duration,this.markers=this.normalizeMarkers(A.markers)??this.markers??[],0===this.cols&&(this.cols=80),0===this.rows&&(this.rows=24),this.initializeVt(this.cols,this.rows);const g=void 0!==A.poster?this.renderPoster(A.poster):void 0;this.dispatchEvent("init",{cols:this.cols,rows:this.rows,duration:this.duration,markers:this.markers,theme:A.theme,poster:g})}resetVt(A,g){let I=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0,B=arguments.length>3&&void 0!==arguments[3]?arguments[3]:void 0;this.cols=A,this.rows=g,this.cursor=void 0,this.initializeVt(A,g),void 0!==I&&""!==I&&this.doFeed(I),this.dispatchEvent("reset",{cols:A,rows:g,theme:B})}initializeVt(A,g){this.logger.debug(`core: vt init (${A}x${g})`),this.vt=this.wasm.create(A,g,!0,100),this.vt.cols=A,this.vt.rows=g,this.changedLines.clear();for(let A=0;A B.feed(A)));const Q=B.get_cursor()??!1,C=[];for(let A=0;A"number"==typeof A?[A,""]:A))}}const OA=Symbol("store-raw"),PA=Symbol("store-node"),_A=Symbol("store-name");function $A(A,g){let B=A[I];if(!B&&(Object.defineProperty(A,I,{value:B=new Proxy(A,Eg)}),!Array.isArray(A))){const g=Object.keys(A),I=Object.getOwnPropertyDescriptors(A);for(let Q=0,C=g.length;Q !0,deleteProperty:()=>!0,ownKeys:function(A){return Qg(A),Reflect.ownKeys(A)},getOwnPropertyDescriptor:function(A,g){const B=Reflect.getOwnPropertyDescriptor(A,g);return B&&!B.get&&B.configurable&&g!==I&&g!==PA&&g!==_A?(delete B.value,delete B.writable,B.get=()=>A[I][g],B):B}};function eg(A,g,I,B=!1){if(!B&&A[g]===I)return;const Q=A[g],C=A.length;void 0===I?delete A[g]:A[g]=I;let E,e=Ig(A);(E=Bg(e,g,Q))&&E.$((()=>I)),Array.isArray(A)&&A.length!==C&&(E=Bg(e,"length",C))&&E.$(A.length),(E=e._)&&E.$()}function ig(A,g){const I=Object.keys(g);for(let B=0;B 1){B=g.shift();const C=typeof B,E=Array.isArray(A);if(Array.isArray(B)){for(let Q=0;Q 1)return void Vg(A[B],g,[B].concat(I));Q=A[B],I=[B].concat(I)}let C=g[0];"function"==typeof C&&(C=C(Q,I),C===Q)||void 0===B&&null==C||(C=gg(C),void 0===B||Ag(Q)&&Ag(C)&&!Array.isArray(C)?ig(Q,C):eg(A,B,C))}function tg(...[A,g]){const I=gg(A||{}),B=Array.isArray(I);return[$A(I),function(...A){h((()=>{B&&1===A.length?function(A,g){if("function"==typeof g&&(g=g(A)),g=gg(g),Array.isArray(g)){if(A===g)return;let I=0,B=g.length;for(;I=E&&i>=E&&(C[e]===A[i]||Q&&C[E]&&A[E]&&C[e][Q]===A[i][Q]);e--,i--)s[i]=C[e];if(E>i||E>e){for(I=E;I<=i;I++)eg(C,I,A[I]);for(;I A.length&&eg(C,"length",A.length))}for(t=new Array(i+1),I=i;I>=E;I--)V=A[I],o=Q&&V?V[Q]:V,g=n.get(o),t[I]=void 0===g?-1:g,n.set(o,I);for(g=E;g<=e;g++)V=C[g],o=Q&&V?V[Q]:V,I=n.get(o),void 0!==I&&-1!==I&&(s[I]=C[g],I=t[I],n.set(o,I));for(I=E;I A.length&&eg(C,"length",A.length))}const E=Object.keys(A);for(let g=0,I=E.length;g{if(!Ag(A)||!Ag(Q))return Q;const g=sg(Q,{[og]:A},og,I,B);return void 0===g?A:g}}const rg=P("");var ag=A=>{const g=D((()=>{if(1==A.text.length){const g=A.text.codePointAt(0);if(g>=9600&&g<=9631||57520==g||57522==g)return g}})),I=D((()=>g()?" ":A.text)),B=D((()=>function(A,g,I,B){const Q=A.get("fg"),C=A.get("bg");let E={"--offset":g,width:I*B+.01+"ch"};"string"==typeof Q&&(E["--fg"]=Q);"string"==typeof C&&(E["--bg"]=C);return E}(A.pen,A.offset,I().length,A.charWidth))),Q=D((()=>function(A,g,I){const B=cg(A.get("fg"),A.get("bold"),"fg-"),Q=cg(A.get("bg"),A.get("blink"),"bg-");let C=I??"";void 0!==g&&(C+=` cp-${g.toString(16)}`);B&&(C+=" "+B);Q&&(C+=" "+Q);A.has("bold")&&(C+=" ap-bright");A.has("faint")&&(C+=" ap-faint");A.has("italic")&&(C+=" ap-italic");A.has("underline")&&(C+=" ap-underline");A.has("blink")&&(C+=" ap-blink");A.get("inverse")&&(C+=" ap-inverse");return C}(A.pen,g(),A.extraClass)));return(()=>{const A=rg.cloneNode(!0);return BA(A,I),w((g=>{const I=Q(),C=B();return I!==g._v$&&$(A,g._v$=I),g._v$2=gA(A,C,g._v$2),g}),{_v$:void 0,_v$2:void 0}),A})()};function cg(A,g,I){if("number"==typeof A)return g&&A<8&&(A+=8),`${I}${A}`}const wg=P('');var Dg=A=>(()=>{const g=wg.cloneNode(!0);return BA(g,K(Z,{get each(){return(()=>{if("number"==typeof A.cursor){const g=[];let I=0,B=0;for(;B 0&&g.push({...Q,text:Q.text.substring(0,C)}),g.push({...Q,text:Q.text[C],offset:Q.offset+C,extraClass:"ap-cursor"}),C K(ag,function(...A){let g=!1;for(let B=0;B =0;I--){const B=v(A[I])[g];if(void 0!==B)return B}},has(g){for(let I=A.length-1;I>=0;I--)if(g in v(A[I]))return!0;return!1},keys(){const g=[];for(let I=0;I =0;g--)if(A[g]){const I=Object.getOwnPropertyDescriptors(A[g]);for(const g in I)g in B||Object.defineProperty(B,g,{enumerable:!0,get(){for(let I=A.length-1;I>=0;I--){const B=(A[I]||{})[g];if(void 0!==B)return B}}})}return B}(A))})),g})();const hg=P('');var lg=A=>{const g=()=>A.lineHeight??1.3333333333,I=D((()=>({width:`${A.cols}ch`,height:g()*A.rows+"em","font-size":100*(A.scale||1)+"%","font-family":A.fontFamily,"--term-line-height":`${g()}em`,"--term-cols":A.cols}))),B=D((()=>A.cursor?.[0])),Q=D((()=>A.cursor?.[1]));return(()=>{const g=hg.cloneNode(!0),C=A.ref;return"function"==typeof C?IA(C,g):A.ref=g,BA(g,K(x,{get each(){return A.lines},children:(A,g)=>K(Dg,{get segments(){return A.segments},get cursor(){return D((()=>g()===Q()))()?B():null}})})),w((B=>{const Q=!(!A.blink&&!A.cursorHold),C=!!A.blink,E=I();return Q!==B._v$&&g.classList.toggle("ap-cursor-on",B._v$=Q),C!==B._v$2&&g.classList.toggle("ap-blink",B._v$2=C),B._v$3=gA(g,E,B._v$3),B}),{_v$:void 0,_v$2:void 0,_v$3:void 0}),g})()};const Mg=P(''),yg=P(''),Gg=P(''),kg=P('');function ug(A){let g=Math.floor(A);const I=Math.floor(g/86400);g%=86400;const B=Math.floor(g/3600);g%=3600;const Q=Math.floor(g/60);return g%=60,I>0?`${Ng(I)}:${Ng(B)}:${Ng(Q)}:${Ng(g)}`:B>0?`${Ng(B)}:${Ng(Q)}:${Ng(g)}`:`${Ng(Q)}:${Ng(g)}`}function Ng(A){return A<10?`0${A}`:A.toString()}var fg=A=>{const g=A=>g=>{g.preventDefault(),A(g)},I=()=>"number"==typeof A.currentTime?ug(A.currentTime):"--:--",B=()=>"number"==typeof A.remainingTime?"-"+ug(A.remainingTime):I(),Q=D((()=>"number"==typeof A.duration?A.markers.filter((g=>g[0] '),Fg=P(' '),dg=P('{const g=A.currentTarget.offsetWidth,I=A.currentTarget.getBoundingClientRect(),B=A.clientX-I.left;return 100*Math.max(0,B/g)+"%"},[E,e]=c(!1),i=function(A,g){let I=!0;return function(){if(I){I=!1;for(var B=arguments.length,Q=new Array(B),C=0;CI=!0),g)}}}(A.onSeekClick,50),V=g=>{g._marker||g.altKey||g.shiftKey||g.metaKey||g.ctrlKey||0!==g.button||(e(!0),A.onSeekClick(C(g)))},t=A=>{A.altKey||A.shiftKey||A.metaKey||A.ctrlKey||E()&&i(C(A))},o=()=>{e(!1)};return document.addEventListener("mouseup",o),y((()=>{document.removeEventListener("mouseup",o)})),(()=>{const C=Fg.cloneNode(!0),E=C.firstChild,e=E.firstChild,i=e.nextSibling,o=E.nextSibling,s=A.ref;return"function"==typeof s?IA(s,C):A.ref=C,BA(C,K(W,{get when(){return A.isPausable},get children(){const I=Gg.cloneNode(!0);return AA(I,"click",g(A.onPlayClick),!0),BA(I,K(T,{get children(){return[K(j,{get when(){return A.isPlaying},get children(){return Mg.cloneNode(!0)}}),K(j,{get when(){return!A.isPlaying},get children(){return yg.cloneNode(!0)}})]}})),I}}),E),BA(e,I),BA(i,B),BA(C,K(W,{get when(){return"number"==typeof A.progress||A.isSeekable},get children(){const I=kg.cloneNode(!0),B=I.firstChild,C=B.firstChild.nextSibling;return B.$$mousemove=t,B.$$mousedown=V,BA(B,K(x,{get each(){return Q()},children:(I,B)=>(()=>{const Q=dg.cloneNode(!0),C=Q.firstChild,E=C.nextSibling;var e;return Q.$$mousedown=A=>{A._marker=!0},AA(Q,"click",(e=B(),g((()=>{A.onSeekClick({marker:e})}))),!0),BA(E,(()=>(A=>""===A[1]?ug(A[0]):`${ug(A[0])} - ${A[1]}`)(I))),w((g=>{const B=(g=>g[0]/A.duration*100+"%")(I),E=!!(g=>"number"==typeof A.currentTime&&g[0]<=A.currentTime)(I);return B!==g._v$&&Q.style.setProperty("left",g._v$=B),E!==g._v$2&&C.classList.toggle("ap-marker-past",g._v$2=E),g}),{_v$:void 0,_v$2:void 0}),Q})()}),null),w((g=>gA(C,{transform:`scaleX(${A.progress||0}`},g))),I}}),o),AA(o,"click",g(A.onFullscreenClick),!0),w((()=>C.classList.toggle("ap-seekable",!!A.isSeekable))),C})()};_(["click","mousedown","mousemove"]);const Rg=P(' ');var qg=A=>Rg.cloneNode(!0);const Jg=P(' ');var Yg=A=>Jg.cloneNode(!0);const Ug=P(' ');var Sg=A=>(()=>{const g=Ug.cloneNode(!0),I=g.firstChild;return BA(I,(()=>A.message)),w((g=>gA(I,{"font-family":A.fontFamily},g))),g})();const pg=P(' ');var Lg=A=>(()=>{const g=pg.cloneNode(!0);var I;return AA(g,"click",(I=A.onClick,A=>{A.preventDefault(),I(A)}),!0),g})();_(["click"]);const mg=P(' ');var Hg=A=>(()=>{const g=mg.cloneNode(!0),I=g.firstChild;var B;return AA(g,"click",(B=A.onClose,A=>{A.preventDefault(),B(A)}),!0),I.$$click=A=>{A.stopPropagation()},w((I=>gA(g,{"font-family":A.fontFamily},I))),g})();_(["click"]);const Kg=P('');var zg=A=>{const g=A.logger,I=A.core,B=A.autoPlay,[Q,C]=tg({lines:[],cursor:void 0,charW:A.charW,charH:A.charH,bordersW:A.bordersW,bordersH:A.bordersH,containerW:0,containerH:0,isPausable:!0,isSeekable:!0,isFullscreen:!1,currentTime:null,remainingTime:null,progress:null,blink:!0,cursorHold:!1}),[E,e]=c(!1),[i,V]=c(B?null:"start"),[t,o]=c(null),[s,n]=c({cols:A.cols,rows:A.rows},{equals:(A,g)=>A.cols===g.cols&&A.rows===g.rows}),[r,a]=c(void 0),[l,G]=tg([]),[k,F]=c(!1),[d,u]=c(!1),[N,f]=c(void 0),R=D((()=>s().cols||80)),q=D((()=>s().rows||24)),J=()=>!1===A.controls?0:32;let Y,U,S,p,L,m,H,z,b;function v(){oA(),iA(),VA()}function x(A){h((()=>{A.rows{let{cols:g,rows:I,duration:B,theme:Q,poster:C,markers:E}=A;h((()=>{x({cols:g,rows:I}),a(B),f(Q),G(E),Z(C)}))})),I.addEventListener("play",(()=>{V(null)})),I.addEventListener("playing",(()=>{h((()=>{e(!0),V(null),O(),tA(),eA()}))})),I.addEventListener("idle",(()=>{h((()=>{e(!1),v()}))})),I.addEventListener("loading",(()=>{h((()=>{e(!1),v(),V("loader")}))})),I.addEventListener("offline",(A=>{let{message:g}=A;h((()=>{e(!1),v(),void 0!==g&&(o(g),V("info"))}))})),I.addEventListener("ended",(A=>{let{message:g}=A;h((()=>{e(!1),v(),void 0!==g&&(o(g),V("info"))}))})),I.addEventListener("errored",(()=>{V("error")})),I.addEventListener("resize",x),I.addEventListener("reset",(A=>{let{cols:g,rows:I,theme:B}=A;h((()=>{x({cols:g,rows:I}),f(B),O()}))})),I.addEventListener("seeked",(()=>{VA()})),I.addEventListener("terminalUpdate",(()=>{void 0===Y&&(Y=requestAnimationFrame(O))}));const X=()=>{b=new ResizeObserver(function(A,g){let I;return function(){for(var B=arguments.length,Q=new Array(B),C=0;CA.apply(this,Q)),g)}}((A=>{C({containerW:L.offsetWidth,containerH:L.offsetHeight}),L.dispatchEvent(new CustomEvent("resize",{detail:{el:m}}))}),10)),b.observe(L)};M((async()=>{g.info("player mounted"),g.debug("font measurements",{charW:Q.charW,charH:Q.charH}),X();const{isPausable:A,isSeekable:E,poster:e}=await I.init();h((()=>{C({isPausable:A,isSeekable:E,containerW:L.offsetWidth,containerH:L.offsetHeight}),Z(e)})),B&&I.play()})),y((()=>{I.stop(),oA(),iA(),b.disconnect()}));const O=()=>{const A=I.getChangedLines();h((()=>{A&&A.forEach(((A,g)=>{C("lines",g,ng(A))})),C("cursor",ng(I.getCursor())),C("cursorHold",!0)})),Y=void 0},P=D((()=>{const g=Q.charW*R()+Q.bordersW,I=Q.charH*q()+Q.bordersH;let B=A.fit??"width";if("both"===B||Q.isFullscreen){B=Q.containerW/(Q.containerH-J())>g/I?"height":"width"}if(!1===B||"none"===B)return{};if("width"===B){const A=Q.containerW/g;return{scale:A,width:Q.containerW,height:I*A+J()}}if("height"===B){const A=(Q.containerH-J())/I;return{scale:A,width:g*A,height:Q.containerH}}throw`unsupported fit mode: ${B}`})),_=()=>{C("isFullscreen",document.fullscreenElement??document.webkitFullscreenElement)},AA=()=>{Q.isFullscreen?(document.exitFullscreen??document.webkitExitFullscreen??(()=>{})).apply(document):(L.requestFullscreen??L.webkitRequestFullscreen??(()=>{})).apply(L)},QA=A=>{if(!(A.altKey||A.metaKey||A.ctrlKey)){if(" "==A.key)I.togglePlay();else if("."==A.key)I.step(),VA();else if("f"==A.key)AA();else if("["==A.key)I.seek({marker:"prev"});else if("]"==A.key)I.seek({marker:"next"});else if(A.key.charCodeAt(0)>=48&&A.key.charCodeAt(0)<=57){const g=(A.key.charCodeAt(0)-48)/10;I.seek(100*g+"%")}else if("?"==A.key)d()?u(!1):(I.pause(),u(!0));else if("ArrowLeft"==A.key)A.shiftKey?I.seek("<<<"):I.seek("<<");else if("ArrowRight"==A.key)A.shiftKey?I.seek(">>>"):I.seek(">>");else{if("Escape"!=A.key)return;u(!1)}A.stopPropagation(),A.preventDefault()}},CA=()=>{Q.isFullscreen&&sA(!0)},EA=()=>{Q.isFullscreen||sA(!1)},eA=()=>{S=setInterval(VA,100)},iA=()=>{clearInterval(S)},VA=()=>{const A=I.getCurrentTime(),g=I.getRemainingTime(),B=I.getProgress();C({currentTime:A,remainingTime:g,progress:B})},tA=()=>{p=setInterval((()=>{C((A=>{const g={blink:!A.blink};return g.blink&&(g.cursorHold=!1),g}))}),500)},oA=()=>{clearInterval(p),C("blink",!0)},sA=A=>{clearTimeout(U),A&&(U=setTimeout((()=>sA(!1)),2e3)),F(A)},nA=D((()=>{const g=A.theme||"auto/asciinema";return"auto/"===g.slice(0,5)?{name:g.slice(5),colors:N()}:{name:g}})),rA=(()=>{const g=Kg.cloneNode(!0),B=g.firstChild;"function"==typeof L?IA(L,g):L=g,g.addEventListener("webkitfullscreenchange",_),g.addEventListener("fullscreenchange",_),g.$$mousemove=CA,g.$$keydown=QA;return"function"==typeof m?IA(m,B):m=B,B.$$mousemove=()=>sA(!0),B.addEventListener("mouseleave",EA),BA(B,K(lg,{get cols(){return R()},get rows(){return q()},get scale(){return P()?.scale},get blink(){return Q.blink},get lines(){return Q.lines},get cursor(){return Q.cursor},get cursorHold(){return Q.cursorHold},get fontFamily(){return A.terminalFontFamily},get lineHeight(){return A.terminalLineHeight},ref(A){"function"==typeof H?H(A):H=A}}),null),BA(B,K(W,{get when(){return!1!==A.controls},get children(){return K(fg,{get duration(){return r()},get currentTime(){return Q.currentTime},get remainingTime(){return Q.remainingTime},get progress(){return Q.progress},markers:l,get isPlaying(){return E()},get isPausable(){return Q.isPausable},get isSeekable(){return Q.isSeekable},onPlayClick:()=>I.togglePlay(),onFullscreenClick:AA,onSeekClick:A=>I.seek(A),ref(A){"function"==typeof z?z(A):z=A}})}}),null),BA(B,K(T,{get children(){return[K(j,{get when(){return"start"==i()},get children(){return K(Lg,{onClick:()=>I.play()})}}),K(j,{get when(){return"loader"==i()},get children(){return K(Yg,{})}}),K(j,{get when(){return"info"==i()},get children(){return K(Sg,{get message(){return t()},get fontFamily(){return A.terminalFontFamily}})}}),K(j,{get when(){return"error"==i()},get children(){return K(qg,{})}})]}}),null),BA(B,K(W,{get when(){return d()},get children(){return K(Hg,{get fontFamily(){return A.terminalFontFamily},onClose:()=>u(!1)})}}),null),w((I=>{const Q=!!(!0===A.controls||"auto"===A.controls&&k()),C=`ap-player asciinema-player-theme-${nA().name}`,E=(()=>{const g={};!1!==A.fit&&"none"!==A.fit||void 0===A.terminalFontSize||("small"===A.terminalFontSize?g["font-size"]="12px":"medium"===A.terminalFontSize?g["font-size"]="18px":"big"===A.terminalFontSize?g["font-size"]="24px":g["font-size"]=A.terminalFontSize);const I=P();void 0!==I.width&&(g.width=`${I.width}px`,g.height=`${I.height}px`);const B=nA().colors;return void 0!==B&&(g["--term-color-foreground"]=B.foreground,g["--term-color-background"]=B.background,B.palette.forEach(((A,I)=>{g[`--term-color-${I}`]=A}))),g})();return Q!==I._v$&&g.classList.toggle("ap-hud",I._v$=Q),C!==I._v$2&&$(B,I._v$2=C),I._v$3=gA(B,E,I._v$3),I}),{_v$:void 0,_v$2:void 0,_v$3:void 0}),g})();return rA};_(["keydown","mousemove"]);class bg{log(){}debug(){}info(){}warn(){}error(){}}class vg{constructor(A,g){this.logger=A,this.prefix=g}log(A){for(var g=arguments.length,I=new Array(g>1?g-1:0),B=1;B1?g-1:0),B=1;B 1?g-1:0),B=1;B 1?g-1:0),B=1;B 1?g-1:0),B=1;B I=>{g(A(I))}}(A))}flatMap(A){return this.transform(function(A){return g=>I=>{A(I).forEach(g)}}(A))}filter(A){return this.transform(function(A){return g=>I=>{A(I)&&g(I)}}(A))}take(A){return this.transform(function(A){let g=0;return I=>B=>{gB=>{g+=1,g>A&&I(B)}}(A))}transform(A){return new xg(this.input,this.xfs.concat([A]))}multiplex(A,g){return new xg(new Wg(this[Symbol.iterator](),A[Symbol.iterator](),g))}toArray(){return Array.from(this)}[Symbol.iterator](){let A=0,g=[],I=!1;const B=(Q=this.xfs,C=A=>g.push(A),Q.reverse().reduce(((A,g)=>{const I=Zg(g(A.step));return{step:I.step,flush:()=>{I.flush(),A.flush()}}}),Zg(C)));var Q,C;return{next:()=>{for(A===g.length&&(g=[],A=0);0===g.length;){const A=this.input.next();if(A.done)break;B.step(A.value)}return 0!==g.length||I||(B.flush(),I=!0),g.length>0?{done:!1,value:g[A++]}:{done:!0}}}}}function Zg(A){return"function"==typeof A?{step:A,flush:()=>{}}:A}class Wg{constructor(A,g,I){this.left=A,this.right=g,this.comparator=I}[Symbol.iterator](){let A,g;return{next:()=>{if(void 0===A&&void 0!==this.left){const g=this.left.next();g.done?this.left=void 0:A=g.value}if(void 0===g&&void 0!==this.right){const A=this.right.next();A.done?this.right=void 0:g=A.value}if(void 0===A&&void 0===g)return{done:!0};if(void 0===A){const A=g;return g=void 0,{done:!1,value:A}}if(void 0===g){const g=A;return A=void 0,{done:!1,value:g}}if(this.comparator(A,g)){const g=A;return A=void 0,{done:!1,value:g}}{const A=g;return g=void 0,{done:!1,value:A}}}}}}async function Tg(A){let g,I;if(A instanceof Response){const B=await A.text(),Q=function(A){const g=A.split("\n");let I;try{I=JSON.parse(g[0])}catch(A){return}const B=new xg(g).drop(1).filter((A=>"["===A[0])).map(JSON.parse).toArray();return{header:I,events:B}}(B);void 0!==Q?(g=Q.header,I=Q.events):g=JSON.parse(B)}else if("object"==typeof A&&"number"==typeof A.version)g=A;else{if(!Array.isArray(A))throw"invalid data";g=A[0],I=A.slice(1,A.length)}if(1===g.version)return function(A){let g=0;const I=new xg(A.stdout).map((A=>(g+=A[0],[g,"o",A[1]])));return{cols:A.width,rows:A.height,events:I}}(g);if(2===g.version)return function(A,g){return{cols:A.width,rows:A.height,theme:jg(A.theme),events:g,idleTimeLimit:A.idle_time_limit}}(g,I);throw`asciicast v${g.version} format not supported`}function jg(A){const g=/^#[0-9A-Fa-f]{6}$/,I=A?.fg,B=A?.bg,Q=A?.palette;if(g.test(I)&&g.test(B)&&/^(#[0-9A-Fa-f]{6}:){7,}#[0-9A-Fa-f]{6}$/.test(Q))return{foreground:I,background:B,palette:Q.split(":")}}function Xg(A){if("r"===A[1]){const[g,I]=A[2].split("x");return[A[0],"o",`[8;${I};${g};t`]}return A}function Og(A){return"number"==typeof A?[A,"m",""]:[A[0],"m",A[1]]}function Pg(){let A=0;return function(g){return"m"===g[1]?[g[0],g[1],{index:A++,time:g[0],label:g[2]}]:g}}class _g{constructor(){this.items=[],this.onPush=void 0}push(A){this.items.push(A),void 0!==this.onPush&&(this.onPush(this.popAll()),this.onPush=void 0)}popAll(){if(this.items.length>0){const A=this.items;return this.items=[],A}{const A=this;return new Promise((g=>{A.onPush=g}))}}}function $g(A,g,I,B,Q,C){if(0===A)return C.debug("using no buffer"),function(A){return{pushEvent(g){if("o"===g[1])A(g[2]);else if("r"===g[1]){const[I,B]=g[2].split("x");A(`[8;${B};${I};t`)}},pushText(g){A(g)},stop(){}}}(g);{let E;return"number"==typeof(A=A??{})?(C.debug(`using fixed time buffer (${A} ms)`),E=g=>A):"function"==typeof A?(C.debug("using custom dynamic buffer"),E=A({logger:C})):(C.debug("using adaptive buffer",A),E=function(A,g){let{logger:I}=A,{minTime:B=25,maxLevel:Q=100,interval:C=50,windowSize:E=20,smoothingFactor:e=.2,minImprovementDuration:i=1e3}=g,V=0,t=a(V),o=[],s=0,n=0,r=null;function a(A){return 0===A?B:C*A}return A=>{if(o.push(A),o.length gg>A?g:A))}(o);s=B*e+s*(1-e),n=(B-g)*e+n*(1-e);const C=s+n;if(A>t&&I.debug("buffer underrun",{latency:A,maxJitter:s,jitterRange:n,bufferTime:t}),V t)t=a(V+=1),I.debug("jitter increased, raising bufferTime",{latency:A,maxJitter:s,jitterRange:n,bufferTime:t});else if(V>1&&Ci&&(r=performance.now(),t=a(V-=1),I.debug("jitter decreased, lowering bufferTime",{latency:A,maxJitter:s,jitterRange:n,bufferTime:t})),t;return r=null,t}}({logger:C},A)),function(A,g,I,B,Q){let C=arguments.length>5&&void 0!==arguments[5]?arguments[5]:1/60,E=performance.now()-1e3*Q,e=A(0);const i=new _g;C*=1e3;let V=-C,t=!1;function o(){return performance.now()-E}return setTimeout((async()=>{for(;!t;){const A=await i.popAll();if(t)return;for(const B of A){const A=1e3*B[0]+e;if(A-V0&&(await AI(Q),t))return;I(B[0]),g(B[2]),V=A}}}),0),{pushEvent(g){let I=o()-1e3*g[0];if(I<0&&(B.debug(`correcting epoch by ${I} ms`),E+=I,I=0),e=A(I),"o"===g[1])i.push(g);else if("r"===g[1]){const[A,I]=g[2].split("x");i.push([g[0],"o",`[8;${I};${A};t`])}},pushText(A){i.push([o(),"o",A])},stop(){t=!0,i.push(void 0)}}}(E,g,I,C,B??0,Q)}}function AI(A){return new Promise((g=>{setTimeout(g,A)}))}function gI(A){return Math.min(500*Math.pow(2,A),5e3)}function II(A){if(A.length<13)return;const g=function(A){const g=BI(A.subarray(0,4)),I=BI(A.subarray(4,8));return g+I/1e6}(A.subarray(0,8)),I=BI(A.subarray(8,12));return{time:g,data:A.subarray(12,12+I),len:I+12}}function BI(A){return A[0]+256*A[1]+256*A[2]*256+256*A[3]*256*256}const QI=new Map([["benchmark",function(A,g){let I,{url:B,iterations:Q=10}=A,{feed:C,setState:E,now:e}=g,i=0;return{async init(){const A=await Tg(await fetch(B)),{cols:g,rows:Q,events:C}=A;I=Array.from(C).filter((A=>{let[g,I,B]=A;return"o"===I})).map((A=>{let[g,I,B]=A;return[g,B]}));const E=I[I.length-1][0];for(const[A,g]of I)i+=new Blob([g]).size;return{cols:g,rows:Q,duration:E}},play(){const A=e();for(let A=0;A {E("stopped",{reason:"ended"})}),0),!0}}}],["clock",function(A,g,I){let{hourColor:B=3,minuteColor:Q=4,separatorColor:C=9}=A,{feed:E}=g,{cols:e=5,rows:i=1}=I;const V=Math.floor(i/2),t=Math.floor(e/2)-2,o=`[?25l[1m[${V}B`;let s;const n=()=>{const A=new Date,g=A.getHours(),I=A.getMinutes(),E=[];E.push("\r");for(let A=0;A{n().forEach(E)};return{init:()=>{const A=[o].concat(n());return{cols:e,rows:i,duration:1440,poster:A}},play:()=>(E(o),r(),s=setInterval(r,1e3),!0),stop:()=>{clearInterval(s)},getCurrentTime:()=>{const A=new Date;return 60*A.getHours()+A.getMinutes()}}}],["eventsource",function(A,g){let I,B,{url:Q,bufferTime:C,minFrameTime:E}=A,{feed:e,reset:i,setState:V,logger:t}=g;t=new vg(t,"eventsource: ");let o=new HA;function s(A){void 0!==B&&B.stop(),B=$g(C,e,(A=>o.setTime(A)),A,E,t)}return{play:()=>{I=new EventSource(Q),I.addEventListener("open",(()=>{t.info("opened"),s()})),I.addEventListener("error",(A=>{t.info("errored"),t.debug({e:A}),V("loading")})),I.addEventListener("message",(A=>{const g=JSON.parse(A.data);if(Array.isArray(g))B.pushEvent(g);else if(void 0!==g.cols||void 0!==g.width){const A=g.cols??g.width,I=g.rows??g.height;t.debug(`vt reset (${A}x${I})`),V("playing"),s(g.time),i(A,I,g.init??void 0),o=new mA,"number"==typeof g.time&&o.setTime(g.time)}else"offline"===g.state&&(t.info("stream offline"),V("offline",{message:"Stream offline"}),o=new HA)})),I.addEventListener("done",(()=>{t.info("closed"),I.close(),V("ended",{message:"Stream ended"})}))},stop:()=>{void 0!==B&&B.stop(),void 0!==I&&I.close()},getCurrentTime:()=>o.getTime()}}],["random",function(A,g){let{feed:I,setTimeout:B}=g;const Q=" ".charCodeAt(0),C="~".charCodeAt(0)-Q;let E;const e=()=>{const A=Math.pow(5,4*Math.random());E=B(i,A)},i=()=>{e();const A=String.fromCharCode(Q+Math.floor(Math.random()*C));I(A)};return()=>(e(),()=>clearInterval(E))}],["recording",function(A,g,I){let B,Q,C,E,e,i,V,t,o,{feed:s,onInput:n,onMarker:r,now:a,setTimeout:c,setState:w,logger:D}=g,{idleTimeLimit:h,startAt:l,loop:M,posterTime:y,markers:G,pauseOnMarkers:k,cols:F,rows:d}=I,u=0,N=0,f=0;async function R(A,g){const I=await fetch(A,g);if(!I.ok)throw`failed fetching recording from ${A}: ${I.status} ${I.statusText}`;return I}function q(){const A=C[u];A?V=c(J,function(A){let g=1e3*A-(a()-t);return g<0&&(g=0),g}(A[0])):(Y(),f++,!0===M||"number"==typeof M&&f 1e3*g[0]);q()}function Y(){clearTimeout(V),V=null}function U(A){const[g,I,B]=A;if("o"===I)s(B);else if("i"===I)n(B);else if("m"===I&&(r(B),k))return S(),o=1e3*g,w("idle",{reason:"paused"}),!0;return!1}function S(){return!V||(Y(),o=a()-t,!0)}function p(){t=a()-o,o=null,q()}function L(A){const g=!!V;S();const I=(o??0)/1e3;if("string"==typeof A)"<<"===A?A=I-5:">>"===A?A=I+5:"<<<"===A?A=I-.1*e:">>>"===A?A=I+.1*e:"%"===A[A.length-1]&&(A=parseFloat(A.substring(0,A.length-1))/100*e);else if("object"==typeof A)if("prev"===A.marker)A=m(I)??0,g&&I-A<1&&(A=m(A)??0);else if("next"===A.marker)A=function(A){if(0==E.length)return;let g,I=E.length-1,B=E[I];for(;B&&B[0]>A;)g=B[0],B=E[--I];return g}(I)??e;else if("number"==typeof A.marker){const g=E[A.marker];if(void 0===g)throw`invalid marker index: ${A.marker}`;A=g[0]}const B=Math.min(Math.max(A,0),e);B [A[0],"o",A[1]])),C=new xg(I).map((A=>[A[0],"i",A[1]])),E=new xg(B).map(Og);return Q.multiplex(C,((A,g)=>A[0] A[0] 1&&void 0!==arguments[1]?arguments[1]:1/60;return B=>{let Q=0,C=0;return{step:A=>{Q++,void 0!==g?A[1]===g[1]&&A[0]-g[0]{void 0!==g&&(B(g),C++),A.debug(`batched ${Q} frames to ${C} frames`)}}}}(g,C)).map(function(A,g,I){let B=0,Q=0;return function(C){const E=C[0]-B-A;return B=C[0],E>0&&(Q+=E,C[0] "m"!==A[1])).multiplex(e,((A,g)=>A[0] "i"===A[1]?[A[0]+E,A[1],A[2]]:A)),i.sort(((A,g)=>A[0]-g[0])));const t=i[i.length-1][0],o=B-V.offset;return{...A,events:i,duration:t,effectiveStartAt:o}}(await g(await function(A){let{url:g,data:I,fetchOpts:B={}}=A;if("string"==typeof g)return R(g,B);if(Array.isArray(g))return Promise.all(g.map((A=>R(A,B))));if(void 0!==I)return"function"==typeof I&&(I=I()),I instanceof Promise||(I=Promise.resolve(I)),I.then((A=>"string"==typeof A||A instanceof ArrayBuffer?new Response(A):A));throw"failed fetching recording file: url/data missing in src"}(A),{encoding:o}),D,{idleTimeLimit:h,startAt:l,minFrameTime:I,inputOffset:V,markers_:G});if(({cols:B,rows:Q,events:C,duration:e,effectiveStartAt:i}=s),F=F??B,d=d??Q,0===C.length)throw"recording is missing events";void 0!==t&&function(A,g){const I=document.createElement("a"),B=A.events.map((A=>"m"===A[1]?[A[0],A[1],A[2].label]:A)),Q=function(A){return`${JSON.stringify({version:2,width:A.cols,height:A.rows})}\n${A.events.map(JSON.stringify).join("\n")}\n`}({...A,events:B});I.href=URL.createObjectURL(new Blob([Q],{type:"text/plain"})),I.download=g,I.click()}(s,t);const n=void 0!==y?(r=y,C.filter((A=>A[0] A[2]))):void 0;var r;return E=C.filter((A=>"m"===A[1])).map((A=>[A[0],A[2].label])),{cols:B,rows:Q,duration:e,theme:s.theme,poster:n,markers:E}},play:function(){if(V)throw"already playing";if(void 0===C[u])throw"already ended";return null!==i&&L(i),p(),!0},pause:S,seek:L,step:function(){let A=C[u++];for(;void 0!==A&&"o"!==A[1];)A=C[u++];if(void 0===A)return;s(A[2]);const g=A[0];N=g,o=1e3*g,i=null},restart:function(){if(V)throw"still playing";if(void 0!==C[u])throw"not ended";return L(0),p(),!0},stop:S,getCurrentTime:function(){return V?(a()-t)/1e3:(o??0)/1e3}}}],["websocket",function(A,g){let{url:I,bufferTime:B,reconnectDelay:Q=gI,minFrameTime:C}=A,{feed:E,reset:e,setState:i,logger:V}=g;V=new vg(V,"websocket: ");const t=new TextDecoder;let o,s,n,r=new HA,a=0,c=!1,w=!1;function D(A){void 0!==s&&s.stop(),s=$g(B,E,(A=>r.setTime(A)),A,C,V)}function h(A){if("string"==typeof A.data)V.info("activating asciicast-compatible handler"),D(),o.onmessage=l,l(A);else{const g=new Uint8Array(A.data);if(65==g[0]&&76==g[1]&&105==g[2]&&83==g[3])1==g[4]?(V.info("activating ALiS v1 handler"),o.onmessage=y):(V.warn(`unsupported ALiS version (${g[4]})`),o.close());else{V.info("activating raw text handler"),D();const I=t.decode(g),B=function(A){const g=A.match(/\x1b\[8;(\d+);(\d+)t/);if(null!==g)return[parseInt(g[2],10),parseInt(g[1],10)]}(I)??function(A){const g=A.match(/\[.*COLUMNS="(\d{1,3})" LINES="(\d{1,3})".*\]/);if(null!==g)return[parseInt(g[1],10),parseInt(g[2],10)]}(I);if(void 0!==B){const[A,g]=B;d(A,g,0,void 0)}o.onmessage=F,F(A)}}}function l(A){const g=JSON.parse(A.data);Array.isArray(g)?s.pushEvent(g):void 0!==g.cols||void 0!==g.width?d(g.cols??g.width,g.rows??g.height,g.time,g.init??void 0):"offline"===g.status&&u()}const M=54;function y(A){const g=A.data,I=new DataView(g),B=I.getUint8(0);let Q=1;if(1===B){const A=I.getUint16(Q,!0);Q+=2;const B=I.getUint16(Q,!0);Q+=2;const C=I.getFloat32(Q,!0);Q+=4;const E=I.getUint8(Q);let e;Q+=1,1===E&&(e=function(A){const g=G(A[0],A[1],A[2]),I=G(A[3],A[4],A[5]),B=[];for(let g=0;g<16;g++)B.push(G(A[3*g+6],A[3*g+7],A[3*g+8]));return{foreground:g,background:I,palette:B}}(new Uint8Array(g,Q,M)),Q+=M);const i=I.getUint32(Q,!0);let V;Q+=4,i>0&&(V=t.decode(new Uint8Array(g,Q,i)),Q+=i),d(A,B,C,V,e)}else if(111===B){const A=I.getFloat32(1,!0),B=I.getUint32(5,!0),Q=t.decode(new Uint8Array(g,9,B));s.pushEvent([A,"o",Q])}else if(114===B){const A=I.getFloat32(1,!0),g=I.getUint16(5,!0),B=I.getUint16(7,!0);s.pushEvent([A,"r",`${g}x${B}`])}else 4===B?u():V.debug(`unknown frame type: ${B}`)}function G(A,g,I){return`#${k(A)}${k(g)}${k(I)}`}function k(A){return A.toString(16).padStart(2,"0")}function F(A){s.pushText(t.decode(A.data))}function d(A,g,I,B,Q){V.debug(`stream reset (${A}x${g} @${I})`),i("playing"),D(I),e(A,g,B,Q),r=new mA,w=!0,"number"==typeof I&&r.setTime(I)}function u(){V.info("stream offline"),i("offline",w?{message:"Stream ended"}:{message:"Stream offline"}),r=new HA}function N(){o=new WebSocket(I),o.binaryType="arraybuffer",o.onopen=()=>{V.info("opened"),n=setTimeout((()=>{a=0}),1e3)},o.onmessage=h,o.onclose=A=>{if(c||1e3===A.code||1005===A.code)V.info("closed"),i("ended",{message:"Stream ended"});else{clearTimeout(n);const A=Q(a++);V.info(`unclean close, reconnecting in ${A}...`),i("loading"),setTimeout(N,A)}},w=!1}return{play:()=>{N()},stop:()=>{c=!0,void 0!==s&&s.stop(),void 0!==o&&o.close()},getCurrentTime:()=>r.getTime()}}]]),CI=new Map([["asciicast",Tg],["typescript",async function(A,g){let{encoding:I}=g;const B=new TextDecoder(I);let Q,C,E=(await A[0].text()).split("\n").filter((A=>A.length>0)).map((A=>A.split(" ")));E[0].length<3&&(E=E.map((A=>["O",A[0],A[1]])));const e=await A[1].arrayBuffer(),i=new Uint8Array(e),V=i.findIndex((A=>10==A))+1,t=B.decode(i.subarray(0,V)).match(/COLUMNS="(\d+)" LINES="(\d+)"/);null!==t&&(Q=parseInt(t[1],10),C=parseInt(t[2],10));const o={array:i,cursor:V};let s=o;if(void 0!==A[2]){const g=await A[2].arrayBuffer();s={array:new Uint8Array(g),cursor:V}}const n=[];let r=0;for(const A of E)if(r+=parseFloat(A[1]),"O"===A[0]){const g=parseInt(A[2],10),I=o.array.subarray(o.cursor,o.cursor+g),Q=B.decode(I);n.push([r,"o",Q]),o.cursor+=g}else if("I"===A[0]){const g=parseInt(A[2],10),I=s.array.subarray(s.cursor,s.cursor+g),Q=B.decode(I);n.push([r,"i",Q]),s.cursor+=g}else if("S"===A[0]&&"SIGWINCH"===A[2]){const g=parseInt(A[4].slice(5),10),I=parseInt(A[3].slice(5),10);n.push([r,"r",`${g}x${I}`])}else"H"===A[0]&&"COLUMNS"===A[2]?Q=parseInt(A[3],10):"H"===A[0]&&"LINES"===A[2]&&(C=parseInt(A[3],10));return Q=Q??80,C=C??24,{cols:Q,rows:C,events:n}}],["ttyrec",async function(A,g){let{encoding:I}=g;const B=new TextDecoder(I),Q=await A.arrayBuffer(),C=new Uint8Array(Q),E=II(C),e=E.time,i=B.decode(E.data).match(/\x1b\[8;(\d+);(\d+)t/),V=[];let t=80,o=24;null!==i&&(t=parseInt(i[2],10),o=parseInt(i[1],10));let s=0,n=II(C);for(;void 0!==n;){const A=n.time-e,g=B.decode(n.data);V.push([A,"o",g]),s+=n.len,n=II(C.subarray(s))}return{cols:t,rows:o,events:V}}]]);return A.create=function(A,g){let I=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const B=I.logger??new bg,Q=new XA(function(A){if("function"==typeof A)return A;"string"==typeof A&&(A="ws://"==A.substring(0,5)||"wss://"==A.substring(0,6)?{driver:"websocket",url:A}:"clock:"==A.substring(0,6)?{driver:"clock"}:"random:"==A.substring(0,7)?{driver:"random"}:"benchmark:"==A.substring(0,10)?{driver:"benchmark",url:A.substring(10)}:{driver:"recording",url:A});void 0===A.driver&&(A.driver="recording");if("recording"==A.driver&&(void 0===A.parser&&(A.parser="asciicast"),"string"==typeof A.parser)){if(!CI.has(A.parser))throw`unknown parser: ${A.parser}`;A.parser=CI.get(A.parser)}if(QI.has(A.driver)){const g=QI.get(A.driver);return(I,B)=>g(A,I,B)}throw`unsupported driver: ${JSON.stringify(A)}`}(A),{logger:B,cols:I.cols,rows:I.rows,loop:I.loop,speed:I.speed,preload:I.preload,startAt:I.startAt,poster:I.poster,markers:I.markers,pauseOnMarkers:I.pauseOnMarkers,idleTimeLimit:I.idleTimeLimit}),C=function(A,g){const I=80,B=24,Q=document.createElement("div");let C;Q.style.height="0px",Q.style.overflow="hidden",Q.style.fontSize="15px",document.body.appendChild(Q);const E=O((()=>(C=K(lg,{cols:I,rows:B,lineHeight:g,fontFamily:A,lines:[]}),C)),Q),e={charW:C.clientWidth/I,charH:C.clientHeight/B,bordersW:C.offsetWidth-C.clientWidth,bordersH:C.offsetHeight-C.clientHeight};return E(),document.body.removeChild(Q),e}(I.terminalFontFamily,I.terminalLineHeight),E={logger:B,core:Q,cols:I.cols,rows:I.rows,fit:I.fit,controls:I.controls??"auto",autoPlay:I.autoPlay??I.autoplay,terminalFontSize:I.terminalFontSize,terminalFontFamily:I.terminalFontFamily,terminalLineHeight:I.terminalLineHeight,theme:I.theme,...C};let e;const i=O((()=>(e=K(zg,E),e)),g),V={el:e,dispose:i,getCurrentTime:()=>Q.getCurrentTime(),getDuration:()=>Q.getDuration(),play:()=>Q.play(),pause:()=>Q.pause(),seek:A=>Q.seek(A),addEventListener:(A,g)=>Q.addEventListener(A,g.bind(V))};return V},A}({}); diff --git a/docs/extra/asciinema-theme-dracula.css b/docs/extra/asciinema-theme-dracula.css deleted file mode 100644 index f3638e97..00000000 --- a/docs/extra/asciinema-theme-dracula.css +++ /dev/null @@ -1,141 +0,0 @@ -.asciinema-theme-dracula .asciinema-terminal { - color: #f8f8f2; - background-color: #282a36; - border-color: #282a36; -} - -.asciinema-theme-dracula .fg-bg { - color: #282a36; -} - -.asciinema-theme-dracula .bg-fg { - background-color: #f8f8f2; -} - -.asciinema-theme-dracula .fg-0 { - color: #21222c; -} - -.asciinema-theme-dracula .bg-0 { - background-color: #21222c; -} - -.asciinema-theme-dracula .fg-1 { - color: #ff5555; -} - -.asciinema-theme-dracula .bg-1 { - background-color: #ff5555; -} - -.asciinema-theme-dracula .fg-2 { - color: #50fa7b; -} - -.asciinema-theme-dracula .bg-2 { - background-color: #50fa7b; -} - -.asciinema-theme-dracula .fg-3 { - color: #f1fa8c; -} - -.asciinema-theme-dracula .bg-3 { - background-color: #f1fa8c; -} - -.asciinema-theme-dracula .fg-4 { - color: #bd93f9; -} - -.asciinema-theme-dracula .bg-4 { - background-color: #bd93f9; -} - -.asciinema-theme-dracula .fg-5 { - color: #ff79c6; -} - -.asciinema-theme-dracula .bg-5 { - background-color: #ff79c6; -} - -.asciinema-theme-dracula .fg-6 { - color: #8be9fd; -} - -.asciinema-theme-dracula .bg-6 { - background-color: #8be9fd; -} - -.asciinema-theme-dracula .fg-7 { - color: #f8f8f2; -} - -.asciinema-theme-dracula .bg-7 { - background-color: #f8f8f2; -} - -.asciinema-theme-dracula .fg-8 { - color: #6272a4; -} - -.asciinema-theme-dracula .bg-8 { - background-color: #6272a4; -} - -.asciinema-theme-dracula .fg-9 { - color: #ff6e6e; -} - -.asciinema-theme-dracula .bg-9 { - background-color: #ff6e6e; -} - -.asciinema-theme-dracula .fg-10 { - color: #69ff94; -} - -.asciinema-theme-dracula .bg-10 { - background-color: #69ff94; -} - -.asciinema-theme-dracula .fg-11 { - color: #ffffa5; -} - -.asciinema-theme-dracula .bg-11 { - background-color: #ffffa5; -} - -.asciinema-theme-dracula .fg-12 { - color: #d6acff; -} - -.asciinema-theme-dracula .bg-12 { - background-color: #d6acff; -} - -.asciinema-theme-dracula .fg-13 { - color: #ff92df; -} - -.asciinema-theme-dracula .bg-13 { - background-color: #ff92df; -} - -.asciinema-theme-dracula .fg-14 { - color: #a4ffff; -} - -.asciinema-theme-dracula .bg-14 { - background-color: #a4ffff; -} - -.asciinema-theme-dracula .fg-15 { - color: #ffffff; -} - -.asciinema-theme-dracula .bg-15 { - background-color: #ffffff; -} diff --git a/docs/extra/asciinema-theme-gimlb.css b/docs/extra/asciinema-theme-gimlb.css new file mode 100644 index 00000000..0455b5d2 --- /dev/null +++ b/docs/extra/asciinema-theme-gimlb.css @@ -0,0 +1,45 @@ +/* Tomorrow Day colour palette. */ +.asciinema-player-theme-gimlb-auto { + --term-color-foreground: #4d4d4c; + --term-color-background: #ffffff; + --term-color-0: #e0e0e0; + --term-color-1: #c82829; + --term-color-2: #718c00; + --term-color-3: #eab700; + --term-color-4: #4271ae; + --term-color-5: #8959a8; + --term-color-6: #3e999f; + --term-color-7: #4d4d4c; + --term-color-8: #8e908c; + --term-color-9: #c82829; + --term-color-10: #718c00; + --term-color-11: #eab700; + --term-color-12: #4271ae; + --term-color-13: #8959a8; + --term-color-14: #3e999f; + --term-color-15: #1d1f21; +} + +/* Tomorrow Night colour palette. */ +@media (prefers-color-scheme: dark) { + .asciinema-player-theme-gimlb-auto { + --term-color-foreground: #c5c8c6; + --term-color-background: #1d1f21; + --term-color-0: #282a2e; + --term-color-1: #cc6666; + --term-color-2: #b5bd68; + --term-color-3: #f0c674; + --term-color-4: #81a2be; + --term-color-5: #b294bb; + --term-color-6: #8abeb7; + --term-color-7: #c5c8c6; + --term-color-8: #969896; + --term-color-9: #cc6666; + --term-color-10: #b5bd68; + --term-color-11: #f0c674; + --term-color-12: #81a2be; + --term-color-13: #b294bb; + --term-color-14: #8abeb7; + --term-color-15: #ffffff; + } +} diff --git a/docs/extra/wrapper.js b/docs/extra/wrapper.js index 5519d0a8..c3bee74f 100644 --- a/docs/extra/wrapper.js +++ b/docs/extra/wrapper.js @@ -30,7 +30,7 @@ function addAsciinemaPlayer(cast_file, container_id) { const player = AsciinemaPlayer.create( cast_file, document.getElementById(container_id), - { poster: 'npt:0:0.1', theme: 'dracula', fit: 'width' }); + { poster: 'npt:0:0.1', theme: 'gimlb-auto', fit: 'width' }); // Find all elements that seek to specific times in this video. const selector = '[data-video="' + container_id + '"][data-seek-to]' diff --git a/docs/how-to-contribute.md b/docs/how-to-contribute.md index 123c7849..c034ebd0 100644 --- a/docs/how-to-contribute.md +++ b/docs/how-to-contribute.md @@ -158,3 +158,5 @@ For example, the following code is used to display the video recording on the [C 2. Show how to use nano 3. Show how to use vim ``` + +You can use the [asciinema-scripted](https://github.com/robmoss/asciinema-scripted) tool to generate scripted recordings. diff --git a/mkdocs.yml b/mkdocs.yml index 851e036b..c9854d83 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -103,6 +103,25 @@ nav: - "Fixing a bug in pypfilt": community/case-studies/moss-pypfilt-earlier-states.md - "Incorrect data in a pre-print figure": community/case-studies/moss-incorrect-data-pre-print.md - "Pen and paper version control": community/case-studies/campbell-pen-and-paper-version-control.md + - "Training events": + - community/training/README.md + - "Introduction to Debugging": + - community/training/debugging/README.md + - "Learning objectives": community/training/debugging/learning-objectives.md + - "What is debugging?": community/training/debugging/what-is-debugging.md + - "Understanding error messages": community/training/debugging/understanding-error-messages.md + - "Why are debuggers useful?": community/training/debugging/why-are-debuggers-useful.md + - "Using a debugger": community/training/debugging/using-a-debugger.md + - "When something fails": community/training/debugging/when-something-fails.md + - "Real-world stories": community/training/debugging/real-world-stories.md + - "Example: Square numbers": community/training/debugging/example-square-numbers.md + - "Exercise: Perfect numbers": community/training/debugging/exercise-perfect-numbers.md + - "Exercise: Python vs R": community/training/debugging/exercise-python-vs-r.md + - "Building your skills": community/training/debugging/building-your-skills.md + - "Debugging manifesto": community/training/debugging/manifesto.md + - "Resources": community/training/debugging/resources.md + - "Exercise solutions": community/training/debugging/solutions.md + - "Acknowledgements": community/training/debugging/acknowledgements.md markdown_extensions: - admonition @@ -115,7 +134,18 @@ markdown_extensions: emoji_generator: !!python/name:material.extensions.emoji.to_svg - pymdownx.highlight - pymdownx.inlinehilite - - pymdownx.superfences + - pymdownx.snippets: + base_path: [ + # Locate snippets relative to the documentation root directory. + "docs/", + # Locate snippets in the 2024 debugging workshop directory. + "docs/community/training/debugging", + ] + - pymdownx.superfences: + custom_fences: + - name: mermaid + class: mermaid + format: !!python/name:pymdownx.superfences.fence_code_format - pymdownx.tabbed: alternate_style: true - toc: @@ -162,9 +192,14 @@ theme: extra_css: - extra/asciinema-player.css - - extra/asciinema-theme-dracula.css + - extra/asciinema-theme-gimlb.css - extra/larger-admonitions.css extra_javascript: - extra/asciinema-player.min.js - extra/wrapper.js + +# Ignore TOML scripts for generating asciinema recordings. +exclude_docs: | + *.toml + *.yaml diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 00000000..db9e5b31 --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,14 @@ +# Formatter and linter settings for Python code examples. + +[tool.ruff] +line-length = 78 +target-version = "py310" + +[tool.ruff.lint] +# Enable pyflakes (F), pycodestyle (E, W), flake8-bugbear (B), pyupgrade (UP), +# flake8-debugger (T10), and NumPy (NPY). +select = ["F", "E", "W", "B", "UP", "T10", "NPY"] + +[tool.ruff.format] +quote-style = "single" +docstring-code-format = true