diff --git a/.github/workflows/codespell.yml b/.github/workflows/codespell.yml
index 1195d8d1f2..b8da5ebb73 100644
--- a/.github/workflows/codespell.yml
+++ b/.github/workflows/codespell.yml
@@ -27,4 +27,5 @@ jobs:
./etc/leapp/files/device_driver_deprecation_data.json,\
./etc/leapp/files/pes-events.json,\
./etc/leapp/files/repomap.json,\
- ./repos/system_upgrade/common/files/prod-certs"
+ ./repos/system_upgrade/common/files/prod-certs,\
+ ./docs/source/_static"
diff --git a/.readthedocs.yaml b/.readthedocs.yaml
new file mode 100644
index 0000000000..63e1710534
--- /dev/null
+++ b/.readthedocs.yaml
@@ -0,0 +1,35 @@
+# Read the Docs configuration file for Sphinx projects
+# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details
+
+# Required
+version: 2
+
+# Set the OS, Python version and other tools you might need
+build:
+ os: ubuntu-24.04
+ tools:
+ python: "3.10"
+ # You can also specify other tool versions:
+ # nodejs: "20"
+ # rust: "1.70"
+ # golang: "1.20"
+
+# Build documentation in the "docs/" directory with Sphinx
+sphinx:
+ configuration: docs/source/conf.py
+ # You can configure Sphinx to use a different builder, for instance use the dirhtml builder for simpler URLs
+ # builder: "dirhtml"
+ # Fail on all warnings to avoid broken references
+ # fail_on_warning: true
+
+# Optionally build your docs in additional formats such as PDF and ePub
+# formats:
+# - pdf
+# - epub
+
+# Optional but recommended, declare the Python requirements required
+# to build your documentation
+# See https://docs.readthedocs.io/en/stable/guides/reproducible-builds.html
+python:
+ install:
+ - requirements: docs/requirements-docs.txt
diff --git a/Makefile b/Makefile
index 8aeef77d01..3e090159d3 100644
--- a/Makefile
+++ b/Makefile
@@ -358,7 +358,7 @@ lint:
if [[ "`git rev-parse --abbrev-ref HEAD`" != "$(MASTER_BRANCH)" ]] && [[ -n "`git diff $(MASTER_BRANCH) --name-only --diff-filter AMR`" ]]; then \
. $(VENVNAME)/bin/activate; \
- git diff $(MASTER_BRANCH) --name-only --diff-filter AMR | xargs isort -c --diff || \
+ git diff $(MASTER_BRANCH) --name-only --diff-filter AMR | grep -v "^docs/" | xargs isort -c --diff || \
{ \
echo; \
echo "------------------------------------------------------------------------------"; \
@@ -370,7 +370,7 @@ lint:
lint_fix:
. $(VENVNAME)/bin/activate; \
- git diff $(MASTER_BRANCH) --name-only --diff-filter AMR | xargs isort && \
+ git diff $(MASTER_BRANCH) --name-only --diff-filter AMR | grep -v "^docs/" | xargs isort && \
echo "--- isort inplace fixing done. ---;"
test_no_lint:
diff --git a/docs/Makefile b/docs/Makefile
new file mode 100644
index 0000000000..54f790ee6c
--- /dev/null
+++ b/docs/Makefile
@@ -0,0 +1,31 @@
+SPHINXOPTS =
+SPHINXBUILD = sphinx-build
+SPHINXAUTOBUILD = sphinx-autobuild
+SPHINXPROJ = Leapp repository
+SOURCEDIR = source
+BUILDDIR = build
+
+all: clean html
+
+help:
+ @source venv/bin/activate && \
+ $(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
+livehtml:
+ @source venv/bin/activate && \
+ $(SPHINXAUTOBUILD) --watch ../repos --watch ../commands "$(SOURCEDIR)" "$(BUILDDIR)/html" $(SPHINXOPTS) $(0)
+
+# Prepare virtualenv similar to the environment used during build on Read The Docs and install required packages
+env:
+ @PY_VER=$$(sed -n -e 's/^\s*python:\s"\(.*\)"/\1/p' ../.readthedocs.yaml); \
+ rm -fr ./venv; \
+ virtualenv venv --python=python$$PY_VER && \
+ source venv/bin/activate && \
+ pip install -r requirements-docs.txt;
+
+# Catch-all target: route all unknown targets to Sphinx using the new
+# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
+%: Makefile
+ @source venv/bin/activate && \
+ $(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
+
+.PHONY: all help Makefile env
diff --git a/docs/requirements-docs.txt b/docs/requirements-docs.txt
new file mode 100644
index 0000000000..0922306e87
--- /dev/null
+++ b/docs/requirements-docs.txt
@@ -0,0 +1,7 @@
+sphinx==7.2.6
+sphinx_rtd_theme
+sphinxcontrib-jquery
+docutils
+CommonMark
+myst-parser
+sphinx-autobuild
diff --git a/docs/source/_static/css/asciinema-player.css b/docs/source/_static/css/asciinema-player.css
new file mode 100644
index 0000000000..8d77df46e6
--- /dev/null
+++ b/docs/source/_static/css/asciinema-player.css
@@ -0,0 +1,2563 @@
+.asciinema-player-wrapper {
+ position: relative;
+ text-align: center;
+ outline: none;
+}
+.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%;
+ height: 100%;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-justify-content: center;
+ justify-content: center;
+ -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%;
+ height: 100%;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-justify-content: center;
+ justify-content: center;
+ -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%;
+ height: 100%;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-justify-content: center;
+ justify-content: center;
+ -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%;
+ height: 100%;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-justify-content: center;
+ justify-content: center;
+ -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%;
+}
+.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.5em;
+ font-family: Consolas, Menlo, 'Bitstream Vera Sans Mono', monospace, 'Powerline Symbols';
+ line-height: 1.3333333333em;
+}
+.asciinema-terminal .line {
+ letter-spacing: normal;
+ overflow: hidden;
+ height: 1.3333333333em;
+}
+.asciinema-terminal .line span {
+ padding: 0;
+ display: inline-block;
+ height: 1.3333333333em;
+}
+.asciinema-terminal .line {
+ display: block;
+ width: 200%;
+}
+.asciinema-terminal .bright {
+ font-weight: bold;
+}
+.asciinema-terminal .underline {
+ text-decoration: underline;
+}
+.asciinema-terminal .italic {
+ font-style: italic;
+}
+.asciinema-terminal.font-small {
+ font-size: 12px;
+}
+.asciinema-terminal.font-medium {
+ font-size: 18px;
+}
+.asciinema-terminal.font-big {
+ font-size: 24px;
+}
+.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: #bbbbbb;
+ box-sizing: content-box;
+ line-height: 1;
+ position: absolute;
+ bottom: -35px;
+ left: 0;
+ transition: bottom 0.15s linear;
+}
+.asciinema-player .control-bar * {
+ box-sizing: inherit;
+ font-size: 0;
+}
+.asciinema-player .control-bar svg.icon path {
+ fill: #bbbbbb;
+}
+.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: pointer;
+ 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: #bbbbbb;
+ border-radius: 3px;
+}
+.asciinema-player .control-bar.live .progressbar .bar {
+ cursor: default;
+}
+.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 {
+ bottom: 0px;
+}
+.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: 32px;
+ background-color: rgba(0, 0, 0, 0.5);
+}
+.asciinema-player .start-prompt {
+ z-index: 10;
+ background-repeat: no-repeat;
+ background-position: center;
+ position: absolute;
+ top: 0;
+ left: 0;
+ right: 0;
+ bottom: 32px;
+ z-index: 20;
+ cursor: pointer;
+}
+.asciinema-player .start-prompt .play-button {
+ font-size: 0px;
+}
+.asciinema-player .start-prompt .play-button {
+ position: absolute;
+ left: 0;
+ top: 0;
+ right: 0;
+ bottom: 0;
+ text-align: center;
+ color: white;
+ display: table;
+ width: 100%;
+ height: 100%;
+}
+.asciinema-player .start-prompt .play-button div {
+ vertical-align: middle;
+ display: table-cell;
+}
+.asciinema-player .start-prompt .play-button div span {
+ width: 96px;
+ height: 96px;
+ display: inline-block;
+}
+@-webkit-keyframes expand {
+ 0% {
+ -webkit-transform: scale(0);
+ }
+ 50% {
+ -webkit-transform: scale(1);
+ }
+ 100% {
+ z-index: 1;
+ }
+}
+@-moz-keyframes expand {
+ 0% {
+ -moz-transform: scale(0);
+ }
+ 50% {
+ -moz-transform: scale(1);
+ }
+ 100% {
+ z-index: 1;
+ }
+}
+@-o-keyframes expand {
+ 0% {
+ -o-transform: scale(0);
+ }
+ 50% {
+ -o-transform: scale(1);
+ }
+ 100% {
+ z-index: 1;
+ }
+}
+@keyframes expand {
+ 0% {
+ transform: scale(0);
+ }
+ 50% {
+ transform: scale(1);
+ }
+ 100% {
+ z-index: 1;
+ }
+}
+.loader {
+ position: absolute;
+ left: 50%;
+ top: 50%;
+ margin: -20px 0 0 -20px;
+ background-color: white;
+ border-radius: 50%;
+ box-shadow: 0 0 0 6.66667px #141414;
+ width: 40px;
+ height: 40px;
+}
+.loader:before,
+.loader:after {
+ content: "";
+ position: absolute;
+ left: 50%;
+ top: 50%;
+ display: block;
+ margin: -21px 0 0 -21px;
+ border-radius: 50%;
+ z-index: 2;
+ width: 42px;
+ height: 42px;
+}
+.loader:before {
+ background-color: #141414;
+ -webkit-animation: expand 1.6s linear infinite both;
+ -moz-animation: expand 1.6s linear infinite both;
+ animation: expand 1.6s linear infinite both;
+}
+.loader:after {
+ background-color: white;
+ -webkit-animation: expand 1.6s linear 0.8s infinite both;
+ -moz-animation: expand 1.6s linear 0.8s infinite both;
+ animation: expand 1.6s linear 0.8s infinite both;
+}
+.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 .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: #000000;
+}
+.asciinema-theme-asciinema .bg-0 {
+ background-color: #000000;
+}
+.asciinema-theme-asciinema .fg-1 {
+ color: #dd3c69;
+}
+.asciinema-theme-asciinema .bg-1 {
+ background-color: #dd3c69;
+}
+.asciinema-theme-asciinema .fg-2 {
+ color: #4ebf22;
+}
+.asciinema-theme-asciinema .bg-2 {
+ background-color: #4ebf22;
+}
+.asciinema-theme-asciinema .fg-3 {
+ color: #ddaf3c;
+}
+.asciinema-theme-asciinema .bg-3 {
+ background-color: #ddaf3c;
+}
+.asciinema-theme-asciinema .fg-4 {
+ color: #26b0d7;
+}
+.asciinema-theme-asciinema .bg-4 {
+ background-color: #26b0d7;
+}
+.asciinema-theme-asciinema .fg-5 {
+ color: #b954e1;
+}
+.asciinema-theme-asciinema .bg-5 {
+ background-color: #b954e1;
+}
+.asciinema-theme-asciinema .fg-6 {
+ color: #54e1b9;
+}
+.asciinema-theme-asciinema .bg-6 {
+ background-color: #54e1b9;
+}
+.asciinema-theme-asciinema .fg-7 {
+ color: #d9d9d9;
+}
+.asciinema-theme-asciinema .bg-7 {
+ background-color: #d9d9d9;
+}
+.asciinema-theme-asciinema .fg-8 {
+ color: #4d4d4d;
+}
+.asciinema-theme-asciinema .bg-8 {
+ background-color: #4d4d4d;
+}
+.asciinema-theme-asciinema .fg-9 {
+ color: #dd3c69;
+}
+.asciinema-theme-asciinema .bg-9 {
+ background-color: #dd3c69;
+}
+.asciinema-theme-asciinema .fg-10 {
+ color: #4ebf22;
+}
+.asciinema-theme-asciinema .bg-10 {
+ background-color: #4ebf22;
+}
+.asciinema-theme-asciinema .fg-11 {
+ color: #ddaf3c;
+}
+.asciinema-theme-asciinema .bg-11 {
+ background-color: #ddaf3c;
+}
+.asciinema-theme-asciinema .fg-12 {
+ color: #26b0d7;
+}
+.asciinema-theme-asciinema .bg-12 {
+ background-color: #26b0d7;
+}
+.asciinema-theme-asciinema .fg-13 {
+ color: #b954e1;
+}
+.asciinema-theme-asciinema .bg-13 {
+ background-color: #b954e1;
+}
+.asciinema-theme-asciinema .fg-14 {
+ color: #54e1b9;
+}
+.asciinema-theme-asciinema .bg-14 {
+ background-color: #54e1b9;
+}
+.asciinema-theme-asciinema .fg-15 {
+ color: #ffffff;
+}
+.asciinema-theme-asciinema .bg-15 {
+ background-color: #ffffff;
+}
+.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 .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 .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 .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-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 .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;
+}
diff --git a/docs/source/_static/css/custom.css b/docs/source/_static/css/custom.css
new file mode 100644
index 0000000000..7dbe53f9cf
--- /dev/null
+++ b/docs/source/_static/css/custom.css
@@ -0,0 +1,4 @@
+@font-face {
+ font-family: 'Powerline Symbols';
+ src: local('Powerline Symbols'), local('PowerlineSymbols'), url('../fonts/PowerlineSymbols.otf') format('opentype');
+}
diff --git a/docs/source/_static/fonts/fonts/PowerlineSymbols.otf b/docs/source/_static/fonts/fonts/PowerlineSymbols.otf
new file mode 100644
index 0000000000..b1582afb39
Binary files /dev/null and b/docs/source/_static/fonts/fonts/PowerlineSymbols.otf differ
diff --git a/docs/source/_static/images/inplace-upgrade-workflow.svg b/docs/source/_static/images/inplace-upgrade-workflow.svg
new file mode 100644
index 0000000000..d4704497fb
--- /dev/null
+++ b/docs/source/_static/images/inplace-upgrade-workflow.svg
@@ -0,0 +1,2578 @@
+
+
diff --git a/docs/source/_static/js/asciinema-player.js b/docs/source/_static/js/asciinema-player.js
new file mode 100644
index 0000000000..5ad47e08b9
--- /dev/null
+++ b/docs/source/_static/js/asciinema-player.js
@@ -0,0 +1,1213 @@
+/**
+ * asciinema-player v2.6.1
+ *
+ * Copyright 2011-2018, Marcin Kulik
+ *
+ */
+
+// CustomEvent polyfill from MDN (https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent/CustomEvent)
+
+(function () {
+ if (typeof window.CustomEvent === "function") return false;
+
+ function CustomEvent ( event, params ) {
+ params = params || { bubbles: false, cancelable: false, detail: undefined };
+ var evt = document.createEvent( 'CustomEvent');
+ evt.initCustomEvent(event, params.bubbles, params.cancelable, params.detail);
+ return evt;
+ }
+
+ CustomEvent.prototype = window.Event.prototype;
+
+ window.CustomEvent = CustomEvent;
+})();
+
+/**
+ * @license
+ * Copyright (c) 2014 The Polymer Project Authors. All rights reserved.
+ * This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
+ * The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
+ * The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
+ * Code distributed by Google as part of the polymer project is also
+ * subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
+ */
+// @version 0.7.22
+"undefined"==typeof WeakMap&&!function(){var e=Object.defineProperty,t=Date.now()%1e9,n=function(){this.name="__st"+(1e9*Math.random()>>>0)+(t++ +"__")};n.prototype={set:function(t,n){var o=t[this.name];return o&&o[0]===t?o[1]=n:e(t,this.name,{value:[t,n],writable:!0}),this},get:function(e){var t;return(t=e[this.name])&&t[0]===e?t[1]:void 0},"delete":function(e){var t=e[this.name];return t&&t[0]===e?(t[0]=t[1]=void 0,!0):!1},has:function(e){var t=e[this.name];return t?t[0]===e:!1}},window.WeakMap=n}(),function(e){function t(e){E.push(e),b||(b=!0,w(o))}function n(e){return window.ShadowDOMPolyfill&&window.ShadowDOMPolyfill.wrapIfNeeded(e)||e}function o(){b=!1;var e=E;E=[],e.sort(function(e,t){return e.uid_-t.uid_});var t=!1;e.forEach(function(e){var n=e.takeRecords();r(e),n.length&&(e.callback_(n,e),t=!0)}),t&&o()}function r(e){e.nodes_.forEach(function(t){var n=v.get(t);n&&n.forEach(function(t){t.observer===e&&t.removeTransientObservers()})})}function i(e,t){for(var n=e;n;n=n.parentNode){var o=v.get(n);if(o)for(var r=0;r0){var r=n[o-1],i=p(r,e);if(i)return void(n[o-1]=i)}else t(this.observer);n[o]=e},addListeners:function(){this.addListeners_(this.target)},addListeners_:function(e){var t=this.options;t.attributes&&e.addEventListener("DOMAttrModified",this,!0),t.characterData&&e.addEventListener("DOMCharacterDataModified",this,!0),t.childList&&e.addEventListener("DOMNodeInserted",this,!0),(t.childList||t.subtree)&&e.addEventListener("DOMNodeRemoved",this,!0)},removeListeners:function(){this.removeListeners_(this.target)},removeListeners_:function(e){var t=this.options;t.attributes&&e.removeEventListener("DOMAttrModified",this,!0),t.characterData&&e.removeEventListener("DOMCharacterDataModified",this,!0),t.childList&&e.removeEventListener("DOMNodeInserted",this,!0),(t.childList||t.subtree)&&e.removeEventListener("DOMNodeRemoved",this,!0)},addTransientObserver:function(e){if(e!==this.target){this.addListeners_(e),this.transientObservedNodes.push(e);var t=v.get(e);t||v.set(e,t=[]),t.push(this)}},removeTransientObservers:function(){var e=this.transientObservedNodes;this.transientObservedNodes=[],e.forEach(function(e){this.removeListeners_(e);for(var t=v.get(e),n=0;n=0)){n.push(e);for(var o,r=e.querySelectorAll("link[rel="+a+"]"),d=0,s=r.length;s>d&&(o=r[d]);d++)o["import"]&&i(o["import"],t,n);t(e)}}var a=window.HTMLImports?window.HTMLImports.IMPORT_LINK_TYPE:"none";e.forDocumentTree=r,e.forSubtree=t}),window.CustomElements.addModule(function(e){function t(e,t){return n(e,t)||o(e,t)}function n(t,n){return e.upgrade(t,n)?!0:void(n&&a(t))}function o(e,t){b(e,function(e){return n(e,t)?!0:void 0})}function r(e){N.push(e),y||(y=!0,setTimeout(i))}function i(){y=!1;for(var e,t=N,n=0,o=t.length;o>n&&(e=t[n]);n++)e();N=[]}function a(e){_?r(function(){d(e)}):d(e)}function d(e){e.__upgraded__&&!e.__attached&&(e.__attached=!0,e.attachedCallback&&e.attachedCallback())}function s(e){u(e),b(e,function(e){u(e)})}function u(e){_?r(function(){c(e)}):c(e)}function c(e){e.__upgraded__&&e.__attached&&(e.__attached=!1,e.detachedCallback&&e.detachedCallback())}function l(e){for(var t=e,n=window.wrap(document);t;){if(t==n)return!0;t=t.parentNode||t.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&t.host}}function f(e){if(e.shadowRoot&&!e.shadowRoot.__watched){g.dom&&console.log("watching shadow-root for: ",e.localName);for(var t=e.shadowRoot;t;)w(t),t=t.olderShadowRoot}}function p(e,n){if(g.dom){var o=n[0];if(o&&"childList"===o.type&&o.addedNodes&&o.addedNodes){for(var r=o.addedNodes[0];r&&r!==document&&!r.host;)r=r.parentNode;var i=r&&(r.URL||r._URL||r.host&&r.host.localName)||"";i=i.split("/?").shift().split("/").pop()}console.group("mutations (%d) [%s]",n.length,i||"")}var a=l(e);n.forEach(function(e){"childList"===e.type&&(M(e.addedNodes,function(e){e.localName&&t(e,a)}),M(e.removedNodes,function(e){e.localName&&s(e)}))}),g.dom&&console.groupEnd()}function m(e){for(e=window.wrap(e),e||(e=window.wrap(document));e.parentNode;)e=e.parentNode;var t=e.__observer;t&&(p(e,t.takeRecords()),i())}function w(e){if(!e.__observer){var t=new MutationObserver(p.bind(this,e));t.observe(e,{childList:!0,subtree:!0}),e.__observer=t}}function v(e){e=window.wrap(e),g.dom&&console.group("upgradeDocument: ",e.baseURI.split("/").pop());var n=e===window.wrap(document);t(e,n),w(e),g.dom&&console.groupEnd()}function h(e){E(e,v)}var g=e.flags,b=e.forSubtree,E=e.forDocumentTree,_=window.MutationObserver._isPolyfilled&&g["throttle-attached"];e.hasPolyfillMutations=_,e.hasThrottledAttached=_;var y=!1,N=[],M=Array.prototype.forEach.call.bind(Array.prototype.forEach),O=Element.prototype.createShadowRoot;O&&(Element.prototype.createShadowRoot=function(){var e=O.call(this);return window.CustomElements.watchShadow(this),e}),e.watchShadow=f,e.upgradeDocumentTree=h,e.upgradeDocument=v,e.upgradeSubtree=o,e.upgradeAll=t,e.attached=a,e.takeRecords=m}),window.CustomElements.addModule(function(e){function t(t,o){if("template"===t.localName&&window.HTMLTemplateElement&&HTMLTemplateElement.decorate&&HTMLTemplateElement.decorate(t),!t.__upgraded__&&t.nodeType===Node.ELEMENT_NODE){var r=t.getAttribute("is"),i=e.getRegisteredDefinition(t.localName)||e.getRegisteredDefinition(r);if(i&&(r&&i.tag==t.localName||!r&&!i["extends"]))return n(t,i,o)}}function n(t,n,r){return a.upgrade&&console.group("upgrade:",t.localName),n.is&&t.setAttribute("is",n.is),o(t,n),t.__upgraded__=!0,i(t),r&&e.attached(t),e.upgradeSubtree(t,r),a.upgrade&&console.groupEnd(),t}function o(e,t){Object.__proto__?e.__proto__=t.prototype:(r(e,t.prototype,t["native"]),e.__proto__=t.prototype)}function r(e,t,n){for(var o={},r=t;r!==n&&r!==HTMLElement.prototype;){for(var i,a=Object.getOwnPropertyNames(r),d=0;i=a[d];d++)o[i]||(Object.defineProperty(e,i,Object.getOwnPropertyDescriptor(r,i)),o[i]=1);r=Object.getPrototypeOf(r)}}function i(e){e.createdCallback&&e.createdCallback()}var a=e.flags;e.upgrade=t,e.upgradeWithDefinition=n,e.implementPrototype=o}),window.CustomElements.addModule(function(e){function t(t,o){var s=o||{};if(!t)throw new Error("document.registerElement: first argument `name` must not be empty");if(t.indexOf("-")<0)throw new Error("document.registerElement: first argument ('name') must contain a dash ('-'). Argument provided was '"+String(t)+"'.");if(r(t))throw new Error("Failed to execute 'registerElement' on 'Document': Registration failed for type '"+String(t)+"'. The type name is invalid.");if(u(t))throw new Error("DuplicateDefinitionError: a type with name '"+String(t)+"' is already registered");return s.prototype||(s.prototype=Object.create(HTMLElement.prototype)),s.__name=t.toLowerCase(),s["extends"]&&(s["extends"]=s["extends"].toLowerCase()),s.lifecycle=s.lifecycle||{},s.ancestry=i(s["extends"]),a(s),d(s),n(s.prototype),c(s.__name,s),s.ctor=l(s),s.ctor.prototype=s.prototype,s.prototype.constructor=s.ctor,e.ready&&v(document),s.ctor}function n(e){if(!e.setAttribute._polyfilled){var t=e.setAttribute;e.setAttribute=function(e,n){o.call(this,e,n,t)};var n=e.removeAttribute;e.removeAttribute=function(e){o.call(this,e,null,n)},e.setAttribute._polyfilled=!0}}function o(e,t,n){e=e.toLowerCase();var o=this.getAttribute(e);n.apply(this,arguments);var r=this.getAttribute(e);this.attributeChangedCallback&&r!==o&&this.attributeChangedCallback(e,o,r)}function r(e){for(var t=0;t<_.length;t++)if(e===_[t])return!0}function i(e){var t=u(e);return t?i(t["extends"]).concat([t]):[]}function a(e){for(var t,n=e["extends"],o=0;t=e.ancestry[o];o++)n=t.is&&t.tag;e.tag=n||e.__name,n&&(e.is=e.__name)}function d(e){if(!Object.__proto__){var t=HTMLElement.prototype;if(e.is){var n=document.createElement(e.tag);t=Object.getPrototypeOf(n)}for(var o,r=e.prototype,i=!1;r;)r==t&&(i=!0),o=Object.getPrototypeOf(r),o&&(r.__proto__=o),r=o;i||console.warn(e.tag+" prototype not found in prototype chain for "+e.is),e["native"]=t}}function s(e){return g(M(e.tag),e)}function u(e){return e?y[e.toLowerCase()]:void 0}function c(e,t){y[e]=t}function l(e){return function(){return s(e)}}function f(e,t,n){return e===N?p(t,n):O(e,t)}function p(e,t){e&&(e=e.toLowerCase()),t&&(t=t.toLowerCase());var n=u(t||e);if(n){if(e==n.tag&&t==n.is)return new n.ctor;if(!t&&!n.is)return new n.ctor}var o;return t?(o=p(e),o.setAttribute("is",t),o):(o=M(e),e.indexOf("-")>=0&&b(o,HTMLElement),o)}function m(e,t){var n=e[t];e[t]=function(){var e=n.apply(this,arguments);return h(e),e}}var w,v=(e.isIE,e.upgradeDocumentTree),h=e.upgradeAll,g=e.upgradeWithDefinition,b=e.implementPrototype,E=e.useNative,_=["annotation-xml","color-profile","font-face","font-face-src","font-face-uri","font-face-format","font-face-name","missing-glyph"],y={},N="http://www.w3.org/1999/xhtml",M=document.createElement.bind(document),O=document.createElementNS.bind(document);w=Object.__proto__||E?function(e,t){return e instanceof t}:function(e,t){if(e instanceof t)return!0;for(var n=e;n;){if(n===t.prototype)return!0;n=n.__proto__}return!1},m(Node.prototype,"cloneNode"),m(document,"importNode"),document.registerElement=t,document.createElement=p,document.createElementNS=f,e.registry=y,e["instanceof"]=w,e.reservedTagList=_,e.getRegisteredDefinition=u,document.register=document.registerElement}),function(e){function t(){i(window.wrap(document)),window.CustomElements.ready=!0;var e=window.requestAnimationFrame||function(e){setTimeout(e,16)};e(function(){setTimeout(function(){window.CustomElements.readyTime=Date.now(),window.HTMLImports&&(window.CustomElements.elapsed=window.CustomElements.readyTime-window.HTMLImports.readyTime),document.dispatchEvent(new CustomEvent("WebComponentsReady",{bubbles:!0}))})})}var n=e.useNative,o=e.initializeModules;e.isIE;if(n){var r=function(){};e.watchShadow=r,e.upgrade=r,e.upgradeAll=r,e.upgradeDocumentTree=r,e.upgradeSubtree=r,e.takeRecords=r,e["instanceof"]=function(e,t){return e instanceof t}}else o();var i=e.upgradeDocumentTree,a=e.upgradeDocument;if(window.wrap||(window.ShadowDOMPolyfill?(window.wrap=window.ShadowDOMPolyfill.wrapIfNeeded,window.unwrap=window.ShadowDOMPolyfill.unwrapIfNeeded):window.wrap=window.unwrap=function(e){return e}),window.HTMLImports&&(window.HTMLImports.__importsParsingHook=function(e){e["import"]&&a(wrap(e["import"]))}),"complete"===document.readyState||e.flags.eager)t();else if("interactive"!==document.readyState||window.attachEvent||window.HTMLImports&&!window.HTMLImports.ready){var d=window.HTMLImports&&!window.HTMLImports.ready?"HTMLImportsLoaded":"DOMContentLoaded";window.addEventListener(d,t)}else t()}(window.CustomElements);
+if(typeof Math.imul == "undefined" || (Math.imul(0xffffffff,5) == 0)) {
+ Math.imul = function (a, b) {
+ var ah = (a >>> 16) & 0xffff;
+ var al = a & 0xffff;
+ var bh = (b >>> 16) & 0xffff;
+ var bl = b & 0xffff;
+ // the shift by 0 fixes the sign on the high part
+ // the final |0 converts the unsigned value into a signed value
+ return ((al * bl) + (((ah * bl + al * bh) << 16) >>> 0)|0);
+ }
+}
+
+/**
+ * React v15.5.4
+ *
+ * Copyright 2013-present, Facebook, Inc.
+ * All rights reserved.
+ *
+ * This source code is licensed under the BSD-style license found in the
+ * LICENSE file in the root directory of this source tree. An additional grant
+ * of patent rights can be found in the PATENTS file in the same directory.
+ *
+ */
+!function(t){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var e;e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,e.React=t()}}(function(){return function t(e,n,r){function o(u,a){if(!n[u]){if(!e[u]){var s="function"==typeof require&&require;if(!a&&s)return s(u,!0);if(i)return i(u,!0);var c=new Error("Cannot find module '"+u+"'");throw c.code="MODULE_NOT_FOUND",c}var l=n[u]={exports:{}};e[u][0].call(l.exports,function(t){var n=e[u][1][t];return o(n||t)},l,l.exports,t,e,n,r)}return n[u].exports}for(var i="function"==typeof require&&require,u=0;u1){for(var y=Array(d),h=0;h1){for(var m=Array(v),b=0;b>",N={array:l("array"),bool:l("boolean"),func:l("function"),number:l("number"),object:l("object"),string:l("string"),symbol:l("symbol"),any:function(){return c(r.thatReturnsNull)}(),arrayOf:f,element:function(){function e(e,n,r,o,i){var u=e[n];if(!t(u)){return new s("Invalid "+o+" `"+i+"` of type `"+g(u)+"` supplied to `"+r+"`, expected a single ReactElement.")}return null}return c(e)}(),instanceOf:p,node:function(){function t(t,e,n,r,o){return m(t[e])?null:new s("Invalid "+r+" `"+o+"` supplied to `"+n+"`, expected a ReactNode.")}return c(t)}(),objectOf:y,oneOf:d,oneOfType:h,shape:v};return s.prototype=Error.prototype,N.checkPropTypes=u,N.PropTypes=N,N}},{22:22,24:24,25:25,27:27,30:30}],30:[function(t,e,n){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},{}]},{},[15])(15)});
+!function(f){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=f();else if("function"==typeof define&&define.amd)define([],f);else{var g;if(g="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,void 0===g.React)throw Error("React module should be required before createClass");g.createReactClass=f()}}(function(){return function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a="function"==typeof require&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n||e)},l,l.exports,e,t,n,r)}return n[o].exports}for(var i="function"==typeof require&&require,o=0;o8&&C<=11),x=32,w=String.fromCharCode(x),T={beforeInput:{phasedRegistrationNames:{bubbled:"onBeforeInput",captured:"onBeforeInputCapture"},dependencies:["topCompositionEnd","topKeyPress","topTextInput","topPaste"]},compositionEnd:{phasedRegistrationNames:{bubbled:"onCompositionEnd",captured:"onCompositionEndCapture"},dependencies:["topBlur","topCompositionEnd","topKeyDown","topKeyPress","topKeyUp","topMouseDown"]},compositionStart:{phasedRegistrationNames:{bubbled:"onCompositionStart",captured:"onCompositionStartCapture"},dependencies:["topBlur","topCompositionStart","topKeyDown","topKeyPress","topKeyUp","topMouseDown"]},compositionUpdate:{phasedRegistrationNames:{bubbled:"onCompositionUpdate",captured:"onCompositionUpdateCapture"},dependencies:["topBlur","topCompositionUpdate","topKeyDown","topKeyPress","topKeyUp","topMouseDown"]}},k=!1,P=null,S={eventTypes:T,extractEvents:function(e,t,n,r){return[u(e,t,n,r),p(e,t,n,r)]}};t.exports=S},{123:123,19:19,20:20,78:78,82:82}],4:[function(e,t,n){"use strict";function r(e,t){return e+t.charAt(0).toUpperCase()+t.substring(1)}var o={animationIterationCount:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridRow:!0,gridColumn:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},i=["Webkit","ms","Moz","O"];Object.keys(o).forEach(function(e){i.forEach(function(t){o[r(t,e)]=o[e]})});var a={background:{backgroundAttachment:!0,backgroundColor:!0,backgroundImage:!0,backgroundPositionX:!0,backgroundPositionY:!0,backgroundRepeat:!0},backgroundPosition:{backgroundPositionX:!0,backgroundPositionY:!0},border:{borderWidth:!0,borderStyle:!0,borderColor:!0},borderBottom:{borderBottomWidth:!0,borderBottomStyle:!0,borderBottomColor:!0},borderLeft:{borderLeftWidth:!0,borderLeftStyle:!0,borderLeftColor:!0},borderRight:{borderRightWidth:!0,borderRightStyle:!0,borderRightColor:!0},borderTop:{borderTopWidth:!0,borderTopStyle:!0,borderTopColor:!0},font:{fontStyle:!0,fontVariant:!0,fontWeight:!0,fontSize:!0,lineHeight:!0,fontFamily:!0},outline:{outlineWidth:!0,outlineStyle:!0,outlineColor:!0}},s={isUnitlessNumber:o,shorthandPropertyExpansions:a};t.exports=s},{}],5:[function(e,t,n){"use strict";var r=e(4),o=e(123),i=(e(58),e(125),e(94)),a=e(136),s=e(140),u=(e(142),s(function(e){return a(e)})),l=!1,c="cssFloat";if(o.canUseDOM){var p=document.createElement("div").style;try{p.font=""}catch(e){l=!0}void 0===document.documentElement.style.cssFloat&&(c="styleFloat")}var d={createMarkupForStyles:function(e,t){var n="";for(var r in e)if(e.hasOwnProperty(r)){var o=e[r];null!=o&&(n+=u(r)+":",n+=i(r,o,t)+";")}return n||null},setValueForStyles:function(e,t,n){var o=e.style;for(var a in t)if(t.hasOwnProperty(a)){var s=i(a,t[a],n);if("float"!==a&&"cssFloat"!==a||(a=c),s)o[a]=s;else{var u=l&&r.shorthandPropertyExpansions[a];if(u)for(var p in u)o[p]="";else o[a]=""}}}};t.exports=d},{123:123,125:125,136:136,140:140,142:142,4:4,58:58,94:94}],6:[function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=e(112),i=e(24),a=(e(137),function(){function e(t){r(this,e),this._callbacks=null,this._contexts=null,this._arg=t}return e.prototype.enqueue=function(e,t){this._callbacks=this._callbacks||[],this._callbacks.push(e),this._contexts=this._contexts||[],this._contexts.push(t)},e.prototype.notifyAll=function(){var e=this._callbacks,t=this._contexts,n=this._arg;if(e&&t){e.length!==t.length&&o("24"),this._callbacks=null,this._contexts=null;for(var r=0;r8));var A=!1;b.canUseDOM&&(A=k("input")&&(!document.documentMode||document.documentMode>11));var D={get:function(){return O.get.call(this)},set:function(e){I=""+e,O.set.call(this,e)}},L={eventTypes:S,extractEvents:function(e,t,n,o){var i,a,s=t?E.getNodeFromInstance(t):window;if(r(s)?R?i=u:a=l:P(s)?A?i=f:(i=m,a=h):v(s)&&(i=g),i){var c=i(e,t);if(c){var p=w.getPooled(S.change,c,n,o);return p.type="change",C.accumulateTwoPhaseDispatches(p),p}}a&&a(e,s,t),"topBlur"===e&&y(t,s)}};t.exports=L},{102:102,109:109,110:110,123:123,16:16,19:19,33:33,71:71,80:80}],8:[function(e,t,n){"use strict";function r(e,t){return Array.isArray(t)&&(t=t[1]),t?t.nextSibling:e.firstChild}function o(e,t,n){c.insertTreeBefore(e,t,n)}function i(e,t,n){Array.isArray(t)?s(e,t[0],t[1],n):m(e,t,n)}function a(e,t){if(Array.isArray(t)){var n=t[1];t=t[0],u(e,t,n),e.removeChild(n)}e.removeChild(t)}function s(e,t,n,r){for(var o=t;;){var i=o.nextSibling;if(m(e,o,r),o===n)break;o=i}}function u(e,t,n){for(;;){var r=t.nextSibling;if(r===n)break;e.removeChild(r)}}function l(e,t,n){var r=e.parentNode,o=e.nextSibling;o===t?n&&m(r,document.createTextNode(n),o):n?(h(o,n),u(r,o,t)):u(r,e,t)}var c=e(9),p=e(13),d=(e(33),e(58),e(93)),f=e(114),h=e(115),m=d(function(e,t,n){e.insertBefore(t,n)}),v=p.dangerouslyReplaceNodeWithMarkup,g={dangerouslyReplaceNodeWithMarkup:v,replaceDelimitedText:l,processUpdates:function(e,t){for(var n=0;n-1||a("96",e),!l.plugins[n]){t.extractEvents||a("97",e),l.plugins[n]=t;var r=t.eventTypes;for(var i in r)o(r[i],t,i)||a("98",i,e)}}}function o(e,t,n){l.eventNameDispatchConfigs.hasOwnProperty(n)&&a("99",n),l.eventNameDispatchConfigs[n]=e;var r=e.phasedRegistrationNames;if(r){for(var o in r)if(r.hasOwnProperty(o)){var s=r[o];i(s,t,n)}return!0}return!!e.registrationName&&(i(e.registrationName,t,n),!0)}function i(e,t,n){l.registrationNameModules[e]&&a("100",e),l.registrationNameModules[e]=t,l.registrationNameDependencies[e]=t.eventTypes[n].dependencies}var a=e(112),s=(e(137),null),u={},l={plugins:[],eventNameDispatchConfigs:{},registrationNameModules:{},registrationNameDependencies:{},possibleRegistrationNames:null,injectEventPluginOrder:function(e){s&&a("101"),s=Array.prototype.slice.call(e),r()},injectEventPluginsByName:function(e){var t=!1;for(var n in e)if(e.hasOwnProperty(n)){var o=e[n];u.hasOwnProperty(n)&&u[n]===o||(u[n]&&a("102",n),u[n]=o,t=!0)}t&&r()},getPluginModuleForEvent:function(e){var t=e.dispatchConfig;if(t.registrationName)return l.registrationNameModules[t.registrationName]||null;if(void 0!==t.phasedRegistrationNames){var n=t.phasedRegistrationNames;for(var r in n)if(n.hasOwnProperty(r)){var o=l.registrationNameModules[n[r]];if(o)return o}}return null},_resetEventPlugins:function(){s=null;for(var e in u)u.hasOwnProperty(e)&&delete u[e];l.plugins.length=0;var t=l.eventNameDispatchConfigs;for(var n in t)t.hasOwnProperty(n)&&delete t[n];var r=l.registrationNameModules;for(var o in r)r.hasOwnProperty(o)&&delete r[o]}};t.exports=l},{112:112,137:137}],18:[function(e,t,n){"use strict";function r(e){return"topMouseUp"===e||"topTouchEnd"===e||"topTouchCancel"===e}function o(e){return"topMouseMove"===e||"topTouchMove"===e}function i(e){return"topMouseDown"===e||"topTouchStart"===e}function a(e,t,n,r){var o=e.type||"unknown-event";e.currentTarget=g.getNodeFromInstance(r),t?m.invokeGuardedCallbackWithCatch(o,n,e):m.invokeGuardedCallback(o,n,e),e.currentTarget=null}function s(e,t){var n=e._dispatchListeners,r=e._dispatchInstances;if(Array.isArray(n))for(var o=0;o1?1-t:void 0;return this._fallbackText=o.slice(e,s),this._fallbackText}}),i.addPoolingTo(r),t.exports=r},{106:106,143:143,24:24}],21:[function(e,t,n){"use strict";var r=e(11),o=r.injection.MUST_USE_PROPERTY,i=r.injection.HAS_BOOLEAN_VALUE,a=r.injection.HAS_NUMERIC_VALUE,s=r.injection.HAS_POSITIVE_NUMERIC_VALUE,u=r.injection.HAS_OVERLOADED_BOOLEAN_VALUE,l={isCustomAttribute:RegExp.prototype.test.bind(new RegExp("^(data|aria)-["+r.ATTRIBUTE_NAME_CHAR+"]*$")),Properties:{accept:0,acceptCharset:0,accessKey:0,action:0,allowFullScreen:i,allowTransparency:0,alt:0,as:0,async:i,autoComplete:0,autoPlay:i,capture:i,cellPadding:0,cellSpacing:0,charSet:0,challenge:0,checked:o|i,cite:0,classID:0,className:0,cols:s,colSpan:0,content:0,contentEditable:0,contextMenu:0,controls:i,coords:0,crossOrigin:0,data:0,dateTime:0,default:i,defer:i,dir:0,disabled:i,download:u,draggable:0,encType:0,form:0,formAction:0,formEncType:0,formMethod:0,formNoValidate:i,formTarget:0,frameBorder:0,headers:0,height:0,hidden:i,high:0,href:0,hrefLang:0,htmlFor:0,httpEquiv:0,icon:0,id:0,inputMode:0,integrity:0,is:0,keyParams:0,keyType:0,kind:0,label:0,lang:0,list:0,loop:i,low:0,manifest:0,marginHeight:0,marginWidth:0,max:0,maxLength:0,media:0,mediaGroup:0,method:0,min:0,minLength:0,multiple:o|i,muted:o|i,name:0,nonce:0,noValidate:i,open:i,optimum:0,pattern:0,placeholder:0,playsInline:i,poster:0,preload:0,profile:0,radioGroup:0,readOnly:i,referrerPolicy:0,rel:0,required:i,reversed:i,role:0,rows:s,rowSpan:a,sandbox:0,scope:0,scoped:i,scrolling:0,seamless:i,selected:o|i,shape:0,size:s,sizes:0,span:s,spellCheck:0,src:0,srcDoc:0,srcLang:0,srcSet:0,start:a,step:0,style:0,summary:0,tabIndex:0,target:0,title:0,type:0,useMap:0,value:0,width:0,wmode:0,wrap:0,about:0,datatype:0,inlist:0,prefix:0,property:0,resource:0,typeof:0,vocab:0,autoCapitalize:0,autoCorrect:0,autoSave:0,color:0,itemProp:0,itemScope:i,itemType:0,itemID:0,itemRef:0,results:0,security:0,unselectable:0},DOMAttributeNames:{acceptCharset:"accept-charset",className:"class",htmlFor:"for",httpEquiv:"http-equiv"},DOMPropertyNames:{},DOMMutationMethods:{value:function(e,t){if(null==t)return e.removeAttribute("value");"number"!==e.type||!1===e.hasAttribute("value")?e.setAttribute("value",""+t):e.validity&&!e.validity.badInput&&e.ownerDocument.activeElement!==e&&e.setAttribute("value",""+t)}}};t.exports=l},{11:11}],22:[function(e,t,n){"use strict";function r(e){var t={"=":"=0",":":"=2"};return"$"+(""+e).replace(/[=:]/g,function(e){return t[e]})}function o(e){var t={"=0":"=","=2":":"};return(""+("."===e[0]&&"$"===e[1]?e.substring(2):e.substring(1))).replace(/(=0|=2)/g,function(e){return t[e]})}var i={escape:r,unescape:o};t.exports=i},{}],23:[function(e,t,n){"use strict";function r(e){null!=e.checkedLink&&null!=e.valueLink&&s("87")}function o(e){r(e),(null!=e.value||null!=e.onChange)&&s("88")}function i(e){r(e),(null!=e.checked||null!=e.onChange)&&s("89")}function a(e){if(e){var t=e.getName();if(t)return" Check the render method of `"+t+"`."}return""}var s=e(112),u=e(64),l=e(145),c=e(120),p=l(c.isValidElement),d=(e(137),e(142),{button:!0,checkbox:!0,image:!0,hidden:!0,radio:!0,reset:!0,submit:!0}),f={value:function(e,t,n){return!e[t]||d[e.type]||e.onChange||e.readOnly||e.disabled?null:new Error("You provided a `value` prop to a form field without an `onChange` handler. This will render a read-only field. If the field should be mutable use `defaultValue`. Otherwise, set either `onChange` or `readOnly`.")},checked:function(e,t,n){return!e[t]||e.onChange||e.readOnly||e.disabled?null:new Error("You provided a `checked` prop to a form field without an `onChange` handler. This will render a read-only field. If the field should be mutable use `defaultChecked`. Otherwise, set either `onChange` or `readOnly`.")},onChange:p.func},h={},m={checkPropTypes:function(e,t,n){for(var r in f){if(f.hasOwnProperty(r))var o=f[r](t,r,e,"prop",null,u);o instanceof Error&&!(o.message in h)&&(h[o.message]=!0,a(n))}},getValue:function(e){return e.valueLink?(o(e),e.valueLink.value):e.value},getChecked:function(e){return e.checkedLink?(i(e),e.checkedLink.value):e.checked},executeOnChange:function(e,t){return e.valueLink?(o(e),e.valueLink.requestChange(t.target.value)):e.checkedLink?(i(e),e.checkedLink.requestChange(t.target.checked)):e.onChange?e.onChange.call(void 0,t):void 0}};t.exports=m},{112:112,120:120,137:137,142:142,145:145,64:64}],24:[function(e,t,n){"use strict";var r=e(112),o=(e(137),function(e){var t=this;if(t.instancePool.length){var n=t.instancePool.pop();return t.call(n,e),n}return new t(e)}),i=function(e,t){var n=this;if(n.instancePool.length){var r=n.instancePool.pop();return n.call(r,e,t),r}return new n(e,t)},a=function(e,t,n){var r=this;if(r.instancePool.length){var o=r.instancePool.pop();return r.call(o,e,t,n),o}return new r(e,t,n)},s=function(e,t,n,r){var o=this;if(o.instancePool.length){var i=o.instancePool.pop();return o.call(i,e,t,n,r),i}return new o(e,t,n,r)},u=function(e){var t=this;e instanceof t||r("25"),e.destructor(),t.instancePool.length=0||null!=t.is}function h(e){var t=e.type;d(t),this._currentElement=e,this._tag=t.toLowerCase(),this._namespaceURI=null,this._renderedChildren=null,this._previousStyle=null,this._previousStyleCopy=null,this._hostNode=null,this._hostParent=null,this._rootNodeID=0,this._domID=0,this._hostContainerInfo=null,this._wrapperState=null,this._topLevelWrapper=null,this._flags=0}var m=e(112),v=e(143),g=e(2),y=e(5),_=e(9),C=e(10),b=e(11),E=e(12),x=e(16),w=e(17),T=e(25),k=e(32),P=e(33),S=e(38),N=e(39),M=e(40),I=e(43),O=(e(58),e(61)),R=e(68),A=(e(129),e(95)),D=(e(137),e(109),e(141),e(118),e(142),k),L=x.deleteListener,U=P.getNodeFromInstance,F=T.listenTo,j=w.registrationNameModules,V={string:!0,number:!0},B="__html",W={children:null,dangerouslySetInnerHTML:null,suppressContentEditableWarning:null},H=11,q={topAbort:"abort",topCanPlay:"canplay",topCanPlayThrough:"canplaythrough",topDurationChange:"durationchange",topEmptied:"emptied",topEncrypted:"encrypted",topEnded:"ended",topError:"error",topLoadedData:"loadeddata",topLoadedMetadata:"loadedmetadata",topLoadStart:"loadstart",topPause:"pause",topPlay:"play",topPlaying:"playing",topProgress:"progress",topRateChange:"ratechange",topSeeked:"seeked",topSeeking:"seeking",topStalled:"stalled",topSuspend:"suspend",topTimeUpdate:"timeupdate",topVolumeChange:"volumechange",topWaiting:"waiting"},K={area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0},z={listing:!0,pre:!0,textarea:!0},Y=v({menuitem:!0},K),X=/^[a-zA-Z][a-zA-Z:_\.\-\d]*$/,Q={},G={}.hasOwnProperty,$=1;h.displayName="ReactDOMComponent",h.Mixin={mountComponent:function(e,t,n,r){this._rootNodeID=$++,this._domID=n._idCounter++,this._hostParent=t,this._hostContainerInfo=n;var i=this._currentElement.props;switch(this._tag){case"audio":case"form":case"iframe":case"img":case"link":case"object":case"source":case"video":this._wrapperState={listeners:null},e.getReactMountReady().enqueue(c,this);break;case"input":S.mountWrapper(this,i,t),i=S.getHostProps(this,i),e.getReactMountReady().enqueue(c,this);break;case"option":N.mountWrapper(this,i,t),i=N.getHostProps(this,i);break;case"select":M.mountWrapper(this,i,t),i=M.getHostProps(this,i),e.getReactMountReady().enqueue(c,this);break;case"textarea":I.mountWrapper(this,i,t),i=I.getHostProps(this,i),e.getReactMountReady().enqueue(c,this)}o(this,i);var a,p;null!=t?(a=t._namespaceURI,p=t._tag):n._tag&&(a=n._namespaceURI,p=n._tag),(null==a||a===C.svg&&"foreignobject"===p)&&(a=C.html),a===C.html&&("svg"===this._tag?a=C.svg:"math"===this._tag&&(a=C.mathml)),this._namespaceURI=a;var d;if(e.useCreateElement){var f,h=n._ownerDocument;if(a===C.html)if("script"===this._tag){var m=h.createElement("div"),v=this._currentElement.type;m.innerHTML="<"+v+">"+v+">",f=m.removeChild(m.firstChild)}else f=i.is?h.createElement(this._currentElement.type,i.is):h.createElement(this._currentElement.type);else f=h.createElementNS(a,this._currentElement.type);P.precacheNode(this,f),this._flags|=D.hasCachedChildNodes,this._hostParent||E.setAttributeForRoot(f),this._updateDOMProperties(null,i,e);var y=_(f);this._createInitialChildren(e,i,r,y),d=y}else{var b=this._createOpenTagMarkupAndPutListeners(e,i),x=this._createContentMarkup(e,i,r);d=!x&&K[this._tag]?b+"/>":b+">"+x+""+this._currentElement.type+">"}switch(this._tag){case"input":e.getReactMountReady().enqueue(s,this),i.autoFocus&&e.getReactMountReady().enqueue(g.focusDOMComponent,this);break;case"textarea":e.getReactMountReady().enqueue(u,this),i.autoFocus&&e.getReactMountReady().enqueue(g.focusDOMComponent,this);break;case"select":case"button":i.autoFocus&&e.getReactMountReady().enqueue(g.focusDOMComponent,this);break;case"option":e.getReactMountReady().enqueue(l,this)}return d},_createOpenTagMarkupAndPutListeners:function(e,t){var n="<"+this._currentElement.type;for(var r in t)if(t.hasOwnProperty(r)){var o=t[r];if(null!=o)if(j.hasOwnProperty(r))o&&i(this,r,o,e);else{"style"===r&&(o&&(o=this._previousStyleCopy=v({},t.style)),o=y.createMarkupForStyles(o,this));var a=null;null!=this._tag&&f(this._tag,t)?W.hasOwnProperty(r)||(a=E.createMarkupForCustomAttribute(r,o)):a=E.createMarkupForProperty(r,o),a&&(n+=" "+a)}}return e.renderToStaticMarkup?n:(this._hostParent||(n+=" "+E.createMarkupForRoot()),n+=" "+E.createMarkupForID(this._domID))},_createContentMarkup:function(e,t,n){var r="",o=t.dangerouslySetInnerHTML;if(null!=o)null!=o.__html&&(r=o.__html);else{var i=V[typeof t.children]?t.children:null,a=null!=i?null:t.children;if(null!=i)r=A(i);else if(null!=a){var s=this.mountChildren(a,e,n);r=s.join("")}}return z[this._tag]&&"\n"===r.charAt(0)?"\n"+r:r},_createInitialChildren:function(e,t,n,r){var o=t.dangerouslySetInnerHTML;if(null!=o)null!=o.__html&&_.queueHTML(r,o.__html);else{var i=V[typeof t.children]?t.children:null,a=null!=i?null:t.children;if(null!=i)""!==i&&_.queueText(r,i);else if(null!=a)for(var s=this.mountChildren(a,e,n),u=0;u"},receiveComponent:function(){},getHostNode:function(){return i.getNodeFromInstance(this)},unmountComponent:function(){i.uncacheNode(this)}}),t.exports=a},{143:143,33:33,9:9}],36:[function(e,t,n){"use strict";var r={useCreateElement:!0,useFiber:!1};t.exports=r},{}],37:[function(e,t,n){"use strict";var r=e(8),o=e(33),i={dangerouslyProcessChildrenUpdates:function(e,t){var n=o.getNodeFromInstance(e);r.processUpdates(n,t)}};t.exports=i},{33:33,8:8}],38:[function(e,t,n){"use strict";function r(){this._rootNodeID&&d.updateWrapper(this)}function o(e){return"checkbox"===e.type||"radio"===e.type?null!=e.checked:null!=e.value}function i(e){var t=this._currentElement.props,n=l.executeOnChange(t,e);p.asap(r,this);var o=t.name;if("radio"===t.type&&null!=o){for(var i=c.getNodeFromInstance(this),s=i;s.parentNode;)s=s.parentNode;for(var u=s.querySelectorAll("input[name="+JSON.stringify(""+o)+'][type="radio"]'),d=0;dt.end?(n=t.end,r=t.start):(n=t.start,r=t.end),o.moveToElementText(e),o.moveStart("character",n),o.setEndPoint("EndToStart",o),o.moveEnd("character",r-n),o.select()}function s(e,t){if(window.getSelection){var n=window.getSelection(),r=e[c()].length,o=Math.min(t.start,r),i=void 0===t.end?o:Math.min(t.end,r);if(!n.extend&&o>i){var a=i;i=o,o=a}var s=l(e,o),u=l(e,i);if(s&&u){var p=document.createRange();p.setStart(s.node,s.offset),n.removeAllRanges(),o>i?(n.addRange(p),n.extend(u.node,u.offset)):(p.setEnd(u.node,u.offset),n.addRange(p))}}}var u=e(123),l=e(105),c=e(106),p=u.canUseDOM&&"selection"in document&&!("getSelection"in window),d={getOffsets:p?o:i,setOffsets:p?a:s};t.exports=d},{105:105,106:106,123:123}],42:[function(e,t,n){"use strict";var r=e(112),o=e(143),i=e(8),a=e(9),s=e(33),u=e(95),l=(e(137),e(118),function(e){this._currentElement=e,this._stringText=""+e,
+this._hostNode=null,this._hostParent=null,this._domID=0,this._mountIndex=0,this._closingComment=null,this._commentNodes=null});o(l.prototype,{mountComponent:function(e,t,n,r){var o=n._idCounter++,i=" react-text: "+o+" ";if(this._domID=o,this._hostParent=t,e.useCreateElement){var l=n._ownerDocument,c=l.createComment(i),p=l.createComment(" /react-text "),d=a(l.createDocumentFragment());return a.queueChild(d,a(c)),this._stringText&&a.queueChild(d,a(l.createTextNode(this._stringText))),a.queueChild(d,a(p)),s.precacheNode(this,c),this._closingComment=p,d}var f=u(this._stringText);return e.renderToStaticMarkup?f:""+f+""},receiveComponent:function(e,t){if(e!==this._currentElement){this._currentElement=e;var n=""+e;if(n!==this._stringText){this._stringText=n;var r=this.getHostNode();i.replaceDelimitedText(r[0],r[1],n)}}},getHostNode:function(){var e=this._commentNodes;if(e)return e;if(!this._closingComment)for(var t=s.getNodeFromInstance(this),n=t.nextSibling;;){if(null==n&&r("67",this._domID),8===n.nodeType&&" /react-text "===n.nodeValue){this._closingComment=n;break}n=n.nextSibling}return e=[this._hostNode,this._closingComment],this._commentNodes=e,e},unmountComponent:function(){this._closingComment=null,this._commentNodes=null,s.uncacheNode(this)}}),t.exports=l},{112:112,118:118,137:137,143:143,33:33,8:8,9:9,95:95}],43:[function(e,t,n){"use strict";function r(){this._rootNodeID&&c.updateWrapper(this)}function o(e){var t=this._currentElement.props,n=s.executeOnChange(t,e);return l.asap(r,this),n}var i=e(112),a=e(143),s=e(23),u=e(33),l=e(71),c=(e(137),e(142),{getHostProps:function(e,t){return null!=t.dangerouslySetInnerHTML&&i("91"),a({},t,{value:void 0,defaultValue:void 0,children:""+e._wrapperState.initialValue,onChange:e._wrapperState.onChange})},mountWrapper:function(e,t){var n=s.getValue(t),r=n;if(null==n){var a=t.defaultValue,u=t.children;null!=u&&(null!=a&&i("92"),Array.isArray(u)&&(u.length<=1||i("93"),u=u[0]),a=""+u),null==a&&(a=""),r=a}e._wrapperState={initialValue:""+r,listeners:null,onChange:o.bind(e)}},updateWrapper:function(e){var t=e._currentElement.props,n=u.getNodeFromInstance(e),r=s.getValue(t);if(null!=r){var o=""+r;o!==n.value&&(n.value=o),null==t.defaultValue&&(n.defaultValue=o)}null!=t.defaultValue&&(n.defaultValue=t.defaultValue)},postMountWrapper:function(e){var t=u.getNodeFromInstance(e),n=t.textContent;n===e._wrapperState.initialValue&&(t.value=n)}});t.exports=c},{112:112,137:137,142:142,143:143,23:23,33:33,71:71}],44:[function(e,t,n){"use strict";function r(e,t){"_hostNode"in e||u("33"),"_hostNode"in t||u("33");for(var n=0,r=e;r;r=r._hostParent)n++;for(var o=0,i=t;i;i=i._hostParent)o++;for(;n-o>0;)e=e._hostParent,n--;for(;o-n>0;)t=t._hostParent,o--;for(var a=n;a--;){if(e===t)return e;e=e._hostParent,t=t._hostParent}return null}function o(e,t){"_hostNode"in e||u("35"),"_hostNode"in t||u("35");for(;t;){if(t===e)return!0;t=t._hostParent}return!1}function i(e){return"_hostNode"in e||u("36"),e._hostParent}function a(e,t,n){for(var r=[];e;)r.push(e),e=e._hostParent;var o;for(o=r.length;o-- >0;)t(r[o],"captured",n);for(o=0;o0;)n(u[l],"captured",i)}var u=e(112);e(137);t.exports={isAncestor:o,getLowestCommonAncestor:r,getParentInstance:i,traverseTwoPhase:a,traverseEnterLeave:s}},{112:112,137:137}],45:[function(e,t,n){"use strict";var r=e(120),o=e(30),i=o;r.addons&&(r.__SECRET_INJECTED_REACT_DOM_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=i),t.exports=i},{120:120,30:30}],46:[function(e,t,n){"use strict";function r(){this.reinitializeTransaction()}var o=e(143),i=e(71),a=e(89),s=e(129),u={initialize:s,close:function(){d.isBatchingUpdates=!1}},l={initialize:s,close:i.flushBatchedUpdates.bind(i)},c=[l,u];o(r.prototype,a,{getTransactionWrappers:function(){return c}});var p=new r,d={isBatchingUpdates:!1,batchedUpdates:function(e,t,n,r,o,i){var a=d.isBatchingUpdates;return d.isBatchingUpdates=!0,a?e(t,n,r,o,i):p.perform(e,null,t,n,r,o,i)}};t.exports=d},{129:129,143:143,71:71,89:89}],47:[function(e,t,n){"use strict";function r(){x||(x=!0,y.EventEmitter.injectReactEventListener(g),y.EventPluginHub.injectEventPluginOrder(s),y.EventPluginUtils.injectComponentTree(d),y.EventPluginUtils.injectTreeTraversal(h),y.EventPluginHub.injectEventPluginsByName({SimpleEventPlugin:E,EnterLeaveEventPlugin:u,ChangeEventPlugin:a,SelectEventPlugin:b,BeforeInputEventPlugin:i}),y.HostComponent.injectGenericComponentClass(p),y.HostComponent.injectTextComponentClass(m),y.DOMProperty.injectDOMPropertyConfig(o),y.DOMProperty.injectDOMPropertyConfig(l),y.DOMProperty.injectDOMPropertyConfig(C),y.EmptyComponent.injectEmptyComponentFactory(function(e){return new f(e)}),y.Updates.injectReconcileTransaction(_),y.Updates.injectBatchingStrategy(v),y.Component.injectEnvironment(c))}var o=e(1),i=e(3),a=e(7),s=e(14),u=e(15),l=e(21),c=e(27),p=e(31),d=e(33),f=e(35),h=e(44),m=e(42),v=e(46),g=e(52),y=e(55),_=e(65),C=e(73),b=e(74),E=e(75),x=!1;t.exports={inject:r}},{1:1,14:14,15:15,21:21,27:27,3:3,31:31,33:33,35:35,42:42,44:44,46:46,52:52,55:55,65:65,7:7,73:73,74:74,75:75}],48:[function(e,t,n){"use strict";var r="function"==typeof Symbol&&Symbol.for&&Symbol.for("react.element")||60103;t.exports=r},{}],49:[function(e,t,n){"use strict";var r,o={injectEmptyComponentFactory:function(e){r=e}},i={create:function(e){return r(e)}};i.injection=o,t.exports=i},{}],50:[function(e,t,n){"use strict";function r(e,t,n){try{t(n)}catch(e){null===o&&(o=e)}}var o=null,i={invokeGuardedCallback:r,invokeGuardedCallbackWithCatch:r,rethrowCaughtError:function(){if(o){var e=o;throw o=null,e}}};t.exports=i},{}],51:[function(e,t,n){"use strict";function r(e){o.enqueueEvents(e),o.processEventQueue(!1)}var o=e(16),i={handleTopLevel:function(e,t,n,i){r(o.extractEvents(e,t,n,i))}};t.exports=i},{16:16}],52:[function(e,t,n){"use strict";function r(e){for(;e._hostParent;)e=e._hostParent;var t=p.getNodeFromInstance(e),n=t.parentNode;return p.getClosestInstanceFromNode(n)}function o(e,t){this.topLevelType=e,this.nativeEvent=t,this.ancestors=[]}function i(e){var t=f(e.nativeEvent),n=p.getClosestInstanceFromNode(t),o=n;do{e.ancestors.push(o),o=o&&r(o)}while(o);for(var i=0;i/," "+i.CHECKSUM_ATTR_NAME+'="'+t+'"$&')},canReuseMarkup:function(e,t){var n=t.getAttribute(i.CHECKSUM_ATTR_NAME);return n=n&&parseInt(n,10),r(e)===n}};t.exports=i},{92:92}],60:[function(e,t,n){"use strict";function r(e,t){for(var n=Math.min(e.length,t.length),r=0;r.":"function"==typeof t?" Instead of passing a class like Foo, pass React.createElement(Foo) or .":null!=t&&void 0!==t.props?" This may be caused by unintentionally loading two independent copies of React.":"");var a,s=v.createElement(F,{child:t});if(e){var u=E.get(e);a=u._processChildContext(u._context)}else a=P;var c=d(n);if(c){var p=c._currentElement,h=p.props.child;if(M(h,t)){var m=c._renderedComponent.getPublicInstance(),g=r&&function(){r.call(m)};return j._updateRootComponent(c,s,a,n,g),m}j.unmountComponentAtNode(n)}var y=o(n),_=y&&!!i(y),C=l(n),b=_&&!c&&!C,x=j._renderNewRootComponent(s,n,b,a)._renderedComponent.getPublicInstance();return r&&r.call(x),x},render:function(e,t,n){return j._renderSubtreeIntoContainer(null,e,t,n)},unmountComponentAtNode:function(e){c(e)||f("40");var t=d(e);return t?(delete L[t._instance.rootID],k.batchedUpdates(u,t,e,!1),!0):(l(e),1===e.nodeType&&e.hasAttribute(O),!1)},_mountImageIntoNode:function(e,t,n,i,a){if(c(t)||f("41"),i){var s=o(t);if(x.canReuseMarkup(e,s))return void y.precacheNode(n,s);var u=s.getAttribute(x.CHECKSUM_ATTR_NAME);s.removeAttribute(x.CHECKSUM_ATTR_NAME);var l=s.outerHTML;s.setAttribute(x.CHECKSUM_ATTR_NAME,u);var p=e,d=r(p,l),m=" (client) "+p.substring(d-20,d+20)+"\n (server) "+l.substring(d-20,d+20);t.nodeType===A&&f("42",m)}if(t.nodeType===A&&f("43"),a.useCreateElement){for(;t.lastChild;)t.removeChild(t.lastChild);h.insertTreeBefore(t,e,null)}else N(t,e),y.precacheNode(n,t.firstChild)}};t.exports=j},{108:108,11:11,112:112,114:114,116:116,119:119,120:120,130:130,137:137,142:142,25:25,33:33,34:34,36:36,53:53,57:57,58:58,59:59,66:66,70:70,71:71,9:9}],61:[function(e,t,n){"use strict";function r(e,t,n){return{type:"INSERT_MARKUP",content:e,fromIndex:null,fromNode:null,toIndex:n,afterNode:t}}function o(e,t,n){return{type:"MOVE_EXISTING",content:null,fromIndex:e._mountIndex,fromNode:d.getHostNode(e),toIndex:n,afterNode:t}}function i(e,t){return{type:"REMOVE_NODE",content:null,fromIndex:e._mountIndex,fromNode:t,toIndex:null,afterNode:null}}function a(e){return{type:"SET_MARKUP",content:e,fromIndex:null,fromNode:null,toIndex:null,afterNode:null}}function s(e){return{type:"TEXT_CONTENT",content:e,fromIndex:null,fromNode:null,toIndex:null,afterNode:null}}function u(e,t){return t&&(e=e||[],e.push(t)),e}function l(e,t){p.processChildrenUpdates(e,t)}var c=e(112),p=e(28),d=(e(57),e(58),e(119),e(66)),f=e(26),h=(e(129),e(97)),m=(e(137),{Mixin:{_reconcilerInstantiateChildren:function(e,t,n){return f.instantiateChildren(e,t,n)},_reconcilerUpdateChildren:function(e,t,n,r,o,i){var a;return a=h(t,0),f.updateChildren(e,a,n,r,o,this,this._hostContainerInfo,i,0),a},mountChildren:function(e,t,n){var r=this._reconcilerInstantiateChildren(e,t,n);this._renderedChildren=r;var o=[],i=0;for(var a in r)if(r.hasOwnProperty(a)){var s=r[a],u=d.mountComponent(s,t,this,this._hostContainerInfo,n,0);s._mountIndex=i++,o.push(u)}return o},updateTextContent:function(e){var t=this._renderedChildren;f.unmountChildren(t,!1);for(var n in t)t.hasOwnProperty(n)&&c("118");l(this,[s(e)])},updateMarkup:function(e){var t=this._renderedChildren;f.unmountChildren(t,!1);for(var n in t)t.hasOwnProperty(n)&&c("118");l(this,[a(e)])},updateChildren:function(e,t,n){this._updateChildren(e,t,n)},_updateChildren:function(e,t,n){var r=this._renderedChildren,o={},i=[],a=this._reconcilerUpdateChildren(r,e,i,o,t,n);if(a||r){var s,c=null,p=0,f=0,h=0,m=null;for(s in a)if(a.hasOwnProperty(s)){var v=r&&r[s],g=a[s];v===g?(c=u(c,this.moveChild(v,m,p,f)),f=Math.max(v._mountIndex,f),v._mountIndex=p):(v&&(f=Math.max(v._mountIndex,f)),c=u(c,this._mountChildAtIndex(g,i[h],m,p,t,n)),h++),p++,m=d.getHostNode(g)}for(s in o)o.hasOwnProperty(s)&&(c=u(c,this._unmountChild(r[s],o[s])));c&&l(this,c),this._renderedChildren=a}},unmountChildren:function(e){var t=this._renderedChildren;f.unmountChildren(t,e),this._renderedChildren=null},moveChild:function(e,t,n,r){if(e._mountIndex0&&r.length<20?n+" (keys: "+r.join(", ")+")":n}function i(e,t){var n=s.get(e);return n||null}var a=e(112),s=(e(119),e(57)),u=(e(58),e(71)),l=(e(137),e(142),{isMounted:function(e){var t=s.get(e);return!!t&&!!t._renderedComponent},enqueueCallback:function(e,t,n){l.validateCallback(t,n);var o=i(e);if(!o)return null;o._pendingCallbacks?o._pendingCallbacks.push(t):o._pendingCallbacks=[t],r(o)},enqueueCallbackInternal:function(e,t){e._pendingCallbacks?e._pendingCallbacks.push(t):e._pendingCallbacks=[t],r(e)},enqueueForceUpdate:function(e){var t=i(e,"forceUpdate");t&&(t._pendingForceUpdate=!0,r(t))},enqueueReplaceState:function(e,t,n){var o=i(e,"replaceState");o&&(o._pendingStateQueue=[t],o._pendingReplaceState=!0,void 0!==n&&null!==n&&(l.validateCallback(n,"replaceState"),o._pendingCallbacks?o._pendingCallbacks.push(n):o._pendingCallbacks=[n]),r(o))},enqueueSetState:function(e,t){var n=i(e,"setState");n&&((n._pendingStateQueue||(n._pendingStateQueue=[])).push(t),r(n))},enqueueElementInternal:function(e,t,n){e._pendingElement=t,e._context=n,r(e)},validateCallback:function(e,t){e&&"function"!=typeof e&&a("122",t,o(e))}});t.exports=l},{112:112,119:119,137:137,142:142,57:57,58:58,71:71}],71:[function(e,t,n){"use strict";function r(){P.ReactReconcileTransaction&&b||c("123")}function o(){this.reinitializeTransaction(),this.dirtyComponentsLength=null,this.callbackQueue=d.getPooled(),this.reconcileTransaction=P.ReactReconcileTransaction.getPooled(!0)}function i(e,t,n,o,i,a){return r(),b.batchedUpdates(e,t,n,o,i,a)}function a(e,t){return e._mountOrder-t._mountOrder}function s(e){var t=e.dirtyComponentsLength;t!==g.length&&c("124",t,g.length),g.sort(a),y++;for(var n=0;n]/;t.exports=o},{}],96:[function(e,t,n){"use strict";function r(e){if(null==e)return null;if(1===e.nodeType)return e;var t=a.get(e);if(t)return t=s(t),t?i.getNodeFromInstance(t):null;"function"==typeof e.render?o("44"):o("45",Object.keys(e))}var o=e(112),i=(e(119),e(33)),a=e(57),s=e(103);e(137),e(142);t.exports=r},{103:103,112:112,119:119,137:137,142:142,33:33,57:57}],97:[function(e,t,n){(function(n){"use strict";function r(e,t,n,r){if(e&&"object"==typeof e){var o=e;void 0===o[n]&&null!=t&&(o[n]=t)}}function o(e,t){if(null==e)return e;var n={};return i(e,r,n),n}var i=(e(22),e(117));e(142);void 0!==n&&n.env,t.exports=o}).call(this,void 0)},{117:117,142:142,22:22}],98:[function(e,t,n){"use strict";function r(e,t,n){Array.isArray(e)?e.forEach(t,n):e&&t.call(n,e)}t.exports=r},{}],99:[function(e,t,n){"use strict";function r(e){var t,n=e.keyCode;return"charCode"in e?0===(t=e.charCode)&&13===n&&(t=13):t=n,t>=32||13===t?t:0}t.exports=r},{}],100:[function(e,t,n){"use strict";function r(e){if(e.key){var t=i[e.key]||e.key;if("Unidentified"!==t)return t}if("keypress"===e.type){var n=o(e);return 13===n?"Enter":String.fromCharCode(n)}return"keydown"===e.type||"keyup"===e.type?a[e.keyCode]||"Unidentified":""}var o=e(99),i={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},a={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"};t.exports=r},{99:99}],101:[function(e,t,n){"use strict";function r(e){var t=this,n=t.nativeEvent;if(n.getModifierState)return n.getModifierState(e);var r=i[e];return!!r&&!!n[r]}function o(e){return r}var i={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};t.exports=o},{}],102:[function(e,t,n){"use strict";function r(e){var t=e.target||e.srcElement||window;return t.correspondingUseElement&&(t=t.correspondingUseElement),3===t.nodeType?t.parentNode:t}t.exports=r},{}],103:[function(e,t,n){"use strict";function r(e){for(var t;(t=e._renderedNodeType)===o.COMPOSITE;)e=e._renderedComponent;return t===o.HOST?e._renderedComponent:t===o.EMPTY?null:void 0}var o=e(62);t.exports=r},{62:62}],104:[function(e,t,n){"use strict";function r(e){var t=e&&(o&&e[o]||e[i]);if("function"==typeof t)return t}var o="function"==typeof Symbol&&Symbol.iterator,i="@@iterator";t.exports=r},{}],105:[function(e,t,n){"use strict";function r(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function o(e){for(;e;){if(e.nextSibling)return e.nextSibling;e=e.parentNode}}function i(e,t){for(var n=r(e),i=0,a=0;n;){if(3===n.nodeType){if(a=i+n.textContent.length,i<=t&&a>=t)return{node:n,offset:t-i};i=a}n=r(o(n))}}t.exports=i},{}],106:[function(e,t,n){"use strict";function r(){return!i&&o.canUseDOM&&(i="textContent"in document.documentElement?"textContent":"innerText"),i}var o=e(123),i=null;t.exports=r},{123:123}],107:[function(e,t,n){"use strict";function r(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n["ms"+e]="MS"+t,n["O"+e]="o"+t.toLowerCase(),n}function o(e){if(s[e])return s[e];if(!a[e])return e;var t=a[e];for(var n in t)if(t.hasOwnProperty(n)&&n in u)return s[e]=t[n];return""}var i=e(123),a={animationend:r("Animation","AnimationEnd"),animationiteration:r("Animation","AnimationIteration"),animationstart:r("Animation","AnimationStart"),transitionend:r("Transition","TransitionEnd")},s={},u={};i.canUseDOM&&(u=document.createElement("div").style,"AnimationEvent"in window||(delete a.animationend.animation,delete a.animationiteration.animation,delete a.animationstart.animation),"TransitionEvent"in window||delete a.transitionend.transition),t.exports=o},{123:123}],108:[function(e,t,n){"use strict";function r(e){if(e){var t=e.getName();if(t)return" Check the render method of `"+t+"`."}return""}function o(e){return"function"==typeof e&&void 0!==e.prototype&&"function"==typeof e.prototype.mountComponent&&"function"==typeof e.prototype.receiveComponent}function i(e,t){var n;if(null===e||!1===e)n=l.create(i);else if("object"==typeof e){var s=e,u=s.type;if("function"!=typeof u&&"string"!=typeof u){var d="";d+=r(s._owner),a("130",null==u?u:typeof u,d)}"string"==typeof s.type?n=c.createInternalComponent(s):o(s.type)?(n=new s.type(s),n.getHostNode||(n.getHostNode=n.getNativeNode)):n=new p(s)}else"string"==typeof e||"number"==typeof e?n=c.createInstanceForText(e):a("131",typeof e);return n._mountIndex=0,n._mountImage=null,n}var a=e(112),s=e(143),u=e(29),l=e(49),c=e(54),p=(e(121),e(137),e(142),function(e){this.construct(e)});s(p.prototype,u,{_instantiateReactComponent:i}),t.exports=i},{112:112,121:121,137:137,142:142,143:143,29:29,49:49,54:54}],109:[function(e,t,n){"use strict";function r(e,t){if(!i.canUseDOM||t&&!("addEventListener"in document))return!1;var n="on"+e,r=n in document;if(!r){var a=document.createElement("div");a.setAttribute(n,"return;"),r="function"==typeof a[n]}return!r&&o&&"wheel"===e&&(r=document.implementation.hasFeature("Events.wheel","3.0")),r}var o,i=e(123);i.canUseDOM&&(o=document.implementation&&document.implementation.hasFeature&&!0!==document.implementation.hasFeature("","")),t.exports=r},{123:123}],110:[function(e,t,n){"use strict";function r(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return"input"===t?!!o[e.type]:"textarea"===t}var o={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};t.exports=r},{}],111:[function(e,t,n){"use strict";function r(e){return'"'+o(e)+'"'}var o=e(95);t.exports=r},{95:95}],112:[function(e,t,n){"use strict";function r(e){for(var t=arguments.length-1,n="Minified React error #"+e+"; visit http://facebook.github.io/react/docs/error-decoder.html?invariant="+e,r=0;r]/,u=e(93),l=u(function(e,t){if(e.namespaceURI!==i.svg||"innerHTML"in e)e.innerHTML=t;else{r=r||document.createElement("div"),r.innerHTML="";for(var n=r.firstChild;n.firstChild;)e.appendChild(n.firstChild)}});if(o.canUseDOM){var c=document.createElement("div");c.innerHTML=" ",""===c.innerHTML&&(l=function(e,t){if(e.parentNode&&e.parentNode.replaceChild(e,e),a.test(t)||"<"===t[0]&&s.test(t)){e.innerHTML=String.fromCharCode(65279)+t;var n=e.firstChild;1===n.data.length?e.removeChild(n):n.deleteData(0,1)}else e.innerHTML=t}),c=null}t.exports=l},{10:10,123:123,93:93}],115:[function(e,t,n){"use strict";var r=e(123),o=e(95),i=e(114),a=function(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&3===n.nodeType)return void(n.nodeValue=t)}e.textContent=t};r.canUseDOM&&("textContent"in document.documentElement||(a=function(e,t){if(3===e.nodeType)return void(e.nodeValue=t);i(e,o(t))})),t.exports=a},{114:114,123:123,95:95}],116:[function(e,t,n){"use strict";function r(e,t){var n=null===e||!1===e,r=null===t||!1===t;if(n||r)return n===r;var o=typeof e,i=typeof t;return"string"===o||"number"===o?"string"===i||"number"===i:"object"===i&&e.type===t.type&&e.key===t.key}t.exports=r},{}],117:[function(e,t,n){"use strict";function r(e,t){return e&&"object"==typeof e&&null!=e.key?l.escape(e.key):t.toString(36)}function o(e,t,n,i){var d=typeof e;if("undefined"!==d&&"boolean"!==d||(e=null),null===e||"string"===d||"number"===d||"object"===d&&e.$$typeof===s)return n(i,e,""===t?c+r(e,0):t),1;var f,h,m=0,v=""===t?c:t+p;if(Array.isArray(e))for(var g=0;g":"<"+e+">"+e+">",s[e]=!a.firstChild),s[e]?d[e]:null}var o=e(123),i=e(137),a=o.canUseDOM?document.createElement("div"):null,s={},u=[1,'"],l=[1,""],c=[3,""],p=[1,'"],d={"*":[1,"?","
"],area:[1,""],col:[2,""],legend:[1,""],param:[1,""],tr:[2,""],optgroup:u,option:u,caption:l,colgroup:l,tbody:l,tfoot:l,thead:l,td:c,th:c};["circle","clipPath","defs","ellipse","g","image","line","linearGradient","mask","path","pattern","polygon","polyline","radialGradient","rect","stop","text","tspan"].forEach(function(e){d[e]=p,s[e]=!0}),t.exports=r},{123:123,137:137}],134:[function(e,t,n){"use strict";function r(e){return e.Window&&e instanceof e.Window?{x:e.pageXOffset||e.document.documentElement.scrollLeft,y:e.pageYOffset||e.document.documentElement.scrollTop}:{x:e.scrollLeft,y:e.scrollTop}}t.exports=r},{}],135:[function(e,t,n){"use strict";function r(e){return e.replace(o,"-$1").toLowerCase()}var o=/([A-Z])/g;t.exports=r},{}],136:[function(e,t,n){"use strict";function r(e){return o(e).replace(i,"-ms-")}var o=e(135),i=/^ms-/;t.exports=r},{135:135}],137:[function(e,t,n){"use strict";function r(e,t,n,r,i,a,s,u){if(o(t),!e){var l;if(void 0===t)l=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var c=[n,r,i,a,s,u],p=0;l=new Error(t.replace(/%s/g,function(){return c[p++]})),l.name="Invariant Violation"}throw l.framesToPop=1,l}}var o=function(e){};t.exports=r},{}],138:[function(e,t,n){"use strict";function r(e){var t=e?e.ownerDocument||e:document,n=t.defaultView||window;return!(!e||!("function"==typeof n.Node?e instanceof n.Node:"object"==typeof e&&"number"==typeof e.nodeType&&"string"==typeof e.nodeName))}t.exports=r},{}],139:[function(e,t,n){"use strict";function r(e){return o(e)&&3==e.nodeType}var o=e(138);t.exports=r},{138:138}],140:[function(e,t,n){"use strict";function r(e){var t={};return function(n){return t.hasOwnProperty(n)||(t[n]=e.call(this,n)),t[n]}}t.exports=r},{}],141:[function(e,t,n){"use strict";function r(e,t){return e===t?0!==e||0!==t||1/e==1/t:e!==e&&t!==t}function o(e,t){if(r(e,t))return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;var n=Object.keys(e),o=Object.keys(t);if(n.length!==o.length)return!1;for(var a=0;a>",T={array:c("array"),bool:c("boolean"),func:c("function"),number:c("number"),object:c("object"),string:c("string"),symbol:c("symbol"),any:function(){return l(r.thatReturnsNull)}(),arrayOf:p,element:function(){function t(t,n,r,o,i){var a=t[n];if(!e(a)){return new u("Invalid "+o+" `"+i+"` of type `"+_(a)+"` supplied to `"+r+"`, expected a single ReactElement.")}return null}return l(t)}(),instanceOf:d,node:function(){function e(e,t,n,r,o){return g(e[t])?null:new u("Invalid "+r+" `"+o+"` supplied to `"+n+"`, expected a ReactNode.")}return l(e)}(),objectOf:h,oneOf:f,oneOfType:m,shape:v}
+;return u.prototype=Error.prototype,T.checkPropTypes=a,T.PropTypes=T,T}},{129:129,137:137,142:142,144:144,147:147}],147:[function(e,t,n){"use strict";t.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},{}]},{},[45])(45)}()}()});
+/*! http://mths.be/fromcodepoint v0.1.0 by @mathias */
+if (!String.fromCodePoint) {
+ (function() {
+ var defineProperty = (function() {
+ // IE 8 only supports `Object.defineProperty` on DOM elements
+ try {
+ var object = {};
+ var $defineProperty = Object.defineProperty;
+ var result = $defineProperty(object, object, object) && $defineProperty;
+ } catch(error) {}
+ return result;
+ }());
+ var stringFromCharCode = String.fromCharCode;
+ var floor = Math.floor;
+ var fromCodePoint = function() {
+ var MAX_SIZE = 0x4000;
+ var codeUnits = [];
+ var highSurrogate;
+ var lowSurrogate;
+ var index = -1;
+ var length = arguments.length;
+ if (!length) {
+ return '';
+ }
+ var result = '';
+ while (++index < length) {
+ var codePoint = Number(arguments[index]);
+ if (
+ !isFinite(codePoint) || // `NaN`, `+Infinity`, or `-Infinity`
+ codePoint < 0 || // not a valid Unicode code point
+ codePoint > 0x10FFFF || // not a valid Unicode code point
+ floor(codePoint) != codePoint // not an integer
+ ) {
+ throw RangeError('Invalid code point: ' + codePoint);
+ }
+ if (codePoint <= 0xFFFF) { // BMP code point
+ codeUnits.push(codePoint);
+ } else { // Astral code point; split in surrogate halves
+ // http://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae
+ codePoint -= 0x10000;
+ highSurrogate = (codePoint >> 10) + 0xD800;
+ lowSurrogate = (codePoint % 0x400) + 0xDC00;
+ codeUnits.push(highSurrogate, lowSurrogate);
+ }
+ if (index + 1 == length || codeUnits.length > MAX_SIZE) {
+ result += stringFromCharCode.apply(null, codeUnits);
+ codeUnits.length = 0;
+ }
+ }
+ return result;
+ };
+ if (defineProperty) {
+ defineProperty(String, 'fromCodePoint', {
+ 'value': fromCodePoint,
+ 'configurable': true,
+ 'writable': true
+ });
+ } else {
+ String.fromCodePoint = fromCodePoint;
+ }
+ }());
+}
+
+/*! http://mths.be/codepointat v0.1.0 by @mathias */
+if (!String.prototype.codePointAt) {
+ (function() {
+ 'use strict'; // needed to support `apply`/`call` with `undefined`/`null`
+ var codePointAt = function(position) {
+ if (this == null) {
+ throw TypeError();
+ }
+ var string = String(this);
+ var size = string.length;
+ // `ToInteger`
+ var index = position ? Number(position) : 0;
+ if (index != index) { // better `isNaN`
+ index = 0;
+ }
+ // Account for out-of-bounds indices:
+ if (index < 0 || index >= size) {
+ return undefined;
+ }
+ // Get the first code unit
+ var first = string.charCodeAt(index);
+ var second;
+ if ( // check if it’s the start of a surrogate pair
+ first >= 0xD800 && first <= 0xDBFF && // high surrogate
+ size > index + 1 // there is a next code unit
+ ) {
+ second = string.charCodeAt(index + 1);
+ if (second >= 0xDC00 && second <= 0xDFFF) { // low surrogate
+ // http://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae
+ return (first - 0xD800) * 0x400 + second - 0xDC00 + 0x10000;
+ }
+ }
+ return first;
+ };
+ if (Object.defineProperty) {
+ Object.defineProperty(String.prototype, 'codePointAt', {
+ 'value': codePointAt,
+ 'configurable': true,
+ 'writable': true
+ });
+ } else {
+ String.prototype.codePointAt = codePointAt;
+ }
+ }());
+}
+
+function registerAsciinemaPlayerElement() {
+ var AsciinemaPlayerProto = Object.create(HTMLElement.prototype);
+
+ function merge() {
+ var merged = {};
+ for (var i=0; i>>0),ma=0;function na(a,b,c){return a.call.apply(a.bind,arguments)}
+function oa(a,b,c){if(!a)throw Error();if(2b?1:0};var ua=Array.prototype.indexOf?function(a,b,c){return Array.prototype.indexOf.call(a,b,c)}:function(a,b,c){c=null==c?0:0>c?Math.max(0,a.length+c):c;if(ca(a))return ca(b)&&1==b.length?a.indexOf(b,c):-1;for(;cb?null:ca(a)?a.charAt(b):a[b]}function ya(a,b){var c=ua(a,b),d;(d=0<=c)&&Array.prototype.splice.call(a,c,1);return d}function za(a,b){a.sort(b||Aa)}function Ca(a,b){for(var c=Array(a.length),d=0;db?1:a2*this.Fc&&Na(this),!0):!1};function Na(a){if(a.Fc!=a.ib.length){for(var b=0,c=0;ba){var b=Ra[a];if(b)return b}b=new Qa([a|0],0>a?-1:0);-128<=a&&128>a&&(Ra[a]=b);return b}function Ta(a){if(isNaN(a)||!isFinite(a))return Ua;if(0>a)return Ta(-a).kb();for(var b=[],c=1,d=0;a>=c;d++)b[d]=a/c|0,c*=Va;return new Qa(b,0)}var Va=4294967296,Ua=Sa(0),Wa=Sa(1),Xa=Sa(16777216);g=Qa.prototype;
+g.Of=function(){return 0a||36>>0).toString(a);c=e;if(c.hc())return f+d;for(;6>f.length;)f="0"+f;d=""+f+d}};function Ya(a,b){return 0>b?0:bthis.compare(Xa)};g.Ve=function(a){return 0>=this.compare(a)};g.compare=function(a){a=this.ze(a);return a.Eb()?-1:a.hc()?0:1};g.kb=function(){return this.Hf().add(Wa)};
+g.add=function(a){for(var b=Math.max(this.Ma.length,a.Ma.length),c=[],d=0,e=0;e<=b;e++){var f=d+(Ya(this,e)&65535)+(Ya(a,e)&65535),h=(f>>>16)+(Ya(this,e)>>>16)+(Ya(a,e)>>>16);d=h>>>16;f&=65535;h&=65535;c[e]=h<<16|f}return new Qa(c,c[c.length-1]&-2147483648?-1:0)};g.ze=function(a){return this.add(a.kb())};
+g.multiply=function(a){if(this.hc()||a.hc())return Ua;if(this.Eb())return a.Eb()?this.kb().multiply(a.kb()):this.kb().multiply(a).kb();if(a.Eb())return this.multiply(a.kb()).kb();if(this.Ue()&&a.Ue())return Ta(this.vd()*a.vd());for(var b=this.Ma.length+a.Ma.length,c=[],d=0;d<2*b;d++)c[d]=0;for(d=0;d>>16,h=Ya(this,d)&65535,k=Ya(a,e)>>>16,l=Ya(a,e)&65535;c[2*d+2*e]+=h*l;ab(c,2*d+2*e);c[2*d+2*e+1]+=f*l;ab(c,2*d+2*e+1);c[2*d+2*e+1]+=
+h*k;ab(c,2*d+2*e+1);c[2*d+2*e+2]+=f*k;ab(c,2*d+2*e+2)}for(d=0;d>>16,a[b]&=65535,b++}
+function Za(a,b){if(b.hc())throw Error("division by zero");if(a.hc())return Ua;if(a.Eb())return b.Eb()?Za(a.kb(),b.kb()):Za(a.kb(),b).kb();if(b.Eb())return Za(a,b.kb()).kb();if(30=f?1:Math.pow(2,f-48);h=Ta(e);for(var k=h.multiply(b);k.Eb()||k.xf(d);)e-=f,h=Ta(e),k=h.multiply(b);h.hc()&&(h=Wa);c=c.add(h);d=d.ze(k)}return c}g.Hf=function(){for(var a=this.Ma.length,b=[],c=0;c>5;a%=32;for(var c=this.Ma.length+b+(0>>32-a:Ya(this,e-b);return new Qa(d,this.Lc)};
+g.ad=function(a){var b=a>>5;a%=32;for(var c=this.Ma.length-b,d=[],e=0;e>>a|Ya(this,e+b+1)<<32-a:Ya(this,e+b);return new Qa(d,this.Lc)};function cb(a,b){null!=a&&this.append.apply(this,arguments)}g=cb.prototype;g.xc="";g.set=function(a){this.xc=""+a};g.append=function(a,b,c){this.xc+=String(a);if(null!=b)for(var d=1;d>>16&65535)*d+c*(b>>>16&65535)<<16>>>0)|0};function hd(a){a=gd(a|0,-862048943);return gd(a<<15|a>>>-15,461845907)}
+function id(a,b){var c=(a|0)^(b|0);return gd(c<<13|c>>>-13,5)+-430675100|0}function jd(a,b){var c=(a|0)^b;c=gd(c^c>>>16,-2048144789);c=gd(c^c>>>13,-1028477387);return c^c>>>16}function kd(a){a:{var b=1;for(var c=0;;)if(b>2)}function qd(a){return a instanceof rd}
+function sd(a,b){if(a.Zb===b.Zb)return 0;var c=wb(a.fb);if(t(c?b.fb:c))return-1;if(t(a.fb)){if(wb(b.fb))return 1;c=Aa(a.fb,b.fb);return 0===c?Aa(a.name,b.name):c}return Aa(a.name,b.name)}function rd(a,b,c,d,e){this.fb=a;this.name=b;this.Zb=c;this.Oc=d;this.hb=e;this.m=2154168321;this.J=4096}g=rd.prototype;g.toString=function(){return this.Zb};g.equiv=function(a){return this.K(null,a)};g.K=function(a,b){return b instanceof rd?this.Zb===b.Zb:!1};
+g.call=function(){var a=null;a=function(a,c,d){switch(arguments.length){case 2:return D.c(c,this);case 3:return D.l(c,this,d)}throw Error("Invalid arity: "+(arguments.length-1));};a.c=function(a,c){return D.c(c,this)};a.l=function(a,c,d){return D.l(c,this,d)};return a}();g.apply=function(a,b){return this.call.apply(this,[this].concat(Gb(b)))};g.h=function(a){return D.c(a,this)};g.c=function(a,b){return D.l(a,this,b)};g.P=function(){return this.hb};
+g.T=function(a,b){return new rd(this.fb,this.name,this.Zb,this.Oc,b)};g.U=function(){var a=this.Oc;return null!=a?a:this.Oc=a=pd(kd(this.name),nd(this.fb))};g.hd=function(){return this.name};g.jd=function(){return this.fb};g.R=function(a,b){return Jc(b,this.Zb)};var td=function td(a){switch(arguments.length){case 1:return td.h(arguments[0]);case 2:return td.c(arguments[0],arguments[1]);default:throw Error(["Invalid arity: ",v.h(arguments.length)].join(""));}};
+td.h=function(a){if(a instanceof rd)return a;var b=a.indexOf("/");return 1>b?td.c(null,a):td.c(a.substring(0,b),a.substring(b+1,a.length))};td.c=function(a,b){var c=null!=a?[v.h(a),"/",v.h(b)].join(""):b;return new rd(a,b,c,null,null)};td.L=2;function ud(a){return null!=a?a.J&131072||q===a.Tf?!0:a.J?!1:Ab(cd,a):Ab(cd,a)}
+function E(a){if(null==a)return null;if(null!=a&&(a.m&8388608||q===a.Pe))return a.S(null);if(vb(a)||"string"===typeof a)return 0===a.length?null:new Jb(a,0,null);if(Ab(Bc,a))return Cc(a);throw Error([v.h(a)," is not ISeqable"].join(""));}function y(a){if(null==a)return null;if(null!=a&&(a.m&64||q===a.G))return a.Ia(null);a=E(a);return null==a?null:Wb(a)}function vd(a){return null!=a?null!=a&&(a.m&64||q===a.G)?a.bb(null):(a=E(a))?Yb(a):wd:wd}
+function z(a){return null==a?null:null!=a&&(a.m&128||q===a.Id)?a.Ka(null):E(vd(a))}var G=function G(a){switch(arguments.length){case 1:return G.h(arguments[0]);case 2:return G.c(arguments[0],arguments[1]);default:for(var c=[],d=arguments.length,e=0;;)if(e=d)return-1;!(0c&&(c+=d,c=0>c?0:c);for(;;)if(cc?d+c:c;for(;;)if(0<=c){if(G.c(Vd(a,c),b))return c;--c}else return-1}function Yd(a,b){this.o=a;this.i=b}
+Yd.prototype.ja=function(){return this.ia?0:a};g.Rc=function(){var a=this.W(null);return 0d)c=1;else if(0===c)c=0;else a:for(d=0;;){var e=Ke(Vd(a,d),Vd(b,d));if(0===e&&d+1>1&1431655765;a=(a&858993459)+(a>>2&858993459);return 16843009*(a+(a>>4)&252645135)>>24}
+var v=function v(a){switch(arguments.length){case 0:return v.B();case 1:return v.h(arguments[0]);default:for(var c=[],d=arguments.length,e=0;;)if(ed:e))c[d]=a.next(),d+=1;else return qf(new nf(c,0,d),Rf.h?Rf.h(a):Rf.call(null,a))}else return null},null,null)};function Sf(a,b,c,d,e,f){this.buffer=a;this.ub=b;this.pe=c;this.Rb=d;this.ye=e;this.Gf=f}
+Sf.prototype.step=function(){if(this.ub!==Nf)return!0;for(;;)if(this.ub===Nf)if(this.buffer.Td()){if(this.pe)return!1;if(this.ye.ja()){if(this.Gf)var a=P(this.Rb,ae(null,this.ye.next()));else a=this.ye.next(),a=this.Rb.c?this.Rb.c(null,a):this.Rb.call(null,null,a);Hd(a)&&(this.Rb.h?this.Rb.h(null):this.Rb.call(null,null),this.pe=!0)}else this.Rb.h?this.Rb.h(null):this.Rb.call(null,null),this.pe=!0}else this.ub=this.buffer.remove();else return!0};Sf.prototype.ja=function(){return this.step()};
+Sf.prototype.next=function(){if(this.ja()){var a=this.ub;this.ub=Nf;return a}throw Error("No such element");};Sf.prototype.remove=function(){return Error("Unsupported operation")};Sf.prototype[Fb]=function(){return yd(this)};
+function Tf(a,b){var c=new Sf(Qf,Nf,!1,null,b,!1);c.Rb=function(){var b=function(a){return function(){function b(b,c){a.buffer=a.buffer.add(c);return b}var c=null;c=function(a,c){switch(arguments.length){case 0:return null;case 1:return a;case 2:return b.call(this,a,c)}throw Error("Invalid arity: "+(arguments.length-1));};c.B=function(){return null};c.h=function(a){return a};c.c=b;return c}()}(c);return a.h?a.h(b):a.call(null,b)}();return c}
+function Uf(a,b){var c=Kf(b);c=Tf(a,c);c=Rf(c);return t(c)?c:wd}function Vf(a,b){for(;;){if(null==E(b))return!0;var c=y(b);c=a.h?a.h(c):a.call(null,c);if(t(c)){c=a;var d=z(b);a=c;b=d}else return!1}}function Wf(a,b){for(;;)if(E(b)){var c=y(b);c=a.h?a.h(c):a.call(null,c);if(t(c))return c;c=a;var d=z(b);a=c;b=d}else return null}function Xf(a){if(Ge(a))return 0===(a&1);throw Error(["Argument must be an integer: ",v.h(a)].join(""));}
+function Yf(a){return function(){function b(b,c){return wb(a.c?a.c(b,c):a.call(null,b,c))}function c(b){return wb(a.h?a.h(b):a.call(null,b))}function d(){return wb(a.B?a.B():a.call(null))}var e=null,f=function(){function b(a,b,d){var e=null;if(2a?0:a-1>>>5<<5}function Jg(a,b,c){for(;;){if(0===b)return c;var d=Gg(a);d.o[0]=c;c=d;b-=5}}
+var Kg=function Kg(a,b,c,d){var f=Hg(c),h=a.F-1>>>b&31;5===b?f.o[h]=d:(c=c.o[h],null!=c?(b-=5,a=Kg.M?Kg.M(a,b,c,d):Kg.call(null,a,b,c,d)):a=Jg(null,b-5,d),f.o[h]=a);return f};function Lg(a,b){throw Error(["No item ",v.h(a)," in vector of length ",v.h(b)].join(""));}function Mg(a,b){if(b>=Ig(a))return a.fa;for(var c=a.root,d=a.shift;;)if(0>>d&31];d=e}else return c.o}
+var Ng=function Ng(a,b,c,d,e){var h=Hg(c);if(0===b)h.o[d&31]=e;else{var k=d>>>b&31;b-=5;c=c.o[k];a=Ng.Z?Ng.Z(a,b,c,d,e):Ng.call(null,a,b,c,d,e);h.o[k]=a}return h},Og=function Og(a,b,c){var e=a.F-2>>>b&31;if(5=this.F)a=new Jb(this.fa,0,null);else{a:{a=this.root;for(var b=this.shift;;)if(0this.F-Ig(this)){for(var c=this.fa.length,d=Array(c+1),e=0;;)if(e>>5>1<b)return new R(null,b,5,T,a,null);for(var c=32,d=(new R(null,32,5,T,a.slice(0,32),null)).Pc(null);;)if(cb||this.end<=this.start+b?Lg(b,this.end-this.start):A.c(this.Ja,this.start+b)};g.ka=function(a,b,c){return 0>b||this.end<=this.start+b?c:A.l(this.Ja,this.start+b,c)};
+g.dc=function(a,b,c){a=this.start+b;if(0>b||this.end+1<=a)throw Error(["Index ",v.h(b)," out of bounds [0,",v.h(this.W(null)),"]"].join(""));b=this.meta;c=K.l(this.Ja,a,c);var d=this.end;a+=1;return Zg(b,c,this.start,d>a?d:a,null)};g.ba=function(){return null!=this.Ja&&q===this.Ja.fe?Qg(this.Ja,this.start,this.end):new Jf(Hf,this)};g.P=function(){return this.meta};g.W=function(){return this.end-this.start};g.Ac=function(){return A.c(this.Ja,this.end-1)};
+g.Bc=function(){if(this.start===this.end)throw Error("Can't pop empty vector");return Zg(this.meta,this.Ja,this.start,this.end-1,null)};g.Rc=function(){return this.start!==this.end?new Zd(this,this.end-this.start-1,null):null};g.U=function(){var a=this.w;return null!=a?a:this.w=a=Ad(this)};g.K=function(a,b){return $d(this,b)};g.oa=function(){return tc(he,this.meta)};g.Fa=function(a,b){return null!=this.Ja&&q===this.Ja.fe?Rg(this.Ja,b,this.start,this.end):Kd(this,b)};
+g.Ga=function(a,b,c){return null!=this.Ja&&q===this.Ja.fe?Sg(this.Ja,b,c,this.start,this.end):Ld(this,b,c)};g.O=function(a,b,c){if("number"===typeof b)return this.dc(null,b,c);throw Error("Subvec's key for assoc must be a number.");};g.S=function(){var a=this;return function(b){return function e(d){return d===a.end?null:ae(A.c(a.Ja,d),new kf(null,function(){return function(){return e(d+1)}}(b),null,null))}}(this)(a.start)};g.T=function(a,b){return Zg(b,this.Ja,this.start,this.end,this.w)};
+g.X=function(a,b){return Zg(this.meta,qc(this.Ja,this.end,b),this.start,this.end+1,null)};g.call=function(){var a=null;a=function(a,c,d){switch(arguments.length){case 2:return this.$(null,c);case 3:return this.ka(null,c,d)}throw Error("Invalid arity: "+(arguments.length-1));};a.c=function(a,c){return this.$(null,c)};a.l=function(a,c,d){return this.ka(null,c,d)};return a}();g.apply=function(a,b){return this.call.apply(this,[this].concat(Gb(b)))};g.h=function(a){return this.$(null,a)};
+g.c=function(a,b){return this.ka(null,a,b)};Yg.prototype[Fb]=function(){return yd(this)};function Zg(a,b,c,d,e){for(;;)if(b instanceof Yg)c=b.start+c,d=b.start+d,b=b.Ja;else{if(!ze(b))throw Error("v must satisfy IVector");var f=H(b);if(0>c||0>d||c>f||d>f)throw Error("Index out of bounds");return new Yg(a,b,c,d,e)}}function $g(a,b){return a===b.la?b:new Fg(a,Gb(b.o))}
+var ah=function ah(a,b,c,d){c=$g(a.root.la,c);var f=a.F-1>>>b&31;if(5===b)a=d;else{var h=c.o[f];null!=h?(b-=5,a=ah.M?ah.M(a,b,h,d):ah.call(null,a,b,h,d)):a=Jg(a.root.la,b-5,d)}c.o[f]=a;return c};function Tg(a,b,c,d){this.F=a;this.shift=b;this.root=c;this.fa=d;this.J=88;this.m=275}g=Tg.prototype;
+g.Dc=function(a,b){if(this.root.la){if(32>this.F-Ig(this))this.fa[this.F&31]=b;else{var c=new Fg(this.root.la,this.fa),d=[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null];d[0]=b;this.fa=d;if(this.F>>>5>1<>>d&31,m=k(d-5,f.o[p]);f.o[p]=m}return f}}(a)(a.shift,a.root)}();a.root=d}return a}if(b===a.F)return a.Dc(null,c);throw Error(["Index ",v.h(b)," out of bounds for TransientVector of length",v.h(a.F)].join(""));}throw Error("assoc! after persistent!");}
+g.W=function(){if(this.root.la)return this.F;throw Error("count after persistent!");};g.$=function(a,b){if(this.root.la)return(0<=b&&b=c)return new r(this.meta,this.F-1,d,null);G.c(b,this.o[e])||(d[f]=this.o[e],d[f+1]=this.o[e+1],f+=2);e+=2}}else return this};
+g.O=function(a,b,c){a=ih(this.o,b);if(-1===a){if(this.Fb?4:2*(b+1));Be(this.o,0,c,0,2*b);return new xh(a,this.na,c)};g.qd=function(){return yh(this.o,0,null)};g.Jc=function(a,b){return vh(this.o,a,b)};g.sc=function(a,b,c,d){var e=1<<(b>>>a&31);if(0===(this.na&e))return d;var f=$e(this.na&e-1);e=this.o[2*f];f=this.o[2*f+1];return null==e?f.sc(a+5,b,c,d):rh(c,e)?f:d};
+g.Kb=function(a,b,c,d,e,f){var h=1<<(c>>>b&31),k=$e(this.na&h-1);if(0===(this.na&h)){var l=$e(this.na);if(2*l>>b&31]=zh.Kb(a,b+5,c,d,e,f);for(e=d=0;;)if(32>d)0!==
+(this.na>>>d&1)&&(k[d]=null!=this.o[e]?zh.Kb(a,b+5,od(this.o[e]),this.o[e],this.o[e+1],f):this.o[e+1],e+=2),d+=1;else break;return new Ah(a,l+1,k)}b=Array(2*(l+4));Be(this.o,0,b,0,2*k);b[2*k]=d;b[2*k+1]=e;Be(this.o,2*k,b,2*(k+1),2*(l-k));f.H=!0;a=this.Gc(a);a.o=b;a.na|=h;return a}l=this.o[2*k];h=this.o[2*k+1];if(null==l)return l=h.Kb(a,b+5,c,d,e,f),l===h?this:uh(this,a,2*k+1,l);if(rh(d,l))return e===h?this:uh(this,a,2*k+1,e);f.H=!0;f=b+5;b=od(l);if(b===c)e=new Bh(null,b,2,[l,h,d,e]);else{var p=new qh;
+e=zh.Kb(a,f,b,l,h,p).Kb(a,f,c,d,e,p)}d=2*k;k=2*k+1;a=this.Gc(a);a.o[d]=null;a.o[k]=e;return a};
+g.Jb=function(a,b,c,d,e){var f=1<<(b>>>a&31),h=$e(this.na&f-1);if(0===(this.na&f)){var k=$e(this.na);if(16<=k){h=[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null];h[b>>>a&31]=zh.Jb(a+5,b,c,d,e);for(d=c=0;;)if(32>c)0!==(this.na>>>c&1)&&(h[c]=null!=this.o[d]?zh.Jb(a+5,od(this.o[d]),this.o[d],this.o[d+1],e):this.o[d+1],d+=2),c+=1;else break;return new Ah(null,k+1,h)}a=Array(2*(k+1));Be(this.o,
+0,a,0,2*h);a[2*h]=c;a[2*h+1]=d;Be(this.o,2*h,a,2*(h+1),2*(k-h));e.H=!0;return new xh(null,this.na|f,a)}var l=this.o[2*h];f=this.o[2*h+1];if(null==l)return k=f.Jb(a+5,b,c,d,e),k===f?this:new xh(null,this.na,sh(this.o,2*h+1,k));if(rh(c,l))return d===f?this:new xh(null,this.na,sh(this.o,2*h+1,d));e.H=!0;e=this.na;k=this.o;a+=5;var p=od(l);if(p===b)c=new Bh(null,p,2,[l,f,c,d]);else{var m=new qh;c=zh.Jb(a,p,l,f,m).Jb(a,b,c,d,m)}a=2*h;h=2*h+1;d=Gb(k);d[a]=null;d[h]=c;return new xh(null,e,d)};
+g.rd=function(a,b,c){var d=1<<(b>>>a&31);if(0===(this.na&d))return this;var e=$e(this.na&d-1),f=this.o[2*e],h=this.o[2*e+1];return null==f?(a=h.rd(a+5,b,c),a===h?this:null!=a?new xh(null,this.na,sh(this.o,2*e+1,a)):this.na===d?null:new xh(null,this.na^d,th(this.o,e))):rh(c,f)?new xh(null,this.na^d,th(this.o,e)):this};g.ba=function(){return new wh(this.o,0,null,null)};var zh=new xh(null,0,[]);function Ch(a,b,c){this.o=a;this.i=b;this.Lb=c}
+Ch.prototype.ja=function(){for(var a=this.o.length;;){if(null!=this.Lb&&this.Lb.ja())return!0;if(this.i>>a&31];return null!=e?e.sc(a+5,b,c,d):d};g.Kb=function(a,b,c,d,e,f){var h=c>>>b&31,k=this.o[h];if(null==k)return a=uh(this,a,h,zh.Kb(a,b+5,c,d,e,f)),a.F+=1,a;b=k.Kb(a,b+5,c,d,e,f);return b===k?this:uh(this,a,h,b)};
+g.Jb=function(a,b,c,d,e){var f=b>>>a&31,h=this.o[f];if(null==h)return new Ah(null,this.F+1,sh(this.o,f,zh.Jb(a+5,b,c,d,e)));a=h.Jb(a+5,b,c,d,e);return a===h?this:new Ah(null,this.F,sh(this.o,f,a))};
+g.rd=function(a,b,c){var d=b>>>a&31,e=this.o[d];if(null!=e){a=e.rd(a+5,b,c);if(a===e)d=this;else if(null==a)if(8>=this.F)a:{e=this.o;a=e.length;b=Array(2*(this.F-1));c=0;for(var f=1,h=0;;)if(ca?d:rh(c,this.o[a])?this.o[a+1]:d};
+g.Kb=function(a,b,c,d,e,f){if(c===this.ec){b=Eh(this.o,this.F,d);if(-1===b){if(this.o.length>2*this.F)return b=2*this.F,c=2*this.F+1,a=this.Gc(a),a.o[b]=d,a.o[c]=e,f.H=!0,a.F+=1,a;c=this.o.length;b=Array(c+2);Be(this.o,0,b,0,c);b[c]=d;b[c+1]=e;f.H=!0;d=this.F+1;a===this.la?(this.o=b,this.F=d,a=this):a=new Bh(this.la,this.ec,d,b);return a}return this.o[b+1]===e?this:uh(this,a,b+1,e)}return(new xh(a,1<<(this.ec>>>b&31),[null,this,null,null])).Kb(a,b,c,d,e,f)};
+g.Jb=function(a,b,c,d,e){return b===this.ec?(a=Eh(this.o,this.F,c),-1===a?(a=2*this.F,b=Array(a+2),Be(this.o,0,b,0,a),b[a]=c,b[a+1]=d,e.H=!0,new Bh(null,this.ec,this.F+1,b)):G.c(this.o[a+1],d)?this:new Bh(null,this.ec,this.F,sh(this.o,a+1,d))):(new xh(null,1<<(this.ec>>>a&31),[null,this])).Jb(a,b,c,d,e)};g.rd=function(a,b,c){a=Eh(this.o,this.F,c);return-1===a?this:1===this.F?null:new Bh(null,this.ec,this.F-1,th(this.o,Ze(a)))};g.ba=function(){return new wh(this.o,0,null,null)};
+function Fh(a,b,c,d,e){this.meta=a;this.Mb=b;this.i=c;this.s=d;this.w=e;this.m=32374988;this.J=0}g=Fh.prototype;g.toString=function(){return fd(this)};g.equiv=function(a){return this.K(null,a)};g.indexOf=function(){var a=null;a=function(a,c){switch(arguments.length){case 1:return Ud(this,a,0);case 2:return Ud(this,a,c)}throw Error("Invalid arity: "+(arguments.length-1));};a.h=function(a){return Ud(this,a,0)};a.c=function(a,c){return Ud(this,a,c)};return a}();
+g.lastIndexOf=function(){function a(a){return Xd(this,a,H(this))}var b=null;b=function(b,d){switch(arguments.length){case 1:return a.call(this,b);case 2:return Xd(this,b,d)}throw Error("Invalid arity: "+(arguments.length-1));};b.h=a;b.c=function(a,b){return Xd(this,a,b)};return b}();g.P=function(){return this.meta};g.Ka=function(){return null==this.s?yh(this.Mb,this.i+2,null):yh(this.Mb,this.i,z(this.s))};g.U=function(){var a=this.w;return null!=a?a:this.w=a=Ad(this)};
+g.K=function(a,b){return $d(this,b)};g.oa=function(){return tc(wd,this.meta)};g.Fa=function(a,b){return ce(b,this)};g.Ga=function(a,b,c){return de(b,c,this)};g.Ia=function(){return null==this.s?new R(null,2,5,T,[this.Mb[this.i],this.Mb[this.i+1]],null):y(this.s)};g.bb=function(){var a=null==this.s?yh(this.Mb,this.i+2,null):yh(this.Mb,this.i,z(this.s));return null!=a?a:wd};g.S=function(){return this};g.T=function(a,b){return new Fh(b,this.Mb,this.i,this.s,this.w)};g.X=function(a,b){return ae(b,this)};
+Fh.prototype[Fb]=function(){return yd(this)};function yh(a,b,c){if(null==c)for(c=a.length;;)if(bthis.F?H(z(this))+1:this.F};g.U=function(){var a=this.w;return null!=a?a:this.w=a=Ad(this)};g.K=function(a,b){return $d(this,b)};g.oa=function(){return tc(wd,this.meta)};g.Fa=function(a,b){return ce(b,this)};g.Ga=function(a,b,c){return de(b,c,this)};g.Ia=function(){var a=this.stack;return null==a?null:nc(a)};g.bb=function(){var a=y(this.stack);a=Mh(this.vc?a.right:a.left,z(this.stack),this.vc);return null!=a?new Nh(null,a,this.vc,this.F-1,null):wd};g.S=function(){return this};
+g.T=function(a,b){return new Nh(b,this.stack,this.vc,this.F,this.w)};g.X=function(a,b){return ae(b,this)};Nh.prototype[Fb]=function(){return yd(this)};function Oh(a,b,c){return new Nh(null,Mh(a,null,b),b,c,null)}
+function Ph(a,b,c,d){return c instanceof Qh?c.left instanceof Qh?new Qh(c.key,c.H,c.left.bc(),new Rh(a,b,c.right,d,null),null):c.right instanceof Qh?new Qh(c.right.key,c.right.H,new Rh(c.key,c.H,c.left,c.right.left,null),new Rh(a,b,c.right.right,d,null),null):new Rh(a,b,c,d,null):new Rh(a,b,c,d,null)}
+function Sh(a,b,c,d){return d instanceof Qh?d.right instanceof Qh?new Qh(d.key,d.H,new Rh(a,b,c,d.left,null),d.right.bc(),null):d.left instanceof Qh?new Qh(d.left.key,d.left.H,new Rh(a,b,c,d.left.left,null),new Rh(d.key,d.H,d.left.right,d.right,null),null):new Rh(a,b,c,d,null):new Rh(a,b,c,d,null)}
+function Th(a,b,c,d){if(c instanceof Qh)return new Qh(a,b,c.bc(),d,null);if(d instanceof Rh)return Sh(a,b,c,d.ud());if(d instanceof Qh&&d.left instanceof Rh)return new Qh(d.left.key,d.left.H,new Rh(a,b,c,d.left.left,null),Sh(d.key,d.H,d.left.right,d.right.ud()),null);throw Error("red-black tree invariant violation");}
+function Uh(a,b,c,d){if(d instanceof Qh)return new Qh(a,b,c,d.bc(),null);if(c instanceof Rh)return Ph(a,b,c.ud(),d);if(c instanceof Qh&&c.right instanceof Rh)return new Qh(c.right.key,c.right.H,Ph(c.key,c.H,c.left.ud(),c.right.left),new Rh(a,b,c.right.right,d,null),null);throw Error("red-black tree invariant violation");}
+var Vh=function Vh(a,b,c){var e=null!=a.left?function(){var e=a.left;return Vh.l?Vh.l(e,b,c):Vh.call(null,e,b,c)}():c;if(Hd(e))return e;var f=function(){var c=a.key,f=a.H;return b.l?b.l(e,c,f):b.call(null,e,c,f)}();if(Hd(f))return f;if(null!=a.right){var h=a.right;return Vh.l?Vh.l(h,b,f):Vh.call(null,h,b,f)}return f};function Rh(a,b,c,d,e){this.key=a;this.H=b;this.left=c;this.right=d;this.w=e;this.m=32402207;this.J=0}g=Rh.prototype;
+g.lastIndexOf=function(){function a(a){return Xd(this,a,H(this))}var b=null;b=function(b,d){switch(arguments.length){case 1:return a.call(this,b);case 2:return Xd(this,b,d)}throw Error("Invalid arity: "+(arguments.length-1));};b.h=a;b.c=function(a,b){return Xd(this,a,b)};return b}();
+g.indexOf=function(){var a=null;a=function(a,c){switch(arguments.length){case 1:return Ud(this,a,0);case 2:return Ud(this,a,c)}throw Error("Invalid arity: "+(arguments.length-1));};a.h=function(a){return Ud(this,a,0)};a.c=function(a,c){return Ud(this,a,c)};return a}();g.Ee=function(a){return a.He(this)};g.ud=function(){return new Qh(this.key,this.H,this.left,this.right,null)};g.bc=function(){return this};g.De=function(a){return a.Ge(this)};g.replace=function(a,b,c,d){return new Rh(a,b,c,d,null)};
+g.Ge=function(a){return new Rh(a.key,a.H,this,a.right,null)};g.He=function(a){return new Rh(a.key,a.H,a.left,this,null)};g.Jc=function(a,b){return Vh(this,a,b)};g.V=function(a,b){return this.ka(null,b,null)};g.I=function(a,b,c){return this.ka(null,b,c)};g.$=function(a,b){if(0===b)return this.key;if(1===b)return this.H;throw Error("Index out of bounds");};g.ka=function(a,b,c){return 0===b?this.key:1===b?this.H:c};g.dc=function(a,b,c){return(new R(null,2,5,T,[this.key,this.H],null)).dc(null,b,c)};
+g.P=function(){return null};g.W=function(){return 2};g.fd=function(){return this.key};g.gd=function(){return this.H};g.Ac=function(){return this.H};g.Bc=function(){return new R(null,1,5,T,[this.key],null)};g.U=function(){var a=this.w;return null!=a?a:this.w=a=Ad(this)};g.K=function(a,b){return $d(this,b)};g.oa=function(){return he};g.Fa=function(a,b){return Kd(this,b)};g.Ga=function(a,b,c){return Ld(this,b,c)};g.O=function(a,b,c){return K.l(new R(null,2,5,T,[this.key,this.H],null),b,c)};
+g.yc=function(a,b){return 0===b||1===b};g.S=function(){var a=this.key;return Tb(Tb(wd,this.H),a)};g.T=function(a,b){return tc(new R(null,2,5,T,[this.key,this.H],null),b)};g.X=function(a,b){return new R(null,3,5,T,[this.key,this.H,b],null)};
+g.call=function(){var a=null;a=function(a,c,d){switch(arguments.length){case 2:return this.$(null,c);case 3:return this.ka(null,c,d)}throw Error("Invalid arity: "+(arguments.length-1));};a.c=function(a,c){return this.$(null,c)};a.l=function(a,c,d){return this.ka(null,c,d)};return a}();g.apply=function(a,b){return this.call.apply(this,[this].concat(Gb(b)))};g.h=function(a){return this.$(null,a)};g.c=function(a,b){return this.ka(null,a,b)};Rh.prototype[Fb]=function(){return yd(this)};
+function Qh(a,b,c,d,e){this.key=a;this.H=b;this.left=c;this.right=d;this.w=e;this.m=32402207;this.J=0}g=Qh.prototype;g.lastIndexOf=function(){function a(a){return Xd(this,a,H(this))}var b=null;b=function(b,d){switch(arguments.length){case 1:return a.call(this,b);case 2:return Xd(this,b,d)}throw Error("Invalid arity: "+(arguments.length-1));};b.h=a;b.c=function(a,b){return Xd(this,a,b)};return b}();
+g.indexOf=function(){var a=null;a=function(a,c){switch(arguments.length){case 1:return Ud(this,a,0);case 2:return Ud(this,a,c)}throw Error("Invalid arity: "+(arguments.length-1));};a.h=function(a){return Ud(this,a,0)};a.c=function(a,c){return Ud(this,a,c)};return a}();g.Ee=function(a){return new Qh(this.key,this.H,this.left,a,null)};g.ud=function(){throw Error("red-black tree invariant violation");};g.bc=function(){return new Rh(this.key,this.H,this.left,this.right,null)};
+g.De=function(a){return new Qh(this.key,this.H,a,this.right,null)};g.replace=function(a,b,c,d){return new Qh(a,b,c,d,null)};g.Ge=function(a){return this.left instanceof Qh?new Qh(this.key,this.H,this.left.bc(),new Rh(a.key,a.H,this.right,a.right,null),null):this.right instanceof Qh?new Qh(this.right.key,this.right.H,new Rh(this.key,this.H,this.left,this.right.left,null),new Rh(a.key,a.H,this.right.right,a.right,null),null):new Rh(a.key,a.H,this,a.right,null)};
+g.He=function(a){return this.right instanceof Qh?new Qh(this.key,this.H,new Rh(a.key,a.H,a.left,this.left,null),this.right.bc(),null):this.left instanceof Qh?new Qh(this.left.key,this.left.H,new Rh(a.key,a.H,a.left,this.left.left,null),new Rh(this.key,this.H,this.left.right,this.right,null),null):new Rh(a.key,a.H,a.left,this,null)};g.Jc=function(a,b){return Vh(this,a,b)};g.V=function(a,b){return this.ka(null,b,null)};g.I=function(a,b,c){return this.ka(null,b,c)};
+g.$=function(a,b){if(0===b)return this.key;if(1===b)return this.H;throw Error("Index out of bounds");};g.ka=function(a,b,c){return 0===b?this.key:1===b?this.H:c};g.dc=function(a,b,c){return(new R(null,2,5,T,[this.key,this.H],null)).dc(null,b,c)};g.P=function(){return null};g.W=function(){return 2};g.fd=function(){return this.key};g.gd=function(){return this.H};g.Ac=function(){return this.H};g.Bc=function(){return new R(null,1,5,T,[this.key],null)};
+g.U=function(){var a=this.w;return null!=a?a:this.w=a=Ad(this)};g.K=function(a,b){return $d(this,b)};g.oa=function(){return he};g.Fa=function(a,b){return Kd(this,b)};g.Ga=function(a,b,c){return Ld(this,b,c)};g.O=function(a,b,c){return K.l(new R(null,2,5,T,[this.key,this.H],null),b,c)};g.yc=function(a,b){return 0===b||1===b};g.S=function(){var a=this.key;return Tb(Tb(wd,this.H),a)};g.T=function(a,b){return tc(new R(null,2,5,T,[this.key,this.H],null),b)};
+g.X=function(a,b){return new R(null,3,5,T,[this.key,this.H,b],null)};g.call=function(){var a=null;a=function(a,c,d){switch(arguments.length){case 2:return this.$(null,c);case 3:return this.ka(null,c,d)}throw Error("Invalid arity: "+(arguments.length-1));};a.c=function(a,c){return this.$(null,c)};a.l=function(a,c,d){return this.ka(null,c,d)};return a}();g.apply=function(a,b){return this.call.apply(this,[this].concat(Gb(b)))};g.h=function(a){return this.$(null,a)};
+g.c=function(a,b){return this.ka(null,a,b)};Qh.prototype[Fb]=function(){return yd(this)};
+var Wh=function Wh(a,b,c,d,e){if(null==b)return new Qh(c,d,null,null,null);var h=function(){var d=b.key;return a.c?a.c(c,d):a.call(null,c,d)}();if(0===h)return e[0]=b,null;if(0>h)return h=function(){var h=b.left;return Wh.Z?Wh.Z(a,h,c,d,e):Wh.call(null,a,h,c,d,e)}(),null!=h?b.De(h):null;h=function(){var h=b.right;return Wh.Z?Wh.Z(a,h,c,d,e):Wh.call(null,a,h,c,d,e)}();return null!=h?b.Ee(h):null},Xh=function Xh(a,b){if(null==a)return b;if(null==b)return a;if(a instanceof Qh){if(b instanceof Qh){var d=
+function(){var d=a.right,f=b.left;return Xh.c?Xh.c(d,f):Xh.call(null,d,f)}();return d instanceof Qh?new Qh(d.key,d.H,new Qh(a.key,a.H,a.left,d.left,null),new Qh(b.key,b.H,d.right,b.right,null),null):new Qh(a.key,a.H,a.left,new Qh(b.key,b.H,d,b.right,null),null)}return new Qh(a.key,a.H,a.left,function(){var d=a.right;return Xh.c?Xh.c(d,b):Xh.call(null,d,b)}(),null)}if(b instanceof Qh)return new Qh(b.key,b.H,function(){var d=b.left;return Xh.c?Xh.c(a,d):Xh.call(null,a,d)}(),b.right,null);d=function(){var d=
+a.right,f=b.left;return Xh.c?Xh.c(d,f):Xh.call(null,d,f)}();return d instanceof Qh?new Qh(d.key,d.H,new Rh(a.key,a.H,a.left,d.left,null),new Rh(b.key,b.H,d.right,b.right,null),null):Th(a.key,a.H,a.left,new Rh(b.key,b.H,d,b.right,null))},Yh=function Yh(a,b,c,d){if(null!=b){var f=function(){var d=b.key;return a.c?a.c(c,d):a.call(null,c,d)}();if(0===f)return d[0]=b,Xh(b.left,b.right);if(0>f)return f=function(){var f=b.left;return Yh.M?Yh.M(a,f,c,d):Yh.call(null,a,f,c,d)}(),null!=f||null!=d[0]?b.left instanceof
+Rh?Th(b.key,b.H,f,b.right):new Qh(b.key,b.H,f,b.right,null):null;f=function(){var f=b.right;return Yh.M?Yh.M(a,f,c,d):Yh.call(null,a,f,c,d)}();return null!=f||null!=d[0]?b.right instanceof Rh?Uh(b.key,b.H,b.left,f):new Qh(b.key,b.H,b.left,f,null):null}return null},Zh=function Zh(a,b,c,d){var f=b.key,h=a.c?a.c(c,f):a.call(null,c,f);return 0===h?b.replace(f,d,b.left,b.right):0>h?b.replace(f,b.H,function(){var f=b.left;return Zh.M?Zh.M(a,f,c,d):Zh.call(null,a,f,c,d)}(),b.right):b.replace(f,b.H,b.left,
+function(){var f=b.right;return Zh.M?Zh.M(a,f,c,d):Zh.call(null,a,f,c,d)}())};function $h(a,b,c,d,e){this.Bb=a;this.mc=b;this.F=c;this.meta=d;this.w=e;this.m=418776847;this.J=8192}g=$h.prototype;g.forEach=function(a){for(var b=E(this),c=null,d=0,e=0;;)if(ed?c.left:c.right}else return null}g.has=function(a){return He(this,a)};g.V=function(a,b){return this.I(null,b,null)};
+g.I=function(a,b,c){a=ai(this,b);return null!=a?a.H:c};g.Qc=function(a,b,c){return null!=this.mc?Jd(Vh(this.mc,b,c)):c};g.P=function(){return this.meta};g.W=function(){return this.F};g.Rc=function(){return 0(a.h?a.h(c):a.call(null,c))?b:c};Ai.A=function(a,b,c,d){return Mb(function(b,c){return Ai.l(a,b,c)},Ai.l(a,b,c),d)};Ai.N=function(a){var b=y(a),c=z(a);a=y(c);var d=z(c);c=y(d);d=z(d);return Ai.A(b,a,c,d)};Ai.L=3;function Bi(a,b){return new kf(null,function(){var c=E(b);if(c){var d=y(c);d=a.h?a.h(d):a.call(null,d);c=t(d)?ae(y(c),Bi(a,vd(c))):null}else c=null;return c},null,null)}function Di(a,b,c){this.i=a;this.end=b;this.step=c}
+Di.prototype.ja=function(){return 0this.end};Di.prototype.next=function(){var a=this.i;this.i+=this.step;return a};function Ei(a,b,c,d,e){this.meta=a;this.start=b;this.end=c;this.step=d;this.w=e;this.m=32375006;this.J=139264}g=Ei.prototype;g.toString=function(){return fd(this)};g.equiv=function(a){return this.K(null,a)};
+g.indexOf=function(){var a=null;a=function(a,c){switch(arguments.length){case 1:return Ud(this,a,0);case 2:return Ud(this,a,c)}throw Error("Invalid arity: "+(arguments.length-1));};a.h=function(a){return Ud(this,a,0)};a.c=function(a,c){return Ud(this,a,c)};return a}();
+g.lastIndexOf=function(){function a(a){return Xd(this,a,H(this))}var b=null;b=function(b,d){switch(arguments.length){case 1:return a.call(this,b);case 2:return Xd(this,b,d)}throw Error("Invalid arity: "+(arguments.length-1));};b.h=a;b.c=function(a,b){return Xd(this,a,b)};return b}();g.$=function(a,b){if(0<=b&&bthis.end&&0===this.step)return this.start;throw Error("Index out of bounds");};
+g.ka=function(a,b,c){return 0<=b&&bthis.end&&0===this.step?this.start:c};g.ba=function(){return new Di(this.start,this.end,this.step)};g.P=function(){return this.meta};g.Ka=function(){return 0this.end?new Ei(this.meta,this.start+this.step,this.end,this.step,null):null};
+g.W=function(){return wb(this.S(null))?0:Math.ceil((this.end-this.start)/this.step)};g.U=function(){var a=this.w;return null!=a?a:this.w=a=Ad(this)};g.K=function(a,b){return $d(this,b)};g.oa=function(){return tc(wd,this.meta)};g.Fa=function(a,b){return Kd(this,b)};g.Ga=function(a,b,c){for(a=this.start;;)if(0this.end){c=b.c?b.c(c,a):b.call(null,c,a);if(Hd(c))return B(c);a+=this.step}else return c};g.Ia=function(){return null==this.S(null)?null:this.start};
+g.bb=function(){return null!=this.S(null)?new Ei(this.meta,this.start+this.step,this.end,this.step,null):wd};g.S=function(){return 0this.step?this.start>this.end?this:null:this.start===this.end?null:this};g.T=function(a,b){return new Ei(b,this.start,this.end,this.step,this.w)};g.X=function(a,b){return ae(b,this)};Ei.prototype[Fb]=function(){return yd(this)};function Fi(a,b,c){return new Ei(null,a,b,c,null)}
+function Gi(a,b){return new R(null,2,5,T,[Bi(a,b),ng(a,b)],null)}
+function Hi(a){var b=y;return function(){function c(c,d,e){return new R(null,2,5,T,[b.l?b.l(c,d,e):b.call(null,c,d,e),a.l?a.l(c,d,e):a.call(null,c,d,e)],null)}function d(c,d){return new R(null,2,5,T,[b.c?b.c(c,d):b.call(null,c,d),a.c?a.c(c,d):a.call(null,c,d)],null)}function e(c){return new R(null,2,5,T,[b.h?b.h(c):b.call(null,c),a.h?a.h(c):a.call(null,c)],null)}function f(){return new R(null,2,5,T,[b.B?b.B():b.call(null),a.B?a.B():a.call(null)],null)}var h=null,k=function(){function c(a,b,c,e){var f=
+null;if(3lb)return Jc(a,"#");Jc(a,c);if(0===tb.h(f))E(h)&&Jc(a,function(){var a=Ki.h(f);return t(a)?a:"..."}());else{if(E(h)){var l=y(h);b.l?b.l(l,a,f):b.call(null,l,a,f)}for(var p=z(h),m=tb.h(f)-1;;)if(!p||null!=m&&0===m){E(p)&&0===m&&(Jc(a,d),Jc(a,function(){var a=Ki.h(f);return t(a)?a:"..."}()));break}else{Jc(a,d);var u=y(p);c=a;h=f;b.l?b.l(u,c,h):b.call(null,u,c,h);var w=z(p);c=m-1;p=w;m=c}}return Jc(a,e)}finally{lb=k}}
+function Li(a,b){for(var c=E(b),d=null,e=0,f=0;;)if(fH(a)?a.toUpperCase():[v.h(a.substring(0,1).toUpperCase()),v.h(a.substring(1))].join("")}
+function Qo(a){if("string"===typeof a)return a;a=jf(a);var b=Fo(a,/-/),c=E(b);b=y(c);c=z(c);return t(Oo.h?Oo.h(b):Oo.call(null,b))?a:Kb(v,b,ig.c(Po,c))}function Ro(a){var b=function(){var b=function(){var b=me(a);return b?(b=a.displayName,t(b)?b:a.name):b}();if(t(b))return b;b=function(){var b=null!=a?a.J&4096||q===a.Oe?!0:!1:!1;return b?jf(a):b}();if(t(b))return b;b=qe(a);return xe(b)?Tk.h(b):null}();return Do(""+v.h(b),"$",".")}var So=!1;if("undefined"===typeof To)var To=0;function Uo(a){return setTimeout(a,16)}var Vo="undefined"===typeof window||null==window.document?Uo:function(){var a=window,b=a.requestAnimationFrame;if(t(b))return b;b=a.webkitRequestAnimationFrame;if(t(b))return b;b=a.mozRequestAnimationFrame;if(t(b))return b;a=a.msRequestAnimationFrame;return t(a)?a:Uo}();function Wo(a,b){return a.cljsMountOrder-b.cljsMountOrder}if("undefined"===typeof Xo)var Xo=function(){return null};function Yo(a){this.Yd=a}
+function Zo(a,b){var c=a[b];if(null==c)return null;a[b]=null;for(var d=c.length,e=0;;)if(e=d&&a.push(gq(c));return a}}(e),[b,c],a))}};if("undefined"===typeof jq)var jq=null;function kq(){if(null!=jq)return jq;if("undefined"!==typeof ReactDOM)return jq=ReactDOM;if("undefined"!==typeof require){var a=jq=require("react-dom");if(t(a))return a;throw Error("require('react-dom') failed");}throw Error("js/ReactDOM is missing");}if("undefined"===typeof lq)var lq=dg.h(Ef);
+function mq(a,b,c){var d=So;So=!0;try{return kq().render(a.B?a.B():a.call(null),b,function(){return function(){var d=So;So=!1;try{return gg.M(lq,K,b,new R(null,2,5,T,[a,b],null)),Zo(bp,"afterRender"),null!=c?c.B?c.B():c.call(null):null}finally{So=d}}}(d))}finally{So=d}}function nq(a,b){return mq(a,b,null)}function oq(a,b,c){qp();return mq(function(){return gq(me(a)?a.B?a.B():a.call(null):a)},b,c)}Wp=function(a){return kq().findDOMNode(a)};function pq(a){switch(arguments.length){case 2:return oq(arguments[0],arguments[1],null);case 3:return oq(arguments[0],arguments[1],arguments[2]);default:throw Error(["Invalid arity: ",v.h(arguments.length)].join(""));}}function qq(a,b){return oq(a,b,null)}
+da("reagent.core.force_update_all",function(){qp();qp();for(var a=E(mh(B(lq))),b=null,c=0,d=0;;)if(d=Number(c)?a:a=-1Number(a)?"-":0<=b.indexOf("+")?"+":0<=b.indexOf(" ")?" ":"";0<=Number(a)&&(d=f+d);if(isNaN(c)||d.length>=Number(c))return d;d=isNaN(e)?Math.abs(Number(a)).toString():Math.abs(Number(a)).toFixed(e);a=Number(c)-d.length-f.length;0<=b.indexOf("-",0)?d=f+d+sa(" ",a):(b=0<=b.indexOf("0",0)?"0":" ",d=f+sa(b,a)+d);return d};yq.fc.d=function(a,b,c,d,e,f,h,k){return yq.fc.f(parseInt(a,10),b,c,d,0,f,h,k)};
+yq.fc.i=yq.fc.d;yq.fc.u=yq.fc.d;function zq(a){var b=be([Vk,null]);return wg.c(t(a)?a:Ef,function(){return function e(a){return new kf(null,function(){for(var b=a;;)if(b=E(b)){if(Ae(b)){var d=Wc(b),k=H(d),l=of(k);a:for(var p=0;;)if(p=H(h)&&Vf(function(){return function(a){return!(a instanceof Xq)}}(b,c,d,e,f,h),h)))throw Error(Bq("%s is not a valid sequence schema; %s%s%s",be([a,"a valid sequence schema consists of zero or more `one` elements, ","followed by zero or more `optional` elements, followed by an optional ",
+"schema that will match the remaining elements."])));return new R(null,2,5,T,[O.c(c,f),y(h)],null)}
+R.prototype.xb=function(){var a=this,b=Zq(a),c=J(b,0,null),d=J(b,1,null);return Wg(O.c(function(){return function(a,b,c,d){return function m(e){return new kf(null,function(){return function(){for(;;){var a=E(e);if(a){if(Ae(a)){var b=Wc(a),c=H(b),d=of(c);return function(){for(var a=0;;)if(ac?f:c;return $r(a,ea?0:a}():function(){var a=e-b;return f>a?f:a}())}
+function gs(a,b){var c=null!=a&&(a.m&64||q===a.G)?P(U,a):a,d=D.c(c,pl);d=null!=d&&(d.m&64||q===d.G)?P(U,d):d;var e=D.c(d,Aj),f=D.c(c,Yj),h=D.c(c,no);return $r(c,e>f?function(){var a=h-1,c=e+b;return a=a}}(l,p,a,c,c,d,e,f,h,k),h),l,p);return Zr(c,d)}
+function it(a,b){var c=null!=a&&(a.m&64||q===a.G)?P(U,a):a,d=D.c(c,pl),e=null!=d&&(d.m&64||q===d.G)?P(U,d):d,f=D.c(e,zn),h=D.c(c,tk),k=D.c(c,fl),l=b-1;d=J(cf(Bi(function(a,b,c,d,e,f,h){return function(a){return h>a}}(l,a,c,c,d,e,f,h,k),h)),l,0);return Zr(c,d)}function jt(a){return K.l(a,im,Ve)}function kt(a){return K.l(a,im,Hr)}function lt(a,b,c){return K.l(a,b,c)}function mt(a,b,c){return Wg(O.A(jg(b,a),new R(null,1,5,T,[c],null),be([jg(H(a)-b-1,kg(b,a))])))}
+function nt(a,b){var c=null!=a&&(a.m&64||q===a.G)?P(U,a):a,d=D.c(c,pl),e=null!=d&&(d.m&64||q===d.G)?P(U,d):d;d=D.c(e,zn);e=D.c(e,Aj);var f=D.c(c,fl);D.c(c,no);var h=D.c(c,Oj),k=D.c(c,Rj),l=D.c(c,$l),p=D.c(c,im);p=95b?p.h?p.h(b):p.call(null,b):b;h=tr(p,h);return G.c(f,d+1)?t(k)?K.l(Yr(zg(c,new R(null,3,5,T,[il,e,d],null),h),d+1),vk,!0):zg(c,new R(null,3,5,T,[il,e,d],null),h):Yr(Ag.Z(c,new R(null,2,5,T,[il,e],null),t(l)?mt:lt,d,h),d+1)}
+function ot(a,b){var c=null!=a&&(a.m&64||q===a.G)?P(U,a):a,d=D.c(c,Rj),e=D.c(c,vk);t(t(d)?e:d)&&(c=null!=c&&(c.m&64||q===c.G)?P(U,c):c,d=D.c(c,pl),d=null!=d&&(d.m&64||q===d.G)?P(U,d):d,d=D.c(d,Aj),e=D.c(c,no),c=Yr(c,0),c=G.c(e,d+1)?Tr.h(c):$r(c,d+1));return c=nt(c,b)}function pt(a){a=null!=a&&(a.m&64||q===a.G)?P(U,a):a;var b=D.c(a,fl),c=D.c(a,no);return K.l(a,il,Wg(qg(c,Wg(qg(b,new R(null,2,5,T,[69,Ef],null))))))}
+function qt(a){a=null!=a&&(a.m&64||q===a.G)?P(U,a):a;var b=D.c(a,pl);b=null!=b&&(b.m&64||q===b.G)?P(U,b):b;b=D.c(b,Aj);var c=D.c(a,fl),d=D.c(a,Oj);return zg(a,new R(null,2,5,T,[il,b],null),gr.c(c,d))}function rt(a,b,c){return Wg(O.c(jg(b,a),qg(H(a)-b,vr(c))))}function st(a,b,c){return Wg(O.c(qg(b+1,vr(c)),kg(b+1,a)))}
+function tt(a){a=null!=a&&(a.m&64||q===a.G)?P(U,a):a;var b=D.c(a,pl),c=null!=b&&(b.m&64||q===b.G)?P(U,b):b;b=D.c(c,zn);c=D.c(c,Aj);var d=D.c(a,fl),e=D.c(a,Oj);--d;return Ag.Z(a,new R(null,2,5,T,[il,c],null),rt,b=k?Zr(c,k-1):c,m=Mb(D,p,new R(null,2,5,T,[pl,zn],null));return Ag.l(p,new R(null,2,5,T,[il,h],null),function(a,b,c,d,e,f,h,k,m,l,p,Q){return function(a){return Wg(O.A(jg(b,a),kg(b+c,a),be([qg(c,vr(Q))])))}}(p,m,function(){var a=k-m;return b=a}}(c,b)(b)}()))return Gu(a,b+64);throw Jt;}catch(h){if(h instanceof Error){var d=h;if(d===Jt)try{if(55===b)return Bg(a,V,ms);throw Jt;}catch(k){if(k instanceof Error){var e=k;if(e===Jt)try{if(56===b)return Bg(a,V,ns);throw Jt;}catch(l){if(l instanceof Error){var f=l;if(f===Jt)try{if(99===b)return du(a);
+throw Jt;}catch(p){if(p instanceof Error){d=p;if(d===Jt)throw Jt;throw d;}throw p;}else throw f;}else throw l;}else throw e;}else throw k;}else throw d;}else throw h;}else throw Jt;}catch(h){if(h instanceof Error)if(d=h,d===Jt)try{if(35===c)try{if(56===b)return Bg(a,V,pt);throw Jt;}catch(k){if(k instanceof Error){e=k;if(e===Jt)throw Jt;throw e;}throw k;}else throw Jt;}catch(k){if(k instanceof Error)if(e=k,e===Jt)try{if(40===c)try{if(48===b)return Zt(a);throw Jt;}catch(l){if(l instanceof Error){f=
+l;if(f===Jt)return $t(a);throw f;}throw l;}else throw Jt;}catch(l){if(l instanceof Error){f=l;if(f===Jt)return a;throw f;}throw l;}else throw e;else throw k;}else throw d;else throw h;}},function(a){return a},function(a){return a},Gu,function(a,b){return Cg(a,V,ot,b)},function(a,b){var c=function(){switch(b){case 64:return eu;case 65:return fu;case 66:return gu;case 67:return hu;case 68:return iu;case 69:return ju;case 70:return ku;case 71:return lu;case 72:return mu;case 73:return nu;case 74:return ou;
+case 75:return pu;case 76:return su;case 77:return tu;case 80:return uu;case 83:return qu;case 84:return ru;case 87:return vu;case 88:return wu;case 90:return xu;case 96:return lu;case 97:return hu;case 100:return Du;case 101:return fu;case 102:return mu;case 103:return yu;case 104:return zu;case 108:return Au;case 109:return Cu;case 112:return Eu;case 114:return Fu;default:return null}}();return t(c)?c.h?c.h(a):c.call(null,a):a},function(a){return a},function(a,b){return K.l(a,kk,ge.c(kk.h(a),b))},
+function(a){return a},function(a,b){return K.l(a,rk,ge.c(rk.h(a),b))},function(a){return a},function(a){return a},function(a){return K.A(a,rk,he,be([kk,he]))}]);function Iu(a,b){for(var c=a,d=Tl.h(c),e=b;;){var f=y(e);if(t(f)){var h=160<=f?65:f;h=D.c(d.h?d.h(xq):d.call(null,xq),h);d=J(h,0,null);h=J(h,1,null);a:for(;;)if(E(h)){var k=y(h);k=Hu.h?Hu.h(k):Hu.call(null,k);c=k.c?k.c(c,f):k.call(null,c,f);h=z(h)}else break a;e=vd(e)}else return K.l(c,Tl,d)}}
+function Ju(a,b){var c=xg(function(a){return a.codePointAt(0)},b);return Iu(a,c)}
+function Ku(a,b){try{if(ze(b)&&3===H(b)){var c=Vd(b,0),d=Vd(b,1),e=Vd(b,2);return[v.h(a+8),";2;",v.h(c),";",v.h(d),";",v.h(e)].join("")}throw Jt;}catch(k){if(k instanceof Error){var f=k;if(f===Jt)try{if(t(function(){return function(){return function(a){return 8>a}}(f)(b)}()))return""+v.h(a+b);throw Jt;}catch(l){if(l instanceof Error){var h=l;if(h===Jt)try{if(t(function(){return function(){return function(a){return 16>a}}(h,f)(b)}()))return""+v.h(a+52+b);throw Jt;}catch(p){if(p instanceof Error){c=
+p;if(c===Jt)return[v.h(a+8),";5;",v.h(b)].join("");throw c;}throw p;}else throw h;}else throw l;}else throw f;}else throw k;}}ag.c(Ku,30);ag.c(Ku,40);var Lu=function Lu(a){if(null!=a&&null!=a.yd)return a.yd(a);var c=Lu[n(null==a?null:a)];if(null!=c)return c.h?c.h(a):c.call(null,a);c=Lu._;if(null!=c)return c.h?c.h(a):c.call(null,a);throw Cb("Screen.lines",a);},Mu=function Mu(a){if(null!=a&&null!=a.xd)return a.xd(a);var c=Mu[n(null==a?null:a)];if(null!=c)return c.h?c.h(a):c.call(null,a);c=Mu._;if(null!=c)return c.h?c.h(a):c.call(null,a);throw Cb("Screen.cursor",a);};function Nu(a,b){var c=0parseFloat(Iv)){Hv=String(Kv);break a}}Hv=Iv}var gb={};
+function Lv(a){return fb(a,function(){for(var b=0,c=ra(String(Hv)).split("."),d=ra(String(a)).split("."),e=Math.max(c.length,d.length),f=0;0==b&&f=a.keyCode)a.keyCode=-1}catch(b){}};var Uv="closure_listenable_"+(1E6*Math.random()|0),Vv=0;function Wv(a,b,c,d,e){this.listener=a;this.Xd=null;this.src=b;this.type=c;this.capture=!!d;this.Ub=e;this.key=++Vv;this.$c=this.Fd=!1}function Xv(a){a.$c=!0;a.listener=null;a.Xd=null;a.src=null;a.Ub=null};function Yv(a){this.src=a;this.rb={};this.wd=0}Yv.prototype.add=function(a,b,c,d,e){var f=a.toString();a=this.rb[f];a||(a=this.rb[f]=[],this.wd++);var h=Zv(a,b,d,e);-1e.keyCode||void 0!=e.returnValue)){a:{var f=!1;if(0==e.keyCode)try{e.keyCode=-1;break a}catch(l){f=!0}if(f||void 0==e.returnValue)e.returnValue=!0}e=[];for(f=c.currentTarget;f;f=f.parentNode)e.push(f);f=a.type;for(var h=e.length-1;!c.Kc&&0<=h;h--){c.currentTarget=e[h];var k=nw(e[h],f,!0,c);d=d&&k}for(h=0;!c.Kc&&
+h>>0);function fw(a){if(ha(a))return a;a[pw]||(a[pw]=function(b){return a.handleEvent(b)});return a[pw]};function qw(){wv.call(this);this.Ib=new Yv(this);this.ff=this;this.ve=null}qa(qw,wv);qw.prototype[Uv]=!0;g=qw.prototype;g.addEventListener=function(a,b,c,d){dw(this,a,b,c,d)};g.removeEventListener=function(a,b,c,d){lw(this,a,b,c,d)};
+g.dispatchEvent=function(a){var b,c=this.ve;if(c)for(b=[];c;c=c.ve)b.push(c);c=this.ff;var d=a.type||a;if(ca(a))a=new Sv(a,c);else if(a instanceof Sv)a.target=a.target||c;else{var e=a;a=new Sv(d,c);Ia(a,e)}e=!0;if(b)for(var f=b.length-1;!a.Kc&&0<=f;f--){var h=a.currentTarget=b[f];e=rw(h,d,!0,a)&&e}a.Kc||(h=a.currentTarget=c,e=rw(h,d,!0,a)&&e,a.Kc||(e=rw(h,d,!1,a)&&e));if(b)for(f=0;!a.Kc&&fthis.head?(Yw(this.o,this.fa,a,0,this.o.length-this.fa),Yw(this.o,0,a,this.o.length-this.fa,this.head),this.fa=0,this.head=this.length,this.o=a):this.fa===this.head?(this.head=this.fa=0,this.o=a):null};function ax(a,b){for(var c=a.length,d=0;;)if(da)){a+=1;continue}break}hx=!1;return 0c)return a;a:for(;;){var e=cMath.random()&&15>d)d+=1;else break a;if(d>this.level){for(var e=this.level+1;;)if(e<=d+1)c[e]=this.header,e+=1;else break;this.level=d}for(d=Ex(a,b,Array(d));;)return 0<=this.level?(c=c[0].forward,d.forward[0]=c[0],c[0]=d):null};
+Gx.prototype.remove=function(a){var b=Array(15),c=Fx(this.header,a,this.level,b);c=0===c.forward.length?null:c.forward[0];if(null!=c&&c.key===a){for(a=0;;)if(a<=this.level){var d=b[a].forward;c===(ad)return c===b.header?null:c;var e;a:for(e=c;;){e=d=a)break a}null!=e?(--d,c=e):--d}}Gx.prototype.S=function(){return function(a){return function d(c){return new kf(null,function(){return function(){return null==c?null:ae(new R(null,2,5,T,[c.key,c.H],null),d(c.forward[0]))}}(a),null,null)}}(this)(this.header.forward[0])};
+Gx.prototype.R=function(a,b,c){return Y(b,function(){return function(a){return Y(b,Qi,""," ","",c,a)}}(this),"{",", ","}",c,this)};var Ix=new Gx(Ex(null,null,0),0);function Jx(a){var b=(new Date).valueOf()+a,c=Hx(b),d=t(t(c)?c.keya:b)?a+8:a,[v.h(c),v.h(a)].join("")):null}
+function Vy(a){var b=J(a,0,null),c=J(a,1,null);a=J(a,2,null);return["rgb(",v.h(b),",",v.h(c),",",v.h(a),")"].join("")}
+var Wy=hj(function(a){a=null!=a&&(a.m&64||q===a.G)?P(U,a):a;var b=D.c(a,Nk),c=D.c(a,pl);a=K.l(a,Nk,t(c)?wb(b):b);var d=null!=a&&(a.m&64||q===a.G)?P(U,a):a,e=D.c(d,Ok),f=D.c(d,Tn);b=D.c(d,Kj);var h=D.c(d,dk);c=D.c(d,Vl);var k=D.c(d,Nk),l=D.c(d,Yn);d=D.c(d,pl);var p=t(k)?t(e)?e:"fg":f;e=Uy(t(k)?t(f)?f:"bg":e,b,"fg-");h=Uy(p,h,"bg-");c=vg(ub,new R(null,6,5,T,[e,h,t(b)?"bright":null,t(l)?"italic":null,t(c)?"underline":null,t(d)?"cursor":null],null));if(E(c))a:for(b=new cb,c=E(c);;)if(null!=c)b.append(""+
+v.h(y(c))),c=z(c),null!=c&&b.append(" ");else{b=b.toString();break a}else b=null;l=null!=a&&(a.m&64||q===a.G)?P(U,a):a;a=D.c(l,Ok);c=D.c(l,Tn);h=D.c(l,Nk);l=t(h)?c:a;a=t(h)?a:c;a=hi.A(be([t(ze.h?ze.h(l):ze.call(null,l))?new r(null,1,[ik,Vy(l)],null):null,t(ze.h?ze.h(a):ze.call(null,a))?new r(null,1,[al,Vy(a)],null):null]));return hi.A(be([t(b)?new r(null,1,[vn,b],null):null,t(a)?new r(null,1,[fm,a],null):null]))});
+function Xy(a,b){var c=J(a,0,null),d=J(a,1,null);d=Bg(d,pl,function(){return function(a){return t(a)?B(b):a}}(a,c,d));return new R(null,3,5,T,[ro,Wy.h?Wy.h(d):Wy.call(null,d),c],null)}function Yy(a,b){var c=J(a,0,null),d=J(a,1,null),e=jg(b,c);e=E(e)?new R(null,2,5,T,[Eo(e),d],null):null;var f=K.l(d,pl,!0);f=new R(null,2,5,T,[Vd(c,b),f],null);c=kg(b+1,c);d=E(c)?new R(null,2,5,T,[Eo(c),d],null):null;return vg(ub,new R(null,3,5,T,[e,f,d],null))}
+function Zy(a,b){for(var c=he,d=a,e=b;;)if(E(d)){var f=y(d),h=J(f,0,null);J(f,1,null);h=H(h);if(h<=e)c=ge.c(c,f),d=vd(d),e-=h;else return O.A(c,Yy(f,e),be([vd(d)]))}else return c}function $y(a,b,c){a=t(B(b))?Zy(B(a),B(b)):B(a);return new R(null,2,5,T,[Lm,Ii(bg(function(){return function(a,b){return pe(new R(null,3,5,T,[Xy,b,c],null),new r(null,1,[mk,a],null))}}(a),a))],null)}var qA=new ti(null,new r(null,3,["small",null,"medium",null,"big",null],null),null);
+function rA(a,b,c,d,e){var f=yp(function(){var a=B(c);return t(qA.h?qA.h(a):qA.call(null,a))?["font-",v.h(a)].join(""):null}),h=yp(function(){return function(){var d=B(a),e=B(b),f=B(c);f=t(qA.h?qA.h(f):qA.call(null,f))?null:new r(null,1,[wk,f],null);return hi.A(be([new r(null,2,[fl,[v.h(d),"ch"].join(""),no,[v.h(1.3333333333*e),"em"].join("")],null),f]))}}(f)),k=yp(function(){return function(){return Lu(B(d))}}(f,h)),l=yp(function(a,c,d){return function(){return xg(function(a,b,c){return function(d){return yp(function(a,
+b,c){return function(){return D.c(B(c),d)}}(a,b,c))}}(a,c,d),Fi(0,B(b),1))}}(f,h,k)),p=yp(function(){return function(){return Mu(B(d))}}(f,h,k,l)),m=yp(function(a,b,c,d,e){return function(){return zn.h(B(e))}}(f,h,k,l,p)),u=yp(function(a,b,c,d,e){return function(){return Aj.h(B(e))}}(f,h,k,l,p,m)),w=yp(function(a,b,c,d,e){return function(){return On.h(B(e))}}(f,h,k,l,p,m,u));return function(a,b,c,d,f,h,k,l){return function(){return new R(null,3,5,T,[Gm,new r(null,2,[vn,B(a),fm,B(b)],null),bg(function(a,
+b,c,d,f,h,k,l){return function(m,p){var u=yp(function(a,b,c,d,e,f,h,k){return function(){var a=B(k);return t(a)?(a=G.c(m,B(h)))?B(f):a:a}}(a,b,c,d,f,h,k,l));return pe(new R(null,4,5,T,[$y,p,u,e],null),new r(null,1,[mk,m],null))}}(a,b,c,d,f,h,k,l),B(d))],null)}}(f,h,k,l,p,m,u,w)}
+function sA(){return new R(null,2,5,T,[Ym,new r(null,4,[Mn,"1.1",Fl,"0 0 866.0254037844387 866.0254037844387",vn,"icon",mo,new r(null,1,[An,'\x3cdefs\x3e \x3cmask id\x3d"small-triangle-mask"\x3e \x3crect width\x3d"100%" height\x3d"100%" fill\x3d"white"/\x3e \x3cpolygon points\x3d"508.01270189221935 433.01270189221935, 208.0127018922194 259.8076211353316, 208.01270189221927 606.217782649107" fill\x3d"black"\x3e\x3c/polygon\x3e \x3c/mask\x3e \x3c/defs\x3e \x3cpolygon points\x3d"808.0127018922194 433.01270189221935, 58.01270189221947 -1.1368683772161603e-13, 58.01270189221913 866.0254037844386" mask\x3d"url(#small-triangle-mask)" fill\x3d"white"\x3e\x3c/polygon\x3e \x3cpolyline points\x3d"481.2177826491071 333.0127018922194, 134.80762113533166 533.0127018922194" stroke\x3d"white" stroke-width\x3d"90"\x3e\x3c/polyline\x3e'],null)],
+null)],null)}function tA(){return new R(null,3,5,T,[Ym,new r(null,3,[Mn,"1.1",Fl,"0 0 12 12",vn,"icon"],null),new R(null,2,5,T,[Fj,new r(null,1,[pn,"M1,0 L11,6 L1,12 Z"],null)],null)],null)}function uA(){return new R(null,4,5,T,[Ym,new r(null,3,[Mn,"1.1",Fl,"0 0 12 12",vn,"icon"],null),new R(null,2,5,T,[Fj,new r(null,1,[pn,"M1,0 L4,0 L4,12 L1,12 Z"],null)],null),new R(null,2,5,T,[Fj,new r(null,1,[pn,"M8,0 L11,0 L11,12 L8,12 Z"],null)],null)],null)}
+function vA(){return new R(null,4,5,T,[Ym,new r(null,3,[Mn,"1.1",Fl,"0 0 12 12",vn,"icon"],null),new R(null,2,5,T,[Fj,new r(null,1,[pn,"M12,0 L7,0 L9,2 L7,4 L8,5 L10,3 L12,5 Z"],null)],null),new R(null,2,5,T,[Fj,new r(null,1,[pn,"M0,12 L0,7 L2,9 L4,7 L5,8 L3,10 L5,12 Z"],null)],null)],null)}
+function wA(){return new R(null,4,5,T,[Ym,new r(null,3,[Mn,"1.1",Fl,"0 0 12 12",vn,"icon"],null),new R(null,2,5,T,[Fj,new r(null,1,[pn,"M7,5 L7,0 L9,2 L11,0 L12,1 L10,3 L12,5 Z"],null)],null),new R(null,2,5,T,[Fj,new r(null,1,[pn,"M5,7 L0,7 L2,9 L0,11 L1,12 L3,10 L5,12 Z"],null)],null)],null)}function xA(a,b){return function(b){return function(){return new R(null,3,5,T,[cl,new r(null,1,[Sl,b],null),new R(null,1,5,T,[t(B(a))?uA:tA],null)],null)}}(Ty(b,new fy(null,null,null)))}
+function yA(a){return 10>a?["0",v.h(a)].join(""):a}function zA(a){var b=Math.floor((a%60+60)%60);return[v.h(yA(Math.floor(a/60))),":",v.h(yA(b))].join("")}function AA(a,b){var c=T,d=new R(null,2,5,T,[Yk,zA(B(a))],null),e=T;var f=B(a);var h=B(b);f=["-",v.h(zA(h-f))].join("");return new R(null,3,5,c,[Ml,d,new R(null,2,5,e,[co,f],null)],null)}
+function BA(){function a(a){a.preventDefault();return Ry(a.currentTarget.parentNode.parentNode.parentNode)}return function(){return new R(null,4,5,T,[un,new r(null,1,[Sl,a],null),new R(null,1,5,T,[vA],null),new R(null,1,5,T,[wA],null)],null)}}
+function CA(a,b){var c=Sy(b,function(a){var b=a.currentTarget.offsetWidth,c=a.currentTarget.getBoundingClientRect();return cy(Nu(a.clientX-c.left,b)/b)}),d=yp(function(){return function(){return[v.h(100*B(a)),"%"].join("")}}(c));return function(a,b){return function(){return new R(null,2,5,T,[Vj,new R(null,3,5,T,[Bl,new r(null,1,[Ql,a],null),new R(null,2,5,T,[Cj,new R(null,2,5,T,[ro,new r(null,1,[fm,new r(null,1,[fl,B(b)],null)],null)],null)],null)],null)],null)}}(c,d)}
+function DA(a,b,c,d){return function(e){return function(){return new R(null,5,5,T,[Kk,new R(null,3,5,T,[xA,a,d],null),new R(null,3,5,T,[AA,b,c],null),new R(null,1,5,T,[BA],null),new R(null,3,5,T,[CA,e,d],null)],null)}}(yp(function(){return B(b)/B(c)}))}
+function EA(a){return function(a){return function(){return new R(null,3,5,T,[ol,new r(null,1,[Sl,a],null),new R(null,2,5,T,[Xk,new R(null,2,5,T,[km,new R(null,2,5,T,[ro,new R(null,1,5,T,[sA],null)],null)],null)],null)],null)}}(Ty(a,new fy(null,null,null)))}function FA(){return new R(null,2,5,T,[Ek,new R(null,1,5,T,[xn],null)],null)}function GA(a){return Wf(function(b){return a[b]},new R(null,4,5,T,["altKey","shiftKey","metaKey","ctrlKey"],null))}
+function HA(a){var b=t(GA(a))?null:function(){switch(a.key){case " ":return new fy(null,null,null);case "f":return bm;case "0":return cy(0);case "1":return cy(.1);case "2":return cy(.2);case "3":return cy(.3);case "4":return cy(.4);case "5":return cy(.5);case "6":return cy(.6);case "7":return cy(.7);case "8":return cy(.8);case "9":return cy(.9);default:return null}}();if(t(b))return b;switch(a.key){case "\x3e":return new ey(null,null,null);case "\x3c":return new dy(null,null,null);default:return null}}
+function IA(a){if(t(GA(a)))return null;switch(a.which){case 37:return new ay(null,null,null);case 39:return new $x(null,null,null);default:return null}}function JA(a){var b=HA(a);return t(b)?(a.preventDefault(),G.c(b,bm)?(Ry(a.currentTarget),null):b):null}function KA(a){var b=IA(a);return t(b)?(a.preventDefault(),b):null}
+function LA(a,b,c,d){a=t(a)?['"',v.h(a),'"'].join(""):"untitled";return new R(null,4,5,T,[dl,t(d)?new R(null,2,5,T,[jo,new r(null,1,[zl,d],null)],null):null,a,t(b)?new R(null,3,5,T,[ro," by ",t(c)?new R(null,3,5,T,[lo,new r(null,1,[ho,c],null),b],null):b],null):null],null)}
+function MA(a){var b=Mx(1,ig.h(iy)),c=Kx(1);lx(function(c){return function(){var d=function(){return function(a){return function(){function b(b){for(;;){a:try{for(;;){var c=a(b);if(!N(c,Z)){var d=c;break a}}}catch(x){if(x instanceof Object)b[5]=x,Cx(b),d=Z;else throw x;}if(!N(d,Z))return d}}function c(){var a=[null,null,null,null,null,null,null,null,null,null,null,null];a[0]=d;a[1]=1;return a}var d=null;d=function(a){switch(arguments.length){case 0:return c.call(this);case 1:return b.call(this,a)}throw Error("Invalid arity: "+
+(arguments.length-1));};d.B=c;d.h=b;return d}()}(function(){return function(c){var d=c[1];if(7===d)return c[7]=c[2],Ax(c,12,b,!1);if(1===d)return c[2]=null,c[1]=2,Z;if(4===d)return c[8]=c[2],Ax(c,5,b,!0);if(6===d)return d=Jx(3E3),Ux(c,8,new R(null,2,5,T,[a,d],null));if(3===d)return Bx(c,c[2]);if(12===d)return c[9]=c[2],c[2]=null,c[1]=2,Z;if(2===d)return zx(c,4,a);if(11===d)return c[2]=c[2],c[1]=7,Z;if(9===d)return c[2]=null,c[1]=6,Z;if(5===d)return c[10]=c[2],c[2]=null,c[1]=6,Z;if(10===d)return c[2]=
+null,c[1]=11,Z;if(8===d){var e=c[2];d=J(e,0,null);e=J(e,1,null);e=G.c(e,a);c[11]=d;c[1]=e?9:10;return Z}return null}}(c),c)}(),f=function(){var a=d.B?d.B():d.call(null);a[6]=c;return a}();return yx(f)}}(c));return b}
+function NA(a,b){var c=dg.h(b),d=Kx(1);lx(function(b,c){return function(){var d=function(){return function(a){return function(){function b(b){for(;;){a:try{for(;;){var c=a(b);if(!N(c,Z)){var d=c;break a}}}catch(F){if(F instanceof Object)b[5]=F,Cx(b),d=Z;else throw F;}if(!N(d,Z))return d}}function c(){var a=[null,null,null,null,null,null,null,null,null,null,null,null,null];a[0]=d;a[1]=1;return a}var d=null;d=function(a){switch(arguments.length){case 0:return c.call(this);case 1:return b.call(this,
+a)}throw Error("Invalid arity: "+(arguments.length-1));};d.B=c;d.h=b;return d}()}(function(b,c){return function(d){var e=d[1];if(7===e){var f=d[7],h=wb(null==f);d[8]=d[2];d[1]=h?8:9;return Z}if(20===e)return f=d[7],d[1]=t(q===f.Fe)?23:24,Z;if(27===e)return d[2]=!1,d[1]=28,Z;if(1===e)return d[2]=null,d[1]=2,Z;if(24===e)return f=d[7],d[1]=t(!f.Tc)?26:27,Z;if(4===e){f=d[7];var k=d[9];h=d[2];var l=J(h,0,null),m=J(h,1,null);d[10]=m;d[7]=l;d[9]=h;d[1]=t(null==l)?5:6;return Z}return 15===e?(d[2]=!1,d[1]=
+16,Z):21===e?(f=d[7],h=Ab(Yx,f),d[2]=h,d[1]=22,Z):31===e?(d[11]=d[2],d[2]=null,d[1]=2,Z):13===e?(d[2]=d[2],d[1]=10,Z):22===e?(d[1]=t(d[2])?29:30,Z):29===e?(f=d[7],h=B(a),h=Zx(f,h),h=gg.l(c,wo,h),d[2]=h,d[1]=31,Z):6===e?(d[2]=null,d[1]=7,Z):28===e?(d[2]=d[2],d[1]=25,Z):25===e?(d[2]=d[2],d[1]=22,Z):17===e?(m=d[10],f=d[7],k=d[9],h=gg.c(a,function(){return function(a,b){return function(a){return Xx(b,a)}}(k,f,m,m,f,k,e,b,c)}()),d[2]=h,d[1]=19,Z):3===e?Bx(d,d[2]):12===e?(f=d[7],d[1]=t(!f.Tc)?14:15,Z):
+2===e?(h=B(c),h=E(h),Ux(d,4,h)):23===e?(d[2]=!0,d[1]=25,Z):19===e?(f=d[7],h=wb(null==f),d[12]=d[2],d[1]=h?20:21,Z):11===e?(d[2]=!0,d[1]=13,Z):9===e?(f=d[7],h=Ab(Wx,f),d[2]=h,d[1]=10,Z):5===e?(m=d[10],h=gg.l(c,re,m),d[2]=h,d[1]=7,Z):14===e?(f=d[7],h=Ab(Wx,f),d[2]=h,d[1]=16,Z):26===e?(f=d[7],h=Ab(Yx,f),d[2]=h,d[1]=28,Z):16===e?(d[2]=d[2],d[1]=13,Z):30===e?(d[2]=null,d[1]=31,Z):10===e?(d[1]=t(d[2])?17:18,Z):18===e?(d[2]=null,d[1]=19,Z):8===e?(f=d[7],d[1]=t(q===f.sb)?11:12,Z):null}}(b,c),b,c)}(),e=function(){var a=
+d.B?d.B():d.call(null);a[6]=b;return a}();return yx(e)}}(d,c));return d}
+function OA(a,b,c){c=Ty(c,!0);var d=Sy(b,JA),e=Sy(b,KA),f=yp(function(){return function(){return Hm.h(B(a))}}(c,d,e)),h=yp(function(){return function(){return el.h(B(a))}}(c,d,e,f)),k=yp(function(a,b,c,d,e){return function(){var a=B(d);return t(a)?a:B(e)}}(c,d,e,f,h)),l=yp(function(b,c,d,e,f,h){return function(){var b=Gk.h(B(a));b=t(b)?b:wb(B(h));return t(b)?"hud":null}}(c,d,e,f,h,k)),p=yp(function(){return function(){return["asciinema-theme-",v.h(gm.h(B(a)))].join("")}}(c,d,e,f,h,k,l)),m=yp(function(){return function(){var b=
+fl.h(B(a));return t(b)?b:80}}(c,d,e,f,h,k,l,p)),u=yp(function(){return function(){var b=no.h(B(a));return t(b)?b:24}}(c,d,e,f,h,k,l,p,m)),w=yp(function(){return function(){return wk.h(B(a))}}(c,d,e,f,h,k,l,p,m,u)),x=yp(function(){return function(){return V.h(B(a))}}(c,d,e,f,h,k,l,p,m,u,w)),C=yp(function(){return function(){return ml.h(B(a))}}(c,d,e,f,h,k,l,p,m,u,w,x)),F=yp(function(){return function(){return jn.h(B(a))}}(c,d,e,f,h,k,l,p,m,u,w,x,C)),I=yp(function(){return function(){return Uj.h(B(a))}}(c,
+d,e,f,h,k,l,p,m,u,w,x,C,F)),M=yp(function(){return function(){return wl.h(B(a))}}(c,d,e,f,h,k,l,p,m,u,w,x,C,F,I)),S=B(a),X=null!=S&&(S.m&64||q===S.G)?P(U,S):S,Ga=D.c(X,ki),db=D.c(X,li),Q=D.c(X,mi),xb=D.c(X,ni);return function(a,c,d,e,f,h,k,l,m,p,u,w,x,C,F,I,M,S,Q,X,Ga,db){return function(){return new R(null,3,5,T,[Cn,new r(null,5,[Jj,-1,Zj,c,Rn,d,Vm,a,vn,B(k)],null),new R(null,7,5,T,[Sm,new r(null,1,[vn,B(l)],null),new R(null,6,5,T,[rA,m,p,u,w,x],null),new R(null,5,5,T,[DA,C,F,I,b],null),t(t(Q)?Q:
+X)?new R(null,5,5,T,[LA,Q,X,Ga,db],null):null,t(B(h))?null:new R(null,2,5,T,[EA,b],null),t(B(e))?new R(null,1,5,T,[FA],null):null],null)],null)}}(c,d,e,f,h,k,l,p,m,u,w,x,C,F,I,M,S,X,Ga,db,Q,xb)}
+function PA(a){var b=Kx(null),c=Kx(new dx(bx(1),1));return function(b,c){return function(){return Pp(new r(null,4,[ln,"asciinema-player",Dm,function(b,c){return function(){return OA(a,b,c)}}(b,c),$k,function(b,c){return function(){var d=ty(Gl.h(B(a))),e=MA(c);Tx(e,b);return NA(a,Je([b,d]))}}(b,c),Wm,function(){return function(){return uy(Gl.h(B(a)))}}(b,c)],null))}}(b,c)};function QA(a,b){var c=null!=b&&(b.m&64||q===b.G)?P(U,b):b,d=D.c(c,Ak),e=D.c(c,Gl);d=a.h?a.h(d):a.call(null,d);zy(e,d);return K.l(c,Ak,d)}$x.prototype.sb=q;$x.prototype.qb=function(a,b){var c=null!=b&&(b.m&64||q===b.G)?P(U,b):b,d=D.c(c,Uj),e=D.c(c,wl),f=D.c(c,Gl);t(e)&&yy(f,Nu(d+5,e));return c};ay.prototype.sb=q;ay.prototype.qb=function(a,b){var c=null!=b&&(b.m&64||q===b.G)?P(U,b):b,d=D.c(c,Uj),e=D.c(c,wl),f=D.c(c,Gl);t(e)&&yy(f,Nu(d+-5,e));return c};by.prototype.sb=q;
+by.prototype.qb=function(a,b){var c=null!=b&&(b.m&64||q===b.G)?P(U,b):b,d=D.c(c,wl),e=D.c(c,Gl);t(d)&&(d*=nn.h(this),yy(e,d));return c};dy.prototype.sb=q;dy.prototype.qb=function(a,b){return QA(function(){return function(a){return a/2}}(this),b)};ey.prototype.sb=q;ey.prototype.qb=function(a,b){return QA(function(){return function(a){return 2*a}}(this),b)};fy.prototype.sb=q;fy.prototype.qb=function(a,b){xy(Gl.h(b));return b};gy.prototype.sb=q;gy.prototype.qb=function(a,b){return K.l(b,ml,so.h(this))};
+hy.prototype.sb=q;hy.prototype.qb=function(a,b){return K.l(b,Gk,so.h(this))};jy.prototype.sb=q;jy.prototype.qb=function(a,b){var c=null!=a&&(a.m&64||q===a.G)?P(U,a):a;D.c(c,fl);D.c(c,no);D.c(c,wl);c=null!=b&&(b.m&64||q===b.G)?P(U,b):b;var d=D.c(c,fl),e=D.c(c,no),f=null!=this&&(this.m&64||q===this.G)?P(U,this):this,h=D.c(f,fl),k=D.c(f,no);f=D.c(f,wl);return K.A(c,fl,t(d)?d:h,be([no,t(e)?e:k,wl,f]))};ky.prototype.sb=q;ky.prototype.qb=function(a,b){return K.l(b,Hm,Hm.h(this))};oy.prototype.sb=q;
+oy.prototype.qb=function(a,b){var c=null!=b&&(b.m&64||q===b.G)?P(U,b):b,d=D.c(c,oi);t(d)&&(ap(bp),d.B?d.B():d.call(null));return c};ry.prototype.sb=q;ry.prototype.qb=function(a,b){return K.l(b,Uj,Zk.h(this))};function RA(){return ig.l(function(a,b){return new R(null,2,5,T,[a,new gy(b,null,null,null)],null)},rg(function(a){return a+.5},.5),og(new R(null,2,5,T,[!1,!0],null)))}function SA(a){var b=Dy(RA());return K.l(K.l(a,ml,!0),Ol,b)}
+function TA(a){a=null!=a&&(a.m&64||q===a.G)?P(U,a):a;var b=D.c(a,Ol);Tw(b);return K.l(K.l(a,ml,!0),Ol,null)}function UA(a){a=null!=a&&(a.m&64||q===a.G)?P(U,a):a;a=D.c(a,Ol);return t(a)?Je([a]):vi}my.prototype.sb=q;
+my.prototype.qb=function(a,b){var c=null!=a&&(a.m&64||q===a.G)?P(U,a):a;D.c(c,jn);var d=null!=b&&(b.m&64||q===b.G)?P(U,b):b,e=D.c(d,jn);c=D.c(d,pi);var f=D.c(d,qi),h=null!=this&&(this.m&64||q===this.G)?P(U,this):this;h=D.c(h,jn);if(G.c(e,h))return d;d=K.A(d,jn,h,be([el,!0]));if(t(h))return t(c)&&(c.B?c.B():c.call(null)),SA(d);t(f)&&(f.B?f.B():f.call(null));return TA(d)};my.prototype.Fe=q;my.prototype.de=function(a,b){return UA(b)};py.prototype.sb=q;
+py.prototype.qb=function(a,b){var c=K.l(b,V,V.h(this));c=null!=c&&(c.m&64||q===c.G)?P(U,c):c;var d=D.c(c,Ol);return t(d)?SA(TA(c)):c};py.prototype.Fe=q;py.prototype.de=function(a,b){return UA(b)};function VA(a){return t(a)?(a=ig.c(parseFloat,Fo(""+v.h(a),/:/)),a=ig.l(Ye,cf(a),rg(function(){return function(a){return 60*a}}(a),1)),P(Xe,a)):null}
+function WA(a,b,c){t(a)?"string"===typeof a?t(0===a.indexOf("data:application/json;base64,"))?(b=a.substring(29).replace(RegExp("\\s","g"),""),b=JSON.parse(atob(b)),b=fj(b),b=new r(null,1,[V,new r(null,1,[il,b],null)],null)):t(0===a.indexOf("data:text/plain,"))?(a=a.substring(16),b=Ju(Ot(t(b)?b:80,t(c)?c:24),a),b=new r(null,1,[V,b],null)):b=t(0===a.indexOf("npt:"))?new r(null,1,[Zk,VA(a.substring(4))],null):null:b=new r(null,1,[V,new r(null,1,[il,a],null)],null):b=null;return b}
+var XA=new r(null,2,[pl,new r(null,1,[On,!1],null),il,he],null);
+function YA(a,b){var c=null!=b&&(b.m&64||q===b.G)?P(U,b):b,d=D.c(c,no),e=D.l(c,wk,"small"),f=D.l(c,Ak,1),h=D.c(c,Hk),k=D.c(c,fl),l=D.c(c,rl),p=D.l(c,cm,!1),m=D.l(c,gm,"asciinema"),u=D.c(c,qm),w=D.c(c,Bm),x=D.l(c,vm,!1),C=D.l(c,Em,!1),F=function(){var a=VA(h);return t(a)?a:0}();w=WA(w,k,d);var I=null!=w&&(w.m&64||q===w.G)?P(U,w):w;w=D.c(I,V);I=D.c(I,Zk);var M=t(I)?I:wb(w)&&0
+```
+
+Note that good commit message should provide information in similar way like
+the PR description. Poorly written commit messages can block the merge of PR
+or proper review.
+
+### Granularity of commits
+The granularity of commits depends strongly on the problem being solved. However,
+a large number of small commits is typically undesired. If possible, aim a
+Git history such that commits can be reverted individually, without requiring reverting
+numerous other dependent commits in order to get the `main` branch into a working state.
+
+Note that commits fixing problems of other commits in the PR are expected to be
+squashed before the final review and merge of the PR. Using of `git commit --fixup ...`
+and `git commit --squash ...` commands can help you to prepare such commits
+properly in advance and make the rebase later easier using `git rebase -i --autosquash`.
+We suggest you to get familiar with these commands as it can make your work really
+easier. Note that when you are starting to get higher number of such fixing commits
+in your PR, it's good practice to use the rebase more often. High numbers of such
+commits could make the final rebase more tricky in the end. So your PR should not
+have more than 15 commits at any time.
+
+### Create a separate git branch for your changes
+TBD
+
diff --git a/docs/source/faq.md b/docs/source/faq.md
new file mode 100644
index 0000000000..25903bea3b
--- /dev/null
+++ b/docs/source/faq.md
@@ -0,0 +1,101 @@
+# Frequently Asked Questions
+
+- [Why is the leapp-repository project separated from Leapp?](#why-is-the-leapp-repository-project-separated-from-leapp)
+- [What is an actor and what does it do?](#what-is-an-actor-and-what-does-it-do)
+- [When and why do I need to write an actor?](#when-and-why-do-i-need-to-write-an-actor)
+- [What are the best practices for writing actors for in-place upgrades?](#what-are-the-best-practices-for-writing-actors-for-in-place-upgrades)
+- [What are the best practices for creating and adding custom actors for in-place upgrades?](#what-are-the-best-practices-for-creating-and-adding-custom-actors-for-in-place-upgrades)
+- [What are the requirements for actors to be accepted by upstream?](#what-are-the-requirements-for-actors-to-be-accepted-by-upstream)
+- [How can I debug my actor? Is there a standard/supported way how to log and get logs from actors/channels?](#)
+- [Are there some technical limitations for an actor? Like maximum time execution](#are-there-some-technical-limitations-for-an-actor-like-maximum-time-execution)
+- [Are there some actions that are either forbidden or not recommended to be done in actors?](#are-there-some-actions-that-are-either-forbidden-or-not-recommended-to-be-done-in-actors)
+- [I got an error about PES data/ Repositories mapping.](#i-got-an-error-about-pes-data-repositories-mapping)
+
+## Why is the leapp-repository project separated from Leapp?
+
+It's similar relationship as you can find between Ansible and ansible playbooks.
+Having Ansible does not mean that it configure all systems as people want.
+People have to create playbooks to define how systems should be configured.
+
+With leapp and leapp-repository it's same. The leapp project covers only the
+Leapp framework, the leapp tool (providing CLI), and snactor - the utility helping
+with the development and testing. The framework has been supposed to be used
+for multiple purposes. In-Place Upgrades have been just one of them.
+
+Even when we work on both projects, having the work on framework separated
+from leapp repositories containing number of actors simplifies the maintenance
+of the project.
+
+## What is an actor and what does it do?
+
+An actor in the realm of the Leapp project is a step that is executed within a workflow. Actors define what kind of data they expect and what kind of data they produce.
+
+One of the use cases for actors is to scan the system and provide the discoveries to other actors through messages. Other actors consume these messages to make decisions, apply changes to the system, or process the information to produce new messages.
+
+## When and why do I need to write an actor?
+
+This project is focused on in-place upgrades between major versions of RHEL systems.
+Here we can implement and test solutions with the focus on content of the particular
+distribution (RPM signed by GPG keys connected to the distribution). However,
+most of the time you do not install just RPMs from that particular system, but
+also your custom or third-party SW - or HW also. When you need to handle
+your custom/third-party stuff, you will need to possibly create custom actors
+to do so - or you could ask a third-party vendor for a solution.
+
+Also, in case you have a specific system setup that we cannot cover, you would
+possibly customize the upgrade on your systems.
+
+## What are the best practices for writing actors for in-place upgrades?
+
+Read the [Best practices for writing actors](best-practices).
+
+## What are the best practices for creating and adding custom actors for in-place upgrades?
+
+TBA
+
+## What are the requirements for actors to be accepted by upstream?
+
+It should follow the [Contribution guidelines](contributing) and the [Best practices for writing actors](best-practices) as much as feasible.
+If you are not sure whether the solution you are thinking about will be accepted
+at all, try to ask first via [Discussion](https://github.com/oamg/leapp-repository/discussions)
+and discuss it with us.
+
+## How can I debug my actor? Is there a standard/supported way how to log and get logs from actors/channels?
+
+You can run your actor using the snactor tool and printing the output. [See the tutorial](tutorials/first-actor) on how to use snactor.
+
+## Are there some technical limitations for an actor? Like maximum time execution, ...
+
+There are no technical limitations but rather conceptual:
+
+- Libraries to use:
+ - See the section about actor dependencies in the [Best practices document](best-practices.md#do-not-introduce-new-dependencies)
+
+Execution time:
+
+- Some Red Hat customers do business in fields where time matters a lot. They may have obligations to not allow more than a few minutes of downtime per year. It means that we should make sure that our tooling causes as short downtime as possible.
+- It's not currently possible to tell the Leapp framework that the actor takes longer time to execute.
+
+## Are there some actions that are either forbidden or not recommended to be done in actors?
+
+There are several, covered also in contribution guideline, but highlight these few:
+1. **Do not alter the system in any way during so called preupgrade phases.**
+Even then we want to postpone as many changes as possible after the `LateTestsPhase`
+phase. Any deviation from this rule must be well justified.
+
+1. **Do not use `subprocess` python module**. If you need to execute a shell command,
+use the `run` function instead.
+
+1. **Do not interact with the system during the `ChecksPhase`.** You can scan
+the system in previous phase and generate a leapp message for the check actor.
+
+## I got an error about PES data/ Repositories mapping.
+
+Most likely you replaced leapp data files included in the installed RPM by
+different files (usually by their obsolete versions). Remove them, reinstall
+the package, and try to not replace them again. If it is not that case, contact
+vendor of the package for support.
+
+Note that in public space there are number of various versions of these files
+and we are responsible only for files that we distribute together with our code.
+
diff --git a/docs/source/index.rst b/docs/source/index.rst
new file mode 100644
index 0000000000..6faa0be29a
--- /dev/null
+++ b/docs/source/index.rst
@@ -0,0 +1,27 @@
+Welcome to developer documentation for Leapp repository!
+========================================================
+
+`Leapp repository `_ is a collection
+of repositories for the `Leapp framework `_
+providing Red Hat Enterprise Linux in-place upgrade functionality.
+
+.. toctree::
+ :maxdepth: 4
+ :caption: Contents:
+ :glob:
+
+ installation-and-building
+ tutorials/index
+ project-structure
+ upgrade-architecture-and-workflow/index
+ configuring-ipu
+ libraries-and-api
+ contrib-and-devel-guidelines
+ faq
+
+.. Indices and tables
+.. ==================
+..
+.. * :ref:`genindex`
+.. * :ref:`modindex`
+.. * :ref:`search`
diff --git a/docs/source/installation-and-building.md b/docs/source/installation-and-building.md
new file mode 100644
index 0000000000..94554185c8
--- /dev/null
+++ b/docs/source/installation-and-building.md
@@ -0,0 +1,108 @@
+# Installation and building
+
+We expect this software to be installed on systems always as RPM packages.
+To make the development & testing easier we provide the Makefile with useful
+commands for local building and also upstream DNF COPR repository for public
+upstream and testing builds.
+
+## Local builds
+To build the package locally from the current code we prepared building in
+containers, so we could build the RPM with packages of the particular system.
+To build the RPM e.g. for RHEL 8 systems, execute:
+```bash
+$ BUILD_CONTAINER=el8 make container_build
+```
+
+You will find created builds under the `packaging/RPMS/` directory.
+
+If a particular container image does not exist, it will be automatically created
+based on prepared [container files](https://github.com/oamg/leapp-repository/tree/main/utils/container-builds).
+
+Note that from time to time it's possible you may want to (or need to)
+rebuild the container image. To clean created container images, call
+```
+$ make clean_containers
+```
+
+### Use Docker instead of Podman
+If you want to use Docker instead of Podman, just specify `CONTAINER_TOOL=docker`.
+E.g.:
+```bash
+$ CONTAINER_TOOL=docker BUILD_CONTAINER=el8 make container_build
+```
+
+### Install local builds
+For that, just use DNF:
+```bash
+$ dnf install -y path/to/create/rpm/files
+```
+
+E.g.:
+```
+$ dnf install -y \
+ packaging/RPMS/noarch/leapp-upgrade-el8toel9-0.21.0-0.202411131807Z.05f15b28.actor_config.el8.noarch.rpm \
+ packaging/RPMS/noarch/leapp-upgrade-el8toel9-deps-0.21.0-0.202411131807Z.05f15b28.actor_config.el8.noarch.rpm
+```
+
+Note that to install packages from the leapp-repository build you also the leapp
+packages installed or available. If you do not have a local builds of leapp
+created manually, you can use the upstream [@oamg/leapp](https://copr.fedorainfracloud.org/coprs/g/oamg/leapp/)
+COPR repository.
+
+## Public COPR repository
+The [@oamg/leapp](https://copr.fedorainfracloud.org/coprs/g/oamg/leapp/) COPR
+repository contains builds for the leapp and leapp-repository projects.
+
+Builds in the repository are created automatically by Packit when
+* a PR is opened/updated
+ * building for first time contributors needs to be approved by members of the upstream
+ * build is made from the PR branch
+ * note that the RPM release for PR builds starts with `0.` and contains
+ substring `.prX.`, where the X is the PR number
+* the `main` branch is updated / a PR is merged
+ * build is made from the `main` branch and it's considered to be the
+ upstream build
+ * the rpm release starts with `100.`
+
+Note that builds in COPR are automatically removed after 2-3 weeks but the build
+with the highest [NEVRA](https://metacpan.org/pod/RPM::NEVRA)
+which is considered to be the most up-to-date upstream build.
+All PR builds has automatically lower NEVRA than any upstream build, so they
+are always cleaned when they are considered expired by COPR.
+
+The upstream members can trigger building in COPR manually for a PR by comment
+```
+/packit copr-build
+```
+
+Note that this repository is supposed to be used only for the development and
+testing purposes.
+
+### Installing builds from the COPR repository
+To add the upstream [@oamg/leapp](https://copr.fedorainfracloud.org/coprs/g/oamg/leapp/)
+COPR repository to your system, execute:
+```bash
+# dnf copr enable "@oamg/leapp"
+```
+
+Or just install one of EPEL X files you can find on the COPR repo page - see the
+`Repo Download` column. (Fedora builds are only for the leapp project).
+
+To install latest upstream build, just run:
+```bash
+$ dnf install -y leapp-upgrade
+```
+
+To install latest build in the repo for the PR number X:
+```bash
+$ dnf install -y "leapp-upgrade-*.prX.*"
+```
+
+In similar way you can install particular `leapp` packages if you want any
+specific build.
+
+#### Instructions for for non-intel architectures
+All packages are `noarch` (architecture agnostic). To save a time and resources
+we build packages just for the x86\_64 repository.
+So in case you use a different architecture (IBM Z, Power, ARM)
+replace the `$basearch` variable in the repo file by static `x86_64`.
diff --git a/docs/source/libraries-and-api.md b/docs/source/libraries-and-api.md
new file mode 100644
index 0000000000..ae9888b523
--- /dev/null
+++ b/docs/source/libraries-and-api.md
@@ -0,0 +1,2 @@
+# Libraries and API
+TBD
diff --git a/docs/source/project-structure.rst b/docs/source/project-structure.rst
new file mode 100644
index 0000000000..3d298b4ae4
--- /dev/null
+++ b/docs/source/project-structure.rst
@@ -0,0 +1,19 @@
+Project structure
+=================
+TBD
+
+.. toctree::
+ :maxdepth: 4
+ :caption: Contents:
+ :glob:
+
+ repositories
+ data
+ cli
+
+.. Indices and tables
+.. ==================
+..
+.. * :ref:`genindex`
+.. * :ref:`modindex`
+.. * :ref:`search`
diff --git a/docs/source/target-userspace-creator.md b/docs/source/target-userspace-creator.md
new file mode 100644
index 0000000000..8b2ccb3d24
--- /dev/null
+++ b/docs/source/target-userspace-creator.md
@@ -0,0 +1,82 @@
+# Target userspace creator
+The very core of a RHEL upgrade process is installing packages of the target
+system. When these packages are built, however, they expect that they will
+be installed on a target system not on some old RHEL with an old package
+manager. Therefore, they can use some of the newer features of RPM such as rich
+dependencies, etc. Therefore, attempting to use RHEL 7 RPM stack to install RHEL 8
+RPMs might not work at all.
+
+Therefore, leapp downloads and sets up a very bare-bones installation of the target
+system, commonly referred to as _target userspace_. The _Target userspace creator_ is
+then the actor responsible performing the entire set up of the userspace. To set up
+a minimal target system, one needs access to target repositories, so that the packages
+constituting the bare bones system can be downloaded and installed.
+
+## Scratch container
+### When we want to modify the source system, but we also don't want to
+
+As introduction foreshadows, we need to modify the source system in order to
+achieve access to target repositories. However, modifying key configuration
+of the source system such as the repositories defined in `/etc/yum.repos.d`
+can be problematic, as the tool doing these temporary modifications needs to
+gracefully roll back these changes even in the presence of unforeseen problems.
+Speaking plainly, errors in leapp and unforeseen external commands cannot result
+in the source system losing repository access after a failed attempted upgrade.
+Therefore, leapp uses an [OverlayFS](https://www.kernel.org/doc/html/latest/filesystems/overlayfs.html)
+filesystem with the lower `lowerdir` being source system's `/`. This filesystem
+is mounted at `/var/lib/leapp/scratch/mounts/root_/system_overlay`.
+If you look at the mount target during certain points in the upgrade,
+the path would contain a root file hierarchy as if the `/` of the source system was bind-mounted there.
+However, any changes performed by leapp in `/var/lib/leapp/scratch/mounts/root_/system_overlay`,
+are not reflected in `/` of the root system, and, instead, they
+are written to `/var/lib/leapp/scratch/mounts/root_/upper`. The situation is a
+bit more nuanced, since every mounted device of the source filesystem has to
+have its own OverlayFS mount, but the principle-use OverlayFS mounts to seemingly
+modify source system-remains the same.
+
+To trick various utilities used by leapp to use the (modified) root hierarchy mounted at
+`/var/lib/leapp/scratch/mounts/root_/system_overlay` instead of the actual `/`, all external
+commands that modify the source `/`, or need to subsequently work with a modified `/` are
+executed with a `systemd-nspawn` container. This container, commonly referred to as the _scratch container_,
+uses the root filesystem present at `/var/lib/leapp/scratch/mounts/root_/system_overlay`
+is used as the root of the container using
+the `-D` option.
+
+#### An important detail in how is the Scratch container set up
+If we attempt to perform the actual download and installation of the target userspace,
+having the scratch container set up as described above, as
+```
+dnf install --installroot /var/lib/leapp/elXuserspace dnf
+```
+we realize there is a problem with the mounting scheme.
+Although the command will go through just fine, it will have a
+different effect than we expected. Since we are in an overlay, after the command
+finishes, there will be no `/var/lib/leapp/elXuserspace` (from the perspective of the host/source system)
+since all modifications
+are being written to overlay's upper directories. Therefore, we have to perform an
+additional bindmount of source system's `/var/lib/leapp/elXuserspace`
+to `/var/lib/leapp/scratch/installroot`. Therefore, if you look at leapp's logs, you will see a slightly
+mysterious command that installs target RHEL's dnf into `/installroot`.
+
+#### A comprehensive example of what is mounted where in the scratch container
+Consider a source system with the following file system table:
+
+| Device | Mounted at |
+|-------- |-------- |
+| `/dev/vda1` | `/` |
+| `/dev/vda2` | `/boot` |
+| `/dev/vda3` | `/var` |
+
+Leapp would create the scratch container as follows:
+
+| Source system mountpoint | OverlayFS lower dir | OverlayFS upper dir | OverlayFS work dir |
+|--------------------------|---------------------|--------------------- |-------------------- |
+| `/` | `/` | `/var/lib/leapp/scratch/mounts/root_/upper` | `/var/lib/leapp/scratch/mounts/root_/work` |
+| `/boot` | `/boot` | `/var/lib/leapp/scratch/mounts/root_boot/upper` | `/var/lib/leapp/scratch/mounts/root_boot/work` |
+| `/var` | `/var` | `/var/lib/leapp/scratch/mounts/root_var/upper` | `/var/lib/leapp/scratch/mounts/root_var/work` |
+
+### Target repositories and how are they obtained
+> This section is currently under construction
+
+### Broken symbolic links
+> This section is currently under construction
diff --git a/docs/source/tutorials/howto-first-actor-upgrade.md b/docs/source/tutorials/howto-first-actor-upgrade.md
new file mode 100644
index 0000000000..dc62056b15
--- /dev/null
+++ b/docs/source/tutorials/howto-first-actor-upgrade.md
@@ -0,0 +1,101 @@
+# Writing an Actor for Leapp Upgrade
+
+An **actor** is the core unit of execution in a Leapp upgrade workflow. If
+something needs to be done during an upgrade, you likely need to create an
+actor. A general overview of writing actors can be found in [How to Write an
+Actor](TODO). This guide focuses on the specifics of writing actors for the
+Leapp Repository.
+
+## Formulate Your Requirements
+
+The first step is to clearly define what you want to accomplish. Typically, the
+process involves:
+
+- Gathering system information
+- Notifying the user about a change (via a ``Report``)
+- Implementing the actual change during the upgrade
+
+```{note}
+### Case Study: Formulating Requirements
+
+Suppose there's an application that changes behavior when upgrading from RHEL X
+to RHEL Y. We need to adjust the configuration in `/etc/myapp/conf.ini`, but
+only on specific systems. Say those using BIOS and are somehow *special*. For
+the sake of an example, a system is considered *special* if the file
+`/etc/special` exists.
+
+Steps:
+1. Detect if the system is *special* (i.e., check if `/etc/special` exists)
+2. Detect if the system is running on BIOS
+3. Notify the user about a potentially breaking change
+4. Perform the configuration change
+```
+
+While these steps are interconnected, they may not all be implemented within a
+single actor. It might be necessary to distribute them across different actors
+in different phases of the upgrade process.
+
+## Scout the Environment
+
+Before implementing an actor, check if the necessary information is already
+being collected by an existing actor or model in the repository. This can save
+time and reduce redundancy.
+
+```{note}
+### Case Study: Scouting the Environment
+
+To check if Leapp already provides information about the system running on
+BIOS, you could search for "bios" in the Leapp Repository like
+
+``grep -r "bios" repos/``
+
+This search will lead you to the `FirmwareFacts` model, which contains exactly
+the relevant information.
+```
+
+Many useful functions are also already available in libraries. Be sure to
+review these before starting your implementation. For an overview consult
+[Leapp Upgrade Libraries](TODO)
+
+
+## Determine Implementation Details
+
+Once you’ve identified the reusable components, it’s time to start coding. You
+should address the following questions during this stage:
+
+- **What ``Model``s do I need to create?**
+
+ Models are the primary means by which actors communicate and exchange
+ information. Refer to [How to Create Models](TODO) for guidance.
+
+- **Which actors will my actor interact with?**
+
+- **Which phase should my actor belong to?**
+
+ Refer to the [Phases Overview](TODO) for details on phase organization.
+
+
+## Where to Place Your Actors
+
+Deciding where to place your actor’s code depends on its scope:
+
+- **Upgrade-specific code:** If your actor is relevant only for upgrading from
+ RHEL X to RHEL Y, place it in `repos/system_upgrade/elXtoelY`.
+
+- **Common code:** If your actor is applicable to all system upgrades, place it
+ in `repos/system_upgrade/common`. This actor will be executed regardless of the
+ upgrade path.
+
+The same applies for models, library functions and other resources.
+
+
+```{note}
+### Case Study: Actor Placement
+
+You are creating two actors: `FirstActor` and `SecondActor`.
+
+- `FirstActor` performs tasks applicable to all upgrades and should be placed
+ in `repos/system_upgrade/common`.
+- `SecondActor` is specific to the upgrade from RHEL 9 to RHEL 10, so it should
+ be placed in `repos/system_upgrade/el9toel10`.
+```
diff --git a/docs/source/tutorials/index.rst b/docs/source/tutorials/index.rst
new file mode 100644
index 0000000000..68b13d81bf
--- /dev/null
+++ b/docs/source/tutorials/index.rst
@@ -0,0 +1,17 @@
+Tutorials
+=========
+
+.. toctree::
+ :maxdepth: 4
+ :caption: Contents:
+ :glob:
+
+ templates/index
+ howto-first-actor-upgrade
+
+.. Indices and tables
+.. ==================
+..
+.. * :ref:`genindex`
+.. * :ref:`modindex`
+.. * :ref:`search`
diff --git a/docs/source/tutorials/templates/add-kernel-driver.md b/docs/source/tutorials/templates/add-kernel-driver.md
new file mode 100644
index 0000000000..698bfcb27d
--- /dev/null
+++ b/docs/source/tutorials/templates/add-kernel-driver.md
@@ -0,0 +1,63 @@
+# Install a kernel driver during the upgrade
+
+Note that usually when someone wants to install particular kernel driver,
+it's expected that the driver is needed to be used also during the in-place
+upgrade as well as on the upgraded system.
+
+```python
+from leapp.actors import Actor
+from leapp.models import (
+ KernelModule,
+ RpmTransactionTasks,
+ TargetInitramfsTasks,
+ TargetUserSpaceUpgradeTasks,
+ UpgradeInitramfsTasks
+)
+from leapp.tags import ChecksPhaseTag, IPUWorkflowTag
+
+
+# AI: do not forget to change the class name when applied!
+class AddKernelDriverMYDRIVER(Actor):
+ """
+ Install the driver during the upgrade
+
+ Install the kernel module in the upgrade & target initramfs.
+ In this scenario it requires the package with the module is installed
+ on the target system and inside the target userspace container.
+
+ In case of the scenario when the module should be copied from a directory
+ existing on the host system, specify the path from where it should
+ be copied/installed instead, e.g.:
+ KernelModule(name='', module_path='/path/to/the/module')
+ and in such a case, most likely you will want to drop some parts of the
+ code as well when you do not need to install any additional rpms explicitly.
+ """
+
+ # AI: do not forget to change the name when applied!
+ name = 'add_kernel_driver_'
+ consumes = ()
+ produces = (RpmTransactionTasks, TargetInitramfsTasks, TargetUserSpaceUpgradeTasks, UpgradeInitramfsTasks)
+ tags = (IPUWorkflowTag, ChecksPhaseTag)
+
+ def process(self):
+ # IMPORTANT: For the installation of these packages the (custom) repository
+ # must be enabled (used) for the IPU process! For the third party
+ # packages, ideal solution is to define such dnf repos inside the
+ # /etc/leapp/files/leapp_upgrade_repositories.repo file or using the
+ # --enablerepo option when running leapp (check documentation for the
+ # difference).
+ # This will create task to install the package with desired driver
+ # into the target userspace container
+ # - could be e.g. kmod-
+ self.produce(TargetUserSpaceUpgradeTasks(install_rpms=['']))
+
+ # and we want the package to be installed also during the upgrade,
+ # so the driver can be used also on the upgraded system
+ self.produce(RpmTransactionTasks(to_install=['']))
+
+ # this will require installation of the module in the upgrade and the
+ # target initramfs
+ k_module = KernelModule(name='')
+ self.produce(UpgradeInitramfsTasks(include_kernel_modules=[k_module]))
+ self.produce(TargetInitramfsTasks(include_kernel_modules=[k_module]))
+```
diff --git a/docs/source/tutorials/templates/execute-custom-script.md b/docs/source/tutorials/templates/execute-custom-script.md
new file mode 100644
index 0000000000..a36e0d9df0
--- /dev/null
+++ b/docs/source/tutorials/templates/execute-custom-script.md
@@ -0,0 +1,86 @@
+# Execute custom script during the upgrade
+
+For some people it could be tricky to write a code in Python and in some cases
+they prefer to perform e.g. their shell script during the upgrade. And in some
+cases you the code in bash could be just much more simple, when using tools
+available on the system. Well, you will always need to do some Python code,
+but in case you do not need anything else, just execute the code in the right
+phase of the upgrade, here is the minimal actor to do so.
+
+For more tips, check our actors how they work with the `run` function. There
+are many useful examples:
+ [system\_upgrade\_common repo](https://github.com/oamg/leapp-repository/tree/main/repos/system\_upgrade/common/actors)
+
+The full list of existing phases in the `IPUWorkflow` and their tags see [IPUWorkflow](https://github.com/oamg/leapp-repository/blob/main/repos/system_upgrade/common/workflows/inplace_upgrade.py)
+
+[//]: # (TODO: replace the URL by the link to upstream documentation.)
+
+```python
+from leapp.actors import Actor
+from leapp.libraries.stdlib import api, CalledProcessError, run
+
+# AI: replace PhaseTag by a valid phase tag.
+from leapp.tags import PhaseTag, IPUWorkflowTag
+
+# AI: change the name of the class when applied!!
+class ExecuteMyCustomScript(Actor):
+ """
+ This actor executes a script (or whatever executable command).
+
+ The actor is executed during the execution of the specified phase.
+ You can specify your script as path to the executable file, just
+ the name of the executable file if covered by PATH. If it's a custom script,
+ we suggest to store it under this actor directory in path:
+ tools/
+ so the directory with actor contains at least:
+ actor.py
+ tools/
+ ensure the file has set executable permission! In such a case, during
+ the actor execution you can call just to execute it
+ """
+
+ # AI: change the name when applied!!
+ name = 'execute\_my\_custom\_script'
+ consumes = ()
+ produces = ()
+ tags = (IPUWorkflowTag, PhaseTag)
+
+ def process(self):
+ # Specify the command that should be executed.
+ # Pipelines are not allowed. It should be simple command. Each option
+ # need to be a different item in the array. The first item is the
+ # executable. Example:
+ # command = ['/usr/bin/echo', '-E', 'I have been executed...']
+ command = ['']
+ try:
+ #
+ run(command)
+ except CalledProcessError as e:
+ # This happens if the command ends with non-zero exit code
+ self.current_logger().error('')
+ details = {
+ 'details': str(err),
+ 'stderr': err.stderr,
+ 'stdout': err.stdout
+ }
+ # Here you can decide what to do next. E.g. If you want to end with
+ # error and stop the upgrade process, uncomment the raise of exception
+ # below.
+ # # Note that usually you do not want to raise this error after the
+ # # upgrade DNF transaction has been performed as the system usually
+ # # ends just in emergency mode and more broken state.
+ # # In short, it is safe in phases prior the first reboot.
+ # raise StopActorExecutionError('Your error msg', details=details)
+
+ except OSError as e:
+ # This can happen just if the command is not possible to execute.
+ # E.g. the executable does not exist, it has not set executable
+ # mode, etc.
+ self.current_logger().error(
+ 'Cannot execute cmd "{}": {}'
+ .format(command, str(e))
+ )
+ # Similarly, in case you want to stop the upgrade execution with error:
+ #
+ # raise StopActorExecutionError('Your err msg')
+```
diff --git a/docs/source/tutorials/templates/index.rst b/docs/source/tutorials/templates/index.rst
new file mode 100644
index 0000000000..e2938cef31
--- /dev/null
+++ b/docs/source/tutorials/templates/index.rst
@@ -0,0 +1,38 @@
+Templates
+=========
+
+Here you can find out various templates (examples) of actors that are covering
+some common situations that people want to deal with during in-place upgrades.
+Templates contains usually comments with additional explanations providing clues
+what people want to do most likely in particular actors. Sometimes you will
+want to possibly look at several templates and mix them to get you solution.
+
+Our goal is to provide hints to people how they could create some actors
+to cover some typical scenarios. Note that templates can be updated over time
+as overall in-place upgrade solution is changed. So it's good to check
+documentation for the particular leapp-repository version you have installed
+on the system (do not exchange the version of leapp-repository with leapp!). E.g.:
+
+Note these templates do not meet best practices for the actor development in
+the official **leapp-repository** repository - to keep them short and simple.
+
+```bash
+rpm -qa "leapp-upgrade*"
+```
+
+ TODO: make a link to best practices documentation.
+
+.. toctree::
+ :maxdepth: 4
+ :caption: Contents:
+ :glob:
+
+ add-kernel-driver
+ execute-custom-script
+
+.. Indices and tables
+.. ==================
+..
+.. * :ref:`genindex`
+.. * :ref:`modindex`
+.. * :ref:`search`
diff --git a/docs/source/upgrade-architecture-and-workflow.md b/docs/source/upgrade-architecture-and-workflow.md
new file mode 100644
index 0000000000..34329d55e7
--- /dev/null
+++ b/docs/source/upgrade-architecture-and-workflow.md
@@ -0,0 +1,2 @@
+# In-place upgrade architecture and workflow
+TBD
diff --git a/docs/source/upgrade-architecture-and-workflow/dracut-modules-and-upgrade-initramfs.md b/docs/source/upgrade-architecture-and-workflow/dracut-modules-and-upgrade-initramfs.md
new file mode 100644
index 0000000000..8bee92b7ab
--- /dev/null
+++ b/docs/source/upgrade-architecture-and-workflow/dracut-modules-and-upgrade-initramfs.md
@@ -0,0 +1,62 @@
+# Leapp dracut modules and upgrade initramfs
+The actual upgrade of RPMs in leapp happens in an upgrade initramfs. In RHEL
+[dracut](https://github.com/dracutdevs/dracut) is used for building initramfs
+and it's also used by leapp.
+
+```{note}
+This document documents the traditional leapp initramfs approach, not the
+experimental livemode initramfs, although some of the information holds true
+for livemode too.
+```
+
+The primary reasons for using an initramfs are that it is isolated and in our
+full control. We can decide what kernel/dracut modules, scripts, etc. are
+included and also allow actors to influence that using messages. We can also
+decide what runs and doesn't run there. This is important to make sure no
+other services interfere with the upgrade.
+
+Systemd is used inside the upgrade initramfs to start leapp's `upgrade.service`
+systemd service at the appropriate time when we are sure all the required setup
+has completed. Currently the service requires `basic.target` and
+`sysroot.mount`.
+
+The actual DNF transaction installs the packages downloaded in the
+pre-initramfs part of the upgrade via leapp's DNF plugin. The target userspace
+is mounted by the plugin and the upgrade transaction is executed. Applications
+and third-party applications are also upgraded in the initramfs.
+
+The final step in the initramfs is preparation for booting into the target
+system. This includes tasks such as creating the leapp-resume.service, target
+initramfs generation, selinux relabeling, enabling/disabling systemd services...
+
+## Preparing the generation of initramfs
+The `commonleappdracutmodules` actor is responsible for the preparation of
+initramfs generation. It produces tasks with information about which RPMs
+(dracut, mdadm, lvm2, ...) necessary for building the initramfs need to be
+installed and which dracut and kernel modules need to be included. At minimum
+the following 2 modules are included:
+- `85sys-upgrade-redhat` - mounts the `/usr` filesystem inside initramfs and
+runs the actual upgrade
+- `90sys-upgrade` - contains the upgrade.service and upgrade.target, the
+service then runs upgrade scripts from `85sys-upgrade-redhat`
+
+### Including custom dracut and kernel modules
+Actors and custom actors can produce messages to include custom dracut
+modules as well as kernel modules in the upgrade initramfs. See [TBD
+link](templates) for examples on how to write such actors.
+
+TBD - add/link the doc to the relevant models here
+
+## Generating the initramfs
+The initramfs is built by the `upgradeinitramfsgenerator` actor. It collects
+and installs the required RPMs, collects and includes kernel and dracut modules
+and copies required files (e.g. the initramfs generator script) from host to
+the target userspace container. Generates the initramfs using `dracut` and
+copies it to `/boot`.
+
+## Network in initramfs
+Currently networking support in the initramfs is experimental. See [TDB link
+LEAPP_DEVEL_INITRAM_NETWORK]() for more information.
+
+## Debugging inside initramfs
+See [TDB link]() for detailed information about initramfs debugging.
diff --git a/docs/source/upgrade-architecture-and-workflow/index.rst b/docs/source/upgrade-architecture-and-workflow/index.rst
new file mode 100644
index 0000000000..32552452ec
--- /dev/null
+++ b/docs/source/upgrade-architecture-and-workflow/index.rst
@@ -0,0 +1,18 @@
+In-place upgrade architecture and workflow
+=====================================================================
+TBD
+
+.. toctree::
+ :maxdepth: 4
+ :caption: Contents:
+ :glob:
+
+ dracut-modules-and-upgrade-initramfs
+
+
+.. Indices and tables
+.. ==================
+..
+.. * :ref:`genindex`
+.. * :ref:`modindex`
+.. * :ref:`search`