From 866fe408e4aadeba4155f934f7c324b8d43d2728 Mon Sep 17 00:00:00 2001 From: Jade Lovelace Date: Sun, 2 Apr 2023 18:21:49 -0700 Subject: [PATCH] Add asciinema support --- content/posts/nix-evaluation-blocking/a.nix | 22 + .../nix-evaluation-blocking/build-oops.cast | 182 ++ .../index.md} | 32 +- static/css/asciinema-player.css | 2637 +++++++++++++++++ static/js/asciinema-player.min.js | 1 + templates/macros/asciinema.html | 30 + templates/macros/colocated_asset.html | 24 +- templates/page.html | 7 +- templates/shortcodes/asciinema.html | 7 + 9 files changed, 2930 insertions(+), 12 deletions(-) create mode 100644 content/posts/nix-evaluation-blocking/a.nix create mode 100644 content/posts/nix-evaluation-blocking/build-oops.cast rename content/posts/{nix-evaluation-blocking.md => nix-evaluation-blocking/index.md} (93%) create mode 100644 static/css/asciinema-player.css create mode 100644 static/js/asciinema-player.min.js create mode 100644 templates/macros/asciinema.html create mode 100644 templates/shortcodes/asciinema.html diff --git a/content/posts/nix-evaluation-blocking/a.nix b/content/posts/nix-evaluation-blocking/a.nix new file mode 100644 index 0000000..a3b9f4e --- /dev/null +++ b/content/posts/nix-evaluation-blocking/a.nix @@ -0,0 +1,22 @@ +let + pkgs = import { }; + wait = n: builtins.readFile (pkgs.runCommand "delay" { } '' + sleep ${toString n} + + echo $((${toString n} * 5)) > $out + ''); + +in +pkgs.stdenv.mkDerivation { + name = "blah"; + dontUnpack = true; + doInstall = false; + dontConfigure = true; + buildPhase = '' + echo ${wait 1} + echo ${wait 2} + echo ${wait 3} + touch $out + ''; + doBuild = true; +} diff --git a/content/posts/nix-evaluation-blocking/build-oops.cast b/content/posts/nix-evaluation-blocking/build-oops.cast new file mode 100644 index 0000000..02a613f --- /dev/null +++ b/content/posts/nix-evaluation-blocking/build-oops.cast @@ -0,0 +1,182 @@ +{"version": 2, "width": 100, "height": 15, "timestamp": 1680475860, "env": {"SHELL": "/nix/store/k4j76vg58c6j90s8l46kx3843vysx732-bash-interactive-5.2-p15/bin/bash", "TERM": "xterm-256color"}} +[0.007032, "o", "\u001b[?2004h$ "] +[0.314298, "o", "n"] +[0.346135, "o", "i"] +[0.394162, "o", "x"] +[0.482229, "o", " "] +[0.618363, "o", "b"] +[0.682158, "o", "u"] +[0.706821, "o", "i"] +[0.770157, "o", "l"] +[0.790173, "o", "d"] +[0.882109, "o", " "] +[1.106166, "o", "-"] +[1.794143, "o", "L"] +[1.858116, "o", " "] +[2.074151, "o", "-"] +[2.146093, "o", "f"] +[2.234079, "o", " "] +[2.538128, "o", "a"] +[2.602026, "o", "."] +[2.818097, "o", "n"] +[2.842013, "o", "i"] +[2.906005, "o", "x"] +[3.066068, "o", "\r\n\u001b[?2004l\r"] +[3.082772, "o", "\r\u001b[0m\u001b[K"] +[3.132889, "o", "\r\u001b[0m\u001b[K"] +[3.18297, "o", "\r\u001b[0m\u001b[K"] +[3.233054, "o", "\r\u001b[0m\u001b[K"] +[3.283177, "o", "\r[\u001b[32;1m0\u001b[0m/1 built] querying \u001b[1mdelay\u001b[0m on https://cache.nixos.org\u001b[0m\u001b[K"] +[3.333249, "o", "\r[\u001b[32;1m0\u001b[0m/1 built] querying \u001b[1mdelay\u001b[0m on https://cache.nixos.org\u001b[0m\u001b[K"] +[3.38335, "o", "\r[\u001b[32;1m0\u001b[0m/1 built] querying \u001b[1mdelay\u001b[0m on https://cache.nixos.org\u001b[0m\u001b[K"] +[3.433454, "o", "\r[\u001b[32;1m0\u001b[0m/1 built] querying \u001b[1mdelay\u001b[0m on https://cache.nixos.org\u001b[0m\u001b[K"] +[3.483562, "o", "\r[\u001b[32;1m0\u001b[0m/1 built, \u001b[32;1m0.0\u001b[0m MiB DL] \u001b[0m\u001b[K"] +[3.53364, "o", "\r[\u001b[34;1m1\u001b[0m/\u001b[32;1m0\u001b[0m/1 built, \u001b[32;1m0.0\u001b[0m MiB DL] building \u001b[1mdelay\u001b[0m\u001b[0m\u001b[K"] +[3.583736, "o", "\r[\u001b[34;1m1\u001b[0m/\u001b[32;1m0\u001b[0m/1 built, \u001b[32;1m0.0\u001b[0m MiB DL] building \u001b[1mdelay\u001b[0m\u001b[0m\u001b[K"] +[3.633831, "o", "\r[\u001b[34;1m1\u001b[0m/\u001b[32;1m0\u001b[0m/1 built, \u001b[32;1m0.0\u001b[0m MiB DL] building \u001b[1mdelay\u001b[0m\u001b[0m\u001b[K"] +[3.683918, "o", "\r[\u001b[34;1m1\u001b[0m/\u001b[32;1m0\u001b[0m/1 built, \u001b[32;1m0.0\u001b[0m MiB DL] building \u001b[1mdelay\u001b[0m\u001b[0m\u001b[K"] +[3.734008, "o", "\r[\u001b[34;1m1\u001b[0m/\u001b[32;1m0\u001b[0m/1 built, \u001b[32;1m0.0\u001b[0m MiB DL] building \u001b[1mdelay\u001b[0m\u001b[0m\u001b[K"] +[3.784101, "o", "\r[\u001b[34;1m1\u001b[0m/\u001b[32;1m0\u001b[0m/1 built, \u001b[32;1m0.0\u001b[0m MiB DL] building \u001b[1mdelay\u001b[0m\u001b[0m\u001b[K"] +[3.834198, "o", "\r[\u001b[34;1m1\u001b[0m/\u001b[32;1m0\u001b[0m/1 built, \u001b[32;1m0.0\u001b[0m MiB DL] building \u001b[1mdelay\u001b[0m\u001b[0m\u001b[K"] +[3.884267, "o", "\r[\u001b[34;1m1\u001b[0m/\u001b[32;1m0\u001b[0m/1 built, \u001b[32;1m0.0\u001b[0m MiB DL] building \u001b[1mdelay\u001b[0m\u001b[0m\u001b[K"] +[3.934354, "o", "\r[\u001b[34;1m1\u001b[0m/\u001b[32;1m0\u001b[0m/1 built, \u001b[32;1m0.0\u001b[0m MiB DL] building \u001b[1mdelay\u001b[0m\u001b[0m\u001b[K"] +[3.984442, "o", "\r[\u001b[34;1m1\u001b[0m/\u001b[32;1m0\u001b[0m/1 built, \u001b[32;1m0.0\u001b[0m MiB DL] building \u001b[1mdelay\u001b[0m\u001b[0m\u001b[K"] +[4.034536, "o", "\r[\u001b[34;1m1\u001b[0m/\u001b[32;1m0\u001b[0m/1 built, \u001b[32;1m0.0\u001b[0m MiB DL] building \u001b[1mdelay\u001b[0m\u001b[0m\u001b[K"] +[4.08464, "o", "\r[\u001b[34;1m1\u001b[0m/\u001b[32;1m0\u001b[0m/1 built, \u001b[32;1m0.0\u001b[0m MiB DL] building \u001b[1mdelay\u001b[0m\u001b[0m\u001b[K"] +[4.134723, "o", "\r[\u001b[34;1m1\u001b[0m/\u001b[32;1m0\u001b[0m/1 built, \u001b[32;1m0.0\u001b[0m MiB DL] building \u001b[1mdelay\u001b[0m\u001b[0m\u001b[K"] +[4.184818, "o", "\r[\u001b[34;1m1\u001b[0m/\u001b[32;1m0\u001b[0m/1 built, \u001b[32;1m0.0\u001b[0m MiB DL] building \u001b[1mdelay\u001b[0m\u001b[0m\u001b[K"] +[4.23491, "o", "\r[\u001b[34;1m1\u001b[0m/\u001b[32;1m0\u001b[0m/1 built, \u001b[32;1m0.0\u001b[0m MiB DL] building \u001b[1mdelay\u001b[0m\u001b[0m\u001b[K"] +[4.285004, "o", "\r[\u001b[34;1m1\u001b[0m/\u001b[32;1m0\u001b[0m/1 built, \u001b[32;1m0.0\u001b[0m MiB DL] building \u001b[1mdelay\u001b[0m\u001b[0m\u001b[K"] +[4.335095, "o", "\r[\u001b[34;1m1\u001b[0m/\u001b[32;1m0\u001b[0m/1 built, \u001b[32;1m0.0\u001b[0m MiB DL] building \u001b[1mdelay\u001b[0m\u001b[0m\u001b[K"] +[4.38519, "o", "\r[\u001b[34;1m1\u001b[0m/\u001b[32;1m0\u001b[0m/1 built, \u001b[32;1m0.0\u001b[0m MiB DL] building \u001b[1mdelay\u001b[0m\u001b[0m\u001b[K"] +[4.435289, "o", "\r[\u001b[34;1m1\u001b[0m/\u001b[32;1m0\u001b[0m/1 built, \u001b[32;1m0.0\u001b[0m MiB DL] building \u001b[1mdelay\u001b[0m\u001b[0m\u001b[K"] +[4.485386, "o", "\r[\u001b[34;1m1\u001b[0m/\u001b[32;1m0\u001b[0m/1 built, \u001b[32;1m0.0\u001b[0m MiB DL] building \u001b[1mdelay\u001b[0m\u001b[0m\u001b[K"] +[4.535475, "o", "\r[\u001b[32;1m1\u001b[0m/2 built, \u001b[32;1m0.0\u001b[0m MiB DL] querying \u001b[1mdelay\u001b[0m on https://cache.nixos.org\u001b[0m\u001b[K"] +[4.585566, "o", "\r[\u001b[32;1m1\u001b[0m/2 built, \u001b[32;1m0.0\u001b[0m MiB DL] querying \u001b[1mdelay\u001b[0m on https://cache.nixos.org\u001b[0m\u001b[K"] +[4.635663, "o", "\r[\u001b[32;1m1\u001b[0m/2 built, \u001b[32;1m0.0\u001b[0m MiB DL] querying \u001b[1mdelay\u001b[0m on https://cache.nixos.org\u001b[0m\u001b[K"] +[4.685777, "o", "\r[\u001b[34;1m1\u001b[0m/\u001b[32;1m1\u001b[0m/2 built, \u001b[32;1m0.0\u001b[0m MiB DL] building \u001b[1mdelay\u001b[0m\u001b[0m\u001b[K"] +[4.735842, "o", "\r[\u001b[34;1m1\u001b[0m/\u001b[32;1m1\u001b[0m/2 built, \u001b[32;1m0.0\u001b[0m MiB DL] building \u001b[1mdelay\u001b[0m\u001b[0m\u001b[K"] +[4.785972, "o", "\r[\u001b[34;1m1\u001b[0m/\u001b[32;1m1\u001b[0m/2 built, \u001b[32;1m0.0\u001b[0m MiB DL] building \u001b[1mdelay\u001b[0m\u001b[0m\u001b[K"] +[4.836088, "o", "\r[\u001b[34;1m1\u001b[0m/\u001b[32;1m1\u001b[0m/2 built, \u001b[32;1m0.0\u001b[0m MiB DL] building \u001b[1mdelay\u001b[0m\u001b[0m\u001b[K"] +[4.886214, "o", "\r[\u001b[34;1m1\u001b[0m/\u001b[32;1m1\u001b[0m/2 built, \u001b[32;1m0.0\u001b[0m MiB DL] building \u001b[1mdelay\u001b[0m\u001b[0m\u001b[K"] +[4.936332, "o", "\r[\u001b[34;1m1\u001b[0m/\u001b[32;1m1\u001b[0m/2 built, \u001b[32;1m0.0\u001b[0m MiB DL] building \u001b[1mdelay\u001b[0m\u001b[0m\u001b[K"] +[4.986432, "o", "\r[\u001b[34;1m1\u001b[0m/\u001b[32;1m1\u001b[0m/2 built, \u001b[32;1m0.0\u001b[0m MiB DL] building \u001b[1mdelay\u001b[0m\u001b[0m\u001b[K"] +[5.036525, "o", "\r[\u001b[34;1m1\u001b[0m/\u001b[32;1m1\u001b[0m/2 built, \u001b[32;1m0.0\u001b[0m MiB DL] building \u001b[1mdelay\u001b[0m\u001b[0m\u001b[K"] +[5.086625, "o", "\r[\u001b[34;1m1\u001b[0m/\u001b[32;1m1\u001b[0m/2 built, \u001b[32;1m0.0\u001b[0m MiB DL] building \u001b[1mdelay\u001b[0m\u001b[0m\u001b[K"] +[5.136719, "o", "\r[\u001b[34;1m1\u001b[0m/\u001b[32;1m1\u001b[0m/2 built, \u001b[32;1m0.0\u001b[0m MiB DL] building \u001b[1mdelay\u001b[0m\u001b[0m\u001b[K"] +[5.186814, "o", "\r[\u001b[34;1m1\u001b[0m/\u001b[32;1m1\u001b[0m/2 built, \u001b[32;1m0.0\u001b[0m MiB DL] building \u001b[1mdelay\u001b[0m\u001b[0m\u001b[K"] +[5.236908, "o", "\r[\u001b[34;1m1\u001b[0m/\u001b[32;1m1\u001b[0m/2 built, \u001b[32;1m0.0\u001b[0m MiB DL] building \u001b[1mdelay\u001b[0m\u001b[0m\u001b[K"] +[5.287004, "o", "\r[\u001b[34;1m1\u001b[0m/\u001b[32;1m1\u001b[0m/2 built, \u001b[32;1m0.0\u001b[0m MiB DL] building \u001b[1mdelay\u001b[0m\u001b[0m\u001b[K"] +[5.337072, "o", "\r[\u001b[34;1m1\u001b[0m/\u001b[32;1m1\u001b[0m/2 built, \u001b[32;1m0.0\u001b[0m MiB DL] building \u001b[1mdelay\u001b[0m\u001b[0m\u001b[K"] +[5.387182, "o", "\r[\u001b[34;1m1\u001b[0m/\u001b[32;1m1\u001b[0m/2 built, \u001b[32;1m0.0\u001b[0m MiB DL] building \u001b[1mdelay\u001b[0m\u001b[0m\u001b[K"] +[5.437274, "o", "\r[\u001b[34;1m1\u001b[0m/\u001b[32;1m1\u001b[0m/2 built, \u001b[32;1m0.0\u001b[0m MiB DL] building \u001b[1mdelay\u001b[0m\u001b[0m\u001b[K"] +[5.487371, "o", "\r[\u001b[34;1m1\u001b[0m/\u001b[32;1m1\u001b[0m/2 built, \u001b[32;1m0.0\u001b[0m MiB DL] building \u001b[1mdelay\u001b[0m\u001b[0m\u001b[K"] +[5.537467, "o", "\r[\u001b[34;1m1\u001b[0m/\u001b[32;1m1\u001b[0m/2 built, \u001b[32;1m0.0\u001b[0m MiB DL] building \u001b[1mdelay\u001b[0m\u001b[0m\u001b[K"] +[5.587558, "o", "\r[\u001b[34;1m1\u001b[0m/\u001b[32;1m1\u001b[0m/2 built, \u001b[32;1m0.0\u001b[0m MiB DL] building \u001b[1mdelay\u001b[0m\u001b[0m\u001b[K"] +[5.637658, "o", "\r[\u001b[34;1m1\u001b[0m/\u001b[32;1m1\u001b[0m/2 built, \u001b[32;1m0.0\u001b[0m MiB DL] building \u001b[1mdelay\u001b[0m\u001b[0m\u001b[K"] +[5.687748, "o", "\r[\u001b[34;1m1\u001b[0m/\u001b[32;1m1\u001b[0m/2 built, \u001b[32;1m0.0\u001b[0m MiB DL] building \u001b[1mdelay\u001b[0m\u001b[0m\u001b[K"] +[5.737847, "o", "\r[\u001b[34;1m1\u001b[0m/\u001b[32;1m1\u001b[0m/2 built, \u001b[32;1m0.0\u001b[0m MiB DL] building \u001b[1mdelay\u001b[0m\u001b[0m\u001b[K"] +[5.787944, "o", "\r[\u001b[34;1m1\u001b[0m/\u001b[32;1m1\u001b[0m/2 built, \u001b[32;1m0.0\u001b[0m MiB DL] building \u001b[1mdelay\u001b[0m\u001b[0m\u001b[K"] +[5.838028, "o", "\r[\u001b[34;1m1\u001b[0m/\u001b[32;1m1\u001b[0m/2 built, \u001b[32;1m0.0\u001b[0m MiB DL] building \u001b[1mdelay\u001b[0m\u001b[0m\u001b[K"] +[5.888126, "o", "\r[\u001b[34;1m1\u001b[0m/\u001b[32;1m1\u001b[0m/2 built, \u001b[32;1m0.0\u001b[0m MiB DL] building \u001b[1mdelay\u001b[0m\u001b[0m\u001b[K"] +[5.938219, "o", "\r[\u001b[34;1m1\u001b[0m/\u001b[32;1m1\u001b[0m/2 built, \u001b[32;1m0.0\u001b[0m MiB DL] building \u001b[1mdelay\u001b[0m\u001b[0m\u001b[K"] +[5.988312, "o", "\r[\u001b[34;1m1\u001b[0m/\u001b[32;1m1\u001b[0m/2 built, \u001b[32;1m0.0\u001b[0m MiB DL] building \u001b[1mdelay\u001b[0m\u001b[0m\u001b[K"] +[6.038405, "o", "\r[\u001b[34;1m1\u001b[0m/\u001b[32;1m1\u001b[0m/2 built, \u001b[32;1m0.0\u001b[0m MiB DL] building \u001b[1mdelay\u001b[0m\u001b[0m\u001b[K"] +[6.088499, "o", "\r[\u001b[34;1m1\u001b[0m/\u001b[32;1m1\u001b[0m/2 built, \u001b[32;1m0.0\u001b[0m MiB DL] building \u001b[1mdelay\u001b[0m\u001b[0m\u001b[K"] +[6.138589, "o", "\r[\u001b[34;1m1\u001b[0m/\u001b[32;1m1\u001b[0m/2 built, \u001b[32;1m0.0\u001b[0m MiB DL] building \u001b[1mdelay\u001b[0m\u001b[0m\u001b[K"] +[6.188679, "o", "\r[\u001b[34;1m1\u001b[0m/\u001b[32;1m1\u001b[0m/2 built, \u001b[32;1m0.0\u001b[0m MiB DL] building \u001b[1mdelay\u001b[0m\u001b[0m\u001b[K"] +[6.238774, "o", "\r[\u001b[34;1m1\u001b[0m/\u001b[32;1m1\u001b[0m/2 built, \u001b[32;1m0.0\u001b[0m MiB DL] building \u001b[1mdelay\u001b[0m\u001b[0m\u001b[K"] +[6.288866, "o", "\r[\u001b[34;1m1\u001b[0m/\u001b[32;1m1\u001b[0m/2 built, \u001b[32;1m0.0\u001b[0m MiB DL] building \u001b[1mdelay\u001b[0m\u001b[0m\u001b[K"] +[6.338961, "o", "\r[\u001b[34;1m1\u001b[0m/\u001b[32;1m1\u001b[0m/2 built, \u001b[32;1m0.0\u001b[0m MiB DL] building \u001b[1mdelay\u001b[0m\u001b[0m\u001b[K"] +[6.38906, "o", "\r[\u001b[34;1m1\u001b[0m/\u001b[32;1m1\u001b[0m/2 built, \u001b[32;1m0.0\u001b[0m MiB DL] building \u001b[1mdelay\u001b[0m\u001b[0m\u001b[K"] +[6.439213, "o", "\r[\u001b[34;1m1\u001b[0m/\u001b[32;1m1\u001b[0m/2 built, \u001b[32;1m0.0\u001b[0m MiB DL] building \u001b[1mdelay\u001b[0m\u001b[0m\u001b[K"] +[6.489343, "o", "\r[\u001b[34;1m1\u001b[0m/\u001b[32;1m1\u001b[0m/2 built, \u001b[32;1m0.0\u001b[0m MiB DL] building \u001b[1mdelay\u001b[0m\u001b[0m\u001b[K"] +[6.539461, "o", "\r[\u001b[34;1m1\u001b[0m/\u001b[32;1m1\u001b[0m/2 built, \u001b[32;1m0.0\u001b[0m MiB DL] building \u001b[1mdelay\u001b[0m\u001b[0m\u001b[K"] +[6.58959, "o", "\r[\u001b[34;1m1\u001b[0m/\u001b[32;1m1\u001b[0m/2 built, \u001b[32;1m0.0\u001b[0m MiB DL] building \u001b[1mdelay\u001b[0m\u001b[0m\u001b[K"] +[6.639697, "o", "\r[\u001b[34;1m1\u001b[0m/\u001b[32;1m1\u001b[0m/2 built, \u001b[32;1m0.0\u001b[0m MiB DL] building \u001b[1mdelay\u001b[0m\u001b[0m\u001b[K"] +[6.689801, "o", "\r[\u001b[34;1m1\u001b[0m/\u001b[32;1m1\u001b[0m/2 built, \u001b[32;1m0.0\u001b[0m MiB DL] building \u001b[1mdelay\u001b[0m\u001b[0m\u001b[K"] +[6.73984, "o", "\r[\u001b[32;1m2\u001b[0m/3 built, \u001b[32;1m0.0\u001b[0m MiB DL] querying \u001b[1mdelay\u001b[0m on https://cache.nixos.org\u001b[0m\u001b[K"] +[6.789961, "o", "\r[\u001b[32;1m2\u001b[0m/3 built, \u001b[32;1m0.0\u001b[0m MiB DL] querying \u001b[1mdelay\u001b[0m on https://cache.nixos.org\u001b[0m\u001b[K"] +[6.840046, "o", "\r[\u001b[32;1m2\u001b[0m/3 built, \u001b[32;1m0.0\u001b[0m MiB DL] \u001b[0m\u001b[K"] +[6.890106, "o", "\r[\u001b[34;1m1\u001b[0m/\u001b[32;1m2\u001b[0m/3 built, \u001b[32;1m0.0\u001b[0m MiB DL] building \u001b[1mdelay\u001b[0m\u001b[0m\u001b[K"] +[6.940195, "o", "\r[\u001b[34;1m1\u001b[0m/\u001b[32;1m2\u001b[0m/3 built, \u001b[32;1m0.0\u001b[0m MiB DL] building \u001b[1mdelay\u001b[0m\u001b[0m\u001b[K"] +[6.990292, "o", "\r[\u001b[34;1m1\u001b[0m/\u001b[32;1m2\u001b[0m/3 built, \u001b[32;1m0.0\u001b[0m MiB DL] building \u001b[1mdelay\u001b[0m\u001b[0m\u001b[K"] +[7.040376, "o", "\r[\u001b[34;1m1\u001b[0m/\u001b[32;1m2\u001b[0m/3 built, \u001b[32;1m0.0\u001b[0m MiB DL] building \u001b[1mdelay\u001b[0m\u001b[0m\u001b[K"] +[7.090465, "o", "\r[\u001b[34;1m1\u001b[0m/\u001b[32;1m2\u001b[0m/3 built, \u001b[32;1m0.0\u001b[0m MiB DL] building \u001b[1mdelay\u001b[0m\u001b[0m\u001b[K"] +[7.140564, "o", "\r[\u001b[34;1m1\u001b[0m/\u001b[32;1m2\u001b[0m/3 built, \u001b[32;1m0.0\u001b[0m MiB DL] building \u001b[1mdelay\u001b[0m\u001b[0m\u001b[K"] +[7.190642, "o", "\r[\u001b[34;1m1\u001b[0m/\u001b[32;1m2\u001b[0m/3 built, \u001b[32;1m0.0\u001b[0m MiB DL] building \u001b[1mdelay\u001b[0m\u001b[0m\u001b[K"] +[7.240732, "o", "\r[\u001b[34;1m1\u001b[0m/\u001b[32;1m2\u001b[0m/3 built, \u001b[32;1m0.0\u001b[0m MiB DL] building \u001b[1mdelay\u001b[0m\u001b[0m\u001b[K"] +[7.290823, "o", "\r[\u001b[34;1m1\u001b[0m/\u001b[32;1m2\u001b[0m/3 built, \u001b[32;1m0.0\u001b[0m MiB DL] building \u001b[1mdelay\u001b[0m\u001b[0m\u001b[K"] +[7.340932, "o", "\r[\u001b[34;1m1\u001b[0m/\u001b[32;1m2\u001b[0m/3 built, \u001b[32;1m0.0\u001b[0m MiB DL] building \u001b[1mdelay\u001b[0m\u001b[0m\u001b[K"] +[7.391058, "o", "\r[\u001b[34;1m1\u001b[0m/\u001b[32;1m2\u001b[0m/3 built, \u001b[32;1m0.0\u001b[0m MiB DL] building \u001b[1mdelay\u001b[0m\u001b[0m\u001b[K"] +[7.441175, "o", "\r[\u001b[34;1m1\u001b[0m/\u001b[32;1m2\u001b[0m/3 built, \u001b[32;1m0.0\u001b[0m MiB DL] building \u001b[1mdelay\u001b[0m\u001b[0m\u001b[K"] +[7.491305, "o", "\r[\u001b[34;1m1\u001b[0m/\u001b[32;1m2\u001b[0m/3 built, \u001b[32;1m0.0\u001b[0m MiB DL] building \u001b[1mdelay\u001b[0m\u001b[0m\u001b[K"] +[7.54137, "o", "\r[\u001b[34;1m1\u001b[0m/\u001b[32;1m2\u001b[0m/3 built, \u001b[32;1m0.0\u001b[0m MiB DL] building \u001b[1mdelay\u001b[0m\u001b[0m\u001b[K"] +[7.591473, "o", "\r[\u001b[34;1m1\u001b[0m/\u001b[32;1m2\u001b[0m/3 built, \u001b[32;1m0.0\u001b[0m MiB DL] building \u001b[1mdelay\u001b[0m\u001b[0m\u001b[K"] +[7.641536, "o", "\r[\u001b[34;1m1\u001b[0m/\u001b[32;1m2\u001b[0m/3 built, \u001b[32;1m0.0\u001b[0m MiB DL] building \u001b[1mdelay\u001b[0m\u001b[0m\u001b[K"] +[7.691627, "o", "\r[\u001b[34;1m1\u001b[0m/\u001b[32;1m2\u001b[0m/3 built, \u001b[32;1m0.0\u001b[0m MiB DL] building \u001b[1mdelay\u001b[0m\u001b[0m\u001b[K"] +[7.741762, "o", "\r[\u001b[34;1m1\u001b[0m/\u001b[32;1m2\u001b[0m/3 built, \u001b[32;1m0.0\u001b[0m MiB DL] building \u001b[1mdelay\u001b[0m\u001b[0m\u001b[K"] +[7.79182, "o", "\r[\u001b[34;1m1\u001b[0m/\u001b[32;1m2\u001b[0m/3 built, \u001b[32;1m0.0\u001b[0m MiB DL] building \u001b[1mdelay\u001b[0m\u001b[0m\u001b[K"] +[7.84189, "o", "\r[\u001b[34;1m1\u001b[0m/\u001b[32;1m2\u001b[0m/3 built, \u001b[32;1m0.0\u001b[0m MiB DL] building \u001b[1mdelay\u001b[0m\u001b[0m\u001b[K"] +[7.891987, "o", "\r[\u001b[34;1m1\u001b[0m/\u001b[32;1m2\u001b[0m/3 built, \u001b[32;1m0.0\u001b[0m MiB DL] building \u001b[1mdelay\u001b[0m\u001b[0m\u001b[K"] +[7.942065, "o", "\r[\u001b[34;1m1\u001b[0m/\u001b[32;1m2\u001b[0m/3 built, \u001b[32;1m0.0\u001b[0m MiB DL] building \u001b[1mdelay\u001b[0m\u001b[0m\u001b[K"] +[7.992151, "o", "\r[\u001b[34;1m1\u001b[0m/\u001b[32;1m2\u001b[0m/3 built, \u001b[32;1m0.0\u001b[0m MiB DL] building \u001b[1mdelay\u001b[0m\u001b[0m\u001b[K"] +[8.042235, "o", "\r[\u001b[34;1m1\u001b[0m/\u001b[32;1m2\u001b[0m/3 built, \u001b[32;1m0.0\u001b[0m MiB DL] building \u001b[1mdelay\u001b[0m\u001b[0m\u001b[K"] +[8.092366, "o", "\r[\u001b[34;1m1\u001b[0m/\u001b[32;1m2\u001b[0m/3 built, \u001b[32;1m0.0\u001b[0m MiB DL] building \u001b[1mdelay\u001b[0m\u001b[0m\u001b[K"] +[8.14247, "o", "\r[\u001b[34;1m1\u001b[0m/\u001b[32;1m2\u001b[0m/3 built, \u001b[32;1m0.0\u001b[0m MiB DL] building \u001b[1mdelay\u001b[0m\u001b[0m\u001b[K"] +[8.192555, "o", "\r[\u001b[34;1m1\u001b[0m/\u001b[32;1m2\u001b[0m/3 built, \u001b[32;1m0.0\u001b[0m MiB DL] building \u001b[1mdelay\u001b[0m\u001b[0m\u001b[K"] +[8.242642, "o", "\r[\u001b[34;1m1\u001b[0m/\u001b[32;1m2\u001b[0m/3 built, \u001b[32;1m0.0\u001b[0m MiB DL] building \u001b[1mdelay\u001b[0m\u001b[0m\u001b[K"] +[8.292734, "o", "\r[\u001b[34;1m1\u001b[0m/\u001b[32;1m2\u001b[0m/3 built, \u001b[32;1m0.0\u001b[0m MiB DL] building \u001b[1mdelay\u001b[0m\u001b[0m\u001b[K"] +[8.342821, "o", "\r[\u001b[34;1m1\u001b[0m/\u001b[32;1m2\u001b[0m/3 built, \u001b[32;1m0.0\u001b[0m MiB DL] building \u001b[1mdelay\u001b[0m\u001b[0m\u001b[K"] +[8.392923, "o", "\r[\u001b[34;1m1\u001b[0m/\u001b[32;1m2\u001b[0m/3 built, \u001b[32;1m0.0\u001b[0m MiB DL] building \u001b[1mdelay\u001b[0m\u001b[0m\u001b[K"] +[8.443013, "o", "\r[\u001b[34;1m1\u001b[0m/\u001b[32;1m2\u001b[0m/3 built, \u001b[32;1m0.0\u001b[0m MiB DL] building \u001b[1mdelay\u001b[0m\u001b[0m\u001b[K"] +[8.493115, "o", "\r[\u001b[34;1m1\u001b[0m/\u001b[32;1m2\u001b[0m/3 built, \u001b[32;1m0.0\u001b[0m MiB DL] building \u001b[1mdelay\u001b[0m\u001b[0m\u001b[K"] +[8.543205, "o", "\r[\u001b[34;1m1\u001b[0m/\u001b[32;1m2\u001b[0m/3 built, \u001b[32;1m0.0\u001b[0m MiB DL] building \u001b[1mdelay\u001b[0m\u001b[0m\u001b[K"] +[8.593302, "o", "\r[\u001b[34;1m1\u001b[0m/\u001b[32;1m2\u001b[0m/3 built, \u001b[32;1m0.0\u001b[0m MiB DL] building \u001b[1mdelay\u001b[0m\u001b[0m\u001b[K"] +[8.643395, "o", "\r[\u001b[34;1m1\u001b[0m/\u001b[32;1m2\u001b[0m/3 built, \u001b[32;1m0.0\u001b[0m MiB DL] building \u001b[1mdelay\u001b[0m\u001b[0m\u001b[K"] +[8.693484, "o", "\r[\u001b[34;1m1\u001b[0m/\u001b[32;1m2\u001b[0m/3 built, \u001b[32;1m0.0\u001b[0m MiB DL] building \u001b[1mdelay\u001b[0m\u001b[0m\u001b[K"] +[8.74357, "o", "\r[\u001b[34;1m1\u001b[0m/\u001b[32;1m2\u001b[0m/3 built, \u001b[32;1m0.0\u001b[0m MiB DL] building \u001b[1mdelay\u001b[0m\u001b[0m\u001b[K"] +[8.793693, "o", "\r[\u001b[34;1m1\u001b[0m/\u001b[32;1m2\u001b[0m/3 built, \u001b[32;1m0.0\u001b[0m MiB DL] building \u001b[1mdelay\u001b[0m\u001b[0m\u001b[K"] +[8.843754, "o", "\r[\u001b[34;1m1\u001b[0m/\u001b[32;1m2\u001b[0m/3 built, \u001b[32;1m0.0\u001b[0m MiB DL] building \u001b[1mdelay\u001b[0m\u001b[0m\u001b[K"] +[8.893853, "o", "\r[\u001b[34;1m1\u001b[0m/\u001b[32;1m2\u001b[0m/3 built, \u001b[32;1m0.0\u001b[0m MiB DL] building \u001b[1mdelay\u001b[0m\u001b[0m\u001b[K"] +[8.943945, "o", "\r[\u001b[34;1m1\u001b[0m/\u001b[32;1m2\u001b[0m/3 built, \u001b[32;1m0.0\u001b[0m MiB DL] building \u001b[1mdelay\u001b[0m\u001b[0m\u001b[K"] +[8.994038, "o", "\r[\u001b[34;1m1\u001b[0m/\u001b[32;1m2\u001b[0m/3 built, \u001b[32;1m0.0\u001b[0m MiB DL] building \u001b[1mdelay\u001b[0m\u001b[0m\u001b[K"] +[9.044121, "o", "\r[\u001b[34;1m1\u001b[0m/\u001b[32;1m2\u001b[0m/3 built, \u001b[32;1m0.0\u001b[0m MiB DL] building \u001b[1mdelay\u001b[0m\u001b[0m\u001b[K"] +[9.09423, "o", "\r[\u001b[34;1m1\u001b[0m/\u001b[32;1m2\u001b[0m/3 built, \u001b[32;1m0.0\u001b[0m MiB DL] building \u001b[1mdelay\u001b[0m\u001b[0m\u001b[K"] +[9.144326, "o", "\r[\u001b[34;1m1\u001b[0m/\u001b[32;1m2\u001b[0m/3 built, \u001b[32;1m0.0\u001b[0m MiB DL] building \u001b[1mdelay\u001b[0m\u001b[0m\u001b[K"] +[9.194413, "o", "\r[\u001b[34;1m1\u001b[0m/\u001b[32;1m2\u001b[0m/3 built, \u001b[32;1m0.0\u001b[0m MiB DL] building \u001b[1mdelay\u001b[0m\u001b[0m\u001b[K"] +[9.244484, "o", "\r[\u001b[34;1m1\u001b[0m/\u001b[32;1m2\u001b[0m/3 built, \u001b[32;1m0.0\u001b[0m MiB DL] building \u001b[1mdelay\u001b[0m\u001b[0m\u001b[K"] +[9.29459, "o", "\r[\u001b[34;1m1\u001b[0m/\u001b[32;1m2\u001b[0m/3 built, \u001b[32;1m0.0\u001b[0m MiB DL] building \u001b[1mdelay\u001b[0m\u001b[0m\u001b[K"] +[9.344686, "o", "\r[\u001b[34;1m1\u001b[0m/\u001b[32;1m2\u001b[0m/3 built, \u001b[32;1m0.0\u001b[0m MiB DL] building \u001b[1mdelay\u001b[0m\u001b[0m\u001b[K"] +[9.394777, "o", "\r[\u001b[34;1m1\u001b[0m/\u001b[32;1m2\u001b[0m/3 built, \u001b[32;1m0.0\u001b[0m MiB DL] building \u001b[1mdelay\u001b[0m\u001b[0m\u001b[K"] +[9.444909, "o", "\r[\u001b[34;1m1\u001b[0m/\u001b[32;1m2\u001b[0m/3 built, \u001b[32;1m0.0\u001b[0m MiB DL] building \u001b[1mdelay\u001b[0m\u001b[0m\u001b[K"] +[9.495009, "o", "\r[\u001b[34;1m1\u001b[0m/\u001b[32;1m2\u001b[0m/3 built, \u001b[32;1m0.0\u001b[0m MiB DL] building \u001b[1mdelay\u001b[0m\u001b[0m\u001b[K"] +[9.545113, "o", "\r[\u001b[34;1m1\u001b[0m/\u001b[32;1m2\u001b[0m/3 built, \u001b[32;1m0.0\u001b[0m MiB DL] building \u001b[1mdelay\u001b[0m\u001b[0m\u001b[K"] +[9.595202, "o", "\r[\u001b[34;1m1\u001b[0m/\u001b[32;1m2\u001b[0m/3 built, \u001b[32;1m0.0\u001b[0m MiB DL] building \u001b[1mdelay\u001b[0m\u001b[0m\u001b[K"] +[9.645305, "o", "\r[\u001b[34;1m1\u001b[0m/\u001b[32;1m2\u001b[0m/3 built, \u001b[32;1m0.0\u001b[0m MiB DL] building \u001b[1mdelay\u001b[0m\u001b[0m\u001b[K"] +[9.695422, "o", "\r[\u001b[34;1m1\u001b[0m/\u001b[32;1m2\u001b[0m/3 built, \u001b[32;1m0.0\u001b[0m MiB DL] building \u001b[1mdelay\u001b[0m\u001b[0m\u001b[K"] +[9.745501, "o", "\r[\u001b[34;1m1\u001b[0m/\u001b[32;1m2\u001b[0m/3 built, \u001b[32;1m0.0\u001b[0m MiB DL] building \u001b[1mdelay\u001b[0m\u001b[0m\u001b[K"] +[9.795613, "o", "\r[\u001b[34;1m1\u001b[0m/\u001b[32;1m2\u001b[0m/3 built, \u001b[32;1m0.0\u001b[0m MiB DL] building \u001b[1mdelay\u001b[0m\u001b[0m\u001b[K"] +[9.845725, "o", "\r[\u001b[34;1m1\u001b[0m/\u001b[32;1m2\u001b[0m/3 built, \u001b[32;1m0.0\u001b[0m MiB DL] building \u001b[1mdelay\u001b[0m\u001b[0m\u001b[K"] +[9.895792, "o", "\r[\u001b[32;1m3\u001b[0m built, \u001b[32;1m0.0\u001b[0m MiB DL] \u001b[0m\u001b[K"] +[9.949954, "o", "\r[\u001b[32;1m3\u001b[0m built, \u001b[32;1m0.0\u001b[0m MiB DL] querying \u001b[1mblah\u001b[0m on https://cache.nixos.org\u001b[0m\u001b[K"] +[10.000028, "o", "\r[\u001b[32;1m3\u001b[0m built, \u001b[32;1m0.0\u001b[0m MiB DL] querying \u001b[1mblah\u001b[0m on https://cache.nixos.org\u001b[0m\u001b[K"] +[10.050112, "o", "\r[\u001b[34;1m1\u001b[0m/\u001b[32;1m3\u001b[0m/4 built, \u001b[32;1m0.0\u001b[0m MiB DL] building \u001b[1mblah\u001b[0m\u001b[0m\u001b[K"] +[10.065662, "o", "\r\u001b[K\u001b[2mblah> \u001b[0mpatching sources\u001b[0m\r\n"] +[10.065722, "o", "\r[\u001b[34;1m1\u001b[0m/\u001b[32;1m3\u001b[0m/4 built, \u001b[32;1m0.0\u001b[0m MiB DL] building \u001b[1mblah\u001b[0m (patchPhase)\u001b[0m\u001b[K"] +[10.068482, "o", "\r\u001b[K\u001b[2mblah> \u001b[0mbuilding\u001b[0m\r\n"] +[10.06852, "o", "\r[\u001b[34;1m1\u001b[0m/\u001b[32;1m3\u001b[0m/4 built, \u001b[32;1m0.0\u001b[0m MiB DL] building \u001b[1mblah\u001b[0m (buildPhase)\u001b[0m\u001b[K"] +[10.069812, "o", "\r\u001b[K\u001b[2mblah> \u001b[0m5\u001b[0m\r\n\r[\u001b[34;1m1\u001b[0m/\u001b[32;1m3\u001b[0m/4 built, \u001b[32;1m0.0\u001b[0m MiB DL] building \u001b[1mblah\u001b[0m (buildPhase)\u001b[0m\u001b[K\r\u001b[K\u001b[2mblah> \u001b[0m10\u001b[0m\r\n"] +[10.069832, "o", "\r[\u001b[34;1m1\u001b[0m/\u001b[32;1m3\u001b[0m/4 built, \u001b[32;1m0.0\u001b[0m MiB DL] building \u001b[1mblah\u001b[0m (buildPhase)\u001b[0m\u001b[K\r\u001b[K\u001b[2mblah> \u001b[0m15\u001b[0m\r\n\r[\u001b[34;1m1\u001b[0m/\u001b[32;1m3\u001b[0m/4 built, \u001b[32;1m0.0\u001b[0m MiB DL] building \u001b[1mblah\u001b[0m (buildPhase)\u001b[0m\u001b[K"] +[10.072393, "o", "\r\u001b[K\u001b[2mblah> \u001b[0minstalling\u001b[0m\r\n"] +[10.072428, "o", "\r[\u001b[34;1m1\u001b[0m/\u001b[32;1m3\u001b[0m/4 built, \u001b[32;1m0.0\u001b[0m MiB DL] building \u001b[1mblah\u001b[0m (installPhase)\u001b[0m\u001b[K"] +[10.073934, "o", "\r\u001b[K\u001b[2mblah> \u001b[0mno Makefile or custom installPhase, doing nothing\u001b[0m\r\n\r[\u001b[34;1m1\u001b[0m/\u001b[32;1m3\u001b[0m/4 built, \u001b[32;1m0.0\u001b[0m MiB DL] building \u001b[1mblah\u001b[0m (installPhase)\u001b[0m\u001b[K"] +[10.075025, "o", "\r\u001b[K\u001b[2mblah> \u001b[0mpost-installation fixup\u001b[0m\r\n\r[\u001b[34;1m1\u001b[0m/\u001b[32;1m3\u001b[0m/4 built, \u001b[32;1m0.0\u001b[0m MiB DL] building \u001b[1mblah\u001b[0m (fixupPhase)\u001b[0m\u001b[K"] +[10.080837, "o", "\r\u001b[K\u001b[2mblah> \u001b[0mshrinking RPATHs of ELF executables and libraries in /nix/store/4g3dr2qinylfdz0m0afnsfkh74kmcfdm-blah\u001b[0m\r\n"] +[10.080849, "o", "\r[\u001b[34;1m1\u001b[0m/\u001b[32;1m3\u001b[0m/4 built, \u001b[32;1m0.0\u001b[0m MiB DL] building \u001b[1mblah\u001b[0m (fixupPhase)\u001b[0m\u001b[K"] +[10.081909, "o", "\r\u001b[K\u001b[2mblah> \u001b[0mchecking for references to /build/ in /nix/store/4g3dr2qinylfdz0m0afnsfkh74kmcfdm-blah...\u001b[0m\r\n\r[\u001b[34;1m1\u001b[0m/\u001b[32;1m3\u001b[0m/4 built, \u001b[32;1m0.0\u001b[0m MiB DL] building \u001b[1mblah\u001b[0m (fixupPhase)\u001b[0m\u001b[K"] +[10.083149, "o", "\r\u001b[K\u001b[2mblah> \u001b[0mpatching script interpreter paths in /nix/store/4g3dr2qinylfdz0m0afnsfkh74kmcfdm-blah\u001b[0m\r\n\r[\u001b[34;1m1\u001b[0m/\u001b[32;1m3\u001b[0m/4 built, \u001b[32;1m0.0\u001b[0m MiB DL] building \u001b[1mblah\u001b[0m (fixupPhase)\u001b[0m\u001b[K"] +[10.095936, "o", "\r\u001b[K"] +[10.098692, "o", "\u001b[?2004h$ "] +[13.114171, "o", "\u001b[?2004l\r\r\n"] +[13.11422, "o", "exit\r\n"] diff --git a/content/posts/nix-evaluation-blocking.md b/content/posts/nix-evaluation-blocking/index.md similarity index 93% rename from content/posts/nix-evaluation-blocking.md rename to content/posts/nix-evaluation-blocking/index.md index bcca672..fc813bc 100644 --- a/content/posts/nix-evaluation-blocking.md +++ b/content/posts/nix-evaluation-blocking/index.md @@ -1,9 +1,12 @@ +++ -date = "2023-03-30" -draft = true +date = "2023-04-02" +draft = false path = "/blog/nix-evaluation-blocking" tags = ["haskell", "nix"] title = "Stopping evaluation from blocking in Nix" + +[extra] +use_asciinema = true +++ Nix has a feature called "import from derivation", which is sometimes called @@ -93,6 +96,31 @@ nixpkgs: * `builtins.fetchurl` * etc +Here is what it looks like for a build to block on import-from-derivation on +the new-style `nix build` command. The sign that it's doing an IFD is that it's +building one thing at a time, it may or may not be punctuated by an occasional +empty line (while running evaluation), and the last number in "1/2/3 built" +keeps going up. + +{{ asciinema(path="build-oops.cast", colocated=true, preload=true) }} + +This is a much less clear sign than the old `nix-build` CLI, +which would print "building '/nix/store/...'" for several lines before the +typical "this derivation will be built" obtained when evaluation is done: + +``` +building '/nix/store/c11sidylvwss1xn2b159imk2li6flphq-delay.drv'... +building '/nix/store/2g0rglrimm2p4j4gj7j3n4mlgqfghqic-delay.drv'... +building '/nix/store/ywppgzc698pb979rwmavnmn9wf3hzvcb-delay.drv'... +this derivation will be built: + /nix/store/n47ad95nmq16442vyl2d8w2knpp3ngws-blah.drv +``` + +Here's the Nix code I used to create these demos. It's using IFD because of the +`builtins.readFile` on a derivation. + +{{ codefile(path="a.nix", colocated=true, code_lang='nix') }} + #### Builtin fetchers Use of builtin fetchers is a surprisingly common problem of blocking in diff --git a/static/css/asciinema-player.css b/static/css/asciinema-player.css new file mode 100644 index 0000000..e307854 --- /dev/null +++ b/static/css/asciinema-player.css @@ -0,0 +1,2637 @@ +/* asciinema player 3.2.0 */ +.asciinema-player-wrapper { + outline: none; + height: 100%; + display: flex; + justify-content: center; +} +.asciinema-player-wrapper .title-bar { + display: none; + top: -78px; + transition: top 0.15s linear; + position: absolute; + left: 0; + right: 0; + box-sizing: content-box; + font-size: 20px; + line-height: 1em; + padding: 15px; + font-family: sans-serif; + color: white; + background-color: rgba(0, 0, 0, 0.8); +} +.asciinema-player-wrapper .title-bar img { + vertical-align: middle; + height: 48px; + margin-right: 16px; +} +.asciinema-player-wrapper .title-bar a { + color: white; + text-decoration: underline; +} +.asciinema-player-wrapper .title-bar a:hover { + text-decoration: none; +} +.asciinema-player-wrapper:fullscreen { + background-color: #000; + width: 100%; + -webkit-align-items: center; + align-items: center; +} +.asciinema-player-wrapper:fullscreen .asciinema-player { + position: static; +} +.asciinema-player-wrapper:fullscreen .title-bar { + display: initial; +} +.asciinema-player-wrapper:fullscreen.hud .title-bar { + top: 0; +} +.asciinema-player-wrapper:-webkit-full-screen { + background-color: #000; + width: 100%; + -webkit-align-items: center; + align-items: center; +} +.asciinema-player-wrapper:-webkit-full-screen .asciinema-player { + position: static; +} +.asciinema-player-wrapper:-webkit-full-screen .title-bar { + display: initial; +} +.asciinema-player-wrapper:-webkit-full-screen.hud .title-bar { + top: 0; +} +.asciinema-player-wrapper:-moz-full-screen { + background-color: #000; + width: 100%; + -webkit-align-items: center; + align-items: center; +} +.asciinema-player-wrapper:-moz-full-screen .asciinema-player { + position: static; +} +.asciinema-player-wrapper:-moz-full-screen .title-bar { + display: initial; +} +.asciinema-player-wrapper:-moz-full-screen.hud .title-bar { + top: 0; +} +.asciinema-player-wrapper:-ms-fullscreen { + background-color: #000; + width: 100%; + -webkit-align-items: center; + align-items: center; +} +.asciinema-player-wrapper:-ms-fullscreen .asciinema-player { + position: static; +} +.asciinema-player-wrapper:-ms-fullscreen .title-bar { + display: initial; +} +.asciinema-player-wrapper:-ms-fullscreen.hud .title-bar { + top: 0; +} +.asciinema-player-wrapper .asciinema-player { + text-align: left; + display: inline-block; + padding: 0px; + position: relative; + box-sizing: content-box; + -moz-box-sizing: content-box; + -webkit-box-sizing: content-box; + overflow: hidden; + max-width: 100%; + border-radius: 4px; + font-size: 12px; +} +.asciinema-terminal { + box-sizing: content-box; + -moz-box-sizing: content-box; + -webkit-box-sizing: content-box; + overflow: hidden; + padding: 0; + margin: 0px; + display: block; + white-space: pre; + border: 0; + word-wrap: normal; + word-break: normal; + border-radius: 0; + border-style: solid; + cursor: text; + border-width: 0.75em; + font-family: Consolas, Menlo, 'Bitstream Vera Sans Mono', monospace, 'Powerline Symbols'; +} +.asciinema-terminal .line { + letter-spacing: normal; + overflow: hidden; +} +.asciinema-terminal .line span { + padding: 0; + display: inline-block; + height: 100%; +} +.asciinema-terminal .line { + display: block; + width: 200%; +} +.asciinema-terminal .line .cursor-a { + display: inline-block; +} +.asciinema-terminal .line .cursor-b { + display: none; + border-radius: 0.05em; +} +.asciinema-terminal .line .blink { + visibility: hidden; +} +.asciinema-terminal.cursor .line .cursor-a { + display: none; +} +.asciinema-terminal.cursor .line .cursor-b { + display: inline-block; +} +.asciinema-terminal.blink .line .blink { + visibility: visible; +} +.asciinema-terminal .bright { + font-weight: bold; +} +.asciinema-terminal .faint { + opacity: 0.5; +} +.asciinema-terminal .underline { + text-decoration: underline; +} +.asciinema-terminal .italic { + font-style: italic; +} +.asciinema-terminal .strikethrough { + text-decoration: line-through; +} +.asciinema-player .loading > .asciinema-terminal { + background-color: transparent; +} +.asciinema-player .control-bar { + width: 100%; + height: 32px; + background: rgba(0, 0, 0, 0.8); + /* no gradient fallback */ + background: -moz-linear-gradient(top, rgba(0, 0, 0, 0.5) 0%, #000000 25%, #000000 100%); + /* FF3.6-15 */ + background: -webkit-linear-gradient(top, rgba(0, 0, 0, 0.5) 0%, #000000 25%, #000000 100%); + /* Chrome10-25,Safari5.1-6 */ + background: linear-gradient(to bottom, rgba(0, 0, 0, 0.5) 0%, #000000 25%, #000000 100%); + /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */ + color: #bbb; + box-sizing: content-box; + line-height: 1; + position: absolute; + bottom: 0; + left: 0; + opacity: 0; + transition: opacity 0.15s linear; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + z-index: 30; +} +.asciinema-player .control-bar * { + box-sizing: inherit; + font-size: 0; +} +.asciinema-player .control-bar svg.icon path { + fill: #bbb; +} +.asciinema-player .control-bar .playback-button { + display: block; + float: left; + cursor: pointer; + height: 12px; + width: 12px; + padding: 10px; +} +.asciinema-player .control-bar .playback-button svg { + height: 12px; + width: 12px; +} +.asciinema-player .control-bar .timer { + display: block; + float: left; + width: 50px; + height: 100%; + text-align: center; + font-family: Helvetica, Arial, sans-serif; + font-size: 11px; + font-weight: bold; + line-height: 32px; + cursor: default; +} +.asciinema-player .control-bar .timer span { + display: inline-block; + font-size: inherit; +} +.asciinema-player .control-bar .timer .time-remaining { + display: none; +} +.asciinema-player .control-bar .timer:hover .time-elapsed { + display: none; +} +.asciinema-player .control-bar .timer:hover .time-remaining { + display: inline; +} +.asciinema-player .control-bar .progressbar { + display: block; + overflow: hidden; + height: 100%; + padding: 0 10px; +} +.asciinema-player .control-bar .progressbar .bar { + display: block; + cursor: default; + height: 100%; + padding-top: 15px; + font-size: 0; +} +.asciinema-player .control-bar .progressbar .bar .gutter { + display: block; + height: 3px; + background-color: #333; +} +.asciinema-player .control-bar .progressbar .bar .gutter span { + display: inline-block; + height: 100%; + background-color: #bbb; + border-radius: 3px; +} +.asciinema-player .control-bar.seekable .progressbar .bar { + cursor: pointer; +} +.asciinema-player .control-bar .fullscreen-button { + display: block; + float: right; + width: 14px; + height: 14px; + padding: 9px; + cursor: pointer; +} +.asciinema-player .control-bar .fullscreen-button svg { + width: 14px; + height: 14px; +} +.asciinema-player .control-bar .fullscreen-button svg:first-child { + display: inline; +} +.asciinema-player .control-bar .fullscreen-button svg:last-child { + display: none; +} +.asciinema-player-wrapper.hud .control-bar { + opacity: 1; +} +.asciinema-player-wrapper:fullscreen .fullscreen-button svg:first-child { + display: none; +} +.asciinema-player-wrapper:fullscreen .fullscreen-button svg:last-child { + display: inline; +} +.asciinema-player-wrapper:-webkit-full-screen .fullscreen-button svg:first-child { + display: none; +} +.asciinema-player-wrapper:-webkit-full-screen .fullscreen-button svg:last-child { + display: inline; +} +.asciinema-player-wrapper:-moz-full-screen .fullscreen-button svg:first-child { + display: none; +} +.asciinema-player-wrapper:-moz-full-screen .fullscreen-button svg:last-child { + display: inline; +} +.asciinema-player-wrapper:-ms-fullscreen .fullscreen-button svg:first-child { + display: none; +} +.asciinema-player-wrapper:-ms-fullscreen .fullscreen-button svg:last-child { + display: inline; +} +.asciinema-player .loading { + z-index: 10; + background-repeat: no-repeat; + background-position: center; + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + display: flex; + justify-content: center; + align-items: center; +} +.asciinema-player .start-prompt { + z-index: 10; + background-repeat: no-repeat; + background-position: center; + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + z-index: 20; + cursor: pointer; +} +.asciinema-player .start-prompt .play-button { + font-size: 0px; + position: absolute; + left: 0; + top: 0; + right: 0; + bottom: 0; + text-align: center; + color: white; + height: 80px; + max-height: 66%; + margin: auto; +} +.asciinema-player .start-prompt .play-button div { + height: 100%; +} +.asciinema-player .start-prompt .play-button div span { + height: 100%; + display: block; +} +.asciinema-player .start-prompt .play-button div span svg { + height: 100%; +} +.asciinema-terminal .fg-16 { + color: #000000; +} +.asciinema-terminal .bg-16 { + background-color: #000000; +} +.asciinema-terminal .fg-17 { + color: #00005f; +} +.asciinema-terminal .bg-17 { + background-color: #00005f; +} +.asciinema-terminal .fg-18 { + color: #000087; +} +.asciinema-terminal .bg-18 { + background-color: #000087; +} +.asciinema-terminal .fg-19 { + color: #0000af; +} +.asciinema-terminal .bg-19 { + background-color: #0000af; +} +.asciinema-terminal .fg-20 { + color: #0000d7; +} +.asciinema-terminal .bg-20 { + background-color: #0000d7; +} +.asciinema-terminal .fg-21 { + color: #0000ff; +} +.asciinema-terminal .bg-21 { + background-color: #0000ff; +} +.asciinema-terminal .fg-22 { + color: #005f00; +} +.asciinema-terminal .bg-22 { + background-color: #005f00; +} +.asciinema-terminal .fg-23 { + color: #005f5f; +} +.asciinema-terminal .bg-23 { + background-color: #005f5f; +} +.asciinema-terminal .fg-24 { + color: #005f87; +} +.asciinema-terminal .bg-24 { + background-color: #005f87; +} +.asciinema-terminal .fg-25 { + color: #005faf; +} +.asciinema-terminal .bg-25 { + background-color: #005faf; +} +.asciinema-terminal .fg-26 { + color: #005fd7; +} +.asciinema-terminal .bg-26 { + background-color: #005fd7; +} +.asciinema-terminal .fg-27 { + color: #005fff; +} +.asciinema-terminal .bg-27 { + background-color: #005fff; +} +.asciinema-terminal .fg-28 { + color: #008700; +} +.asciinema-terminal .bg-28 { + background-color: #008700; +} +.asciinema-terminal .fg-29 { + color: #00875f; +} +.asciinema-terminal .bg-29 { + background-color: #00875f; +} +.asciinema-terminal .fg-30 { + color: #008787; +} +.asciinema-terminal .bg-30 { + background-color: #008787; +} +.asciinema-terminal .fg-31 { + color: #0087af; +} +.asciinema-terminal .bg-31 { + background-color: #0087af; +} +.asciinema-terminal .fg-32 { + color: #0087d7; +} +.asciinema-terminal .bg-32 { + background-color: #0087d7; +} +.asciinema-terminal .fg-33 { + color: #0087ff; +} +.asciinema-terminal .bg-33 { + background-color: #0087ff; +} +.asciinema-terminal .fg-34 { + color: #00af00; +} +.asciinema-terminal .bg-34 { + background-color: #00af00; +} +.asciinema-terminal .fg-35 { + color: #00af5f; +} +.asciinema-terminal .bg-35 { + background-color: #00af5f; +} +.asciinema-terminal .fg-36 { + color: #00af87; +} +.asciinema-terminal .bg-36 { + background-color: #00af87; +} +.asciinema-terminal .fg-37 { + color: #00afaf; +} +.asciinema-terminal .bg-37 { + background-color: #00afaf; +} +.asciinema-terminal .fg-38 { + color: #00afd7; +} +.asciinema-terminal .bg-38 { + background-color: #00afd7; +} +.asciinema-terminal .fg-39 { + color: #00afff; +} +.asciinema-terminal .bg-39 { + background-color: #00afff; +} +.asciinema-terminal .fg-40 { + color: #00d700; +} +.asciinema-terminal .bg-40 { + background-color: #00d700; +} +.asciinema-terminal .fg-41 { + color: #00d75f; +} +.asciinema-terminal .bg-41 { + background-color: #00d75f; +} +.asciinema-terminal .fg-42 { + color: #00d787; +} +.asciinema-terminal .bg-42 { + background-color: #00d787; +} +.asciinema-terminal .fg-43 { + color: #00d7af; +} +.asciinema-terminal .bg-43 { + background-color: #00d7af; +} +.asciinema-terminal .fg-44 { + color: #00d7d7; +} +.asciinema-terminal .bg-44 { + background-color: #00d7d7; +} +.asciinema-terminal .fg-45 { + color: #00d7ff; +} +.asciinema-terminal .bg-45 { + background-color: #00d7ff; +} +.asciinema-terminal .fg-46 { + color: #00ff00; +} +.asciinema-terminal .bg-46 { + background-color: #00ff00; +} +.asciinema-terminal .fg-47 { + color: #00ff5f; +} +.asciinema-terminal .bg-47 { + background-color: #00ff5f; +} +.asciinema-terminal .fg-48 { + color: #00ff87; +} +.asciinema-terminal .bg-48 { + background-color: #00ff87; +} +.asciinema-terminal .fg-49 { + color: #00ffaf; +} +.asciinema-terminal .bg-49 { + background-color: #00ffaf; +} +.asciinema-terminal .fg-50 { + color: #00ffd7; +} +.asciinema-terminal .bg-50 { + background-color: #00ffd7; +} +.asciinema-terminal .fg-51 { + color: #00ffff; +} +.asciinema-terminal .bg-51 { + background-color: #00ffff; +} +.asciinema-terminal .fg-52 { + color: #5f0000; +} +.asciinema-terminal .bg-52 { + background-color: #5f0000; +} +.asciinema-terminal .fg-53 { + color: #5f005f; +} +.asciinema-terminal .bg-53 { + background-color: #5f005f; +} +.asciinema-terminal .fg-54 { + color: #5f0087; +} +.asciinema-terminal .bg-54 { + background-color: #5f0087; +} +.asciinema-terminal .fg-55 { + color: #5f00af; +} +.asciinema-terminal .bg-55 { + background-color: #5f00af; +} +.asciinema-terminal .fg-56 { + color: #5f00d7; +} +.asciinema-terminal .bg-56 { + background-color: #5f00d7; +} +.asciinema-terminal .fg-57 { + color: #5f00ff; +} +.asciinema-terminal .bg-57 { + background-color: #5f00ff; +} +.asciinema-terminal .fg-58 { + color: #5f5f00; +} +.asciinema-terminal .bg-58 { + background-color: #5f5f00; +} +.asciinema-terminal .fg-59 { + color: #5f5f5f; +} +.asciinema-terminal .bg-59 { + background-color: #5f5f5f; +} +.asciinema-terminal .fg-60 { + color: #5f5f87; +} +.asciinema-terminal .bg-60 { + background-color: #5f5f87; +} +.asciinema-terminal .fg-61 { + color: #5f5faf; +} +.asciinema-terminal .bg-61 { + background-color: #5f5faf; +} +.asciinema-terminal .fg-62 { + color: #5f5fd7; +} +.asciinema-terminal .bg-62 { + background-color: #5f5fd7; +} +.asciinema-terminal .fg-63 { + color: #5f5fff; +} +.asciinema-terminal .bg-63 { + background-color: #5f5fff; +} +.asciinema-terminal .fg-64 { + color: #5f8700; +} +.asciinema-terminal .bg-64 { + background-color: #5f8700; +} +.asciinema-terminal .fg-65 { + color: #5f875f; +} +.asciinema-terminal .bg-65 { + background-color: #5f875f; +} +.asciinema-terminal .fg-66 { + color: #5f8787; +} +.asciinema-terminal .bg-66 { + background-color: #5f8787; +} +.asciinema-terminal .fg-67 { + color: #5f87af; +} +.asciinema-terminal .bg-67 { + background-color: #5f87af; +} +.asciinema-terminal .fg-68 { + color: #5f87d7; +} +.asciinema-terminal .bg-68 { + background-color: #5f87d7; +} +.asciinema-terminal .fg-69 { + color: #5f87ff; +} +.asciinema-terminal .bg-69 { + background-color: #5f87ff; +} +.asciinema-terminal .fg-70 { + color: #5faf00; +} +.asciinema-terminal .bg-70 { + background-color: #5faf00; +} +.asciinema-terminal .fg-71 { + color: #5faf5f; +} +.asciinema-terminal .bg-71 { + background-color: #5faf5f; +} +.asciinema-terminal .fg-72 { + color: #5faf87; +} +.asciinema-terminal .bg-72 { + background-color: #5faf87; +} +.asciinema-terminal .fg-73 { + color: #5fafaf; +} +.asciinema-terminal .bg-73 { + background-color: #5fafaf; +} +.asciinema-terminal .fg-74 { + color: #5fafd7; +} +.asciinema-terminal .bg-74 { + background-color: #5fafd7; +} +.asciinema-terminal .fg-75 { + color: #5fafff; +} +.asciinema-terminal .bg-75 { + background-color: #5fafff; +} +.asciinema-terminal .fg-76 { + color: #5fd700; +} +.asciinema-terminal .bg-76 { + background-color: #5fd700; +} +.asciinema-terminal .fg-77 { + color: #5fd75f; +} +.asciinema-terminal .bg-77 { + background-color: #5fd75f; +} +.asciinema-terminal .fg-78 { + color: #5fd787; +} +.asciinema-terminal .bg-78 { + background-color: #5fd787; +} +.asciinema-terminal .fg-79 { + color: #5fd7af; +} +.asciinema-terminal .bg-79 { + background-color: #5fd7af; +} +.asciinema-terminal .fg-80 { + color: #5fd7d7; +} +.asciinema-terminal .bg-80 { + background-color: #5fd7d7; +} +.asciinema-terminal .fg-81 { + color: #5fd7ff; +} +.asciinema-terminal .bg-81 { + background-color: #5fd7ff; +} +.asciinema-terminal .fg-82 { + color: #5fff00; +} +.asciinema-terminal .bg-82 { + background-color: #5fff00; +} +.asciinema-terminal .fg-83 { + color: #5fff5f; +} +.asciinema-terminal .bg-83 { + background-color: #5fff5f; +} +.asciinema-terminal .fg-84 { + color: #5fff87; +} +.asciinema-terminal .bg-84 { + background-color: #5fff87; +} +.asciinema-terminal .fg-85 { + color: #5fffaf; +} +.asciinema-terminal .bg-85 { + background-color: #5fffaf; +} +.asciinema-terminal .fg-86 { + color: #5fffd7; +} +.asciinema-terminal .bg-86 { + background-color: #5fffd7; +} +.asciinema-terminal .fg-87 { + color: #5fffff; +} +.asciinema-terminal .bg-87 { + background-color: #5fffff; +} +.asciinema-terminal .fg-88 { + color: #870000; +} +.asciinema-terminal .bg-88 { + background-color: #870000; +} +.asciinema-terminal .fg-89 { + color: #87005f; +} +.asciinema-terminal .bg-89 { + background-color: #87005f; +} +.asciinema-terminal .fg-90 { + color: #870087; +} +.asciinema-terminal .bg-90 { + background-color: #870087; +} +.asciinema-terminal .fg-91 { + color: #8700af; +} +.asciinema-terminal .bg-91 { + background-color: #8700af; +} +.asciinema-terminal .fg-92 { + color: #8700d7; +} +.asciinema-terminal .bg-92 { + background-color: #8700d7; +} +.asciinema-terminal .fg-93 { + color: #8700ff; +} +.asciinema-terminal .bg-93 { + background-color: #8700ff; +} +.asciinema-terminal .fg-94 { + color: #875f00; +} +.asciinema-terminal .bg-94 { + background-color: #875f00; +} +.asciinema-terminal .fg-95 { + color: #875f5f; +} +.asciinema-terminal .bg-95 { + background-color: #875f5f; +} +.asciinema-terminal .fg-96 { + color: #875f87; +} +.asciinema-terminal .bg-96 { + background-color: #875f87; +} +.asciinema-terminal .fg-97 { + color: #875faf; +} +.asciinema-terminal .bg-97 { + background-color: #875faf; +} +.asciinema-terminal .fg-98 { + color: #875fd7; +} +.asciinema-terminal .bg-98 { + background-color: #875fd7; +} +.asciinema-terminal .fg-99 { + color: #875fff; +} +.asciinema-terminal .bg-99 { + background-color: #875fff; +} +.asciinema-terminal .fg-100 { + color: #878700; +} +.asciinema-terminal .bg-100 { + background-color: #878700; +} +.asciinema-terminal .fg-101 { + color: #87875f; +} +.asciinema-terminal .bg-101 { + background-color: #87875f; +} +.asciinema-terminal .fg-102 { + color: #878787; +} +.asciinema-terminal .bg-102 { + background-color: #878787; +} +.asciinema-terminal .fg-103 { + color: #8787af; +} +.asciinema-terminal .bg-103 { + background-color: #8787af; +} +.asciinema-terminal .fg-104 { + color: #8787d7; +} +.asciinema-terminal .bg-104 { + background-color: #8787d7; +} +.asciinema-terminal .fg-105 { + color: #8787ff; +} +.asciinema-terminal .bg-105 { + background-color: #8787ff; +} +.asciinema-terminal .fg-106 { + color: #87af00; +} +.asciinema-terminal .bg-106 { + background-color: #87af00; +} +.asciinema-terminal .fg-107 { + color: #87af5f; +} +.asciinema-terminal .bg-107 { + background-color: #87af5f; +} +.asciinema-terminal .fg-108 { + color: #87af87; +} +.asciinema-terminal .bg-108 { + background-color: #87af87; +} +.asciinema-terminal .fg-109 { + color: #87afaf; +} +.asciinema-terminal .bg-109 { + background-color: #87afaf; +} +.asciinema-terminal .fg-110 { + color: #87afd7; +} +.asciinema-terminal .bg-110 { + background-color: #87afd7; +} +.asciinema-terminal .fg-111 { + color: #87afff; +} +.asciinema-terminal .bg-111 { + background-color: #87afff; +} +.asciinema-terminal .fg-112 { + color: #87d700; +} +.asciinema-terminal .bg-112 { + background-color: #87d700; +} +.asciinema-terminal .fg-113 { + color: #87d75f; +} +.asciinema-terminal .bg-113 { + background-color: #87d75f; +} +.asciinema-terminal .fg-114 { + color: #87d787; +} +.asciinema-terminal .bg-114 { + background-color: #87d787; +} +.asciinema-terminal .fg-115 { + color: #87d7af; +} +.asciinema-terminal .bg-115 { + background-color: #87d7af; +} +.asciinema-terminal .fg-116 { + color: #87d7d7; +} +.asciinema-terminal .bg-116 { + background-color: #87d7d7; +} +.asciinema-terminal .fg-117 { + color: #87d7ff; +} +.asciinema-terminal .bg-117 { + background-color: #87d7ff; +} +.asciinema-terminal .fg-118 { + color: #87ff00; +} +.asciinema-terminal .bg-118 { + background-color: #87ff00; +} +.asciinema-terminal .fg-119 { + color: #87ff5f; +} +.asciinema-terminal .bg-119 { + background-color: #87ff5f; +} +.asciinema-terminal .fg-120 { + color: #87ff87; +} +.asciinema-terminal .bg-120 { + background-color: #87ff87; +} +.asciinema-terminal .fg-121 { + color: #87ffaf; +} +.asciinema-terminal .bg-121 { + background-color: #87ffaf; +} +.asciinema-terminal .fg-122 { + color: #87ffd7; +} +.asciinema-terminal .bg-122 { + background-color: #87ffd7; +} +.asciinema-terminal .fg-123 { + color: #87ffff; +} +.asciinema-terminal .bg-123 { + background-color: #87ffff; +} +.asciinema-terminal .fg-124 { + color: #af0000; +} +.asciinema-terminal .bg-124 { + background-color: #af0000; +} +.asciinema-terminal .fg-125 { + color: #af005f; +} +.asciinema-terminal .bg-125 { + background-color: #af005f; +} +.asciinema-terminal .fg-126 { + color: #af0087; +} +.asciinema-terminal .bg-126 { + background-color: #af0087; +} +.asciinema-terminal .fg-127 { + color: #af00af; +} +.asciinema-terminal .bg-127 { + background-color: #af00af; +} +.asciinema-terminal .fg-128 { + color: #af00d7; +} +.asciinema-terminal .bg-128 { + background-color: #af00d7; +} +.asciinema-terminal .fg-129 { + color: #af00ff; +} +.asciinema-terminal .bg-129 { + background-color: #af00ff; +} +.asciinema-terminal .fg-130 { + color: #af5f00; +} +.asciinema-terminal .bg-130 { + background-color: #af5f00; +} +.asciinema-terminal .fg-131 { + color: #af5f5f; +} +.asciinema-terminal .bg-131 { + background-color: #af5f5f; +} +.asciinema-terminal .fg-132 { + color: #af5f87; +} +.asciinema-terminal .bg-132 { + background-color: #af5f87; +} +.asciinema-terminal .fg-133 { + color: #af5faf; +} +.asciinema-terminal .bg-133 { + background-color: #af5faf; +} +.asciinema-terminal .fg-134 { + color: #af5fd7; +} +.asciinema-terminal .bg-134 { + background-color: #af5fd7; +} +.asciinema-terminal .fg-135 { + color: #af5fff; +} +.asciinema-terminal .bg-135 { + background-color: #af5fff; +} +.asciinema-terminal .fg-136 { + color: #af8700; +} +.asciinema-terminal .bg-136 { + background-color: #af8700; +} +.asciinema-terminal .fg-137 { + color: #af875f; +} +.asciinema-terminal .bg-137 { + background-color: #af875f; +} +.asciinema-terminal .fg-138 { + color: #af8787; +} +.asciinema-terminal .bg-138 { + background-color: #af8787; +} +.asciinema-terminal .fg-139 { + color: #af87af; +} +.asciinema-terminal .bg-139 { + background-color: #af87af; +} +.asciinema-terminal .fg-140 { + color: #af87d7; +} +.asciinema-terminal .bg-140 { + background-color: #af87d7; +} +.asciinema-terminal .fg-141 { + color: #af87ff; +} +.asciinema-terminal .bg-141 { + background-color: #af87ff; +} +.asciinema-terminal .fg-142 { + color: #afaf00; +} +.asciinema-terminal .bg-142 { + background-color: #afaf00; +} +.asciinema-terminal .fg-143 { + color: #afaf5f; +} +.asciinema-terminal .bg-143 { + background-color: #afaf5f; +} +.asciinema-terminal .fg-144 { + color: #afaf87; +} +.asciinema-terminal .bg-144 { + background-color: #afaf87; +} +.asciinema-terminal .fg-145 { + color: #afafaf; +} +.asciinema-terminal .bg-145 { + background-color: #afafaf; +} +.asciinema-terminal .fg-146 { + color: #afafd7; +} +.asciinema-terminal .bg-146 { + background-color: #afafd7; +} +.asciinema-terminal .fg-147 { + color: #afafff; +} +.asciinema-terminal .bg-147 { + background-color: #afafff; +} +.asciinema-terminal .fg-148 { + color: #afd700; +} +.asciinema-terminal .bg-148 { + background-color: #afd700; +} +.asciinema-terminal .fg-149 { + color: #afd75f; +} +.asciinema-terminal .bg-149 { + background-color: #afd75f; +} +.asciinema-terminal .fg-150 { + color: #afd787; +} +.asciinema-terminal .bg-150 { + background-color: #afd787; +} +.asciinema-terminal .fg-151 { + color: #afd7af; +} +.asciinema-terminal .bg-151 { + background-color: #afd7af; +} +.asciinema-terminal .fg-152 { + color: #afd7d7; +} +.asciinema-terminal .bg-152 { + background-color: #afd7d7; +} +.asciinema-terminal .fg-153 { + color: #afd7ff; +} +.asciinema-terminal .bg-153 { + background-color: #afd7ff; +} +.asciinema-terminal .fg-154 { + color: #afff00; +} +.asciinema-terminal .bg-154 { + background-color: #afff00; +} +.asciinema-terminal .fg-155 { + color: #afff5f; +} +.asciinema-terminal .bg-155 { + background-color: #afff5f; +} +.asciinema-terminal .fg-156 { + color: #afff87; +} +.asciinema-terminal .bg-156 { + background-color: #afff87; +} +.asciinema-terminal .fg-157 { + color: #afffaf; +} +.asciinema-terminal .bg-157 { + background-color: #afffaf; +} +.asciinema-terminal .fg-158 { + color: #afffd7; +} +.asciinema-terminal .bg-158 { + background-color: #afffd7; +} +.asciinema-terminal .fg-159 { + color: #afffff; +} +.asciinema-terminal .bg-159 { + background-color: #afffff; +} +.asciinema-terminal .fg-160 { + color: #d70000; +} +.asciinema-terminal .bg-160 { + background-color: #d70000; +} +.asciinema-terminal .fg-161 { + color: #d7005f; +} +.asciinema-terminal .bg-161 { + background-color: #d7005f; +} +.asciinema-terminal .fg-162 { + color: #d70087; +} +.asciinema-terminal .bg-162 { + background-color: #d70087; +} +.asciinema-terminal .fg-163 { + color: #d700af; +} +.asciinema-terminal .bg-163 { + background-color: #d700af; +} +.asciinema-terminal .fg-164 { + color: #d700d7; +} +.asciinema-terminal .bg-164 { + background-color: #d700d7; +} +.asciinema-terminal .fg-165 { + color: #d700ff; +} +.asciinema-terminal .bg-165 { + background-color: #d700ff; +} +.asciinema-terminal .fg-166 { + color: #d75f00; +} +.asciinema-terminal .bg-166 { + background-color: #d75f00; +} +.asciinema-terminal .fg-167 { + color: #d75f5f; +} +.asciinema-terminal .bg-167 { + background-color: #d75f5f; +} +.asciinema-terminal .fg-168 { + color: #d75f87; +} +.asciinema-terminal .bg-168 { + background-color: #d75f87; +} +.asciinema-terminal .fg-169 { + color: #d75faf; +} +.asciinema-terminal .bg-169 { + background-color: #d75faf; +} +.asciinema-terminal .fg-170 { + color: #d75fd7; +} +.asciinema-terminal .bg-170 { + background-color: #d75fd7; +} +.asciinema-terminal .fg-171 { + color: #d75fff; +} +.asciinema-terminal .bg-171 { + background-color: #d75fff; +} +.asciinema-terminal .fg-172 { + color: #d78700; +} +.asciinema-terminal .bg-172 { + background-color: #d78700; +} +.asciinema-terminal .fg-173 { + color: #d7875f; +} +.asciinema-terminal .bg-173 { + background-color: #d7875f; +} +.asciinema-terminal .fg-174 { + color: #d78787; +} +.asciinema-terminal .bg-174 { + background-color: #d78787; +} +.asciinema-terminal .fg-175 { + color: #d787af; +} +.asciinema-terminal .bg-175 { + background-color: #d787af; +} +.asciinema-terminal .fg-176 { + color: #d787d7; +} +.asciinema-terminal .bg-176 { + background-color: #d787d7; +} +.asciinema-terminal .fg-177 { + color: #d787ff; +} +.asciinema-terminal .bg-177 { + background-color: #d787ff; +} +.asciinema-terminal .fg-178 { + color: #d7af00; +} +.asciinema-terminal .bg-178 { + background-color: #d7af00; +} +.asciinema-terminal .fg-179 { + color: #d7af5f; +} +.asciinema-terminal .bg-179 { + background-color: #d7af5f; +} +.asciinema-terminal .fg-180 { + color: #d7af87; +} +.asciinema-terminal .bg-180 { + background-color: #d7af87; +} +.asciinema-terminal .fg-181 { + color: #d7afaf; +} +.asciinema-terminal .bg-181 { + background-color: #d7afaf; +} +.asciinema-terminal .fg-182 { + color: #d7afd7; +} +.asciinema-terminal .bg-182 { + background-color: #d7afd7; +} +.asciinema-terminal .fg-183 { + color: #d7afff; +} +.asciinema-terminal .bg-183 { + background-color: #d7afff; +} +.asciinema-terminal .fg-184 { + color: #d7d700; +} +.asciinema-terminal .bg-184 { + background-color: #d7d700; +} +.asciinema-terminal .fg-185 { + color: #d7d75f; +} +.asciinema-terminal .bg-185 { + background-color: #d7d75f; +} +.asciinema-terminal .fg-186 { + color: #d7d787; +} +.asciinema-terminal .bg-186 { + background-color: #d7d787; +} +.asciinema-terminal .fg-187 { + color: #d7d7af; +} +.asciinema-terminal .bg-187 { + background-color: #d7d7af; +} +.asciinema-terminal .fg-188 { + color: #d7d7d7; +} +.asciinema-terminal .bg-188 { + background-color: #d7d7d7; +} +.asciinema-terminal .fg-189 { + color: #d7d7ff; +} +.asciinema-terminal .bg-189 { + background-color: #d7d7ff; +} +.asciinema-terminal .fg-190 { + color: #d7ff00; +} +.asciinema-terminal .bg-190 { + background-color: #d7ff00; +} +.asciinema-terminal .fg-191 { + color: #d7ff5f; +} +.asciinema-terminal .bg-191 { + background-color: #d7ff5f; +} +.asciinema-terminal .fg-192 { + color: #d7ff87; +} +.asciinema-terminal .bg-192 { + background-color: #d7ff87; +} +.asciinema-terminal .fg-193 { + color: #d7ffaf; +} +.asciinema-terminal .bg-193 { + background-color: #d7ffaf; +} +.asciinema-terminal .fg-194 { + color: #d7ffd7; +} +.asciinema-terminal .bg-194 { + background-color: #d7ffd7; +} +.asciinema-terminal .fg-195 { + color: #d7ffff; +} +.asciinema-terminal .bg-195 { + background-color: #d7ffff; +} +.asciinema-terminal .fg-196 { + color: #ff0000; +} +.asciinema-terminal .bg-196 { + background-color: #ff0000; +} +.asciinema-terminal .fg-197 { + color: #ff005f; +} +.asciinema-terminal .bg-197 { + background-color: #ff005f; +} +.asciinema-terminal .fg-198 { + color: #ff0087; +} +.asciinema-terminal .bg-198 { + background-color: #ff0087; +} +.asciinema-terminal .fg-199 { + color: #ff00af; +} +.asciinema-terminal .bg-199 { + background-color: #ff00af; +} +.asciinema-terminal .fg-200 { + color: #ff00d7; +} +.asciinema-terminal .bg-200 { + background-color: #ff00d7; +} +.asciinema-terminal .fg-201 { + color: #ff00ff; +} +.asciinema-terminal .bg-201 { + background-color: #ff00ff; +} +.asciinema-terminal .fg-202 { + color: #ff5f00; +} +.asciinema-terminal .bg-202 { + background-color: #ff5f00; +} +.asciinema-terminal .fg-203 { + color: #ff5f5f; +} +.asciinema-terminal .bg-203 { + background-color: #ff5f5f; +} +.asciinema-terminal .fg-204 { + color: #ff5f87; +} +.asciinema-terminal .bg-204 { + background-color: #ff5f87; +} +.asciinema-terminal .fg-205 { + color: #ff5faf; +} +.asciinema-terminal .bg-205 { + background-color: #ff5faf; +} +.asciinema-terminal .fg-206 { + color: #ff5fd7; +} +.asciinema-terminal .bg-206 { + background-color: #ff5fd7; +} +.asciinema-terminal .fg-207 { + color: #ff5fff; +} +.asciinema-terminal .bg-207 { + background-color: #ff5fff; +} +.asciinema-terminal .fg-208 { + color: #ff8700; +} +.asciinema-terminal .bg-208 { + background-color: #ff8700; +} +.asciinema-terminal .fg-209 { + color: #ff875f; +} +.asciinema-terminal .bg-209 { + background-color: #ff875f; +} +.asciinema-terminal .fg-210 { + color: #ff8787; +} +.asciinema-terminal .bg-210 { + background-color: #ff8787; +} +.asciinema-terminal .fg-211 { + color: #ff87af; +} +.asciinema-terminal .bg-211 { + background-color: #ff87af; +} +.asciinema-terminal .fg-212 { + color: #ff87d7; +} +.asciinema-terminal .bg-212 { + background-color: #ff87d7; +} +.asciinema-terminal .fg-213 { + color: #ff87ff; +} +.asciinema-terminal .bg-213 { + background-color: #ff87ff; +} +.asciinema-terminal .fg-214 { + color: #ffaf00; +} +.asciinema-terminal .bg-214 { + background-color: #ffaf00; +} +.asciinema-terminal .fg-215 { + color: #ffaf5f; +} +.asciinema-terminal .bg-215 { + background-color: #ffaf5f; +} +.asciinema-terminal .fg-216 { + color: #ffaf87; +} +.asciinema-terminal .bg-216 { + background-color: #ffaf87; +} +.asciinema-terminal .fg-217 { + color: #ffafaf; +} +.asciinema-terminal .bg-217 { + background-color: #ffafaf; +} +.asciinema-terminal .fg-218 { + color: #ffafd7; +} +.asciinema-terminal .bg-218 { + background-color: #ffafd7; +} +.asciinema-terminal .fg-219 { + color: #ffafff; +} +.asciinema-terminal .bg-219 { + background-color: #ffafff; +} +.asciinema-terminal .fg-220 { + color: #ffd700; +} +.asciinema-terminal .bg-220 { + background-color: #ffd700; +} +.asciinema-terminal .fg-221 { + color: #ffd75f; +} +.asciinema-terminal .bg-221 { + background-color: #ffd75f; +} +.asciinema-terminal .fg-222 { + color: #ffd787; +} +.asciinema-terminal .bg-222 { + background-color: #ffd787; +} +.asciinema-terminal .fg-223 { + color: #ffd7af; +} +.asciinema-terminal .bg-223 { + background-color: #ffd7af; +} +.asciinema-terminal .fg-224 { + color: #ffd7d7; +} +.asciinema-terminal .bg-224 { + background-color: #ffd7d7; +} +.asciinema-terminal .fg-225 { + color: #ffd7ff; +} +.asciinema-terminal .bg-225 { + background-color: #ffd7ff; +} +.asciinema-terminal .fg-226 { + color: #ffff00; +} +.asciinema-terminal .bg-226 { + background-color: #ffff00; +} +.asciinema-terminal .fg-227 { + color: #ffff5f; +} +.asciinema-terminal .bg-227 { + background-color: #ffff5f; +} +.asciinema-terminal .fg-228 { + color: #ffff87; +} +.asciinema-terminal .bg-228 { + background-color: #ffff87; +} +.asciinema-terminal .fg-229 { + color: #ffffaf; +} +.asciinema-terminal .bg-229 { + background-color: #ffffaf; +} +.asciinema-terminal .fg-230 { + color: #ffffd7; +} +.asciinema-terminal .bg-230 { + background-color: #ffffd7; +} +.asciinema-terminal .fg-231 { + color: #ffffff; +} +.asciinema-terminal .bg-231 { + background-color: #ffffff; +} +.asciinema-terminal .fg-232 { + color: #080808; +} +.asciinema-terminal .bg-232 { + background-color: #080808; +} +.asciinema-terminal .fg-233 { + color: #121212; +} +.asciinema-terminal .bg-233 { + background-color: #121212; +} +.asciinema-terminal .fg-234 { + color: #1c1c1c; +} +.asciinema-terminal .bg-234 { + background-color: #1c1c1c; +} +.asciinema-terminal .fg-235 { + color: #262626; +} +.asciinema-terminal .bg-235 { + background-color: #262626; +} +.asciinema-terminal .fg-236 { + color: #303030; +} +.asciinema-terminal .bg-236 { + background-color: #303030; +} +.asciinema-terminal .fg-237 { + color: #3a3a3a; +} +.asciinema-terminal .bg-237 { + background-color: #3a3a3a; +} +.asciinema-terminal .fg-238 { + color: #444444; +} +.asciinema-terminal .bg-238 { + background-color: #444444; +} +.asciinema-terminal .fg-239 { + color: #4e4e4e; +} +.asciinema-terminal .bg-239 { + background-color: #4e4e4e; +} +.asciinema-terminal .fg-240 { + color: #585858; +} +.asciinema-terminal .bg-240 { + background-color: #585858; +} +.asciinema-terminal .fg-241 { + color: #626262; +} +.asciinema-terminal .bg-241 { + background-color: #626262; +} +.asciinema-terminal .fg-242 { + color: #6c6c6c; +} +.asciinema-terminal .bg-242 { + background-color: #6c6c6c; +} +.asciinema-terminal .fg-243 { + color: #767676; +} +.asciinema-terminal .bg-243 { + background-color: #767676; +} +.asciinema-terminal .fg-244 { + color: #808080; +} +.asciinema-terminal .bg-244 { + background-color: #808080; +} +.asciinema-terminal .fg-245 { + color: #8a8a8a; +} +.asciinema-terminal .bg-245 { + background-color: #8a8a8a; +} +.asciinema-terminal .fg-246 { + color: #949494; +} +.asciinema-terminal .bg-246 { + background-color: #949494; +} +.asciinema-terminal .fg-247 { + color: #9e9e9e; +} +.asciinema-terminal .bg-247 { + background-color: #9e9e9e; +} +.asciinema-terminal .fg-248 { + color: #a8a8a8; +} +.asciinema-terminal .bg-248 { + background-color: #a8a8a8; +} +.asciinema-terminal .fg-249 { + color: #b2b2b2; +} +.asciinema-terminal .bg-249 { + background-color: #b2b2b2; +} +.asciinema-terminal .fg-250 { + color: #bcbcbc; +} +.asciinema-terminal .bg-250 { + background-color: #bcbcbc; +} +.asciinema-terminal .fg-251 { + color: #c6c6c6; +} +.asciinema-terminal .bg-251 { + background-color: #c6c6c6; +} +.asciinema-terminal .fg-252 { + color: #d0d0d0; +} +.asciinema-terminal .bg-252 { + background-color: #d0d0d0; +} +.asciinema-terminal .fg-253 { + color: #dadada; +} +.asciinema-terminal .bg-253 { + background-color: #dadada; +} +.asciinema-terminal .fg-254 { + color: #e4e4e4; +} +.asciinema-terminal .bg-254 { + background-color: #e4e4e4; +} +.asciinema-terminal .fg-255 { + color: #eeeeee; +} +.asciinema-terminal .bg-255 { + background-color: #eeeeee; +} +.asciinema-theme-asciinema { + background-color: #121314; +} +.asciinema-theme-asciinema .asciinema-terminal { + color: #CCCCCC; + background-color: #121314; + border-color: #121314; +} +.asciinema-theme-asciinema .fg-bg { + color: #121314; +} +.asciinema-theme-asciinema .bg-fg { + background-color: #CCCCCC; +} +.asciinema-theme-asciinema .fg-0 { + color: hsl(0, 0%, 0%); +} +.asciinema-theme-asciinema .bg-0 { + background-color: hsl(0, 0%, 0%); +} +.asciinema-theme-asciinema .fg-1 { + color: hsl(343, 70%, 55%); +} +.asciinema-theme-asciinema .bg-1 { + background-color: hsl(343, 70%, 55%); +} +.asciinema-theme-asciinema .fg-2 { + color: hsl(103, 70%, 44%); +} +.asciinema-theme-asciinema .bg-2 { + background-color: hsl(103, 70%, 44%); +} +.asciinema-theme-asciinema .fg-3 { + color: hsl(43, 70%, 55%); +} +.asciinema-theme-asciinema .bg-3 { + background-color: hsl(43, 70%, 55%); +} +.asciinema-theme-asciinema .fg-4 { + color: hsl(193, 70%, 49.5%); +} +.asciinema-theme-asciinema .bg-4 { + background-color: hsl(193, 70%, 49.5%); +} +.asciinema-theme-asciinema .fg-5 { + color: hsl(283, 70%, 60.5%); +} +.asciinema-theme-asciinema .bg-5 { + background-color: hsl(283, 70%, 60.5%); +} +.asciinema-theme-asciinema .fg-6 { + color: hsl(163, 70%, 60.5%); +} +.asciinema-theme-asciinema .bg-6 { + background-color: hsl(163, 70%, 60.5%); +} +.asciinema-theme-asciinema .fg-7 { + color: hsl(0, 0%, 85%); +} +.asciinema-theme-asciinema .bg-7 { + background-color: hsl(0, 0%, 85%); +} +.asciinema-theme-asciinema .fg-8 { + color: hsl(0, 0%, 30%); +} +.asciinema-theme-asciinema .bg-8 { + background-color: hsl(0, 0%, 30%); +} +.asciinema-theme-asciinema .fg-9 { + color: hsl(343, 70%, 55%); +} +.asciinema-theme-asciinema .bg-9 { + background-color: hsl(343, 70%, 55%); +} +.asciinema-theme-asciinema .fg-10 { + color: hsl(103, 70%, 44%); +} +.asciinema-theme-asciinema .bg-10 { + background-color: hsl(103, 70%, 44%); +} +.asciinema-theme-asciinema .fg-11 { + color: hsl(43, 70%, 55%); +} +.asciinema-theme-asciinema .bg-11 { + background-color: hsl(43, 70%, 55%); +} +.asciinema-theme-asciinema .fg-12 { + color: hsl(193, 70%, 49.5%); +} +.asciinema-theme-asciinema .bg-12 { + background-color: hsl(193, 70%, 49.5%); +} +.asciinema-theme-asciinema .fg-13 { + color: hsl(283, 70%, 60.5%); +} +.asciinema-theme-asciinema .bg-13 { + background-color: hsl(283, 70%, 60.5%); +} +.asciinema-theme-asciinema .fg-14 { + color: hsl(163, 70%, 60.5%); +} +.asciinema-theme-asciinema .bg-14 { + background-color: hsl(163, 70%, 60.5%); +} +.asciinema-theme-asciinema .fg-15 { + color: hsl(0, 0%, 100%); +} +.asciinema-theme-asciinema .bg-15 { + background-color: hsl(0, 0%, 100%); +} +.asciinema-theme-asciinema .fg-8, +.asciinema-theme-asciinema .fg-9, +.asciinema-theme-asciinema .fg-10, +.asciinema-theme-asciinema .fg-11, +.asciinema-theme-asciinema .fg-12, +.asciinema-theme-asciinema .fg-13, +.asciinema-theme-asciinema .fg-14, +.asciinema-theme-asciinema .fg-15 { + font-weight: bold; +} +.asciinema-theme-tango { + background-color: #121314; +} +.asciinema-theme-tango .asciinema-terminal { + color: #CCCCCC; + background-color: #121314; + border-color: #121314; +} +.asciinema-theme-tango .fg-bg { + color: #121314; +} +.asciinema-theme-tango .bg-fg { + background-color: #CCCCCC; +} +.asciinema-theme-tango .fg-0 { + color: #000000; +} +.asciinema-theme-tango .bg-0 { + background-color: #000000; +} +.asciinema-theme-tango .fg-1 { + color: #CC0000; +} +.asciinema-theme-tango .bg-1 { + background-color: #CC0000; +} +.asciinema-theme-tango .fg-2 { + color: #4E9A06; +} +.asciinema-theme-tango .bg-2 { + background-color: #4E9A06; +} +.asciinema-theme-tango .fg-3 { + color: #C4A000; +} +.asciinema-theme-tango .bg-3 { + background-color: #C4A000; +} +.asciinema-theme-tango .fg-4 { + color: #3465A4; +} +.asciinema-theme-tango .bg-4 { + background-color: #3465A4; +} +.asciinema-theme-tango .fg-5 { + color: #75507B; +} +.asciinema-theme-tango .bg-5 { + background-color: #75507B; +} +.asciinema-theme-tango .fg-6 { + color: #06989A; +} +.asciinema-theme-tango .bg-6 { + background-color: #06989A; +} +.asciinema-theme-tango .fg-7 { + color: #D3D7CF; +} +.asciinema-theme-tango .bg-7 { + background-color: #D3D7CF; +} +.asciinema-theme-tango .fg-8 { + color: #555753; +} +.asciinema-theme-tango .bg-8 { + background-color: #555753; +} +.asciinema-theme-tango .fg-9 { + color: #EF2929; +} +.asciinema-theme-tango .bg-9 { + background-color: #EF2929; +} +.asciinema-theme-tango .fg-10 { + color: #8AE234; +} +.asciinema-theme-tango .bg-10 { + background-color: #8AE234; +} +.asciinema-theme-tango .fg-11 { + color: #FCE94F; +} +.asciinema-theme-tango .bg-11 { + background-color: #FCE94F; +} +.asciinema-theme-tango .fg-12 { + color: #729FCF; +} +.asciinema-theme-tango .bg-12 { + background-color: #729FCF; +} +.asciinema-theme-tango .fg-13 { + color: #AD7FA8; +} +.asciinema-theme-tango .bg-13 { + background-color: #AD7FA8; +} +.asciinema-theme-tango .fg-14 { + color: #34E2E2; +} +.asciinema-theme-tango .bg-14 { + background-color: #34E2E2; +} +.asciinema-theme-tango .fg-15 { + color: #EEEEEC; +} +.asciinema-theme-tango .bg-15 { + background-color: #EEEEEC; +} +.asciinema-theme-tango .fg-8, +.asciinema-theme-tango .fg-9, +.asciinema-theme-tango .fg-10, +.asciinema-theme-tango .fg-11, +.asciinema-theme-tango .fg-12, +.asciinema-theme-tango .fg-13, +.asciinema-theme-tango .fg-14, +.asciinema-theme-tango .fg-15 { + font-weight: bold; +} +.asciinema-theme-solarized-dark { + background-color: #002b36; +} +.asciinema-theme-solarized-dark .asciinema-terminal { + color: #839496; + background-color: #002b36; + border-color: #002b36; +} +.asciinema-theme-solarized-dark .fg-bg { + color: #002b36; +} +.asciinema-theme-solarized-dark .bg-fg { + background-color: #839496; +} +.asciinema-theme-solarized-dark .fg-0 { + color: #073642; +} +.asciinema-theme-solarized-dark .bg-0 { + background-color: #073642; +} +.asciinema-theme-solarized-dark .fg-1 { + color: #dc322f; +} +.asciinema-theme-solarized-dark .bg-1 { + background-color: #dc322f; +} +.asciinema-theme-solarized-dark .fg-2 { + color: #859900; +} +.asciinema-theme-solarized-dark .bg-2 { + background-color: #859900; +} +.asciinema-theme-solarized-dark .fg-3 { + color: #b58900; +} +.asciinema-theme-solarized-dark .bg-3 { + background-color: #b58900; +} +.asciinema-theme-solarized-dark .fg-4 { + color: #268bd2; +} +.asciinema-theme-solarized-dark .bg-4 { + background-color: #268bd2; +} +.asciinema-theme-solarized-dark .fg-5 { + color: #d33682; +} +.asciinema-theme-solarized-dark .bg-5 { + background-color: #d33682; +} +.asciinema-theme-solarized-dark .fg-6 { + color: #2aa198; +} +.asciinema-theme-solarized-dark .bg-6 { + background-color: #2aa198; +} +.asciinema-theme-solarized-dark .fg-7 { + color: #eee8d5; +} +.asciinema-theme-solarized-dark .bg-7 { + background-color: #eee8d5; +} +.asciinema-theme-solarized-dark .fg-8 { + color: #002b36; +} +.asciinema-theme-solarized-dark .bg-8 { + background-color: #002b36; +} +.asciinema-theme-solarized-dark .fg-9 { + color: #cb4b16; +} +.asciinema-theme-solarized-dark .bg-9 { + background-color: #cb4b16; +} +.asciinema-theme-solarized-dark .fg-10 { + color: #586e75; +} +.asciinema-theme-solarized-dark .bg-10 { + background-color: #586e75; +} +.asciinema-theme-solarized-dark .fg-11 { + color: #657b83; +} +.asciinema-theme-solarized-dark .bg-11 { + background-color: #657b83; +} +.asciinema-theme-solarized-dark .fg-12 { + color: #839496; +} +.asciinema-theme-solarized-dark .bg-12 { + background-color: #839496; +} +.asciinema-theme-solarized-dark .fg-13 { + color: #6c71c4; +} +.asciinema-theme-solarized-dark .bg-13 { + background-color: #6c71c4; +} +.asciinema-theme-solarized-dark .fg-14 { + color: #93a1a1; +} +.asciinema-theme-solarized-dark .bg-14 { + background-color: #93a1a1; +} +.asciinema-theme-solarized-dark .fg-15 { + color: #fdf6e3; +} +.asciinema-theme-solarized-dark .bg-15 { + background-color: #fdf6e3; +} +.asciinema-theme-solarized-light { + background-color: #fdf6e3; +} +.asciinema-theme-solarized-light .asciinema-terminal { + color: #657b83; + background-color: #fdf6e3; + border-color: #fdf6e3; +} +.asciinema-theme-solarized-light .fg-bg { + color: #fdf6e3; +} +.asciinema-theme-solarized-light .bg-fg { + background-color: #657b83; +} +.asciinema-theme-solarized-light .fg-0 { + color: #073642; +} +.asciinema-theme-solarized-light .bg-0 { + background-color: #073642; +} +.asciinema-theme-solarized-light .fg-1 { + color: #dc322f; +} +.asciinema-theme-solarized-light .bg-1 { + background-color: #dc322f; +} +.asciinema-theme-solarized-light .fg-2 { + color: #859900; +} +.asciinema-theme-solarized-light .bg-2 { + background-color: #859900; +} +.asciinema-theme-solarized-light .fg-3 { + color: #b58900; +} +.asciinema-theme-solarized-light .bg-3 { + background-color: #b58900; +} +.asciinema-theme-solarized-light .fg-4 { + color: #268bd2; +} +.asciinema-theme-solarized-light .bg-4 { + background-color: #268bd2; +} +.asciinema-theme-solarized-light .fg-5 { + color: #d33682; +} +.asciinema-theme-solarized-light .bg-5 { + background-color: #d33682; +} +.asciinema-theme-solarized-light .fg-6 { + color: #2aa198; +} +.asciinema-theme-solarized-light .bg-6 { + background-color: #2aa198; +} +.asciinema-theme-solarized-light .fg-7 { + color: #eee8d5; +} +.asciinema-theme-solarized-light .bg-7 { + background-color: #eee8d5; +} +.asciinema-theme-solarized-light .fg-8 { + color: #002b36; +} +.asciinema-theme-solarized-light .bg-8 { + background-color: #002b36; +} +.asciinema-theme-solarized-light .fg-9 { + color: #cb4b16; +} +.asciinema-theme-solarized-light .bg-9 { + background-color: #cb4b16; +} +.asciinema-theme-solarized-light .fg-10 { + color: #586e75; +} +.asciinema-theme-solarized-light .bg-10 { + background-color: #586e75; +} +.asciinema-theme-solarized-light .fg-11 { + color: #657c83; +} +.asciinema-theme-solarized-light .bg-11 { + background-color: #657c83; +} +.asciinema-theme-solarized-light .fg-12 { + color: #839496; +} +.asciinema-theme-solarized-light .bg-12 { + background-color: #839496; +} +.asciinema-theme-solarized-light .fg-13 { + color: #6c71c4; +} +.asciinema-theme-solarized-light .bg-13 { + background-color: #6c71c4; +} +.asciinema-theme-solarized-light .fg-14 { + color: #93a1a1; +} +.asciinema-theme-solarized-light .bg-14 { + background-color: #93a1a1; +} +.asciinema-theme-solarized-light .fg-15 { + color: #fdf6e3; +} +.asciinema-theme-solarized-light .bg-15 { + background-color: #fdf6e3; +} +.asciinema-theme-solarized-light .start-prompt .play-button svg .play-btn-fill { + fill: #dc322f; +} +.asciinema-theme-solarized-light .start-prompt .play-button svg .play-btn-stroke { + stroke: #dc322f; +} +.asciinema-theme-seti { + background-color: #111213; +} +.asciinema-theme-seti .asciinema-terminal { + color: #cacecd; + background-color: #111213; + border-color: #111213; +} +.asciinema-theme-seti .fg-bg { + color: #111213; +} +.asciinema-theme-seti .bg-fg { + background-color: #cacecd; +} +.asciinema-theme-seti .fg-0 { + color: #323232; +} +.asciinema-theme-seti .bg-0 { + background-color: #323232; +} +.asciinema-theme-seti .fg-1 { + color: #c22832; +} +.asciinema-theme-seti .bg-1 { + background-color: #c22832; +} +.asciinema-theme-seti .fg-2 { + color: #8ec43d; +} +.asciinema-theme-seti .bg-2 { + background-color: #8ec43d; +} +.asciinema-theme-seti .fg-3 { + color: #e0c64f; +} +.asciinema-theme-seti .bg-3 { + background-color: #e0c64f; +} +.asciinema-theme-seti .fg-4 { + color: #43a5d5; +} +.asciinema-theme-seti .bg-4 { + background-color: #43a5d5; +} +.asciinema-theme-seti .fg-5 { + color: #8b57b5; +} +.asciinema-theme-seti .bg-5 { + background-color: #8b57b5; +} +.asciinema-theme-seti .fg-6 { + color: #8ec43d; +} +.asciinema-theme-seti .bg-6 { + background-color: #8ec43d; +} +.asciinema-theme-seti .fg-7 { + color: #eeeeee; +} +.asciinema-theme-seti .bg-7 { + background-color: #eeeeee; +} +.asciinema-theme-seti .fg-8 { + color: #323232; +} +.asciinema-theme-seti .bg-8 { + background-color: #323232; +} +.asciinema-theme-seti .fg-9 { + color: #c22832; +} +.asciinema-theme-seti .bg-9 { + background-color: #c22832; +} +.asciinema-theme-seti .fg-10 { + color: #8ec43d; +} +.asciinema-theme-seti .bg-10 { + background-color: #8ec43d; +} +.asciinema-theme-seti .fg-11 { + color: #e0c64f; +} +.asciinema-theme-seti .bg-11 { + background-color: #e0c64f; +} +.asciinema-theme-seti .fg-12 { + color: #43a5d5; +} +.asciinema-theme-seti .bg-12 { + background-color: #43a5d5; +} +.asciinema-theme-seti .fg-13 { + color: #8b57b5; +} +.asciinema-theme-seti .bg-13 { + background-color: #8b57b5; +} +.asciinema-theme-seti .fg-14 { + color: #8ec43d; +} +.asciinema-theme-seti .bg-14 { + background-color: #8ec43d; +} +.asciinema-theme-seti .fg-15 { + color: #ffffff; +} +.asciinema-theme-seti .bg-15 { + background-color: #ffffff; +} +.asciinema-theme-seti .fg-8, +.asciinema-theme-seti .fg-9, +.asciinema-theme-seti .fg-10, +.asciinema-theme-seti .fg-11, +.asciinema-theme-seti .fg-12, +.asciinema-theme-seti .fg-13, +.asciinema-theme-seti .fg-14, +.asciinema-theme-seti .fg-15 { + font-weight: bold; +} +/* Based on Monokai from base16 collection - https://github.com/chriskempson/base16 */ +.asciinema-theme-monokai { + background-color: #272822; +} +.asciinema-theme-monokai .asciinema-terminal { + color: #f8f8f2; + background-color: #272822; + border-color: #272822; +} +.asciinema-theme-monokai .fg-bg { + color: #272822; +} +.asciinema-theme-monokai .bg-fg { + background-color: #f8f8f2; +} +.asciinema-theme-monokai .fg-0 { + color: #272822; +} +.asciinema-theme-monokai .bg-0 { + background-color: #272822; +} +.asciinema-theme-monokai .fg-1 { + color: #f92672; +} +.asciinema-theme-monokai .bg-1 { + background-color: #f92672; +} +.asciinema-theme-monokai .fg-2 { + color: #a6e22e; +} +.asciinema-theme-monokai .bg-2 { + background-color: #a6e22e; +} +.asciinema-theme-monokai .fg-3 { + color: #f4bf75; +} +.asciinema-theme-monokai .bg-3 { + background-color: #f4bf75; +} +.asciinema-theme-monokai .fg-4 { + color: #66d9ef; +} +.asciinema-theme-monokai .bg-4 { + background-color: #66d9ef; +} +.asciinema-theme-monokai .fg-5 { + color: #ae81ff; +} +.asciinema-theme-monokai .bg-5 { + background-color: #ae81ff; +} +.asciinema-theme-monokai .fg-6 { + color: #a1efe4; +} +.asciinema-theme-monokai .bg-6 { + background-color: #a1efe4; +} +.asciinema-theme-monokai .fg-7 { + color: #f8f8f2; +} +.asciinema-theme-monokai .bg-7 { + background-color: #f8f8f2; +} +.asciinema-theme-monokai .fg-8 { + color: #75715e; +} +.asciinema-theme-monokai .bg-8 { + background-color: #75715e; +} +.asciinema-theme-monokai .fg-9 { + color: #f92672; +} +.asciinema-theme-monokai .bg-9 { + background-color: #f92672; +} +.asciinema-theme-monokai .fg-10 { + color: #a6e22e; +} +.asciinema-theme-monokai .bg-10 { + background-color: #a6e22e; +} +.asciinema-theme-monokai .fg-11 { + color: #f4bf75; +} +.asciinema-theme-monokai .bg-11 { + background-color: #f4bf75; +} +.asciinema-theme-monokai .fg-12 { + color: #66d9ef; +} +.asciinema-theme-monokai .bg-12 { + background-color: #66d9ef; +} +.asciinema-theme-monokai .fg-13 { + color: #ae81ff; +} +.asciinema-theme-monokai .bg-13 { + background-color: #ae81ff; +} +.asciinema-theme-monokai .fg-14 { + color: #a1efe4; +} +.asciinema-theme-monokai .bg-14 { + background-color: #a1efe4; +} +.asciinema-theme-monokai .fg-15 { + color: #f9f8f5; +} +.asciinema-theme-monokai .bg-15 { + background-color: #f9f8f5; +} +.asciinema-theme-monokai .fg-8, +.asciinema-theme-monokai .fg-9, +.asciinema-theme-monokai .fg-10, +.asciinema-theme-monokai .fg-11, +.asciinema-theme-monokai .fg-12, +.asciinema-theme-monokai .fg-13, +.asciinema-theme-monokai .fg-14, +.asciinema-theme-monokai .fg-15 { + font-weight: bold; +} +/* + Based on Nord: https://github.com/arcticicestudio/nord + Via: https://github.com/neilotoole/asciinema-theme-nord + */ +.asciinema-theme-nord { + background-color: #2E3440; +} +.asciinema-theme-nord .asciinema-terminal { + color: #ECEFF4; + background-color: #2E3440; + border-color: #2E3440; +} +.asciinema-theme-nord .fg-bg { + color: #2E3440; +} +.asciinema-theme-nord .bg-fg { + background-color: #ECEFF4; +} +.asciinema-theme-nord .fg-0 { + color: #3B4252; +} +.asciinema-theme-nord .bg-0 { + background-color: #3B4252; +} +.asciinema-theme-nord .fg-1 { + color: #BF616A; +} +.asciinema-theme-nord .bg-1 { + background-color: #BF616A; +} +.asciinema-theme-nord .fg-2 { + color: #A3BE8C; +} +.asciinema-theme-nord .bg-2 { + background-color: #A3BE8C; +} +.asciinema-theme-nord .fg-3 { + color: #EBCB8B; +} +.asciinema-theme-nord .bg-3 { + background-color: #EBCB8B; +} +.asciinema-theme-nord .fg-4 { + color: #81A1C1; +} +.asciinema-theme-nord .bg-4 { + background-color: #81A1C1; +} +.asciinema-theme-nord .fg-5 { + color: #B48EAD; +} +.asciinema-theme-nord .bg-5 { + background-color: #B48EAD; +} +.asciinema-theme-nord .fg-6 { + color: #88C0D0; +} +.asciinema-theme-nord .bg-6 { + background-color: #88C0D0; +} +.asciinema-theme-nord .fg-7 { + color: #ECEFF4; +} +.asciinema-theme-nord .bg-7 { + background-color: #ECEFF4; +} +.asciinema-theme-nord .fg-8 { + color: #3B4252; +} +.asciinema-theme-nord .bg-8 { + background-color: #3B4252; +} +.asciinema-theme-nord .fg-9 { + color: #BF616A; +} +.asciinema-theme-nord .bg-9 { + background-color: #BF616A; +} +.asciinema-theme-nord .fg-10 { + color: #A3BE8C; +} +.asciinema-theme-nord .bg-10 { + background-color: #A3BE8C; +} +.asciinema-theme-nord .fg-11 { + color: #EBCB8B; +} +.asciinema-theme-nord .bg-11 { + background-color: #EBCB8B; +} +.asciinema-theme-nord .fg-12 { + color: #81A1C1; +} +.asciinema-theme-nord .bg-12 { + background-color: #81A1C1; +} +.asciinema-theme-nord .fg-13 { + color: #B48EAD; +} +.asciinema-theme-nord .bg-13 { + background-color: #B48EAD; +} +.asciinema-theme-nord .fg-14 { + color: #88C0D0; +} +.asciinema-theme-nord .bg-14 { + background-color: #88C0D0; +} +.asciinema-theme-nord .fg-15 { + color: #ECEFF4; +} +.asciinema-theme-nord .bg-15 { + background-color: #ECEFF4; +} +.asciinema-theme-nord .fg-8, +.asciinema-theme-nord .fg-9, +.asciinema-theme-nord .fg-10, +.asciinema-theme-nord .fg-11, +.asciinema-theme-nord .fg-12, +.asciinema-theme-nord .fg-13, +.asciinema-theme-nord .fg-14, +.asciinema-theme-nord .fg-15 { + font-weight: bold; +} diff --git a/static/js/asciinema-player.min.js b/static/js/asciinema-player.min.js new file mode 100644 index 0000000..c81329b --- /dev/null +++ b/static/js/asciinema-player.min.js @@ -0,0 +1 @@ +var AsciinemaPlayer=function(A){"use strict";const g={};const I=Symbol("solid-proxy"),B=Symbol("solid-track"),Q={equals:(A,g)=>A===g};let C=f;const E=1,i=2,e={owned:null,cleanups:null,context:null,owner:null};var t=null;let o=null,s=null,n=null,r=null,a=0;function c(A,g){const I=s,B=t,Q=0===A.length,C=Q?e:{owned:null,cleanups:null,context:null,owner:void 0===g?B:g},E=Q?A:()=>A((()=>y((()=>U(C)))));t=C,s=null;try{return J(E,!0)}finally{s=I,t=B}}function D(A,g){const I={value:A,observers:null,observerSlots:null,comparator:(g=g?Object.assign({},Q,g):Q).equals||void 0};return[R.bind(I),A=>("function"==typeof A&&(A=A(I.value)),M(I,A))]}function w(A,g,I){u(d(A,g,!1,E))}function h(A,g,I){C=S;const B=d(A,g,!1,E);B.user=!0,r?r.push(B):u(B)}function l(A,g,I){I=I?Object.assign({},Q,I):Q;const B=d(A,g,!0,0);return B.observers=null,B.observerSlots=null,B.comparator=I.equals||void 0,u(B),R.bind(B)}function y(A){if(null===s)return A();const g=s;s=null;try{return A()}finally{s=g}}function G(A){h((()=>y(A)))}function N(A){return null===t||(null===t.cleanups?t.cleanups=[A]:t.cleanups.push(A)),A}function k(){return s}function F(A){const g=l(A),I=l((()=>H(g())));return I.toArray=()=>{const A=I();return Array.isArray(A)?A:null!=A?[A]:[]},I}function R(){const A=o;if(this.sources&&(this.state||A))if(this.state===E||A)u(this);else{const A=n;n=null,J((()=>L(this)),!1),n=A}if(s){const A=this.observers?this.observers.length:0;s.sources?(s.sources.push(this),s.sourceSlots.push(A)):(s.sources=[this],s.sourceSlots=[A]),this.observers?(this.observers.push(s),this.observerSlots.push(s.sources.length-1)):(this.observers=[s],this.observerSlots=[s.sources.length-1])}return this.value}function M(A,g,I){let B=A.value;return A.comparator&&A.comparator(B,g)||(A.value=g,A.observers&&A.observers.length&&J((()=>{for(let g=0;g1e6)throw n=[],new Error}),!1)),g}function u(A){if(!A.fn)return;U(A);const g=t,I=s,B=a;s=t=A,function(A,g,I){let B;try{B=A.fn(g)}catch(g){A.pure&&(A.state=E,A.owned&&A.owned.forEach(U),A.owned=null),K(g)}(!A.updatedAt||A.updatedAt<=I)&&(null!=A.updatedAt&&"observers"in A?M(A,B):A.value=B,A.updatedAt=I)}(A,A.value,B),s=I,t=g}function d(A,g,I,B=E,Q){const C={fn:A,state:B,updatedAt:null,owned:null,sources:null,sourceSlots:null,cleanups:null,value:g,owner:t,context:null,pure:I};return null===t||t!==e&&(t.owned?t.owned.push(C):t.owned=[C]),C}function Y(A){const g=o;if(0===A.state||g)return;if(A.state===i||g)return L(A);if(A.suspense&&y(A.suspense.inFallback))return A.suspense.effects.push(A);const I=[A];for(;(A=A.owner)&&(!A.updatedAt||A.updatedAt=0;B--)if((A=I[B]).state===E||g)u(A);else if(A.state===i||g){const g=n;n=null,J((()=>L(A,I[0])),!1),n=g}}function J(A,g){if(n)return A();let I=!1;g||(n=[]),r?I=!0:r=[],a++;try{const g=A();return function(A){n&&(f(n),n=null);if(A)return;const g=r;r=null,g.length&&J((()=>C(g)),!1)}(I),g}catch(A){I||(r=null),n=null,K(A)}}function f(A){for(let g=0;gA(g||{})))}function m(A){const g="fallback"in A&&{fallback:()=>A.fallback};return l(function(A,g,I={}){let Q=[],C=[],E=[],i=0,e=g.length>1?[]:null;return N((()=>q(E))),()=>{let t,o,s=A()||[];return s[B],y((()=>{let A,g,B,r,a,D,w,h,l,y=s.length;if(0===y)0!==i&&(q(E),E=[],Q=[],C=[],i=0,e&&(e=[])),I.fallback&&(Q=[b],C[0]=c((A=>(E[0]=A,I.fallback()))),i=1);else if(0===i){for(C=new Array(y),o=0;o=D&&h>=D&&Q[w]===s[h];w--,h--)B[h]=C[w],r[h]=E[w],e&&(a[h]=e[w]);for(A=new Map,g=new Array(h+1),o=h;o>=D;o--)l=s[o],t=A.get(l),g[o]=void 0===t?-1:t,A.set(l,o);for(t=D;t<=w;t++)l=Q[t],o=A.get(l),void 0!==o&&-1!==o?(B[o]=C[t],r[o]=E[t],e&&(a[o]=e[t]),o=g[o],A.set(l,o)):E[t]();for(o=D;oA.each),A.children,g||void 0))}function j(A){const g="fallback"in A&&{fallback:()=>A.fallback};return l(function(A,g,I={}){let Q,C=[],E=[],i=[],e=[],t=0;return N((()=>q(i))),()=>{const o=A()||[];return o[B],y((()=>{if(0===o.length)return 0!==t&&(q(i),i=[],C=[],E=[],t=0,e=[]),I.fallback&&(C=[b],E[0]=c((A=>(i[0]=A,I.fallback()))),t=1),E;for(C[0]===b&&(i[0](),i=[],C=[],E=[],t=0),Q=0;Qo[Q])):Q>=C.length&&(E[Q]=c(s));for(;QA.each),A.children,g||void 0))}function x(A){let g=!1;const I=A.keyed,B=l((()=>A.when),void 0,{equals:(A,I)=>g?A===I:!A==!I});return l((()=>{const Q=B();if(Q){const B=A.children,C="function"==typeof B&&B.length>0;return g=I||C,C?y((()=>B(Q))):B}return A.fallback}),void 0,void 0)}function W(A){let g=!1,I=!1;const B=F((()=>A.children)),Q=l((()=>{let A=B();Array.isArray(A)||(A=[A]);for(let g=0;gA[0]===I[0]&&(g?A[1]===I[1]:!A[1]==!I[1])&&A[2]===I[2]});return l((()=>{const[B,C,E]=Q();if(B<0)return A.fallback;const i=E.children,e="function"==typeof i&&i.length>0;return g=I||e,e?y((()=>i(C))):i}),void 0,void 0)}function T(A){return A}const Z="_$DX_DELEGATE";function X(A,g,I){const B=document.createElement("template");B.innerHTML=A;let Q=B.content.firstChild;return I&&(Q=Q.firstChild),Q}function O(A,g=window.document){const I=g[Z]||(g[Z]=new Set);for(let B=0,Q=A.length;BB.call(A,I[1],g))}else A.addEventListener(g,I)}function P(A,g,I){if(!g)return I?function(A,g,I){null==I?A.removeAttribute(g):A.setAttribute(g,I)}(A,"style"):g;const B=A.style;if("string"==typeof g)return B.cssText=g;let Q,C;for(C in"string"==typeof I&&(B.cssText=I=void 0),I||(I={}),g||(g={}),I)null==g[C]&&B.removeProperty(C),delete I[C];for(C in g)Q=g[C],Q!==I[C]&&(B.setProperty(C,Q),I[C]=Q);return I}function _(A,g,I){return y((()=>A(g,I)))}function $(A,g,I,B){if(void 0===I||B||(B=[]),"function"!=typeof g)return gA(A,g,B,I);w((B=>gA(A,g(),B,I)),B)}function AA(A){const I=`$$${A.type}`;let B=A.composedPath&&A.composedPath()[0]||A.target;for(A.target!==B&&Object.defineProperty(A,"target",{configurable:!0,value:B}),Object.defineProperty(A,"currentTarget",{configurable:!0,get:()=>B||document}),g.registry&&!g.done&&(g.done=!0,document.querySelectorAll("[id^=pl-]").forEach((g=>{for(;g&&8!==g.nodeType&&g.nodeValue!=="pl-"+A;){let A=g.nextSibling;g.remove(),g=A}g&&g.remove()})));B;){const g=B[I];if(g&&!B.disabled){const Q=B[`${I}Data`];if(void 0!==Q?g.call(B,Q,A):g.call(B,A),A.cancelBubble)return}B=B._$host||B.parentNode||B.host}}function gA(A,I,B,Q,C){for(g.context&&!B&&(B=[...A.childNodes]);"function"==typeof B;)B=B();if(I===B)return B;const E=typeof I,i=void 0!==Q;if(A=i&&B[0]&&B[0].parentNode||A,"string"===E||"number"===E){if(g.context)return B;if("number"===E&&(I=I.toString()),i){let g=B[0];g&&3===g.nodeType?g.data=I:g=document.createTextNode(I),B=QA(A,B,Q,g)}else B=""!==B&&"string"==typeof B?A.firstChild.data=I:A.textContent=I}else if(null==I||"boolean"===E){if(g.context)return B;B=QA(A,B,Q)}else{if("function"===E)return w((()=>{let g=I();for(;"function"==typeof g;)g=g();B=gA(A,g,B,Q)})),()=>B;if(Array.isArray(I)){const E=[],e=B&&Array.isArray(B);if(IA(E,I,B,C))return w((()=>B=gA(A,E,B,Q,!0))),()=>B;if(g.context){if(!E.length)return B;for(let A=0;AB-i){const Q=g[E];for(;i=0;C--){const E=g[C];if(Q!==E){const g=E.parentNode===A;B||C?g&&E.remove():g?A.replaceChild(Q,E):A.insertBefore(Q,I)}else B=!0}}else A.insertBefore(Q,I);return[Q]}let CA;const EA=new Array(128).fill(void 0);function iA(A){return EA[A]}EA.push(void 0,null,!0,!1);let eA=EA.length;function tA(A){const g=iA(A);return function(A){A<132||(EA[A]=eA,eA=A)}(A),g}const oA=new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0});oA.decode();let sA=null;function nA(){return null!==sA&&0!==sA.byteLength||(sA=new Uint8Array(CA.memory.buffer)),sA}function rA(A,g){return oA.decode(nA().subarray(A,A+g))}function aA(A){eA===EA.length&&EA.push(EA.length+1);const g=eA;return eA=EA[g],EA[g]=A,g}function cA(A){const g=typeof A;if("number"==g||"boolean"==g||null==A)return`${A}`;if("string"==g)return`"${A}"`;if("symbol"==g){const g=A.description;return null==g?"Symbol":`Symbol(${g})`}if("function"==g){const g=A.name;return"string"==typeof g&&g.length>0?`Function(${g})`:"Function"}if(Array.isArray(A)){const g=A.length;let I="[";g>0&&(I+=cA(A[0]));for(let B=1;B1))return toString.call(A);if(B=I[1],"Object"==B)try{return"Object("+JSON.stringify(A)+")"}catch(A){return"Object"}return A instanceof Error?`${A.name}: ${A.message}\n${A.stack}`:B}let DA=0;const wA=new TextEncoder("utf-8"),hA="function"==typeof wA.encodeInto?function(A,g){return wA.encodeInto(A,g)}:function(A,g){const I=wA.encode(A);return g.set(I),{read:A.length,written:I.length}};function lA(A,g,I){if(void 0===I){const I=wA.encode(A),B=g(I.length);return nA().subarray(B,B+I.length).set(I),DA=I.length,B}let B=A.length,Q=g(B);const C=nA();let E=0;for(;E127)break;C[Q+E]=g}if(E!==B){0!==E&&(A=A.slice(E)),Q=I(Q,B,B=E+3*A.length);const g=nA().subarray(Q+E,Q+B);E+=hA(A,g).written}return DA=E,Q}let yA=null;function GA(){return null!==yA&&0!==yA.byteLength||(yA=new Int32Array(CA.memory.buffer)),yA}let NA=null;function kA(A,g){return(null!==NA&&0!==NA.byteLength||(NA=new Uint32Array(CA.memory.buffer)),NA).subarray(A/4,A/4+g)}class FA{static __wrap(A){const g=Object.create(FA.prototype);return g.ptr=A,g}__destroy_into_raw(){const A=this.ptr;return this.ptr=0,A}free(){const A=this.__destroy_into_raw();CA.__wbg_vtwrapper_free(A)}feed(A){try{const Q=CA.__wbindgen_add_to_stack_pointer(-16),C=lA(A,CA.__wbindgen_malloc,CA.__wbindgen_realloc),E=DA;CA.vtwrapper_feed(Q,this.ptr,C,E);var g=GA()[Q/4+0],I=GA()[Q/4+1],B=kA(g,I).slice();return CA.__wbindgen_free(g,4*I),B}finally{CA.__wbindgen_add_to_stack_pointer(16)}}inspect(){try{const I=CA.__wbindgen_add_to_stack_pointer(-16);CA.vtwrapper_inspect(I,this.ptr);var A=GA()[I/4+0],g=GA()[I/4+1];return rA(A,g)}finally{CA.__wbindgen_add_to_stack_pointer(16),CA.__wbindgen_free(A,g)}}get_line(A){return tA(CA.vtwrapper_get_line(this.ptr,A))}get_cursor(){return tA(CA.vtwrapper_get_cursor(this.ptr))}}function RA(){const A={wbg:{}};return A.wbg.__wbindgen_object_drop_ref=function(A){tA(A)},A.wbg.__wbindgen_error_new=function(A,g){return aA(new Error(rA(A,g)))},A.wbg.__wbindgen_number_new=function(A){return aA(A)},A.wbg.__wbindgen_bigint_from_u64=function(A){return aA(BigInt.asUintN(64,A))},A.wbg.__wbindgen_string_new=function(A,g){return aA(rA(A,g))},A.wbg.__wbg_set_20cbc34131e76824=function(A,g,I){iA(A)[tA(g)]=tA(I)},A.wbg.__wbg_new_b525de17f44a8943=function(){return aA(new Array)},A.wbg.__wbg_new_f841cc6f2098f4b5=function(){return aA(new Map)},A.wbg.__wbg_new_f9876326328f45ed=function(){return aA(new Object)},A.wbg.__wbindgen_is_string=function(A){return"string"==typeof iA(A)},A.wbg.__wbg_set_17224bc548dd1d7b=function(A,g,I){iA(A)[g>>>0]=tA(I)},A.wbg.__wbg_set_388c4c6422704173=function(A,g,I){return aA(iA(A).set(iA(g),iA(I)))},A.wbg.__wbindgen_debug_string=function(A,g){const I=lA(cA(iA(g)),CA.__wbindgen_malloc,CA.__wbindgen_realloc),B=DA;GA()[A/4+1]=B,GA()[A/4+0]=I},A.wbg.__wbindgen_throw=function(A,g){throw new Error(rA(A,g))},A}function MA(A,g){return CA=A.exports,uA.__wbindgen_wasm_module=g,yA=null,NA=null,sA=null,CA}async function uA(A){const g=RA();("string"==typeof A||"function"==typeof Request&&A instanceof Request||"function"==typeof URL&&A instanceof URL)&&(A=fetch(A));const{instance:I,module:B}=await async function(A,g){if("function"==typeof Response&&A instanceof Response){if("function"==typeof WebAssembly.instantiateStreaming)try{return await WebAssembly.instantiateStreaming(A,g)}catch(g){if("application/wasm"==A.headers.get("Content-Type"))throw g;console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n",g)}const I=await A.arrayBuffer();return await WebAssembly.instantiate(I,g)}{const I=await WebAssembly.instantiate(A,g);return I instanceof WebAssembly.Instance?{instance:I,module:A}:I}}(await A,g);return MA(I,B)}var dA=Object.freeze({__proto__:null,VtWrapper:FA,create:function(A,g){const I=CA.create(A,g);return FA.__wrap(I)},default:uA,initSync:function(A){const g=RA();return A instanceof WebAssembly.Module||(A=new WebAssembly.Module(A)),MA(new WebAssembly.Instance(A,g),A)}});const YA=[62,0,0,0,63,52,53,54,55,56,57,58,59,60,61,0,0,0,0,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,0,0,0,0,0,0,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51];function JA(A){return YA[A-43]}const fA=function(A){let g,I=A.endsWith("==")?2:A.endsWith("=")?1:0,B=A.length,Q=new Uint8Array(B/4*3);for(let I=0,C=0;I>16,Q[C+1]=g>>8&255,Q[C+2]=255&g;return Q.subarray(0,Q.length-I)}("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KAIAIAMoAggiAmtLBEAgAyACIAAQMSADKAIIIQILIAMoAgQgAmogBEEMaiAAEL0BGiADIAAgAmo2AggLIARBEGokAEEAC7wCAAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAFBCGsOCAECAwQFDwYHAAsgAUGEAWsOCgcICwsJCwsLCwoLCyAAQQA6AKsBIABBACAAKAI4QQFrIgEgACgCMCIAQQFrIAAgAUsbIAFBAEgbNgI4DwsgAEEBECgPCyAAEF0gAC0AqgFFDQgMCwsgABBdIAAtAKoBRQ0HDAoLIAAQXSAALQCqAUUNBgwJCyAAQQE2AkAPCyAAQQA2AkAPCyAAEF0gAC0AqgFFDQMMBgsgABBdDAULIAAQVA8LIAAoAjwiASAAKAJERg0BIAENAgsPCyAAQQEQRg8LIABBADoAqwEgACABQQFrNgI8IAAgACgCOCIBIAAoAjBBAWsiACAAIAFLGzYCOA8LIABBADoAqwEgAEEANgI4C8ACAgV/AX4jAEEwayIEJABBJyECAkAgAEKQzgBUBEAgACEHDAELA0AgBEEJaiACaiIDQQRrIAAgAEKQzgCAIgdCkM4Afn2nIgVB//8DcUHkAG4iBkEBdEHGpMAAai8AADsAACADQQJrIAUgBkHkAGxrQf//A3FBAXRBxqTAAGovAAA7AAAgAkEEayECIABC/8HXL1YgByEADQALCyAHpyIDQeMASwRAIAenIgVB//8DcUHkAG4hAyACQQJrIgIgBEEJamogBSADQeQAbGtB//8DcUEBdEHGpMAAai8AADsAAAsCQCADQQpPBEAgAkECayICIARBCWpqIANBAXRBxqTAAGovAAA7AAAMAQsgAkEBayICIARBCWpqIANBMGo6AAALIAFByKHAAEEAIARBCWogAmpBJyACaxAUIARBMGokAAuwAgEDfyMAQUBqIgMkACADQRBqIAAoAjAiBBBFIANBADYCICADIAMpAxA3AxggA0EyaiAAQZoBaikBADcBACADQSA2AiggAyAAKQKUATcCLCADQRhqIAQgA0EoahAwAkAgASACTQRAIABB7ABqKAIAIgQgAkkNASABIAJHBEAgAEHoAGooAgAgAUEMbGoiACACIAFrQQxsaiECA0AgAygCHCEEIANBCGogAygCICIBEEUgAygCCCEFIAMoAgwg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MCAEKAI0EC0gA0EwaiACEDUgBEEAOgCkASAEQcwAaiAEKAJMBEAgBEHQAGooAgAQEAsgBEKAgICAIDcCTCAEQdQAaiICQQA2AgBBABBmIARB0ABqKAIAIAIoAgBBAXRqQQA7AQAgAiACKAIAQQFqNgIAIAQoAlgEQCAEKAJcEBALIARBADYCYCAEQoCAgIDAADcCWCADQRBqIgUgA0EoaigCADYCACADIAMpAyA3AwggBEHkAGoiAhBgIAQoAmQEQCAEQegAaigCABAQCyACIAMpAwg3AgAgAkEIaiAFKAIANgIAIARB8ABqIgIQYCAEKAJwBEAgBEH0AGooAgAQEAsgAiADKQMwNwIAIARBADoApQEgAkEIaiADQThqKAIANgIAIANBCGogBCgCMBA/IARB/ABqIQIgBCgCfARAIARBgAFqKAIAEBALIAIgAykDCDcCACACQQhqIANBCGoiCUEIaiICKAIANgIAIARBAToApgEgBEIANwI4IANBD2oiBUEAOwAAIARBmAFqQQI6AAAgBEECOgCUASADQQA2AAsgBEGZAWogAykACDcAACAEQaEBaiACLQAAOgAAIARBADoAqwEgBEGAgAQ2AKcBIARBADsBogEgBEIANwJAIAQgBCgCNCIGQQFrNgJIIAVBADsAACADQQA2AAsgBCADKQAINwANIARBFWogAi0AADoAACAEQYACOwEWIARBAjoADCAEQQI6AAggBEIANwIAIAVBADsAACADQQA2AAsgBEElaiADKQAINwAAIARBLWogAi0AADoAACAEQS5qQYACOwEAIARBJGpBAjoAACAEQSBqQQI6AAAgBEIANwIYIAMgBhBZIAJBADYCACADIAMpAwA3AwggCSAGEEkgA0HIAGogAigCADYCACADIAMpAwg3A0AgBEGIAWohAiAEKAKIAQRAIARBjAFqKAIAEBALIAIgAykDQDcCACACQQhqIANByABqKAIANgIADAILIAIgAkGwjsAAEEoACwJAAkAgBUEoaw4CAAECCyAEQQA6AKIBDAELIAJBMEYEQCAEQQE6AKMBDAELIARBADoAowELIANB0ABqJAALIAggFEcNAAsLIAQoApABIQMgBCgCjAEhAiANQQA2AgggDSACNgIEIA0gAiADajYCACMAQTBrIgUkACANKAIEIQIgDSgCACEGAkACQANAIAIgBkYNASANIAJBAWoiAzYCBCANIA0oAggiCEEBajYCCCACLQAAIAMhAkUNAAsgBUEIaiECQRBBBBCWASIDRQRAQRBBBEGAvMAAKAIAIgBBwgAgABsRAgAACyACIAM2AgQgAkEENgIAIAUoAgghAiAFKAIMIgMgCDYCACAFQRBqIgZBCGoiBEEBNgIAIAUgAzYCFCAFIAI2AhAgBUEgaiIIQQhqIA1BCGooAgA2AgAgBSANKQIANwMgIAgoAgQhAiAIKAIAIQkDQAJAAkAgAiAJRwRAIAggAkEBaiIDNgIEIAItAAAgCCAIKAIIIgpBAWo2AgggAyECRQ0DIAYoAggiAyAGKAIARw0BIAYgAxBjDAELDAELIAYgA0EBajYCCCAGKAIEIANBAnRqIAo2AgAMAQsLIBBBCGogBCgCADYCACAQIAUpAxA3AgAMAQsgEEEANgIIIBBCgICAgMAANwIACyAFQTBqJAAgDUEQaiQAIBMEQCASEBALIAFBADYCACALQShqIAtBGGooAgAiATYCACALIAspAxAiFjcDICABIBanSQRAIwBBEGsiBSQAIAVBCGohDUEAIQMjAEEgayICJAACQAJAIAEgC0EgaiIGKAIATQRAIAJBCGohCAJAIAYoAgAiBARAIAYoAgQhCSAIQQQ2AgggCCAEQQJ0NgIEIAggCTYCAAwBCyAIQQA2AggLIAIoAhAiCEUNASABQQJ0IQMgAigCDCEEIAIoAgghCQJAAkACQCABRQRAQQQhCCAEDQEMAwtBBCEHIAhBBEYNASADQQQQlgEiCEUNBSAIIAkgAxC9ARogBEUNAgsgCRAQDAELIAkgBEEEIAMQigEiCEUNAwsgBiABNgIAIAYgCDYCBAwBCyACQRRqQQE2AgAgAkEcakEANgIAIAJByIHAADYCECACQaSBwAA2AhggAkEANgIIIAJBCGpBnILAABByAAtBgYCAgHghBwsgDSAHNgIEIA0gAzYCACACQSBqJAAgBSgCDCIBQYGAgIB4RwRAIAUoAgggAUGAvMAAKAIAIgBBwgAgABsRAgAACyAFQRBqJAAgCygCKCEBCyALKAIkIQIgACABNgIEIAAgAjYCACALQTBqJAAPCxC1AQALELYBAAvLAQEEfyMAQSBrIgMkACAAAn9BACACIAJBAWoiAksNABogASgCACIFQQF0IgQgAiACIARJGyICQQQgAkEESxsiBEECdCECIARBgICAgAJJQQJ0IQYCQCAFBEAgA0EENgIYIAMgBUECdDYCFCADIAEoAgQ2AhAMAQsgA0EANgIYCyADIAIgBiADQRBqEDogAygCBCECIAMoAgAEQCADQQhqKAIADAELIAEgBDYCACABIAI2AgRBgYCAgHgLNgIEIAAgAjYCACADQSBqJAAL1wMBB38gASAAKAIAIAAoAggiA2tLBEAjAEEQayIGJAAjAEEgayIEJAAgBkEIaiIIAn9BACADIgUgAWoiAyAFSQ0AGiAAKAIAIgVBAXQiByADIAMgB0kbIgNBBCADQQRLGyIHQRRsIQMgB0HnzJkzSUECdCEJAkAgBQRAIARBBDYCGCAEIAVBFGw2AhQgBCAAKAIENgIQDAELIARBADYCGAsgBCADIAkgBEEQahA6IAQoAgQhAyAEKAIABEAgBEEIaigCAAwBCyAAIAc2AgAgACADNgIEQYGAgIB4CzYCBCAIIAM2AgAgBEEgaiQAAkACQCAGKAIMIgNBgYCAgHhHBEAgA0UNASAGKAIIIANBgLzAACgCACIAQcIAIAAbEQIAAAsgBkEQaiQADAELEG4ACyAAKAIIIQMLIAAoAgQgA0EUbGohBSABQQJPBEAgAUEBayEEA0AgBSACKQIANwIAIAVBEGogAkEQaigCADYCACAFQQhqIAJBCGopAgA3AgAgBUEUaiEFIARBAWsiBA0ACyABIANqQQFrIQMLIAEEQCAFIAIpAgA3AgAgBUEQaiACQRBqKAIANgIAIAVBCGogAkEIaikCADcCACADQQFqIQMLIAAgAzYCCAvaAQECfyMAQSBrIgMkAAJAAkAgASABIAJqIgFLDQAgACgCACICQQF0IgQgASABIARJGyIBQQggAUEISxsiAUF/c0EfdiEEAkAgAgRAIANBATYCGCADIAI2AhQgAyAAQQRqKAIANgIQDAELIANBADYCGAsgAyABIAQgA0EQahA7IAMoAgQhAiADKAIARQRAIAAgATYCACAAIAI2AgQMAgsgA0EIaigCACIAQYGAgIB4Rg0BIABFDQAgAiAAQYC8wAAoAgAiAEHCACAAGxECAAALEG4ACyADQSBqJAAL2gEBAn8jAEEgayIDJAACQAJAIAEgASACaiIBSw0AIAAoAgAiAkEBdCIEIAEgASAESRsiAUEIIAFBCEsbIgFBf3NBH3YhBAJAIAIEQCADQQE2AhggAyACNgIUIAMgAEEEaigCADYCEAwBCyADQQA2AhgLIAMgASAEIANBEGoQNyADKAIEIQIgAygCAEUEQCAAIAE2AgAgACACNgIEDAILIANBCGooAgAiAEGBgICAeEYNASAARQ0AIAIgAEGAvMAAKAIAIgBBwgAgABsRAgAACxBuAAsgA0EgaiQAC4gCAQJ/IwBBIGsiBSQAQZS8wABBlLzAACgCACIGQQFqNgIAAkACQCAGQQBIDQBB3L/AAEHcv8AAKAIAQQFqIgY2AgAgBkECSw0AIAUgBDoAGCAFIAM2AhQgBSACNgIQIAVBuJ7AADYCDCAFQaycwAA2AghBhLzAACgCACICQQBIDQBBhLzAACACQQFqIgI2AgBBhLzAAEGMvMAAKAIABH8gBSAAIAEoAhARAgAgBSAFKQMANwMIQYy8wAAoAgAgBUEIakGQvMAAKAIAKAIUEQIAQYS8wAAoAgAFIAILQQFrNgIAIAZBAUsNACAEDQELAAsjAEEQayICJAAgAiABNgIMIAIgADYCCAALvQEBAn8jAEEgayIEJAAgAAJ/QQAgAiADaiIDIAJJDQAaIAEoAgAiAkEBdCIFIAMgAyAFSRsiA0EIIANBCEsbIgVBf3NBH3YhAwJAIAIEQCAEQQE2AhggBCACNgIUIAQgASgCBDYCEAwBCyAEQQA2AhgLIAQgBSADIARBEGoQOiAEKAIEIQMgBCgCAARAIARBCGooAgAMAQsgASAFNgIAIAEgAzYCBEGBgICAeAs2AgQgACADNgIAIARBIGokAAvEAQEIfyMAQRBrIgIkACABKAIEIQMgAkEIaiABKAIIIgcQQyACKAIIIQQgACACKAIMIgE2AgQgACAENgIAAkAgBEUNACAHQQxsIQUDQCAFRQ0BIAMoAgQhBiACIAMoAggiCBBFIAIoAgAhCSACKAIEIAYgCEEUbBC9ASEGIAFBCGogCDYCACABQQRqIAY2AgAgASAJNgIAIAVBDGshBSABQQxqIQEgA0EMaiEDIARBAWsiBA0ACwsgACAHNgIIIAJBEGokAAu/AQEDfyMAQUBqIgIkAAJAIAEEQCABKAIAIgNBf0YNASABIANBAWo2AgAgAkEBNgIkIAIgAUEEajYCICACQQE2AjwgAkEBNgI0IAJBvIDAADYCMCACQQA2AiggAiACQSBqNgI4IAJBEGoiBCACQShqIgMQGCABIAEoAgBBAWs2AgAgA0EIaiAEQQhqKAIANgIAIAIgAikDEDcDKCACQQhqIAMQeyAAIAIpAwg3AwAgAkFAayQADwsQtQEACxC2AQALugEAAkAgAgRAAkACQAJ/AkACQCABQQBOBEAgAygCCA0BIAENAkEBIQIMBAsMBgsgAygCBCICRQRAIAFFBEBBASECDAQLIAFBARCWAQwCCyADKAIAIAJBASABEIoBDAELIAFBARCWAQsiAkUNAQsgACACNgIEIABBCGogATYCACAAQQA2AgAPCyAAIAE2AgQgAEEIakEBNgIAIABBATYCAA8LIAAgATYCBAsgAEEIakEANgIAIABBATYCAAvOAQEBfyMAQRBrIgUkACAFIAAoAgAgASACIAAoAgQoAgwRAAA6AAggBSAANgIEIAUgAkU6AAkgBUEANgIAIAUgAyAEECIhAQJ/IAUtAAgiACABKAIAIgJFDQAaIABB/wFxIQFBASABDQAaIAUoAgQhAQJAIAJBAUcNACAFLQAJRQ0AIAEtABhBBHENAEEBIAEoAgBBlKTAAEEBIAEoAgQoAgwRAAANARoLIAEoAgBB86HAAEEBIAEoAgQoAgwRAAALIAVBEGokAEH/AXFBAEcLxAEBAn8CQAJAIABB7ABqKAIAIgQgACgCPCIDSwRAIAEgAksNASAAQegAaigCACADQQxsaiIDKAIIIgQgAkkNAiABIAJHBEAgAkEUbCADKAIEIgJqIQMgAiABQRRsaiECIABBlAFqIgBBBmohAQNAIAJBIDYCACACIAApAgA3AgQgAkEKaiABKQEANwEAIAMgAkEUaiICRw0ACwsPCyADIARBzI3AABBKAAsgASACQcyNwAAQowEACyACIARBzI3AABCiAQALsAEBAX8gACIEAn8CQAJ/AkAgAgRAAkACQAJAIAFBAE4EQCADKAIIRQ0CIAMoAgQiAA0BIAENAwwFCyAEQQhqQQA2AgAMBgsgAygCACAAIAIgARCKAQwECyABRQ0CCyABIAIQlgEMAgsgBCABNgIEIARBCGpBADYCAAwCCyACCyIABEAgBCAANgIEIARBCGogATYCAEEADAILIAQgATYCBCAEQQhqIAI2AgALQQELNgIAC60BAQF/AkAg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5syZM0sNACABQRRsIgJBAEgNACABQefMmTNJQQJ0IQMgAkUNASACIAMQlgEMAgsQbgALIAMLIgQNACACIANBgLzAACgCACIAQcIAIAAbEQIAAAsgACAENgIEIAAgATYCAAuAAQEDfwJAIAAoAkhBAWoiAyAAKAJEIgJPBEAgAEHsAGooAgAiBCADSQ0BIAEgAyACayIEIAEgBEkbIQEgAEHoAGooAgAgAkEMbGogBCABEHcgACACIAEgAmoQISAAIAIgAxBVDwsgAiADQYCOwAAQowEACyADIARBgI7AABCiAQALgAEBA38CQCAAKAJIQQFqIgIgACgCRCIDTwRAIABB7ABqKAIAIgQgAkkNASABIAIgA2siBCABIARJGyEBIABB6ABqKAIAIANBDGxqIAQgARB6IAAgAiABayACECEgACADIAIQVQ8LIAMgAkHwjcAAEKMBAAsgAiAEQfCNwAAQogEAC4EBAQF/AkAgAiAAQewAaigCACIESQRAIABB6ABqKAIAIAJBDGxqIgAoAggiAiABTQ0BIAAoAgQgAUEUbGoiACADKQIANwIAIABBEGogA0EQaigCADYCACAAQQhqIANBCGopAgA3AgAPCyACIARBrI3AABBKAAsgASACQayNwAAQSgALdgEDfyABIAAoAgAgACgCCCICa0sEQCAAIAIgARBnIAAoAgghAgsgACgCBCIEIAJqIQMCQAJAIAFBAk8EQCADQQEgAUEBayIBEL4BIAQgASACaiICaiEDDAELIAFFDQELIANBAToAACACQQFqIQILIAAgAjYCCAt8AQF/IwBBMGsiAyQAIAMgATYCBCADIAA2AgAgA0EIaiIAQQxqQQI2AgAgA0EcakECNgIAIANBIGoiAUEMakHBADYCACADQaiiwAA2AhAgA0EANgIIIANBwQA2AiQgAyABNgIYIAMgAzYCKCADIANBBGo2AiAgACACEHIAC80BAQJ/IwBBsAFrIgEkACMAQbABayICJAACQAJAIAAEQCAAKAIADQEgAEEANgIAIAEgAiAAQbABEL0BIgJBBHJBrAEQvQEaIAAQECACQbABaiQADAILELUBAAsQtgEACyABQcwAaiIAKAIABEAgACgCBBAQCyABQdgAaiIAKAIABEAgACgCBBAQCyABQeQAaiIAEGAgABCFASABQfAAaiIAEGAgABCFASABQfwAaiIAKAIABEAgACgCBBAQCyABQYgBahCFASABQbABaiQAC3UBAn8jAEEQayIEJAAgBEEIaiABKAIQIAIgAxCLASAEKAIMIQIgBCgCCCIDRQRAAkAgASgCCEUNACABQQxqKAIAIgVBhAFJDQAgBRAACyABQQE2AgggAUEMaiACNgIACyAAIAM2AgAgACACNgIEIARBEGokAAtyACMAQTBrIgEkAEHcu8AALQAABEAgAUEUakECNgIAIAFBHGpBATYCACABQfycwAA2AhAgAUEANgIIIAFBwQA2AiQgASAANgIsIAEgAUEgajYCGCABIAFBLGo2AiAgAUEIakGkncAAEHIACyABQTBqJAALWwEBfyMAQSBrIgIkACACIAAoAgA2AgQgAkEIaiIAQRBqIAFBEGopAgA3AwAgAEEIaiABQQhqKQIANwMAIAIgASkCADcDCCACQQRqQdiZwAAgABAWIAJBIGokAAtbAQF/IwBBIGsiAiQAIAIgACgCADYCBCACQQhqIgBBEGogAUEQaikCADcDACAAQQhqIAFBCGopAgA3AwAgAiABKQIANwMIIAJBBGpB9JrAACAAEBYgAkEgaiQAC1sBAX8jAEEgayICJAAgAiAAKAIANgIEIAJBCGoiAEEQaiABQRBqKQIANwMAIABBCGogAUEIaikCADcDACACIAEpAgA3AwggAkEEakGUnMAAIAAQFiACQSBqJAALWwEBfyMAQSBrIgIkACACIAAoAgA2AgQgAkEIaiIAQRBqIAFBEGopAgA3AwAgAEEIaiABQQhqKQIANwMAIAIgASkCADcDCCACQQRqQciewAAgABAWIAJBIGokAAtVAQN/IwBBIGsiAiQAIAEoAgQhAyABKAIAIAJBCGoiAUEQaiAAQRBqKQIANwMAIAFBCGogAEEIaikCADcDACACIAApAgA3AwggAyABEBYgAkEgaiQAC1sBAX8jAEEgayICJAAgAiAAKAIANgIEIAJBCGoiAEEQaiABQRBqKQIANwMAIABBCGogAUEIaikCADcDACACIAEpAgA3AwggAkEEakGQpsAAIAAQFiACQSBqJAALswIBBX8jAEEQayIDJAACQCAAKAI4IgRFDQAgBCAAKAIwTw0AIANBCGogAEGAAWooAgAgAEGEAWooAgAgAEE4ahA9IAMoAghFDQAgAygCDCECIABB/ABqIgAoAgghASABIAAoAgBGBEAgACABEGMLIAAoAgQgAkECdGohBQJAIAEgAk0EQCABIAJGDQEjAEEwayIAJAAgACABNgIEIAAgAjYCACAAQQhqIgRBDGpBAzYCACAAQRxqQQI2AgAgAEEgaiIBQQxqQcEANgIAIABB9KDAADYCECAAQQA2AgggAEHBADYCJCAAIAE2AhggACAAQQRqNgIoIAAgADYCICAEQYyhwAAQcgALIAVBBGogBSABIAJrQQJ0ELwBCyAFIAQ2AgAgACABQQFqNgIICyADQRBqJAALXwEBfwJAIAEgAk0EQCAAQZABaigCACIDIAJJDQEgASACRwRAIABBjAFqKAIAIgAgAWoiAUEBIAAgAmogAWsQvgELDwsgASACQaCOwAAQowEACyACIANBoI7AABCiAQALWAEBfyMAQSBrIgIkACACIAA2AgQgAkEIaiIAQRBqIAFBEGopAgA3AwAgAEEIaiABQQhqKQIANwMAIAIgASkCADcDCCACQQRqQdiZwAAgABAWIAJBIGokAAtYAQF/IwBBIGsiAiQAIAIgADYCBCACQQhqIgBBEGogAUEQaikCADcDACAAQQhqIAFBCGopAgA3AwAgAiABKQIANwMIIAJBBGpB9JrAACAAEBYgAkEgaiQAC1gBAX8jAEEgayICJAAgAiAANgIEIAJBCGoiAEEQaiABQRBqKQIANwMAIABBCGogAUEIaikCADcDACACIAEpAgA3AwggAkEEakGQpsAAIAAQFiACQSBqJAALVwECfwJAIAFFBEBBASECDAELIAFBAE4EQCABIAFBf3NBH3YiAxCWASICDQEgASADQYC8wAAoAgAiAEHCACAAGxECAAALEG4ACyAAIAI2AgQgACABNgIAC+MEAQZ/IwBBEGsiBiQAIAZBCGogASACQQIQTAJ/IAYoAggEQEEBIQIgBigCDAwBCyMAQSBrIgUkACABKAIIIQIgAUEANgIIAn8CQAJAIAIEQCAFIAFBDGooAgAiAjYCGCAFQRBqIQggASgCECEHIwBB0ABrIgQkAAJAIAMtAABFBEAgBCADLQABuBACNgIEIARBADYCACAEKAIEIQMgBCgCACEHDAELIARBNGpBCjYCACAEQSxqQQo2AgAgBCADQQNqNgIwIAQgA0ECajYCKCAEQQo2AiQgBCADQQFq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QQA2AgAgA0HIocAANgIQIANBADYCACADIAE2AhwgAyAANgIYIAMgA0EYajYCCCADIAIQcgALVwEBfyMAQRBrIgIkACACQQhqIAAgARAvAkAgAigCDCIAQYGAgIB4RwRAIABFDQEgAigCCCAAQYC8wAAoAgAiAEHCACAAGxECAAALIAJBEGokAA8LEG4AC5cCAQZ/IwBBEGsiAyQAIwBBIGsiAiQAIANBCGoiBgJ/QQAgASABQQFqIgFLDQAaIAAoAgAiBUEBdCIEIAEgASAESRsiAUEEIAFBBEsbIgRBHGwhASAEQaWSySRJQQJ0IQcCQCAFBEAgAkEENgIYIAIgBUEcbDYCFCACIAAoAgQ2AhAMAQsgAkEANgIYCyACIAEgByACQRBqEDogAigCBCEBIAIoAgAEQCACQQhqKAIADAELIAAgBDYCACAAIAE2AgRBgYCAgHgLNgIEIAYgATYCACACQSBqJAACQCADKAIMIgBBgYCAgHhHBEAgAEUNASADKAIIIABBgLzAACgCACIAQcIAIAAbEQIAAAsgA0EQaiQADwsQbgALWQEBfyMAQRBrIgIkACACQQhqIAAgAUEBEDQCQCACKAIMIgBBgYCAgHhHBEAgAEUNASACKAIIIABBgLzAACgCACIAQcIAIAAbEQIAAAsgAkEQaiQADwsQbgALlQIBB38jAEEQayIDJAAjAEEgayICJAAgA0EIaiIGAn9BACABIAFBAWoiAUsNABogACgCACIHQQF0IgQgASABIARJGyIBQQQgAUEESxsiBUEBdCEBIAVBgICAgARJQQF0IQgCQCAHBEAgAkECNgIYIAIgBDYCFCACIAAoAgQ2AhAMAQsgAkEANgIYCyACIAEgCCACQRBqEDogAigCBCEBIAIoAgAEQCACQQhqKAIADAELIAAgBTYCACAAIAE2AgRBgYCAgHgLNgIEIAYgATYCACACQSBqJAACQCADKAIMIgBBgYCAgHhHBEAgAEUNASADKAIIIABBgLzAACgCACIAQcIAIAAbEQIAAAsgA0EQaiQADwsQbgALWQEBfyMAQRBrIgMkACADQQhqIAAgASACEDQCQCADKAIMIgBBgYCAgHhHBEAgAEUNASADKAIIIABBgLzAACgCACIAQcIAIAAbEQIAAAsgA0EQaiQADwsQbgALiBwBHH8CQCAABEAgACgCACICQX9GDQEgACACQQFqNgIAIwBBIGsiCyQAIAtBCGohBiAAQQRqIgJB7ABqKAIAIgMgAU0EQCABIANBkI7AABBKAAsgAkHoAGooAgAgAUEMbGohAiMAQdAAayIBJAACQAJAAkAgAigCCCIDRQRAIAZBADYCCCAGQoCAgIDAADcCAAwBCwJAAkACQEEEQQQQlgEiBwRAIAcgAigCBCIJKAIANgIAIAEgCUEKaikAADcBNiABIAkpAAQ3AzAgAUESaiABKQE2NwEAIAFBATYCACABQQE2AgggASAHNgIEIAEgASkDMDcCDCABQQA2AiggAUKAgICAwAA3AyAgA0EBRgRAIAFBMGoiAkEYaiABQRhqKAIANgIAIAJBEGogAUEQaikDADcDACACQQhqIAFBCGopAwA3AwAgASABKQMANwMwQQAhAgwDCyABQQxqIQcgA0EUbEEUayEOQQEhAgNAIAEtAAwhCAJAAkACQAJAAkAgBCAJaiIDQRhqIgwtAAAiBUECRg0AIAhBAkYNACAFIAhHDQIgBUUEQCADQRlqLQAAIAEtAA1GDQIMAwsgA0EZai0AACABLQANRw0CIANBGmotAAAgAS0ADkcNAiADQRtqLQAAIAEtAA9GDQEMAgsgBUECRw0BIAhBAkcNAQsgAS0AECEIAkACQCADQRxqLQAAIgVBAkYNACAIQQJGDQAgBSAIRw0CIAVFBEAgA0Edai0AACABLQARRg0CDAMLIANBHWotAAAgAS0AEUcNAiADQR5qLQAAIAEtABJHDQIgA0Efai0AACABLQATRg0BDAILIAVBAkcNASAIQQJHDQELIANBIGotAAAgAS0AFEcNACADQSFqLQAARSABLQAVQQBHRg0AIANBImotAABFIAEtABZBAEdGDQAgA0Ejai0AAEUgAS0AF0EAR0YNACADQSRqLQAARSABLQAYQQBHRg0AIANBJWotAABFIAEtABlBAEdzDQELIAFBMGoiAkEYaiIFIAFBGGooAgA2AgAgAkEQaiINIAFBEGopAwA3AwAgAkEIaiIKIAFBCGopAwA3AwAgASABKQMANwMwIAEoAigiAiABKAIgRgRAIAFBIGogAhBkIAEoAighAgsgASgCJCACQRxsaiIIIAEpAzA3AgAgCEEIaiAKKQMANwIAIAhBEGogDSkDADcCACAIQRhqIAUoAgA2AgAgASACQQFqNgIoQQRBBBCWASIIRQ0IIAggA0EUaigCADYCAEEBIQIgAUEBNgIIIAEgCDYCBCABQQE2AgAgDEEMai8BACEDIAxBCGooAgAhCCAHIAwpAgA3AgAgB0EIaiAINgIAIAdBDGogAzsBAAwBCyADQRRqKAIAIQMgASgCACACRgRAIAEgAhBjIAEoAgghAgsgASgCBCACQQJ0aiADNgIAIAEgASgCCEEBaiICNgIICyAOIARBFGoiBEcNAAsMAQsMBAsgASgCICEEIAEoAighAiABQTBqIgNBGGogAUEYaigCADYCACADQRBqIAFBEGopAwA3AwAgA0EIaiABQQhqKQMANwMAIAEgASkDADcDMCACIARHDQELIAFBIGogAhBkIAEoAighAgsgASgCJCACQRxsaiIDIAEpAzA3AgAgA0EIaiABQTBqIgRBCGopAwA3AgAgA0EQaiAEQRBqKQMANwIAIANBGGogBEEYaigCADYCACABQShqIAJBAWoiAjYCACAGQQhqIAI2AgAgBiABKQMgNwIACyABQdAAaiQAIAtBADsBGCALQQA6ABojAEEwayIEJAAgBigCBCEJIAYoAgghAhAGIQMgBEEgaiIBIAtBGGo2AgggAUEANgIEIAEgAzYCAAJ/AkACQCAEKAIoBEAgBEEYaiAEQShqKAIANgIAIAQgBCkDIDcDECACQRxsIQ4DQCAORQ0DIA5BHGshDiAEIAk2AiAgCUEcaiEJIARBCGohDyMAQRBrIggkACAEQRBqIgwoAgQhFCAIQQhqIRAgBEEgaigCACENIAwoAgghAUEAIREjAEHQAGsiAyQAIANBQGsgARCIASADKAJAIQECQAJAAkAgAygCSCICRQ0AIAMgAjYCKCADIAMoAkQ2AiQgAyABNgIgIA0oAgQiASANKAIIQQJ0aiEFIANBMGoiBkEANgIIIAZCgICAgBA3AgAgBSABa0ECdiIHIAYoAgAgBigCCCICa0sEQCAGIAIgBxBnCyMAQRBrIgckACABIAVHBEADQCABQQRqIQIgB0EMaiEKAkACfwJAAkAgASgCACIBQYABTwRAIAdBADYCDCABQYAQSQ0BIAFBgIAETw0CIAcgAUE/cUGAAXI6AA4gByABQQx2QeABcjoADCAHIAFBBnZBP3FBgAFyOgANQQMMAwsgBigCCCIKIAYoAgBG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ACACQQFqNgIAIwBBIGsiBCQAIARBEGoiAiAAQQRqIgEtAKYBBH8gAiABKQI4NwIEQQEFQQALNgIAIwBBIGsiAyQAIANBADsBGCADQQA6ABogBEEIaiIHAn8gAigCAEUEQCADQQhqIgJBADYCACACQYEBQYABIANBGGotAAAbNgIEIAMoAgghASADKAIMDAELIANBEGohBiACQQRqIQIjAEFAaiIBJAAgAUEwaiADQRhqEIgBAn8CQAJAAn8CQCABKAI4BEAgAUEgaiIFQQhqIAFBOGooAgA2AgAgASABKQMwNwMgIAFBGGogBSACEFwgASgCGEUNASABKAIcDAILIAEoAjAhAgwDCyABQRBqIAFBIGogAkEEahBcIAEoAhBFDQEgASgCFAshAiABKAIgIgVBhAFJDQEgBRAADAELIAFBMGoiAkEIaiABQShqKAIANgIAIAEgASkDIDcDMCABQQhqIgUgAigCADYCBCAFQQA2AgAgASgCDCECIAEoAggMAQtBAQshBSAGIAI2AgQgBiAFNgIAIAFBQGskACADKAIQIQEgAygCFAs2AgQgByABNgIAIANBIGokACAEKAIMIQIgBCgCCARAIAQgAjYCHEGAgMAAQSsgBEEcakGsgMAAQeCAwAAQQAALIARBIGokACAAIAAoAgBBAWs2AgAgAg8LELUBAAsQtgEAC4ACAQJ/IwBBEGsiAyQAIAMgACgCACIANgIIIAMgAEEEajYCDCMAQRBrIgIkACACIAEoAgBBx5HAAEEEIAEoAgQoAgwRAAA6AAggAiABNgIEIAJBADoACSACQQA2AgAgAiADQQhqQcyRwAAQIiADQQxqQdyRwAAQIiEAAn8gAi0ACCIBIAAoAgAiAEUNABpBASABDQAaIAIoAgQhAQJAIABBAUcNACACLQAJRQ0AIAEtABhBBHENAEEBIAEoAgBBlKTAAEEBIAEoAgQoAgwRAAANARoLIAEoAgBB86HAAEEBIAEoAgQoAgwRAAALIAJBEGokACADQRBqJABB/wFxQQBHC0kBAX8gACgCACIAKAIIIQMgAiAAKAIAIANrSwRAIAAgAyACEDEgACgCCCEDCyAAKAIEIANqIAEgAhC9ARogACACIANqNgIIQQALSQEBfyAAKAIAIgAoAgghAyACIAAoAgAgA2tLBEAgACADIAIQMiAAKAIIIQMLIAAoAgQgA2ogASACEL0BGiAAIAIgA2o2AghBAAtAAQF/IAIgACgCACAAKAIIIgNrSwRAIAAgAyACEGcgACgCCCEDCyAAKAIEIANqIAEgAhC9ARogACACIANqNgIIC0kBAX8jAEEgayIAJAAgAEEUakEBNgIAIABBHGpBADYCACAAQZCfwAA2AhAgAEHgnsAANgIYIABBADYCCCAAQQhqQZifwAAQcgALVgECfyABKAIEIQIgASgCACEDQQhBBBCWASIBRQRAQQhBBEGAvMAAKAIAIgBBwgAgABsRAgAACyABIAI2AgQgASADNgIAIABBgJ7AADYCBCAAIAE2AgALOQACQAJ/IAJBgIDEAEcEQEEBIAAgAiABKAIQEQEADQEaCyADDQFBAAsPCyAAIAMgBCABKAIMEQAAC/AEAQZ/IwBB4AJrIgIkACMAQTBrIgMkAAJAIAAEQCABDQFB0IvAAEEaQeyLwAAQYgALQaGLwABBHUHAi8AAEGIACyADQQhqIgQgACABEC0gAkHwAGogBBA1IAJB7ABqIARBCGooAgA2AgAgAiADKQMINwJkIAJB/ABqIAAQPyADQRdqIgZBB2pBADsAACADQQA2ABogA0EgaiIFQQdqIgdBADsAACADQQA2ACMgAiADKQAgNwANIAJBFWogBUEIaiIELQAAOgAAIAdBADsAACADQQA2ACMgAkElaiADKQAgNwAAIAJBLWogBC0AADoAACADIAEQWSAEQQA2AgAgAyADKQMANwMgIAUgARBJIAJBkAFqIAQoAgA2AgAgAiADKQMgNwKIASACQdwAakIENwIAIAJB1ABqQgA3AgAgAkKAgICAIDcCTCACQQA7AaQBIAIgATYCNCACIAA2AjAgAkEBOgCmASACQgA3AjggAkGYAWpBAjoAACACQQI6AJQBIAJBmQFqIAMpABc3AAAgAkGhAWogBkEIai0AADoAACACQQA7AaIBIAJBgIAENgCnASACQQA6AKsBIAJBADYCQCACIAFBAWs2AkggAkEANgJEIAJBLmpBgAI7AQAgAkEgakECOgAAIAJCADcCGCACQYACOwEWIAJBAjoADCACQQI6AAggAkIANwIAIAJBJGpBAjoAACADQTBqJAAgAkGwAWoiASACQawBEL0BGkGwAUEEEJYBIgBFBEBBsAFBBEGAvMAAKAIAIgBBwgAgABsRAgAACyAAQQA2AgAgAEEEaiABQawBEL0BGiACQeACaiQAIAAL4AIBAn8jAEEgayICJAAgAkEBOgAYIAIgATYCFCACIAA2AhAgAkG4osAANgIMIAJByKHAADYCCCMAQRBrIgEkAAJAIAJBCGoiACgCDCICBEAgACgCCCIDRQ0BIAEgAjYCCCABIAA2AgQgASADNgIAIwBBEGsiACQAIABBCGogAUEIaigCADYCACAAIAEpAgA3AwAjAEEQayIBJAAgACgCACICQRRqKAIAIQMCQAJ/AkACQCACQQxqKAIADgIAAQMLIAMNAkEAIQJBrJzAAAwBCyADDQEgAigCCCIDKAIEIQIgAygCAAshAyABIAI2AgQgASADNgIAIAFBpJ7AACAAKAIEIgEoAgggACgCCCABLQAQEDMACyABQQA2AgQgASACNgIMIAFBkJ7AACAAKAIEIgEoAgggACgCCCABLQAQEDMAC0GsnMAAQStB4J3AABBiAAtBrJzAAEErQdCdwAAQYgALMwACQCAAQfz///8HSw0AIABFBEBBBA8LIAAgAEH9////B0lBAnQQlgEiAEUNACAADwsACzABAX8jAEEQayICJAAgAiAANgIMIAFB1IbAAEEFIAJBDGpB3IbAABA4IAJBEGokAAstACABIAJPBEAgASACayIBIAAgAUEUbGogAhAVDwtBqInAAEEhQcyJwAAQYgALxQIBA38gACgCACECIAEtABhBEHFBBHZFBEAgAS0AGEEgcUEFdkUEQCACIAEQpAEPC0EAIQAjAEGAAWsiAyQAIAIoAgAhAgNAIAAgA2pB/wBqQTBBNyACQQ9xIgRBCkkbIARqOgAAIABBAWshACACQQ9LIAJBBHYhAg0ACyAAQYABaiICQYEBTwRAIAJBgAFBtKTAABChAQALIAFBxKTAAEECIAAgA2pBgAFqQQAgAGsQFCADQYABaiQADwtBACEAIwBBgAFrIgMkACACKAIAIQIDQCAAIANqQf8AakEwQdcAIAJBD3EiBEEKSRsgBGo6AAAgAEEBayEAIAJBD0sgAkEEdiECDQALIABBgAFqIgJBgQFPBEAgAkGAAUG0pMAAEKEBAAsgAUHEpMAAQQIgACADakGAAWpBACAAaxAUIANBgAFqJAALLQAgASACTwRAIAEgAmsiASAAIAFBDGxqIAIQEg8LQbSYwABBIUHYmMAAEGIAC9ECAQN/IAAoAgAhACABLQAYQRBxQQR2RQRAIAEtABhBIHFBBXZFBEAgACABEKcBDwsjAEGAAWsiAyQAIAAtAAAhAkEAIQADQCAAIANqQf8AakEwQTcgAkEPcSIEQQpJGyAEajoAACAAQQFrIQAgAkH/AXEiBEEEdiECIARBD0sNAAsgAEGAAWoiAkGBAU8EQCACQYABQbSkwAAQoQEACyABQcSkwABBAiAAIANqQYABakEAIABrEBQgA0GAAWokAA8LIwBBgAFrIgMkACAALQAAIQJBACEAA0AgACADakH/AGpBMEHXACACQQ9xIgRBCkkbIARqOgAAIABBAWshACACQf8BcSIEQQR2IQIgBEEPSw0ACyAAQYABaiICQYEBTwRAIAJBgAFBtKTAABChAQALIAFBxKTAAEECIAAgA2pBgAFqQQAgAGsQFCADQYABaiQAC9UCAQN/IAAoAgAhACABLQAYQRBxQQR2RQRAIAEtABhBIHFBBXZFBEAgADMBACABECAPCyMAQYABayIDJAAgAC8BACECQQAhAANAIAAgA2pB/wBqQTBBNyACQQ9xIgRBCkkbIARqOgAAIABBAWshACACQf//A3EiBEEEdiECIARBD0sNAAsgAEGAAWoiAkGBAU8EQCACQYABQbSkwAAQoQEACyABQcSkwABBAiAAIANqQYABakEAIABrEBQgA0GAAWokAA8LIwBBgAFrIgMkACAALwEAIQJBACEAA0AgACADakH/AGpBMEHXACACQQ9xIgRBCkkbIARqOgAAIABBAWshACACQf//A3EiBEEEdiECIARBD0sNAAsgAEGAAWoiAkGBAU8EQCACQYABQbSkwAAQoQEACyABQcSkwABBAiAAIANqQYABakEAIABrEBQgA0GAAWokAAsrACABIAJPBEAgAiAAIAJBDGxqIAEgAmsQEg8LQbKXwABBI0GkmMAAEGIAC84CAQh/IAEoAggiAiABKAIASQRAIwBBEGsiBCQAIARBCGohCCMAQSBrIgMkAAJAAkAgASgCACIJIAJPBEBBgYCAgHghBSAJRQ0CIAEoAgQhB0EBIQYCQCACBEAgAkEATg0BQQEhBSACQQEQlgEiBkUNBCAGIAcgAhC9ARoLIAcQEAwCC0EBIQUgByAJQQEgAhCKASIGDQEMAgsgA0EUakEB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ACAAKAIAIAEgACgCBCgCDBEBAAsIACAAIAEQGwsPACAAKAIAIAEgAhBtQQALEQAgACgCBCAAKAIIIAEQugELEwAgAEGAnsAANgIEIAAgATYCAAsQACABIAAoAgAgACgCBBARCwwAIAAgASACEG1BAAsNACAAKAIAIAEgAhAFCw0AIAAoAgAgASACEAoLoAEBA38gACgCACECQQIhAyMAQRBrIgAkACABKAIAQZakwABBASABKAIEKAIMEQAAIQQgAEEAOgAFIAAgBDoABCAAIAE2AgADQCAAIAI2AgwgACAAQQxqQbiZwAAQpQEgAkEBaiECIANBAWsiAw0ACyAALQAEBH9BAQUgACgCACIBKAIAQZekwABBASABQQRqKAIAKAIMEQAACyAAQRBqJAALowQBBX8gACgCACEDIwBBEGsiBCQAAkACfwJAAkAgAUGAAU8EQCAEQQA2AgwgAUGAEEkNASABQYCABE8NAiAEIAFBP3FBgAFyOgAOIAQgAUEMdkHgAXI6AAwgBCABQQZ2QT9xQYABcjoADUEDDAMLIAMoAggiAiADKAIARgRAIwBBIGsiACQAAkACQCACQQFqIgJFDQAgAygCACIFQQF0IgYgAiACIAZJGyICQQggAkEISxsiAkF/c0EfdiEGAkAgBQRAIABBATYCGCAAIAU2AhQgACADQQRqKAIANgIQDAELIABBADYCGAsgACACIAYgAEEQahA3IAAoAgQhBSAAKAIARQRAIAMgAjYCACADIAU2AgQMAgsgAEEIaigCACICQYGAgIB4Rg0BIAJFDQAgBSACQYC8wAAoAgAiAEHCACAAGxECAAALEG4ACyAAQSBqJAAgAygCCCECCyADIAJBAWo2AgggAygCBCACaiABOgAADAMLIAQgAUE/cUGAAXI6AA0gBCABQQZ2QcABcjoADEECDAELIAQgAUE/cUGAAXI6AA8gBCABQQZ2QT9xQYABcjoADiAEIAFBDHZBP3FBgAFyOgANIAQgAUESdkEHcUHwAXI6AAxBBAshACAAIAMoAgAgAygCCCICa0sEQCADIAIgABAyIAMoAgghAgsgAygCBCACaiAEQQxqIAAQvQEaIAMgACACajYCCAsgBEEQaiQAQQALDgAgACgCABoDQAwACwALfAEBfyMAQTBrIgMkACADIAE2AgQgAyAANgIAIANBCGoiAEEMakECNgIAIANBHGpBAjYCACADQSBqIgFBDGpBwQA2AgAgA0HUp8AANgIQIANBADYCCCADQcEANgIkIAMgATYCGCADIANBBGo2AiggAyADNgIgIAAgAhByAAt8AQF/IwBBMGsiAyQAIAMgATYCBCADIAA2AgAgA0EIaiIAQQxqQQI2AgAgA0EcakECNgIAIANBIGoiAUEMakHBADYCACADQfSnwAA2AhAgA0EANgIIIANBwQA2AiQgAyABNgIYIAMgA0EEajYCKCADIAM2AiAgACACEHIAC3wBAX8jAEEwayIDJAAgAyABNgIEIAMgADYCACADQQhqIgBBDGpBAjYCACADQRxqQQI2AgAgA0EgaiIBQQxqQcEANgIAIANBqKjAADYCECADQQA2AgggA0HBADYCJCADIAE2AhggAyADQQRqNgIoIAMgAzYCICAAIAIQcgALCwAgADUCACABECALyQICBH8CfiMAQUBqIgMkAEEBIQUCQCAALQAEDQAgAC0ABSEFAkACQAJAIAAoAgAiBCgCGCIGQQRxRQRAIAUNAQwDCyAFDQFBASEFIAQoAgBBlaTAAEEBIAQoAgQoAgwRAAANAyAEKAIYIQYMAQtBASEFIAQoAgBBiaTAAEECIAQoAgQoAgwRAABFDQEMAgtBASEFIANBAToAFyADQeijwAA2AhwgAyAEKQIANwMIIAMgA0EXajYCECAEKQIIIQcgBCkCECEIIAMgBC0AIDoAOCADIAQoAhw2AjQgAyAGNgIwIAMgCDcDKCADIAc3AyAgAyADQQhqNgIYIAEgA0EYaiACKAIMEQEADQEgAygCGEGHpMAAQQIgAygCHCgCDBEAACEFDAELIAEgBCACKAIMEQEAIQULIABBAToABSAAIAU6AAQgA0FAayQACw0AIAAoAgAgASACEBoLCwAgADEAACABECALCwAgACkDACABECALCwAgACMAaiQAIwALBwAgABCFAQvoAQEFfyAAKAIAIQIjAEFAaiIAJAAgAEIANwM4IABBOGogAigCABAMIABBFGpBAjYCACAAQRxqQQE2AgAgACAAKAI8IgI2AjAgACAAKAI4NgIsIAAgAjYCKCAAQTw2AiQgAEHkmsAANgIQIABBADYCCCAAIABBKGoiBDYCICAAIABBIGo2AhgjAEEgayICJAAgASgCBCEFIAEoAgAg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04l/CwwAQrO29/Gi3KL+BAsDAAELC+M7AQBBgIDAAAvZO2NhbGxlZCBgUmVzdWx0Ojp1bndyYXAoKWAgb24gYW4gYEVycmAgdmFsdWUAAgAAAAQAAAAEAAAAAwAAAAAAEAAAAAAAc3JjL2xpYi5ycwAARAAQAAoAAAAjAAAALQAAAEQAEAAKAAAAKAAAAC8AAABNYXAga2V5IGlzIG5vdCBhIHN0cmluZyBhbmQgY2Fubm90IGJlIGFuIG9iamVjdCBrZXkAVHJpZWQgdG8gc2hyaW5rIHRvIGEgbGFyZ2VyIGNhcGFjaXR5pAAQACQAAAAvcnVzdGMvZmM1OTRmMTU2Njk2ODBmYTcwZDI1NWZhZWMzY2EzZmI1MDdjMzQwNS9saWJyYXJ5L2FsbG9jL3NyYy9yYXdfdmVjLnJz0AAQAEwAAACqAQAACQAAAGB1bndyYXBfdGhyb3dgIGZhaWxlZAAAAAQAAAAMAAAABAAAAAUAAAAGAAAABwAAAGEgRGlzcGxheSBpbXBsZW1lbnRhdGlvbiByZXR1cm5lZCBhbiBlcnJvciB1bmV4cGVjdGVkbHkACAAAAAAAAAABAAAACQAAAC9ydXN0Yy9mYzU5NGYxNTY2OTY4MGZhNzBkMjU1ZmFlYzNjYTNmYjUwN2MzNDA1L2xpYnJhcnkvYWxsb2Mvc3JjL3N0cmluZy5ycwCkARAASwAAAOgJAAAJAAAAZmdiZ2ZhaW50AWJvbGRpdGFsaWN1bmRlcmxpbmVzdHJpa2V0aHJvdWdoYmxpbmtpbnZlcnNlcmdiKCwpNgIQAAQAAAA6AhAAAQAAADoCEAABAAAAOwIQAAEAAAAgY2FuJ3QgYmUgcmVwcmVzZW50ZWQgYXMgYSBKYXZhU2NyaXB0IG51bWJlclwCEAAAAAAAXAIQACwAAAAMAAAADAAAAAQAAAANAAAADgAAAA8AAABhIERpc3BsYXkgaW1wbGVtZW50YXRpb24gcmV0dXJuZWQgYW4gZXJyb3IgdW5leHBlY3RlZGx5ABAAAAAAAAAAAQAAAAkAAAAvcnVzdGMvZmM1OTRmMTU2Njk2ODBmYTcwZDI1NWZhZWMzY2EzZmI1MDdjMzQwNS9saWJyYXJ5L2FsbG9jL3NyYy9zdHJpbmcucnMA+AIQAEsAAADoCQAACQAAAEVycm9yAAAAEAAAAAQAAAAEAAAAEQAAAFRyaWVkIHRvIHNocmluayB0byBhIGxhcmdlciBjYXBhY2l0eWwDEAAkAAAAL3J1c3RjL2ZjNTk0ZjE1NjY5NjgwZmE3MGQyNTVmYWVjM2NhM2ZiNTA3YzM0MDUvbGlicmFyeS9hbGxvYy9zcmMvcmF3X3ZlYy5yc5gDEABMAAAAqgEAAAkAAABjbG9zdXJlIGludm9rZWQgcmVjdXJzaXZlbHkgb3IgYWZ0ZXIgYmVpbmcgZHJvcHBlZGFzc2VydGlvbiBmYWlsZWQ6IG1pZCA8PSBzZWxmLmxlbigpL3J1c3RjL2ZjNTk0ZjE1NjY5NjgwZmE3MGQyNTVmYWVjM2NhM2ZiNTA3YzM0MDUvbGlicmFyeS9jb3JlL3NyYy9zbGljZS9tb2QucnMAAEkEEABNAAAA7AsAAAkAAABhc3NlcnRpb24gZmFpbGVkOiBrIDw9IHNlbGYubGVuKCkAAABJBBAATQAAABcMAAAJAAAAZiYAAJIlAAAJJAAADCQAAA0kAAAKJAAAsAAAALEAAAAkJAAACyQAABglAAAQJQAADCUAABQlAAA8JQAAuiMAALsjAAAAJQAAvCMAAL0jAAAcJQAAJCUAADQlAAAsJQAAAiUAAGQiAABlIgAAwAMAAGAiAACjAAAAxSIAAC9ob21lL21hcmNpbi8uY2FyZ28vZ2l0L2NoZWNrb3V0cy9hdnQtNjgzMzk3ODhiYTdkNjczZS85MTdhM2I4L3NyYy9saWIucnNhc3NlcnRpb24gZmFpbGVkOiBjb2x1bW5zID4gMAAAWAUQAEkAAAA4AQAACQAAAGFzc2VydGlvbiBmYWlsZWQ6IHJvd3MgPiAwAABYBRAASQAAADkBAAAJAAAAWAUQAEkAAADaAgAAEQAAAFgFEABJAAAA6AIAABEAAABYBRAASQAAAA0DAAAaAAAAWAUQAEkAAACVAwAAGgAAAFgFEABJAAAAmAMAABoAAABYBRAASQAAAP0DAAANAAAAWAUQAEkAAAACBAAADQAAAFgFEABJAAAADgQAAA0AAABYBRAASQAAABMEAAANAAAAWAUQAEkAAAAgBAAACQAAAFgFEABJAAAAQAQAABgAAABYBRAASQAAAFkFAAAJAAAAWAUQAEkAAABnBQAAJAAAAFgFEABJAAAAcwUAABoAAABYBRAASQAAAHsFAAAaAAAAAAAAAFgFEABJAAAAEgYAAAkAAABYBRAASQAAABoGAAAJAAAAWAUQAEkAAACOBwAAGgAAAFgFEABJAAAAsQcAABcAAABYBRAASQAAALcHAAAJAAAAU29zUG1BcGNTdHJpbmdPc2NTdHJpbmdEY3NJZ25vcmVEY3NQYXNzdGhyb3VnaERjc0ludGVybWVkaWF0ZURjc1BhcmFtRGNzRW50cnlDc2lJZ25vcmVDc2lJbnRlcm1lZGlhdGVDc2lQYXJhbUNzaUVudHJ5RXNjYXBlSW50ZXJtZWRpYXRlRXNjYXBlR3JvdW5kUkdCAAAeAAAABAAAAAQAAAAfAAAASW5kZXhlZAAeAAAABAAAAAQAAAAgAAAARmFpbnRCb2xkTm9ybWFsZm9yZWdyb3VuZGJhY2tncm91bmRpbnRlbnNpdHlpdGFsaWN1bmRlcmxpbmVzdHJpa2V0aHJvdWdoYmxpbmtpbnZlcnNlDwgQAAoAAAAZCBAACgAAACMIEAAJAAAALAgQAAYAAAAyCBAACQAAADsIEAANAAAASAgQAAUAAABNCBAABwAAAB4AAAAEAAAABAAAACEAAAAeAAAABAAAAAQAAAAiAAAAHgAAAAQAAAAEAAAAIwAAAFBlbkNlbGwAHgAAAAQAAAAEAAAAJAAAAB4AAAAEAAAABAAAACUAAAAeAAAABAAAAAQAAAAmAAAARHJhd2luZ0FzY2lpQWx0ZXJuYXRlUHJpbWFyeVNhdmVkQ3R4Y3Vyc29yX3geAAAABAAAAAQAAAAnAAAAY3Vyc29yX3lwZW5vcmlnaW5fbW9kZWF1dG9fd3JhcF9tb2Rlc3RhdGVwYXJhbXNpbnRlcm1lZGlhdGVzY29sdW1uc3Jvd3NidWZmZXJhbHRlcm5hdGVfYnVmZmVyYWN0aXZlX2J1ZmZlcl90eXBlY3Vyc29yX3Zpc2libGVjaGFyc2V0c2FjdGl2ZV9jaGFyc2V0dGFic2luc2VydF9tb2RlbmV3X2xpbmVfbW9kZW5leHRfcHJpbnRfd3JhcHN0b3BfbWFyZ2luYm90dG9tX21hcmdpbnNhdmVkX2N0eGFsdGVybmF0ZV9zYXZlZF9jdHhhZmZlY3RlZF9saW5lc1wJEAAFAAAAYQkQAAYAAABnCRAADQAAAHQJEAAHAAAAewkQAAQAAAB/CRAABgAAAIUJ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");function SA(A){return"number"==typeof A?A:"string"==typeof A?A.split(":").reverse().map(parseFloat).reduce(((A,g,I)=>A+g*Math.pow(60,I))):void 0}class LA{constructor(){let A=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;this.speed=A,this.startTime=performance.now()}getTime(){return this.speed*(performance.now()-this.startTime)/1e3}setTime(A){this.startTime=performance.now()-A/this.speed*1e3}}const pA=(async()=>(await uA(fA),dA))();class UA{constructor(A,g){this.logger=g.logger,this.state="initial",this.driver=null,this.driverFn=A,this.changedLines=new Set,this.cursor=void 0,this.duration=null,this.cols=g.cols,this.rows=g.rows,this.speed=g.speed??1,this.clock=void 0,this.loop=g.loop,this.idleTimeLimit=g.idleTimeLimit,this.preload=g.preload,this.startAt=SA(g.startAt),this.poster=g.poster,this.eventHandlers=new Map([["starting",[]],["loading",[]],["reset",[]],["play",[]],["pause",[]],["terminalUpdate",[]],["seeked",[]],["ended",[]]])}addEventListener(A,g){this.eventHandlers.get(A).push(g)}dispatchEvent(A){let g=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};for(const I of this.eventHandlers.get(A))I(g)}async init(){const A=this.feed.bind(this),g=this.now.bind(this),I=this.resetVt.bind(this);let B=!1;return this.wasm=await pA,this.driver=this.driverFn({feed:A,now:g,setTimeout:(A,g)=>window.setTimeout(A,g/this.speed),setInterval:(A,g)=>window.setInterval(A,g/this.speed),onFinish:()=>{this.state="ended",this.dispatchEvent("ended")},reset:I,setLoading:A=>{A&&!B?(B=!0,this.dispatchEvent("loading")):!A&&B&&(B=!1,this.dispatchEvent("play"))},logger:this.logger},{cols:this.cols,rows:this.rows,idleTimeLimit:this.idleTimeLimit,startAt:this.startAt,loop:this.loop}),"function"==typeof this.driver&&(this.driver={start:this.driver}),this.duration=this.driver.duration,this.cols=this.cols??this.driver.cols,this.rows=this.rows??this.driver.rows,this.preload&&this.initializeDriver(),{isPausable:!!this.driver.pauseOrResume,isSeekable:!!this.driver.seek,poster:await this.renderPoster()}}async play(){"initial"==this.state?await this.start():"paused"==this.state?this.resume():"ended"==this.state&&await this.restart()}pause(){"playing"==this.state&&this.doPause()}async pauseOrResume(){"initial"==this.state?await this.start():"playing"==this.state?this.doPause():"paused"==this.state?this.resume():"ended"==this.state&&await this.restart()}stop(){"function"==typeof this.driver.stop&&this.driver.stop()}async seek(A){if("initial"==this.state)return!1;if("function"!=typeof this.driver.seek)return!1;const g=this.driver.seek(A);return g&&("ended"==this.state&&(this.state="paused"),this.dispatchEvent("seeked")),g}step(){"paused"==this.state&&"function"==typeof this.driver.step&&this.driver.step()}getChangedLines(){if(this.changedLines.size>0){const A=new Map;for(const g of this.changedLines)A.set(g,{id:g,segments:this.vt.get_line(g)});return this.changedLines.clear(),A}}getCursor(){return void 0===this.cursor&&this.vt&&(this.cursor=this.vt.get_cursor()??!1),this.cursor}getCurrentTime(){return"function"==typeof this.driver.getCurrentTime?this.driver.getCurrentTime():void 0!==this.clock?this.clock.getTime():void 0}getRemainingTime(){if("number"==typeof this.duration)return this.duration-Math.min(this.getCurrentTime(),this.duration)}getProgress(){if("number"==typeof this.duration)return Math.min(this.getCurrentTime(),this.duration)/this.duration}getDuration(){return this.duration}async start(){this.dispatchEvent("starting");const A=setTimeout((()=>{this.dispatchEvent("loading")}),2e3);await this.initializeDriver(),this.dispatchEvent("terminalUpdate");const g=await this.driver.start();clearTimeout(A),"function"==typeof g&&(this.driver.stop=g),this.clock=new LA(this.speed),this.state="playing",this.dispatchEvent("play")}doPause(){"function"==typeof this.driver.pauseOrResume&&(this.driver.pauseOrResume(),this.state="paused",this.dispatchEvent("pause"))}resume(){"function"==typeof this.driver.pauseOrResume&&(this.state="playing",this.driver.pauseOrResume(),this.dispatchEvent("play"))}async restart(){if("function"==typeof this.driver.restart){await this.driver.restart()&&(this.state="playing",this.dispatchEvent("play"))}}feed(A){this.doFeed(A),this.dispatchEvent("terminalUpdate")}doFeed(A){this.vt.feed(A).forEach((A=>this.changedLines.add(A))),this.cursor=void 0}now(){return performance.now()*this.speed}initializeDriver(){return void 0===this.initializeDriverPromise&&(this.initializeDriverPromise=this.doInitializeDriver()),this.initializeDriverPromise}async doInitializeDriver(){if("function"==typeof this.driver.init){const A=await this.driver.init();this.duration=this.duration??A.duration,this.cols=this.cols??A.cols,this.rows=this.rows??A.rows}this.ensureVt()}ensureVt(){const A=this.cols??80,g=this.rows??24;void 0!==this.vt&&this.vt.cols===A&&this.vt.rows===g||(this.initializeVt(A,g),this.dispatchEvent("reset",{cols:A,rows:g}))}resetVt(A,g){let I=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0;this.cols=A,this.rows=g,this.cursor=void 0,this.initializeVt(A,g),void 0!==I&&""!==I&&this.doFeed(I),this.dispatchEvent("reset",{cols:A,rows:g})}initializeVt(A,g){this.vt=this.wasm.create(A,g),this.vt.cols=A,this.vt.rows=g,this.changedLines.clear();for(let A=0;Athis.vt.feed(A)));const g=this.vt.get_cursor()??!1,I=[];for(let A=0;A!0,deleteProperty:()=>!0,ownKeys:function(A){return WA(A),Reflect.ownKeys(A)},getOwnPropertyDescriptor:function(A,g){const B=Reflect.getOwnPropertyDescriptor(A,g);return B&&!B.get&&B.configurable&&g!==I&&g!==HA&&g!==bA?(delete B.value,delete B.writable,B.get=()=>A[I][g],B):B}};function XA(A,g,I,B=!1){if(!B&&A[g]===I)return;const Q=A[g],C=A.length;void 0===I?delete A[g]:A[g]=I;let E,i=jA(A);(E=xA(i,g,Q))&&E.$((()=>I)),Array.isArray(A)&&A.length!==C&&(E=xA(i,"length",C))&&E.$(A.length),(E=i._)&&E.$()}function OA(A,g){const I=Object.keys(g);for(let B=0;B1){B=g.shift();const C=typeof B,E=Array.isArray(A);if(Array.isArray(B)){for(let Q=0;Q1)return void VA(A[B],g,[B].concat(I));Q=A[B],I=[B].concat(I)}let C=g[0];"function"==typeof C&&(C=C(Q,I),C===Q)||void 0===B&&null==C||(C=mA(C),void 0===B||vA(Q)&&vA(C)&&!Array.isArray(C)?OA(Q,C):XA(A,B,C))}function zA(...[A,g]){const I=mA(A||{}),B=Array.isArray(I);return[qA(I),function(...A){J((()=>{B&&1===A.length?function(A,g){if("function"==typeof g&&(g=g(A)),g=mA(g),Array.isArray(g)){if(A===g)return;let I=0,B=g.length;for(;I=E&&e>=E&&(C[i]===A[e]||Q&&C[E]&&A[E]&&C[i][Q]===A[e][Q]);i--,e--)n[e]=C[i];if(E>e||E>i){for(I=E;I<=e;I++)XA(C,I,A[I]);for(;IA.length&&XA(C,"length",A.length))}for(o=new Array(e+1),I=e;I>=E;I--)t=A[I],s=Q&&t?t[Q]:t,g=r.get(s),o[I]=void 0===g?-1:g,r.set(s,I);for(g=E;g<=i;g++)t=C[g],s=Q&&t?t[Q]:t,I=r.get(s),void 0!==I&&-1!==I&&(n[I]=C[g],I=o[I],r.set(s,I));for(I=E;IA.length&&XA(C,"length",A.length))}const E=Object.keys(A);for(let g=0,I=E.length;g{if(!vA(A)||!vA(Q))return Q;const g=_A(Q,{[PA]:A},PA,I,B);return void 0===g?A:g}}const Ag=X("");var gg=A=>(()=>{const g=Ag.cloneNode(!0);return $(g,(()=>A.text)),w((I=>{const B=function(A,g){const I=A.get("inverse")?A.has("bg")?A.get("bg"):"bg":A.get("fg"),B=A.get("inverse")?A.has("fg")?A.get("fg"):"fg":A.get("bg"),Q=Ig(I,A.get("bold"),"fg-"),C=Ig(B,A.get("blink"),"bg-");let E=g??"";Q&&(E+=" "+Q);C&&(E+=" "+C);A.has("bold")&&(E+=" bright");A.has("faint")&&(E+=" faint");A.has("italic")&&(E+=" italic");A.has("underline")&&(E+=" underline");A.has("blink")&&(E+=" blink");return E}(A.attrs,A.extraClass),Q=function(A){const g=A.get("inverse")?A.get("bg"):A.get("fg"),I=A.get("inverse")?A.get("fg"):A.get("bg");let B={};"string"==typeof g&&(B.color=g);"string"==typeof I&&(B["background-color"]=I);return B}(A.attrs);return B!==I._v$&&V(g,I._v$=B),I._v$2=P(g,Q,I._v$2),I}),{_v$:void 0,_v$2:void 0}),g})();function Ig(A,g,I){return"number"==typeof A?(g&&A<8&&(A+=8),`${I}${A}`):"fg"==A||"bg"==A?`${I}${A}`:void 0}const Bg=X('');var Qg=A=>(()=>{const g=Bg.cloneNode(!0);return $(g,v(j,{get each(){return(()=>{if("number"==typeof A.cursor){const g=[];let I=0,B=0;for(;B0&&g.push([Q[0].substring(0,i),Q[1]]),g.push([Q[0][i],C," cursor-a"]),g.push([Q[0][i],E," cursor-b"]),iv(gg,{get text(){return A()[0]},get attrs(){return A()[1]},get extraClass(){return A()[2]}})})),w((()=>g.style.setProperty("height",A.height))),g})();const Cg=X('
');var Eg=A=>{const g=()=>A.lineHeight??1.3333333333,I=l((()=>({width:`${A.cols}ch`,height:g()*A.rows+"em","font-size":100*(A.scale||1)+"%","font-family":A.fontFamily,"line-height":`${g()}em`})));return(()=>{const B=Cg.cloneNode(!0),Q=A.ref;return"function"==typeof Q?_(Q,B):A.ref=B,$(B,v(m,{get each(){return A.lines},children:(I,B)=>v(Qg,{get segments(){return I.segments},get cursor(){return l((()=>B()===A.cursor?.[1]))()?A.cursor?.[0]:null},get height(){return`${g()}em`}})})),w((g=>{const Q=!(!A.blink&&!A.cursorHold),C=!!A.blink,E=I();return Q!==g._v$&&B.classList.toggle("cursor",g._v$=Q),C!==g._v$2&&B.classList.toggle("blink",g._v$2=C),g._v$3=P(B,E,g._v$3),g}),{_v$:void 0,_v$2:void 0,_v$3:void 0}),B})()};const ig=X(''),eg=X(''),tg=X(''),og=X(''),sg=X('
');function ng(A){A=Math.floor(A);const g=Math.floor(A/60),I=A%60;let B="";return g<10&&(B+="0"),B+=`${g}:`,I<10&&(B+="0"),B+=`${I}`,B}var rg=A=>{const g=A=>g=>{g.preventDefault(),A(g)},I=()=>"number"==typeof A.currentTime?ng(A.currentTime):"--:--",B=()=>"number"==typeof A.remainingTime?"-"+ng(A.remainingTime):I(),Q=g=>{if(g.altKey||g.shiftKey||g.metaKey||g.ctrlKey)return;const I=g.currentTarget.offsetWidth,B=g.currentTarget.getBoundingClientRect(),Q=(g.clientX-B.left)/I;return A.onSeekClick(100*Q+"%")};return(()=>{const C=sg.cloneNode(!0),E=C.firstChild,i=E.firstChild,e=i.nextSibling,t=E.nextSibling,o=A.ref;return"function"==typeof o?_(o,C):A.ref=C,$(C,v(x,{get when(){return A.isPausable},get children(){const I=tg.cloneNode(!0);return z(I,"click",g(A.onPlayClick),!0),$(I,v(W,{get children(){return[v(T,{get when(){return A.isPlaying},get children(){return ig.cloneNode(!0)}}),v(T,{get when(){return!A.isPlaying},get children(){return eg.cloneNode(!0)}})]}})),I}}),E),$(i,I),$(e,B),z(t,"click",g(A.onFullscreenClick),!0),$(C,v(x,{get when(){return"number"==typeof A.progress||A.isSeekable},get children(){const g=og.cloneNode(!0),I=g.firstChild,B=I.firstChild.firstChild;return I.$$mousedown=Q,w((g=>P(B,{width:"100%",transform:`scaleX(${A.progress||0}`,"transform-origin":"left center"},g))),g}}),null),w((()=>C.classList.toggle("seekable",!!A.isSeekable))),C})()};O(["click","mousedown"]);const ag=X('
');var cg=A=>{const g=["▓","▒","░","▒"];let I,B=1,Q="";for(let g=0;g{I=setInterval((()=>{t("lines",0,{segments:[C,[g[B%g.length],E]]}),B++}),250)})),N((()=>{clearInterval(I)})),(()=>{const g=ag.cloneNode(!0);return $(g,v(Eg,{get cols(){return A.cols},get rows(){return A.rows},get scale(){return A.scale},get lines(){return e.lines},get fontFamily(){return A.terminalFontFamily},get lineHeight(){return A.terminalLineHeight}})),g})()};const Dg=X('
');var wg=A=>(()=>{const g=Dg.cloneNode(!0);var I;return z(g,"click",(I=A.onClick,A=>{A.preventDefault(),I(A)}),!0),g})();O(["click"]);const hg=X('
');var lg=A=>{const g=A.logger,I=A.core,B=A.autoPlay,[Q,C]=zA({coreState:"initial",cols:A.cols,rows:A.rows,lines:[],cursor:void 0,charW:null,charH:null,bordersW:null,bordersH:null,controlBarH:null,containerW:null,containerH:null,showControls:!1,showStartOverlay:!B,isPausable:!0,isSeekable:!0,isFullscreen:!1,currentTime:null,remainingTime:null,progress:null,blink:!0,cursorHold:!1}),E=()=>Q.cols||80,i=()=>Q.rows||24;let e,t,o,s,n,r,a,c,D;I.addEventListener("starting",(()=>{C("showStartOverlay",!1)})),I.addEventListener("loading",(()=>{C("coreState","loading")})),I.addEventListener("reset",(A=>{let{cols:g,rows:I}=A;I{C({coreState:"playing",showStartOverlay:!1})})),I.addEventListener("pause",(()=>{C("coreState","paused")})),I.addEventListener("seeked",(()=>{S()})),I.addEventListener("ended",(()=>{C("coreState","paused")})),I.addEventListener("terminalUpdate",(()=>{void 0===e&&(e=requestAnimationFrame(k))}));const y=()=>{D=new ResizeObserver(function(A,g){let I;return function(){for(var B=arguments.length,Q=new Array(B),C=0;CA.apply(this,Q)),g)}}((A=>{C({containerW:n.offsetWidth,containerH:n.offsetHeight}),n.dispatchEvent(new CustomEvent("resize",{detail:{el:r}}))}),10)),D.observe(n)};G((async()=>{g.info("player mounted"),C({charW:a.clientWidth/E(),charH:a.clientHeight/i(),bordersW:a.offsetWidth-a.clientWidth,bordersH:a.offsetHeight-a.clientHeight,controlBarH:c.offsetHeight,containerW:n.offsetWidth,containerH:n.offsetHeight}),y();const{isPausable:A,isSeekable:Q,poster:e}=await I.init();C({isPausable:A,isSeekable:Q}),void 0===e||B||C({lines:e.lines,cursor:e.cursor}),B&&I.play()})),N((()=>{I.stop(),p(),f(),D.disconnect()})),h((()=>{const A=Q.coreState;"playing"===A?(L(),J()):"initial"!==A&&(p(),f(),S())}));const k=()=>{const A=I.getChangedLines();A&&A.forEach(((A,g)=>{C("lines",g,$A(A))})),C("cursor",$A(I.getCursor())),C("cursorHold",!0),e=void 0},F=l((()=>{if(!Q.charW)return;g.debug(`containerW = ${Q.containerW}`);const I=Q.charW*E()+Q.bordersW,B=Q.charH*i()+Q.bordersH;let C=A.fit??"width";if("both"===C||Q.isFullscreen){C=Q.containerW/(Q.containerH-Q.controlBarH)>I/B?"height":"width"}if(!1===C||"none"===C)return{};if("width"===C){const A=Q.containerW/I;return{scale:A,width:Q.containerW,height:B*A+Q.controlBarH}}if("height"===C){const A=(Q.containerH-Q.controlBarH)/B;return{scale:A,width:I*A,height:Q.containerH}}throw`unsupported fit mode: ${C}`})),R=()=>{C("isFullscreen",document.fullscreenElement??document.webkitFullscreenElement)},M=()=>{Q.isFullscreen?(document.exitFullscreen??document.webkitExitFullscreen??(()=>{})).apply(document):(n.requestFullscreen??n.webkitRequestFullscreen??(()=>{})).apply(n)},u=A=>{if(!(A.altKey||A.metaKey||A.ctrlKey))if(A.shiftKey){if("ArrowLeft"==A.key)I.seek("<<<");else{if("ArrowRight"!=A.key)return;I.seek(">>>")}A.preventDefault()}else{if(" "==A.key)I.pauseOrResume();else if("."==A.key)I.step(),S();else if("f"==A.key)M();else if("ArrowLeft"==A.key)I.seek("<<");else if("ArrowRight"==A.key)I.seek(">>");else{if(!(A.key.charCodeAt(0)>=48&&A.key.charCodeAt(0)<=57))return;{const g=(A.key.charCodeAt(0)-48)/10;I.seek(100*g+"%")}}A.preventDefault()}},d=()=>{Q.isFullscreen&&U(!0)},Y=()=>{Q.isFullscreen||U(!1)},J=()=>{o=setInterval(S,100)},f=()=>{clearInterval(o)},S=()=>{const A=I.getCurrentTime(),g=I.getRemainingTime(),B=I.getProgress();C({currentTime:A,remainingTime:g,progress:B})},L=()=>{s=setInterval((()=>{C((A=>{const g={blink:!A.blink};return g.blink&&(g.cursorHold=!1),g}))}),500)},p=()=>{clearInterval(s),C("blink",!0)},U=A=>{clearTimeout(t),A&&(t=setTimeout((()=>U(!1)),2e3)),C("showControls",A)},K=()=>F()?.scale,H=(()=>{const g=hg.cloneNode(!0),B=g.firstChild;"function"==typeof n?_(n,g):n=g,g.addEventListener("webkitfullscreenchange",R),g.addEventListener("fullscreenchange",R),g.$$mousemove=d,g.$$keydown=u,g.addEventListener("keypress",u);return"function"==typeof r?_(r,B):r=B,B.$$mousemove=()=>U(!0),B.addEventListener("mouseleave",Y),$(B,v(Eg,{get cols(){return E()},get rows(){return i()},get scale(){return K()},get blink(){return Q.blink},get lines(){return Q.lines},get cursor(){return Q.cursor},get cursorHold(){return Q.cursorHold},get fontFamily(){return A.terminalFontFamily},get lineHeight(){return A.terminalLineHeight},ref(A){"function"==typeof a?a(A):a=A}}),null),$(B,v(rg,{get currentTime(){return Q.currentTime},get remainingTime(){return Q.remainingTime},get progress(){return Q.progress},get isPlaying(){return"playing"==Q.coreState},get isPausable(){return Q.isPausable},get isSeekable(){return Q.isSeekable},onPlayClick:()=>I.pauseOrResume(),onFullscreenClick:M,onSeekClick:A=>I.seek(A),ref(A){"function"==typeof c?c(A):c=A}}),null),$(B,v(W,{get children(){return[v(T,{get when(){return Q.showStartOverlay},get children(){return v(wg,{onClick:()=>I.play()})}}),v(T,{get when(){return"loading"==Q.coreState},get children(){return v(cg,{get cols(){return E()},get rows(){return i()},get scale(){return K()},get terminalFontFamily(){return A.terminalFontFamily},get terminalLineHeight(){return A.terminalLineHeight}})}})]}}),null),w((I=>{const C=!!Q.showControls,E=`asciinema-player asciinema-theme-${A.theme??"asciinema"}`,i=(()=>{const g={};!1!==A.fit&&"none"!==A.fit||void 0===A.terminalFontSize||("small"===A.terminalFontSize?g["font-size"]="12px":"medium"===A.terminalFontSize?g["font-size"]="18px":"big"===A.terminalFontSize?g["font-size"]="24px":g["font-size"]=A.terminalFontSize);const I=F();return void 0===I?(g.height=0,g):(void 0!==I.width&&(g.width=`${I.width}px`,g.height=`${I.height}px`),g)})();return C!==I._v$&&g.classList.toggle("hud",I._v$=C),E!==I._v$2&&V(B,I._v$2=E),I._v$3=P(B,i,I._v$3),I}),{_v$:void 0,_v$2:void 0,_v$3:void 0}),g})();return H};O(["keydown","mousemove"]);class yg{log(){}debug(){}info(){}warn(){}error(){}}class Gg{constructor(A,g){this.input="function"==typeof A.next?A:A[Symbol.iterator](),this.xfs=g??[]}map(A){return this.transform(function(A){return g=>I=>{g(A(I))}}(A))}flatMap(A){return this.transform(function(A){return g=>I=>{A(I).forEach(g)}}(A))}filter(A){return this.transform(function(A){return g=>I=>{A(I)&&g(I)}}(A))}take(A){return this.transform(function(A){let g=0;return I=>B=>{gB=>{g+=1,g>A&&I(B)}}(A))}transform(A){return new Gg(this.input,this.xfs.concat([A]))}toArray(){return Array.from(this)}[Symbol.iterator](){let A=0,g=[],I=!1;const B=(Q=this.xfs,C=A=>g.push(A),Q.reverse().reduce(((A,g)=>{const I=Ng(g(A.step));return{step:I.step,flush:()=>{I.flush(),A.flush()}}}),Ng(C)));var Q,C;return{next:()=>{for(A===g.length&&(g=[],A=0);0===g.length;){const A=this.input.next();if(A.done)break;B.step(A.value)}return 0!==g.length||I||(B.flush(),I=!0),g.length>0?{done:!1,value:g[A++]}:{done:!0}}}}}function Ng(A){return"function"==typeof A?{step:A,flush:()=>{}}:A}function kg(A,g,I){let B,Q,C,E,i,e,t,o,{feed:s,now:n,setTimeout:r,onFinish:a,logger:c}=g,{idleTimeLimit:D,startAt:w,loop:h}=I,l=0,y=0,G=0;async function N(){if(C)return;const g=A.parser(await async function(A){let{url:g,data:I,fetchOpts:B={}}=A;if(void 0!==g){const A=await fetch(g,B);if(!A.ok)throw`failed fetching recording file: ${A.statusText} (${A.status})`;return await A.text()}if(void 0!==I)return"function"==typeof I&&(I=I()),await I;throw"failed fetching recording file: url/data missing in src"}(A));B=g.cols,Q=g.rows,D=D??g.idleTimeLimit;const I=function(A,g){let I=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1/0,B=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,Q=0,C=0,E=B;A instanceof Gg||(A=new Gg(A));const i=Array.from(function(A,g){const I=1/60;let B;return A.transform((A=>{let Q=0,C=0;return{step:g=>{Q++,void 0!==B?g[0]-B[0]{void 0!==B&&(A(B),C++),g.debug(`batched ${Q} frames to ${C} frames`)}}}))}(A,g).map((A=>{const g=A[0]-Q-I;return Q=A[0],g>0&&(C+=g,A[0]1e3*g[0]);k()}function R(){clearTimeout(e),e=null,o=n()-t}function M(){t=n()-o,o=null,k()}function u(A){const g=!!e;if(g&&R(),"string"==typeof A){const g=(o??0)/1e3;"<<"===A?A=g-5:">>"===A?A=g+5:"<<<"===A?A=g-.1*E:">>>"===A?A=g+.1*E:"%"===A[A.length-1]&&(A=parseFloat(A.substring(0,A.length-1))/100*E)}const I=1e3*Math.min(Math.max(A,0),E);I(await N(),{cols:B,rows:Q,duration:E}),start:async()=>{u(i),M()},stop:()=>{clearTimeout(e)},restart:()=>!e&&(u(0),M(),!0),pauseOrResume:()=>e?(R(),!1):(M(),!0),seek:u,step:function(){let A=C[l];void 0!==A?(s(A[1]),y=1e3*A[0],o=y,l++):(o=1e3*E,a())},getPoster:A=>function(A){const g=1e3*A,I=[];let B=0,Q=C[0];for(;Q&&1e3*Q[0]e?(n()-t)/1e3:(o??0)/1e3}}function Fg(A,g,I){let{kind:B}=A;return"random"==B?function(A){let{feed:g,setTimeout:I}=A;const B=" ".charCodeAt(0),Q="~".charCodeAt(0)-B;let C;const E=()=>{const A=Math.pow(5,4*Math.random());C=I(i,A)},i=()=>{E();const A=String.fromCharCode(B+Math.floor(Math.random()*Q));g(A)};return()=>(E(),()=>clearInterval(C))}(g):"clock"==B?function(A,g){let{feed:I}=A,{cols:B=5,rows:Q=1}=g;const C=Math.floor(Q/2),E=Math.floor(B/2)-2;let i;return{cols:B,rows:Q,duration:1440,start:()=>{setTimeout((()=>{I(`[?25l[${C}B`)}),0),i=setInterval((()=>{const A=new Date,g=A.getHours(),B=A.getMinutes();I("\r");for(let A=0;A{clearInterval(i)},getCurrentTime:()=>{const A=new Date;return 60*A.getHours()+A.getMinutes()}}}(g,I):void 0}class Rg{constructor(){this.items=[],this.onPush=void 0}push(A){this.items.push(A),void 0!==this.onPush&&(this.onPush(this.popAll()),this.onPush=void 0)}popAll(){if(this.items.length>0){const A=this.items;return this.items=[],A}{const A=this;return new Promise((g=>{A.onPush=g}))}}}function Mg(A,g){return g>0?function(A,g){const I=new Rg,B=1e3/60;let Q,C,E=!1,i=-B;return setTimeout((async()=>{for(;!E;){const e=await I.popAll();if(E)return;for(const I of e){const e=1e3*(I[0]-C+g);if(e-it&&(await dg(e-t),E))return;A(I[2]),i=e}}}),0),{pushEvent(A){void 0===Q&&(Q=ug(),C=A[0]),"o"==A[1]&&I.push(A)},pushText(A){void 0===Q&&(Q=ug(),C=0);const g=(ug()-Q)/1e3;I.push([g,"o",A])},stop(){E=!0,I.push(void 0)}}}(A,g):function(A){return{pushEvent(g){"o"===g[1]&&A(g[2])},pushText(g){A(g)},stop(){}}}(A)}function ug(){return(new Date).getTime()}function dg(A){return new Promise((g=>{setTimeout(g,A)}))}function Yg(A){return Math.min(500*Math.pow(2,A),5e3)}function Jg(A,g){let{url:I,bufferTime:B=0,reconnectDelay:Q=Yg}=A,{feed:C,reset:E,setLoading:i,onFinish:e,logger:t}=g;const o=new TextDecoder;let s,n,r,a,c=0,D=!1;function w(){void 0!==n&&n.stop(),n=Mg(C,B)}function h(){s=new WebSocket(I),s.binaryType="arraybuffer",s.onopen=()=>{t.info("websocket: opened"),i(!1),w(),a=setTimeout((()=>{c=0}),1e3)},s.onmessage=A=>{if("string"==typeof A.data){const g=JSON.parse(A.data);if(Array.isArray(g))n.pushEvent(g),void 0!==r&&r.setTime(g[0]);else if(void 0!==g.cols||void 0!==g.width){const A=g.cols??g.width,I=g.rows??g.height;t.debug(`websocket: vt reset (${A}x${I})`),w(),E(A,I,g.init??void 0),r=new LA,"number"==typeof g.time&&r.setTime(g.time)}else"offline"===g.state&&(t.info("websocket: stream offline"),r=void 0)}else n.pushText(o.decode(A.data))},s.onclose=A=>{if(D||1e3===A.code||1005===A.code)t.info("websocket: closed"),e();else{clearTimeout(a);const A=Q(c++);t.info(`websocket: unclean close, reconnecting in ${A}...`),i(!0),setTimeout(h,A)}}}return{start:()=>{h()},stop:()=>{D=!0,void 0!==n&&n.stop(),void 0!==s&&s.close()},getCurrentTime:()=>void 0===r?void 0:r.getTime()}}function fg(A,g){let I,B,Q,{url:C,bufferTime:E=0}=A,{feed:i,reset:e,setLoading:t,onFinish:o,logger:s}=g;function n(){void 0!==B&&B.stop(),B=Mg(i,E)}return{start:()=>{I=new EventSource(C),I.addEventListener("open",(()=>{s.info("eventsource: opened"),t(!1),n()})),I.addEventListener("error",(A=>{s.info("eventsource: errored"),s.debug({e:A}),t(!0)})),I.addEventListener("message",(A=>{const g=JSON.parse(A.data);if(Array.isArray(g))B.pushEvent(g),void 0!==Q&&Q.setTime(g[0]);else if(void 0!==g.cols||void 0!==g.width){const A=g.cols??g.width,I=g.rows??g.height;s.debug(`eventsource: vt reset (${A}x${I})`),n(),e(A,I,g.init??void 0),Q=new LA,"number"==typeof g.time&&Q.setTime(g.time)}else"offline"===g.state&&(s.info("eventsource: stream offline"),Q=void 0)})),I.addEventListener("done",(()=>{s.info("eventsource: closed"),I.close(),o()}))},stop:()=>{void 0!==B&&B.stop(),void 0!==I&&I.close()},getCurrentTime:()=>void 0===Q?void 0:Q.getTime()}}function Sg(A){let g,I=new Gg([]);if("string"==typeof A){const B=function(A){const g=A.split("\n");let I;try{I=JSON.parse(g[0])}catch(A){return}const B=new Gg(g).drop(1).filter((A=>"["===A[0])).map((A=>JSON.parse(A)));return{header:I,events:B}}(A);void 0!==B?(g=B.header,I=B.events):g=JSON.parse(A)}else if("object"==typeof A&&"number"==typeof A.version)g=A;else{if(!Array.isArray(A))throw"invalid data";g=A[0],I=new Gg(A).drop(1)}if(1===g.version)return function(A){let g=0;const I=new Gg(A.stdout).map((A=>(g+=A[0],[g,A[1]])));return{cols:A.width,rows:A.height,frames:I}}(g);if(2===g.version)return function(A,g){const I=g.filter((A=>"o"===A[1])).map((A=>[A[0],A[2]]));return{cols:A.width,rows:A.height,idleTimeLimit:A.idle_time_limit,frames:I}}(g,I);throw`asciicast v${g.version} format not supported`}return A.create=function(A,g){let I=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const B=I.logger??new yg,Q=new UA(function(A){if("function"==typeof A)return A;"string"==typeof A&&(A="ws://"==A.substring(0,5)||"wss://"==A.substring(0,6)?{driver:"websocket",url:A}:"test://"==A.substring(0,7)?{driver:"test",kind:A.substring(7)}:{driver:"recording",url:A});void 0===A.driver&&(A.driver="recording");"recording"==A.driver&&void 0===A.parser&&(A.parser=Sg);const g=new Map([["recording",kg],["websocket",Jg],["eventsource",fg],["test",Fg]]);if(g.has(A.driver)){const I=g.get(A.driver);return(g,B)=>I(A,g,B)}throw`unsupported driver: ${JSON.stringify(A)}`}(A),{logger:B,cols:I.cols,rows:I.rows,loop:I.loop,speed:I.speed,preload:I.preload,startAt:I.startAt,poster:I.poster,idleTimeLimit:I.idleTimeLimit}),C={logger:B,core:Q,cols:I.cols,rows:I.rows,fit:I.fit,autoPlay:I.autoPlay??I.autoplay,terminalFontSize:I.terminalFontSize,terminalFontFamily:I.terminalFontFamily,terminalLineHeight:I.terminalLineHeight,theme:I.theme};let E;const i=function(A,g,I,B={}){let Q;return c((B=>{Q=B,g===document?A():$(g,A(),g.firstChild?null:void 0,I)}),B.owner),()=>{Q(),g.textContent=""}}((()=>(E=v(lg,C),E)),g),e={el:E,dispose:i,getCurrentTime:()=>Q.getCurrentTime(),getDuration:()=>Q.getDuration(),play:()=>Q.play(),pause:()=>Q.pause(),seek:A=>Q.seek(A),addEventListener:(A,g)=>Q.addEventListener(A,g.bind(e))};return e},A}({}); diff --git a/templates/macros/asciinema.html b/templates/macros/asciinema.html new file mode 100644 index 0000000..abc3e3c --- /dev/null +++ b/templates/macros/asciinema.html @@ -0,0 +1,30 @@ +{%- import "macros/colocated_asset.html" as colocated_asset -%} + +{# Load an asciinema file and insert it into the page #} +{%- macro asciinema(path, colocated=false, preload=false) -%} +{%- set name = path | replace(from='.', to='-') | replace(from='/', to='-') -%} +{%- if not page.extra.use_asciinema -%} + {{ throw(message='Please set extra.use_asciinema in page front-matter') }} +{%- endif -%} + +{%- if colocated == true -%} + {%- set path = colocated_asset::colocated_asset(path=path, get_url=true) | trim -%} +{%- endif -%} + +
+ +{%- endmacro asciinema -%} diff --git a/templates/macros/colocated_asset.html b/templates/macros/colocated_asset.html index 0cd131d..971cdec 100644 --- a/templates/macros/colocated_asset.html +++ b/templates/macros/colocated_asset.html @@ -1,10 +1,16 @@ - -{%- macro colocated_asset(path) -%} - {%- set page_url_components = page.relative_path | default(value=section.relative_path) | split(pat='/') -%} - {%- set page_base = page_url_components | slice(end=page_url_components | length - 1) | join(sep='/') -%} - {{ page_base ~ '/' ~ path }} +{# +Returns the file path of the colocated asset. +When Zola uses `resize_image` it looks relative to the `content` folder. +This means you have to reference the full page asset colocation path. + +The get_url parameter specifies whether you want the URL or the file path. +#} +{%- macro colocated_asset(path, get_url=false) -%} +{%- if get_url -%} + {{ page.path ~ path }} +{%- else -%} + {%- set page_url_components = page.relative_path | default(value=section.relative_path) | split(pat='/') -%} + {%- set page_base = page_url_components | slice(end=page_url_components | length - 1) | join(sep='/') -%} + {{ page_base ~ '/' ~ path }} +{%- endif -%} {%- endmacro colocated_asset -%} diff --git a/templates/page.html b/templates/page.html index 4296bf1..04280ae 100644 --- a/templates/page.html +++ b/templates/page.html @@ -13,6 +13,11 @@ {% endif %} +{% if page.extra.use_asciinema %} + + +{% endif %} + {% endblock pagemeta %} {% block content %} @@ -32,7 +37,7 @@ {{ page.content | safe }} -{% if config.extra.debug and config.mode == "Serve" %} +{% if config.extra.debug %}
{{ __tera_context | escape | safe }}
{% endif %} diff --git a/templates/shortcodes/asciinema.html b/templates/shortcodes/asciinema.html new file mode 100644 index 0000000..c28f9eb --- /dev/null +++ b/templates/shortcodes/asciinema.html @@ -0,0 +1,7 @@ +{%- import "macros/asciinema.html" as asciinema -%} + +{{ asciinema::asciinema( + path=path, + colocated=colocated | default(value=false), + preload=preload | default(value=false) +) }}