diff --git a/README.md b/README.md
index f9bc1d521d0489304633391eb9b95e029f0227bf..5f75c34108817e5c8779907fa31c772060e5de6e 100644
--- a/README.md
+++ b/README.md
@@ -1,15 +1,12 @@
 # mir-prepare-annotation
 
-[Snakemake] workflow to download and prepare the necessary files for
-smallRNA-seq related pipelines
-[mir-map](https://git.scicore.unibas.ch/zavolan_group/pipelines/mir-map)
-and
-[mir-quant](https://git.scicore.unibas.ch/zavolan_group/pipelines/mir-quant).
+[Snakemake][snakemake] workflow to download and prepare the necessary files for
+smallRNA-seq related pipelines [mir-map][mir-map] and [mir-quant][mir-quant].
 
 The scheme below is a visual representation of an example run of the
 workflow:
 
-> ![workflow_dag](images/rule_graph.svg)
+> ![rule-graph-prep-anno][rule-graph-prep-anno]
 
 ## Installation
 
@@ -26,23 +23,26 @@ cd mir-prepare-annotation
 ### Setting up a virtual environment
 
 Workflow dependencies can be conveniently installed with the [Conda][conda]
-package manager. We recommend that you install
-[Miniconda][miniconda-installation] for your system.
+package manager. We recommend that you install [Miniconda][miniconda] for your
+system.
 
 For improved reproducibility and reusability of the workflow, as well as an
 easy means to run it on a high performance computing (HPC) cluster managed,
 e.g., by [Slurm][slurm], all steps of the workflow run in their own container.
-As a consequence, running this workflow has very few individual dependencies. It
-does, however, require that the container engine [Singularity][singularity] is
-installed.
+As a consequence, running this workflow has very few individual dependencies.
+It does, however, require that the container engine [Singularity][singularity]
+is installed.
 
-Create and activate the environment with necessary dependencies with conda:
+Create and activate the environment with necessary dependencies with Conda:
 
 ```bash
 conda env create -f environment.yml
 conda activate mir-pipelines
 ```
 
+> **NOTE:** For faster creation of the environment (and Conda environments in
+> general), you can also install [Mamba][mamba] on top of Conda.
+>  
 > **NOTE:** If you have root permissions for your system and you do not have
 > `singularity` installed globally on your system, you can use Conda to install
 > it. In that case, replace `environment.yml` with `environment.root.yml` in
@@ -60,8 +60,8 @@ cd test/
 
 #### DAG and rule graph
 
-Execute the following commands to generete DAG and rule graph images. Outputs
-will be found in `images/` folder.
+Execute the following commands to generate DAG and rule graph images. Outputs
+will be found in the `images/` directory.
 
 ```bash
 ./test_dag.sh
@@ -85,13 +85,34 @@ high-performance computing (HPC) cluster:
 ./test_workflow_slurm.sh
 ```
 
+> **NOTE:** This was set up to run on the developer's Slurm cluster. Several
+> files may need to be modified on other systems, including `jobscript.sh`,
+> `workflow/prepare_annotation/cluster.json` and `test/test_workflow_slurm.sh`
+> itself (all relative to the repository's root directory). Consult the manual
+> of your batch scheduling system, as well as the section of the Snakemake
+> manual dealing with [cluster execution].
+
 ## Usage
 
 Assuming that you are currently inside the repository's root directory, change
-to the execution directory:
+to the run root directory:
+
+```bash
+cd RUNS
+```
+
+Now make a clean copy of the `JOB` directory and name it what you want, e.g.,
+`MY_ANALYSIS`:
 
 ```bash
-cd RUN_JOB
+cp -r JOB MY_ANALYSIS
+```
+
+Now traverse to the directory from where you will actually executw the pipeline
+with:
+
+```bash
+cd MY_ANALYSIS/prepare_annotation
 ```
 
 Before running the pipeline adjust the parameters in file `config.yaml`:
@@ -135,21 +156,19 @@ To start pipeline execution via Slurm:
 
 > *This is strongly recommended due to excessive resource needs of some tools!*
 
-After succesful execution of the workflow, results and logs will be found in
+After successful execution of the workflow, results and logs will be found in
 `results/` and `logs/` directories, respectively.
 
-> **Note:** Depending on the configuration of your Slurm installation or if
-> using a different batch scheduling system, you may need to adapt file
-> `cluster.json` (located in root directory) and the arguments to options
-> `--config` and `--cores` in file `run_workflow_slurm.sh`, located in the
-> `RUN_JOB` directory. Consult the manual of your batch scheduling system, as
-> well as the section of the Snakemake manual dealing with [cluster execution].
+> **Note:** See the note in the installation section for configuring workflow
+> runs on your individual batch scheduling system, Slurm or otherwise.
 
 [conda]: <https://docs.conda.io/projects/conda/en/latest/index.html>
 [cluster execution]: <https://snakemake.readthedocs.io/en/stable/executing/cluster-cloud.html#cluster-execution>
+[mamba]: <https://github.com/mamba-org/mamba>
 [miniconda-installation]: <https://docs.conda.io/en/latest/miniconda.html>
-[rule-graph]: images/rule_graph.svg
+[mir-map]: <https://git.scicore.unibas.ch/zavolan_group/pipelines/mir-map>
+[mir-quant]: <https://git.scicore.unibas.ch/zavolan_group/pipelines/mir-quant>
+[rule-graph-prep-anno]: images/rule_graph_prepare_annotation.svg
 [snakemake]: <https://snakemake.readthedocs.io/en/stable/>
 [singularity]: <https://sylabs.io/singularity/>
 [slurm]: <https://slurm.schedmd.com/documentation.html>
-
diff --git a/RUNS/COPY_ENTIRE_JOB_DIRECTORY_FOR_EACH_RUN b/RUNS/COPY_ENTIRE_JOB_DIRECTORY_FOR_EACH_RUN
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/RUN_JOB/config.yaml b/RUNS/JOB/prepare_annotation/config.yaml
similarity index 100%
rename from RUN_JOB/config.yaml
rename to RUNS/JOB/prepare_annotation/config.yaml
diff --git a/RUN_JOB/run_workflow_local.sh b/RUNS/JOB/prepare_annotation/run_workflow_local.sh
similarity index 80%
rename from RUN_JOB/run_workflow_local.sh
rename to RUNS/JOB/prepare_annotation/run_workflow_local.sh
index 13e6cb5d9e708adc1c09c353009930253811d880..085f3b7db31fb7c700e3245d63369196d4a01d03 100755
--- a/RUN_JOB/run_workflow_local.sh
+++ b/RUNS/JOB/prepare_annotation/run_workflow_local.sh
@@ -18,17 +18,17 @@ cd $script_dir
 
 # Run workflow
 snakemake \
-    --printshellcmds \
-    --snakefile="../snakemake/Snakefile" \
+    --snakefile="../../../workflow/prepare_annotation/Snakefile" \
+    --configfile="config.yaml" \
     --use-singularity \
-    --singularity-args "--bind ${PWD}/../" \
+    --singularity-args "--bind ${PWD}/../../../" \
     --cores=4 \
+    --printshellcmds \
     --rerun-incomplete \
-    --configfile="config.yaml" \
     --verbose
 
 # Snakemake report
 snakemake \
-    --snakefile="../snakemake/Snakefile" \
+    --snakefile="../../../workflow/prepare_annotation/Snakefile" \
     --configfile="config.yaml" \
     --report="snakemake_report.html"
diff --git a/RUN_JOB/run_workflow_slurm.sh b/RUNS/JOB/prepare_annotation/run_workflow_slurm.sh
similarity index 80%
rename from RUN_JOB/run_workflow_slurm.sh
rename to RUNS/JOB/prepare_annotation/run_workflow_slurm.sh
index f896d01608dfdee9cdb07d2316728902142afdd8..6fba1b79adb18af44c4d15de819fd5574817b4d8 100755
--- a/RUN_JOB/run_workflow_slurm.sh
+++ b/RUNS/JOB/prepare_annotation/run_workflow_slurm.sh
@@ -25,15 +25,9 @@ cd $script_dir
 
 # Run workflow
 snakemake \
-    --snakefile="../snakemake/Snakefile" \
+    --snakefile="../../../workflow/prepare_annotation/Snakefile" \
     --configfile="config.yaml" \
-    --cluster-config="../cluster.json" \
-    --cores=256 \
-    --jobscript="../jobscript.sh" \
-    --printshellcmds \
-    --rerun-incomplete \
-    --use-singularity \
-    --singularity-args="--no-home --bind ${PWD}/../" \
+    --cluster-config="../../../workflow/prepare_annotation/cluster.json" \
     --cluster "sbatch \
         --cpus-per-task={cluster.threads} \
         --mem={cluster.mem} \
@@ -43,10 +37,16 @@ snakemake \
         -o {params.cluster_log} \
         -p scicore \
         --open-mode=append" \
+    --use-singularity \
+    --singularity-args="--no-home --bind ${PWD}/../../../" \
+    --jobscript="../../../jobscript.sh" \
+    --cores=256 \
+    --printshellcmds \
+    --rerun-incomplete \
     --verbose
 
 # Snakemake report
 snakemake \
-    --snakefile="../snakemake/Snakefile" \
+    --snakefile="../../../workflow/prepare_annotation/Snakefile" \
     --configfile="config.yaml" \
     --report="snakemake_report.html"
diff --git a/images/rule_graph.svg b/images/rule_graph_prepare_annotation.svg
similarity index 94%
rename from images/rule_graph.svg
rename to images/rule_graph_prepare_annotation.svg
index 53e6d4e19d26e92a0adb90f99b53f2098335c3f4..e4f5562006d7e2448a5a944790c21369ca3aacba 100644
--- a/images/rule_graph.svg
+++ b/images/rule_graph_prepare_annotation.svg
@@ -12,17 +12,17 @@
 <!-- 0 -->
 <g id="node1" class="node">
 <title>0</title>
-<path fill="none" stroke="#88d856" stroke-width="2" d="M300.5,-36C300.5,-36 270.5,-36 270.5,-36 264.5,-36 258.5,-30 258.5,-24 258.5,-24 258.5,-12 258.5,-12 258.5,-6 264.5,0 270.5,0 270.5,0 300.5,0 300.5,0 306.5,0 312.5,-6 312.5,-12 312.5,-12 312.5,-24 312.5,-24 312.5,-30 306.5,-36 300.5,-36"/>
+<path fill="none" stroke="#d85656" stroke-width="2" d="M300.5,-36C300.5,-36 270.5,-36 270.5,-36 264.5,-36 258.5,-30 258.5,-24 258.5,-24 258.5,-12 258.5,-12 258.5,-6 264.5,0 270.5,0 270.5,0 300.5,0 300.5,0 306.5,0 312.5,-6 312.5,-12 312.5,-12 312.5,-24 312.5,-24 312.5,-30 306.5,-36 300.5,-36"/>
 <text text-anchor="middle" x="285.5" y="-15.5" font-family="sans" font-size="10.00" fill="#000000">finish</text>
 </g>
 <!-- 1 -->
 <g id="node2" class="node">
 <title>1</title>
-<path fill="none" stroke="#56d8c1" stroke-width="2" d="M495,-108C495,-108 300,-108 300,-108 294,-108 288,-102 288,-96 288,-96 288,-84 288,-84 288,-78 294,-72 300,-72 300,-72 495,-72 495,-72 501,-72 507,-78 507,-84 507,-84 507,-96 507,-96 507,-102 501,-108 495,-108"/>
+<path fill="none" stroke="#56c1d8" stroke-width="2" d="M495,-108C495,-108 300,-108 300,-108 294,-108 288,-102 288,-96 288,-96 288,-84 288,-84 288,-78 294,-72 300,-72 300,-72 495,-72 495,-72 501,-72 507,-78 507,-84 507,-84 507,-96 507,-96 507,-102 501,-108 495,-108"/>
 <text text-anchor="middle" x="397.5" y="-87.5" font-family="sans" font-size="10.00" fill="#000000">generate_segemehl_index_transcriptome</text>
 </g>
 <!-- 1&#45;&gt;0 -->
-<g id="edge3" class="edge">
+<g id="edge2" class="edge">
 <title>1&#45;&gt;0</title>
 <path fill="none" stroke="#c0c0c0" stroke-width="2" d="M369.2377,-71.8314C354.7198,-62.4984 336.8745,-51.0264 321.3932,-41.0742"/>
 <polygon fill="#c0c0c0" stroke="#c0c0c0" stroke-width="2" points="322.8987,-37.8812 312.5942,-35.4177 319.1134,-43.7695 322.8987,-37.8812"/>
@@ -30,7 +30,7 @@
 <!-- 2 -->
 <g id="node3" class="node">
 <title>2</title>
-<path fill="none" stroke="#d88d56" stroke-width="2" d="M419,-180C419,-180 376,-180 376,-180 370,-180 364,-174 364,-168 364,-168 364,-156 364,-156 364,-150 370,-144 376,-144 376,-144 419,-144 419,-144 425,-144 431,-150 431,-156 431,-156 431,-168 431,-168 431,-174 425,-180 419,-180"/>
+<path fill="none" stroke="#568ad8" stroke-width="2" d="M419,-180C419,-180 376,-180 376,-180 370,-180 364,-174 364,-168 364,-168 364,-156 364,-156 364,-150 370,-144 376,-144 376,-144 419,-144 419,-144 425,-144 431,-150 431,-156 431,-156 431,-168 431,-168 431,-174 425,-180 419,-180"/>
 <text text-anchor="middle" x="397.5" y="-159.5" font-family="sans" font-size="10.00" fill="#000000">trim_fasta</text>
 </g>
 <!-- 2&#45;&gt;1 -->
@@ -42,7 +42,7 @@
 <!-- 3 -->
 <g id="node4" class="node">
 <title>3</title>
-<path fill="none" stroke="#d85656" stroke-width="2" d="M461.5,-252C461.5,-252 333.5,-252 333.5,-252 327.5,-252 321.5,-246 321.5,-240 321.5,-240 321.5,-228 321.5,-228 321.5,-222 327.5,-216 333.5,-216 333.5,-216 461.5,-216 461.5,-216 467.5,-216 473.5,-222 473.5,-228 473.5,-228 473.5,-240 473.5,-240 473.5,-246 467.5,-252 461.5,-252"/>
+<path fill="none" stroke="#d8bc56" stroke-width="2" d="M461.5,-252C461.5,-252 333.5,-252 333.5,-252 327.5,-252 321.5,-246 321.5,-240 321.5,-240 321.5,-228 321.5,-228 321.5,-222 327.5,-216 333.5,-216 333.5,-216 461.5,-216 461.5,-216 467.5,-216 473.5,-222 473.5,-228 473.5,-228 473.5,-240 473.5,-240 473.5,-246 467.5,-252 461.5,-252"/>
 <text text-anchor="middle" x="397.5" y="-231.5" font-family="sans" font-size="10.00" fill="#000000">extract_transcriptome_seqs</text>
 </g>
 <!-- 3&#45;&gt;2 -->
@@ -54,7 +54,7 @@
 <!-- 4 -->
 <g id="node5" class="node">
 <title>4</title>
-<path fill="none" stroke="#59d856" stroke-width="2" d="M212,-324C212,-324 137,-324 137,-324 131,-324 125,-318 125,-312 125,-312 125,-300 125,-300 125,-294 131,-288 137,-288 137,-288 212,-288 212,-288 218,-288 224,-294 224,-300 224,-300 224,-312 224,-312 224,-318 218,-324 212,-324"/>
+<path fill="none" stroke="#d88d56" stroke-width="2" d="M212,-324C212,-324 137,-324 137,-324 131,-324 125,-318 125,-312 125,-312 125,-300 125,-300 125,-294 131,-288 137,-288 137,-288 212,-288 212,-288 218,-288 224,-294 224,-300 224,-300 224,-312 224,-312 224,-318 218,-324 212,-324"/>
 <text text-anchor="middle" x="174.5" y="-303.5" font-family="sans" font-size="10.00" fill="#000000">genome_process</text>
 </g>
 <!-- 4&#45;&gt;3 -->
@@ -66,7 +66,7 @@
 <!-- 6 -->
 <g id="node7" class="node">
 <title>6</title>
-<path fill="none" stroke="#56d88a" stroke-width="2" d="M258,-108C258,-108 91,-108 91,-108 85,-108 79,-102 79,-96 79,-96 79,-84 79,-84 79,-78 85,-72 91,-72 91,-72 258,-72 258,-72 264,-72 270,-78 270,-84 270,-84 270,-96 270,-96 270,-102 264,-108 258,-108"/>
+<path fill="none" stroke="#59d856" stroke-width="2" d="M258,-108C258,-108 91,-108 91,-108 85,-108 79,-102 79,-96 79,-96 79,-84 79,-84 79,-78 85,-72 91,-72 91,-72 258,-72 258,-72 264,-72 270,-78 270,-84 270,-84 270,-96 270,-96 270,-102 264,-108 258,-108"/>
 <text text-anchor="middle" x="174.5" y="-87.5" font-family="sans" font-size="10.00" fill="#000000">generate_segemehl_index_genome</text>
 </g>
 <!-- 4&#45;&gt;6 -->
@@ -78,7 +78,7 @@
 <!-- 9 -->
 <g id="node10" class="node">
 <title>9</title>
-<path fill="none" stroke="#568ad8" stroke-width="2" d="M119,-180C119,-180 12,-180 12,-180 6,-180 0,-174 0,-168 0,-168 0,-156 0,-156 0,-150 6,-144 12,-144 12,-144 119,-144 119,-144 125,-144 131,-150 131,-156 131,-156 131,-168 131,-168 131,-174 125,-180 119,-180"/>
+<path fill="none" stroke="#56d8c1" stroke-width="2" d="M119,-180C119,-180 12,-180 12,-180 6,-180 0,-174 0,-168 0,-168 0,-156 0,-156 0,-150 6,-144 12,-144 12,-144 119,-144 119,-144 125,-144 131,-150 131,-156 131,-156 131,-168 131,-168 131,-174 125,-180 119,-180"/>
 <text text-anchor="middle" x="65.5" y="-159.5" font-family="sans" font-size="10.00" fill="#000000">create_header_genome</text>
 </g>
 <!-- 4&#45;&gt;9 -->
@@ -90,7 +90,7 @@
 <!-- 5 -->
 <g id="node6" class="node">
 <title>5</title>
-<path fill="none" stroke="#56c1d8" stroke-width="2" d="M502,-324C502,-324 439,-324 439,-324 433,-324 427,-318 427,-312 427,-312 427,-300 427,-300 427,-294 433,-288 439,-288 439,-288 502,-288 502,-288 508,-288 514,-294 514,-300 514,-300 514,-312 514,-312 514,-318 508,-324 502,-324"/>
+<path fill="none" stroke="#56d88a" stroke-width="2" d="M502,-324C502,-324 439,-324 439,-324 433,-324 427,-318 427,-312 427,-312 427,-300 427,-300 427,-294 433,-288 439,-288 439,-288 502,-288 502,-288 508,-288 514,-294 514,-300 514,-300 514,-312 514,-312 514,-318 508,-324 502,-324"/>
 <text text-anchor="middle" x="470.5" y="-303.5" font-family="sans" font-size="10.00" fill="#000000">filter_anno_gtf</text>
 </g>
 <!-- 5&#45;&gt;3 -->
@@ -112,7 +112,7 @@
 <polygon fill="#c0c0c0" stroke="#c0c0c0" stroke-width="2" points="521.1061,-261.645 525.8326,-252.1628 516.2246,-256.6279 521.1061,-261.645"/>
 </g>
 <!-- 6&#45;&gt;0 -->
-<g id="edge4" class="edge">
+<g id="edge3" class="edge">
 <title>6&#45;&gt;0</title>
 <path fill="none" stroke="#c0c0c0" stroke-width="2" d="M202.51,-71.8314C216.7909,-62.5681 234.3205,-51.1975 249.5834,-41.2972"/>
 <polygon fill="#c0c0c0" stroke="#c0c0c0" stroke-width="2" points="251.7815,-44.0434 258.2664,-35.665 247.9721,-38.1706 251.7815,-44.0434"/>
@@ -120,11 +120,11 @@
 <!-- 7 -->
 <g id="node8" class="node">
 <title>7</title>
-<path fill="none" stroke="#d8bc56" stroke-width="2" d="M571.5,-108C571.5,-108 537.5,-108 537.5,-108 531.5,-108 525.5,-102 525.5,-96 525.5,-96 525.5,-84 525.5,-84 525.5,-78 531.5,-72 537.5,-72 537.5,-72 571.5,-72 571.5,-72 577.5,-72 583.5,-78 583.5,-84 583.5,-84 583.5,-96 583.5,-96 583.5,-102 577.5,-108 571.5,-108"/>
+<path fill="none" stroke="#88d856" stroke-width="2" d="M571.5,-108C571.5,-108 537.5,-108 537.5,-108 531.5,-108 525.5,-102 525.5,-96 525.5,-96 525.5,-84 525.5,-84 525.5,-78 531.5,-72 537.5,-72 537.5,-72 571.5,-72 571.5,-72 577.5,-72 583.5,-78 583.5,-84 583.5,-84 583.5,-96 583.5,-96 583.5,-102 577.5,-108 571.5,-108"/>
 <text text-anchor="middle" x="554.5" y="-87.5" font-family="sans" font-size="10.00" fill="#000000">gtftobed</text>
 </g>
 <!-- 7&#45;&gt;0 -->
-<g id="edge2" class="edge">
+<g id="edge1" class="edge">
 <title>7&#45;&gt;0</title>
 <path fill="none" stroke="#c0c0c0" stroke-width="2" d="M525.3009,-75.4138C522.3621,-74.1746 519.3945,-73.0109 516.5,-72 449.8064,-48.7071 368.7812,-32.3854 322.571,-24.1501"/>
 <polygon fill="#c0c0c0" stroke="#c0c0c0" stroke-width="2" points="323.1591,-20.6999 312.705,-22.4208 321.9506,-27.5948 323.1591,-20.6999"/>
@@ -136,7 +136,7 @@
 <polygon fill="#c0c0c0" stroke="#c0c0c0" stroke-width="2" points="556.0425,-118.3081 553.2438,-108.0896 549.0593,-117.8231 556.0425,-118.3081"/>
 </g>
 <!-- 9&#45;&gt;0 -->
-<g id="edge1" class="edge">
+<g id="edge4" class="edge">
 <title>9&#45;&gt;0</title>
 <path fill="none" stroke="#c0c0c0" stroke-width="2" d="M60.544,-143.9048C56.2668,-123.9783 53.0715,-92.1044 69.5,-72 91.8461,-44.6539 192.3357,-28.8343 248.0323,-22.0186"/>
 <polygon fill="#c0c0c0" stroke="#c0c0c0" stroke-width="2" points="248.6915,-25.465 258.21,-20.8123 247.8676,-18.5137 248.6915,-25.465"/>
diff --git a/images/workflow_dag.svg b/images/workflow_dag_prepare_annotation.svg
similarity index 69%
rename from images/workflow_dag.svg
rename to images/workflow_dag_prepare_annotation.svg
index 3c345c40ed055adcff026a9dd9efa73a4e33b88b..3fd406e237fe85a9f888d44e51633eabcd34bf88 100644
--- a/images/workflow_dag.svg
+++ b/images/workflow_dag_prepare_annotation.svg
@@ -12,13 +12,13 @@
 <!-- 0 -->
 <g id="node1" class="node">
 <title>0</title>
-<path fill="none" stroke="#88d856" stroke-width="2" stroke-dasharray="5,2" d="M300.5,-36C300.5,-36 270.5,-36 270.5,-36 264.5,-36 258.5,-30 258.5,-24 258.5,-24 258.5,-12 258.5,-12 258.5,-6 264.5,0 270.5,0 270.5,0 300.5,0 300.5,0 306.5,0 312.5,-6 312.5,-12 312.5,-12 312.5,-24 312.5,-24 312.5,-30 306.5,-36 300.5,-36"/>
+<path fill="none" stroke="#d88d56" stroke-width="2" d="M300.5,-36C300.5,-36 270.5,-36 270.5,-36 264.5,-36 258.5,-30 258.5,-24 258.5,-24 258.5,-12 258.5,-12 258.5,-6 264.5,0 270.5,0 270.5,0 300.5,0 300.5,0 306.5,0 312.5,-6 312.5,-12 312.5,-12 312.5,-24 312.5,-24 312.5,-30 306.5,-36 300.5,-36"/>
 <text text-anchor="middle" x="285.5" y="-15.5" font-family="sans" font-size="10.00" fill="#000000">finish</text>
 </g>
 <!-- 1 -->
 <g id="node2" class="node">
 <title>1</title>
-<path fill="none" stroke="#d88d56" stroke-width="2" stroke-dasharray="5,2" d="M495,-108C495,-108 300,-108 300,-108 294,-108 288,-102 288,-96 288,-96 288,-84 288,-84 288,-78 294,-72 300,-72 300,-72 495,-72 495,-72 501,-72 507,-78 507,-84 507,-84 507,-96 507,-96 507,-102 501,-108 495,-108"/>
+<path fill="none" stroke="#56c1d8" stroke-width="2" d="M495,-108C495,-108 300,-108 300,-108 294,-108 288,-102 288,-96 288,-96 288,-84 288,-84 288,-78 294,-72 300,-72 300,-72 495,-72 495,-72 501,-72 507,-78 507,-84 507,-84 507,-96 507,-96 507,-102 501,-108 495,-108"/>
 <text text-anchor="middle" x="397.5" y="-87.5" font-family="sans" font-size="10.00" fill="#000000">generate_segemehl_index_transcriptome</text>
 </g>
 <!-- 1&#45;&gt;0 -->
@@ -30,7 +30,7 @@
 <!-- 2 -->
 <g id="node3" class="node">
 <title>2</title>
-<path fill="none" stroke="#56d88a" stroke-width="2" stroke-dasharray="5,2" d="M419,-180C419,-180 376,-180 376,-180 370,-180 364,-174 364,-168 364,-168 364,-156 364,-156 364,-150 370,-144 376,-144 376,-144 419,-144 419,-144 425,-144 431,-150 431,-156 431,-156 431,-168 431,-168 431,-174 425,-180 419,-180"/>
+<path fill="none" stroke="#d85656" stroke-width="2" d="M419,-180C419,-180 376,-180 376,-180 370,-180 364,-174 364,-168 364,-168 364,-156 364,-156 364,-150 370,-144 376,-144 376,-144 419,-144 419,-144 425,-144 431,-150 431,-156 431,-156 431,-168 431,-168 431,-174 425,-180 419,-180"/>
 <text text-anchor="middle" x="397.5" y="-159.5" font-family="sans" font-size="10.00" fill="#000000">trim_fasta</text>
 </g>
 <!-- 2&#45;&gt;1 -->
@@ -42,7 +42,7 @@
 <!-- 3 -->
 <g id="node4" class="node">
 <title>3</title>
-<path fill="none" stroke="#56c1d8" stroke-width="2" stroke-dasharray="5,2" d="M461.5,-252C461.5,-252 333.5,-252 333.5,-252 327.5,-252 321.5,-246 321.5,-240 321.5,-240 321.5,-228 321.5,-228 321.5,-222 327.5,-216 333.5,-216 333.5,-216 461.5,-216 461.5,-216 467.5,-216 473.5,-222 473.5,-228 473.5,-228 473.5,-240 473.5,-240 473.5,-246 467.5,-252 461.5,-252"/>
+<path fill="none" stroke="#bed856" stroke-width="2" d="M461.5,-252C461.5,-252 333.5,-252 333.5,-252 327.5,-252 321.5,-246 321.5,-240 321.5,-240 321.5,-228 321.5,-228 321.5,-222 327.5,-216 333.5,-216 333.5,-216 461.5,-216 461.5,-216 467.5,-216 473.5,-222 473.5,-228 473.5,-228 473.5,-240 473.5,-240 473.5,-246 467.5,-252 461.5,-252"/>
 <text text-anchor="middle" x="397.5" y="-231.5" font-family="sans" font-size="10.00" fill="#000000">extract_transcriptome_seqs</text>
 </g>
 <!-- 3&#45;&gt;2 -->
@@ -54,7 +54,7 @@
 <!-- 4 -->
 <g id="node5" class="node">
 <title>4</title>
-<path fill="none" stroke="#568ad8" stroke-width="2" stroke-dasharray="5,2" d="M244,-329C244,-329 105,-329 105,-329 99,-329 93,-323 93,-317 93,-317 93,-300 93,-300 93,-294 99,-288 105,-288 105,-288 244,-288 244,-288 250,-288 256,-294 256,-300 256,-300 256,-317 256,-317 256,-323 250,-329 244,-329"/>
+<path fill="none" stroke="#d8bc56" stroke-width="2" d="M244,-329C244,-329 105,-329 105,-329 99,-329 93,-323 93,-317 93,-317 93,-300 93,-300 93,-294 99,-288 105,-288 105,-288 244,-288 244,-288 250,-288 256,-294 256,-300 256,-300 256,-317 256,-317 256,-323 250,-329 244,-329"/>
 <text text-anchor="middle" x="174.5" y="-317" font-family="sans" font-size="10.00" fill="#000000">genome_process</text>
 <text text-anchor="middle" x="174.5" y="-306" font-family="sans" font-size="10.00" fill="#000000">organism: homo_sapiens</text>
 <text text-anchor="middle" x="174.5" y="-295" font-family="sans" font-size="10.00" fill="#000000">prefix_name: GRCh38.98_chrY</text>
@@ -68,7 +68,7 @@
 <!-- 6 -->
 <g id="node7" class="node">
 <title>6</title>
-<path fill="none" stroke="#59d856" stroke-width="2" stroke-dasharray="5,2" d="M258,-108C258,-108 91,-108 91,-108 85,-108 79,-102 79,-96 79,-96 79,-84 79,-84 79,-78 85,-72 91,-72 91,-72 258,-72 258,-72 264,-72 270,-78 270,-84 270,-84 270,-96 270,-96 270,-102 264,-108 258,-108"/>
+<path fill="none" stroke="#568ad8" stroke-width="2" d="M258,-108C258,-108 91,-108 91,-108 85,-108 79,-102 79,-96 79,-96 79,-84 79,-84 79,-78 85,-72 91,-72 91,-72 258,-72 258,-72 264,-72 270,-78 270,-84 270,-84 270,-96 270,-96 270,-102 264,-108 258,-108"/>
 <text text-anchor="middle" x="174.5" y="-87.5" font-family="sans" font-size="10.00" fill="#000000">generate_segemehl_index_genome</text>
 </g>
 <!-- 4&#45;&gt;6 -->
@@ -80,7 +80,7 @@
 <!-- 9 -->
 <g id="node10" class="node">
 <title>9</title>
-<path fill="none" stroke="#56d8c1" stroke-width="2" stroke-dasharray="5,2" d="M119,-180C119,-180 12,-180 12,-180 6,-180 0,-174 0,-168 0,-168 0,-156 0,-156 0,-150 6,-144 12,-144 12,-144 119,-144 119,-144 125,-144 131,-150 131,-156 131,-156 131,-168 131,-168 131,-174 125,-180 119,-180"/>
+<path fill="none" stroke="#59d856" stroke-width="2" d="M119,-180C119,-180 12,-180 12,-180 6,-180 0,-174 0,-168 0,-168 0,-156 0,-156 0,-150 6,-144 12,-144 12,-144 119,-144 119,-144 125,-144 131,-150 131,-156 131,-156 131,-168 131,-168 131,-174 125,-180 119,-180"/>
 <text text-anchor="middle" x="65.5" y="-159.5" font-family="sans" font-size="10.00" fill="#000000">create_header_genome</text>
 </g>
 <!-- 4&#45;&gt;9 -->
@@ -92,7 +92,7 @@
 <!-- 5 -->
 <g id="node6" class="node">
 <title>5</title>
-<path fill="none" stroke="#d85656" stroke-width="2" stroke-dasharray="5,2" d="M540,-329C540,-329 401,-329 401,-329 395,-329 389,-323 389,-317 389,-317 389,-300 389,-300 389,-294 395,-288 401,-288 401,-288 540,-288 540,-288 546,-288 552,-294 552,-300 552,-300 552,-317 552,-317 552,-323 546,-329 540,-329"/>
+<path fill="none" stroke="#88d856" stroke-width="2" d="M540,-329C540,-329 401,-329 401,-329 395,-329 389,-323 389,-317 389,-317 389,-300 389,-300 389,-294 395,-288 401,-288 401,-288 540,-288 540,-288 546,-288 552,-294 552,-300 552,-300 552,-317 552,-317 552,-323 546,-329 540,-329"/>
 <text text-anchor="middle" x="470.5" y="-317" font-family="sans" font-size="10.00" fill="#000000">filter_anno_gtf</text>
 <text text-anchor="middle" x="470.5" y="-306" font-family="sans" font-size="10.00" fill="#000000">organism: homo_sapiens</text>
 <text text-anchor="middle" x="470.5" y="-295" font-family="sans" font-size="10.00" fill="#000000">prefix_name: GRCh38.98_chrY</text>
@@ -106,7 +106,7 @@
 <!-- 8 -->
 <g id="node9" class="node">
 <title>8</title>
-<path fill="none" stroke="#bed856" stroke-width="2" stroke-dasharray="5,2" d="M575.5,-252C575.5,-252 513.5,-252 513.5,-252 507.5,-252 501.5,-246 501.5,-240 501.5,-240 501.5,-228 501.5,-228 501.5,-222 507.5,-216 513.5,-216 513.5,-216 575.5,-216 575.5,-216 581.5,-216 587.5,-222 587.5,-228 587.5,-228 587.5,-240 587.5,-240 587.5,-246 581.5,-252 575.5,-252"/>
+<path fill="none" stroke="#56d8c1" stroke-width="2" d="M575.5,-252C575.5,-252 513.5,-252 513.5,-252 507.5,-252 501.5,-246 501.5,-240 501.5,-240 501.5,-228 501.5,-228 501.5,-222 507.5,-216 513.5,-216 513.5,-216 575.5,-216 575.5,-216 581.5,-216 587.5,-222 587.5,-228 587.5,-228 587.5,-240 587.5,-240 587.5,-246 581.5,-252 575.5,-252"/>
 <text text-anchor="middle" x="544.5" y="-231.5" font-family="sans" font-size="10.00" fill="#000000">get_exons_gtf</text>
 </g>
 <!-- 5&#45;&gt;8 -->
@@ -124,7 +124,7 @@
 <!-- 7 -->
 <g id="node8" class="node">
 <title>7</title>
-<path fill="none" stroke="#d8bc56" stroke-width="2" stroke-dasharray="5,2" d="M571.5,-108C571.5,-108 537.5,-108 537.5,-108 531.5,-108 525.5,-102 525.5,-96 525.5,-96 525.5,-84 525.5,-84 525.5,-78 531.5,-72 537.5,-72 537.5,-72 571.5,-72 571.5,-72 577.5,-72 583.5,-78 583.5,-84 583.5,-84 583.5,-96 583.5,-96 583.5,-102 577.5,-108 571.5,-108"/>
+<path fill="none" stroke="#56d88a" stroke-width="2" d="M571.5,-108C571.5,-108 537.5,-108 537.5,-108 531.5,-108 525.5,-102 525.5,-96 525.5,-96 525.5,-84 525.5,-84 525.5,-78 531.5,-72 537.5,-72 537.5,-72 571.5,-72 571.5,-72 577.5,-72 583.5,-78 583.5,-84 583.5,-84 583.5,-96 583.5,-96 583.5,-102 577.5,-108 571.5,-108"/>
 <text text-anchor="middle" x="554.5" y="-87.5" font-family="sans" font-size="10.00" fill="#000000">gtftobed</text>
 </g>
 <!-- 7&#45;&gt;0 -->
diff --git a/jobscript.sh b/jobscript.sh
index a581276f4502044d7b6284cb2798fccd66398ef0..bf228c3068844abe871d5ba6494ea82c6f36268e 100755
--- a/jobscript.sh
+++ b/jobscript.sh
@@ -1,8 +1,4 @@
 #!/bin/bash
-# properties = {properties}
-
-#PATH=/scicore/home/zavolan/schmiral/soft/miniconda3/bin:${{PATH}}
-#export PATH
 
 echo -e "JOB ID\t$SLURM_JOBID"
 echo "=============================="
diff --git a/test/config.yaml b/test/config_prepare_annotation.yaml
similarity index 100%
rename from test/config.yaml
rename to test/config_prepare_annotation.yaml
diff --git a/test/snakemake_report.html b/test/snakemake_report.html
deleted file mode 100644
index 390e14733cb6fe640e356663ab2b4c481256e0f1..0000000000000000000000000000000000000000
--- a/test/snakemake_report.html
+++ /dev/null
@@ -1,2032 +0,0 @@
-<!doctype html>
-<html lang="en">
-  <head>
-    <meta charset="utf-8">
-    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
-    <meta name="description" content="">
-    <meta name="author" content="">
-
-    <title>Snakemake Report</title>
-
-    <!-- Bootstrap CSS -->
-    <style>/*!
- * Bootstrap v4.1.1 (https://getbootstrap.com/)
- * Copyright 2011-2018 The Bootstrap Authors
- * Copyright 2011-2018 Twitter, Inc.
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- */:root{--blue:#007bff;--indigo:#6610f2;--purple:#6f42c1;--pink:#e83e8c;--red:#dc3545;--orange:#fd7e14;--yellow:#ffc107;--green:#28a745;--teal:#20c997;--cyan:#17a2b8;--white:#fff;--gray:#6c757d;--gray-dark:#343a40;--primary:#007bff;--secondary:#6c757d;--success:#28a745;--info:#17a2b8;--warning:#ffc107;--danger:#dc3545;--light:#f8f9fa;--dark:#343a40;--breakpoint-xs:0;--breakpoint-sm:576px;--breakpoint-md:768px;--breakpoint-lg:992px;--breakpoint-xl:1200px;--font-family-sans-serif:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";--font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}*,::after,::before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:transparent}@-ms-viewport{width:device-width}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}[tabindex="-1"]:focus{outline:0!important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;border-bottom:0}address{margin-bottom:1rem;font-style:normal;line-height:inherit}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#007bff;text-decoration:none;background-color:transparent;-webkit-text-decoration-skip:objects}a:hover{color:#0056b3;text-decoration:underline}a:not([href]):not([tabindex]){color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus,a:not([href]):not([tabindex]):hover{color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus{outline:0}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto;-ms-overflow-style:scrollbar}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg:not(:root){overflow:hidden}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#6c757d;text-align:left;caption-side:bottom}th{text-align:inherit}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=date],input[type=datetime-local],input[type=month],input[type=time]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}[hidden]{display:none!important}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-bottom:.5rem;font-family:inherit;font-weight:500;line-height:1.2;color:inherit}.h1,h1{font-size:2.5rem}.h2,h2{font-size:2rem}.h3,h3{font-size:1.75rem}.h4,h4{font-size:1.5rem}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:6rem;font-weight:300;line-height:1.2}.display-2{font-size:5.5rem;font-weight:300;line-height:1.2}.display-3{font-size:4.5rem;font-weight:300;line-height:1.2}.display-4{font-size:3.5rem;font-weight:300;line-height:1.2}hr{margin-top:1rem;margin-bottom:1rem;border:0;border-top:1px solid rgba(0,0,0,.1)}.small,small{font-size:80%;font-weight:400}.mark,mark{padding:.2em;background-color:#fcf8e3}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:90%;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote-footer{display:block;font-size:80%;color:#6c757d}.blockquote-footer::before{content:"\2014 \00A0"}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:90%;color:#6c757d}code{font-size:87.5%;color:#e83e8c;word-break:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:87.5%;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:100%;font-weight:700}pre{display:block;font-size:87.5%;color:#212529}pre code{font-size:inherit;color:inherit;word-break:normal}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:576px){.container{max-width:540px}}@media (min-width:768px){.container{max-width:720px}}@media (min-width:992px){.container{max-width:960px}}@media (min-width:1200px){.container{max-width:1140px}}.container-fluid{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-right:0;padding-left:0}.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-auto,.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-auto,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-auto,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-auto,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-auto{position:relative;width:100%;min-height:1px;padding-right:15px;padding-left:15px}.col{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-first{-ms-flex-order:-1;order:-1}.order-last{-ms-flex-order:13;order:13}.order-0{-ms-flex-order:0;order:0}.order-1{-ms-flex-order:1;order:1}.order-2{-ms-flex-order:2;order:2}.order-3{-ms-flex-order:3;order:3}.order-4{-ms-flex-order:4;order:4}.order-5{-ms-flex-order:5;order:5}.order-6{-ms-flex-order:6;order:6}.order-7{-ms-flex-order:7;order:7}.order-8{-ms-flex-order:8;order:8}.order-9{-ms-flex-order:9;order:9}.order-10{-ms-flex-order:10;order:10}.order-11{-ms-flex-order:11;order:11}.order-12{-ms-flex-order:12;order:12}.offset-1{margin-left:8.333333%}.offset-2{margin-left:16.666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.333333%}.offset-5{margin-left:41.666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.333333%}.offset-8{margin-left:66.666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.333333%}.offset-11{margin-left:91.666667%}@media (min-width:576px){.col-sm{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-sm-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-sm-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-sm-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-sm-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-sm-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-sm-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-sm-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-sm-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-sm-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-sm-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-sm-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-sm-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-sm-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-sm-first{-ms-flex-order:-1;order:-1}.order-sm-last{-ms-flex-order:13;order:13}.order-sm-0{-ms-flex-order:0;order:0}.order-sm-1{-ms-flex-order:1;order:1}.order-sm-2{-ms-flex-order:2;order:2}.order-sm-3{-ms-flex-order:3;order:3}.order-sm-4{-ms-flex-order:4;order:4}.order-sm-5{-ms-flex-order:5;order:5}.order-sm-6{-ms-flex-order:6;order:6}.order-sm-7{-ms-flex-order:7;order:7}.order-sm-8{-ms-flex-order:8;order:8}.order-sm-9{-ms-flex-order:9;order:9}.order-sm-10{-ms-flex-order:10;order:10}.order-sm-11{-ms-flex-order:11;order:11}.order-sm-12{-ms-flex-order:12;order:12}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.333333%}.offset-sm-2{margin-left:16.666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.333333%}.offset-sm-5{margin-left:41.666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.333333%}.offset-sm-8{margin-left:66.666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.333333%}.offset-sm-11{margin-left:91.666667%}}@media (min-width:768px){.col-md{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-md-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-md-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-md-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-md-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-md-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-md-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-md-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-md-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-md-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-md-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-md-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-md-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-md-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-md-first{-ms-flex-order:-1;order:-1}.order-md-last{-ms-flex-order:13;order:13}.order-md-0{-ms-flex-order:0;order:0}.order-md-1{-ms-flex-order:1;order:1}.order-md-2{-ms-flex-order:2;order:2}.order-md-3{-ms-flex-order:3;order:3}.order-md-4{-ms-flex-order:4;order:4}.order-md-5{-ms-flex-order:5;order:5}.order-md-6{-ms-flex-order:6;order:6}.order-md-7{-ms-flex-order:7;order:7}.order-md-8{-ms-flex-order:8;order:8}.order-md-9{-ms-flex-order:9;order:9}.order-md-10{-ms-flex-order:10;order:10}.order-md-11{-ms-flex-order:11;order:11}.order-md-12{-ms-flex-order:12;order:12}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.333333%}.offset-md-2{margin-left:16.666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.333333%}.offset-md-5{margin-left:41.666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.333333%}.offset-md-8{margin-left:66.666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.333333%}.offset-md-11{margin-left:91.666667%}}@media (min-width:992px){.col-lg{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-lg-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-lg-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-lg-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-lg-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-lg-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-lg-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-lg-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-lg-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-lg-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-lg-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-lg-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-lg-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-lg-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-lg-first{-ms-flex-order:-1;order:-1}.order-lg-last{-ms-flex-order:13;order:13}.order-lg-0{-ms-flex-order:0;order:0}.order-lg-1{-ms-flex-order:1;order:1}.order-lg-2{-ms-flex-order:2;order:2}.order-lg-3{-ms-flex-order:3;order:3}.order-lg-4{-ms-flex-order:4;order:4}.order-lg-5{-ms-flex-order:5;order:5}.order-lg-6{-ms-flex-order:6;order:6}.order-lg-7{-ms-flex-order:7;order:7}.order-lg-8{-ms-flex-order:8;order:8}.order-lg-9{-ms-flex-order:9;order:9}.order-lg-10{-ms-flex-order:10;order:10}.order-lg-11{-ms-flex-order:11;order:11}.order-lg-12{-ms-flex-order:12;order:12}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.333333%}.offset-lg-2{margin-left:16.666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.333333%}.offset-lg-5{margin-left:41.666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.333333%}.offset-lg-8{margin-left:66.666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.333333%}.offset-lg-11{margin-left:91.666667%}}@media (min-width:1200px){.col-xl{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-xl-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-xl-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-xl-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-xl-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-xl-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-xl-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-xl-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-xl-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-xl-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-xl-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-xl-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-xl-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-xl-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-xl-first{-ms-flex-order:-1;order:-1}.order-xl-last{-ms-flex-order:13;order:13}.order-xl-0{-ms-flex-order:0;order:0}.order-xl-1{-ms-flex-order:1;order:1}.order-xl-2{-ms-flex-order:2;order:2}.order-xl-3{-ms-flex-order:3;order:3}.order-xl-4{-ms-flex-order:4;order:4}.order-xl-5{-ms-flex-order:5;order:5}.order-xl-6{-ms-flex-order:6;order:6}.order-xl-7{-ms-flex-order:7;order:7}.order-xl-8{-ms-flex-order:8;order:8}.order-xl-9{-ms-flex-order:9;order:9}.order-xl-10{-ms-flex-order:10;order:10}.order-xl-11{-ms-flex-order:11;order:11}.order-xl-12{-ms-flex-order:12;order:12}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.333333%}.offset-xl-2{margin-left:16.666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.333333%}.offset-xl-5{margin-left:41.666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.333333%}.offset-xl-8{margin-left:66.666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.333333%}.offset-xl-11{margin-left:91.666667%}}.table{width:100%;max-width:100%;margin-bottom:1rem;background-color:transparent}.table td,.table th{padding:.75rem;vertical-align:top;border-top:1px solid #dee2e6}.table thead th{vertical-align:bottom;border-bottom:2px solid #dee2e6}.table tbody+tbody{border-top:2px solid #dee2e6}.table .table{background-color:#fff}.table-sm td,.table-sm th{padding:.3rem}.table-bordered{border:1px solid #dee2e6}.table-bordered td,.table-bordered th{border:1px solid #dee2e6}.table-bordered thead td,.table-bordered thead th{border-bottom-width:2px}.table-borderless tbody+tbody,.table-borderless td,.table-borderless th,.table-borderless thead th{border:0}.table-striped tbody tr:nth-of-type(odd){background-color:rgba(0,0,0,.05)}.table-hover tbody tr:hover{background-color:rgba(0,0,0,.075)}.table-primary,.table-primary>td,.table-primary>th{background-color:#b8daff}.table-hover .table-primary:hover{background-color:#9fcdff}.table-hover .table-primary:hover>td,.table-hover .table-primary:hover>th{background-color:#9fcdff}.table-secondary,.table-secondary>td,.table-secondary>th{background-color:#d6d8db}.table-hover .table-secondary:hover{background-color:#c8cbcf}.table-hover .table-secondary:hover>td,.table-hover .table-secondary:hover>th{background-color:#c8cbcf}.table-success,.table-success>td,.table-success>th{background-color:#c3e6cb}.table-hover .table-success:hover{background-color:#b1dfbb}.table-hover .table-success:hover>td,.table-hover .table-success:hover>th{background-color:#b1dfbb}.table-info,.table-info>td,.table-info>th{background-color:#bee5eb}.table-hover .table-info:hover{background-color:#abdde5}.table-hover .table-info:hover>td,.table-hover .table-info:hover>th{background-color:#abdde5}.table-warning,.table-warning>td,.table-warning>th{background-color:#ffeeba}.table-hover .table-warning:hover{background-color:#ffe8a1}.table-hover .table-warning:hover>td,.table-hover .table-warning:hover>th{background-color:#ffe8a1}.table-danger,.table-danger>td,.table-danger>th{background-color:#f5c6cb}.table-hover .table-danger:hover{background-color:#f1b0b7}.table-hover .table-danger:hover>td,.table-hover .table-danger:hover>th{background-color:#f1b0b7}.table-light,.table-light>td,.table-light>th{background-color:#fdfdfe}.table-hover .table-light:hover{background-color:#ececf6}.table-hover .table-light:hover>td,.table-hover .table-light:hover>th{background-color:#ececf6}.table-dark,.table-dark>td,.table-dark>th{background-color:#c6c8ca}.table-hover .table-dark:hover{background-color:#b9bbbe}.table-hover .table-dark:hover>td,.table-hover .table-dark:hover>th{background-color:#b9bbbe}.table-active,.table-active>td,.table-active>th{background-color:rgba(0,0,0,.075)}.table-hover .table-active:hover{background-color:rgba(0,0,0,.075)}.table-hover .table-active:hover>td,.table-hover .table-active:hover>th{background-color:rgba(0,0,0,.075)}.table .thead-dark th{color:#fff;background-color:#212529;border-color:#32383e}.table .thead-light th{color:#495057;background-color:#e9ecef;border-color:#dee2e6}.table-dark{color:#fff;background-color:#212529}.table-dark td,.table-dark th,.table-dark thead th{border-color:#32383e}.table-dark.table-bordered{border:0}.table-dark.table-striped tbody tr:nth-of-type(odd){background-color:rgba(255,255,255,.05)}.table-dark.table-hover tbody tr:hover{background-color:rgba(255,255,255,.075)}@media (max-width:575.98px){.table-responsive-sm{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.table-responsive-sm>.table-bordered{border:0}}@media (max-width:767.98px){.table-responsive-md{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.table-responsive-md>.table-bordered{border:0}}@media (max-width:991.98px){.table-responsive-lg{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.table-responsive-lg>.table-bordered{border:0}}@media (max-width:1199.98px){.table-responsive-xl{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.table-responsive-xl>.table-bordered{border:0}}.table-responsive{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.table-responsive>.table-bordered{border:0}.form-control{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;line-height:1.5;color:#495057;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media screen and (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control::-ms-expand{background-color:transparent;border:0}.form-control:focus{color:#495057;background-color:#fff;border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.form-control::-webkit-input-placeholder{color:#6c757d;opacity:1}.form-control::-moz-placeholder{color:#6c757d;opacity:1}.form-control:-ms-input-placeholder{color:#6c757d;opacity:1}.form-control::-ms-input-placeholder{color:#6c757d;opacity:1}.form-control::placeholder{color:#6c757d;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#e9ecef;opacity:1}select.form-control:not([size]):not([multiple]){height:calc(2.25rem + 2px)}select.form-control:focus::-ms-value{color:#495057;background-color:#fff}.form-control-file,.form-control-range{display:block;width:100%}.col-form-label{padding-top:calc(.375rem + 1px);padding-bottom:calc(.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.25rem;line-height:1.5}.col-form-label-sm{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.875rem;line-height:1.5}.form-control-plaintext{display:block;width:100%;padding-top:.375rem;padding-bottom:.375rem;margin-bottom:0;line-height:1.5;color:#212529;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm,.input-group-lg>.form-control-plaintext.form-control,.input-group-lg>.input-group-append>.form-control-plaintext.btn,.input-group-lg>.input-group-append>.form-control-plaintext.input-group-text,.input-group-lg>.input-group-prepend>.form-control-plaintext.btn,.input-group-lg>.input-group-prepend>.form-control-plaintext.input-group-text,.input-group-sm>.form-control-plaintext.form-control,.input-group-sm>.input-group-append>.form-control-plaintext.btn,.input-group-sm>.input-group-append>.form-control-plaintext.input-group-text,.input-group-sm>.input-group-prepend>.form-control-plaintext.btn,.input-group-sm>.input-group-prepend>.form-control-plaintext.input-group-text{padding-right:0;padding-left:0}.form-control-sm,.input-group-sm>.form-control,.input-group-sm>.input-group-append>.btn,.input-group-sm>.input-group-append>.input-group-text,.input-group-sm>.input-group-prepend>.btn,.input-group-sm>.input-group-prepend>.input-group-text{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.input-group-sm>.input-group-append>select.btn:not([size]):not([multiple]),.input-group-sm>.input-group-append>select.input-group-text:not([size]):not([multiple]),.input-group-sm>.input-group-prepend>select.btn:not([size]):not([multiple]),.input-group-sm>.input-group-prepend>select.input-group-text:not([size]):not([multiple]),.input-group-sm>select.form-control:not([size]):not([multiple]),select.form-control-sm:not([size]):not([multiple]){height:calc(1.8125rem + 2px)}.form-control-lg,.input-group-lg>.form-control,.input-group-lg>.input-group-append>.btn,.input-group-lg>.input-group-append>.input-group-text,.input-group-lg>.input-group-prepend>.btn,.input-group-lg>.input-group-prepend>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.input-group-lg>.input-group-append>select.btn:not([size]):not([multiple]),.input-group-lg>.input-group-append>select.input-group-text:not([size]):not([multiple]),.input-group-lg>.input-group-prepend>select.btn:not([size]):not([multiple]),.input-group-lg>.input-group-prepend>select.input-group-text:not([size]):not([multiple]),.input-group-lg>select.form-control:not([size]):not([multiple]),select.form-control-lg:not([size]):not([multiple]){height:calc(2.875rem + 2px)}.form-group{margin-bottom:1rem}.form-text{display:block;margin-top:.25rem}.form-row{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-5px;margin-left:-5px}.form-row>.col,.form-row>[class*=col-]{padding-right:5px;padding-left:5px}.form-check{position:relative;display:block;padding-left:1.25rem}.form-check-input{position:absolute;margin-top:.3rem;margin-left:-1.25rem}.form-check-input:disabled~.form-check-label{color:#6c757d}.form-check-label{margin-bottom:0}.form-check-inline{display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;align-items:center;padding-left:0;margin-right:.75rem}.form-check-inline .form-check-input{position:static;margin-top:0;margin-right:.3125rem;margin-left:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#28a745}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.5rem;margin-top:.1rem;font-size:.875rem;line-height:1;color:#fff;background-color:rgba(40,167,69,.8);border-radius:.2rem}.custom-select.is-valid,.form-control.is-valid,.was-validated .custom-select:valid,.was-validated .form-control:valid{border-color:#28a745}.custom-select.is-valid:focus,.form-control.is-valid:focus,.was-validated .custom-select:valid:focus,.was-validated .form-control:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.custom-select.is-valid~.valid-feedback,.custom-select.is-valid~.valid-tooltip,.form-control.is-valid~.valid-feedback,.form-control.is-valid~.valid-tooltip,.was-validated .custom-select:valid~.valid-feedback,.was-validated .custom-select:valid~.valid-tooltip,.was-validated .form-control:valid~.valid-feedback,.was-validated .form-control:valid~.valid-tooltip{display:block}.form-control-file.is-valid~.valid-feedback,.form-control-file.is-valid~.valid-tooltip,.was-validated .form-control-file:valid~.valid-feedback,.was-validated .form-control-file:valid~.valid-tooltip{display:block}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:#28a745}.form-check-input.is-valid~.valid-feedback,.form-check-input.is-valid~.valid-tooltip,.was-validated .form-check-input:valid~.valid-feedback,.was-validated .form-check-input:valid~.valid-tooltip{display:block}.custom-control-input.is-valid~.custom-control-label,.was-validated .custom-control-input:valid~.custom-control-label{color:#28a745}.custom-control-input.is-valid~.custom-control-label::before,.was-validated .custom-control-input:valid~.custom-control-label::before{background-color:#71dd8a}.custom-control-input.is-valid~.valid-feedback,.custom-control-input.is-valid~.valid-tooltip,.was-validated .custom-control-input:valid~.valid-feedback,.was-validated .custom-control-input:valid~.valid-tooltip{display:block}.custom-control-input.is-valid:checked~.custom-control-label::before,.was-validated .custom-control-input:valid:checked~.custom-control-label::before{background-color:#34ce57}.custom-control-input.is-valid:focus~.custom-control-label::before,.was-validated .custom-control-input:valid:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(40,167,69,.25)}.custom-file-input.is-valid~.custom-file-label,.was-validated .custom-file-input:valid~.custom-file-label{border-color:#28a745}.custom-file-input.is-valid~.custom-file-label::before,.was-validated .custom-file-input:valid~.custom-file-label::before{border-color:inherit}.custom-file-input.is-valid~.valid-feedback,.custom-file-input.is-valid~.valid-tooltip,.was-validated .custom-file-input:valid~.valid-feedback,.was-validated .custom-file-input:valid~.valid-tooltip{display:block}.custom-file-input.is-valid:focus~.custom-file-label,.was-validated .custom-file-input:valid:focus~.custom-file-label{box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#dc3545}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.5rem;margin-top:.1rem;font-size:.875rem;line-height:1;color:#fff;background-color:rgba(220,53,69,.8);border-radius:.2rem}.custom-select.is-invalid,.form-control.is-invalid,.was-validated .custom-select:invalid,.was-validated .form-control:invalid{border-color:#dc3545}.custom-select.is-invalid:focus,.form-control.is-invalid:focus,.was-validated .custom-select:invalid:focus,.was-validated .form-control:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.custom-select.is-invalid~.invalid-feedback,.custom-select.is-invalid~.invalid-tooltip,.form-control.is-invalid~.invalid-feedback,.form-control.is-invalid~.invalid-tooltip,.was-validated .custom-select:invalid~.invalid-feedback,.was-validated .custom-select:invalid~.invalid-tooltip,.was-validated .form-control:invalid~.invalid-feedback,.was-validated .form-control:invalid~.invalid-tooltip{display:block}.form-control-file.is-invalid~.invalid-feedback,.form-control-file.is-invalid~.invalid-tooltip,.was-validated .form-control-file:invalid~.invalid-feedback,.was-validated .form-control-file:invalid~.invalid-tooltip{display:block}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:#dc3545}.form-check-input.is-invalid~.invalid-feedback,.form-check-input.is-invalid~.invalid-tooltip,.was-validated .form-check-input:invalid~.invalid-feedback,.was-validated .form-check-input:invalid~.invalid-tooltip{display:block}.custom-control-input.is-invalid~.custom-control-label,.was-validated .custom-control-input:invalid~.custom-control-label{color:#dc3545}.custom-control-input.is-invalid~.custom-control-label::before,.was-validated .custom-control-input:invalid~.custom-control-label::before{background-color:#efa2a9}.custom-control-input.is-invalid~.invalid-feedback,.custom-control-input.is-invalid~.invalid-tooltip,.was-validated .custom-control-input:invalid~.invalid-feedback,.was-validated .custom-control-input:invalid~.invalid-tooltip{display:block}.custom-control-input.is-invalid:checked~.custom-control-label::before,.was-validated .custom-control-input:invalid:checked~.custom-control-label::before{background-color:#e4606d}.custom-control-input.is-invalid:focus~.custom-control-label::before,.was-validated .custom-control-input:invalid:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(220,53,69,.25)}.custom-file-input.is-invalid~.custom-file-label,.was-validated .custom-file-input:invalid~.custom-file-label{border-color:#dc3545}.custom-file-input.is-invalid~.custom-file-label::before,.was-validated .custom-file-input:invalid~.custom-file-label::before{border-color:inherit}.custom-file-input.is-invalid~.invalid-feedback,.custom-file-input.is-invalid~.invalid-tooltip,.was-validated .custom-file-input:invalid~.invalid-feedback,.was-validated .custom-file-input:invalid~.invalid-tooltip{display:block}.custom-file-input.is-invalid:focus~.custom-file-label,.was-validated .custom-file-input:invalid:focus~.custom-file-label{box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.form-inline{display:-ms-flexbox;display:flex;-ms-flex-flow:row wrap;flex-flow:row wrap;-ms-flex-align:center;align-items:center}.form-inline .form-check{width:100%}@media (min-width:576px){.form-inline label{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;margin-bottom:0}.form-inline .form-group{display:-ms-flexbox;display:flex;-ms-flex:0 0 auto;flex:0 0 auto;-ms-flex-flow:row wrap;flex-flow:row wrap;-ms-flex-align:center;align-items:center;margin-bottom:0}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-plaintext{display:inline-block}.form-inline .custom-select,.form-inline .input-group{width:auto}.form-inline .form-check{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:auto;padding-left:0}.form-inline .form-check-input{position:relative;margin-top:0;margin-right:.25rem;margin-left:0}.form-inline .custom-control{-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}.form-inline .custom-control-label{margin-bottom:0}}.btn{display:inline-block;font-weight:400;text-align:center;white-space:nowrap;vertical-align:middle;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;line-height:1.5;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media screen and (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:focus,.btn:hover{text-decoration:none}.btn.focus,.btn:focus{outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.btn.disabled,.btn:disabled{opacity:.65}.btn:not(:disabled):not(.disabled){cursor:pointer}.btn:not(:disabled):not(.disabled).active,.btn:not(:disabled):not(.disabled):active{background-image:none}a.btn.disabled,fieldset:disabled a.btn{pointer-events:none}.btn-primary{color:#fff;background-color:#007bff;border-color:#007bff}.btn-primary:hover{color:#fff;background-color:#0069d9;border-color:#0062cc}.btn-primary.focus,.btn-primary:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-primary.disabled,.btn-primary:disabled{color:#fff;background-color:#007bff;border-color:#007bff}.btn-primary:not(:disabled):not(.disabled).active,.btn-primary:not(:disabled):not(.disabled):active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#0062cc;border-color:#005cbf}.btn-primary:not(:disabled):not(.disabled).active:focus,.btn-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-secondary{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:hover{color:#fff;background-color:#5a6268;border-color:#545b62}.btn-secondary.focus,.btn-secondary:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-secondary.disabled,.btn-secondary:disabled{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:not(:disabled):not(.disabled).active,.btn-secondary:not(:disabled):not(.disabled):active,.show>.btn-secondary.dropdown-toggle{color:#fff;background-color:#545b62;border-color:#4e555b}.btn-secondary:not(:disabled):not(.disabled).active:focus,.btn-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-success{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success:hover{color:#fff;background-color:#218838;border-color:#1e7e34}.btn-success.focus,.btn-success:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-success.disabled,.btn-success:disabled{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success:not(:disabled):not(.disabled).active,.btn-success:not(:disabled):not(.disabled):active,.show>.btn-success.dropdown-toggle{color:#fff;background-color:#1e7e34;border-color:#1c7430}.btn-success:not(:disabled):not(.disabled).active:focus,.btn-success:not(:disabled):not(.disabled):active:focus,.show>.btn-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-info{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info:hover{color:#fff;background-color:#138496;border-color:#117a8b}.btn-info.focus,.btn-info:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-info.disabled,.btn-info:disabled{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info:not(:disabled):not(.disabled).active,.btn-info:not(:disabled):not(.disabled):active,.show>.btn-info.dropdown-toggle{color:#fff;background-color:#117a8b;border-color:#10707f}.btn-info:not(:disabled):not(.disabled).active:focus,.btn-info:not(:disabled):not(.disabled):active:focus,.show>.btn-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-warning{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning:hover{color:#212529;background-color:#e0a800;border-color:#d39e00}.btn-warning.focus,.btn-warning:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-warning.disabled,.btn-warning:disabled{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning:not(:disabled):not(.disabled).active,.btn-warning:not(:disabled):not(.disabled):active,.show>.btn-warning.dropdown-toggle{color:#212529;background-color:#d39e00;border-color:#c69500}.btn-warning:not(:disabled):not(.disabled).active:focus,.btn-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-danger{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:hover{color:#fff;background-color:#c82333;border-color:#bd2130}.btn-danger.focus,.btn-danger:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-danger.disabled,.btn-danger:disabled{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:not(:disabled):not(.disabled).active,.btn-danger:not(:disabled):not(.disabled):active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:#bd2130;border-color:#b21f2d}.btn-danger:not(:disabled):not(.disabled).active:focus,.btn-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-light{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:hover{color:#212529;background-color:#e2e6ea;border-color:#dae0e5}.btn-light.focus,.btn-light:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-light.disabled,.btn-light:disabled{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:not(:disabled):not(.disabled).active,.btn-light:not(:disabled):not(.disabled):active,.show>.btn-light.dropdown-toggle{color:#212529;background-color:#dae0e5;border-color:#d3d9df}.btn-light:not(:disabled):not(.disabled).active:focus,.btn-light:not(:disabled):not(.disabled):active:focus,.show>.btn-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-dark{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:hover{color:#fff;background-color:#23272b;border-color:#1d2124}.btn-dark.focus,.btn-dark:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-dark.disabled,.btn-dark:disabled{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:not(:disabled):not(.disabled).active,.btn-dark:not(:disabled):not(.disabled):active,.show>.btn-dark.dropdown-toggle{color:#fff;background-color:#1d2124;border-color:#171a1d}.btn-dark:not(:disabled):not(.disabled).active:focus,.btn-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-outline-primary{color:#007bff;background-color:transparent;background-image:none;border-color:#007bff}.btn-outline-primary:hover{color:#fff;background-color:#007bff;border-color:#007bff}.btn-outline-primary.focus,.btn-outline-primary:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#007bff;background-color:transparent}.btn-outline-primary:not(:disabled):not(.disabled).active,.btn-outline-primary:not(:disabled):not(.disabled):active,.show>.btn-outline-primary.dropdown-toggle{color:#fff;background-color:#007bff;border-color:#007bff}.btn-outline-primary:not(:disabled):not(.disabled).active:focus,.btn-outline-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-outline-secondary{color:#6c757d;background-color:transparent;background-image:none;border-color:#6c757d}.btn-outline-secondary:hover{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-secondary.focus,.btn-outline-secondary:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#6c757d;background-color:transparent}.btn-outline-secondary:not(:disabled):not(.disabled).active,.btn-outline-secondary:not(:disabled):not(.disabled):active,.show>.btn-outline-secondary.dropdown-toggle{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-secondary:not(:disabled):not(.disabled).active:focus,.btn-outline-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-outline-success{color:#28a745;background-color:transparent;background-image:none;border-color:#28a745}.btn-outline-success:hover{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success.focus,.btn-outline-success:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#28a745;background-color:transparent}.btn-outline-success:not(:disabled):not(.disabled).active,.btn-outline-success:not(:disabled):not(.disabled):active,.show>.btn-outline-success.dropdown-toggle{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success:not(:disabled):not(.disabled).active:focus,.btn-outline-success:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-info{color:#17a2b8;background-color:transparent;background-image:none;border-color:#17a2b8}.btn-outline-info:hover{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info.focus,.btn-outline-info:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#17a2b8;background-color:transparent}.btn-outline-info:not(:disabled):not(.disabled).active,.btn-outline-info:not(:disabled):not(.disabled):active,.show>.btn-outline-info.dropdown-toggle{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info:not(:disabled):not(.disabled).active:focus,.btn-outline-info:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-warning{color:#ffc107;background-color:transparent;background-image:none;border-color:#ffc107}.btn-outline-warning:hover{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning.focus,.btn-outline-warning:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-warning.disabled,.btn-outline-warning:disabled{color:#ffc107;background-color:transparent}.btn-outline-warning:not(:disabled):not(.disabled).active,.btn-outline-warning:not(:disabled):not(.disabled):active,.show>.btn-outline-warning.dropdown-toggle{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning:not(:disabled):not(.disabled).active:focus,.btn-outline-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-danger{color:#dc3545;background-color:transparent;background-image:none;border-color:#dc3545}.btn-outline-danger:hover{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger.focus,.btn-outline-danger:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#dc3545;background-color:transparent}.btn-outline-danger:not(:disabled):not(.disabled).active,.btn-outline-danger:not(:disabled):not(.disabled):active,.show>.btn-outline-danger.dropdown-toggle{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger:not(:disabled):not(.disabled).active:focus,.btn-outline-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-light{color:#f8f9fa;background-color:transparent;background-image:none;border-color:#f8f9fa}.btn-outline-light:hover{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light.focus,.btn-outline-light:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-light.disabled,.btn-outline-light:disabled{color:#f8f9fa;background-color:transparent}.btn-outline-light:not(:disabled):not(.disabled).active,.btn-outline-light:not(:disabled):not(.disabled):active,.show>.btn-outline-light.dropdown-toggle{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:not(:disabled):not(.disabled).active:focus,.btn-outline-light:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-dark{color:#343a40;background-color:transparent;background-image:none;border-color:#343a40}.btn-outline-dark:hover{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-dark.focus,.btn-outline-dark:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-outline-dark.disabled,.btn-outline-dark:disabled{color:#343a40;background-color:transparent}.btn-outline-dark:not(:disabled):not(.disabled).active,.btn-outline-dark:not(:disabled):not(.disabled):active,.show>.btn-outline-dark.dropdown-toggle{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-dark:not(:disabled):not(.disabled).active:focus,.btn-outline-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-link{font-weight:400;color:#007bff;background-color:transparent}.btn-link:hover{color:#0056b3;text-decoration:underline;background-color:transparent;border-color:transparent}.btn-link.focus,.btn-link:focus{text-decoration:underline;border-color:transparent;box-shadow:none}.btn-link.disabled,.btn-link:disabled{color:#6c757d;pointer-events:none}.btn-group-lg>.btn,.btn-lg{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.btn-group-sm>.btn,.btn-sm{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:.5rem}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{transition:opacity .15s linear}@media screen and (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{position:relative;height:0;overflow:hidden;transition:height .35s ease}@media screen and (prefers-reduced-motion:reduce){.collapsing{transition:none}}.dropdown,.dropleft,.dropright,.dropup{position:relative}.dropdown-toggle::after{display:inline-block;width:0;height:0;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:10rem;padding:.5rem 0;margin:.125rem 0 0;font-size:1rem;color:#212529;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.dropdown-menu-right{right:0;left:auto}.dropup .dropdown-menu{top:auto;bottom:100%;margin-top:0;margin-bottom:.125rem}.dropup .dropdown-toggle::after{display:inline-block;width:0;height:0;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty::after{margin-left:0}.dropright .dropdown-menu{top:0;right:auto;left:100%;margin-top:0;margin-left:.125rem}.dropright .dropdown-toggle::after{display:inline-block;width:0;height:0;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropright .dropdown-toggle:empty::after{margin-left:0}.dropright .dropdown-toggle::after{vertical-align:0}.dropleft .dropdown-menu{top:0;right:100%;left:auto;margin-top:0;margin-right:.125rem}.dropleft .dropdown-toggle::after{display:inline-block;width:0;height:0;margin-left:.255em;vertical-align:.255em;content:""}.dropleft .dropdown-toggle::after{display:none}.dropleft .dropdown-toggle::before{display:inline-block;width:0;height:0;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropleft .dropdown-toggle:empty::after{margin-left:0}.dropleft .dropdown-toggle::before{vertical-align:0}.dropdown-menu[x-placement^=bottom],.dropdown-menu[x-placement^=left],.dropdown-menu[x-placement^=right],.dropdown-menu[x-placement^=top]{right:auto;bottom:auto}.dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid #e9ecef}.dropdown-item{display:block;width:100%;padding:.25rem 1.5rem;clear:both;font-weight:400;color:#212529;text-align:inherit;white-space:nowrap;background-color:transparent;border:0}.dropdown-item:focus,.dropdown-item:hover{color:#16181b;text-decoration:none;background-color:#f8f9fa}.dropdown-item.active,.dropdown-item:active{color:#fff;text-decoration:none;background-color:#007bff}.dropdown-item.disabled,.dropdown-item:disabled{color:#6c757d;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:.5rem 1.5rem;margin-bottom:0;font-size:.875rem;color:#6c757d;white-space:nowrap}.dropdown-item-text{display:block;padding:.25rem 1.5rem;color:#212529}.btn-group,.btn-group-vertical{position:relative;display:-ms-inline-flexbox;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;-ms-flex:0 1 auto;flex:0 1 auto}.btn-group-vertical>.btn:hover,.btn-group>.btn:hover{z-index:1}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus{z-index:1}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group,.btn-group-vertical .btn+.btn,.btn-group-vertical .btn+.btn-group,.btn-group-vertical .btn-group+.btn,.btn-group-vertical .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:start;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split::after,.dropright .dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after{margin-left:0}.dropleft .dropdown-toggle-split::before{margin-right:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{-ms-flex-direction:column;flex-direction:column;-ms-flex-align:start;align-items:flex-start;-ms-flex-pack:center;justify-content:center}.btn-group-vertical .btn,.btn-group-vertical .btn-group{width:100%}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.btn-group-toggle>.btn,.btn-group-toggle>.btn-group>.btn{margin-bottom:0}.btn-group-toggle>.btn input[type=checkbox],.btn-group-toggle>.btn input[type=radio],.btn-group-toggle>.btn-group>.btn input[type=checkbox],.btn-group-toggle>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:stretch;align-items:stretch;width:100%}.input-group>.custom-file,.input-group>.custom-select,.input-group>.form-control{position:relative;-ms-flex:1 1 auto;flex:1 1 auto;width:1%;margin-bottom:0}.input-group>.custom-file:focus,.input-group>.custom-select:focus,.input-group>.form-control:focus{z-index:3}.input-group>.custom-file+.custom-file,.input-group>.custom-file+.custom-select,.input-group>.custom-file+.form-control,.input-group>.custom-select+.custom-file,.input-group>.custom-select+.custom-select,.input-group>.custom-select+.form-control,.input-group>.form-control+.custom-file,.input-group>.form-control+.custom-select,.input-group>.form-control+.form-control{margin-left:-1px}.input-group>.custom-select:not(:last-child),.input-group>.form-control:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.custom-select:not(:first-child),.input-group>.form-control:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.custom-file{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.input-group>.custom-file:not(:last-child) .custom-file-label,.input-group>.custom-file:not(:last-child) .custom-file-label::after{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.custom-file:not(:first-child) .custom-file-label{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-append,.input-group-prepend{display:-ms-flexbox;display:flex}.input-group-append .btn,.input-group-prepend .btn{position:relative;z-index:2}.input-group-append .btn+.btn,.input-group-append .btn+.input-group-text,.input-group-append .input-group-text+.btn,.input-group-append .input-group-text+.input-group-text,.input-group-prepend .btn+.btn,.input-group-prepend .btn+.input-group-text,.input-group-prepend .input-group-text+.btn,.input-group-prepend .input-group-text+.input-group-text{margin-left:-1px}.input-group-prepend{margin-right:-1px}.input-group-append{margin-left:-1px}.input-group-text{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;padding:.375rem .75rem;margin-bottom:0;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;text-align:center;white-space:nowrap;background-color:#e9ecef;border:1px solid #ced4da;border-radius:.25rem}.input-group-text input[type=checkbox],.input-group-text input[type=radio]{margin-top:0}.input-group>.input-group-append:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group>.input-group-append:last-child>.input-group-text:not(:last-child),.input-group>.input-group-append:not(:last-child)>.btn,.input-group>.input-group-append:not(:last-child)>.input-group-text,.input-group>.input-group-prepend>.btn,.input-group>.input-group-prepend>.input-group-text{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.input-group-append>.btn,.input-group>.input-group-append>.input-group-text,.input-group>.input-group-prepend:first-child>.btn:not(:first-child),.input-group>.input-group-prepend:first-child>.input-group-text:not(:first-child),.input-group>.input-group-prepend:not(:first-child)>.btn,.input-group>.input-group-prepend:not(:first-child)>.input-group-text{border-top-left-radius:0;border-bottom-left-radius:0}.custom-control{position:relative;display:block;min-height:1.5rem;padding-left:1.5rem}.custom-control-inline{display:-ms-inline-flexbox;display:inline-flex;margin-right:1rem}.custom-control-input{position:absolute;z-index:-1;opacity:0}.custom-control-input:checked~.custom-control-label::before{color:#fff;background-color:#007bff}.custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-control-input:active~.custom-control-label::before{color:#fff;background-color:#b3d7ff}.custom-control-input:disabled~.custom-control-label{color:#6c757d}.custom-control-input:disabled~.custom-control-label::before{background-color:#e9ecef}.custom-control-label{position:relative;margin-bottom:0}.custom-control-label::before{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;pointer-events:none;content:"";-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:#dee2e6}.custom-control-label::after{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;content:"";background-repeat:no-repeat;background-position:center center;background-size:50% 50%}.custom-checkbox .custom-control-label::before{border-radius:.25rem}.custom-checkbox .custom-control-input:checked~.custom-control-label::before{background-color:#007bff}.custom-checkbox .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before{background-color:#007bff}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='%23fff' d='M0 2h4'/%3E%3C/svg%3E")}.custom-checkbox .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-checkbox .custom-control-input:disabled:indeterminate~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-radio .custom-control-label::before{border-radius:50%}.custom-radio .custom-control-input:checked~.custom-control-label::before{background-color:#007bff}.custom-radio .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fff'/%3E%3C/svg%3E")}.custom-radio .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-select{display:inline-block;width:100%;height:calc(2.25rem + 2px);padding:.375rem 1.75rem .375rem .75rem;line-height:1.5;color:#495057;vertical-align:middle;background:#fff url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") no-repeat right .75rem center;background-size:8px 10px;border:1px solid #ced4da;border-radius:.25rem;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-select:focus{border-color:#80bdff;outline:0;box-shadow:inset 0 1px 2px rgba(0,0,0,.075),0 0 5px rgba(128,189,255,.5)}.custom-select:focus::-ms-value{color:#495057;background-color:#fff}.custom-select[multiple],.custom-select[size]:not([size="1"]){height:auto;padding-right:.75rem;background-image:none}.custom-select:disabled{color:#6c757d;background-color:#e9ecef}.custom-select::-ms-expand{opacity:0}.custom-select-sm{height:calc(1.8125rem + 2px);padding-top:.375rem;padding-bottom:.375rem;font-size:75%}.custom-select-lg{height:calc(2.875rem + 2px);padding-top:.375rem;padding-bottom:.375rem;font-size:125%}.custom-file{position:relative;display:inline-block;width:100%;height:calc(2.25rem + 2px);margin-bottom:0}.custom-file-input{position:relative;z-index:2;width:100%;height:calc(2.25rem + 2px);margin:0;opacity:0}.custom-file-input:focus~.custom-file-label{border-color:#80bdff;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.custom-file-input:focus~.custom-file-label::after{border-color:#80bdff}.custom-file-input:lang(en)~.custom-file-label::after{content:"Browse"}.custom-file-label{position:absolute;top:0;right:0;left:0;z-index:1;height:calc(2.25rem + 2px);padding:.375rem .75rem;line-height:1.5;color:#495057;background-color:#fff;border:1px solid #ced4da;border-radius:.25rem}.custom-file-label::after{position:absolute;top:0;right:0;bottom:0;z-index:3;display:block;height:2.25rem;padding:.375rem .75rem;line-height:1.5;color:#495057;content:"Browse";background-color:#e9ecef;border-left:1px solid #ced4da;border-radius:0 .25rem .25rem 0}.custom-range{width:100%;padding-left:0;background-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-range:focus{outline:0}.custom-range::-moz-focus-outer{border:0}.custom-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#007bff;border:0;border-radius:1rem;-webkit-appearance:none;appearance:none}.custom-range::-webkit-slider-thumb:focus{outline:0;box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range::-webkit-slider-thumb:active{background-color:#b3d7ff}.custom-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.custom-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#007bff;border:0;border-radius:1rem;-moz-appearance:none;appearance:none}.custom-range::-moz-range-thumb:focus{outline:0;box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range::-moz-range-thumb:active{background-color:#b3d7ff}.custom-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.custom-range::-ms-thumb{width:1rem;height:1rem;background-color:#007bff;border:0;border-radius:1rem;appearance:none}.custom-range::-ms-thumb:focus{outline:0;box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range::-ms-thumb:active{background-color:#b3d7ff}.custom-range::-ms-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:transparent;border-color:transparent;border-width:.5rem}.custom-range::-ms-fill-lower{background-color:#dee2e6;border-radius:1rem}.custom-range::-ms-fill-upper{margin-right:15px;background-color:#dee2e6;border-radius:1rem}.nav{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:.5rem 1rem}.nav-link:focus,.nav-link:hover{text-decoration:none}.nav-link.disabled{color:#6c757d}.nav-tabs{border-bottom:1px solid #dee2e6}.nav-tabs .nav-item{margin-bottom:-1px}.nav-tabs .nav-link{border:1px solid transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{border-color:#e9ecef #e9ecef #dee2e6}.nav-tabs .nav-link.disabled{color:#6c757d;background-color:transparent;border-color:transparent}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:#495057;background-color:#fff;border-color:#dee2e6 #dee2e6 #fff}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.nav-pills .nav-link{border-radius:.25rem}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:#fff;background-color:#007bff}.nav-fill .nav-item{-ms-flex:1 1 auto;flex:1 1 auto;text-align:center}.nav-justified .nav-item{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;text-align:center}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;padding:.5rem 1rem}.navbar>.container,.navbar>.container-fluid{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between}.navbar-brand{display:inline-block;padding-top:.3125rem;padding-bottom:.3125rem;margin-right:1rem;font-size:1.25rem;line-height:inherit;white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-nav{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link{padding-right:0;padding-left:0}.navbar-nav .dropdown-menu{position:static;float:none}.navbar-text{display:inline-block;padding-top:.5rem;padding-bottom:.5rem}.navbar-collapse{-ms-flex-preferred-size:100%;flex-basis:100%;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:center;align-items:center}.navbar-toggler{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:.25rem}.navbar-toggler:focus,.navbar-toggler:hover{text-decoration:none}.navbar-toggler:not(:disabled):not(.disabled){cursor:pointer}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;content:"";background:no-repeat center center;background-size:100% 100%}@media (max-width:575.98px){.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:576px){.navbar-expand-sm{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-sm .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-sm .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}}@media (max-width:767.98px){.navbar-expand-md>.container,.navbar-expand-md>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:768px){.navbar-expand-md{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-md .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-md>.container,.navbar-expand-md>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-md .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}}@media (max-width:991.98px){.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:992px){.navbar-expand-lg{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-lg .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-lg .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}}@media (max-width:1199.98px){.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:1200px){.navbar-expand-xl{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-xl .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-xl .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}}.navbar-expand{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand>.container,.navbar-expand>.container-fluid{padding-right:0;padding-left:0}.navbar-expand .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand>.container,.navbar-expand>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-light .navbar-brand{color:rgba(0,0,0,.9)}.navbar-light .navbar-brand:focus,.navbar-light .navbar-brand:hover{color:rgba(0,0,0,.9)}.navbar-light .navbar-nav .nav-link{color:rgba(0,0,0,.5)}.navbar-light .navbar-nav .nav-link:focus,.navbar-light .navbar-nav .nav-link:hover{color:rgba(0,0,0,.7)}.navbar-light .navbar-nav .nav-link.disabled{color:rgba(0,0,0,.3)}.navbar-light .navbar-nav .active>.nav-link,.navbar-light .navbar-nav .nav-link.active,.navbar-light .navbar-nav .nav-link.show,.navbar-light .navbar-nav .show>.nav-link{color:rgba(0,0,0,.9)}.navbar-light .navbar-toggler{color:rgba(0,0,0,.5);border-color:rgba(0,0,0,.1)}.navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E")}.navbar-light .navbar-text{color:rgba(0,0,0,.5)}.navbar-light .navbar-text a{color:rgba(0,0,0,.9)}.navbar-light .navbar-text a:focus,.navbar-light .navbar-text a:hover{color:rgba(0,0,0,.9)}.navbar-dark .navbar-brand{color:#fff}.navbar-dark .navbar-brand:focus,.navbar-dark .navbar-brand:hover{color:#fff}.navbar-dark .navbar-nav .nav-link{color:rgba(255,255,255,.5)}.navbar-dark .navbar-nav .nav-link:focus,.navbar-dark .navbar-nav .nav-link:hover{color:rgba(255,255,255,.75)}.navbar-dark .navbar-nav .nav-link.disabled{color:rgba(255,255,255,.25)}.navbar-dark .navbar-nav .active>.nav-link,.navbar-dark .navbar-nav .nav-link.active,.navbar-dark .navbar-nav .nav-link.show,.navbar-dark .navbar-nav .show>.nav-link{color:#fff}.navbar-dark .navbar-toggler{color:rgba(255,255,255,.5);border-color:rgba(255,255,255,.1)}.navbar-dark .navbar-toggler-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E")}.navbar-dark .navbar-text{color:rgba(255,255,255,.5)}.navbar-dark .navbar-text a{color:#fff}.navbar-dark .navbar-text a:focus,.navbar-dark .navbar-text a:hover{color:#fff}.card{position:relative;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,.125);border-radius:.25rem}.card>hr{margin-right:0;margin-left:0}.card>.list-group:first-child .list-group-item:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.card>.list-group:last-child .list-group-item:last-child{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.card-body{-ms-flex:1 1 auto;flex:1 1 auto;padding:1.25rem}.card-title{margin-bottom:.75rem}.card-subtitle{margin-top:-.375rem;margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:1.25rem}.card-header{padding:.75rem 1.25rem;margin-bottom:0;background-color:rgba(0,0,0,.03);border-bottom:1px solid rgba(0,0,0,.125)}.card-header:first-child{border-radius:calc(.25rem - 1px) calc(.25rem - 1px) 0 0}.card-header+.list-group .list-group-item:first-child{border-top:0}.card-footer{padding:.75rem 1.25rem;background-color:rgba(0,0,0,.03);border-top:1px solid rgba(0,0,0,.125)}.card-footer:last-child{border-radius:0 0 calc(.25rem - 1px) calc(.25rem - 1px)}.card-header-tabs{margin-right:-.625rem;margin-bottom:-.75rem;margin-left:-.625rem;border-bottom:0}.card-header-pills{margin-right:-.625rem;margin-left:-.625rem}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1.25rem}.card-img{width:100%;border-radius:calc(.25rem - 1px)}.card-img-top{width:100%;border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card-img-bottom{width:100%;border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card-deck{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.card-deck .card{margin-bottom:15px}@media (min-width:576px){.card-deck{-ms-flex-flow:row wrap;flex-flow:row wrap;margin-right:-15px;margin-left:-15px}.card-deck .card{display:-ms-flexbox;display:flex;-ms-flex:1 0 0%;flex:1 0 0%;-ms-flex-direction:column;flex-direction:column;margin-right:15px;margin-bottom:0;margin-left:15px}}.card-group{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.card-group>.card{margin-bottom:15px}@media (min-width:576px){.card-group{-ms-flex-flow:row wrap;flex-flow:row wrap}.card-group>.card{-ms-flex:1 0 0%;flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:first-child .card-header,.card-group>.card:first-child .card-img-top{border-top-right-radius:0}.card-group>.card:first-child .card-footer,.card-group>.card:first-child .card-img-bottom{border-bottom-right-radius:0}.card-group>.card:last-child{border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:last-child .card-header,.card-group>.card:last-child .card-img-top{border-top-left-radius:0}.card-group>.card:last-child .card-footer,.card-group>.card:last-child .card-img-bottom{border-bottom-left-radius:0}.card-group>.card:only-child{border-radius:.25rem}.card-group>.card:only-child .card-header,.card-group>.card:only-child .card-img-top{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.card-group>.card:only-child .card-footer,.card-group>.card:only-child .card-img-bottom{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.card-group>.card:not(:first-child):not(:last-child):not(:only-child){border-radius:0}.card-group>.card:not(:first-child):not(:last-child):not(:only-child) .card-footer,.card-group>.card:not(:first-child):not(:last-child):not(:only-child) .card-header,.card-group>.card:not(:first-child):not(:last-child):not(:only-child) .card-img-bottom,.card-group>.card:not(:first-child):not(:last-child):not(:only-child) .card-img-top{border-radius:0}}.card-columns .card{margin-bottom:.75rem}@media (min-width:576px){.card-columns{-webkit-column-count:3;-moz-column-count:3;column-count:3;-webkit-column-gap:1.25rem;-moz-column-gap:1.25rem;column-gap:1.25rem;orphans:1;widows:1}.card-columns .card{display:inline-block;width:100%}}.accordion .card:not(:first-of-type):not(:last-of-type){border-bottom:0;border-radius:0}.accordion .card:not(:first-of-type) .card-header:first-child{border-radius:0}.accordion .card:first-of-type{border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.accordion .card:last-of-type{border-top-left-radius:0;border-top-right-radius:0}.breadcrumb{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;padding:.75rem 1rem;margin-bottom:1rem;list-style:none;background-color:#e9ecef;border-radius:.25rem}.breadcrumb-item+.breadcrumb-item{padding-left:.5rem}.breadcrumb-item+.breadcrumb-item::before{display:inline-block;padding-right:.5rem;color:#6c757d;content:"/"}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:underline}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:none}.breadcrumb-item.active{color:#6c757d}.pagination{display:-ms-flexbox;display:flex;padding-left:0;list-style:none;border-radius:.25rem}.page-link{position:relative;display:block;padding:.5rem .75rem;margin-left:-1px;line-height:1.25;color:#007bff;background-color:#fff;border:1px solid #dee2e6}.page-link:hover{z-index:2;color:#0056b3;text-decoration:none;background-color:#e9ecef;border-color:#dee2e6}.page-link:focus{z-index:2;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.page-link:not(:disabled):not(.disabled){cursor:pointer}.page-item:first-child .page-link{margin-left:0;border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.page-item:last-child .page-link{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.page-item.active .page-link{z-index:1;color:#fff;background-color:#007bff;border-color:#007bff}.page-item.disabled .page-link{color:#6c757d;pointer-events:none;cursor:auto;background-color:#fff;border-color:#dee2e6}.pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.25rem;line-height:1.5}.pagination-lg .page-item:first-child .page-link{border-top-left-radius:.3rem;border-bottom-left-radius:.3rem}.pagination-lg .page-item:last-child .page-link{border-top-right-radius:.3rem;border-bottom-right-radius:.3rem}.pagination-sm .page-link{padding:.25rem .5rem;font-size:.875rem;line-height:1.5}.pagination-sm .page-item:first-child .page-link{border-top-left-radius:.2rem;border-bottom-left-radius:.2rem}.pagination-sm .page-item:last-child .page-link{border-top-right-radius:.2rem;border-bottom-right-radius:.2rem}.badge{display:inline-block;padding:.25em .4em;font-size:75%;font-weight:700;line-height:1;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.badge-pill{padding-right:.6em;padding-left:.6em;border-radius:10rem}.badge-primary{color:#fff;background-color:#007bff}.badge-primary[href]:focus,.badge-primary[href]:hover{color:#fff;text-decoration:none;background-color:#0062cc}.badge-secondary{color:#fff;background-color:#6c757d}.badge-secondary[href]:focus,.badge-secondary[href]:hover{color:#fff;text-decoration:none;background-color:#545b62}.badge-success{color:#fff;background-color:#28a745}.badge-success[href]:focus,.badge-success[href]:hover{color:#fff;text-decoration:none;background-color:#1e7e34}.badge-info{color:#fff;background-color:#17a2b8}.badge-info[href]:focus,.badge-info[href]:hover{color:#fff;text-decoration:none;background-color:#117a8b}.badge-warning{color:#212529;background-color:#ffc107}.badge-warning[href]:focus,.badge-warning[href]:hover{color:#212529;text-decoration:none;background-color:#d39e00}.badge-danger{color:#fff;background-color:#dc3545}.badge-danger[href]:focus,.badge-danger[href]:hover{color:#fff;text-decoration:none;background-color:#bd2130}.badge-light{color:#212529;background-color:#f8f9fa}.badge-light[href]:focus,.badge-light[href]:hover{color:#212529;text-decoration:none;background-color:#dae0e5}.badge-dark{color:#fff;background-color:#343a40}.badge-dark[href]:focus,.badge-dark[href]:hover{color:#fff;text-decoration:none;background-color:#1d2124}.jumbotron{padding:2rem 1rem;margin-bottom:2rem;background-color:#e9ecef;border-radius:.3rem}@media (min-width:576px){.jumbotron{padding:4rem 2rem}}.jumbotron-fluid{padding-right:0;padding-left:0;border-radius:0}.alert{position:relative;padding:.75rem 1.25rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.25rem}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:4rem}.alert-dismissible .close{position:absolute;top:0;right:0;padding:.75rem 1.25rem;color:inherit}.alert-primary{color:#004085;background-color:#cce5ff;border-color:#b8daff}.alert-primary hr{border-top-color:#9fcdff}.alert-primary .alert-link{color:#002752}.alert-secondary{color:#383d41;background-color:#e2e3e5;border-color:#d6d8db}.alert-secondary hr{border-top-color:#c8cbcf}.alert-secondary .alert-link{color:#202326}.alert-success{color:#155724;background-color:#d4edda;border-color:#c3e6cb}.alert-success hr{border-top-color:#b1dfbb}.alert-success .alert-link{color:#0b2e13}.alert-info{color:#0c5460;background-color:#d1ecf1;border-color:#bee5eb}.alert-info hr{border-top-color:#abdde5}.alert-info .alert-link{color:#062c33}.alert-warning{color:#856404;background-color:#fff3cd;border-color:#ffeeba}.alert-warning hr{border-top-color:#ffe8a1}.alert-warning .alert-link{color:#533f03}.alert-danger{color:#721c24;background-color:#f8d7da;border-color:#f5c6cb}.alert-danger hr{border-top-color:#f1b0b7}.alert-danger .alert-link{color:#491217}.alert-light{color:#818182;background-color:#fefefe;border-color:#fdfdfe}.alert-light hr{border-top-color:#ececf6}.alert-light .alert-link{color:#686868}.alert-dark{color:#1b1e21;background-color:#d6d8d9;border-color:#c6c8ca}.alert-dark hr{border-top-color:#b9bbbe}.alert-dark .alert-link{color:#040505}@-webkit-keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}.progress{display:-ms-flexbox;display:flex;height:1rem;overflow:hidden;font-size:.75rem;background-color:#e9ecef;border-radius:.25rem}.progress-bar{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;color:#fff;text-align:center;white-space:nowrap;background-color:#007bff;transition:width .6s ease}@media screen and (prefers-reduced-motion:reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:1rem 1rem}.progress-bar-animated{-webkit-animation:progress-bar-stripes 1s linear infinite;animation:progress-bar-stripes 1s linear infinite}.media{display:-ms-flexbox;display:flex;-ms-flex-align:start;align-items:flex-start}.media-body{-ms-flex:1;flex:1}.list-group{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0}.list-group-item-action{width:100%;color:#495057;text-align:inherit}.list-group-item-action:focus,.list-group-item-action:hover{color:#495057;text-decoration:none;background-color:#f8f9fa}.list-group-item-action:active{color:#212529;background-color:#e9ecef}.list-group-item{position:relative;display:block;padding:.75rem 1.25rem;margin-bottom:-1px;background-color:#fff;border:1px solid rgba(0,0,0,.125)}.list-group-item:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.list-group-item:focus,.list-group-item:hover{z-index:1;text-decoration:none}.list-group-item.disabled,.list-group-item:disabled{color:#6c757d;background-color:#fff}.list-group-item.active{z-index:2;color:#fff;background-color:#007bff;border-color:#007bff}.list-group-flush .list-group-item{border-right:0;border-left:0;border-radius:0}.list-group-flush:first-child .list-group-item:first-child{border-top:0}.list-group-flush:last-child .list-group-item:last-child{border-bottom:0}.list-group-item-primary{color:#004085;background-color:#b8daff}.list-group-item-primary.list-group-item-action:focus,.list-group-item-primary.list-group-item-action:hover{color:#004085;background-color:#9fcdff}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#004085;border-color:#004085}.list-group-item-secondary{color:#383d41;background-color:#d6d8db}.list-group-item-secondary.list-group-item-action:focus,.list-group-item-secondary.list-group-item-action:hover{color:#383d41;background-color:#c8cbcf}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#383d41;border-color:#383d41}.list-group-item-success{color:#155724;background-color:#c3e6cb}.list-group-item-success.list-group-item-action:focus,.list-group-item-success.list-group-item-action:hover{color:#155724;background-color:#b1dfbb}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#155724;border-color:#155724}.list-group-item-info{color:#0c5460;background-color:#bee5eb}.list-group-item-info.list-group-item-action:focus,.list-group-item-info.list-group-item-action:hover{color:#0c5460;background-color:#abdde5}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#0c5460;border-color:#0c5460}.list-group-item-warning{color:#856404;background-color:#ffeeba}.list-group-item-warning.list-group-item-action:focus,.list-group-item-warning.list-group-item-action:hover{color:#856404;background-color:#ffe8a1}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#856404;border-color:#856404}.list-group-item-danger{color:#721c24;background-color:#f5c6cb}.list-group-item-danger.list-group-item-action:focus,.list-group-item-danger.list-group-item-action:hover{color:#721c24;background-color:#f1b0b7}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#721c24;border-color:#721c24}.list-group-item-light{color:#818182;background-color:#fdfdfe}.list-group-item-light.list-group-item-action:focus,.list-group-item-light.list-group-item-action:hover{color:#818182;background-color:#ececf6}.list-group-item-light.list-group-item-action.active{color:#fff;background-color:#818182;border-color:#818182}.list-group-item-dark{color:#1b1e21;background-color:#c6c8ca}.list-group-item-dark.list-group-item-action:focus,.list-group-item-dark.list-group-item-action:hover{color:#1b1e21;background-color:#b9bbbe}.list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#1b1e21;border-color:#1b1e21}.close{float:right;font-size:1.5rem;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.5}.close:focus,.close:hover{color:#000;text-decoration:none;opacity:.75}.close:not(:disabled):not(.disabled){cursor:pointer}button.close{padding:0;background-color:transparent;border:0;-webkit-appearance:none}.modal-open{overflow:hidden}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;overflow:hidden;outline:0}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade .modal-dialog{transition:-webkit-transform .3s ease-out;transition:transform .3s ease-out;transition:transform .3s ease-out,-webkit-transform .3s ease-out;-webkit-transform:translate(0,-25%);transform:translate(0,-25%)}@media screen and (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{-webkit-transform:translate(0,0);transform:translate(0,0)}.modal-dialog-centered{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;min-height:calc(100% - (.5rem * 2))}.modal-content{position:relative;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;outline:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{display:-ms-flexbox;display:flex;-ms-flex-align:start;align-items:flex-start;-ms-flex-pack:justify;justify-content:space-between;padding:1rem;border-bottom:1px solid #e9ecef;border-top-left-radius:.3rem;border-top-right-radius:.3rem}.modal-header .close{padding:1rem;margin:-1rem -1rem -1rem auto}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;-ms-flex:1 1 auto;flex:1 1 auto;padding:1rem}.modal-footer{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:end;justify-content:flex-end;padding:1rem;border-top:1px solid #e9ecef}.modal-footer>:not(:first-child){margin-left:.25rem}.modal-footer>:not(:last-child){margin-right:.25rem}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:576px){.modal-dialog{max-width:500px;margin:1.75rem auto}.modal-dialog-centered{min-height:calc(100% - (1.75rem * 2))}.modal-sm{max-width:300px}}@media (min-width:992px){.modal-lg{max-width:800px}}.tooltip{position:absolute;z-index:1070;display:block;margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0}.tooltip.show{opacity:.9}.tooltip .arrow{position:absolute;display:block;width:.8rem;height:.4rem}.tooltip .arrow::before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-auto[x-placement^=top],.bs-tooltip-top{padding:.4rem 0}.bs-tooltip-auto[x-placement^=top] .arrow,.bs-tooltip-top .arrow{bottom:0}.bs-tooltip-auto[x-placement^=top] .arrow::before,.bs-tooltip-top .arrow::before{top:0;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-auto[x-placement^=right],.bs-tooltip-right{padding:0 .4rem}.bs-tooltip-auto[x-placement^=right] .arrow,.bs-tooltip-right .arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=right] .arrow::before,.bs-tooltip-right .arrow::before{right:0;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-auto[x-placement^=bottom],.bs-tooltip-bottom{padding:.4rem 0}.bs-tooltip-auto[x-placement^=bottom] .arrow,.bs-tooltip-bottom .arrow{top:0}.bs-tooltip-auto[x-placement^=bottom] .arrow::before,.bs-tooltip-bottom .arrow::before{bottom:0;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-auto[x-placement^=left],.bs-tooltip-left{padding:0 .4rem}.bs-tooltip-auto[x-placement^=left] .arrow,.bs-tooltip-left .arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=left] .arrow::before,.bs-tooltip-left .arrow::before{left:0;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}.popover{position:absolute;top:0;left:0;z-index:1060;display:block;max-width:276px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem}.popover .arrow{position:absolute;display:block;width:1rem;height:.5rem;margin:0 .3rem}.popover .arrow::after,.popover .arrow::before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid}.bs-popover-auto[x-placement^=top],.bs-popover-top{margin-bottom:.5rem}.bs-popover-auto[x-placement^=top] .arrow,.bs-popover-top .arrow{bottom:calc((.5rem + 1px) * -1)}.bs-popover-auto[x-placement^=top] .arrow::after,.bs-popover-auto[x-placement^=top] .arrow::before,.bs-popover-top .arrow::after,.bs-popover-top .arrow::before{border-width:.5rem .5rem 0}.bs-popover-auto[x-placement^=top] .arrow::before,.bs-popover-top .arrow::before{bottom:0;border-top-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=top] .arrow::after,.bs-popover-top .arrow::after{bottom:1px;border-top-color:#fff}.bs-popover-auto[x-placement^=right],.bs-popover-right{margin-left:.5rem}.bs-popover-auto[x-placement^=right] .arrow,.bs-popover-right .arrow{left:calc((.5rem + 1px) * -1);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=right] .arrow::after,.bs-popover-auto[x-placement^=right] .arrow::before,.bs-popover-right .arrow::after,.bs-popover-right .arrow::before{border-width:.5rem .5rem .5rem 0}.bs-popover-auto[x-placement^=right] .arrow::before,.bs-popover-right .arrow::before{left:0;border-right-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=right] .arrow::after,.bs-popover-right .arrow::after{left:1px;border-right-color:#fff}.bs-popover-auto[x-placement^=bottom],.bs-popover-bottom{margin-top:.5rem}.bs-popover-auto[x-placement^=bottom] .arrow,.bs-popover-bottom .arrow{top:calc((.5rem + 1px) * -1)}.bs-popover-auto[x-placement^=bottom] .arrow::after,.bs-popover-auto[x-placement^=bottom] .arrow::before,.bs-popover-bottom .arrow::after,.bs-popover-bottom .arrow::before{border-width:0 .5rem .5rem .5rem}.bs-popover-auto[x-placement^=bottom] .arrow::before,.bs-popover-bottom .arrow::before{top:0;border-bottom-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=bottom] .arrow::after,.bs-popover-bottom .arrow::after{top:1px;border-bottom-color:#fff}.bs-popover-auto[x-placement^=bottom] .popover-header::before,.bs-popover-bottom .popover-header::before{position:absolute;top:0;left:50%;display:block;width:1rem;margin-left:-.5rem;content:"";border-bottom:1px solid #f7f7f7}.bs-popover-auto[x-placement^=left],.bs-popover-left{margin-right:.5rem}.bs-popover-auto[x-placement^=left] .arrow,.bs-popover-left .arrow{right:calc((.5rem + 1px) * -1);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=left] .arrow::after,.bs-popover-auto[x-placement^=left] .arrow::before,.bs-popover-left .arrow::after,.bs-popover-left .arrow::before{border-width:.5rem 0 .5rem .5rem}.bs-popover-auto[x-placement^=left] .arrow::before,.bs-popover-left .arrow::before{right:0;border-left-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=left] .arrow::after,.bs-popover-left .arrow::after{right:1px;border-left-color:#fff}.popover-header{padding:.5rem .75rem;margin-bottom:0;font-size:1rem;color:inherit;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.popover-header:empty{display:none}.popover-body{padding:.5rem .75rem;color:#212529}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-item{position:relative;display:none;-ms-flex-align:center;align-items:center;width:100%;transition:-webkit-transform .6s ease;transition:transform .6s ease;transition:transform .6s ease,-webkit-transform .6s ease;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}@media screen and (prefers-reduced-motion:reduce){.carousel-item{transition:none}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.carousel-item-next,.carousel-item-prev{position:absolute;top:0}.carousel-item-next.carousel-item-left,.carousel-item-prev.carousel-item-right{-webkit-transform:translateX(0);transform:translateX(0)}@supports ((-webkit-transform-style:preserve-3d) or (transform-style:preserve-3d)){.carousel-item-next.carousel-item-left,.carousel-item-prev.carousel-item-right{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.active.carousel-item-right,.carousel-item-next{-webkit-transform:translateX(100%);transform:translateX(100%)}@supports ((-webkit-transform-style:preserve-3d) or (transform-style:preserve-3d)){.active.carousel-item-right,.carousel-item-next{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}.active.carousel-item-left,.carousel-item-prev{-webkit-transform:translateX(-100%);transform:translateX(-100%)}@supports ((-webkit-transform-style:preserve-3d) or (transform-style:preserve-3d)){.active.carousel-item-left,.carousel-item-prev{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}.carousel-fade .carousel-item{opacity:0;transition-duration:.6s;transition-property:opacity}.carousel-fade .carousel-item-next.carousel-item-left,.carousel-fade .carousel-item-prev.carousel-item-right,.carousel-fade .carousel-item.active{opacity:1}.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{opacity:0}.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-prev,.carousel-fade .carousel-item-next,.carousel-fade .carousel-item-prev,.carousel-fade .carousel-item.active{-webkit-transform:translateX(0);transform:translateX(0)}@supports ((-webkit-transform-style:preserve-3d) or (transform-style:preserve-3d)){.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-prev,.carousel-fade .carousel-item-next,.carousel-fade .carousel-item-prev,.carousel-fade .carousel-item.active{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:15%;color:#fff;text-align:center;opacity:.5}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:20px;height:20px;background:transparent no-repeat center center;background-size:100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E")}.carousel-control-next-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E")}.carousel-indicators{position:absolute;right:0;bottom:10px;left:0;z-index:15;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;padding-left:0;margin-right:15%;margin-left:15%;list-style:none}.carousel-indicators li{position:relative;-ms-flex:0 1 auto;flex:0 1 auto;width:30px;height:3px;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:rgba(255,255,255,.5)}.carousel-indicators li::before{position:absolute;top:-10px;left:0;display:inline-block;width:100%;height:10px;content:""}.carousel-indicators li::after{position:absolute;bottom:-10px;left:0;display:inline-block;width:100%;height:10px;content:""}.carousel-indicators .active{background-color:#fff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.bg-primary{background-color:#007bff!important}a.bg-primary:focus,a.bg-primary:hover,button.bg-primary:focus,button.bg-primary:hover{background-color:#0062cc!important}.bg-secondary{background-color:#6c757d!important}a.bg-secondary:focus,a.bg-secondary:hover,button.bg-secondary:focus,button.bg-secondary:hover{background-color:#545b62!important}.bg-success{background-color:#28a745!important}a.bg-success:focus,a.bg-success:hover,button.bg-success:focus,button.bg-success:hover{background-color:#1e7e34!important}.bg-info{background-color:#17a2b8!important}a.bg-info:focus,a.bg-info:hover,button.bg-info:focus,button.bg-info:hover{background-color:#117a8b!important}.bg-warning{background-color:#ffc107!important}a.bg-warning:focus,a.bg-warning:hover,button.bg-warning:focus,button.bg-warning:hover{background-color:#d39e00!important}.bg-danger{background-color:#dc3545!important}a.bg-danger:focus,a.bg-danger:hover,button.bg-danger:focus,button.bg-danger:hover{background-color:#bd2130!important}.bg-light{background-color:#f8f9fa!important}a.bg-light:focus,a.bg-light:hover,button.bg-light:focus,button.bg-light:hover{background-color:#dae0e5!important}.bg-dark{background-color:#343a40!important}a.bg-dark:focus,a.bg-dark:hover,button.bg-dark:focus,button.bg-dark:hover{background-color:#1d2124!important}.bg-white{background-color:#fff!important}.bg-transparent{background-color:transparent!important}.border{border:1px solid #dee2e6!important}.border-top{border-top:1px solid #dee2e6!important}.border-right{border-right:1px solid #dee2e6!important}.border-bottom{border-bottom:1px solid #dee2e6!important}.border-left{border-left:1px solid #dee2e6!important}.border-0{border:0!important}.border-top-0{border-top:0!important}.border-right-0{border-right:0!important}.border-bottom-0{border-bottom:0!important}.border-left-0{border-left:0!important}.border-primary{border-color:#007bff!important}.border-secondary{border-color:#6c757d!important}.border-success{border-color:#28a745!important}.border-info{border-color:#17a2b8!important}.border-warning{border-color:#ffc107!important}.border-danger{border-color:#dc3545!important}.border-light{border-color:#f8f9fa!important}.border-dark{border-color:#343a40!important}.border-white{border-color:#fff!important}.rounded{border-radius:.25rem!important}.rounded-top{border-top-left-radius:.25rem!important;border-top-right-radius:.25rem!important}.rounded-right{border-top-right-radius:.25rem!important;border-bottom-right-radius:.25rem!important}.rounded-bottom{border-bottom-right-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-left{border-top-left-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-circle{border-radius:50%!important}.rounded-0{border-radius:0!important}.clearfix::after{display:block;clear:both;content:""}.d-none{display:none!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:-ms-flexbox!important;display:flex!important}.d-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}@media (min-width:576px){.d-sm-none{display:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:-ms-flexbox!important;display:flex!important}.d-sm-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:768px){.d-md-none{display:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:-ms-flexbox!important;display:flex!important}.d-md-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:992px){.d-lg-none{display:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:-ms-flexbox!important;display:flex!important}.d-lg-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:1200px){.d-xl-none{display:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:-ms-flexbox!important;display:flex!important}.d-xl-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media print{.d-print-none{display:none!important}.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:-ms-flexbox!important;display:flex!important}.d-print-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}.embed-responsive{position:relative;display:block;width:100%;padding:0;overflow:hidden}.embed-responsive::before{display:block;content:""}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-21by9::before{padding-top:42.857143%}.embed-responsive-16by9::before{padding-top:56.25%}.embed-responsive-4by3::before{padding-top:75%}.embed-responsive-1by1::before{padding-top:100%}.flex-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-center{-ms-flex-align:center!important;align-items:center!important}.align-items-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}@media (min-width:576px){.flex-sm-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-sm-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-sm-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-sm-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-sm-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-sm-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-sm-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-sm-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-sm-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-sm-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-sm-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-sm-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-sm-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-sm-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-sm-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-sm-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-sm-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-sm-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-sm-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-sm-center{-ms-flex-align:center!important;align-items:center!important}.align-items-sm-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-sm-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-sm-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-sm-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-sm-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-sm-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-sm-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-sm-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-sm-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-sm-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-sm-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-sm-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-sm-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-sm-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:768px){.flex-md-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-md-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-md-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-md-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-md-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-md-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-md-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-md-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-md-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-md-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-md-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-md-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-md-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-md-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-md-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-md-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-md-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-md-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-md-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-md-center{-ms-flex-align:center!important;align-items:center!important}.align-items-md-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-md-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-md-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-md-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-md-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-md-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-md-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-md-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-md-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-md-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-md-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-md-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-md-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-md-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:992px){.flex-lg-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-lg-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-lg-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-lg-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-lg-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-lg-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-lg-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-lg-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-lg-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-lg-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-lg-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-lg-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-lg-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-lg-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-lg-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-lg-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-lg-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-lg-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-lg-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-lg-center{-ms-flex-align:center!important;align-items:center!important}.align-items-lg-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-lg-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-lg-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-lg-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-lg-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-lg-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-lg-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-lg-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-lg-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-lg-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-lg-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-lg-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-lg-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-lg-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:1200px){.flex-xl-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-xl-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-xl-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-xl-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-xl-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-xl-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-xl-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-xl-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-xl-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-xl-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-xl-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-xl-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-xl-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-xl-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-xl-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-xl-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-xl-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-xl-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-xl-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-xl-center{-ms-flex-align:center!important;align-items:center!important}.align-items-xl-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-xl-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-xl-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-xl-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-xl-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-xl-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-xl-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-xl-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-xl-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-xl-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-xl-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-xl-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-xl-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-xl-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}.float-left{float:left!important}.float-right{float:right!important}.float-none{float:none!important}@media (min-width:576px){.float-sm-left{float:left!important}.float-sm-right{float:right!important}.float-sm-none{float:none!important}}@media (min-width:768px){.float-md-left{float:left!important}.float-md-right{float:right!important}.float-md-none{float:none!important}}@media (min-width:992px){.float-lg-left{float:left!important}.float-lg-right{float:right!important}.float-lg-none{float:none!important}}@media (min-width:1200px){.float-xl-left{float:left!important}.float-xl-right{float:right!important}.float-xl-none{float:none!important}}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:-webkit-sticky!important;position:sticky!important}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}@supports ((position:-webkit-sticky) or (position:sticky)){.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal}.shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important}.shadow{box-shadow:0 .5rem 1rem rgba(0,0,0,.15)!important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175)!important}.shadow-none{box-shadow:none!important}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mw-100{max-width:100%!important}.mh-100{max-height:100%!important}.m-0{margin:0!important}.mt-0,.my-0{margin-top:0!important}.mr-0,.mx-0{margin-right:0!important}.mb-0,.my-0{margin-bottom:0!important}.ml-0,.mx-0{margin-left:0!important}.m-1{margin:.25rem!important}.mt-1,.my-1{margin-top:.25rem!important}.mr-1,.mx-1{margin-right:.25rem!important}.mb-1,.my-1{margin-bottom:.25rem!important}.ml-1,.mx-1{margin-left:.25rem!important}.m-2{margin:.5rem!important}.mt-2,.my-2{margin-top:.5rem!important}.mr-2,.mx-2{margin-right:.5rem!important}.mb-2,.my-2{margin-bottom:.5rem!important}.ml-2,.mx-2{margin-left:.5rem!important}.m-3{margin:1rem!important}.mt-3,.my-3{margin-top:1rem!important}.mr-3,.mx-3{margin-right:1rem!important}.mb-3,.my-3{margin-bottom:1rem!important}.ml-3,.mx-3{margin-left:1rem!important}.m-4{margin:1.5rem!important}.mt-4,.my-4{margin-top:1.5rem!important}.mr-4,.mx-4{margin-right:1.5rem!important}.mb-4,.my-4{margin-bottom:1.5rem!important}.ml-4,.mx-4{margin-left:1.5rem!important}.m-5{margin:3rem!important}.mt-5,.my-5{margin-top:3rem!important}.mr-5,.mx-5{margin-right:3rem!important}.mb-5,.my-5{margin-bottom:3rem!important}.ml-5,.mx-5{margin-left:3rem!important}.p-0{padding:0!important}.pt-0,.py-0{padding-top:0!important}.pr-0,.px-0{padding-right:0!important}.pb-0,.py-0{padding-bottom:0!important}.pl-0,.px-0{padding-left:0!important}.p-1{padding:.25rem!important}.pt-1,.py-1{padding-top:.25rem!important}.pr-1,.px-1{padding-right:.25rem!important}.pb-1,.py-1{padding-bottom:.25rem!important}.pl-1,.px-1{padding-left:.25rem!important}.p-2{padding:.5rem!important}.pt-2,.py-2{padding-top:.5rem!important}.pr-2,.px-2{padding-right:.5rem!important}.pb-2,.py-2{padding-bottom:.5rem!important}.pl-2,.px-2{padding-left:.5rem!important}.p-3{padding:1rem!important}.pt-3,.py-3{padding-top:1rem!important}.pr-3,.px-3{padding-right:1rem!important}.pb-3,.py-3{padding-bottom:1rem!important}.pl-3,.px-3{padding-left:1rem!important}.p-4{padding:1.5rem!important}.pt-4,.py-4{padding-top:1.5rem!important}.pr-4,.px-4{padding-right:1.5rem!important}.pb-4,.py-4{padding-bottom:1.5rem!important}.pl-4,.px-4{padding-left:1.5rem!important}.p-5{padding:3rem!important}.pt-5,.py-5{padding-top:3rem!important}.pr-5,.px-5{padding-right:3rem!important}.pb-5,.py-5{padding-bottom:3rem!important}.pl-5,.px-5{padding-left:3rem!important}.m-auto{margin:auto!important}.mt-auto,.my-auto{margin-top:auto!important}.mr-auto,.mx-auto{margin-right:auto!important}.mb-auto,.my-auto{margin-bottom:auto!important}.ml-auto,.mx-auto{margin-left:auto!important}@media (min-width:576px){.m-sm-0{margin:0!important}.mt-sm-0,.my-sm-0{margin-top:0!important}.mr-sm-0,.mx-sm-0{margin-right:0!important}.mb-sm-0,.my-sm-0{margin-bottom:0!important}.ml-sm-0,.mx-sm-0{margin-left:0!important}.m-sm-1{margin:.25rem!important}.mt-sm-1,.my-sm-1{margin-top:.25rem!important}.mr-sm-1,.mx-sm-1{margin-right:.25rem!important}.mb-sm-1,.my-sm-1{margin-bottom:.25rem!important}.ml-sm-1,.mx-sm-1{margin-left:.25rem!important}.m-sm-2{margin:.5rem!important}.mt-sm-2,.my-sm-2{margin-top:.5rem!important}.mr-sm-2,.mx-sm-2{margin-right:.5rem!important}.mb-sm-2,.my-sm-2{margin-bottom:.5rem!important}.ml-sm-2,.mx-sm-2{margin-left:.5rem!important}.m-sm-3{margin:1rem!important}.mt-sm-3,.my-sm-3{margin-top:1rem!important}.mr-sm-3,.mx-sm-3{margin-right:1rem!important}.mb-sm-3,.my-sm-3{margin-bottom:1rem!important}.ml-sm-3,.mx-sm-3{margin-left:1rem!important}.m-sm-4{margin:1.5rem!important}.mt-sm-4,.my-sm-4{margin-top:1.5rem!important}.mr-sm-4,.mx-sm-4{margin-right:1.5rem!important}.mb-sm-4,.my-sm-4{margin-bottom:1.5rem!important}.ml-sm-4,.mx-sm-4{margin-left:1.5rem!important}.m-sm-5{margin:3rem!important}.mt-sm-5,.my-sm-5{margin-top:3rem!important}.mr-sm-5,.mx-sm-5{margin-right:3rem!important}.mb-sm-5,.my-sm-5{margin-bottom:3rem!important}.ml-sm-5,.mx-sm-5{margin-left:3rem!important}.p-sm-0{padding:0!important}.pt-sm-0,.py-sm-0{padding-top:0!important}.pr-sm-0,.px-sm-0{padding-right:0!important}.pb-sm-0,.py-sm-0{padding-bottom:0!important}.pl-sm-0,.px-sm-0{padding-left:0!important}.p-sm-1{padding:.25rem!important}.pt-sm-1,.py-sm-1{padding-top:.25rem!important}.pr-sm-1,.px-sm-1{padding-right:.25rem!important}.pb-sm-1,.py-sm-1{padding-bottom:.25rem!important}.pl-sm-1,.px-sm-1{padding-left:.25rem!important}.p-sm-2{padding:.5rem!important}.pt-sm-2,.py-sm-2{padding-top:.5rem!important}.pr-sm-2,.px-sm-2{padding-right:.5rem!important}.pb-sm-2,.py-sm-2{padding-bottom:.5rem!important}.pl-sm-2,.px-sm-2{padding-left:.5rem!important}.p-sm-3{padding:1rem!important}.pt-sm-3,.py-sm-3{padding-top:1rem!important}.pr-sm-3,.px-sm-3{padding-right:1rem!important}.pb-sm-3,.py-sm-3{padding-bottom:1rem!important}.pl-sm-3,.px-sm-3{padding-left:1rem!important}.p-sm-4{padding:1.5rem!important}.pt-sm-4,.py-sm-4{padding-top:1.5rem!important}.pr-sm-4,.px-sm-4{padding-right:1.5rem!important}.pb-sm-4,.py-sm-4{padding-bottom:1.5rem!important}.pl-sm-4,.px-sm-4{padding-left:1.5rem!important}.p-sm-5{padding:3rem!important}.pt-sm-5,.py-sm-5{padding-top:3rem!important}.pr-sm-5,.px-sm-5{padding-right:3rem!important}.pb-sm-5,.py-sm-5{padding-bottom:3rem!important}.pl-sm-5,.px-sm-5{padding-left:3rem!important}.m-sm-auto{margin:auto!important}.mt-sm-auto,.my-sm-auto{margin-top:auto!important}.mr-sm-auto,.mx-sm-auto{margin-right:auto!important}.mb-sm-auto,.my-sm-auto{margin-bottom:auto!important}.ml-sm-auto,.mx-sm-auto{margin-left:auto!important}}@media (min-width:768px){.m-md-0{margin:0!important}.mt-md-0,.my-md-0{margin-top:0!important}.mr-md-0,.mx-md-0{margin-right:0!important}.mb-md-0,.my-md-0{margin-bottom:0!important}.ml-md-0,.mx-md-0{margin-left:0!important}.m-md-1{margin:.25rem!important}.mt-md-1,.my-md-1{margin-top:.25rem!important}.mr-md-1,.mx-md-1{margin-right:.25rem!important}.mb-md-1,.my-md-1{margin-bottom:.25rem!important}.ml-md-1,.mx-md-1{margin-left:.25rem!important}.m-md-2{margin:.5rem!important}.mt-md-2,.my-md-2{margin-top:.5rem!important}.mr-md-2,.mx-md-2{margin-right:.5rem!important}.mb-md-2,.my-md-2{margin-bottom:.5rem!important}.ml-md-2,.mx-md-2{margin-left:.5rem!important}.m-md-3{margin:1rem!important}.mt-md-3,.my-md-3{margin-top:1rem!important}.mr-md-3,.mx-md-3{margin-right:1rem!important}.mb-md-3,.my-md-3{margin-bottom:1rem!important}.ml-md-3,.mx-md-3{margin-left:1rem!important}.m-md-4{margin:1.5rem!important}.mt-md-4,.my-md-4{margin-top:1.5rem!important}.mr-md-4,.mx-md-4{margin-right:1.5rem!important}.mb-md-4,.my-md-4{margin-bottom:1.5rem!important}.ml-md-4,.mx-md-4{margin-left:1.5rem!important}.m-md-5{margin:3rem!important}.mt-md-5,.my-md-5{margin-top:3rem!important}.mr-md-5,.mx-md-5{margin-right:3rem!important}.mb-md-5,.my-md-5{margin-bottom:3rem!important}.ml-md-5,.mx-md-5{margin-left:3rem!important}.p-md-0{padding:0!important}.pt-md-0,.py-md-0{padding-top:0!important}.pr-md-0,.px-md-0{padding-right:0!important}.pb-md-0,.py-md-0{padding-bottom:0!important}.pl-md-0,.px-md-0{padding-left:0!important}.p-md-1{padding:.25rem!important}.pt-md-1,.py-md-1{padding-top:.25rem!important}.pr-md-1,.px-md-1{padding-right:.25rem!important}.pb-md-1,.py-md-1{padding-bottom:.25rem!important}.pl-md-1,.px-md-1{padding-left:.25rem!important}.p-md-2{padding:.5rem!important}.pt-md-2,.py-md-2{padding-top:.5rem!important}.pr-md-2,.px-md-2{padding-right:.5rem!important}.pb-md-2,.py-md-2{padding-bottom:.5rem!important}.pl-md-2,.px-md-2{padding-left:.5rem!important}.p-md-3{padding:1rem!important}.pt-md-3,.py-md-3{padding-top:1rem!important}.pr-md-3,.px-md-3{padding-right:1rem!important}.pb-md-3,.py-md-3{padding-bottom:1rem!important}.pl-md-3,.px-md-3{padding-left:1rem!important}.p-md-4{padding:1.5rem!important}.pt-md-4,.py-md-4{padding-top:1.5rem!important}.pr-md-4,.px-md-4{padding-right:1.5rem!important}.pb-md-4,.py-md-4{padding-bottom:1.5rem!important}.pl-md-4,.px-md-4{padding-left:1.5rem!important}.p-md-5{padding:3rem!important}.pt-md-5,.py-md-5{padding-top:3rem!important}.pr-md-5,.px-md-5{padding-right:3rem!important}.pb-md-5,.py-md-5{padding-bottom:3rem!important}.pl-md-5,.px-md-5{padding-left:3rem!important}.m-md-auto{margin:auto!important}.mt-md-auto,.my-md-auto{margin-top:auto!important}.mr-md-auto,.mx-md-auto{margin-right:auto!important}.mb-md-auto,.my-md-auto{margin-bottom:auto!important}.ml-md-auto,.mx-md-auto{margin-left:auto!important}}@media (min-width:992px){.m-lg-0{margin:0!important}.mt-lg-0,.my-lg-0{margin-top:0!important}.mr-lg-0,.mx-lg-0{margin-right:0!important}.mb-lg-0,.my-lg-0{margin-bottom:0!important}.ml-lg-0,.mx-lg-0{margin-left:0!important}.m-lg-1{margin:.25rem!important}.mt-lg-1,.my-lg-1{margin-top:.25rem!important}.mr-lg-1,.mx-lg-1{margin-right:.25rem!important}.mb-lg-1,.my-lg-1{margin-bottom:.25rem!important}.ml-lg-1,.mx-lg-1{margin-left:.25rem!important}.m-lg-2{margin:.5rem!important}.mt-lg-2,.my-lg-2{margin-top:.5rem!important}.mr-lg-2,.mx-lg-2{margin-right:.5rem!important}.mb-lg-2,.my-lg-2{margin-bottom:.5rem!important}.ml-lg-2,.mx-lg-2{margin-left:.5rem!important}.m-lg-3{margin:1rem!important}.mt-lg-3,.my-lg-3{margin-top:1rem!important}.mr-lg-3,.mx-lg-3{margin-right:1rem!important}.mb-lg-3,.my-lg-3{margin-bottom:1rem!important}.ml-lg-3,.mx-lg-3{margin-left:1rem!important}.m-lg-4{margin:1.5rem!important}.mt-lg-4,.my-lg-4{margin-top:1.5rem!important}.mr-lg-4,.mx-lg-4{margin-right:1.5rem!important}.mb-lg-4,.my-lg-4{margin-bottom:1.5rem!important}.ml-lg-4,.mx-lg-4{margin-left:1.5rem!important}.m-lg-5{margin:3rem!important}.mt-lg-5,.my-lg-5{margin-top:3rem!important}.mr-lg-5,.mx-lg-5{margin-right:3rem!important}.mb-lg-5,.my-lg-5{margin-bottom:3rem!important}.ml-lg-5,.mx-lg-5{margin-left:3rem!important}.p-lg-0{padding:0!important}.pt-lg-0,.py-lg-0{padding-top:0!important}.pr-lg-0,.px-lg-0{padding-right:0!important}.pb-lg-0,.py-lg-0{padding-bottom:0!important}.pl-lg-0,.px-lg-0{padding-left:0!important}.p-lg-1{padding:.25rem!important}.pt-lg-1,.py-lg-1{padding-top:.25rem!important}.pr-lg-1,.px-lg-1{padding-right:.25rem!important}.pb-lg-1,.py-lg-1{padding-bottom:.25rem!important}.pl-lg-1,.px-lg-1{padding-left:.25rem!important}.p-lg-2{padding:.5rem!important}.pt-lg-2,.py-lg-2{padding-top:.5rem!important}.pr-lg-2,.px-lg-2{padding-right:.5rem!important}.pb-lg-2,.py-lg-2{padding-bottom:.5rem!important}.pl-lg-2,.px-lg-2{padding-left:.5rem!important}.p-lg-3{padding:1rem!important}.pt-lg-3,.py-lg-3{padding-top:1rem!important}.pr-lg-3,.px-lg-3{padding-right:1rem!important}.pb-lg-3,.py-lg-3{padding-bottom:1rem!important}.pl-lg-3,.px-lg-3{padding-left:1rem!important}.p-lg-4{padding:1.5rem!important}.pt-lg-4,.py-lg-4{padding-top:1.5rem!important}.pr-lg-4,.px-lg-4{padding-right:1.5rem!important}.pb-lg-4,.py-lg-4{padding-bottom:1.5rem!important}.pl-lg-4,.px-lg-4{padding-left:1.5rem!important}.p-lg-5{padding:3rem!important}.pt-lg-5,.py-lg-5{padding-top:3rem!important}.pr-lg-5,.px-lg-5{padding-right:3rem!important}.pb-lg-5,.py-lg-5{padding-bottom:3rem!important}.pl-lg-5,.px-lg-5{padding-left:3rem!important}.m-lg-auto{margin:auto!important}.mt-lg-auto,.my-lg-auto{margin-top:auto!important}.mr-lg-auto,.mx-lg-auto{margin-right:auto!important}.mb-lg-auto,.my-lg-auto{margin-bottom:auto!important}.ml-lg-auto,.mx-lg-auto{margin-left:auto!important}}@media (min-width:1200px){.m-xl-0{margin:0!important}.mt-xl-0,.my-xl-0{margin-top:0!important}.mr-xl-0,.mx-xl-0{margin-right:0!important}.mb-xl-0,.my-xl-0{margin-bottom:0!important}.ml-xl-0,.mx-xl-0{margin-left:0!important}.m-xl-1{margin:.25rem!important}.mt-xl-1,.my-xl-1{margin-top:.25rem!important}.mr-xl-1,.mx-xl-1{margin-right:.25rem!important}.mb-xl-1,.my-xl-1{margin-bottom:.25rem!important}.ml-xl-1,.mx-xl-1{margin-left:.25rem!important}.m-xl-2{margin:.5rem!important}.mt-xl-2,.my-xl-2{margin-top:.5rem!important}.mr-xl-2,.mx-xl-2{margin-right:.5rem!important}.mb-xl-2,.my-xl-2{margin-bottom:.5rem!important}.ml-xl-2,.mx-xl-2{margin-left:.5rem!important}.m-xl-3{margin:1rem!important}.mt-xl-3,.my-xl-3{margin-top:1rem!important}.mr-xl-3,.mx-xl-3{margin-right:1rem!important}.mb-xl-3,.my-xl-3{margin-bottom:1rem!important}.ml-xl-3,.mx-xl-3{margin-left:1rem!important}.m-xl-4{margin:1.5rem!important}.mt-xl-4,.my-xl-4{margin-top:1.5rem!important}.mr-xl-4,.mx-xl-4{margin-right:1.5rem!important}.mb-xl-4,.my-xl-4{margin-bottom:1.5rem!important}.ml-xl-4,.mx-xl-4{margin-left:1.5rem!important}.m-xl-5{margin:3rem!important}.mt-xl-5,.my-xl-5{margin-top:3rem!important}.mr-xl-5,.mx-xl-5{margin-right:3rem!important}.mb-xl-5,.my-xl-5{margin-bottom:3rem!important}.ml-xl-5,.mx-xl-5{margin-left:3rem!important}.p-xl-0{padding:0!important}.pt-xl-0,.py-xl-0{padding-top:0!important}.pr-xl-0,.px-xl-0{padding-right:0!important}.pb-xl-0,.py-xl-0{padding-bottom:0!important}.pl-xl-0,.px-xl-0{padding-left:0!important}.p-xl-1{padding:.25rem!important}.pt-xl-1,.py-xl-1{padding-top:.25rem!important}.pr-xl-1,.px-xl-1{padding-right:.25rem!important}.pb-xl-1,.py-xl-1{padding-bottom:.25rem!important}.pl-xl-1,.px-xl-1{padding-left:.25rem!important}.p-xl-2{padding:.5rem!important}.pt-xl-2,.py-xl-2{padding-top:.5rem!important}.pr-xl-2,.px-xl-2{padding-right:.5rem!important}.pb-xl-2,.py-xl-2{padding-bottom:.5rem!important}.pl-xl-2,.px-xl-2{padding-left:.5rem!important}.p-xl-3{padding:1rem!important}.pt-xl-3,.py-xl-3{padding-top:1rem!important}.pr-xl-3,.px-xl-3{padding-right:1rem!important}.pb-xl-3,.py-xl-3{padding-bottom:1rem!important}.pl-xl-3,.px-xl-3{padding-left:1rem!important}.p-xl-4{padding:1.5rem!important}.pt-xl-4,.py-xl-4{padding-top:1.5rem!important}.pr-xl-4,.px-xl-4{padding-right:1.5rem!important}.pb-xl-4,.py-xl-4{padding-bottom:1.5rem!important}.pl-xl-4,.px-xl-4{padding-left:1.5rem!important}.p-xl-5{padding:3rem!important}.pt-xl-5,.py-xl-5{padding-top:3rem!important}.pr-xl-5,.px-xl-5{padding-right:3rem!important}.pb-xl-5,.py-xl-5{padding-bottom:3rem!important}.pl-xl-5,.px-xl-5{padding-left:3rem!important}.m-xl-auto{margin:auto!important}.mt-xl-auto,.my-xl-auto{margin-top:auto!important}.mr-xl-auto,.mx-xl-auto{margin-right:auto!important}.mb-xl-auto,.my-xl-auto{margin-bottom:auto!important}.ml-xl-auto,.mx-xl-auto{margin-left:auto!important}}.text-monospace{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}.text-justify{text-align:justify!important}.text-nowrap{white-space:nowrap!important}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-left{text-align:left!important}.text-right{text-align:right!important}.text-center{text-align:center!important}@media (min-width:576px){.text-sm-left{text-align:left!important}.text-sm-right{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.text-md-left{text-align:left!important}.text-md-right{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.text-lg-left{text-align:left!important}.text-lg-right{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.text-xl-left{text-align:left!important}.text-xl-right{text-align:right!important}.text-xl-center{text-align:center!important}}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.font-weight-light{font-weight:300!important}.font-weight-normal{font-weight:400!important}.font-weight-bold{font-weight:700!important}.font-italic{font-style:italic!important}.text-white{color:#fff!important}.text-primary{color:#007bff!important}a.text-primary:focus,a.text-primary:hover{color:#0062cc!important}.text-secondary{color:#6c757d!important}a.text-secondary:focus,a.text-secondary:hover{color:#545b62!important}.text-success{color:#28a745!important}a.text-success:focus,a.text-success:hover{color:#1e7e34!important}.text-info{color:#17a2b8!important}a.text-info:focus,a.text-info:hover{color:#117a8b!important}.text-warning{color:#ffc107!important}a.text-warning:focus,a.text-warning:hover{color:#d39e00!important}.text-danger{color:#dc3545!important}a.text-danger:focus,a.text-danger:hover{color:#bd2130!important}.text-light{color:#f8f9fa!important}a.text-light:focus,a.text-light:hover{color:#dae0e5!important}.text-dark{color:#343a40!important}a.text-dark:focus,a.text-dark:hover{color:#1d2124!important}.text-body{color:#212529!important}.text-muted{color:#6c757d!important}.text-black-50{color:rgba(0,0,0,.5)!important}.text-white-50{color:rgba(255,255,255,.5)!important}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.visible{visibility:visible!important}.invisible{visibility:hidden!important}@media print{*,::after,::before{text-shadow:none!important;box-shadow:none!important}a:not(.btn){text-decoration:underline}abbr[title]::after{content:" (" attr(title) ")"}pre{white-space:pre-wrap!important}blockquote,pre{border:1px solid #adb5bd;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}@page{size:a3}body{min-width:992px!important}.container{min-width:992px!important}.navbar{display:none}.badge{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #dee2e6!important}.table-dark{color:inherit}.table-dark tbody+tbody,.table-dark td,.table-dark th,.table-dark thead th{border-color:#dee2e6}.table .thead-dark th{color:inherit;border-color:#dee2e6}}
-/*# sourceMappingURL=bootstrap.min.css.map */</style>
-    <style>.ekko-lightbox{display:-ms-flexbox!important;display:flex!important;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;padding-right:0!important}.ekko-lightbox-container{position:relative}.ekko-lightbox-container>div.ekko-lightbox-item{position:absolute;top:0;left:0;bottom:0;right:0;width:100%}.ekko-lightbox iframe{width:100%;height:100%}.ekko-lightbox-nav-overlay{z-index:1;position:absolute;top:0;left:0;width:100%;height:100%;display:-ms-flexbox;display:flex}.ekko-lightbox-nav-overlay a{-ms-flex:1;flex:1;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;opacity:0;transition:opacity .5s;color:#fff;font-size:30px;z-index:1}.ekko-lightbox-nav-overlay a>*{-ms-flex-positive:1;flex-grow:1}.ekko-lightbox-nav-overlay a>:focus{outline:none}.ekko-lightbox-nav-overlay a span{padding:0 30px}.ekko-lightbox-nav-overlay a:last-child span{text-align:right}.ekko-lightbox-nav-overlay a:hover{text-decoration:none}.ekko-lightbox-nav-overlay a:focus{outline:none}.ekko-lightbox-nav-overlay a.disabled{cursor:default;visibility:hidden}.ekko-lightbox a:hover{opacity:1;text-decoration:none}.ekko-lightbox .modal-dialog{display:none}.ekko-lightbox .modal-footer{text-align:left}.ekko-lightbox-loader{position:absolute;top:0;left:0;bottom:0;right:0;width:100%;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center}.ekko-lightbox-loader>div{width:40px;height:40px;position:relative;text-align:center}.ekko-lightbox-loader>div>div{width:100%;height:100%;border-radius:50%;background-color:#fff;opacity:.6;position:absolute;top:0;left:0;animation:a 2s infinite ease-in-out}.ekko-lightbox-loader>div>div:last-child{animation-delay:-1s}.modal-dialog .ekko-lightbox-loader>div>div{background-color:#333}@keyframes a{0%,to{transform:scale(0);-webkit-transform:scale(0)}50%{transform:scale(1);-webkit-transform:scale(1)}}
-/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImVra28tbGlnaHRib3guY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGVBQ0UsOEJBQXlCLEFBQXpCLHVCQUF5QixBQUN6QixzQkFBb0IsQUFBcEIsbUJBQW9CLEFBQ3BCLHFCQUF3QixBQUF4Qix1QkFBd0IsQUFDeEIseUJBQTZCLENBQzlCLEFBQ0QseUJBQ0UsaUJBQW1CLENBQ3BCLEFBQ0QsZ0RBQ0Usa0JBQW1CLEFBQ25CLE1BQU8sQUFDUCxPQUFRLEFBQ1IsU0FBVSxBQUNWLFFBQVMsQUFDVCxVQUFZLENBQ2IsQUFDRCxzQkFDRSxXQUFZLEFBQ1osV0FBYSxDQUNkLEFBQ0QsMkJBQ0UsVUFBYSxBQUNiLGtCQUFtQixBQUNuQixNQUFPLEFBQ1AsT0FBUSxBQUNSLFdBQVksQUFDWixZQUFhLEFBQ2Isb0JBQWMsQUFBZCxZQUFjLENBQ2YsQUFDRCw2QkFDRSxXQUFRLEFBQVIsT0FBUSxBQUNSLG9CQUFjLEFBQWQsYUFBYyxBQUNkLHNCQUFvQixBQUFwQixtQkFBb0IsQUFDcEIsVUFBVyxBQUNYLHVCQUF5QixBQUN6QixXQUFZLEFBQ1osZUFBZ0IsQUFDaEIsU0FBYSxDQUNkLEFBQ0QsK0JBQ0Usb0JBQWEsQUFBYixXQUFhLENBQ2QsQUFDRCxvQ0FDRSxZQUFjLENBQ2YsQUFDRCxrQ0FDRSxjQUFnQixDQUNqQixBQUNELDZDQUNFLGdCQUFrQixDQUNuQixBQUNELG1DQUNFLG9CQUFzQixDQUN2QixBQUNELG1DQUNFLFlBQWMsQ0FDZixBQUNELHNDQUNFLGVBQWdCLEFBQ2hCLGlCQUFtQixDQUNwQixBQUNELHVCQUNFLFVBQVcsQUFDWCxvQkFBc0IsQ0FDdkIsQUFDRCw2QkFDRSxZQUFjLENBQ2YsQUFDRCw2QkFDRSxlQUFpQixDQUNsQixBQUNELHNCQUNFLGtCQUFtQixBQUNuQixNQUFPLEFBQ1AsT0FBUSxBQUNSLFNBQVUsQUFDVixRQUFTLEFBQ1QsV0FBWSxBQUNaLG9CQUFjLEFBQWQsYUFBYyxBQUVkLDBCQUF1QixBQUF2QixzQkFBdUIsQUFFdkIscUJBQXdCLEFBQXhCLHVCQUF3QixBQUV4QixzQkFBb0IsQUFBcEIsa0JBQW9CLENBQ3JCLEFBQ0QsMEJBQ0UsV0FBWSxBQUNaLFlBQWEsQUFDYixrQkFBbUIsQUFDbkIsaUJBQW1CLENBQ3BCLEFBQ0QsOEJBQ0UsV0FBWSxBQUNaLFlBQWEsQUFDYixrQkFBbUIsQUFDbkIsc0JBQXVCLEFBQ3ZCLFdBQWEsQUFDYixrQkFBbUIsQUFDbkIsTUFBTyxBQUNQLE9BQVEsQUFDUixtQ0FBNkMsQ0FDOUMsQUFDRCx5Q0FDRSxtQkFBcUIsQ0FDdEIsQUFDRCw0Q0FDRSxxQkFBdUIsQ0FDeEIsQUFVRCxhQUNFLE1BRUUsbUJBQW9CLEFBQ3BCLDBCQUE0QixDQUM3QixBQUNELElBQ0UsbUJBQW9CLEFBQ3BCLDBCQUE0QixDQUM3QixDQUNGIiwiZmlsZSI6ImVra28tbGlnaHRib3guY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmVra28tbGlnaHRib3gge1xuICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwYWRkaW5nLXJpZ2h0OiAwcHghaW1wb3J0YW50O1xufVxuLmVra28tbGlnaHRib3gtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLmVra28tbGlnaHRib3gtY29udGFpbmVyID4gZGl2LmVra28tbGlnaHRib3gtaXRlbSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBib3R0b206IDA7XG4gIHJpZ2h0OiAwO1xuICB3aWR0aDogMTAwJTtcbn1cbi5la2tvLWxpZ2h0Ym94IGlmcmFtZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG59XG4uZWtrby1saWdodGJveC1uYXYtb3ZlcmxheSB7XG4gIHotaW5kZXg6IDEwMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG4uZWtrby1saWdodGJveC1uYXYtb3ZlcmxheSBhIHtcbiAgZmxleDogMTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzO1xuICBjb2xvcjogI2ZmZjtcbiAgZm9udC1zaXplOiAzMHB4O1xuICB6LWluZGV4OiAxMDA7XG59XG4uZWtrby1saWdodGJveC1uYXYtb3ZlcmxheSBhID4gKiB7XG4gIGZsZXgtZ3JvdzogMTtcbn1cbi5la2tvLWxpZ2h0Ym94LW5hdi1vdmVybGF5IGEgPiAqOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbn1cbi5la2tvLWxpZ2h0Ym94LW5hdi1vdmVybGF5IGEgc3BhbiB7XG4gIHBhZGRpbmc6IDAgMzBweDtcbn1cbi5la2tvLWxpZ2h0Ym94LW5hdi1vdmVybGF5IGE6bGFzdC1jaGlsZCBzcGFuIHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG4uZWtrby1saWdodGJveC1uYXYtb3ZlcmxheSBhOmhvdmVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuLmVra28tbGlnaHRib3gtbmF2LW92ZXJsYXkgYTpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG59XG4uZWtrby1saWdodGJveC1uYXYtb3ZlcmxheSBhLmRpc2FibGVkIHtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG4uZWtrby1saWdodGJveCBhOmhvdmVyIHtcbiAgb3BhY2l0eTogMTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuLmVra28tbGlnaHRib3ggLm1vZGFsLWRpYWxvZyB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4uZWtrby1saWdodGJveCAubW9kYWwtZm9vdGVyIHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cbi5la2tvLWxpZ2h0Ym94LWxvYWRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBib3R0b206IDA7XG4gIHJpZ2h0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgLyogZXN0YWJsaXNoIGZsZXggY29udGFpbmVyICovXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIC8qIG1ha2UgbWFpbiBheGlzIHZlcnRpY2FsICovXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAvKiBjZW50ZXIgaXRlbXMgdmVydGljYWxseSwgaW4gdGhpcyBjYXNlICovXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG4uZWtrby1saWdodGJveC1sb2FkZXIgPiBkaXYge1xuICB3aWR0aDogNDBweDtcbiAgaGVpZ2h0OiA0MHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5la2tvLWxpZ2h0Ym94LWxvYWRlciA+IGRpdiA+IGRpdiB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgb3BhY2l0eTogMC42O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgYW5pbWF0aW9uOiBzay1ib3VuY2UgMnMgaW5maW5pdGUgZWFzZS1pbi1vdXQ7XG59XG4uZWtrby1saWdodGJveC1sb2FkZXIgPiBkaXYgPiBkaXY6bGFzdC1jaGlsZCB7XG4gIGFuaW1hdGlvbi1kZWxheTogLTFzO1xufVxuLm1vZGFsLWRpYWxvZyAuZWtrby1saWdodGJveC1sb2FkZXIgPiBkaXYgPiBkaXYge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzMzO1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIHNrLWJvdW5jZSB7XG4gIDAlLFxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMCk7XG4gIH1cbiAgNTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgc2stYm91bmNlIHtcbiAgMCUsXG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDApO1xuICB9XG4gIDUwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIH1cbn1cbiJdfQ== */</style>
-    <style>/*
- * This combined file was created by the DataTables downloader builder:
- *   https://datatables.net/download
- *
- * To rebuild or modify this file with the latest versions of the included
- * software please visit:
- *   https://datatables.net/download/#bs4/dt-1.10.20/r-2.2.2/sl-1.3.0
- *
- * Included libraries:
- *  DataTables 1.10.20, Responsive 2.2.2, Select 1.3.0
- */
-
-table.dataTable{clear:both;margin-top:6px !important;margin-bottom:6px !important;max-width:none !important;border-collapse:separate !important;border-spacing:0}table.dataTable td,table.dataTable th{-webkit-box-sizing:content-box;box-sizing:content-box}table.dataTable td.dataTables_empty,table.dataTable th.dataTables_empty{text-align:center}table.dataTable.nowrap th,table.dataTable.nowrap td{white-space:nowrap}div.dataTables_wrapper div.dataTables_length label{font-weight:normal;text-align:left;white-space:nowrap}div.dataTables_wrapper div.dataTables_length select{width:auto;display:inline-block}div.dataTables_wrapper div.dataTables_filter{text-align:right}div.dataTables_wrapper div.dataTables_filter label{font-weight:normal;white-space:nowrap;text-align:left}div.dataTables_wrapper div.dataTables_filter input{margin-left:0.5em;display:inline-block;width:auto}div.dataTables_wrapper div.dataTables_info{padding-top:0.85em;white-space:nowrap}div.dataTables_wrapper div.dataTables_paginate{margin:0;white-space:nowrap;text-align:right}div.dataTables_wrapper div.dataTables_paginate ul.pagination{margin:2px 0;white-space:nowrap;justify-content:flex-end}div.dataTables_wrapper div.dataTables_processing{position:absolute;top:50%;left:50%;width:200px;margin-left:-100px;margin-top:-26px;text-align:center;padding:1em 0}table.dataTable thead>tr>th.sorting_asc,table.dataTable thead>tr>th.sorting_desc,table.dataTable thead>tr>th.sorting,table.dataTable thead>tr>td.sorting_asc,table.dataTable thead>tr>td.sorting_desc,table.dataTable thead>tr>td.sorting{padding-right:30px}table.dataTable thead>tr>th:active,table.dataTable thead>tr>td:active{outline:none}table.dataTable thead .sorting,table.dataTable thead .sorting_asc,table.dataTable thead .sorting_desc,table.dataTable thead .sorting_asc_disabled,table.dataTable thead .sorting_desc_disabled{cursor:pointer;position:relative}table.dataTable thead .sorting:before,table.dataTable thead .sorting:after,table.dataTable thead .sorting_asc:before,table.dataTable thead .sorting_asc:after,table.dataTable thead .sorting_desc:before,table.dataTable thead .sorting_desc:after,table.dataTable thead .sorting_asc_disabled:before,table.dataTable thead .sorting_asc_disabled:after,table.dataTable thead .sorting_desc_disabled:before,table.dataTable thead .sorting_desc_disabled:after{position:absolute;bottom:0.9em;display:block;opacity:0.3}table.dataTable thead .sorting:before,table.dataTable thead .sorting_asc:before,table.dataTable thead .sorting_desc:before,table.dataTable thead .sorting_asc_disabled:before,table.dataTable thead .sorting_desc_disabled:before{right:1em;content:"\2191"}table.dataTable thead .sorting:after,table.dataTable thead .sorting_asc:after,table.dataTable thead .sorting_desc:after,table.dataTable thead .sorting_asc_disabled:after,table.dataTable thead .sorting_desc_disabled:after{right:0.5em;content:"\2193"}table.dataTable thead .sorting_asc:before,table.dataTable thead .sorting_desc:after{opacity:1}table.dataTable thead .sorting_asc_disabled:before,table.dataTable thead .sorting_desc_disabled:after{opacity:0}div.dataTables_scrollHead table.dataTable{margin-bottom:0 !important}div.dataTables_scrollBody table{border-top:none;margin-top:0 !important;margin-bottom:0 !important}div.dataTables_scrollBody table thead .sorting:before,div.dataTables_scrollBody table thead .sorting_asc:before,div.dataTables_scrollBody table thead .sorting_desc:before,div.dataTables_scrollBody table thead .sorting:after,div.dataTables_scrollBody table thead .sorting_asc:after,div.dataTables_scrollBody table thead .sorting_desc:after{display:none}div.dataTables_scrollBody table tbody tr:first-child th,div.dataTables_scrollBody table tbody tr:first-child td{border-top:none}div.dataTables_scrollFoot>.dataTables_scrollFootInner{box-sizing:content-box}div.dataTables_scrollFoot>.dataTables_scrollFootInner>table{margin-top:0 !important;border-top:none}@media screen and (max-width: 767px){div.dataTables_wrapper div.dataTables_length,div.dataTables_wrapper div.dataTables_filter,div.dataTables_wrapper div.dataTables_info,div.dataTables_wrapper div.dataTables_paginate{text-align:center}}table.dataTable.table-sm>thead>tr>th{padding-right:20px}table.dataTable.table-sm .sorting:before,table.dataTable.table-sm .sorting_asc:before,table.dataTable.table-sm .sorting_desc:before{top:5px;right:0.85em}table.dataTable.table-sm .sorting:after,table.dataTable.table-sm .sorting_asc:after,table.dataTable.table-sm .sorting_desc:after{top:5px}table.table-bordered.dataTable th,table.table-bordered.dataTable td{border-left-width:0}table.table-bordered.dataTable th:last-child,table.table-bordered.dataTable th:last-child,table.table-bordered.dataTable td:last-child,table.table-bordered.dataTable td:last-child{border-right-width:0}table.table-bordered.dataTable tbody th,table.table-bordered.dataTable tbody td{border-bottom-width:0}div.dataTables_scrollHead table.table-bordered{border-bottom-width:0}div.table-responsive>div.dataTables_wrapper>div.row{margin:0}div.table-responsive>div.dataTables_wrapper>div.row>div[class^="col-"]:first-child{padding-left:0}div.table-responsive>div.dataTables_wrapper>div.row>div[class^="col-"]:last-child{padding-right:0}
-
-
-table.dataTable.dtr-inline.collapsed>tbody>tr>td.child,table.dataTable.dtr-inline.collapsed>tbody>tr>th.child,table.dataTable.dtr-inline.collapsed>tbody>tr>td.dataTables_empty{cursor:default !important}table.dataTable.dtr-inline.collapsed>tbody>tr>td.child:before,table.dataTable.dtr-inline.collapsed>tbody>tr>th.child:before,table.dataTable.dtr-inline.collapsed>tbody>tr>td.dataTables_empty:before{display:none !important}table.dataTable.dtr-inline.collapsed>tbody>tr[role="row"]>td:first-child,table.dataTable.dtr-inline.collapsed>tbody>tr[role="row"]>th:first-child{position:relative;padding-left:30px;cursor:pointer}table.dataTable.dtr-inline.collapsed>tbody>tr[role="row"]>td:first-child:before,table.dataTable.dtr-inline.collapsed>tbody>tr[role="row"]>th:first-child:before{top:12px;left:4px;height:14px;width:14px;display:block;position:absolute;color:white;border:2px solid white;border-radius:14px;box-shadow:0 0 3px #444;box-sizing:content-box;text-align:center;text-indent:0 !important;font-family:'Courier New', Courier, monospace;line-height:14px;content:'+';background-color:#0275d8}table.dataTable.dtr-inline.collapsed>tbody>tr.parent>td:first-child:before,table.dataTable.dtr-inline.collapsed>tbody>tr.parent>th:first-child:before{content:'-';background-color:#d33333}table.dataTable.dtr-inline.collapsed.compact>tbody>tr>td:first-child,table.dataTable.dtr-inline.collapsed.compact>tbody>tr>th:first-child{padding-left:27px}table.dataTable.dtr-inline.collapsed.compact>tbody>tr>td:first-child:before,table.dataTable.dtr-inline.collapsed.compact>tbody>tr>th:first-child:before{top:5px;left:4px;height:14px;width:14px;border-radius:14px;line-height:14px;text-indent:3px}table.dataTable.dtr-column>tbody>tr>td.control,table.dataTable.dtr-column>tbody>tr>th.control{position:relative;cursor:pointer}table.dataTable.dtr-column>tbody>tr>td.control:before,table.dataTable.dtr-column>tbody>tr>th.control:before{top:50%;left:50%;height:16px;width:16px;margin-top:-10px;margin-left:-10px;display:block;position:absolute;color:white;border:2px solid white;border-radius:14px;box-shadow:0 0 3px #444;box-sizing:content-box;text-align:center;text-indent:0 !important;font-family:'Courier New', Courier, monospace;line-height:14px;content:'+';background-color:#0275d8}table.dataTable.dtr-column>tbody>tr.parent td.control:before,table.dataTable.dtr-column>tbody>tr.parent th.control:before{content:'-';background-color:#d33333}table.dataTable>tbody>tr.child{padding:0.5em 1em}table.dataTable>tbody>tr.child:hover{background:transparent !important}table.dataTable>tbody>tr.child ul.dtr-details{display:inline-block;list-style-type:none;margin:0;padding:0}table.dataTable>tbody>tr.child ul.dtr-details>li{border-bottom:1px solid #efefef;padding:0.5em 0}table.dataTable>tbody>tr.child ul.dtr-details>li:first-child{padding-top:0}table.dataTable>tbody>tr.child ul.dtr-details>li:last-child{border-bottom:none}table.dataTable>tbody>tr.child span.dtr-title{display:inline-block;min-width:75px;font-weight:bold}div.dtr-modal{position:fixed;box-sizing:border-box;top:0;left:0;height:100%;width:100%;z-index:100;padding:10em 1em}div.dtr-modal div.dtr-modal-display{position:absolute;top:0;left:0;bottom:0;right:0;width:50%;height:50%;overflow:auto;margin:auto;z-index:102;overflow:auto;background-color:#f5f5f7;border:1px solid black;border-radius:0.5em;box-shadow:0 12px 30px rgba(0,0,0,0.6)}div.dtr-modal div.dtr-modal-content{position:relative;padding:1em}div.dtr-modal div.dtr-modal-close{position:absolute;top:6px;right:6px;width:22px;height:22px;border:1px solid #eaeaea;background-color:#f9f9f9;text-align:center;border-radius:3px;cursor:pointer;z-index:12}div.dtr-modal div.dtr-modal-close:hover{background-color:#eaeaea}div.dtr-modal div.dtr-modal-background{position:fixed;top:0;left:0;right:0;bottom:0;z-index:101;background:rgba(0,0,0,0.6)}@media screen and (max-width: 767px){div.dtr-modal div.dtr-modal-display{width:95%}}div.dtr-bs-modal table.table tr:first-child td{border-top:none}
-
-
-table.dataTable tbody>tr.selected,table.dataTable tbody>tr>.selected{background-color:#0275d8}table.dataTable.stripe tbody>tr.odd.selected,table.dataTable.stripe tbody>tr.odd>.selected,table.dataTable.display tbody>tr.odd.selected,table.dataTable.display tbody>tr.odd>.selected{background-color:#0272d3}table.dataTable.hover tbody>tr.selected:hover,table.dataTable.hover tbody>tr>.selected:hover,table.dataTable.display tbody>tr.selected:hover,table.dataTable.display tbody>tr>.selected:hover{background-color:#0271d0}table.dataTable.order-column tbody>tr.selected>.sorting_1,table.dataTable.order-column tbody>tr.selected>.sorting_2,table.dataTable.order-column tbody>tr.selected>.sorting_3,table.dataTable.order-column tbody>tr>.selected,table.dataTable.display tbody>tr.selected>.sorting_1,table.dataTable.display tbody>tr.selected>.sorting_2,table.dataTable.display tbody>tr.selected>.sorting_3,table.dataTable.display tbody>tr>.selected{background-color:#0273d4}table.dataTable.display tbody>tr.odd.selected>.sorting_1,table.dataTable.order-column.stripe tbody>tr.odd.selected>.sorting_1{background-color:#026fcc}table.dataTable.display tbody>tr.odd.selected>.sorting_2,table.dataTable.order-column.stripe tbody>tr.odd.selected>.sorting_2{background-color:#0270ce}table.dataTable.display tbody>tr.odd.selected>.sorting_3,table.dataTable.order-column.stripe tbody>tr.odd.selected>.sorting_3{background-color:#0270d0}table.dataTable.display tbody>tr.even.selected>.sorting_1,table.dataTable.order-column.stripe tbody>tr.even.selected>.sorting_1{background-color:#0273d4}table.dataTable.display tbody>tr.even.selected>.sorting_2,table.dataTable.order-column.stripe tbody>tr.even.selected>.sorting_2{background-color:#0274d5}table.dataTable.display tbody>tr.even.selected>.sorting_3,table.dataTable.order-column.stripe tbody>tr.even.selected>.sorting_3{background-color:#0275d7}table.dataTable.display tbody>tr.odd>.selected,table.dataTable.order-column.stripe tbody>tr.odd>.selected{background-color:#026fcc}table.dataTable.display tbody>tr.even>.selected,table.dataTable.order-column.stripe tbody>tr.even>.selected{background-color:#0273d4}table.dataTable.display tbody>tr.selected:hover>.sorting_1,table.dataTable.order-column.hover tbody>tr.selected:hover>.sorting_1{background-color:#026bc6}table.dataTable.display tbody>tr.selected:hover>.sorting_2,table.dataTable.order-column.hover tbody>tr.selected:hover>.sorting_2{background-color:#026cc8}table.dataTable.display tbody>tr.selected:hover>.sorting_3,table.dataTable.order-column.hover tbody>tr.selected:hover>.sorting_3{background-color:#026eca}table.dataTable.display tbody>tr:hover>.selected,table.dataTable.display tbody>tr>.selected:hover,table.dataTable.order-column.hover tbody>tr:hover>.selected,table.dataTable.order-column.hover tbody>tr>.selected:hover{background-color:#026bc6}table.dataTable tbody td.select-checkbox,table.dataTable tbody th.select-checkbox{position:relative}table.dataTable tbody td.select-checkbox:before,table.dataTable tbody td.select-checkbox:after,table.dataTable tbody th.select-checkbox:before,table.dataTable tbody th.select-checkbox:after{display:block;position:absolute;top:1.2em;left:50%;width:12px;height:12px;box-sizing:border-box}table.dataTable tbody td.select-checkbox:before,table.dataTable tbody th.select-checkbox:before{content:' ';margin-top:-6px;margin-left:-6px;border:1px solid black;border-radius:3px}table.dataTable tr.selected td.select-checkbox:after,table.dataTable tr.selected th.select-checkbox:after{content:'\2714';margin-top:-11px;margin-left:-4px;text-align:center;text-shadow:1px 1px #B0BED9, -1px -1px #B0BED9, 1px -1px #B0BED9, -1px 1px #B0BED9}div.dataTables_wrapper span.select-info,div.dataTables_wrapper span.select-item{margin-left:0.5em}@media screen and (max-width: 640px){div.dataTables_wrapper span.select-info,div.dataTables_wrapper span.select-item{margin-left:0;display:block}}table.dataTable tbody tr.selected,table.dataTable tbody th.selected,table.dataTable tbody td.selected{color:white}table.dataTable tbody tr.selected a,table.dataTable tbody th.selected a,table.dataTable tbody td.selected a{color:#a2d4ed}
-
-
-</style>
-    <style>pre { line-height: 125%; }
-td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
-span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
-td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
-span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
-.source .hll { background-color: #ffffcc }
-.source { background: #ffffff; }
-.source .c { color: #999988; font-style: italic } /* Comment */
-.source .err { color: #a61717; background-color: #e3d2d2 } /* Error */
-.source .k { font-weight: bold } /* Keyword */
-.source .o { font-weight: bold } /* Operator */
-.source .ch { color: #999988; font-style: italic } /* Comment.Hashbang */
-.source .cm { color: #999988; font-style: italic } /* Comment.Multiline */
-.source .cp { color: #999999; font-weight: bold } /* Comment.Preproc */
-.source .cpf { color: #999988; font-style: italic } /* Comment.PreprocFile */
-.source .c1 { color: #999988; font-style: italic } /* Comment.Single */
-.source .cs { color: #999999; font-weight: bold; font-style: italic } /* Comment.Special */
-.source .gd { color: #000000; background-color: #ffdddd } /* Generic.Deleted */
-.source .ge { font-style: italic } /* Generic.Emph */
-.source .gr { color: #aa0000 } /* Generic.Error */
-.source .gh { color: #999999 } /* Generic.Heading */
-.source .gi { color: #000000; background-color: #ddffdd } /* Generic.Inserted */
-.source .go { color: #888888 } /* Generic.Output */
-.source .gp { color: #555555 } /* Generic.Prompt */
-.source .gs { font-weight: bold } /* Generic.Strong */
-.source .gu { color: #aaaaaa } /* Generic.Subheading */
-.source .gt { color: #aa0000 } /* Generic.Traceback */
-.source .kc { font-weight: bold } /* Keyword.Constant */
-.source .kd { font-weight: bold } /* Keyword.Declaration */
-.source .kn { font-weight: bold } /* Keyword.Namespace */
-.source .kp { font-weight: bold } /* Keyword.Pseudo */
-.source .kr { font-weight: bold } /* Keyword.Reserved */
-.source .kt { color: #445588; font-weight: bold } /* Keyword.Type */
-.source .m { color: #009999 } /* Literal.Number */
-.source .s { color: #bb8844 } /* Literal.String */
-.source .na { color: #008080 } /* Name.Attribute */
-.source .nb { color: #999999 } /* Name.Builtin */
-.source .nc { color: #445588; font-weight: bold } /* Name.Class */
-.source .no { color: #008080 } /* Name.Constant */
-.source .ni { color: #800080 } /* Name.Entity */
-.source .ne { color: #990000; font-weight: bold } /* Name.Exception */
-.source .nf { color: #990000; font-weight: bold } /* Name.Function */
-.source .nn { color: #555555 } /* Name.Namespace */
-.source .nt { color: #000080 } /* Name.Tag */
-.source .nv { color: #008080 } /* Name.Variable */
-.source .ow { font-weight: bold } /* Operator.Word */
-.source .w { color: #bbbbbb } /* Text.Whitespace */
-.source .mb { color: #009999 } /* Literal.Number.Bin */
-.source .mf { color: #009999 } /* Literal.Number.Float */
-.source .mh { color: #009999 } /* Literal.Number.Hex */
-.source .mi { color: #009999 } /* Literal.Number.Integer */
-.source .mo { color: #009999 } /* Literal.Number.Oct */
-.source .sa { color: #bb8844 } /* Literal.String.Affix */
-.source .sb { color: #bb8844 } /* Literal.String.Backtick */
-.source .sc { color: #bb8844 } /* Literal.String.Char */
-.source .dl { color: #bb8844 } /* Literal.String.Delimiter */
-.source .sd { color: #bb8844 } /* Literal.String.Doc */
-.source .s2 { color: #bb8844 } /* Literal.String.Double */
-.source .se { color: #bb8844 } /* Literal.String.Escape */
-.source .sh { color: #bb8844 } /* Literal.String.Heredoc */
-.source .si { color: #bb8844 } /* Literal.String.Interpol */
-.source .sx { color: #bb8844 } /* Literal.String.Other */
-.source .sr { color: #808000 } /* Literal.String.Regex */
-.source .s1 { color: #bb8844 } /* Literal.String.Single */
-.source .ss { color: #bb8844 } /* Literal.String.Symbol */
-.source .bp { color: #999999 } /* Name.Builtin.Pseudo */
-.source .fm { color: #990000; font-weight: bold } /* Name.Function.Magic */
-.source .vc { color: #008080 } /* Name.Variable.Class */
-.source .vg { color: #008080 } /* Name.Variable.Global */
-.source .vi { color: #008080 } /* Name.Variable.Instance */
-.source .vm { color: #008080 } /* Name.Variable.Magic */
-.source .il { color: #009999 } /* Literal.Number.Integer.Long */</style>
-
-    <!-- Custom styles for this template -->
-    <style>
-      body {
-      font-size: .875rem;
-      }
-
-      .feather {
-      width: 16px;
-      height: 16px;
-      vertical-align: text-bottom;
-      }
-
-      /*
-      * Sidebar
-      */
-
-      .sidebar {
-      position: fixed;
-      top: 0;
-      bottom: 0;
-      left: 0;
-      z-index: 100; /* Behind the navbar */
-      padding: 48px 0 0; /* Height of navbar */
-      box-shadow: inset -1px 0 0 rgba(0, 0, 0, .1);
-      }
-
-      .sidebar-sticky {
-      position: relative;
-      top: 0;
-      height: calc(100vh - 48px);
-      padding-top: .5rem;
-      overflow-x: hidden;
-      overflow-y: auto; /* Scrollable contents if viewport is shorter than content. */
-      }
-
-      @supports ((position: -webkit-sticky) or (position: sticky)) {
-      .sidebar-sticky {
-        position: -webkit-sticky;
-        position: sticky;
-      }
-      }
-
-      .sidebar .nav-link {
-      font-weight: 500;
-      color: #333;
-      }
-
-      .sidebar .nav-link .feather {
-      margin-right: 4px;
-      color: #999;
-      }
-
-      .sidebar .nav-link.active {
-      color: #007bff;
-      }
-
-      .sidebar .nav-link:hover .feather,
-      .sidebar .nav-link.active .feather {
-      color: inherit;
-      }
-
-      .sidebar-heading {
-      font-size: .75rem;
-      text-transform: uppercase;
-      }
-
-      /*
-      * Content
-      */
-
-      [role="main"] {
-      padding-top: 65px; /* Space for fixed navbar */
-      }
-
-      *[id]:before {
-        display: block;
-        content: " ";
-        margin-top: -75px;
-        height: 75px;
-        visibility: hidden;
-      }
-
-      /*
-      * Navbar
-      */
-
-      .navbar-brand {
-      padding-top: .75rem;
-      padding-bottom: .75rem;
-      font-size: 1rem;
-      font-weight: bold;
-      background-color: rgba(0, 0, 0, .25);
-      box-shadow: inset -1px 0 0 rgba(0, 0, 0, .25);
-      }
-
-      .navbar .form-control {
-      padding: .75rem 1rem;
-      border-width: 0;
-      border-radius: 0;
-      }
-
-      .form-control-dark {
-      color: #fff;
-      background-color: rgba(255, 255, 255, .1);
-      border-color: rgba(255, 255, 255, .1);
-      }
-
-      .form-control-dark:focus {
-      border-color: transparent;
-      box-shadow: 0 0 0 3px rgba(255, 255, 255, .25);
-      }
-
-      /*
-      * Utilities
-      */
-
-      .border-top { border-top: 1px solid #e5e5e5; }
-      .border-bottom { border-bottom: 1px solid #e5e5e5; }
-
-      /* Snakemake specific */
-      .result img {
-        max-width: 100vw;
-      }
-
-      .result .preview {
-        text-align: center;
-      }
-
-      #rulegraph canvas {
-        display: block;
-        max-width: 100vw;
-        margin-left: auto;
-        margin-right: auto;
-      }
-
-      @keyframes fadeinout {
-        0%   { opacity:1; }
-        50%  { opacity:0; }
-        100% { opacity:1; }
-      }
-
-      #loading-screen {
-        background-color: white;
-        width: 100%;
-        height: 100%;
-        position: fixed;
-        top: 0;
-        left: 0;
-        z-index: 2000;
-        padding-top: 50vh;
-      }
-
-      p.animation {
-        animation: fadeinout 2.5s infinite;
-        text-align: center;
-        font-size: 200%;
-      }
-
-      #loading-screen p#info {
-        text-align: center;
-        color: grey;
-      }
-
-      #loading-screen p#jswarning {
-      	text-align: center;
-        color: red;
-      }
-
-      #panel-loading-screen {
-        width: 100%;
-        height: 100%;
-        padding-top: 50vh;
-      }
-
-      #panel-loading-sceen p.animation {
-        margin: auto;
-      }
-
-      .vega-actions .btn {
-        font-size: 100%;
-      }
-
-      .plot {
-        text-align: center;
-      }
-
-      h6.sidebar-heading {
-        text-transform: none;
-      }
-
-      .preview {
-        text-align: right;
-      }
-
-      .ekko-lightbox-nav-overlay a span {
-        color: lightgrey;
-      }
-
-      .navbar {
-        opacity: 0.8;
-      }
-
-      .source {
-        background: none !important;
-        overflow-x: auto;
-        width: 100%;
-      }
-
-      table.dataTable tbody tr.selected,
-      table.dataTable tbody th.selected,
-      table.dataTable tbody td.selected {
-        color: black;
-        font-weight: bold;
-      }
-
-      table.dataTable tbody tr.selected td:first-of-type {
-        font-weight: bold;
-      }
-
-      table.dataTable tbody tr.selected td {
-        border-top: 1px solid #007bff;
-        border-bottom: 1px solid #007bff;
-      }
-
-      table.dataTable tbody > tr.selected, 
-      table.dataTable tbody > tr > .selected {
-        background-color: transparent;
-      }
-
-      table.dataTable tbody tr.selected a, 
-      table.dataTable tbody th.selected a, 
-      table.dataTable tbody td.selected a {
-        color: #007bff;
-      }
-
-      table caption {
-        display: none;
-      }
-
-      table.results-table {
-        width: 100%;
-	margin-bottom: 4em;
-      }
-
-      .rule-property {
-        overflow-y: auto;
-        max-height: 10em;
-      }
-
-      .panel {
-        display: none;
-      }
-
-      .panel#workflow {
-        display: block;
-      }
-
-      .ruletable th {
-        width: 1px;
-      }
-
-      .rule-properties ul {
-        padding-left: 1.2em;
-      }
-
-      #thumbnail-modal .modal-body {
-        overflow: auto;
-        text-align: center;
-      }
-
-      .category pre {
-        max-width: 20vw;
-        max-height: 10vh;
-      }
-	    
-      .modal-lg {
-    	max-width: 95%;
-      }
-    </style>
-
-  </head>
-
-  <body>
-    <div id="loading-screen">
-      <p class="animation">Loading Snakemake Report...</p>
-      <p id="jswarning">Please enable Javascript in your browser to see this report.</p>
-      <p id="info">Loading 0 Bytes. For large reports, this can take a while.</p>
-    </div>
-
-    <nav class="navbar fixed-top navbar-dark bg-dark flex-md-nowrap p-0 shadow">
-      <a class="navbar-brand col-sm-3 col-md-2 mr-0" href="https://snakemake.readthedocs.io">Snakemake Report</a>
-      <div class="nav navbar-nav navbar-center" id="brand"></div>
-      <ul class="nav navbar-nav navbar-right" style="padding-right: 10px;">
-        <li class="text-white">Mon Jun 27 22:54:03 2022 CET</li>
-        <li><a class="text-white" href="https://snakemake.readthedocs.io">Snakemake 6.10.0</a></li>
-      </ul>
-      <!--<input id="searchbar" class="invisible form-control form-control-dark w-100" type="text" placeholder="Search" aria-label="Search">-->
-    </nav>
-
-    <div class="container-fluid">
-      <div class="row">
-        <nav class="col-md-2 d-none d-md-block bg-light sidebar">
-          <div class="sidebar-sticky">
-            <ul class="nav flex-column">
-              <li class="nav-item">
-                <a class="nav-link active panel-link" data-panel="workflow" href="javascript:void(0)">
-                  <span data-feather="git-pull-request"></span>
-                  Workflow <span class="sr-only">(current)</span>
-                </a>
-              </li>
-              <li class="nav-item">
-                <a class="nav-link panel-link" data-panel="statistics" href="javascript:void(0)">
-                  <span data-feather="bar-chart-2"></span>
-                  Statistics
-                </a>
-              </li>
-              <li class="nav-item">
-                <a class="nav-link panel-link" data-panel="configuration" href="javascript:void(0)">
-                  <span data-feather="settings"></span>
-                  Configuration
-                </a>
-              </li>
-            </ul>
-
-            <h5 class="sidebar-heading d-flex justify-content-between align-items-center px-3 mt-4 mb-1 text-muted">
-              <span class="d-flex align-items-center text-muted text-bold">
-                Results
-              </span>
-            </h5>
-            <ul class="nav flex-column mb-2">
-            </ul>
-          </div>
-        </nav>
-
-        <main role="main" class="col-md-9 ml-sm-auto col-lg-10 px-4">
-          <div class="panel" id="workflow">
-            <h2>Workflow</h2>
-
-            
-
-            <div class="row justify-content-center">
-              <div class="col-xs-6">
-                <div id="rulegraph"></div>
-              </div>
-            </div>
-
-            <p>Click the nodes to obtain details about each step.</p>
-
-          </div>
-
-
-          <div class="panel" id="statistics">
-            <h2>Statistics</h2>
-            If the workflow has been executed in cluster/cloud, runtimes include the waiting time in the queue.
-            <div class="row justify-content-center">
-              <div class="col-xs-6">
-                <div id="runtimes" class="plot"></div>
-              </div>
-              <div class="col-xs-6">
-                <div id="timeline" class="plot"></div>
-              </div>
-            </div>
-          </div>
-
-          <div class="panel" id="configuration">
-            <h2>Configuration</h2>
-            <table class="table">
-              <caption>Configuration files</caption>
-              <thead>
-                <tr>
-                  <th scope="col">File</th>
-                  <th scope="col">Code</th>
-                </tr>
-              </thead>
-              <tbody>
-                  <tr>
-                    <td></td>
-                    <td>
-                      <a data-toggle="collapse" role="button" href="#configfile-" aria-expanded="false" aria-controls="collapse-env"><span data-feather="plus-circle"></span></a>
-                      <div class="collapse" id="configfile-">
-                        <table class="sourcetable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal"> 1</span>
-<span class="normal"> 2</span>
-<span class="normal"> 3</span>
-<span class="normal"> 4</span>
-<span class="normal"> 5</span>
-<span class="normal"> 6</span>
-<span class="normal"> 7</span>
-<span class="normal"> 8</span>
-<span class="normal"> 9</span>
-<span class="normal">10</span>
-<span class="normal">11</span>
-<span class="normal">12</span>
-<span class="normal">13</span>
-<span class="normal">14</span>
-<span class="normal">15</span>
-<span class="normal">16</span>
-<span class="normal">17</span></pre></div></td><td class="code"><div class="source"><pre><span></span><code><span class="nn">---</span><span class="w"></span>
-<span class="w">  </span><span class="c1">##############################################################################</span><span class="w"></span>
-<span class="w">  </span><span class="c1">### Necessary inputs</span><span class="w"></span>
-<span class="w">  </span><span class="c1">##############################################################################</span><span class="w"></span>
-<span class="w">  </span><span class="nt">organism</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;homo_sapiens&quot;</span><span class="w"></span>
-<span class="w">  </span><span class="nt">genome_url</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;ftp://ftp.ensembl.org/pub/release-98/fasta/homo_sapiens/dna/Homo_sapiens.GRCh38.dna_sm.chromosome.Y.fa.gz&quot;</span><span class="w"></span>
-<span class="w">  </span><span class="nt">gtf_url</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;ftp://ftp.ensembl.org/pub/release-98/gtf/homo_sapiens/Homo_sapiens.GRCh38.98.gtf.gz&quot;</span><span class="w"></span>
-<span class="w">  </span><span class="nt">prefix_name</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;GRCh38.98_chrY&quot;</span><span class="w"></span>
-<span class="w">  </span>
-<span class="w">  </span><span class="c1">##############################################################################</span><span class="w"></span>
-<span class="w">  </span><span class="c1">### Directories</span><span class="w"></span>
-<span class="w">  </span><span class="c1">##############################################################################</span><span class="w"></span>
-<span class="w">  </span><span class="nt">output_dir</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;results&quot;</span><span class="w"></span>
-<span class="w">  </span><span class="nt">scripts_dir</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;../scripts&quot;</span><span class="w"></span>
-<span class="w">  </span><span class="nt">local_log</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;logs/local&quot;</span><span class="w"></span>
-<span class="w">  </span><span class="nt">cluster_log</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;logs/cluster&quot;</span><span class="w"></span>
-<span class="nn">...</span><span class="w"></span>
-</code></pre></div>
-</td></tr></table>
-                      </div>
-                    </td>
-                  </tr>
-                  <tr>
-                    <td></td>
-                    <td>
-                      <a data-toggle="collapse" role="button" href="#configfile-" aria-expanded="false" aria-controls="collapse-env"><span data-feather="plus-circle"></span></a>
-                      <div class="collapse" id="configfile-">
-                        <table class="sourcetable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal"> 1</span>
-<span class="normal"> 2</span>
-<span class="normal"> 3</span>
-<span class="normal"> 4</span>
-<span class="normal"> 5</span>
-<span class="normal"> 6</span>
-<span class="normal"> 7</span>
-<span class="normal"> 8</span>
-<span class="normal"> 9</span>
-<span class="normal">10</span>
-<span class="normal">11</span>
-<span class="normal">12</span>
-<span class="normal">13</span>
-<span class="normal">14</span>
-<span class="normal">15</span>
-<span class="normal">16</span>
-<span class="normal">17</span></pre></div></td><td class="code"><div class="source"><pre><span></span><code><span class="nn">---</span><span class="w"></span>
-<span class="w">  </span><span class="c1">##############################################################################</span><span class="w"></span>
-<span class="w">  </span><span class="c1">### Necessary inputs</span><span class="w"></span>
-<span class="w">  </span><span class="c1">##############################################################################</span><span class="w"></span>
-<span class="w">  </span><span class="nt">organism</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;homo_sapiens&quot;</span><span class="w"></span>
-<span class="w">  </span><span class="nt">genome_url</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;ftp://ftp.ensembl.org/pub/release-98/fasta/homo_sapiens/dna/Homo_sapiens.GRCh38.dna_sm.chromosome.Y.fa.gz&quot;</span><span class="w"></span>
-<span class="w">  </span><span class="nt">gtf_url</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;ftp://ftp.ensembl.org/pub/release-98/gtf/homo_sapiens/Homo_sapiens.GRCh38.98.gtf.gz&quot;</span><span class="w"></span>
-<span class="w">  </span><span class="nt">prefix_name</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;GRCh38.98_chrY&quot;</span><span class="w"></span>
-<span class="w">  </span>
-<span class="w">  </span><span class="c1">##############################################################################</span><span class="w"></span>
-<span class="w">  </span><span class="c1">### Directories</span><span class="w"></span>
-<span class="w">  </span><span class="c1">##############################################################################</span><span class="w"></span>
-<span class="w">  </span><span class="nt">output_dir</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;results&quot;</span><span class="w"></span>
-<span class="w">  </span><span class="nt">scripts_dir</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;../scripts&quot;</span><span class="w"></span>
-<span class="w">  </span><span class="nt">local_log</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;logs/local&quot;</span><span class="w"></span>
-<span class="w">  </span><span class="nt">cluster_log</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;logs/cluster&quot;</span><span class="w"></span>
-<span class="nn">...</span><span class="w"></span>
-</code></pre></div>
-</td></tr></table>
-                      </div>
-                    </td>
-                  </tr>
-              </tbody>
-            </table>
-          </div>
-
-          <div class="panel" id="panel-loading-screen">
-            <p class="animation">Loading...</p>
-          </div>
-        </main>
-
-        <div id="thumbnail-modal" class="modal" tabindex="-1" role="dialog">
-          <div class="modal-dialog modal-lg" role="document">
-            <div class="modal-content">
-              <div class="modal-header">
-                <h5 class="modal-title"></h5>
-                <button type="button" class="close" data-dismiss="modal" aria-label="Close">
-                  <span aria-hidden="true">&times;</span>
-                </button>
-              </div>
-              <div class="modal-body">
-                <img src="" alt="Thumbnail">
-              </div>
-              <div class="modal-footer">
-                <a class="btn btn-primary btn-download" role="button" href="#">Download original</a>
-              </div>
-            </div>
-          </div>
-        </div>
-
-        <div data-rule="generate_segemehl_index_transcriptome" class="modal rule-properties" tabindex="-1" role="dialog">
-          <div class="modal-dialog modal-lg" role="document">
-            <div class="modal-content">
-              <div class="modal-header">
-                <h5 class="modal-title">Rule generate_segemehl_index_transcriptome</h5>
-                <button type="button" class="close" data-dismiss="modal" aria-label="Close">
-                  <span aria-hidden="true">&times;</span>
-                </button>
-              </div>
-              <div class="modal-body">
-                <table class="table w-auto table-sm table-borderless ruletable">
-                  <caption>Rule properties</caption>
-                  <tbody>
-                    <tr>
-                      <th scope="row">Jobs</th><td>1</td>
-                    </tr>
-
-                    <tr>
-                      <th scope="row" colspan=2>Input files</th>
-                    </tr>
-                    <tr>
-                      <td class="rule-property" colspan=2>
-                        <ul>
-                            <li>results/{organism}/{prefix_name}/transcriptome_idtrim.fa</li>
-                        </ul>
-                      </td>
-                    </tr>
-
-                    <tr>
-                      <th scope="row" colspan=2>Output files</th>
-                    </tr>
-                    <tr>
-                      <td class="rule-property" colspan=2>
-                        <ul>
-                            <li>results/{organism}/{prefix_name}/transcriptome_index_segemehl.idx</li>
-                        </ul>
-                      </td>
-                    </tr>
-
-                    <tr>
-                      <th scope="row" colspan=2>Container image</th>
-                    </tr>
-                    <tr>
-                      <td class="rule-property" colspan=2>
-                        docker://zavolab/segemehl:0.2.0
-                      </td>
-                    </tr>
-
-
-                    <tr>
-                      <th scope="row" colspan=2>Code</th>
-                    </tr>
-                    <tr>
-                      <td class="rule-property" colspan=2>
-                        <table class="sourcetable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span></pre></div></td><td class="code"><div class="source"><pre><span></span><code><span class="o">(</span>segemehl.x -x <span class="o">{</span>output.idx<span class="o">}</span> -d <span class="o">{</span>input.fasta<span class="o">})</span> <span class="p">&amp;</span>&gt; <span class="o">{</span>log<span class="o">}</span>
-</code></pre></div>
-</td></tr></table>
-                      </td>
-                    </tr>
-                  </tbody>
-                </table>
-              </div>
-            </div>
-          </div>
-        </div>
-        <div data-rule="trim_fasta" class="modal rule-properties" tabindex="-1" role="dialog">
-          <div class="modal-dialog modal-lg" role="document">
-            <div class="modal-content">
-              <div class="modal-header">
-                <h5 class="modal-title">Rule trim_fasta</h5>
-                <button type="button" class="close" data-dismiss="modal" aria-label="Close">
-                  <span aria-hidden="true">&times;</span>
-                </button>
-              </div>
-              <div class="modal-body">
-                <table class="table w-auto table-sm table-borderless ruletable">
-                  <caption>Rule properties</caption>
-                  <tbody>
-                    <tr>
-                      <th scope="row">Jobs</th><td>1</td>
-                    </tr>
-
-                    <tr>
-                      <th scope="row" colspan=2>Input files</th>
-                    </tr>
-                    <tr>
-                      <td class="rule-property" colspan=2>
-                        <ul>
-                            <li>results/{organism}/{prefix_name}/transcriptome.fa</li>
-                        </ul>
-                      </td>
-                    </tr>
-
-                    <tr>
-                      <th scope="row" colspan=2>Output files</th>
-                    </tr>
-                    <tr>
-                      <td class="rule-property" colspan=2>
-                        <ul>
-                            <li>results/{organism}/{prefix_name}/transcriptome_idtrim.fa</li>
-                        </ul>
-                      </td>
-                    </tr>
-
-                    <tr>
-                      <th scope="row" colspan=2>Container image</th>
-                    </tr>
-                    <tr>
-                      <td class="rule-property" colspan=2>
-                        docker://zavolab/ubuntu:18.04
-                      </td>
-                    </tr>
-
-
-                    <tr>
-                      <th scope="row" colspan=2>Code</th>
-                    </tr>
-                    <tr>
-                      <td class="rule-property" colspan=2>
-                        <table class="sourcetable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span></pre></div></td><td class="code"><div class="source"><pre><span></span><code><span class="o">(</span>awk -F<span class="s2">&quot; &quot;</span> <span class="s2">&quot;/^&gt;/ {{print \$1; next}} 1&quot;</span> <span class="o">{</span>input.fasta<span class="o">}</span> &gt; <span class="o">{</span>output.fasta<span class="o">})</span> <span class="p">&amp;</span>&gt; <span class="o">{</span>log<span class="o">}</span>
-</code></pre></div>
-</td></tr></table>
-                      </td>
-                    </tr>
-                  </tbody>
-                </table>
-              </div>
-            </div>
-          </div>
-        </div>
-        <div data-rule="extract_transcriptome_seqs" class="modal rule-properties" tabindex="-1" role="dialog">
-          <div class="modal-dialog modal-lg" role="document">
-            <div class="modal-content">
-              <div class="modal-header">
-                <h5 class="modal-title">Rule extract_transcriptome_seqs</h5>
-                <button type="button" class="close" data-dismiss="modal" aria-label="Close">
-                  <span aria-hidden="true">&times;</span>
-                </button>
-              </div>
-              <div class="modal-body">
-                <table class="table w-auto table-sm table-borderless ruletable">
-                  <caption>Rule properties</caption>
-                  <tbody>
-                    <tr>
-                      <th scope="row">Jobs</th><td>1</td>
-                    </tr>
-
-                    <tr>
-                      <th scope="row" colspan=2>Input files</th>
-                    </tr>
-                    <tr>
-                      <td class="rule-property" colspan=2>
-                        <ul>
-                            <li>results/{organism}/{prefix_name}/genome.processed.fa</li>
-                            <li>results/{organism}/{prefix_name}/gene_annotations.filtered.gtf</li>
-                        </ul>
-                      </td>
-                    </tr>
-
-                    <tr>
-                      <th scope="row" colspan=2>Output files</th>
-                    </tr>
-                    <tr>
-                      <td class="rule-property" colspan=2>
-                        <ul>
-                            <li>results/{organism}/{prefix_name}/transcriptome.fa</li>
-                        </ul>
-                      </td>
-                    </tr>
-
-                    <tr>
-                      <th scope="row" colspan=2>Container image</th>
-                    </tr>
-                    <tr>
-                      <td class="rule-property" colspan=2>
-                        docker://zavolab/cufflinks:2.2.1
-                      </td>
-                    </tr>
-
-
-                    <tr>
-                      <th scope="row" colspan=2>Code</th>
-                    </tr>
-                    <tr>
-                      <td class="rule-property" colspan=2>
-                        <table class="sourcetable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span></pre></div></td><td class="code"><div class="source"><pre><span></span><code><span class="o">(</span>gffread -w <span class="o">{</span>output.fasta<span class="o">}</span> -g <span class="o">{</span>input.genome<span class="o">}</span> <span class="o">{</span>input.gtf<span class="o">})</span> <span class="p">&amp;</span>&gt; <span class="o">{</span>log<span class="o">}</span>
-</code></pre></div>
-</td></tr></table>
-                      </td>
-                    </tr>
-                  </tbody>
-                </table>
-              </div>
-            </div>
-          </div>
-        </div>
-        <div data-rule="genome_process" class="modal rule-properties" tabindex="-1" role="dialog">
-          <div class="modal-dialog modal-lg" role="document">
-            <div class="modal-content">
-              <div class="modal-header">
-                <h5 class="modal-title">Rule genome_process</h5>
-                <button type="button" class="close" data-dismiss="modal" aria-label="Close">
-                  <span aria-hidden="true">&times;</span>
-                </button>
-              </div>
-              <div class="modal-body">
-                <table class="table w-auto table-sm table-borderless ruletable">
-                  <caption>Rule properties</caption>
-                  <tbody>
-                    <tr>
-                      <th scope="row">Jobs</th><td>1</td>
-                    </tr>
-
-                    <tr>
-                      <th scope="row" colspan=2>Input files</th>
-                    </tr>
-                    <tr>
-                      <td class="rule-property" colspan=2>
-                        <ul>
-                            <li>../scripts/genome_process.sh</li>
-                        </ul>
-                      </td>
-                    </tr>
-
-                    <tr>
-                      <th scope="row" colspan=2>Output files</th>
-                    </tr>
-                    <tr>
-                      <td class="rule-property" colspan=2>
-                        <ul>
-                            <li>results/{organism}/{prefix_name}/genome.processed.fa</li>
-                        </ul>
-                      </td>
-                    </tr>
-
-                    <tr>
-                      <th scope="row" colspan=2>Container image</th>
-                    </tr>
-                    <tr>
-                      <td class="rule-property" colspan=2>
-                        docker://zavolab/ubuntu:18.04
-                      </td>
-                    </tr>
-
-
-                    <tr>
-                      <th scope="row" colspan=2>Code</th>
-                    </tr>
-                    <tr>
-                      <td class="rule-property" colspan=2>
-                        <table class="sourcetable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span></pre></div></td><td class="code"><div class="source"><pre><span></span><code><span class="o">(</span>bash <span class="o">{</span>input.script<span class="o">}</span> <span class="o">{</span>params.prefix<span class="o">}</span> <span class="o">{</span>params.organism<span class="o">}</span> <span class="o">{</span>params.url<span class="o">})</span> <span class="p">&amp;</span>&gt; <span class="o">{</span>log<span class="o">}</span>
-</code></pre></div>
-</td></tr></table>
-                      </td>
-                    </tr>
-                  </tbody>
-                </table>
-              </div>
-            </div>
-          </div>
-        </div>
-        <div data-rule="filter_anno_gtf" class="modal rule-properties" tabindex="-1" role="dialog">
-          <div class="modal-dialog modal-lg" role="document">
-            <div class="modal-content">
-              <div class="modal-header">
-                <h5 class="modal-title">Rule filter_anno_gtf</h5>
-                <button type="button" class="close" data-dismiss="modal" aria-label="Close">
-                  <span aria-hidden="true">&times;</span>
-                </button>
-              </div>
-              <div class="modal-body">
-                <table class="table w-auto table-sm table-borderless ruletable">
-                  <caption>Rule properties</caption>
-                  <tbody>
-                    <tr>
-                      <th scope="row">Jobs</th><td>1</td>
-                    </tr>
-
-                    <tr>
-                      <th scope="row" colspan=2>Input files</th>
-                    </tr>
-                    <tr>
-                      <td class="rule-property" colspan=2>
-                        <ul>
-                            <li>../scripts/filter_anno_gtf.sh</li>
-                        </ul>
-                      </td>
-                    </tr>
-
-                    <tr>
-                      <th scope="row" colspan=2>Output files</th>
-                    </tr>
-                    <tr>
-                      <td class="rule-property" colspan=2>
-                        <ul>
-                            <li>results/{organism}/{prefix_name}/gene_annotations.filtered.gtf</li>
-                        </ul>
-                      </td>
-                    </tr>
-
-                    <tr>
-                      <th scope="row" colspan=2>Container image</th>
-                    </tr>
-                    <tr>
-                      <td class="rule-property" colspan=2>
-                        docker://zavolab/ubuntu:18.04
-                      </td>
-                    </tr>
-
-
-                    <tr>
-                      <th scope="row" colspan=2>Code</th>
-                    </tr>
-                    <tr>
-                      <td class="rule-property" colspan=2>
-                        <table class="sourcetable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span></pre></div></td><td class="code"><div class="source"><pre><span></span><code><span class="o">(</span>bash <span class="o">{</span>input.script<span class="o">}</span> <span class="o">{</span>params.prefix<span class="o">}</span> <span class="o">{</span>params.organism<span class="o">}</span> <span class="o">{</span>params.url<span class="o">})</span> <span class="p">&amp;</span>&gt; <span class="o">{</span>log<span class="o">}</span>
-</code></pre></div>
-</td></tr></table>
-                      </td>
-                    </tr>
-                  </tbody>
-                </table>
-              </div>
-            </div>
-          </div>
-        </div>
-        <div data-rule="generate_segemehl_index_genome" class="modal rule-properties" tabindex="-1" role="dialog">
-          <div class="modal-dialog modal-lg" role="document">
-            <div class="modal-content">
-              <div class="modal-header">
-                <h5 class="modal-title">Rule generate_segemehl_index_genome</h5>
-                <button type="button" class="close" data-dismiss="modal" aria-label="Close">
-                  <span aria-hidden="true">&times;</span>
-                </button>
-              </div>
-              <div class="modal-body">
-                <table class="table w-auto table-sm table-borderless ruletable">
-                  <caption>Rule properties</caption>
-                  <tbody>
-                    <tr>
-                      <th scope="row">Jobs</th><td>1</td>
-                    </tr>
-
-                    <tr>
-                      <th scope="row" colspan=2>Input files</th>
-                    </tr>
-                    <tr>
-                      <td class="rule-property" colspan=2>
-                        <ul>
-                            <li>results/{organism}/{prefix_name}/genome.processed.fa</li>
-                        </ul>
-                      </td>
-                    </tr>
-
-                    <tr>
-                      <th scope="row" colspan=2>Output files</th>
-                    </tr>
-                    <tr>
-                      <td class="rule-property" colspan=2>
-                        <ul>
-                            <li>results/{organism}/{prefix_name}/genome_index_segemehl.idx</li>
-                        </ul>
-                      </td>
-                    </tr>
-
-                    <tr>
-                      <th scope="row" colspan=2>Container image</th>
-                    </tr>
-                    <tr>
-                      <td class="rule-property" colspan=2>
-                        docker://zavolab/segemehl:0.2.0
-                      </td>
-                    </tr>
-
-
-                    <tr>
-                      <th scope="row" colspan=2>Code</th>
-                    </tr>
-                    <tr>
-                      <td class="rule-property" colspan=2>
-                        <table class="sourcetable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span></pre></div></td><td class="code"><div class="source"><pre><span></span><code><span class="o">(</span>segemehl.x -x <span class="o">{</span>output.idx<span class="o">}</span> -d <span class="o">{</span>input.genome<span class="o">})</span> <span class="p">&amp;</span>&gt; <span class="o">{</span>log<span class="o">}</span>
-</code></pre></div>
-</td></tr></table>
-                      </td>
-                    </tr>
-                  </tbody>
-                </table>
-              </div>
-            </div>
-          </div>
-        </div>
-        <div data-rule="gtftobed" class="modal rule-properties" tabindex="-1" role="dialog">
-          <div class="modal-dialog modal-lg" role="document">
-            <div class="modal-content">
-              <div class="modal-header">
-                <h5 class="modal-title">Rule gtftobed</h5>
-                <button type="button" class="close" data-dismiss="modal" aria-label="Close">
-                  <span aria-hidden="true">&times;</span>
-                </button>
-              </div>
-              <div class="modal-body">
-                <table class="table w-auto table-sm table-borderless ruletable">
-                  <caption>Rule properties</caption>
-                  <tbody>
-                    <tr>
-                      <th scope="row">Jobs</th><td>1</td>
-                    </tr>
-
-                    <tr>
-                      <th scope="row" colspan=2>Input files</th>
-                    </tr>
-                    <tr>
-                      <td class="rule-property" colspan=2>
-                        <ul>
-                            <li>results/{organism}/{prefix_name}/exons.gtf</li>
-                            <li>../scripts/gtf_exons_bed.1.1.2.R</li>
-                        </ul>
-                      </td>
-                    </tr>
-
-                    <tr>
-                      <th scope="row" colspan=2>Output files</th>
-                    </tr>
-                    <tr>
-                      <td class="rule-property" colspan=2>
-                        <ul>
-                            <li>results/{organism}/{prefix_name}/exons.bed</li>
-                        </ul>
-                      </td>
-                    </tr>
-
-                    <tr>
-                      <th scope="row" colspan=2>Container image</th>
-                    </tr>
-                    <tr>
-                      <td class="rule-property" colspan=2>
-                        docker://zavolab/r-zavolab:3.5.1
-                      </td>
-                    </tr>
-
-
-                    <tr>
-                      <th scope="row" colspan=2>Code</th>
-                    </tr>
-                    <tr>
-                      <td class="rule-property" colspan=2>
-                        <table class="sourcetable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span></pre></div></td><td class="code"><div class="source"><pre><span></span><code><span class="o">(</span>Rscript <span class="o">{</span>input.script<span class="o">}</span> --gtf <span class="o">{</span>input.exons<span class="o">}</span> -o <span class="o">{</span>output.exons<span class="o">})</span> <span class="p">&amp;</span>&gt; <span class="o">{</span>log<span class="o">}</span>
-</code></pre></div>
-</td></tr></table>
-                      </td>
-                    </tr>
-                  </tbody>
-                </table>
-              </div>
-            </div>
-          </div>
-        </div>
-        <div data-rule="get_exons_gtf" class="modal rule-properties" tabindex="-1" role="dialog">
-          <div class="modal-dialog modal-lg" role="document">
-            <div class="modal-content">
-              <div class="modal-header">
-                <h5 class="modal-title">Rule get_exons_gtf</h5>
-                <button type="button" class="close" data-dismiss="modal" aria-label="Close">
-                  <span aria-hidden="true">&times;</span>
-                </button>
-              </div>
-              <div class="modal-body">
-                <table class="table w-auto table-sm table-borderless ruletable">
-                  <caption>Rule properties</caption>
-                  <tbody>
-                    <tr>
-                      <th scope="row">Jobs</th><td>1</td>
-                    </tr>
-
-                    <tr>
-                      <th scope="row" colspan=2>Input files</th>
-                    </tr>
-                    <tr>
-                      <td class="rule-property" colspan=2>
-                        <ul>
-                            <li>results/{organism}/{prefix_name}/gene_annotations.filtered.gtf</li>
-                            <li>../scripts/get_lines_w_pattern.sh</li>
-                        </ul>
-                      </td>
-                    </tr>
-
-                    <tr>
-                      <th scope="row" colspan=2>Output files</th>
-                    </tr>
-                    <tr>
-                      <td class="rule-property" colspan=2>
-                        <ul>
-                            <li>results/{organism}/{prefix_name}/exons.gtf</li>
-                        </ul>
-                      </td>
-                    </tr>
-
-                    <tr>
-                      <th scope="row" colspan=2>Container image</th>
-                    </tr>
-                    <tr>
-                      <td class="rule-property" colspan=2>
-                        docker://zavolab/ubuntu:18.04
-                      </td>
-                    </tr>
-
-
-                    <tr>
-                      <th scope="row" colspan=2>Code</th>
-                    </tr>
-                    <tr>
-                      <td class="rule-property" colspan=2>
-                        <table class="sourcetable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span></pre></div></td><td class="code"><div class="source"><pre><span></span><code><span class="o">(</span>bash <span class="o">{</span>input.script<span class="o">}</span> -f <span class="o">{</span>input.gtf<span class="o">}</span> -c <span class="m">3</span> -p exon -o <span class="o">{</span>output.exons<span class="o">}</span> <span class="o">)</span> <span class="p">&amp;</span>&gt; <span class="o">{</span>log<span class="o">}</span>
-</code></pre></div>
-</td></tr></table>
-                      </td>
-                    </tr>
-                  </tbody>
-                </table>
-              </div>
-            </div>
-          </div>
-        </div>
-        <div data-rule="create_header_genome" class="modal rule-properties" tabindex="-1" role="dialog">
-          <div class="modal-dialog modal-lg" role="document">
-            <div class="modal-content">
-              <div class="modal-header">
-                <h5 class="modal-title">Rule create_header_genome</h5>
-                <button type="button" class="close" data-dismiss="modal" aria-label="Close">
-                  <span aria-hidden="true">&times;</span>
-                </button>
-              </div>
-              <div class="modal-body">
-                <table class="table w-auto table-sm table-borderless ruletable">
-                  <caption>Rule properties</caption>
-                  <tbody>
-                    <tr>
-                      <th scope="row">Jobs</th><td>1</td>
-                    </tr>
-
-                    <tr>
-                      <th scope="row" colspan=2>Input files</th>
-                    </tr>
-                    <tr>
-                      <td class="rule-property" colspan=2>
-                        <ul>
-                            <li>results/{organism}/{prefix_name}/genome.processed.fa</li>
-                        </ul>
-                      </td>
-                    </tr>
-
-                    <tr>
-                      <th scope="row" colspan=2>Output files</th>
-                    </tr>
-                    <tr>
-                      <td class="rule-property" colspan=2>
-                        <ul>
-                            <li>results/{organism}/{prefix_name}/headerOfCollapsedFasta.sam</li>
-                        </ul>
-                      </td>
-                    </tr>
-
-                    <tr>
-                      <th scope="row" colspan=2>Container image</th>
-                    </tr>
-                    <tr>
-                      <td class="rule-property" colspan=2>
-                        docker://zavolab/samtools:1.8
-                      </td>
-                    </tr>
-
-
-                    <tr>
-                      <th scope="row" colspan=2>Code</th>
-                    </tr>
-                    <tr>
-                      <td class="rule-property" colspan=2>
-                        <table class="sourcetable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span></pre></div></td><td class="code"><div class="source"><pre><span></span><code><span class="o">(</span>samtools dict -o <span class="o">{</span>output.header<span class="o">}</span> <span class="o">{</span>input.genome<span class="o">})</span> <span class="p">&amp;</span>&gt; <span class="o">{</span>log<span class="o">}</span>
-</code></pre></div>
-</td></tr></table>
-                      </td>
-                    </tr>
-                  </tbody>
-                </table>
-              </div>
-            </div>
-          </div>
-        </div>
-      </div>
-    </div>
-    <!-- Optional JavaScript -->
-    <!-- jQuery first, then Popper.js, then Bootstrap JS -->
-    <script>/*! jQuery v3.3.1 | (c) JS Foundation and other contributors | jquery.org/license */
-!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(e,t){"use strict";var n=[],r=e.document,i=Object.getPrototypeOf,o=n.slice,a=n.concat,s=n.push,u=n.indexOf,l={},c=l.toString,f=l.hasOwnProperty,p=f.toString,d=p.call(Object),h={},g=function e(t){return"function"==typeof t&&"number"!=typeof t.nodeType},y=function e(t){return null!=t&&t===t.window},v={type:!0,src:!0,noModule:!0};function m(e,t,n){var i,o=(t=t||r).createElement("script");if(o.text=e,n)for(i in v)n[i]&&(o[i]=n[i]);t.head.appendChild(o).parentNode.removeChild(o)}function x(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?l[c.call(e)]||"object":typeof e}var b="3.3.1",w=function(e,t){return new w.fn.init(e,t)},T=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;w.fn=w.prototype={jquery:"3.3.1",constructor:w,length:0,toArray:function(){return o.call(this)},get:function(e){return null==e?o.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=w.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return w.each(this,e)},map:function(e){return this.pushStack(w.map(this,function(t,n){return e.call(t,n,t)}))},slice:function(){return this.pushStack(o.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(n>=0&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:s,sort:n.sort,splice:n.splice},w.extend=w.fn.extend=function(){var e,t,n,r,i,o,a=arguments[0]||{},s=1,u=arguments.length,l=!1;for("boolean"==typeof a&&(l=a,a=arguments[s]||{},s++),"object"==typeof a||g(a)||(a={}),s===u&&(a=this,s--);s<u;s++)if(null!=(e=arguments[s]))for(t in e)n=a[t],a!==(r=e[t])&&(l&&r&&(w.isPlainObject(r)||(i=Array.isArray(r)))?(i?(i=!1,o=n&&Array.isArray(n)?n:[]):o=n&&w.isPlainObject(n)?n:{},a[t]=w.extend(l,o,r)):void 0!==r&&(a[t]=r));return a},w.extend({expando:"jQuery"+("3.3.1"+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isPlainObject:function(e){var t,n;return!(!e||"[object Object]"!==c.call(e))&&(!(t=i(e))||"function"==typeof(n=f.call(t,"constructor")&&t.constructor)&&p.call(n)===d)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},globalEval:function(e){m(e)},each:function(e,t){var n,r=0;if(C(e)){for(n=e.length;r<n;r++)if(!1===t.call(e[r],r,e[r]))break}else for(r in e)if(!1===t.call(e[r],r,e[r]))break;return e},trim:function(e){return null==e?"":(e+"").replace(T,"")},makeArray:function(e,t){var n=t||[];return null!=e&&(C(Object(e))?w.merge(n,"string"==typeof e?[e]:e):s.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:u.call(t,e,n)},merge:function(e,t){for(var n=+t.length,r=0,i=e.length;r<n;r++)e[i++]=t[r];return e.length=i,e},grep:function(e,t,n){for(var r,i=[],o=0,a=e.length,s=!n;o<a;o++)(r=!t(e[o],o))!==s&&i.push(e[o]);return i},map:function(e,t,n){var r,i,o=0,s=[];if(C(e))for(r=e.length;o<r;o++)null!=(i=t(e[o],o,n))&&s.push(i);else for(o in e)null!=(i=t(e[o],o,n))&&s.push(i);return a.apply([],s)},guid:1,support:h}),"function"==typeof Symbol&&(w.fn[Symbol.iterator]=n[Symbol.iterator]),w.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){l["[object "+t+"]"]=t.toLowerCase()});function C(e){var t=!!e&&"length"in e&&e.length,n=x(e);return!g(e)&&!y(e)&&("array"===n||0===t||"number"==typeof t&&t>0&&t-1 in e)}var E=function(e){var t,n,r,i,o,a,s,u,l,c,f,p,d,h,g,y,v,m,x,b="sizzle"+1*new Date,w=e.document,T=0,C=0,E=ae(),k=ae(),S=ae(),D=function(e,t){return e===t&&(f=!0),0},N={}.hasOwnProperty,A=[],j=A.pop,q=A.push,L=A.push,H=A.slice,O=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},P="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",R="(?:\\\\.|[\\w-]|[^\0-\\xa0])+",I="\\["+M+"*("+R+")(?:"+M+"*([*^$|!~]?=)"+M+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+R+"))|)"+M+"*\\]",W=":("+R+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+I+")*)|.*)\\)|)",$=new RegExp(M+"+","g"),B=new RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),F=new RegExp("^"+M+"*,"+M+"*"),_=new RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),z=new RegExp("="+M+"*([^\\]'\"]*?)"+M+"*\\]","g"),X=new RegExp(W),U=new RegExp("^"+R+"$"),V={ID:new RegExp("^#("+R+")"),CLASS:new RegExp("^\\.("+R+")"),TAG:new RegExp("^("+R+"|[*])"),ATTR:new RegExp("^"+I),PSEUDO:new RegExp("^"+W),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+P+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},G=/^(?:input|select|textarea|button)$/i,Y=/^h\d$/i,Q=/^[^{]+\{\s*\[native \w/,J=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,K=/[+~]/,Z=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),ee=function(e,t,n){var r="0x"+t-65536;return r!==r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},te=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ne=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},re=function(){p()},ie=me(function(e){return!0===e.disabled&&("form"in e||"label"in e)},{dir:"parentNode",next:"legend"});try{L.apply(A=H.call(w.childNodes),w.childNodes),A[w.childNodes.length].nodeType}catch(e){L={apply:A.length?function(e,t){q.apply(e,H.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function oe(e,t,r,i){var o,s,l,c,f,h,v,m=t&&t.ownerDocument,T=t?t.nodeType:9;if(r=r||[],"string"!=typeof e||!e||1!==T&&9!==T&&11!==T)return r;if(!i&&((t?t.ownerDocument||t:w)!==d&&p(t),t=t||d,g)){if(11!==T&&(f=J.exec(e)))if(o=f[1]){if(9===T){if(!(l=t.getElementById(o)))return r;if(l.id===o)return r.push(l),r}else if(m&&(l=m.getElementById(o))&&x(t,l)&&l.id===o)return r.push(l),r}else{if(f[2])return L.apply(r,t.getElementsByTagName(e)),r;if((o=f[3])&&n.getElementsByClassName&&t.getElementsByClassName)return L.apply(r,t.getElementsByClassName(o)),r}if(n.qsa&&!S[e+" "]&&(!y||!y.test(e))){if(1!==T)m=t,v=e;else if("object"!==t.nodeName.toLowerCase()){(c=t.getAttribute("id"))?c=c.replace(te,ne):t.setAttribute("id",c=b),s=(h=a(e)).length;while(s--)h[s]="#"+c+" "+ve(h[s]);v=h.join(","),m=K.test(e)&&ge(t.parentNode)||t}if(v)try{return L.apply(r,m.querySelectorAll(v)),r}catch(e){}finally{c===b&&t.removeAttribute("id")}}}return u(e.replace(B,"$1"),t,r,i)}function ae(){var e=[];function t(n,i){return e.push(n+" ")>r.cacheLength&&delete t[e.shift()],t[n+" "]=i}return t}function se(e){return e[b]=!0,e}function ue(e){var t=d.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function le(e,t){var n=e.split("|"),i=n.length;while(i--)r.attrHandle[n[i]]=t}function ce(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function fe(e){return function(t){return"input"===t.nodeName.toLowerCase()&&t.type===e}}function pe(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function de(e){return function(t){return"form"in t?t.parentNode&&!1===t.disabled?"label"in t?"label"in t.parentNode?t.parentNode.disabled===e:t.disabled===e:t.isDisabled===e||t.isDisabled!==!e&&ie(t)===e:t.disabled===e:"label"in t&&t.disabled===e}}function he(e){return se(function(t){return t=+t,se(function(n,r){var i,o=e([],n.length,t),a=o.length;while(a--)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))})})}function ge(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}n=oe.support={},o=oe.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return!!t&&"HTML"!==t.nodeName},p=oe.setDocument=function(e){var t,i,a=e?e.ownerDocument||e:w;return a!==d&&9===a.nodeType&&a.documentElement?(d=a,h=d.documentElement,g=!o(d),w!==d&&(i=d.defaultView)&&i.top!==i&&(i.addEventListener?i.addEventListener("unload",re,!1):i.attachEvent&&i.attachEvent("onunload",re)),n.attributes=ue(function(e){return e.className="i",!e.getAttribute("className")}),n.getElementsByTagName=ue(function(e){return e.appendChild(d.createComment("")),!e.getElementsByTagName("*").length}),n.getElementsByClassName=Q.test(d.getElementsByClassName),n.getById=ue(function(e){return h.appendChild(e).id=b,!d.getElementsByName||!d.getElementsByName(b).length}),n.getById?(r.filter.ID=function(e){var t=e.replace(Z,ee);return function(e){return e.getAttribute("id")===t}},r.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&g){var n=t.getElementById(e);return n?[n]:[]}}):(r.filter.ID=function(e){var t=e.replace(Z,ee);return function(e){var n="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return n&&n.value===t}},r.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&g){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),r.find.TAG=n.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):n.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},r.find.CLASS=n.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&g)return t.getElementsByClassName(e)},v=[],y=[],(n.qsa=Q.test(d.querySelectorAll))&&(ue(function(e){h.appendChild(e).innerHTML="<a id='"+b+"'></a><select id='"+b+"-\r\\' msallowcapture=''><option selected=''></option></select>",e.querySelectorAll("[msallowcapture^='']").length&&y.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||y.push("\\["+M+"*(?:value|"+P+")"),e.querySelectorAll("[id~="+b+"-]").length||y.push("~="),e.querySelectorAll(":checked").length||y.push(":checked"),e.querySelectorAll("a#"+b+"+*").length||y.push(".#.+[+~]")}),ue(function(e){e.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var t=d.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&y.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&y.push(":enabled",":disabled"),h.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&y.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),y.push(",.*:")})),(n.matchesSelector=Q.test(m=h.matches||h.webkitMatchesSelector||h.mozMatchesSelector||h.oMatchesSelector||h.msMatchesSelector))&&ue(function(e){n.disconnectedMatch=m.call(e,"*"),m.call(e,"[s!='']:x"),v.push("!=",W)}),y=y.length&&new RegExp(y.join("|")),v=v.length&&new RegExp(v.join("|")),t=Q.test(h.compareDocumentPosition),x=t||Q.test(h.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return f=!0,0;var r=!e.compareDocumentPosition-!t.compareDocumentPosition;return r||(1&(r=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!n.sortDetached&&t.compareDocumentPosition(e)===r?e===d||e.ownerDocument===w&&x(w,e)?-1:t===d||t.ownerDocument===w&&x(w,t)?1:c?O(c,e)-O(c,t):0:4&r?-1:1)}:function(e,t){if(e===t)return f=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e===d?-1:t===d?1:i?-1:o?1:c?O(c,e)-O(c,t):0;if(i===o)return ce(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?ce(a[r],s[r]):a[r]===w?-1:s[r]===w?1:0},d):d},oe.matches=function(e,t){return oe(e,null,null,t)},oe.matchesSelector=function(e,t){if((e.ownerDocument||e)!==d&&p(e),t=t.replace(z,"='$1']"),n.matchesSelector&&g&&!S[t+" "]&&(!v||!v.test(t))&&(!y||!y.test(t)))try{var r=m.call(e,t);if(r||n.disconnectedMatch||e.document&&11!==e.document.nodeType)return r}catch(e){}return oe(t,d,null,[e]).length>0},oe.contains=function(e,t){return(e.ownerDocument||e)!==d&&p(e),x(e,t)},oe.attr=function(e,t){(e.ownerDocument||e)!==d&&p(e);var i=r.attrHandle[t.toLowerCase()],o=i&&N.call(r.attrHandle,t.toLowerCase())?i(e,t,!g):void 0;return void 0!==o?o:n.attributes||!g?e.getAttribute(t):(o=e.getAttributeNode(t))&&o.specified?o.value:null},oe.escape=function(e){return(e+"").replace(te,ne)},oe.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},oe.uniqueSort=function(e){var t,r=[],i=0,o=0;if(f=!n.detectDuplicates,c=!n.sortStable&&e.slice(0),e.sort(D),f){while(t=e[o++])t===e[o]&&(i=r.push(o));while(i--)e.splice(r[i],1)}return c=null,e},i=oe.getText=function(e){var t,n="",r=0,o=e.nodeType;if(o){if(1===o||9===o||11===o){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=i(e)}else if(3===o||4===o)return e.nodeValue}else while(t=e[r++])n+=i(t);return n},(r=oe.selectors={cacheLength:50,createPseudo:se,match:V,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(Z,ee),e[3]=(e[3]||e[4]||e[5]||"").replace(Z,ee),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||oe.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&oe.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return V.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=a(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(Z,ee).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=E[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&E(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r){var i=oe.attr(r,e);return null==i?"!="===t:!t||(i+="","="===t?i===n:"!="===t?i!==n:"^="===t?n&&0===i.indexOf(n):"*="===t?n&&i.indexOf(n)>-1:"$="===t?n&&i.slice(-n.length)===n:"~="===t?(" "+i.replace($," ")+" ").indexOf(n)>-1:"|="===t&&(i===n||i.slice(0,n.length+1)===n+"-"))}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),a="last"!==e.slice(-4),s="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,u){var l,c,f,p,d,h,g=o!==a?"nextSibling":"previousSibling",y=t.parentNode,v=s&&t.nodeName.toLowerCase(),m=!u&&!s,x=!1;if(y){if(o){while(g){p=t;while(p=p[g])if(s?p.nodeName.toLowerCase()===v:1===p.nodeType)return!1;h=g="only"===e&&!h&&"nextSibling"}return!0}if(h=[a?y.firstChild:y.lastChild],a&&m){x=(d=(l=(c=(f=(p=y)[b]||(p[b]={}))[p.uniqueID]||(f[p.uniqueID]={}))[e]||[])[0]===T&&l[1])&&l[2],p=d&&y.childNodes[d];while(p=++d&&p&&p[g]||(x=d=0)||h.pop())if(1===p.nodeType&&++x&&p===t){c[e]=[T,d,x];break}}else if(m&&(x=d=(l=(c=(f=(p=t)[b]||(p[b]={}))[p.uniqueID]||(f[p.uniqueID]={}))[e]||[])[0]===T&&l[1]),!1===x)while(p=++d&&p&&p[g]||(x=d=0)||h.pop())if((s?p.nodeName.toLowerCase()===v:1===p.nodeType)&&++x&&(m&&((c=(f=p[b]||(p[b]={}))[p.uniqueID]||(f[p.uniqueID]={}))[e]=[T,x]),p===t))break;return(x-=i)===r||x%r==0&&x/r>=0}}},PSEUDO:function(e,t){var n,i=r.pseudos[e]||r.setFilters[e.toLowerCase()]||oe.error("unsupported pseudo: "+e);return i[b]?i(t):i.length>1?(n=[e,e,"",t],r.setFilters.hasOwnProperty(e.toLowerCase())?se(function(e,n){var r,o=i(e,t),a=o.length;while(a--)e[r=O(e,o[a])]=!(n[r]=o[a])}):function(e){return i(e,0,n)}):i}},pseudos:{not:se(function(e){var t=[],n=[],r=s(e.replace(B,"$1"));return r[b]?se(function(e,t,n,i){var o,a=r(e,null,i,[]),s=e.length;while(s--)(o=a[s])&&(e[s]=!(t[s]=o))}):function(e,i,o){return t[0]=e,r(t,null,o,n),t[0]=null,!n.pop()}}),has:se(function(e){return function(t){return oe(e,t).length>0}}),contains:se(function(e){return e=e.replace(Z,ee),function(t){return(t.textContent||t.innerText||i(t)).indexOf(e)>-1}}),lang:se(function(e){return U.test(e||"")||oe.error("unsupported lang: "+e),e=e.replace(Z,ee).toLowerCase(),function(t){var n;do{if(n=g?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return(n=n.toLowerCase())===e||0===n.indexOf(e+"-")}while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===h},focus:function(e){return e===d.activeElement&&(!d.hasFocus||d.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:de(!1),disabled:de(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!r.pseudos.empty(e)},header:function(e){return Y.test(e.nodeName)},input:function(e){return G.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:he(function(){return[0]}),last:he(function(e,t){return[t-1]}),eq:he(function(e,t,n){return[n<0?n+t:n]}),even:he(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:he(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:he(function(e,t,n){for(var r=n<0?n+t:n;--r>=0;)e.push(r);return e}),gt:he(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}}).pseudos.nth=r.pseudos.eq;for(t in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})r.pseudos[t]=fe(t);for(t in{submit:!0,reset:!0})r.pseudos[t]=pe(t);function ye(){}ye.prototype=r.filters=r.pseudos,r.setFilters=new ye,a=oe.tokenize=function(e,t){var n,i,o,a,s,u,l,c=k[e+" "];if(c)return t?0:c.slice(0);s=e,u=[],l=r.preFilter;while(s){n&&!(i=F.exec(s))||(i&&(s=s.slice(i[0].length)||s),u.push(o=[])),n=!1,(i=_.exec(s))&&(n=i.shift(),o.push({value:n,type:i[0].replace(B," ")}),s=s.slice(n.length));for(a in r.filter)!(i=V[a].exec(s))||l[a]&&!(i=l[a](i))||(n=i.shift(),o.push({value:n,type:a,matches:i}),s=s.slice(n.length));if(!n)break}return t?s.length:s?oe.error(e):k(e,u).slice(0)};function ve(e){for(var t=0,n=e.length,r="";t<n;t++)r+=e[t].value;return r}function me(e,t,n){var r=t.dir,i=t.next,o=i||r,a=n&&"parentNode"===o,s=C++;return t.first?function(t,n,i){while(t=t[r])if(1===t.nodeType||a)return e(t,n,i);return!1}:function(t,n,u){var l,c,f,p=[T,s];if(u){while(t=t[r])if((1===t.nodeType||a)&&e(t,n,u))return!0}else while(t=t[r])if(1===t.nodeType||a)if(f=t[b]||(t[b]={}),c=f[t.uniqueID]||(f[t.uniqueID]={}),i&&i===t.nodeName.toLowerCase())t=t[r]||t;else{if((l=c[o])&&l[0]===T&&l[1]===s)return p[2]=l[2];if(c[o]=p,p[2]=e(t,n,u))return!0}return!1}}function xe(e){return e.length>1?function(t,n,r){var i=e.length;while(i--)if(!e[i](t,n,r))return!1;return!0}:e[0]}function be(e,t,n){for(var r=0,i=t.length;r<i;r++)oe(e,t[r],n);return n}function we(e,t,n,r,i){for(var o,a=[],s=0,u=e.length,l=null!=t;s<u;s++)(o=e[s])&&(n&&!n(o,r,i)||(a.push(o),l&&t.push(s)));return a}function Te(e,t,n,r,i,o){return r&&!r[b]&&(r=Te(r)),i&&!i[b]&&(i=Te(i,o)),se(function(o,a,s,u){var l,c,f,p=[],d=[],h=a.length,g=o||be(t||"*",s.nodeType?[s]:s,[]),y=!e||!o&&t?g:we(g,p,e,s,u),v=n?i||(o?e:h||r)?[]:a:y;if(n&&n(y,v,s,u),r){l=we(v,d),r(l,[],s,u),c=l.length;while(c--)(f=l[c])&&(v[d[c]]=!(y[d[c]]=f))}if(o){if(i||e){if(i){l=[],c=v.length;while(c--)(f=v[c])&&l.push(y[c]=f);i(null,v=[],l,u)}c=v.length;while(c--)(f=v[c])&&(l=i?O(o,f):p[c])>-1&&(o[l]=!(a[l]=f))}}else v=we(v===a?v.splice(h,v.length):v),i?i(null,a,v,u):L.apply(a,v)})}function Ce(e){for(var t,n,i,o=e.length,a=r.relative[e[0].type],s=a||r.relative[" "],u=a?1:0,c=me(function(e){return e===t},s,!0),f=me(function(e){return O(t,e)>-1},s,!0),p=[function(e,n,r){var i=!a&&(r||n!==l)||((t=n).nodeType?c(e,n,r):f(e,n,r));return t=null,i}];u<o;u++)if(n=r.relative[e[u].type])p=[me(xe(p),n)];else{if((n=r.filter[e[u].type].apply(null,e[u].matches))[b]){for(i=++u;i<o;i++)if(r.relative[e[i].type])break;return Te(u>1&&xe(p),u>1&&ve(e.slice(0,u-1).concat({value:" "===e[u-2].type?"*":""})).replace(B,"$1"),n,u<i&&Ce(e.slice(u,i)),i<o&&Ce(e=e.slice(i)),i<o&&ve(e))}p.push(n)}return xe(p)}function Ee(e,t){var n=t.length>0,i=e.length>0,o=function(o,a,s,u,c){var f,h,y,v=0,m="0",x=o&&[],b=[],w=l,C=o||i&&r.find.TAG("*",c),E=T+=null==w?1:Math.random()||.1,k=C.length;for(c&&(l=a===d||a||c);m!==k&&null!=(f=C[m]);m++){if(i&&f){h=0,a||f.ownerDocument===d||(p(f),s=!g);while(y=e[h++])if(y(f,a||d,s)){u.push(f);break}c&&(T=E)}n&&((f=!y&&f)&&v--,o&&x.push(f))}if(v+=m,n&&m!==v){h=0;while(y=t[h++])y(x,b,a,s);if(o){if(v>0)while(m--)x[m]||b[m]||(b[m]=j.call(u));b=we(b)}L.apply(u,b),c&&!o&&b.length>0&&v+t.length>1&&oe.uniqueSort(u)}return c&&(T=E,l=w),x};return n?se(o):o}return s=oe.compile=function(e,t){var n,r=[],i=[],o=S[e+" "];if(!o){t||(t=a(e)),n=t.length;while(n--)(o=Ce(t[n]))[b]?r.push(o):i.push(o);(o=S(e,Ee(i,r))).selector=e}return o},u=oe.select=function(e,t,n,i){var o,u,l,c,f,p="function"==typeof e&&e,d=!i&&a(e=p.selector||e);if(n=n||[],1===d.length){if((u=d[0]=d[0].slice(0)).length>2&&"ID"===(l=u[0]).type&&9===t.nodeType&&g&&r.relative[u[1].type]){if(!(t=(r.find.ID(l.matches[0].replace(Z,ee),t)||[])[0]))return n;p&&(t=t.parentNode),e=e.slice(u.shift().value.length)}o=V.needsContext.test(e)?0:u.length;while(o--){if(l=u[o],r.relative[c=l.type])break;if((f=r.find[c])&&(i=f(l.matches[0].replace(Z,ee),K.test(u[0].type)&&ge(t.parentNode)||t))){if(u.splice(o,1),!(e=i.length&&ve(u)))return L.apply(n,i),n;break}}}return(p||s(e,d))(i,t,!g,n,!t||K.test(e)&&ge(t.parentNode)||t),n},n.sortStable=b.split("").sort(D).join("")===b,n.detectDuplicates=!!f,p(),n.sortDetached=ue(function(e){return 1&e.compareDocumentPosition(d.createElement("fieldset"))}),ue(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||le("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),n.attributes&&ue(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||le("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),ue(function(e){return null==e.getAttribute("disabled")})||le(P,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),oe}(e);w.find=E,w.expr=E.selectors,w.expr[":"]=w.expr.pseudos,w.uniqueSort=w.unique=E.uniqueSort,w.text=E.getText,w.isXMLDoc=E.isXML,w.contains=E.contains,w.escapeSelector=E.escape;var k=function(e,t,n){var r=[],i=void 0!==n;while((e=e[t])&&9!==e.nodeType)if(1===e.nodeType){if(i&&w(e).is(n))break;r.push(e)}return r},S=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},D=w.expr.match.needsContext;function N(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var A=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,t,n){return g(t)?w.grep(e,function(e,r){return!!t.call(e,r,e)!==n}):t.nodeType?w.grep(e,function(e){return e===t!==n}):"string"!=typeof t?w.grep(e,function(e){return u.call(t,e)>-1!==n}):w.filter(t,e,n)}w.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?w.find.matchesSelector(r,e)?[r]:[]:w.find.matches(e,w.grep(t,function(e){return 1===e.nodeType}))},w.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(w(e).filter(function(){for(t=0;t<r;t++)if(w.contains(i[t],this))return!0}));for(n=this.pushStack([]),t=0;t<r;t++)w.find(e,i[t],n);return r>1?w.uniqueSort(n):n},filter:function(e){return this.pushStack(j(this,e||[],!1))},not:function(e){return this.pushStack(j(this,e||[],!0))},is:function(e){return!!j(this,"string"==typeof e&&D.test(e)?w(e):e||[],!1).length}});var q,L=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(w.fn.init=function(e,t,n){var i,o;if(!e)return this;if(n=n||q,"string"==typeof e){if(!(i="<"===e[0]&&">"===e[e.length-1]&&e.length>=3?[null,e,null]:L.exec(e))||!i[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(i[1]){if(t=t instanceof w?t[0]:t,w.merge(this,w.parseHTML(i[1],t&&t.nodeType?t.ownerDocument||t:r,!0)),A.test(i[1])&&w.isPlainObject(t))for(i in t)g(this[i])?this[i](t[i]):this.attr(i,t[i]);return this}return(o=r.getElementById(i[2]))&&(this[0]=o,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):g(e)?void 0!==n.ready?n.ready(e):e(w):w.makeArray(e,this)}).prototype=w.fn,q=w(r);var H=/^(?:parents|prev(?:Until|All))/,O={children:!0,contents:!0,next:!0,prev:!0};w.fn.extend({has:function(e){var t=w(e,this),n=t.length;return this.filter(function(){for(var e=0;e<n;e++)if(w.contains(this,t[e]))return!0})},closest:function(e,t){var n,r=0,i=this.length,o=[],a="string"!=typeof e&&w(e);if(!D.test(e))for(;r<i;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(a?a.index(n)>-1:1===n.nodeType&&w.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(o.length>1?w.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?u.call(w(e),this[0]):u.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(w.uniqueSort(w.merge(this.get(),w(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}});function P(e,t){while((e=e[t])&&1!==e.nodeType);return e}w.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return k(e,"parentNode")},parentsUntil:function(e,t,n){return k(e,"parentNode",n)},next:function(e){return P(e,"nextSibling")},prev:function(e){return P(e,"previousSibling")},nextAll:function(e){return k(e,"nextSibling")},prevAll:function(e){return k(e,"previousSibling")},nextUntil:function(e,t,n){return k(e,"nextSibling",n)},prevUntil:function(e,t,n){return k(e,"previousSibling",n)},siblings:function(e){return S((e.parentNode||{}).firstChild,e)},children:function(e){return S(e.firstChild)},contents:function(e){return N(e,"iframe")?e.contentDocument:(N(e,"template")&&(e=e.content||e),w.merge([],e.childNodes))}},function(e,t){w.fn[e]=function(n,r){var i=w.map(this,t,n);return"Until"!==e.slice(-5)&&(r=n),r&&"string"==typeof r&&(i=w.filter(r,i)),this.length>1&&(O[e]||w.uniqueSort(i),H.test(e)&&i.reverse()),this.pushStack(i)}});var M=/[^\x20\t\r\n\f]+/g;function R(e){var t={};return w.each(e.match(M)||[],function(e,n){t[n]=!0}),t}w.Callbacks=function(e){e="string"==typeof e?R(e):w.extend({},e);var t,n,r,i,o=[],a=[],s=-1,u=function(){for(i=i||e.once,r=t=!0;a.length;s=-1){n=a.shift();while(++s<o.length)!1===o[s].apply(n[0],n[1])&&e.stopOnFalse&&(s=o.length,n=!1)}e.memory||(n=!1),t=!1,i&&(o=n?[]:"")},l={add:function(){return o&&(n&&!t&&(s=o.length-1,a.push(n)),function t(n){w.each(n,function(n,r){g(r)?e.unique&&l.has(r)||o.push(r):r&&r.length&&"string"!==x(r)&&t(r)})}(arguments),n&&!t&&u()),this},remove:function(){return w.each(arguments,function(e,t){var n;while((n=w.inArray(t,o,n))>-1)o.splice(n,1),n<=s&&s--}),this},has:function(e){return e?w.inArray(e,o)>-1:o.length>0},empty:function(){return o&&(o=[]),this},disable:function(){return i=a=[],o=n="",this},disabled:function(){return!o},lock:function(){return i=a=[],n||t||(o=n=""),this},locked:function(){return!!i},fireWith:function(e,n){return i||(n=[e,(n=n||[]).slice?n.slice():n],a.push(n),t||u()),this},fire:function(){return l.fireWith(this,arguments),this},fired:function(){return!!r}};return l};function I(e){return e}function W(e){throw e}function $(e,t,n,r){var i;try{e&&g(i=e.promise)?i.call(e).done(t).fail(n):e&&g(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}w.extend({Deferred:function(t){var n=[["notify","progress",w.Callbacks("memory"),w.Callbacks("memory"),2],["resolve","done",w.Callbacks("once memory"),w.Callbacks("once memory"),0,"resolved"],["reject","fail",w.Callbacks("once memory"),w.Callbacks("once memory"),1,"rejected"]],r="pending",i={state:function(){return r},always:function(){return o.done(arguments).fail(arguments),this},"catch":function(e){return i.then(null,e)},pipe:function(){var e=arguments;return w.Deferred(function(t){w.each(n,function(n,r){var i=g(e[r[4]])&&e[r[4]];o[r[1]](function(){var e=i&&i.apply(this,arguments);e&&g(e.promise)?e.promise().progress(t.notify).done(t.resolve).fail(t.reject):t[r[0]+"With"](this,i?[e]:arguments)})}),e=null}).promise()},then:function(t,r,i){var o=0;function a(t,n,r,i){return function(){var s=this,u=arguments,l=function(){var e,l;if(!(t<o)){if((e=r.apply(s,u))===n.promise())throw new TypeError("Thenable self-resolution");l=e&&("object"==typeof e||"function"==typeof e)&&e.then,g(l)?i?l.call(e,a(o,n,I,i),a(o,n,W,i)):(o++,l.call(e,a(o,n,I,i),a(o,n,W,i),a(o,n,I,n.notifyWith))):(r!==I&&(s=void 0,u=[e]),(i||n.resolveWith)(s,u))}},c=i?l:function(){try{l()}catch(e){w.Deferred.exceptionHook&&w.Deferred.exceptionHook(e,c.stackTrace),t+1>=o&&(r!==W&&(s=void 0,u=[e]),n.rejectWith(s,u))}};t?c():(w.Deferred.getStackHook&&(c.stackTrace=w.Deferred.getStackHook()),e.setTimeout(c))}}return w.Deferred(function(e){n[0][3].add(a(0,e,g(i)?i:I,e.notifyWith)),n[1][3].add(a(0,e,g(t)?t:I)),n[2][3].add(a(0,e,g(r)?r:W))}).promise()},promise:function(e){return null!=e?w.extend(e,i):i}},o={};return w.each(n,function(e,t){var a=t[2],s=t[5];i[t[1]]=a.add,s&&a.add(function(){r=s},n[3-e][2].disable,n[3-e][3].disable,n[0][2].lock,n[0][3].lock),a.add(t[3].fire),o[t[0]]=function(){return o[t[0]+"With"](this===o?void 0:this,arguments),this},o[t[0]+"With"]=a.fireWith}),i.promise(o),t&&t.call(o,o),o},when:function(e){var t=arguments.length,n=t,r=Array(n),i=o.call(arguments),a=w.Deferred(),s=function(e){return function(n){r[e]=this,i[e]=arguments.length>1?o.call(arguments):n,--t||a.resolveWith(r,i)}};if(t<=1&&($(e,a.done(s(n)).resolve,a.reject,!t),"pending"===a.state()||g(i[n]&&i[n].then)))return a.then();while(n--)$(i[n],s(n),a.reject);return a.promise()}});var B=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;w.Deferred.exceptionHook=function(t,n){e.console&&e.console.warn&&t&&B.test(t.name)&&e.console.warn("jQuery.Deferred exception: "+t.message,t.stack,n)},w.readyException=function(t){e.setTimeout(function(){throw t})};var F=w.Deferred();w.fn.ready=function(e){return F.then(e)["catch"](function(e){w.readyException(e)}),this},w.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--w.readyWait:w.isReady)||(w.isReady=!0,!0!==e&&--w.readyWait>0||F.resolveWith(r,[w]))}}),w.ready.then=F.then;function _(){r.removeEventListener("DOMContentLoaded",_),e.removeEventListener("load",_),w.ready()}"complete"===r.readyState||"loading"!==r.readyState&&!r.documentElement.doScroll?e.setTimeout(w.ready):(r.addEventListener("DOMContentLoaded",_),e.addEventListener("load",_));var z=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if("object"===x(n)){i=!0;for(s in n)z(e,t,s,n[s],!0,o,a)}else if(void 0!==r&&(i=!0,g(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(w(e),n)})),t))for(;s<u;s++)t(e[s],n,a?r:r.call(e[s],s,t(e[s],n)));return i?e:l?t.call(e):u?t(e[0],n):o},X=/^-ms-/,U=/-([a-z])/g;function V(e,t){return t.toUpperCase()}function G(e){return e.replace(X,"ms-").replace(U,V)}var Y=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType};function Q(){this.expando=w.expando+Q.uid++}Q.uid=1,Q.prototype={cache:function(e){var t=e[this.expando];return t||(t={},Y(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var r,i=this.cache(e);if("string"==typeof t)i[G(t)]=n;else for(r in t)i[G(r)]=t[r];return i},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][G(t)]},access:function(e,t,n){return void 0===t||t&&"string"==typeof t&&void 0===n?this.get(e,t):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,r=e[this.expando];if(void 0!==r){if(void 0!==t){n=(t=Array.isArray(t)?t.map(G):(t=G(t))in r?[t]:t.match(M)||[]).length;while(n--)delete r[t[n]]}(void 0===t||w.isEmptyObject(r))&&(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!==t&&!w.isEmptyObject(t)}};var J=new Q,K=new Q,Z=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,ee=/[A-Z]/g;function te(e){return"true"===e||"false"!==e&&("null"===e?null:e===+e+""?+e:Z.test(e)?JSON.parse(e):e)}function ne(e,t,n){var r;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(ee,"-$&").toLowerCase(),"string"==typeof(n=e.getAttribute(r))){try{n=te(n)}catch(e){}K.set(e,t,n)}else n=void 0;return n}w.extend({hasData:function(e){return K.hasData(e)||J.hasData(e)},data:function(e,t,n){return K.access(e,t,n)},removeData:function(e,t){K.remove(e,t)},_data:function(e,t,n){return J.access(e,t,n)},_removeData:function(e,t){J.remove(e,t)}}),w.fn.extend({data:function(e,t){var n,r,i,o=this[0],a=o&&o.attributes;if(void 0===e){if(this.length&&(i=K.get(o),1===o.nodeType&&!J.get(o,"hasDataAttrs"))){n=a.length;while(n--)a[n]&&0===(r=a[n].name).indexOf("data-")&&(r=G(r.slice(5)),ne(o,r,i[r]));J.set(o,"hasDataAttrs",!0)}return i}return"object"==typeof e?this.each(function(){K.set(this,e)}):z(this,function(t){var n;if(o&&void 0===t){if(void 0!==(n=K.get(o,e)))return n;if(void 0!==(n=ne(o,e)))return n}else this.each(function(){K.set(this,e,t)})},null,t,arguments.length>1,null,!0)},removeData:function(e){return this.each(function(){K.remove(this,e)})}}),w.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=J.get(e,t),n&&(!r||Array.isArray(n)?r=J.access(e,t,w.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=w.queue(e,t),r=n.length,i=n.shift(),o=w._queueHooks(e,t),a=function(){w.dequeue(e,t)};"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,a,o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return J.get(e,n)||J.access(e,n,{empty:w.Callbacks("once memory").add(function(){J.remove(e,[t+"queue",n])})})}}),w.fn.extend({queue:function(e,t){var n=2;return"string"!=typeof e&&(t=e,e="fx",n--),arguments.length<n?w.queue(this[0],e):void 0===t?this:this.each(function(){var n=w.queue(this,e,t);w._queueHooks(this,e),"fx"===e&&"inprogress"!==n[0]&&w.dequeue(this,e)})},dequeue:function(e){return this.each(function(){w.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,r=1,i=w.Deferred(),o=this,a=this.length,s=function(){--r||i.resolveWith(o,[o])};"string"!=typeof e&&(t=e,e=void 0),e=e||"fx";while(a--)(n=J.get(o[a],e+"queueHooks"))&&n.empty&&(r++,n.empty.add(s));return s(),i.promise(t)}});var re=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,ie=new RegExp("^(?:([+-])=|)("+re+")([a-z%]*)$","i"),oe=["Top","Right","Bottom","Left"],ae=function(e,t){return"none"===(e=t||e).style.display||""===e.style.display&&w.contains(e.ownerDocument,e)&&"none"===w.css(e,"display")},se=function(e,t,n,r){var i,o,a={};for(o in t)a[o]=e.style[o],e.style[o]=t[o];i=n.apply(e,r||[]);for(o in t)e.style[o]=a[o];return i};function ue(e,t,n,r){var i,o,a=20,s=r?function(){return r.cur()}:function(){return w.css(e,t,"")},u=s(),l=n&&n[3]||(w.cssNumber[t]?"":"px"),c=(w.cssNumber[t]||"px"!==l&&+u)&&ie.exec(w.css(e,t));if(c&&c[3]!==l){u/=2,l=l||c[3],c=+u||1;while(a--)w.style(e,t,c+l),(1-o)*(1-(o=s()/u||.5))<=0&&(a=0),c/=o;c*=2,w.style(e,t,c+l),n=n||[]}return n&&(c=+c||+u||0,i=n[1]?c+(n[1]+1)*n[2]:+n[2],r&&(r.unit=l,r.start=c,r.end=i)),i}var le={};function ce(e){var t,n=e.ownerDocument,r=e.nodeName,i=le[r];return i||(t=n.body.appendChild(n.createElement(r)),i=w.css(t,"display"),t.parentNode.removeChild(t),"none"===i&&(i="block"),le[r]=i,i)}function fe(e,t){for(var n,r,i=[],o=0,a=e.length;o<a;o++)(r=e[o]).style&&(n=r.style.display,t?("none"===n&&(i[o]=J.get(r,"display")||null,i[o]||(r.style.display="")),""===r.style.display&&ae(r)&&(i[o]=ce(r))):"none"!==n&&(i[o]="none",J.set(r,"display",n)));for(o=0;o<a;o++)null!=i[o]&&(e[o].style.display=i[o]);return e}w.fn.extend({show:function(){return fe(this,!0)},hide:function(){return fe(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){ae(this)?w(this).show():w(this).hide()})}});var pe=/^(?:checkbox|radio)$/i,de=/<([a-z][^\/\0>\x20\t\r\n\f]+)/i,he=/^$|^module$|\/(?:java|ecma)script/i,ge={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};ge.optgroup=ge.option,ge.tbody=ge.tfoot=ge.colgroup=ge.caption=ge.thead,ge.th=ge.td;function ye(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&N(e,t)?w.merge([e],n):n}function ve(e,t){for(var n=0,r=e.length;n<r;n++)J.set(e[n],"globalEval",!t||J.get(t[n],"globalEval"))}var me=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d<h;d++)if((o=e[d])||0===o)if("object"===x(o))w.merge(p,o.nodeType?[o]:o);else if(me.test(o)){a=a||f.appendChild(t.createElement("div")),s=(de.exec(o)||["",""])[1].toLowerCase(),u=ge[s]||ge._default,a.innerHTML=u[1]+w.htmlPrefilter(o)+u[2],c=u[0];while(c--)a=a.lastChild;w.merge(p,a.childNodes),(a=f.firstChild).textContent=""}else p.push(t.createTextNode(o));f.textContent="",d=0;while(o=p[d++])if(r&&w.inArray(o,r)>-1)i&&i.push(o);else if(l=w.contains(o.ownerDocument,o),a=ye(f.appendChild(o),"script"),l&&ve(a),n){c=0;while(o=a[c++])he.test(o.type||"")&&n.push(o)}return f}!function(){var e=r.createDocumentFragment().appendChild(r.createElement("div")),t=r.createElement("input");t.setAttribute("type","radio"),t.setAttribute("checked","checked"),t.setAttribute("name","t"),e.appendChild(t),h.checkClone=e.cloneNode(!0).cloneNode(!0).lastChild.checked,e.innerHTML="<textarea>x</textarea>",h.noCloneChecked=!!e.cloneNode(!0).lastChild.defaultValue}();var be=r.documentElement,we=/^key/,Te=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ce=/^([^.]*)(?:\.(.+)|)/;function Ee(){return!0}function ke(){return!1}function Se(){try{return r.activeElement}catch(e){}}function De(e,t,n,r,i,o){var a,s;if("object"==typeof t){"string"!=typeof n&&(r=r||n,n=void 0);for(s in t)De(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=ke;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return w().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=w.guid++)),e.each(function(){w.event.add(this,t,i,r,n)})}w.event={global:{},add:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,y=J.get(e);if(y){n.handler&&(n=(o=n).handler,i=o.selector),i&&w.find.matchesSelector(be,i),n.guid||(n.guid=w.guid++),(u=y.events)||(u=y.events={}),(a=y.handle)||(a=y.handle=function(t){return"undefined"!=typeof w&&w.event.triggered!==t.type?w.event.dispatch.apply(e,arguments):void 0}),l=(t=(t||"").match(M)||[""]).length;while(l--)d=g=(s=Ce.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=w.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=w.event.special[d]||{},c=w.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&w.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(e,r,h,a)||e.addEventListener&&e.addEventListener(d,a)),f.add&&(f.add.call(e,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),w.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,y=J.hasData(e)&&J.get(e);if(y&&(u=y.events)){l=(t=(t||"").match(M)||[""]).length;while(l--)if(s=Ce.exec(t[l])||[],d=g=s[1],h=(s[2]||"").split(".").sort(),d){f=w.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;while(o--)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,y.handle)||w.removeEvent(e,d,y.handle),delete u[d])}else for(d in u)w.event.remove(e,d+t[l],n,r,!0);w.isEmptyObject(u)&&J.remove(e,"handle events")}},dispatch:function(e){var t=w.event.fix(e),n,r,i,o,a,s,u=new Array(arguments.length),l=(J.get(this,"events")||{})[t.type]||[],c=w.event.special[t.type]||{};for(u[0]=t,n=1;n<arguments.length;n++)u[n]=arguments[n];if(t.delegateTarget=this,!c.preDispatch||!1!==c.preDispatch.call(this,t)){s=w.event.handlers.call(this,t,l),n=0;while((o=s[n++])&&!t.isPropagationStopped()){t.currentTarget=o.elem,r=0;while((a=o.handlers[r++])&&!t.isImmediatePropagationStopped())t.rnamespace&&!t.rnamespace.test(a.namespace)||(t.handleObj=a,t.data=a.data,void 0!==(i=((w.event.special[a.origType]||{}).handle||a.handler).apply(o.elem,u))&&!1===(t.result=i)&&(t.preventDefault(),t.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,t),t.result}},handlers:function(e,t){var n,r,i,o,a,s=[],u=t.delegateCount,l=e.target;if(u&&l.nodeType&&!("click"===e.type&&e.button>=1))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&("click"!==e.type||!0!==l.disabled)){for(o=[],a={},n=0;n<u;n++)void 0===a[i=(r=t[n]).selector+" "]&&(a[i]=r.needsContext?w(i,this).index(l)>-1:w.find(i,this,null,[l]).length),a[i]&&o.push(r);o.length&&s.push({elem:l,handlers:o})}return l=this,u<t.length&&s.push({elem:l,handlers:t.slice(u)}),s},addProp:function(e,t){Object.defineProperty(w.Event.prototype,e,{enumerable:!0,configurable:!0,get:g(t)?function(){if(this.originalEvent)return t(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[e]},set:function(t){Object.defineProperty(this,e,{enumerable:!0,configurable:!0,writable:!0,value:t})}})},fix:function(e){return e[w.expando]?e:new w.Event(e)},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==Se()&&this.focus)return this.focus(),!1},delegateType:"focusin"},blur:{trigger:function(){if(this===Se()&&this.blur)return this.blur(),!1},delegateType:"focusout"},click:{trigger:function(){if("checkbox"===this.type&&this.click&&N(this,"input"))return this.click(),!1},_default:function(e){return N(e.target,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},w.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},w.Event=function(e,t){if(!(this instanceof w.Event))return new w.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&!1===e.returnValue?Ee:ke,this.target=e.target&&3===e.target.nodeType?e.target.parentNode:e.target,this.currentTarget=e.currentTarget,this.relatedTarget=e.relatedTarget):this.type=e,t&&w.extend(this,t),this.timeStamp=e&&e.timeStamp||Date.now(),this[w.expando]=!0},w.Event.prototype={constructor:w.Event,isDefaultPrevented:ke,isPropagationStopped:ke,isImmediatePropagationStopped:ke,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=Ee,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=Ee,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=Ee,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},w.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,"char":!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:function(e){var t=e.button;return null==e.which&&we.test(e.type)?null!=e.charCode?e.charCode:e.keyCode:!e.which&&void 0!==t&&Te.test(e.type)?1&t?1:2&t?3:4&t?2:0:e.which}},w.event.addProp),w.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(e,t){w.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,r=this,i=e.relatedTarget,o=e.handleObj;return i&&(i===r||w.contains(r,i))||(e.type=o.origType,n=o.handler.apply(this,arguments),e.type=t),n}}}),w.fn.extend({on:function(e,t,n,r){return De(this,e,t,n,r)},one:function(e,t,n,r){return De(this,e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,w(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"==typeof e){for(i in e)this.off(i,t,e[i]);return this}return!1!==t&&"function"!=typeof t||(n=t,t=void 0),!1===n&&(n=ke),this.each(function(){w.event.remove(this,e,n,t)})}});var Ne=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi,Ae=/<script|<style|<link/i,je=/checked\s*(?:[^=]|=\s*.checked.)/i,qe=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;function Le(e,t){return N(e,"table")&&N(11!==t.nodeType?t:t.firstChild,"tr")?w(e).children("tbody")[0]||e:e}function He(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Oe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Pe(e,t){var n,r,i,o,a,s,u,l;if(1===t.nodeType){if(J.hasData(e)&&(o=J.access(e),a=J.set(t,o),l=o.events)){delete a.handle,a.events={};for(i in l)for(n=0,r=l[i].length;n<r;n++)w.event.add(t,i,l[i][n])}K.hasData(e)&&(s=K.access(e),u=w.extend({},s),K.set(t,u))}}function Me(e,t){var n=t.nodeName.toLowerCase();"input"===n&&pe.test(e.type)?t.checked=e.checked:"input"!==n&&"textarea"!==n||(t.defaultValue=e.defaultValue)}function Re(e,t,n,r){t=a.apply([],t);var i,o,s,u,l,c,f=0,p=e.length,d=p-1,y=t[0],v=g(y);if(v||p>1&&"string"==typeof y&&!h.checkClone&&je.test(y))return e.each(function(i){var o=e.eq(i);v&&(t[0]=y.call(this,i,o.html())),Re(o,t,n,r)});if(p&&(i=xe(t,e[0].ownerDocument,!1,e,r),o=i.firstChild,1===i.childNodes.length&&(i=o),o||r)){for(u=(s=w.map(ye(i,"script"),He)).length;f<p;f++)l=i,f!==d&&(l=w.clone(l,!0,!0),u&&w.merge(s,ye(l,"script"))),n.call(e[f],l,f);if(u)for(c=s[s.length-1].ownerDocument,w.map(s,Oe),f=0;f<u;f++)l=s[f],he.test(l.type||"")&&!J.access(l,"globalEval")&&w.contains(c,l)&&(l.src&&"module"!==(l.type||"").toLowerCase()?w._evalUrl&&w._evalUrl(l.src):m(l.textContent.replace(qe,""),c,l))}return e}function Ie(e,t,n){for(var r,i=t?w.filter(t,e):e,o=0;null!=(r=i[o]);o++)n||1!==r.nodeType||w.cleanData(ye(r)),r.parentNode&&(n&&w.contains(r.ownerDocument,r)&&ve(ye(r,"script")),r.parentNode.removeChild(r));return e}w.extend({htmlPrefilter:function(e){return e.replace(Ne,"<$1></$2>")},clone:function(e,t,n){var r,i,o,a,s=e.cloneNode(!0),u=w.contains(e.ownerDocument,e);if(!(h.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||w.isXMLDoc(e)))for(a=ye(s),r=0,i=(o=ye(e)).length;r<i;r++)Me(o[r],a[r]);if(t)if(n)for(o=o||ye(e),a=a||ye(s),r=0,i=o.length;r<i;r++)Pe(o[r],a[r]);else Pe(e,s);return(a=ye(s,"script")).length>0&&ve(a,!u&&ye(e,"script")),s},cleanData:function(e){for(var t,n,r,i=w.event.special,o=0;void 0!==(n=e[o]);o++)if(Y(n)){if(t=n[J.expando]){if(t.events)for(r in t.events)i[r]?w.event.remove(n,r):w.removeEvent(n,r,t.handle);n[J.expando]=void 0}n[K.expando]&&(n[K.expando]=void 0)}}}),w.fn.extend({detach:function(e){return Ie(this,e,!0)},remove:function(e){return Ie(this,e)},text:function(e){return z(this,function(e){return void 0===e?w.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return Re(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||Le(this,e).appendChild(e)})},prepend:function(){return Re(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Le(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return Re(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return Re(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(w.cleanData(ye(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return w.clone(this,e,t)})},html:function(e){return z(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!Ae.test(e)&&!ge[(de.exec(e)||["",""])[1].toLowerCase()]){e=w.htmlPrefilter(e);try{for(;n<r;n++)1===(t=this[n]||{}).nodeType&&(w.cleanData(ye(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var e=[];return Re(this,arguments,function(t){var n=this.parentNode;w.inArray(this,e)<0&&(w.cleanData(ye(this)),n&&n.replaceChild(t,this))},e)}}),w.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){w.fn[e]=function(e){for(var n,r=[],i=w(e),o=i.length-1,a=0;a<=o;a++)n=a===o?this:this.clone(!0),w(i[a])[t](n),s.apply(r,n.get());return this.pushStack(r)}});var We=new RegExp("^("+re+")(?!px)[a-z%]+$","i"),$e=function(t){var n=t.ownerDocument.defaultView;return n&&n.opener||(n=e),n.getComputedStyle(t)},Be=new RegExp(oe.join("|"),"i");!function(){function t(){if(c){l.style.cssText="position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0",c.style.cssText="position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%",be.appendChild(l).appendChild(c);var t=e.getComputedStyle(c);i="1%"!==t.top,u=12===n(t.marginLeft),c.style.right="60%",s=36===n(t.right),o=36===n(t.width),c.style.position="absolute",a=36===c.offsetWidth||"absolute",be.removeChild(l),c=null}}function n(e){return Math.round(parseFloat(e))}var i,o,a,s,u,l=r.createElement("div"),c=r.createElement("div");c.style&&(c.style.backgroundClip="content-box",c.cloneNode(!0).style.backgroundClip="",h.clearCloneStyle="content-box"===c.style.backgroundClip,w.extend(h,{boxSizingReliable:function(){return t(),o},pixelBoxStyles:function(){return t(),s},pixelPosition:function(){return t(),i},reliableMarginLeft:function(){return t(),u},scrollboxSize:function(){return t(),a}}))}();function Fe(e,t,n){var r,i,o,a,s=e.style;return(n=n||$e(e))&&(""!==(a=n.getPropertyValue(t)||n[t])||w.contains(e.ownerDocument,e)||(a=w.style(e,t)),!h.pixelBoxStyles()&&We.test(a)&&Be.test(t)&&(r=s.width,i=s.minWidth,o=s.maxWidth,s.minWidth=s.maxWidth=s.width=a,a=n.width,s.width=r,s.minWidth=i,s.maxWidth=o)),void 0!==a?a+"":a}function _e(e,t){return{get:function(){if(!e())return(this.get=t).apply(this,arguments);delete this.get}}}var ze=/^(none|table(?!-c[ea]).+)/,Xe=/^--/,Ue={position:"absolute",visibility:"hidden",display:"block"},Ve={letterSpacing:"0",fontWeight:"400"},Ge=["Webkit","Moz","ms"],Ye=r.createElement("div").style;function Qe(e){if(e in Ye)return e;var t=e[0].toUpperCase()+e.slice(1),n=Ge.length;while(n--)if((e=Ge[n]+t)in Ye)return e}function Je(e){var t=w.cssProps[e];return t||(t=w.cssProps[e]=Qe(e)||e),t}function Ke(e,t,n){var r=ie.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||"px"):t}function Ze(e,t,n,r,i,o){var a="width"===t?1:0,s=0,u=0;if(n===(r?"border":"content"))return 0;for(;a<4;a+=2)"margin"===n&&(u+=w.css(e,n+oe[a],!0,i)),r?("content"===n&&(u-=w.css(e,"padding"+oe[a],!0,i)),"margin"!==n&&(u-=w.css(e,"border"+oe[a]+"Width",!0,i))):(u+=w.css(e,"padding"+oe[a],!0,i),"padding"!==n?u+=w.css(e,"border"+oe[a]+"Width",!0,i):s+=w.css(e,"border"+oe[a]+"Width",!0,i));return!r&&o>=0&&(u+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-o-u-s-.5))),u}function et(e,t,n){var r=$e(e),i=Fe(e,t,r),o="border-box"===w.css(e,"boxSizing",!1,r),a=o;if(We.test(i)){if(!n)return i;i="auto"}return a=a&&(h.boxSizingReliable()||i===e.style[t]),("auto"===i||!parseFloat(i)&&"inline"===w.css(e,"display",!1,r))&&(i=e["offset"+t[0].toUpperCase()+t.slice(1)],a=!0),(i=parseFloat(i)||0)+Ze(e,t,n||(o?"border":"content"),a,r,i)+"px"}w.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Fe(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=G(t),u=Xe.test(t),l=e.style;if(u||(t=Je(s)),a=w.cssHooks[t]||w.cssHooks[s],void 0===n)return a&&"get"in a&&void 0!==(i=a.get(e,!1,r))?i:l[t];"string"==(o=typeof n)&&(i=ie.exec(n))&&i[1]&&(n=ue(e,t,i),o="number"),null!=n&&n===n&&("number"===o&&(n+=i&&i[3]||(w.cssNumber[s]?"":"px")),h.clearCloneStyle||""!==n||0!==t.indexOf("background")||(l[t]="inherit"),a&&"set"in a&&void 0===(n=a.set(e,n,r))||(u?l.setProperty(t,n):l[t]=n))}},css:function(e,t,n,r){var i,o,a,s=G(t);return Xe.test(t)||(t=Je(s)),(a=w.cssHooks[t]||w.cssHooks[s])&&"get"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=Fe(e,t,r)),"normal"===i&&t in Ve&&(i=Ve[t]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),w.each(["height","width"],function(e,t){w.cssHooks[t]={get:function(e,n,r){if(n)return!ze.test(w.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?et(e,t,r):se(e,Ue,function(){return et(e,t,r)})},set:function(e,n,r){var i,o=$e(e),a="border-box"===w.css(e,"boxSizing",!1,o),s=r&&Ze(e,t,r,a,o);return a&&h.scrollboxSize()===o.position&&(s-=Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-parseFloat(o[t])-Ze(e,t,"border",!1,o)-.5)),s&&(i=ie.exec(n))&&"px"!==(i[3]||"px")&&(e.style[t]=n,n=w.css(e,t)),Ke(e,n,s)}}}),w.cssHooks.marginLeft=_e(h.reliableMarginLeft,function(e,t){if(t)return(parseFloat(Fe(e,"marginLeft"))||e.getBoundingClientRect().left-se(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),w.each({margin:"",padding:"",border:"Width"},function(e,t){w.cssHooks[e+t]={expand:function(n){for(var r=0,i={},o="string"==typeof n?n.split(" "):[n];r<4;r++)i[e+oe[r]+t]=o[r]||o[r-2]||o[0];return i}},"margin"!==e&&(w.cssHooks[e+t].set=Ke)}),w.fn.extend({css:function(e,t){return z(this,function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=$e(e),i=t.length;a<i;a++)o[t[a]]=w.css(e,t[a],!1,r);return o}return void 0!==n?w.style(e,t,n):w.css(e,t)},e,t,arguments.length>1)}});function tt(e,t,n,r,i){return new tt.prototype.init(e,t,n,r,i)}w.Tween=tt,tt.prototype={constructor:tt,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||w.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(w.cssNumber[n]?"":"px")},cur:function(){var e=tt.propHooks[this.prop];return e&&e.get?e.get(this):tt.propHooks._default.get(this)},run:function(e){var t,n=tt.propHooks[this.prop];return this.options.duration?this.pos=t=w.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):tt.propHooks._default.set(this),this}},tt.prototype.init.prototype=tt.prototype,tt.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=w.css(e.elem,e.prop,""))&&"auto"!==t?t:0},set:function(e){w.fx.step[e.prop]?w.fx.step[e.prop](e):1!==e.elem.nodeType||null==e.elem.style[w.cssProps[e.prop]]&&!w.cssHooks[e.prop]?e.elem[e.prop]=e.now:w.style(e.elem,e.prop,e.now+e.unit)}}},tt.propHooks.scrollTop=tt.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},w.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},w.fx=tt.prototype.init,w.fx.step={};var nt,rt,it=/^(?:toggle|show|hide)$/,ot=/queueHooks$/;function at(){rt&&(!1===r.hidden&&e.requestAnimationFrame?e.requestAnimationFrame(at):e.setTimeout(at,w.fx.interval),w.fx.tick())}function st(){return e.setTimeout(function(){nt=void 0}),nt=Date.now()}function ut(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)i["margin"+(n=oe[r])]=i["padding"+n]=e;return t&&(i.opacity=i.width=e),i}function lt(e,t,n){for(var r,i=(pt.tweeners[t]||[]).concat(pt.tweeners["*"]),o=0,a=i.length;o<a;o++)if(r=i[o].call(n,t,e))return r}function ct(e,t,n){var r,i,o,a,s,u,l,c,f="width"in t||"height"in t,p=this,d={},h=e.style,g=e.nodeType&&ae(e),y=J.get(e,"fxshow");n.queue||(null==(a=w._queueHooks(e,"fx")).unqueued&&(a.unqueued=0,s=a.empty.fire,a.empty.fire=function(){a.unqueued||s()}),a.unqueued++,p.always(function(){p.always(function(){a.unqueued--,w.queue(e,"fx").length||a.empty.fire()})}));for(r in t)if(i=t[r],it.test(i)){if(delete t[r],o=o||"toggle"===i,i===(g?"hide":"show")){if("show"!==i||!y||void 0===y[r])continue;g=!0}d[r]=y&&y[r]||w.style(e,r)}if((u=!w.isEmptyObject(t))||!w.isEmptyObject(d)){f&&1===e.nodeType&&(n.overflow=[h.overflow,h.overflowX,h.overflowY],null==(l=y&&y.display)&&(l=J.get(e,"display")),"none"===(c=w.css(e,"display"))&&(l?c=l:(fe([e],!0),l=e.style.display||l,c=w.css(e,"display"),fe([e]))),("inline"===c||"inline-block"===c&&null!=l)&&"none"===w.css(e,"float")&&(u||(p.done(function(){h.display=l}),null==l&&(c=h.display,l="none"===c?"":c)),h.display="inline-block")),n.overflow&&(h.overflow="hidden",p.always(function(){h.overflow=n.overflow[0],h.overflowX=n.overflow[1],h.overflowY=n.overflow[2]})),u=!1;for(r in d)u||(y?"hidden"in y&&(g=y.hidden):y=J.access(e,"fxshow",{display:l}),o&&(y.hidden=!g),g&&fe([e],!0),p.done(function(){g||fe([e]),J.remove(e,"fxshow");for(r in d)w.style(e,r,d[r])})),u=lt(g?y[r]:0,r,p),r in y||(y[r]=u.start,g&&(u.end=u.start,u.start=0))}}function ft(e,t){var n,r,i,o,a;for(n in e)if(r=G(n),i=t[r],o=e[n],Array.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),(a=w.cssHooks[r])&&"expand"in a){o=a.expand(o),delete e[r];for(n in o)n in e||(e[n]=o[n],t[n]=i)}else t[r]=i}function pt(e,t,n){var r,i,o=0,a=pt.prefilters.length,s=w.Deferred().always(function(){delete u.elem}),u=function(){if(i)return!1;for(var t=nt||st(),n=Math.max(0,l.startTime+l.duration-t),r=1-(n/l.duration||0),o=0,a=l.tweens.length;o<a;o++)l.tweens[o].run(r);return s.notifyWith(e,[l,r,n]),r<1&&a?n:(a||s.notifyWith(e,[l,1,0]),s.resolveWith(e,[l]),!1)},l=s.promise({elem:e,props:w.extend({},t),opts:w.extend(!0,{specialEasing:{},easing:w.easing._default},n),originalProperties:t,originalOptions:n,startTime:nt||st(),duration:n.duration,tweens:[],createTween:function(t,n){var r=w.Tween(e,l.opts,t,n,l.opts.specialEasing[t]||l.opts.easing);return l.tweens.push(r),r},stop:function(t){var n=0,r=t?l.tweens.length:0;if(i)return this;for(i=!0;n<r;n++)l.tweens[n].run(1);return t?(s.notifyWith(e,[l,1,0]),s.resolveWith(e,[l,t])):s.rejectWith(e,[l,t]),this}}),c=l.props;for(ft(c,l.opts.specialEasing);o<a;o++)if(r=pt.prefilters[o].call(l,e,c,l.opts))return g(r.stop)&&(w._queueHooks(l.elem,l.opts.queue).stop=r.stop.bind(r)),r;return w.map(c,lt,l),g(l.opts.start)&&l.opts.start.call(e,l),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always),w.fx.timer(w.extend(u,{elem:e,anim:l,queue:l.opts.queue})),l}w.Animation=w.extend(pt,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t);return ue(n.elem,e,ie.exec(t),n),n}]},tweener:function(e,t){g(e)?(t=e,e=["*"]):e=e.match(M);for(var n,r=0,i=e.length;r<i;r++)n=e[r],pt.tweeners[n]=pt.tweeners[n]||[],pt.tweeners[n].unshift(t)},prefilters:[ct],prefilter:function(e,t){t?pt.prefilters.unshift(e):pt.prefilters.push(e)}}),w.speed=function(e,t,n){var r=e&&"object"==typeof e?w.extend({},e):{complete:n||!n&&t||g(e)&&e,duration:e,easing:n&&t||t&&!g(t)&&t};return w.fx.off?r.duration=0:"number"!=typeof r.duration&&(r.duration in w.fx.speeds?r.duration=w.fx.speeds[r.duration]:r.duration=w.fx.speeds._default),null!=r.queue&&!0!==r.queue||(r.queue="fx"),r.old=r.complete,r.complete=function(){g(r.old)&&r.old.call(this),r.queue&&w.dequeue(this,r.queue)},r},w.fn.extend({fadeTo:function(e,t,n,r){return this.filter(ae).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(e,t,n,r){var i=w.isEmptyObject(e),o=w.speed(t,n,r),a=function(){var t=pt(this,w.extend({},e),o);(i||J.get(this,"finish"))&&t.stop(!0)};return a.finish=a,i||!1===o.queue?this.each(a):this.queue(o.queue,a)},stop:function(e,t,n){var r=function(e){var t=e.stop;delete e.stop,t(n)};return"string"!=typeof e&&(n=t,t=e,e=void 0),t&&!1!==e&&this.queue(e||"fx",[]),this.each(function(){var t=!0,i=null!=e&&e+"queueHooks",o=w.timers,a=J.get(this);if(i)a[i]&&a[i].stop&&r(a[i]);else for(i in a)a[i]&&a[i].stop&&ot.test(i)&&r(a[i]);for(i=o.length;i--;)o[i].elem!==this||null!=e&&o[i].queue!==e||(o[i].anim.stop(n),t=!1,o.splice(i,1));!t&&n||w.dequeue(this,e)})},finish:function(e){return!1!==e&&(e=e||"fx"),this.each(function(){var t,n=J.get(this),r=n[e+"queue"],i=n[e+"queueHooks"],o=w.timers,a=r?r.length:0;for(n.finish=!0,w.queue(this,e,[]),i&&i.stop&&i.stop.call(this,!0),t=o.length;t--;)o[t].elem===this&&o[t].queue===e&&(o[t].anim.stop(!0),o.splice(t,1));for(t=0;t<a;t++)r[t]&&r[t].finish&&r[t].finish.call(this);delete n.finish})}}),w.each(["toggle","show","hide"],function(e,t){var n=w.fn[t];w.fn[t]=function(e,r,i){return null==e||"boolean"==typeof e?n.apply(this,arguments):this.animate(ut(t,!0),e,r,i)}}),w.each({slideDown:ut("show"),slideUp:ut("hide"),slideToggle:ut("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,t){w.fn[e]=function(e,n,r){return this.animate(t,e,n,r)}}),w.timers=[],w.fx.tick=function(){var e,t=0,n=w.timers;for(nt=Date.now();t<n.length;t++)(e=n[t])()||n[t]!==e||n.splice(t--,1);n.length||w.fx.stop(),nt=void 0},w.fx.timer=function(e){w.timers.push(e),w.fx.start()},w.fx.interval=13,w.fx.start=function(){rt||(rt=!0,at())},w.fx.stop=function(){rt=null},w.fx.speeds={slow:600,fast:200,_default:400},w.fn.delay=function(t,n){return t=w.fx?w.fx.speeds[t]||t:t,n=n||"fx",this.queue(n,function(n,r){var i=e.setTimeout(n,t);r.stop=function(){e.clearTimeout(i)}})},function(){var e=r.createElement("input"),t=r.createElement("select").appendChild(r.createElement("option"));e.type="checkbox",h.checkOn=""!==e.value,h.optSelected=t.selected,(e=r.createElement("input")).value="t",e.type="radio",h.radioValue="t"===e.value}();var dt,ht=w.expr.attrHandle;w.fn.extend({attr:function(e,t){return z(this,w.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){w.removeAttr(this,e)})}}),w.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return"undefined"==typeof e.getAttribute?w.prop(e,t,n):(1===o&&w.isXMLDoc(e)||(i=w.attrHooks[t.toLowerCase()]||(w.expr.match.bool.test(t)?dt:void 0)),void 0!==n?null===n?void w.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:null==(r=w.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!h.radioValue&&"radio"===t&&N(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(M);if(i&&1===e.nodeType)while(n=i[r++])e.removeAttribute(n)}}),dt={set:function(e,t,n){return!1===t?w.removeAttr(e,n):e.setAttribute(n,n),n}},w.each(w.expr.match.bool.source.match(/\w+/g),function(e,t){var n=ht[t]||w.find.attr;ht[t]=function(e,t,r){var i,o,a=t.toLowerCase();return r||(o=ht[a],ht[a]=i,i=null!=n(e,t,r)?a:null,ht[a]=o),i}});var gt=/^(?:input|select|textarea|button)$/i,yt=/^(?:a|area)$/i;w.fn.extend({prop:function(e,t){return z(this,w.prop,e,t,arguments.length>1)},removeProp:function(e){return this.each(function(){delete this[w.propFix[e]||e]})}}),w.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&w.isXMLDoc(e)||(t=w.propFix[t]||t,i=w.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=w.find.attr(e,"tabindex");return t?parseInt(t,10):gt.test(e.nodeName)||yt.test(e.nodeName)&&e.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),h.optSelected||(w.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),w.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){w.propFix[this.toLowerCase()]=this});function vt(e){return(e.match(M)||[]).join(" ")}function mt(e){return e.getAttribute&&e.getAttribute("class")||""}function xt(e){return Array.isArray(e)?e:"string"==typeof e?e.match(M)||[]:[]}w.fn.extend({addClass:function(e){var t,n,r,i,o,a,s,u=0;if(g(e))return this.each(function(t){w(this).addClass(e.call(this,t,mt(this)))});if((t=xt(e)).length)while(n=this[u++])if(i=mt(n),r=1===n.nodeType&&" "+vt(i)+" "){a=0;while(o=t[a++])r.indexOf(" "+o+" ")<0&&(r+=o+" ");i!==(s=vt(r))&&n.setAttribute("class",s)}return this},removeClass:function(e){var t,n,r,i,o,a,s,u=0;if(g(e))return this.each(function(t){w(this).removeClass(e.call(this,t,mt(this)))});if(!arguments.length)return this.attr("class","");if((t=xt(e)).length)while(n=this[u++])if(i=mt(n),r=1===n.nodeType&&" "+vt(i)+" "){a=0;while(o=t[a++])while(r.indexOf(" "+o+" ")>-1)r=r.replace(" "+o+" "," ");i!==(s=vt(r))&&n.setAttribute("class",s)}return this},toggleClass:function(e,t){var n=typeof e,r="string"===n||Array.isArray(e);return"boolean"==typeof t&&r?t?this.addClass(e):this.removeClass(e):g(e)?this.each(function(n){w(this).toggleClass(e.call(this,n,mt(this),t),t)}):this.each(function(){var t,i,o,a;if(r){i=0,o=w(this),a=xt(e);while(t=a[i++])o.hasClass(t)?o.removeClass(t):o.addClass(t)}else void 0!==e&&"boolean"!==n||((t=mt(this))&&J.set(this,"__className__",t),this.setAttribute&&this.setAttribute("class",t||!1===e?"":J.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;t=" "+e+" ";while(n=this[r++])if(1===n.nodeType&&(" "+vt(mt(n))+" ").indexOf(t)>-1)return!0;return!1}});var bt=/\r/g;w.fn.extend({val:function(e){var t,n,r,i=this[0];{if(arguments.length)return r=g(e),this.each(function(n){var i;1===this.nodeType&&(null==(i=r?e.call(this,n,w(this).val()):e)?i="":"number"==typeof i?i+="":Array.isArray(i)&&(i=w.map(i,function(e){return null==e?"":e+""})),(t=w.valHooks[this.type]||w.valHooks[this.nodeName.toLowerCase()])&&"set"in t&&void 0!==t.set(this,i,"value")||(this.value=i))});if(i)return(t=w.valHooks[i.type]||w.valHooks[i.nodeName.toLowerCase()])&&"get"in t&&void 0!==(n=t.get(i,"value"))?n:"string"==typeof(n=i.value)?n.replace(bt,""):null==n?"":n}}}),w.extend({valHooks:{option:{get:function(e){var t=w.find.attr(e,"value");return null!=t?t:vt(w.text(e))}},select:{get:function(e){var t,n,r,i=e.options,o=e.selectedIndex,a="select-one"===e.type,s=a?null:[],u=a?o+1:i.length;for(r=o<0?u:a?o:0;r<u;r++)if(((n=i[r]).selected||r===o)&&!n.disabled&&(!n.parentNode.disabled||!N(n.parentNode,"optgroup"))){if(t=w(n).val(),a)return t;s.push(t)}return s},set:function(e,t){var n,r,i=e.options,o=w.makeArray(t),a=i.length;while(a--)((r=i[a]).selected=w.inArray(w.valHooks.option.get(r),o)>-1)&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),w.each(["radio","checkbox"],function(){w.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=w.inArray(w(e).val(),t)>-1}},h.checkOn||(w.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),h.focusin="onfocusin"in e;var wt=/^(?:focusinfocus|focusoutblur)$/,Tt=function(e){e.stopPropagation()};w.extend(w.event,{trigger:function(t,n,i,o){var a,s,u,l,c,p,d,h,v=[i||r],m=f.call(t,"type")?t.type:t,x=f.call(t,"namespace")?t.namespace.split("."):[];if(s=h=u=i=i||r,3!==i.nodeType&&8!==i.nodeType&&!wt.test(m+w.event.triggered)&&(m.indexOf(".")>-1&&(m=(x=m.split(".")).shift(),x.sort()),c=m.indexOf(":")<0&&"on"+m,t=t[w.expando]?t:new w.Event(m,"object"==typeof t&&t),t.isTrigger=o?2:3,t.namespace=x.join("."),t.rnamespace=t.namespace?new RegExp("(^|\\.)"+x.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,t.result=void 0,t.target||(t.target=i),n=null==n?[t]:w.makeArray(n,[t]),d=w.event.special[m]||{},o||!d.trigger||!1!==d.trigger.apply(i,n))){if(!o&&!d.noBubble&&!y(i)){for(l=d.delegateType||m,wt.test(l+m)||(s=s.parentNode);s;s=s.parentNode)v.push(s),u=s;u===(i.ownerDocument||r)&&v.push(u.defaultView||u.parentWindow||e)}a=0;while((s=v[a++])&&!t.isPropagationStopped())h=s,t.type=a>1?l:d.bindType||m,(p=(J.get(s,"events")||{})[t.type]&&J.get(s,"handle"))&&p.apply(s,n),(p=c&&s[c])&&p.apply&&Y(s)&&(t.result=p.apply(s,n),!1===t.result&&t.preventDefault());return t.type=m,o||t.isDefaultPrevented()||d._default&&!1!==d._default.apply(v.pop(),n)||!Y(i)||c&&g(i[m])&&!y(i)&&((u=i[c])&&(i[c]=null),w.event.triggered=m,t.isPropagationStopped()&&h.addEventListener(m,Tt),i[m](),t.isPropagationStopped()&&h.removeEventListener(m,Tt),w.event.triggered=void 0,u&&(i[c]=u)),t.result}},simulate:function(e,t,n){var r=w.extend(new w.Event,n,{type:e,isSimulated:!0});w.event.trigger(r,null,t)}}),w.fn.extend({trigger:function(e,t){return this.each(function(){w.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return w.event.trigger(e,t,n,!0)}}),h.focusin||w.each({focus:"focusin",blur:"focusout"},function(e,t){var n=function(e){w.event.simulate(t,e.target,w.event.fix(e))};w.event.special[t]={setup:function(){var r=this.ownerDocument||this,i=J.access(r,t);i||r.addEventListener(e,n,!0),J.access(r,t,(i||0)+1)},teardown:function(){var r=this.ownerDocument||this,i=J.access(r,t)-1;i?J.access(r,t,i):(r.removeEventListener(e,n,!0),J.remove(r,t))}}});var Ct=e.location,Et=Date.now(),kt=/\?/;w.parseXML=function(t){var n;if(!t||"string"!=typeof t)return null;try{n=(new e.DOMParser).parseFromString(t,"text/xml")}catch(e){n=void 0}return n&&!n.getElementsByTagName("parsererror").length||w.error("Invalid XML: "+t),n};var St=/\[\]$/,Dt=/\r?\n/g,Nt=/^(?:submit|button|image|reset|file)$/i,At=/^(?:input|select|textarea|keygen)/i;function jt(e,t,n,r){var i;if(Array.isArray(t))w.each(t,function(t,i){n||St.test(e)?r(e,i):jt(e+"["+("object"==typeof i&&null!=i?t:"")+"]",i,n,r)});else if(n||"object"!==x(t))r(e,t);else for(i in t)jt(e+"["+i+"]",t[i],n,r)}w.param=function(e,t){var n,r=[],i=function(e,t){var n=g(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(Array.isArray(e)||e.jquery&&!w.isPlainObject(e))w.each(e,function(){i(this.name,this.value)});else for(n in e)jt(n,e[n],t,i);return r.join("&")},w.fn.extend({serialize:function(){return w.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=w.prop(this,"elements");return e?w.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!w(this).is(":disabled")&&At.test(this.nodeName)&&!Nt.test(e)&&(this.checked||!pe.test(e))}).map(function(e,t){var n=w(this).val();return null==n?null:Array.isArray(n)?w.map(n,function(e){return{name:t.name,value:e.replace(Dt,"\r\n")}}):{name:t.name,value:n.replace(Dt,"\r\n")}}).get()}});var qt=/%20/g,Lt=/#.*$/,Ht=/([?&])_=[^&]*/,Ot=/^(.*?):[ \t]*([^\r\n]*)$/gm,Pt=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Mt=/^(?:GET|HEAD)$/,Rt=/^\/\//,It={},Wt={},$t="*/".concat("*"),Bt=r.createElement("a");Bt.href=Ct.href;function Ft(e){return function(t,n){"string"!=typeof t&&(n=t,t="*");var r,i=0,o=t.toLowerCase().match(M)||[];if(g(n))while(r=o[i++])"+"===r[0]?(r=r.slice(1)||"*",(e[r]=e[r]||[]).unshift(n)):(e[r]=e[r]||[]).push(n)}}function _t(e,t,n,r){var i={},o=e===Wt;function a(s){var u;return i[s]=!0,w.each(e[s]||[],function(e,s){var l=s(t,n,r);return"string"!=typeof l||o||i[l]?o?!(u=l):void 0:(t.dataTypes.unshift(l),a(l),!1)}),u}return a(t.dataTypes[0])||!i["*"]&&a("*")}function zt(e,t){var n,r,i=w.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&w.extend(!0,e,r),e}function Xt(e,t,n){var r,i,o,a,s=e.contents,u=e.dataTypes;while("*"===u[0])u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(i in s)if(s[i]&&s[i].test(r)){u.unshift(i);break}if(u[0]in n)o=u[0];else{for(i in n){if(!u[0]||e.converters[i+" "+u[0]]){o=i;break}a||(a=i)}o=o||a}if(o)return o!==u[0]&&u.unshift(o),n[o]}function Ut(e,t,n,r){var i,o,a,s,u,l={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)l[a.toLowerCase()]=e.converters[a];o=c.shift();while(o)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=c.shift())if("*"===o)o=u;else if("*"!==u&&u!==o){if(!(a=l[u+" "+o]||l["* "+o]))for(i in l)if((s=i.split(" "))[1]===o&&(a=l[u+" "+s[0]]||l["* "+s[0]])){!0===a?a=l[i]:!0!==l[i]&&(o=s[0],c.unshift(s[1]));break}if(!0!==a)if(a&&e["throws"])t=a(t);else try{t=a(t)}catch(e){return{state:"parsererror",error:a?e:"No conversion from "+u+" to "+o}}}return{state:"success",data:t}}w.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Ct.href,type:"GET",isLocal:Pt.test(Ct.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":$t,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":w.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?zt(zt(e,w.ajaxSettings),t):zt(w.ajaxSettings,e)},ajaxPrefilter:Ft(It),ajaxTransport:Ft(Wt),ajax:function(t,n){"object"==typeof t&&(n=t,t=void 0),n=n||{};var i,o,a,s,u,l,c,f,p,d,h=w.ajaxSetup({},n),g=h.context||h,y=h.context&&(g.nodeType||g.jquery)?w(g):w.event,v=w.Deferred(),m=w.Callbacks("once memory"),x=h.statusCode||{},b={},T={},C="canceled",E={readyState:0,getResponseHeader:function(e){var t;if(c){if(!s){s={};while(t=Ot.exec(a))s[t[1].toLowerCase()]=t[2]}t=s[e.toLowerCase()]}return null==t?null:t},getAllResponseHeaders:function(){return c?a:null},setRequestHeader:function(e,t){return null==c&&(e=T[e.toLowerCase()]=T[e.toLowerCase()]||e,b[e]=t),this},overrideMimeType:function(e){return null==c&&(h.mimeType=e),this},statusCode:function(e){var t;if(e)if(c)E.always(e[E.status]);else for(t in e)x[t]=[x[t],e[t]];return this},abort:function(e){var t=e||C;return i&&i.abort(t),k(0,t),this}};if(v.promise(E),h.url=((t||h.url||Ct.href)+"").replace(Rt,Ct.protocol+"//"),h.type=n.method||n.type||h.method||h.type,h.dataTypes=(h.dataType||"*").toLowerCase().match(M)||[""],null==h.crossDomain){l=r.createElement("a");try{l.href=h.url,l.href=l.href,h.crossDomain=Bt.protocol+"//"+Bt.host!=l.protocol+"//"+l.host}catch(e){h.crossDomain=!0}}if(h.data&&h.processData&&"string"!=typeof h.data&&(h.data=w.param(h.data,h.traditional)),_t(It,h,n,E),c)return E;(f=w.event&&h.global)&&0==w.active++&&w.event.trigger("ajaxStart"),h.type=h.type.toUpperCase(),h.hasContent=!Mt.test(h.type),o=h.url.replace(Lt,""),h.hasContent?h.data&&h.processData&&0===(h.contentType||"").indexOf("application/x-www-form-urlencoded")&&(h.data=h.data.replace(qt,"+")):(d=h.url.slice(o.length),h.data&&(h.processData||"string"==typeof h.data)&&(o+=(kt.test(o)?"&":"?")+h.data,delete h.data),!1===h.cache&&(o=o.replace(Ht,"$1"),d=(kt.test(o)?"&":"?")+"_="+Et+++d),h.url=o+d),h.ifModified&&(w.lastModified[o]&&E.setRequestHeader("If-Modified-Since",w.lastModified[o]),w.etag[o]&&E.setRequestHeader("If-None-Match",w.etag[o])),(h.data&&h.hasContent&&!1!==h.contentType||n.contentType)&&E.setRequestHeader("Content-Type",h.contentType),E.setRequestHeader("Accept",h.dataTypes[0]&&h.accepts[h.dataTypes[0]]?h.accepts[h.dataTypes[0]]+("*"!==h.dataTypes[0]?", "+$t+"; q=0.01":""):h.accepts["*"]);for(p in h.headers)E.setRequestHeader(p,h.headers[p]);if(h.beforeSend&&(!1===h.beforeSend.call(g,E,h)||c))return E.abort();if(C="abort",m.add(h.complete),E.done(h.success),E.fail(h.error),i=_t(Wt,h,n,E)){if(E.readyState=1,f&&y.trigger("ajaxSend",[E,h]),c)return E;h.async&&h.timeout>0&&(u=e.setTimeout(function(){E.abort("timeout")},h.timeout));try{c=!1,i.send(b,k)}catch(e){if(c)throw e;k(-1,e)}}else k(-1,"No Transport");function k(t,n,r,s){var l,p,d,b,T,C=n;c||(c=!0,u&&e.clearTimeout(u),i=void 0,a=s||"",E.readyState=t>0?4:0,l=t>=200&&t<300||304===t,r&&(b=Xt(h,E,r)),b=Ut(h,b,E,l),l?(h.ifModified&&((T=E.getResponseHeader("Last-Modified"))&&(w.lastModified[o]=T),(T=E.getResponseHeader("etag"))&&(w.etag[o]=T)),204===t||"HEAD"===h.type?C="nocontent":304===t?C="notmodified":(C=b.state,p=b.data,l=!(d=b.error))):(d=C,!t&&C||(C="error",t<0&&(t=0))),E.status=t,E.statusText=(n||C)+"",l?v.resolveWith(g,[p,C,E]):v.rejectWith(g,[E,C,d]),E.statusCode(x),x=void 0,f&&y.trigger(l?"ajaxSuccess":"ajaxError",[E,h,l?p:d]),m.fireWith(g,[E,C]),f&&(y.trigger("ajaxComplete",[E,h]),--w.active||w.event.trigger("ajaxStop")))}return E},getJSON:function(e,t,n){return w.get(e,t,n,"json")},getScript:function(e,t){return w.get(e,void 0,t,"script")}}),w.each(["get","post"],function(e,t){w[t]=function(e,n,r,i){return g(n)&&(i=i||r,r=n,n=void 0),w.ajax(w.extend({url:e,type:t,dataType:i,data:n,success:r},w.isPlainObject(e)&&e))}}),w._evalUrl=function(e){return w.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,"throws":!0})},w.fn.extend({wrapAll:function(e){var t;return this[0]&&(g(e)&&(e=e.call(this[0])),t=w(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstElementChild)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(e){return g(e)?this.each(function(t){w(this).wrapInner(e.call(this,t))}):this.each(function(){var t=w(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=g(e);return this.each(function(n){w(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(e){return this.parent(e).not("body").each(function(){w(this).replaceWith(this.childNodes)}),this}}),w.expr.pseudos.hidden=function(e){return!w.expr.pseudos.visible(e)},w.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},w.ajaxSettings.xhr=function(){try{return new e.XMLHttpRequest}catch(e){}};var Vt={0:200,1223:204},Gt=w.ajaxSettings.xhr();h.cors=!!Gt&&"withCredentials"in Gt,h.ajax=Gt=!!Gt,w.ajaxTransport(function(t){var n,r;if(h.cors||Gt&&!t.crossDomain)return{send:function(i,o){var a,s=t.xhr();if(s.open(t.type,t.url,t.async,t.username,t.password),t.xhrFields)for(a in t.xhrFields)s[a]=t.xhrFields[a];t.mimeType&&s.overrideMimeType&&s.overrideMimeType(t.mimeType),t.crossDomain||i["X-Requested-With"]||(i["X-Requested-With"]="XMLHttpRequest");for(a in i)s.setRequestHeader(a,i[a]);n=function(e){return function(){n&&(n=r=s.onload=s.onerror=s.onabort=s.ontimeout=s.onreadystatechange=null,"abort"===e?s.abort():"error"===e?"number"!=typeof s.status?o(0,"error"):o(s.status,s.statusText):o(Vt[s.status]||s.status,s.statusText,"text"!==(s.responseType||"text")||"string"!=typeof s.responseText?{binary:s.response}:{text:s.responseText},s.getAllResponseHeaders()))}},s.onload=n(),r=s.onerror=s.ontimeout=n("error"),void 0!==s.onabort?s.onabort=r:s.onreadystatechange=function(){4===s.readyState&&e.setTimeout(function(){n&&r()})},n=n("abort");try{s.send(t.hasContent&&t.data||null)}catch(e){if(n)throw e}},abort:function(){n&&n()}}}),w.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),w.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return w.globalEval(e),e}}}),w.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),w.ajaxTransport("script",function(e){if(e.crossDomain){var t,n;return{send:function(i,o){t=w("<script>").prop({charset:e.scriptCharset,src:e.url}).on("load error",n=function(e){t.remove(),n=null,e&&o("error"===e.type?404:200,e.type)}),r.head.appendChild(t[0])},abort:function(){n&&n()}}}});var Yt=[],Qt=/(=)\?(?=&|$)|\?\?/;w.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Yt.pop()||w.expando+"_"+Et++;return this[e]=!0,e}}),w.ajaxPrefilter("json jsonp",function(t,n,r){var i,o,a,s=!1!==t.jsonp&&(Qt.test(t.url)?"url":"string"==typeof t.data&&0===(t.contentType||"").indexOf("application/x-www-form-urlencoded")&&Qt.test(t.data)&&"data");if(s||"jsonp"===t.dataTypes[0])return i=t.jsonpCallback=g(t.jsonpCallback)?t.jsonpCallback():t.jsonpCallback,s?t[s]=t[s].replace(Qt,"$1"+i):!1!==t.jsonp&&(t.url+=(kt.test(t.url)?"&":"?")+t.jsonp+"="+i),t.converters["script json"]=function(){return a||w.error(i+" was not called"),a[0]},t.dataTypes[0]="json",o=e[i],e[i]=function(){a=arguments},r.always(function(){void 0===o?w(e).removeProp(i):e[i]=o,t[i]&&(t.jsonpCallback=n.jsonpCallback,Yt.push(i)),a&&g(o)&&o(a[0]),a=o=void 0}),"script"}),h.createHTMLDocument=function(){var e=r.implementation.createHTMLDocument("").body;return e.innerHTML="<form></form><form></form>",2===e.childNodes.length}(),w.parseHTML=function(e,t,n){if("string"!=typeof e)return[];"boolean"==typeof t&&(n=t,t=!1);var i,o,a;return t||(h.createHTMLDocument?((i=(t=r.implementation.createHTMLDocument("")).createElement("base")).href=r.location.href,t.head.appendChild(i)):t=r),o=A.exec(e),a=!n&&[],o?[t.createElement(o[1])]:(o=xe([e],t,a),a&&a.length&&w(a).remove(),w.merge([],o.childNodes))},w.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return s>-1&&(r=vt(e.slice(s)),e=e.slice(0,s)),g(t)?(n=t,t=void 0):t&&"object"==typeof t&&(i="POST"),a.length>0&&w.ajax({url:e,type:i||"GET",dataType:"html",data:t}).done(function(e){o=arguments,a.html(r?w("<div>").append(w.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},w.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){w.fn[t]=function(e){return this.on(t,e)}}),w.expr.pseudos.animated=function(e){return w.grep(w.timers,function(t){return e===t.elem}).length},w.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l,c=w.css(e,"position"),f=w(e),p={};"static"===c&&(e.style.position="relative"),s=f.offset(),o=w.css(e,"top"),u=w.css(e,"left"),(l=("absolute"===c||"fixed"===c)&&(o+u).indexOf("auto")>-1)?(a=(r=f.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),g(t)&&(t=t.call(e,n,w.extend({},s))),null!=t.top&&(p.top=t.top-s.top+a),null!=t.left&&(p.left=t.left-s.left+i),"using"in t?t.using.call(e,p):f.css(p)}},w.fn.extend({offset:function(e){if(arguments.length)return void 0===e?this:this.each(function(t){w.offset.setOffset(this,e,t)});var t,n,r=this[0];if(r)return r.getClientRects().length?(t=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:t.top+n.pageYOffset,left:t.left+n.pageXOffset}):{top:0,left:0}},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===w.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===w.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=w(e).offset()).top+=w.css(e,"borderTopWidth",!0),i.left+=w.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-w.css(r,"marginTop",!0),left:t.left-i.left-w.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===w.css(e,"position"))e=e.offsetParent;return e||be})}}),w.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(e,t){var n="pageYOffset"===t;w.fn[e]=function(r){return z(this,function(e,r,i){var o;if(y(e)?o=e:9===e.nodeType&&(o=e.defaultView),void 0===i)return o?o[t]:e[r];o?o.scrollTo(n?o.pageXOffset:i,n?i:o.pageYOffset):e[r]=i},e,r,arguments.length)}}),w.each(["top","left"],function(e,t){w.cssHooks[t]=_e(h.pixelPosition,function(e,n){if(n)return n=Fe(e,t),We.test(n)?w(e).position()[t]+"px":n})}),w.each({Height:"height",Width:"width"},function(e,t){w.each({padding:"inner"+e,content:t,"":"outer"+e},function(n,r){w.fn[r]=function(i,o){var a=arguments.length&&(n||"boolean"!=typeof i),s=n||(!0===i||!0===o?"margin":"border");return z(this,function(t,n,i){var o;return y(t)?0===r.indexOf("outer")?t["inner"+e]:t.document.documentElement["client"+e]:9===t.nodeType?(o=t.documentElement,Math.max(t.body["scroll"+e],o["scroll"+e],t.body["offset"+e],o["offset"+e],o["client"+e])):void 0===i?w.css(t,n,s):w.style(t,n,i,s)},t,a?i:void 0,a)}})}),w.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,t){w.fn[t]=function(e,n){return arguments.length>0?this.on(t,null,e,n):this.trigger(t)}}),w.fn.extend({hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),w.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)}}),w.proxy=function(e,t){var n,r,i;if("string"==typeof t&&(n=e[t],t=e,e=n),g(e))return r=o.call(arguments,2),i=function(){return e.apply(t||this,r.concat(o.call(arguments)))},i.guid=e.guid=e.guid||w.guid++,i},w.holdReady=function(e){e?w.readyWait++:w.ready(!0)},w.isArray=Array.isArray,w.parseJSON=JSON.parse,w.nodeName=N,w.isFunction=g,w.isWindow=y,w.camelCase=G,w.type=x,w.now=Date.now,w.isNumeric=function(e){var t=w.type(e);return("number"===t||"string"===t)&&!isNaN(e-parseFloat(e))},"function"==typeof define&&define.amd&&define("jquery",[],function(){return w});var Jt=e.jQuery,Kt=e.$;return w.noConflict=function(t){return e.$===w&&(e.$=Kt),t&&e.jQuery===w&&(e.jQuery=Jt),w},t||(e.jQuery=e.$=w),w});
-</script>
-    <script>/*
- Copyright (C) Federico Zivolo 2018
- Distributed under the MIT License (license terms are at http://opensource.org/licenses/MIT).
- */(function(e,t){'object'==typeof exports&&'undefined'!=typeof module?module.exports=t():'function'==typeof define&&define.amd?define(t):e.Popper=t()})(this,function(){'use strict';function e(e){return e&&'[object Function]'==={}.toString.call(e)}function t(e,t){if(1!==e.nodeType)return[];var o=getComputedStyle(e,null);return t?o[t]:o}function o(e){return'HTML'===e.nodeName?e:e.parentNode||e.host}function n(e){if(!e)return document.body;switch(e.nodeName){case'HTML':case'BODY':return e.ownerDocument.body;case'#document':return e.body;}var i=t(e),r=i.overflow,p=i.overflowX,s=i.overflowY;return /(auto|scroll|overlay)/.test(r+s+p)?e:n(o(e))}function r(e){return 11===e?re:10===e?pe:re||pe}function p(e){if(!e)return document.documentElement;for(var o=r(10)?document.body:null,n=e.offsetParent;n===o&&e.nextElementSibling;)n=(e=e.nextElementSibling).offsetParent;var i=n&&n.nodeName;return i&&'BODY'!==i&&'HTML'!==i?-1!==['TD','TABLE'].indexOf(n.nodeName)&&'static'===t(n,'position')?p(n):n:e?e.ownerDocument.documentElement:document.documentElement}function s(e){var t=e.nodeName;return'BODY'!==t&&('HTML'===t||p(e.firstElementChild)===e)}function d(e){return null===e.parentNode?e:d(e.parentNode)}function a(e,t){if(!e||!e.nodeType||!t||!t.nodeType)return document.documentElement;var o=e.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_FOLLOWING,n=o?e:t,i=o?t:e,r=document.createRange();r.setStart(n,0),r.setEnd(i,0);var l=r.commonAncestorContainer;if(e!==l&&t!==l||n.contains(i))return s(l)?l:p(l);var f=d(e);return f.host?a(f.host,t):a(e,d(t).host)}function l(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:'top',o='top'===t?'scrollTop':'scrollLeft',n=e.nodeName;if('BODY'===n||'HTML'===n){var i=e.ownerDocument.documentElement,r=e.ownerDocument.scrollingElement||i;return r[o]}return e[o]}function f(e,t){var o=2<arguments.length&&void 0!==arguments[2]&&arguments[2],n=l(t,'top'),i=l(t,'left'),r=o?-1:1;return e.top+=n*r,e.bottom+=n*r,e.left+=i*r,e.right+=i*r,e}function m(e,t){var o='x'===t?'Left':'Top',n='Left'==o?'Right':'Bottom';return parseFloat(e['border'+o+'Width'],10)+parseFloat(e['border'+n+'Width'],10)}function h(e,t,o,n){return $(t['offset'+e],t['scroll'+e],o['client'+e],o['offset'+e],o['scroll'+e],r(10)?o['offset'+e]+n['margin'+('Height'===e?'Top':'Left')]+n['margin'+('Height'===e?'Bottom':'Right')]:0)}function c(){var e=document.body,t=document.documentElement,o=r(10)&&getComputedStyle(t);return{height:h('Height',e,t,o),width:h('Width',e,t,o)}}function g(e){return le({},e,{right:e.left+e.width,bottom:e.top+e.height})}function u(e){var o={};try{if(r(10)){o=e.getBoundingClientRect();var n=l(e,'top'),i=l(e,'left');o.top+=n,o.left+=i,o.bottom+=n,o.right+=i}else o=e.getBoundingClientRect()}catch(t){}var p={left:o.left,top:o.top,width:o.right-o.left,height:o.bottom-o.top},s='HTML'===e.nodeName?c():{},d=s.width||e.clientWidth||p.right-p.left,a=s.height||e.clientHeight||p.bottom-p.top,f=e.offsetWidth-d,h=e.offsetHeight-a;if(f||h){var u=t(e);f-=m(u,'x'),h-=m(u,'y'),p.width-=f,p.height-=h}return g(p)}function b(e,o){var i=2<arguments.length&&void 0!==arguments[2]&&arguments[2],p=r(10),s='HTML'===o.nodeName,d=u(e),a=u(o),l=n(e),m=t(o),h=parseFloat(m.borderTopWidth,10),c=parseFloat(m.borderLeftWidth,10);i&&'HTML'===o.nodeName&&(a.top=$(a.top,0),a.left=$(a.left,0));var b=g({top:d.top-a.top-h,left:d.left-a.left-c,width:d.width,height:d.height});if(b.marginTop=0,b.marginLeft=0,!p&&s){var y=parseFloat(m.marginTop,10),w=parseFloat(m.marginLeft,10);b.top-=h-y,b.bottom-=h-y,b.left-=c-w,b.right-=c-w,b.marginTop=y,b.marginLeft=w}return(p&&!i?o.contains(l):o===l&&'BODY'!==l.nodeName)&&(b=f(b,o)),b}function y(e){var t=1<arguments.length&&void 0!==arguments[1]&&arguments[1],o=e.ownerDocument.documentElement,n=b(e,o),i=$(o.clientWidth,window.innerWidth||0),r=$(o.clientHeight,window.innerHeight||0),p=t?0:l(o),s=t?0:l(o,'left'),d={top:p-n.top+n.marginTop,left:s-n.left+n.marginLeft,width:i,height:r};return g(d)}function w(e){var n=e.nodeName;return'BODY'===n||'HTML'===n?!1:'fixed'===t(e,'position')||w(o(e))}function E(e){if(!e||!e.parentElement||r())return document.documentElement;for(var o=e.parentElement;o&&'none'===t(o,'transform');)o=o.parentElement;return o||document.documentElement}function v(e,t,i,r){var p=4<arguments.length&&void 0!==arguments[4]&&arguments[4],s={top:0,left:0},d=p?E(e):a(e,t);if('viewport'===r)s=y(d,p);else{var l;'scrollParent'===r?(l=n(o(t)),'BODY'===l.nodeName&&(l=e.ownerDocument.documentElement)):'window'===r?l=e.ownerDocument.documentElement:l=r;var f=b(l,d,p);if('HTML'===l.nodeName&&!w(d)){var m=c(),h=m.height,g=m.width;s.top+=f.top-f.marginTop,s.bottom=h+f.top,s.left+=f.left-f.marginLeft,s.right=g+f.left}else s=f}return s.left+=i,s.top+=i,s.right-=i,s.bottom-=i,s}function x(e){var t=e.width,o=e.height;return t*o}function O(e,t,o,n,i){var r=5<arguments.length&&void 0!==arguments[5]?arguments[5]:0;if(-1===e.indexOf('auto'))return e;var p=v(o,n,r,i),s={top:{width:p.width,height:t.top-p.top},right:{width:p.right-t.right,height:p.height},bottom:{width:p.width,height:p.bottom-t.bottom},left:{width:t.left-p.left,height:p.height}},d=Object.keys(s).map(function(e){return le({key:e},s[e],{area:x(s[e])})}).sort(function(e,t){return t.area-e.area}),a=d.filter(function(e){var t=e.width,n=e.height;return t>=o.clientWidth&&n>=o.clientHeight}),l=0<a.length?a[0].key:d[0].key,f=e.split('-')[1];return l+(f?'-'+f:'')}function L(e,t,o){var n=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null,i=n?E(t):a(t,o);return b(o,i,n)}function S(e){var t=getComputedStyle(e),o=parseFloat(t.marginTop)+parseFloat(t.marginBottom),n=parseFloat(t.marginLeft)+parseFloat(t.marginRight),i={width:e.offsetWidth+n,height:e.offsetHeight+o};return i}function T(e){var t={left:'right',right:'left',bottom:'top',top:'bottom'};return e.replace(/left|right|bottom|top/g,function(e){return t[e]})}function C(e,t,o){o=o.split('-')[0];var n=S(e),i={width:n.width,height:n.height},r=-1!==['right','left'].indexOf(o),p=r?'top':'left',s=r?'left':'top',d=r?'height':'width',a=r?'width':'height';return i[p]=t[p]+t[d]/2-n[d]/2,i[s]=o===s?t[s]-n[a]:t[T(s)],i}function D(e,t){return Array.prototype.find?e.find(t):e.filter(t)[0]}function N(e,t,o){if(Array.prototype.findIndex)return e.findIndex(function(e){return e[t]===o});var n=D(e,function(e){return e[t]===o});return e.indexOf(n)}function P(t,o,n){var i=void 0===n?t:t.slice(0,N(t,'name',n));return i.forEach(function(t){t['function']&&console.warn('`modifier.function` is deprecated, use `modifier.fn`!');var n=t['function']||t.fn;t.enabled&&e(n)&&(o.offsets.popper=g(o.offsets.popper),o.offsets.reference=g(o.offsets.reference),o=n(o,t))}),o}function k(){if(!this.state.isDestroyed){var e={instance:this,styles:{},arrowStyles:{},attributes:{},flipped:!1,offsets:{}};e.offsets.reference=L(this.state,this.popper,this.reference,this.options.positionFixed),e.placement=O(this.options.placement,e.offsets.reference,this.popper,this.reference,this.options.modifiers.flip.boundariesElement,this.options.modifiers.flip.padding),e.originalPlacement=e.placement,e.positionFixed=this.options.positionFixed,e.offsets.popper=C(this.popper,e.offsets.reference,e.placement),e.offsets.popper.position=this.options.positionFixed?'fixed':'absolute',e=P(this.modifiers,e),this.state.isCreated?this.options.onUpdate(e):(this.state.isCreated=!0,this.options.onCreate(e))}}function W(e,t){return e.some(function(e){var o=e.name,n=e.enabled;return n&&o===t})}function B(e){for(var t=[!1,'ms','Webkit','Moz','O'],o=e.charAt(0).toUpperCase()+e.slice(1),n=0;n<t.length;n++){var i=t[n],r=i?''+i+o:e;if('undefined'!=typeof document.body.style[r])return r}return null}function H(){return this.state.isDestroyed=!0,W(this.modifiers,'applyStyle')&&(this.popper.removeAttribute('x-placement'),this.popper.style.position='',this.popper.style.top='',this.popper.style.left='',this.popper.style.right='',this.popper.style.bottom='',this.popper.style.willChange='',this.popper.style[B('transform')]=''),this.disableEventListeners(),this.options.removeOnDestroy&&this.popper.parentNode.removeChild(this.popper),this}function A(e){var t=e.ownerDocument;return t?t.defaultView:window}function M(e,t,o,i){var r='BODY'===e.nodeName,p=r?e.ownerDocument.defaultView:e;p.addEventListener(t,o,{passive:!0}),r||M(n(p.parentNode),t,o,i),i.push(p)}function I(e,t,o,i){o.updateBound=i,A(e).addEventListener('resize',o.updateBound,{passive:!0});var r=n(e);return M(r,'scroll',o.updateBound,o.scrollParents),o.scrollElement=r,o.eventsEnabled=!0,o}function F(){this.state.eventsEnabled||(this.state=I(this.reference,this.options,this.state,this.scheduleUpdate))}function R(e,t){return A(e).removeEventListener('resize',t.updateBound),t.scrollParents.forEach(function(e){e.removeEventListener('scroll',t.updateBound)}),t.updateBound=null,t.scrollParents=[],t.scrollElement=null,t.eventsEnabled=!1,t}function U(){this.state.eventsEnabled&&(cancelAnimationFrame(this.scheduleUpdate),this.state=R(this.reference,this.state))}function Y(e){return''!==e&&!isNaN(parseFloat(e))&&isFinite(e)}function j(e,t){Object.keys(t).forEach(function(o){var n='';-1!==['width','height','top','right','bottom','left'].indexOf(o)&&Y(t[o])&&(n='px'),e.style[o]=t[o]+n})}function K(e,t){Object.keys(t).forEach(function(o){var n=t[o];!1===n?e.removeAttribute(o):e.setAttribute(o,t[o])})}function q(e,t,o){var n=D(e,function(e){var o=e.name;return o===t}),i=!!n&&e.some(function(e){return e.name===o&&e.enabled&&e.order<n.order});if(!i){var r='`'+t+'`';console.warn('`'+o+'`'+' modifier is required by '+r+' modifier in order to work, be sure to include it before '+r+'!')}return i}function G(e){return'end'===e?'start':'start'===e?'end':e}function z(e){var t=1<arguments.length&&void 0!==arguments[1]&&arguments[1],o=me.indexOf(e),n=me.slice(o+1).concat(me.slice(0,o));return t?n.reverse():n}function V(e,t,o,n){var i=e.match(/((?:\-|\+)?\d*\.?\d*)(.*)/),r=+i[1],p=i[2];if(!r)return e;if(0===p.indexOf('%')){var s;switch(p){case'%p':s=o;break;case'%':case'%r':default:s=n;}var d=g(s);return d[t]/100*r}if('vh'===p||'vw'===p){var a;return a='vh'===p?$(document.documentElement.clientHeight,window.innerHeight||0):$(document.documentElement.clientWidth,window.innerWidth||0),a/100*r}return r}function _(e,t,o,n){var i=[0,0],r=-1!==['right','left'].indexOf(n),p=e.split(/(\+|\-)/).map(function(e){return e.trim()}),s=p.indexOf(D(p,function(e){return-1!==e.search(/,|\s/)}));p[s]&&-1===p[s].indexOf(',')&&console.warn('Offsets separated by white space(s) are deprecated, use a comma (,) instead.');var d=/\s*,\s*|\s+/,a=-1===s?[p]:[p.slice(0,s).concat([p[s].split(d)[0]]),[p[s].split(d)[1]].concat(p.slice(s+1))];return a=a.map(function(e,n){var i=(1===n?!r:r)?'height':'width',p=!1;return e.reduce(function(e,t){return''===e[e.length-1]&&-1!==['+','-'].indexOf(t)?(e[e.length-1]=t,p=!0,e):p?(e[e.length-1]+=t,p=!1,e):e.concat(t)},[]).map(function(e){return V(e,i,t,o)})}),a.forEach(function(e,t){e.forEach(function(o,n){Y(o)&&(i[t]+=o*('-'===e[n-1]?-1:1))})}),i}function X(e,t){var o,n=t.offset,i=e.placement,r=e.offsets,p=r.popper,s=r.reference,d=i.split('-')[0];return o=Y(+n)?[+n,0]:_(n,p,s,d),'left'===d?(p.top+=o[0],p.left-=o[1]):'right'===d?(p.top+=o[0],p.left+=o[1]):'top'===d?(p.left+=o[0],p.top-=o[1]):'bottom'===d&&(p.left+=o[0],p.top+=o[1]),e.popper=p,e}for(var J=Math.min,Q=Math.round,Z=Math.floor,$=Math.max,ee='undefined'!=typeof window&&'undefined'!=typeof document,te=['Edge','Trident','Firefox'],oe=0,ne=0;ne<te.length;ne+=1)if(ee&&0<=navigator.userAgent.indexOf(te[ne])){oe=1;break}var i=ee&&window.Promise,ie=i?function(e){var t=!1;return function(){t||(t=!0,window.Promise.resolve().then(function(){t=!1,e()}))}}:function(e){var t=!1;return function(){t||(t=!0,setTimeout(function(){t=!1,e()},oe))}},re=ee&&!!(window.MSInputMethodContext&&document.documentMode),pe=ee&&/MSIE 10/.test(navigator.userAgent),se=function(e,t){if(!(e instanceof t))throw new TypeError('Cannot call a class as a function')},de=function(){function e(e,t){for(var o,n=0;n<t.length;n++)o=t[n],o.enumerable=o.enumerable||!1,o.configurable=!0,'value'in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}return function(t,o,n){return o&&e(t.prototype,o),n&&e(t,n),t}}(),ae=function(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e},le=Object.assign||function(e){for(var t,o=1;o<arguments.length;o++)for(var n in t=arguments[o],t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e},fe=['auto-start','auto','auto-end','top-start','top','top-end','right-start','right','right-end','bottom-end','bottom','bottom-start','left-end','left','left-start'],me=fe.slice(3),he={FLIP:'flip',CLOCKWISE:'clockwise',COUNTERCLOCKWISE:'counterclockwise'},ce=function(){function t(o,n){var i=this,r=2<arguments.length&&void 0!==arguments[2]?arguments[2]:{};se(this,t),this.scheduleUpdate=function(){return requestAnimationFrame(i.update)},this.update=ie(this.update.bind(this)),this.options=le({},t.Defaults,r),this.state={isDestroyed:!1,isCreated:!1,scrollParents:[]},this.reference=o&&o.jquery?o[0]:o,this.popper=n&&n.jquery?n[0]:n,this.options.modifiers={},Object.keys(le({},t.Defaults.modifiers,r.modifiers)).forEach(function(e){i.options.modifiers[e]=le({},t.Defaults.modifiers[e]||{},r.modifiers?r.modifiers[e]:{})}),this.modifiers=Object.keys(this.options.modifiers).map(function(e){return le({name:e},i.options.modifiers[e])}).sort(function(e,t){return e.order-t.order}),this.modifiers.forEach(function(t){t.enabled&&e(t.onLoad)&&t.onLoad(i.reference,i.popper,i.options,t,i.state)}),this.update();var p=this.options.eventsEnabled;p&&this.enableEventListeners(),this.state.eventsEnabled=p}return de(t,[{key:'update',value:function(){return k.call(this)}},{key:'destroy',value:function(){return H.call(this)}},{key:'enableEventListeners',value:function(){return F.call(this)}},{key:'disableEventListeners',value:function(){return U.call(this)}}]),t}();return ce.Utils=('undefined'==typeof window?global:window).PopperUtils,ce.placements=fe,ce.Defaults={placement:'bottom',positionFixed:!1,eventsEnabled:!0,removeOnDestroy:!1,onCreate:function(){},onUpdate:function(){},modifiers:{shift:{order:100,enabled:!0,fn:function(e){var t=e.placement,o=t.split('-')[0],n=t.split('-')[1];if(n){var i=e.offsets,r=i.reference,p=i.popper,s=-1!==['bottom','top'].indexOf(o),d=s?'left':'top',a=s?'width':'height',l={start:ae({},d,r[d]),end:ae({},d,r[d]+r[a]-p[a])};e.offsets.popper=le({},p,l[n])}return e}},offset:{order:200,enabled:!0,fn:X,offset:0},preventOverflow:{order:300,enabled:!0,fn:function(e,t){var o=t.boundariesElement||p(e.instance.popper);e.instance.reference===o&&(o=p(o));var n=B('transform'),i=e.instance.popper.style,r=i.top,s=i.left,d=i[n];i.top='',i.left='',i[n]='';var a=v(e.instance.popper,e.instance.reference,t.padding,o,e.positionFixed);i.top=r,i.left=s,i[n]=d,t.boundaries=a;var l=t.priority,f=e.offsets.popper,m={primary:function(e){var o=f[e];return f[e]<a[e]&&!t.escapeWithReference&&(o=$(f[e],a[e])),ae({},e,o)},secondary:function(e){var o='right'===e?'left':'top',n=f[o];return f[e]>a[e]&&!t.escapeWithReference&&(n=J(f[o],a[e]-('right'===e?f.width:f.height))),ae({},o,n)}};return l.forEach(function(e){var t=-1===['left','top'].indexOf(e)?'secondary':'primary';f=le({},f,m[t](e))}),e.offsets.popper=f,e},priority:['left','right','top','bottom'],padding:5,boundariesElement:'scrollParent'},keepTogether:{order:400,enabled:!0,fn:function(e){var t=e.offsets,o=t.popper,n=t.reference,i=e.placement.split('-')[0],r=Z,p=-1!==['top','bottom'].indexOf(i),s=p?'right':'bottom',d=p?'left':'top',a=p?'width':'height';return o[s]<r(n[d])&&(e.offsets.popper[d]=r(n[d])-o[a]),o[d]>r(n[s])&&(e.offsets.popper[d]=r(n[s])),e}},arrow:{order:500,enabled:!0,fn:function(e,o){var n;if(!q(e.instance.modifiers,'arrow','keepTogether'))return e;var i=o.element;if('string'==typeof i){if(i=e.instance.popper.querySelector(i),!i)return e;}else if(!e.instance.popper.contains(i))return console.warn('WARNING: `arrow.element` must be child of its popper element!'),e;var r=e.placement.split('-')[0],p=e.offsets,s=p.popper,d=p.reference,a=-1!==['left','right'].indexOf(r),l=a?'height':'width',f=a?'Top':'Left',m=f.toLowerCase(),h=a?'left':'top',c=a?'bottom':'right',u=S(i)[l];d[c]-u<s[m]&&(e.offsets.popper[m]-=s[m]-(d[c]-u)),d[m]+u>s[c]&&(e.offsets.popper[m]+=d[m]+u-s[c]),e.offsets.popper=g(e.offsets.popper);var b=d[m]+d[l]/2-u/2,y=t(e.instance.popper),w=parseFloat(y['margin'+f],10),E=parseFloat(y['border'+f+'Width'],10),v=b-e.offsets.popper[m]-w-E;return v=$(J(s[l]-u,v),0),e.arrowElement=i,e.offsets.arrow=(n={},ae(n,m,Q(v)),ae(n,h,''),n),e},element:'[x-arrow]'},flip:{order:600,enabled:!0,fn:function(e,t){if(W(e.instance.modifiers,'inner'))return e;if(e.flipped&&e.placement===e.originalPlacement)return e;var o=v(e.instance.popper,e.instance.reference,t.padding,t.boundariesElement,e.positionFixed),n=e.placement.split('-')[0],i=T(n),r=e.placement.split('-')[1]||'',p=[];switch(t.behavior){case he.FLIP:p=[n,i];break;case he.CLOCKWISE:p=z(n);break;case he.COUNTERCLOCKWISE:p=z(n,!0);break;default:p=t.behavior;}return p.forEach(function(s,d){if(n!==s||p.length===d+1)return e;n=e.placement.split('-')[0],i=T(n);var a=e.offsets.popper,l=e.offsets.reference,f=Z,m='left'===n&&f(a.right)>f(l.left)||'right'===n&&f(a.left)<f(l.right)||'top'===n&&f(a.bottom)>f(l.top)||'bottom'===n&&f(a.top)<f(l.bottom),h=f(a.left)<f(o.left),c=f(a.right)>f(o.right),g=f(a.top)<f(o.top),u=f(a.bottom)>f(o.bottom),b='left'===n&&h||'right'===n&&c||'top'===n&&g||'bottom'===n&&u,y=-1!==['top','bottom'].indexOf(n),w=!!t.flipVariations&&(y&&'start'===r&&h||y&&'end'===r&&c||!y&&'start'===r&&g||!y&&'end'===r&&u);(m||b||w)&&(e.flipped=!0,(m||b)&&(n=p[d+1]),w&&(r=G(r)),e.placement=n+(r?'-'+r:''),e.offsets.popper=le({},e.offsets.popper,C(e.instance.popper,e.offsets.reference,e.placement)),e=P(e.instance.modifiers,e,'flip'))}),e},behavior:'flip',padding:5,boundariesElement:'viewport'},inner:{order:700,enabled:!1,fn:function(e){var t=e.placement,o=t.split('-')[0],n=e.offsets,i=n.popper,r=n.reference,p=-1!==['left','right'].indexOf(o),s=-1===['top','left'].indexOf(o);return i[p?'left':'top']=r[o]-(s?i[p?'width':'height']:0),e.placement=T(t),e.offsets.popper=g(i),e}},hide:{order:800,enabled:!0,fn:function(e){if(!q(e.instance.modifiers,'hide','preventOverflow'))return e;var t=e.offsets.reference,o=D(e.instance.modifiers,function(e){return'preventOverflow'===e.name}).boundaries;if(t.bottom<o.top||t.left>o.right||t.top>o.bottom||t.right<o.left){if(!0===e.hide)return e;e.hide=!0,e.attributes['x-out-of-boundaries']=''}else{if(!1===e.hide)return e;e.hide=!1,e.attributes['x-out-of-boundaries']=!1}return e}},computeStyle:{order:850,enabled:!0,fn:function(e,t){var o=t.x,n=t.y,i=e.offsets.popper,r=D(e.instance.modifiers,function(e){return'applyStyle'===e.name}).gpuAcceleration;void 0!==r&&console.warn('WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!');var s,d,a=void 0===r?t.gpuAcceleration:r,l=p(e.instance.popper),f=u(l),m={position:i.position},h={left:Z(i.left),top:Q(i.top),bottom:Q(i.bottom),right:Z(i.right)},c='bottom'===o?'top':'bottom',g='right'===n?'left':'right',b=B('transform');if(d='bottom'==c?-f.height+h.bottom:h.top,s='right'==g?-f.width+h.right:h.left,a&&b)m[b]='translate3d('+s+'px, '+d+'px, 0)',m[c]=0,m[g]=0,m.willChange='transform';else{var y='bottom'==c?-1:1,w='right'==g?-1:1;m[c]=d*y,m[g]=s*w,m.willChange=c+', '+g}var E={"x-placement":e.placement};return e.attributes=le({},E,e.attributes),e.styles=le({},m,e.styles),e.arrowStyles=le({},e.offsets.arrow,e.arrowStyles),e},gpuAcceleration:!0,x:'bottom',y:'right'},applyStyle:{order:900,enabled:!0,fn:function(e){return j(e.instance.popper,e.styles),K(e.instance.popper,e.attributes),e.arrowElement&&Object.keys(e.arrowStyles).length&&j(e.arrowElement,e.arrowStyles),e},onLoad:function(e,t,o,n,i){var r=L(i,t,e,o.positionFixed),p=O(o.placement,r,t,e,o.modifiers.flip.boundariesElement,o.modifiers.flip.padding);return t.setAttribute('x-placement',p),j(t,{position:o.positionFixed?'fixed':'absolute'}),o},gpuAcceleration:void 0}}},ce});
-//# sourceMappingURL=popper.min.js.map
-</script>
-    <script>/*!
-  * Bootstrap v4.1.1 (https://getbootstrap.com/)
-  * Copyright 2011-2018 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
-  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
-  */
-!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("jquery"),require("popper.js")):"function"==typeof define&&define.amd?define(["exports","jquery","popper.js"],e):e(t.bootstrap={},t.jQuery,t.Popper)}(this,function(t,e,c){"use strict";function i(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}function o(t,e,n){return e&&i(t.prototype,e),n&&i(t,n),t}function h(r){for(var t=1;t<arguments.length;t++){var s=null!=arguments[t]?arguments[t]:{},e=Object.keys(s);"function"==typeof Object.getOwnPropertySymbols&&(e=e.concat(Object.getOwnPropertySymbols(s).filter(function(t){return Object.getOwnPropertyDescriptor(s,t).enumerable}))),e.forEach(function(t){var e,n,i;e=r,i=s[n=t],n in e?Object.defineProperty(e,n,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[n]=i})}return r}e=e&&e.hasOwnProperty("default")?e.default:e,c=c&&c.hasOwnProperty("default")?c.default:c;var r,n,s,a,l,u,f,d,_,g,m,p,v,E,y,T,C,I,A,D,b,S,w,N,O,k,P,L,j,R,H,W,M,x,U,K,F,V,Q,B,Y,G,q,z,X,J,Z,$,tt,et,nt,it,rt,st,ot,at,lt,ht,ct,ut,ft,dt,_t,gt,mt,pt,vt,Et,yt,Tt,Ct,It,At,Dt,bt,St,wt,Nt,Ot,kt,Pt,Lt,jt,Rt,Ht,Wt,Mt,xt,Ut,Kt,Ft,Vt,Qt,Bt,Yt,Gt,qt,zt,Xt,Jt,Zt,$t,te,ee,ne,ie,re,se,oe,ae,le,he,ce,ue,fe,de,_e,ge,me,pe,ve,Ee,ye,Te,Ce,Ie,Ae,De,be,Se,we,Ne,Oe,ke,Pe,Le,je,Re,He,We,Me,xe,Ue,Ke,Fe,Ve,Qe,Be,Ye,Ge,qe,ze,Xe,Je,Ze,$e,tn,en,nn,rn,sn,on,an,ln,hn,cn,un,fn,dn,_n,gn,mn,pn,vn,En,yn,Tn,Cn=function(i){var e="transitionend";function t(t){var e=this,n=!1;return i(this).one(l.TRANSITION_END,function(){n=!0}),setTimeout(function(){n||l.triggerTransitionEnd(e)},t),this}var l={TRANSITION_END:"bsTransitionEnd",getUID:function(t){for(;t+=~~(1e6*Math.random()),document.getElementById(t););return t},getSelectorFromElement:function(t){var e=t.getAttribute("data-target");e&&"#"!==e||(e=t.getAttribute("href")||"");try{return 0<i(document).find(e).length?e:null}catch(t){return null}},getTransitionDurationFromElement:function(t){if(!t)return 0;var e=i(t).css("transition-duration");return parseFloat(e)?(e=e.split(",")[0],1e3*parseFloat(e)):0},reflow:function(t){return t.offsetHeight},triggerTransitionEnd:function(t){i(t).trigger(e)},supportsTransitionEnd:function(){return Boolean(e)},isElement:function(t){return(t[0]||t).nodeType},typeCheckConfig:function(t,e,n){for(var i in n)if(Object.prototype.hasOwnProperty.call(n,i)){var r=n[i],s=e[i],o=s&&l.isElement(s)?"element":(a=s,{}.toString.call(a).match(/\s([a-z]+)/i)[1].toLowerCase());if(!new RegExp(r).test(o))throw new Error(t.toUpperCase()+': Option "'+i+'" provided type "'+o+'" but expected type "'+r+'".')}var a}};return i.fn.emulateTransitionEnd=t,i.event.special[l.TRANSITION_END]={bindType:e,delegateType:e,handle:function(t){if(i(t.target).is(this))return t.handleObj.handler.apply(this,arguments)}},l}(e),In=(n="alert",a="."+(s="bs.alert"),l=(r=e).fn[n],u={CLOSE:"close"+a,CLOSED:"closed"+a,CLICK_DATA_API:"click"+a+".data-api"},f="alert",d="fade",_="show",g=function(){function i(t){this._element=t}var t=i.prototype;return t.close=function(t){var e=this._element;t&&(e=this._getRootElement(t)),this._triggerCloseEvent(e).isDefaultPrevented()||this._removeElement(e)},t.dispose=function(){r.removeData(this._element,s),this._element=null},t._getRootElement=function(t){var e=Cn.getSelectorFromElement(t),n=!1;return e&&(n=r(e)[0]),n||(n=r(t).closest("."+f)[0]),n},t._triggerCloseEvent=function(t){var e=r.Event(u.CLOSE);return r(t).trigger(e),e},t._removeElement=function(e){var n=this;if(r(e).removeClass(_),r(e).hasClass(d)){var t=Cn.getTransitionDurationFromElement(e);r(e).one(Cn.TRANSITION_END,function(t){return n._destroyElement(e,t)}).emulateTransitionEnd(t)}else this._destroyElement(e)},t._destroyElement=function(t){r(t).detach().trigger(u.CLOSED).remove()},i._jQueryInterface=function(n){return this.each(function(){var t=r(this),e=t.data(s);e||(e=new i(this),t.data(s,e)),"close"===n&&e[n](this)})},i._handleDismiss=function(e){return function(t){t&&t.preventDefault(),e.close(this)}},o(i,null,[{key:"VERSION",get:function(){return"4.1.1"}}]),i}(),r(document).on(u.CLICK_DATA_API,'[data-dismiss="alert"]',g._handleDismiss(new g)),r.fn[n]=g._jQueryInterface,r.fn[n].Constructor=g,r.fn[n].noConflict=function(){return r.fn[n]=l,g._jQueryInterface},g),An=(p="button",E="."+(v="bs.button"),y=".data-api",T=(m=e).fn[p],C="active",I="btn",D='[data-toggle^="button"]',b='[data-toggle="buttons"]',S="input",w=".active",N=".btn",O={CLICK_DATA_API:"click"+E+y,FOCUS_BLUR_DATA_API:(A="focus")+E+y+" blur"+E+y},k=function(){function n(t){this._element=t}var t=n.prototype;return t.toggle=function(){var t=!0,e=!0,n=m(this._element).closest(b)[0];if(n){var i=m(this._element).find(S)[0];if(i){if("radio"===i.type)if(i.checked&&m(this._element).hasClass(C))t=!1;else{var r=m(n).find(w)[0];r&&m(r).removeClass(C)}if(t){if(i.hasAttribute("disabled")||n.hasAttribute("disabled")||i.classList.contains("disabled")||n.classList.contains("disabled"))return;i.checked=!m(this._element).hasClass(C),m(i).trigger("change")}i.focus(),e=!1}}e&&this._element.setAttribute("aria-pressed",!m(this._element).hasClass(C)),t&&m(this._element).toggleClass(C)},t.dispose=function(){m.removeData(this._element,v),this._element=null},n._jQueryInterface=function(e){return this.each(function(){var t=m(this).data(v);t||(t=new n(this),m(this).data(v,t)),"toggle"===e&&t[e]()})},o(n,null,[{key:"VERSION",get:function(){return"4.1.1"}}]),n}(),m(document).on(O.CLICK_DATA_API,D,function(t){t.preventDefault();var e=t.target;m(e).hasClass(I)||(e=m(e).closest(N)),k._jQueryInterface.call(m(e),"toggle")}).on(O.FOCUS_BLUR_DATA_API,D,function(t){var e=m(t.target).closest(N)[0];m(e).toggleClass(A,/^focus(in)?$/.test(t.type))}),m.fn[p]=k._jQueryInterface,m.fn[p].Constructor=k,m.fn[p].noConflict=function(){return m.fn[p]=T,k._jQueryInterface},k),Dn=(L="carousel",R="."+(j="bs.carousel"),H=".data-api",W=(P=e).fn[L],M={interval:5e3,keyboard:!0,slide:!1,pause:"hover",wrap:!0},x={interval:"(number|boolean)",keyboard:"boolean",slide:"(boolean|string)",pause:"(string|boolean)",wrap:"boolean"},U="next",K="prev",F="left",V="right",Q={SLIDE:"slide"+R,SLID:"slid"+R,KEYDOWN:"keydown"+R,MOUSEENTER:"mouseenter"+R,MOUSELEAVE:"mouseleave"+R,TOUCHEND:"touchend"+R,LOAD_DATA_API:"load"+R+H,CLICK_DATA_API:"click"+R+H},B="carousel",Y="active",G="slide",q="carousel-item-right",z="carousel-item-left",X="carousel-item-next",J="carousel-item-prev",Z={ACTIVE:".active",ACTIVE_ITEM:".active.carousel-item",ITEM:".carousel-item",NEXT_PREV:".carousel-item-next, .carousel-item-prev",INDICATORS:".carousel-indicators",DATA_SLIDE:"[data-slide], [data-slide-to]",DATA_RIDE:'[data-ride="carousel"]'},$=function(){function s(t,e){this._items=null,this._interval=null,this._activeElement=null,this._isPaused=!1,this._isSliding=!1,this.touchTimeout=null,this._config=this._getConfig(e),this._element=P(t)[0],this._indicatorsElement=P(this._element).find(Z.INDICATORS)[0],this._addEventListeners()}var t=s.prototype;return t.next=function(){this._isSliding||this._slide(U)},t.nextWhenVisible=function(){!document.hidden&&P(this._element).is(":visible")&&"hidden"!==P(this._element).css("visibility")&&this.next()},t.prev=function(){this._isSliding||this._slide(K)},t.pause=function(t){t||(this._isPaused=!0),P(this._element).find(Z.NEXT_PREV)[0]&&(Cn.triggerTransitionEnd(this._element),this.cycle(!0)),clearInterval(this._interval),this._interval=null},t.cycle=function(t){t||(this._isPaused=!1),this._interval&&(clearInterval(this._interval),this._interval=null),this._config.interval&&!this._isPaused&&(this._interval=setInterval((document.visibilityState?this.nextWhenVisible:this.next).bind(this),this._config.interval))},t.to=function(t){var e=this;this._activeElement=P(this._element).find(Z.ACTIVE_ITEM)[0];var n=this._getItemIndex(this._activeElement);if(!(t>this._items.length-1||t<0))if(this._isSliding)P(this._element).one(Q.SLID,function(){return e.to(t)});else{if(n===t)return this.pause(),void this.cycle();var i=n<t?U:K;this._slide(i,this._items[t])}},t.dispose=function(){P(this._element).off(R),P.removeData(this._element,j),this._items=null,this._config=null,this._element=null,this._interval=null,this._isPaused=null,this._isSliding=null,this._activeElement=null,this._indicatorsElement=null},t._getConfig=function(t){return t=h({},M,t),Cn.typeCheckConfig(L,t,x),t},t._addEventListeners=function(){var e=this;this._config.keyboard&&P(this._element).on(Q.KEYDOWN,function(t){return e._keydown(t)}),"hover"===this._config.pause&&(P(this._element).on(Q.MOUSEENTER,function(t){return e.pause(t)}).on(Q.MOUSELEAVE,function(t){return e.cycle(t)}),"ontouchstart"in document.documentElement&&P(this._element).on(Q.TOUCHEND,function(){e.pause(),e.touchTimeout&&clearTimeout(e.touchTimeout),e.touchTimeout=setTimeout(function(t){return e.cycle(t)},500+e._config.interval)}))},t._keydown=function(t){if(!/input|textarea/i.test(t.target.tagName))switch(t.which){case 37:t.preventDefault(),this.prev();break;case 39:t.preventDefault(),this.next()}},t._getItemIndex=function(t){return this._items=P.makeArray(P(t).parent().find(Z.ITEM)),this._items.indexOf(t)},t._getItemByDirection=function(t,e){var n=t===U,i=t===K,r=this._getItemIndex(e),s=this._items.length-1;if((i&&0===r||n&&r===s)&&!this._config.wrap)return e;var o=(r+(t===K?-1:1))%this._items.length;return-1===o?this._items[this._items.length-1]:this._items[o]},t._triggerSlideEvent=function(t,e){var n=this._getItemIndex(t),i=this._getItemIndex(P(this._element).find(Z.ACTIVE_ITEM)[0]),r=P.Event(Q.SLIDE,{relatedTarget:t,direction:e,from:i,to:n});return P(this._element).trigger(r),r},t._setActiveIndicatorElement=function(t){if(this._indicatorsElement){P(this._indicatorsElement).find(Z.ACTIVE).removeClass(Y);var e=this._indicatorsElement.children[this._getItemIndex(t)];e&&P(e).addClass(Y)}},t._slide=function(t,e){var n,i,r,s=this,o=P(this._element).find(Z.ACTIVE_ITEM)[0],a=this._getItemIndex(o),l=e||o&&this._getItemByDirection(t,o),h=this._getItemIndex(l),c=Boolean(this._interval);if(t===U?(n=z,i=X,r=F):(n=q,i=J,r=V),l&&P(l).hasClass(Y))this._isSliding=!1;else if(!this._triggerSlideEvent(l,r).isDefaultPrevented()&&o&&l){this._isSliding=!0,c&&this.pause(),this._setActiveIndicatorElement(l);var u=P.Event(Q.SLID,{relatedTarget:l,direction:r,from:a,to:h});if(P(this._element).hasClass(G)){P(l).addClass(i),Cn.reflow(l),P(o).addClass(n),P(l).addClass(n);var f=Cn.getTransitionDurationFromElement(o);P(o).one(Cn.TRANSITION_END,function(){P(l).removeClass(n+" "+i).addClass(Y),P(o).removeClass(Y+" "+i+" "+n),s._isSliding=!1,setTimeout(function(){return P(s._element).trigger(u)},0)}).emulateTransitionEnd(f)}else P(o).removeClass(Y),P(l).addClass(Y),this._isSliding=!1,P(this._element).trigger(u);c&&this.cycle()}},s._jQueryInterface=function(i){return this.each(function(){var t=P(this).data(j),e=h({},M,P(this).data());"object"==typeof i&&(e=h({},e,i));var n="string"==typeof i?i:e.slide;if(t||(t=new s(this,e),P(this).data(j,t)),"number"==typeof i)t.to(i);else if("string"==typeof n){if("undefined"==typeof t[n])throw new TypeError('No method named "'+n+'"');t[n]()}else e.interval&&(t.pause(),t.cycle())})},s._dataApiClickHandler=function(t){var e=Cn.getSelectorFromElement(this);if(e){var n=P(e)[0];if(n&&P(n).hasClass(B)){var i=h({},P(n).data(),P(this).data()),r=this.getAttribute("data-slide-to");r&&(i.interval=!1),s._jQueryInterface.call(P(n),i),r&&P(n).data(j).to(r),t.preventDefault()}}},o(s,null,[{key:"VERSION",get:function(){return"4.1.1"}},{key:"Default",get:function(){return M}}]),s}(),P(document).on(Q.CLICK_DATA_API,Z.DATA_SLIDE,$._dataApiClickHandler),P(window).on(Q.LOAD_DATA_API,function(){P(Z.DATA_RIDE).each(function(){var t=P(this);$._jQueryInterface.call(t,t.data())})}),P.fn[L]=$._jQueryInterface,P.fn[L].Constructor=$,P.fn[L].noConflict=function(){return P.fn[L]=W,$._jQueryInterface},$),bn=(et="collapse",it="."+(nt="bs.collapse"),rt=(tt=e).fn[et],st={toggle:!0,parent:""},ot={toggle:"boolean",parent:"(string|element)"},at={SHOW:"show"+it,SHOWN:"shown"+it,HIDE:"hide"+it,HIDDEN:"hidden"+it,CLICK_DATA_API:"click"+it+".data-api"},lt="show",ht="collapse",ct="collapsing",ut="collapsed",ft="width",dt="height",_t={ACTIVES:".show, .collapsing",DATA_TOGGLE:'[data-toggle="collapse"]'},gt=function(){function a(t,e){this._isTransitioning=!1,this._element=t,this._config=this._getConfig(e),this._triggerArray=tt.makeArray(tt('[data-toggle="collapse"][href="#'+t.id+'"],[data-toggle="collapse"][data-target="#'+t.id+'"]'));for(var n=tt(_t.DATA_TOGGLE),i=0;i<n.length;i++){var r=n[i],s=Cn.getSelectorFromElement(r);null!==s&&0<tt(s).filter(t).length&&(this._selector=s,this._triggerArray.push(r))}this._parent=this._config.parent?this._getParent():null,this._config.parent||this._addAriaAndCollapsedClass(this._element,this._triggerArray),this._config.toggle&&this.toggle()}var t=a.prototype;return t.toggle=function(){tt(this._element).hasClass(lt)?this.hide():this.show()},t.show=function(){var t,e,n=this;if(!this._isTransitioning&&!tt(this._element).hasClass(lt)&&(this._parent&&0===(t=tt.makeArray(tt(this._parent).find(_t.ACTIVES).filter('[data-parent="'+this._config.parent+'"]'))).length&&(t=null),!(t&&(e=tt(t).not(this._selector).data(nt))&&e._isTransitioning))){var i=tt.Event(at.SHOW);if(tt(this._element).trigger(i),!i.isDefaultPrevented()){t&&(a._jQueryInterface.call(tt(t).not(this._selector),"hide"),e||tt(t).data(nt,null));var r=this._getDimension();tt(this._element).removeClass(ht).addClass(ct),(this._element.style[r]=0)<this._triggerArray.length&&tt(this._triggerArray).removeClass(ut).attr("aria-expanded",!0),this.setTransitioning(!0);var s="scroll"+(r[0].toUpperCase()+r.slice(1)),o=Cn.getTransitionDurationFromElement(this._element);tt(this._element).one(Cn.TRANSITION_END,function(){tt(n._element).removeClass(ct).addClass(ht).addClass(lt),n._element.style[r]="",n.setTransitioning(!1),tt(n._element).trigger(at.SHOWN)}).emulateTransitionEnd(o),this._element.style[r]=this._element[s]+"px"}}},t.hide=function(){var t=this;if(!this._isTransitioning&&tt(this._element).hasClass(lt)){var e=tt.Event(at.HIDE);if(tt(this._element).trigger(e),!e.isDefaultPrevented()){var n=this._getDimension();if(this._element.style[n]=this._element.getBoundingClientRect()[n]+"px",Cn.reflow(this._element),tt(this._element).addClass(ct).removeClass(ht).removeClass(lt),0<this._triggerArray.length)for(var i=0;i<this._triggerArray.length;i++){var r=this._triggerArray[i],s=Cn.getSelectorFromElement(r);if(null!==s)tt(s).hasClass(lt)||tt(r).addClass(ut).attr("aria-expanded",!1)}this.setTransitioning(!0);this._element.style[n]="";var o=Cn.getTransitionDurationFromElement(this._element);tt(this._element).one(Cn.TRANSITION_END,function(){t.setTransitioning(!1),tt(t._element).removeClass(ct).addClass(ht).trigger(at.HIDDEN)}).emulateTransitionEnd(o)}}},t.setTransitioning=function(t){this._isTransitioning=t},t.dispose=function(){tt.removeData(this._element,nt),this._config=null,this._parent=null,this._element=null,this._triggerArray=null,this._isTransitioning=null},t._getConfig=function(t){return(t=h({},st,t)).toggle=Boolean(t.toggle),Cn.typeCheckConfig(et,t,ot),t},t._getDimension=function(){return tt(this._element).hasClass(ft)?ft:dt},t._getParent=function(){var n=this,t=null;Cn.isElement(this._config.parent)?(t=this._config.parent,"undefined"!=typeof this._config.parent.jquery&&(t=this._config.parent[0])):t=tt(this._config.parent)[0];var e='[data-toggle="collapse"][data-parent="'+this._config.parent+'"]';return tt(t).find(e).each(function(t,e){n._addAriaAndCollapsedClass(a._getTargetFromElement(e),[e])}),t},t._addAriaAndCollapsedClass=function(t,e){if(t){var n=tt(t).hasClass(lt);0<e.length&&tt(e).toggleClass(ut,!n).attr("aria-expanded",n)}},a._getTargetFromElement=function(t){var e=Cn.getSelectorFromElement(t);return e?tt(e)[0]:null},a._jQueryInterface=function(i){return this.each(function(){var t=tt(this),e=t.data(nt),n=h({},st,t.data(),"object"==typeof i&&i?i:{});if(!e&&n.toggle&&/show|hide/.test(i)&&(n.toggle=!1),e||(e=new a(this,n),t.data(nt,e)),"string"==typeof i){if("undefined"==typeof e[i])throw new TypeError('No method named "'+i+'"');e[i]()}})},o(a,null,[{key:"VERSION",get:function(){return"4.1.1"}},{key:"Default",get:function(){return st}}]),a}(),tt(document).on(at.CLICK_DATA_API,_t.DATA_TOGGLE,function(t){"A"===t.currentTarget.tagName&&t.preventDefault();var n=tt(this),e=Cn.getSelectorFromElement(this);tt(e).each(function(){var t=tt(this),e=t.data(nt)?"toggle":n.data();gt._jQueryInterface.call(t,e)})}),tt.fn[et]=gt._jQueryInterface,tt.fn[et].Constructor=gt,tt.fn[et].noConflict=function(){return tt.fn[et]=rt,gt._jQueryInterface},gt),Sn=(pt="dropdown",Et="."+(vt="bs.dropdown"),yt=".data-api",Tt=(mt=e).fn[pt],Ct=new RegExp("38|40|27"),It={HIDE:"hide"+Et,HIDDEN:"hidden"+Et,SHOW:"show"+Et,SHOWN:"shown"+Et,CLICK:"click"+Et,CLICK_DATA_API:"click"+Et+yt,KEYDOWN_DATA_API:"keydown"+Et+yt,KEYUP_DATA_API:"keyup"+Et+yt},At="disabled",Dt="show",bt="dropup",St="dropright",wt="dropleft",Nt="dropdown-menu-right",Ot="position-static",kt='[data-toggle="dropdown"]',Pt=".dropdown form",Lt=".dropdown-menu",jt=".navbar-nav",Rt=".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",Ht="top-start",Wt="top-end",Mt="bottom-start",xt="bottom-end",Ut="right-start",Kt="left-start",Ft={offset:0,flip:!0,boundary:"scrollParent",reference:"toggle",display:"dynamic"},Vt={offset:"(number|string|function)",flip:"boolean",boundary:"(string|element)",reference:"(string|element)",display:"string"},Qt=function(){function l(t,e){this._element=t,this._popper=null,this._config=this._getConfig(e),this._menu=this._getMenuElement(),this._inNavbar=this._detectNavbar(),this._addEventListeners()}var t=l.prototype;return t.toggle=function(){if(!this._element.disabled&&!mt(this._element).hasClass(At)){var t=l._getParentFromElement(this._element),e=mt(this._menu).hasClass(Dt);if(l._clearMenus(),!e){var n={relatedTarget:this._element},i=mt.Event(It.SHOW,n);if(mt(t).trigger(i),!i.isDefaultPrevented()){if(!this._inNavbar){if("undefined"==typeof c)throw new TypeError("Bootstrap dropdown require Popper.js (https://popper.js.org)");var r=this._element;"parent"===this._config.reference?r=t:Cn.isElement(this._config.reference)&&(r=this._config.reference,"undefined"!=typeof this._config.reference.jquery&&(r=this._config.reference[0])),"scrollParent"!==this._config.boundary&&mt(t).addClass(Ot),this._popper=new c(r,this._menu,this._getPopperConfig())}"ontouchstart"in document.documentElement&&0===mt(t).closest(jt).length&&mt(document.body).children().on("mouseover",null,mt.noop),this._element.focus(),this._element.setAttribute("aria-expanded",!0),mt(this._menu).toggleClass(Dt),mt(t).toggleClass(Dt).trigger(mt.Event(It.SHOWN,n))}}}},t.dispose=function(){mt.removeData(this._element,vt),mt(this._element).off(Et),this._element=null,(this._menu=null)!==this._popper&&(this._popper.destroy(),this._popper=null)},t.update=function(){this._inNavbar=this._detectNavbar(),null!==this._popper&&this._popper.scheduleUpdate()},t._addEventListeners=function(){var e=this;mt(this._element).on(It.CLICK,function(t){t.preventDefault(),t.stopPropagation(),e.toggle()})},t._getConfig=function(t){return t=h({},this.constructor.Default,mt(this._element).data(),t),Cn.typeCheckConfig(pt,t,this.constructor.DefaultType),t},t._getMenuElement=function(){if(!this._menu){var t=l._getParentFromElement(this._element);this._menu=mt(t).find(Lt)[0]}return this._menu},t._getPlacement=function(){var t=mt(this._element).parent(),e=Mt;return t.hasClass(bt)?(e=Ht,mt(this._menu).hasClass(Nt)&&(e=Wt)):t.hasClass(St)?e=Ut:t.hasClass(wt)?e=Kt:mt(this._menu).hasClass(Nt)&&(e=xt),e},t._detectNavbar=function(){return 0<mt(this._element).closest(".navbar").length},t._getPopperConfig=function(){var e=this,t={};"function"==typeof this._config.offset?t.fn=function(t){return t.offsets=h({},t.offsets,e._config.offset(t.offsets)||{}),t}:t.offset=this._config.offset;var n={placement:this._getPlacement(),modifiers:{offset:t,flip:{enabled:this._config.flip},preventOverflow:{boundariesElement:this._config.boundary}}};return"static"===this._config.display&&(n.modifiers.applyStyle={enabled:!1}),n},l._jQueryInterface=function(e){return this.each(function(){var t=mt(this).data(vt);if(t||(t=new l(this,"object"==typeof e?e:null),mt(this).data(vt,t)),"string"==typeof e){if("undefined"==typeof t[e])throw new TypeError('No method named "'+e+'"');t[e]()}})},l._clearMenus=function(t){if(!t||3!==t.which&&("keyup"!==t.type||9===t.which))for(var e=mt.makeArray(mt(kt)),n=0;n<e.length;n++){var i=l._getParentFromElement(e[n]),r=mt(e[n]).data(vt),s={relatedTarget:e[n]};if(r){var o=r._menu;if(mt(i).hasClass(Dt)&&!(t&&("click"===t.type&&/input|textarea/i.test(t.target.tagName)||"keyup"===t.type&&9===t.which)&&mt.contains(i,t.target))){var a=mt.Event(It.HIDE,s);mt(i).trigger(a),a.isDefaultPrevented()||("ontouchstart"in document.documentElement&&mt(document.body).children().off("mouseover",null,mt.noop),e[n].setAttribute("aria-expanded","false"),mt(o).removeClass(Dt),mt(i).removeClass(Dt).trigger(mt.Event(It.HIDDEN,s)))}}}},l._getParentFromElement=function(t){var e,n=Cn.getSelectorFromElement(t);return n&&(e=mt(n)[0]),e||t.parentNode},l._dataApiKeydownHandler=function(t){if((/input|textarea/i.test(t.target.tagName)?!(32===t.which||27!==t.which&&(40!==t.which&&38!==t.which||mt(t.target).closest(Lt).length)):Ct.test(t.which))&&(t.preventDefault(),t.stopPropagation(),!this.disabled&&!mt(this).hasClass(At))){var e=l._getParentFromElement(this),n=mt(e).hasClass(Dt);if((n||27===t.which&&32===t.which)&&(!n||27!==t.which&&32!==t.which)){var i=mt(e).find(Rt).get();if(0!==i.length){var r=i.indexOf(t.target);38===t.which&&0<r&&r--,40===t.which&&r<i.length-1&&r++,r<0&&(r=0),i[r].focus()}}else{if(27===t.which){var s=mt(e).find(kt)[0];mt(s).trigger("focus")}mt(this).trigger("click")}}},o(l,null,[{key:"VERSION",get:function(){return"4.1.1"}},{key:"Default",get:function(){return Ft}},{key:"DefaultType",get:function(){return Vt}}]),l}(),mt(document).on(It.KEYDOWN_DATA_API,kt,Qt._dataApiKeydownHandler).on(It.KEYDOWN_DATA_API,Lt,Qt._dataApiKeydownHandler).on(It.CLICK_DATA_API+" "+It.KEYUP_DATA_API,Qt._clearMenus).on(It.CLICK_DATA_API,kt,function(t){t.preventDefault(),t.stopPropagation(),Qt._jQueryInterface.call(mt(this),"toggle")}).on(It.CLICK_DATA_API,Pt,function(t){t.stopPropagation()}),mt.fn[pt]=Qt._jQueryInterface,mt.fn[pt].Constructor=Qt,mt.fn[pt].noConflict=function(){return mt.fn[pt]=Tt,Qt._jQueryInterface},Qt),wn=(Yt="modal",qt="."+(Gt="bs.modal"),zt=(Bt=e).fn[Yt],Xt={backdrop:!0,keyboard:!0,focus:!0,show:!0},Jt={backdrop:"(boolean|string)",keyboard:"boolean",focus:"boolean",show:"boolean"},Zt={HIDE:"hide"+qt,HIDDEN:"hidden"+qt,SHOW:"show"+qt,SHOWN:"shown"+qt,FOCUSIN:"focusin"+qt,RESIZE:"resize"+qt,CLICK_DISMISS:"click.dismiss"+qt,KEYDOWN_DISMISS:"keydown.dismiss"+qt,MOUSEUP_DISMISS:"mouseup.dismiss"+qt,MOUSEDOWN_DISMISS:"mousedown.dismiss"+qt,CLICK_DATA_API:"click"+qt+".data-api"},$t="modal-scrollbar-measure",te="modal-backdrop",ee="modal-open",ne="fade",ie="show",re={DIALOG:".modal-dialog",DATA_TOGGLE:'[data-toggle="modal"]',DATA_DISMISS:'[data-dismiss="modal"]',FIXED_CONTENT:".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",STICKY_CONTENT:".sticky-top",NAVBAR_TOGGLER:".navbar-toggler"},se=function(){function r(t,e){this._config=this._getConfig(e),this._element=t,this._dialog=Bt(t).find(re.DIALOG)[0],this._backdrop=null,this._isShown=!1,this._isBodyOverflowing=!1,this._ignoreBackdropClick=!1,this._scrollbarWidth=0}var t=r.prototype;return t.toggle=function(t){return this._isShown?this.hide():this.show(t)},t.show=function(t){var e=this;if(!this._isTransitioning&&!this._isShown){Bt(this._element).hasClass(ne)&&(this._isTransitioning=!0);var n=Bt.Event(Zt.SHOW,{relatedTarget:t});Bt(this._element).trigger(n),this._isShown||n.isDefaultPrevented()||(this._isShown=!0,this._checkScrollbar(),this._setScrollbar(),this._adjustDialog(),Bt(document.body).addClass(ee),this._setEscapeEvent(),this._setResizeEvent(),Bt(this._element).on(Zt.CLICK_DISMISS,re.DATA_DISMISS,function(t){return e.hide(t)}),Bt(this._dialog).on(Zt.MOUSEDOWN_DISMISS,function(){Bt(e._element).one(Zt.MOUSEUP_DISMISS,function(t){Bt(t.target).is(e._element)&&(e._ignoreBackdropClick=!0)})}),this._showBackdrop(function(){return e._showElement(t)}))}},t.hide=function(t){var e=this;if(t&&t.preventDefault(),!this._isTransitioning&&this._isShown){var n=Bt.Event(Zt.HIDE);if(Bt(this._element).trigger(n),this._isShown&&!n.isDefaultPrevented()){this._isShown=!1;var i=Bt(this._element).hasClass(ne);if(i&&(this._isTransitioning=!0),this._setEscapeEvent(),this._setResizeEvent(),Bt(document).off(Zt.FOCUSIN),Bt(this._element).removeClass(ie),Bt(this._element).off(Zt.CLICK_DISMISS),Bt(this._dialog).off(Zt.MOUSEDOWN_DISMISS),i){var r=Cn.getTransitionDurationFromElement(this._element);Bt(this._element).one(Cn.TRANSITION_END,function(t){return e._hideModal(t)}).emulateTransitionEnd(r)}else this._hideModal()}}},t.dispose=function(){Bt.removeData(this._element,Gt),Bt(window,document,this._element,this._backdrop).off(qt),this._config=null,this._element=null,this._dialog=null,this._backdrop=null,this._isShown=null,this._isBodyOverflowing=null,this._ignoreBackdropClick=null,this._scrollbarWidth=null},t.handleUpdate=function(){this._adjustDialog()},t._getConfig=function(t){return t=h({},Xt,t),Cn.typeCheckConfig(Yt,t,Jt),t},t._showElement=function(t){var e=this,n=Bt(this._element).hasClass(ne);this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE||document.body.appendChild(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.scrollTop=0,n&&Cn.reflow(this._element),Bt(this._element).addClass(ie),this._config.focus&&this._enforceFocus();var i=Bt.Event(Zt.SHOWN,{relatedTarget:t}),r=function(){e._config.focus&&e._element.focus(),e._isTransitioning=!1,Bt(e._element).trigger(i)};if(n){var s=Cn.getTransitionDurationFromElement(this._element);Bt(this._dialog).one(Cn.TRANSITION_END,r).emulateTransitionEnd(s)}else r()},t._enforceFocus=function(){var e=this;Bt(document).off(Zt.FOCUSIN).on(Zt.FOCUSIN,function(t){document!==t.target&&e._element!==t.target&&0===Bt(e._element).has(t.target).length&&e._element.focus()})},t._setEscapeEvent=function(){var e=this;this._isShown&&this._config.keyboard?Bt(this._element).on(Zt.KEYDOWN_DISMISS,function(t){27===t.which&&(t.preventDefault(),e.hide())}):this._isShown||Bt(this._element).off(Zt.KEYDOWN_DISMISS)},t._setResizeEvent=function(){var e=this;this._isShown?Bt(window).on(Zt.RESIZE,function(t){return e.handleUpdate(t)}):Bt(window).off(Zt.RESIZE)},t._hideModal=function(){var t=this;this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._isTransitioning=!1,this._showBackdrop(function(){Bt(document.body).removeClass(ee),t._resetAdjustments(),t._resetScrollbar(),Bt(t._element).trigger(Zt.HIDDEN)})},t._removeBackdrop=function(){this._backdrop&&(Bt(this._backdrop).remove(),this._backdrop=null)},t._showBackdrop=function(t){var e=this,n=Bt(this._element).hasClass(ne)?ne:"";if(this._isShown&&this._config.backdrop){if(this._backdrop=document.createElement("div"),this._backdrop.className=te,n&&Bt(this._backdrop).addClass(n),Bt(this._backdrop).appendTo(document.body),Bt(this._element).on(Zt.CLICK_DISMISS,function(t){e._ignoreBackdropClick?e._ignoreBackdropClick=!1:t.target===t.currentTarget&&("static"===e._config.backdrop?e._element.focus():e.hide())}),n&&Cn.reflow(this._backdrop),Bt(this._backdrop).addClass(ie),!t)return;if(!n)return void t();var i=Cn.getTransitionDurationFromElement(this._backdrop);Bt(this._backdrop).one(Cn.TRANSITION_END,t).emulateTransitionEnd(i)}else if(!this._isShown&&this._backdrop){Bt(this._backdrop).removeClass(ie);var r=function(){e._removeBackdrop(),t&&t()};if(Bt(this._element).hasClass(ne)){var s=Cn.getTransitionDurationFromElement(this._backdrop);Bt(this._backdrop).one(Cn.TRANSITION_END,r).emulateTransitionEnd(s)}else r()}else t&&t()},t._adjustDialog=function(){var t=this._element.scrollHeight>document.documentElement.clientHeight;!this._isBodyOverflowing&&t&&(this._element.style.paddingLeft=this._scrollbarWidth+"px"),this._isBodyOverflowing&&!t&&(this._element.style.paddingRight=this._scrollbarWidth+"px")},t._resetAdjustments=function(){this._element.style.paddingLeft="",this._element.style.paddingRight=""},t._checkScrollbar=function(){var t=document.body.getBoundingClientRect();this._isBodyOverflowing=t.left+t.right<window.innerWidth,this._scrollbarWidth=this._getScrollbarWidth()},t._setScrollbar=function(){var r=this;if(this._isBodyOverflowing){Bt(re.FIXED_CONTENT).each(function(t,e){var n=Bt(e)[0].style.paddingRight,i=Bt(e).css("padding-right");Bt(e).data("padding-right",n).css("padding-right",parseFloat(i)+r._scrollbarWidth+"px")}),Bt(re.STICKY_CONTENT).each(function(t,e){var n=Bt(e)[0].style.marginRight,i=Bt(e).css("margin-right");Bt(e).data("margin-right",n).css("margin-right",parseFloat(i)-r._scrollbarWidth+"px")}),Bt(re.NAVBAR_TOGGLER).each(function(t,e){var n=Bt(e)[0].style.marginRight,i=Bt(e).css("margin-right");Bt(e).data("margin-right",n).css("margin-right",parseFloat(i)+r._scrollbarWidth+"px")});var t=document.body.style.paddingRight,e=Bt(document.body).css("padding-right");Bt(document.body).data("padding-right",t).css("padding-right",parseFloat(e)+this._scrollbarWidth+"px")}},t._resetScrollbar=function(){Bt(re.FIXED_CONTENT).each(function(t,e){var n=Bt(e).data("padding-right");"undefined"!=typeof n&&Bt(e).css("padding-right",n).removeData("padding-right")}),Bt(re.STICKY_CONTENT+", "+re.NAVBAR_TOGGLER).each(function(t,e){var n=Bt(e).data("margin-right");"undefined"!=typeof n&&Bt(e).css("margin-right",n).removeData("margin-right")});var t=Bt(document.body).data("padding-right");"undefined"!=typeof t&&Bt(document.body).css("padding-right",t).removeData("padding-right")},t._getScrollbarWidth=function(){var t=document.createElement("div");t.className=$t,document.body.appendChild(t);var e=t.getBoundingClientRect().width-t.clientWidth;return document.body.removeChild(t),e},r._jQueryInterface=function(n,i){return this.each(function(){var t=Bt(this).data(Gt),e=h({},Xt,Bt(this).data(),"object"==typeof n&&n?n:{});if(t||(t=new r(this,e),Bt(this).data(Gt,t)),"string"==typeof n){if("undefined"==typeof t[n])throw new TypeError('No method named "'+n+'"');t[n](i)}else e.show&&t.show(i)})},o(r,null,[{key:"VERSION",get:function(){return"4.1.1"}},{key:"Default",get:function(){return Xt}}]),r}(),Bt(document).on(Zt.CLICK_DATA_API,re.DATA_TOGGLE,function(t){var e,n=this,i=Cn.getSelectorFromElement(this);i&&(e=Bt(i)[0]);var r=Bt(e).data(Gt)?"toggle":h({},Bt(e).data(),Bt(this).data());"A"!==this.tagName&&"AREA"!==this.tagName||t.preventDefault();var s=Bt(e).one(Zt.SHOW,function(t){t.isDefaultPrevented()||s.one(Zt.HIDDEN,function(){Bt(n).is(":visible")&&n.focus()})});se._jQueryInterface.call(Bt(e),r,this)}),Bt.fn[Yt]=se._jQueryInterface,Bt.fn[Yt].Constructor=se,Bt.fn[Yt].noConflict=function(){return Bt.fn[Yt]=zt,se._jQueryInterface},se),Nn=(ae="tooltip",he="."+(le="bs.tooltip"),ce=(oe=e).fn[ae],ue="bs-tooltip",fe=new RegExp("(^|\\s)"+ue+"\\S+","g"),ge={animation:!0,template:'<div class="tooltip" role="tooltip"><div class="arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!(_e={AUTO:"auto",TOP:"top",RIGHT:"right",BOTTOM:"bottom",LEFT:"left"}),selector:!(de={animation:"boolean",template:"string",title:"(string|element|function)",trigger:"string",delay:"(number|object)",html:"boolean",selector:"(string|boolean)",placement:"(string|function)",offset:"(number|string)",container:"(string|element|boolean)",fallbackPlacement:"(string|array)",boundary:"(string|element)"}),placement:"top",offset:0,container:!1,fallbackPlacement:"flip",boundary:"scrollParent"},pe="out",ve={HIDE:"hide"+he,HIDDEN:"hidden"+he,SHOW:(me="show")+he,SHOWN:"shown"+he,INSERTED:"inserted"+he,CLICK:"click"+he,FOCUSIN:"focusin"+he,FOCUSOUT:"focusout"+he,MOUSEENTER:"mouseenter"+he,MOUSELEAVE:"mouseleave"+he},Ee="fade",ye="show",Te=".tooltip-inner",Ce=".arrow",Ie="hover",Ae="focus",De="click",be="manual",Se=function(){function i(t,e){if("undefined"==typeof c)throw new TypeError("Bootstrap tooltips require Popper.js (https://popper.js.org)");this._isEnabled=!0,this._timeout=0,this._hoverState="",this._activeTrigger={},this._popper=null,this.element=t,this.config=this._getConfig(e),this.tip=null,this._setListeners()}var t=i.prototype;return t.enable=function(){this._isEnabled=!0},t.disable=function(){this._isEnabled=!1},t.toggleEnabled=function(){this._isEnabled=!this._isEnabled},t.toggle=function(t){if(this._isEnabled)if(t){var e=this.constructor.DATA_KEY,n=oe(t.currentTarget).data(e);n||(n=new this.constructor(t.currentTarget,this._getDelegateConfig()),oe(t.currentTarget).data(e,n)),n._activeTrigger.click=!n._activeTrigger.click,n._isWithActiveTrigger()?n._enter(null,n):n._leave(null,n)}else{if(oe(this.getTipElement()).hasClass(ye))return void this._leave(null,this);this._enter(null,this)}},t.dispose=function(){clearTimeout(this._timeout),oe.removeData(this.element,this.constructor.DATA_KEY),oe(this.element).off(this.constructor.EVENT_KEY),oe(this.element).closest(".modal").off("hide.bs.modal"),this.tip&&oe(this.tip).remove(),this._isEnabled=null,this._timeout=null,this._hoverState=null,(this._activeTrigger=null)!==this._popper&&this._popper.destroy(),this._popper=null,this.element=null,this.config=null,this.tip=null},t.show=function(){var e=this;if("none"===oe(this.element).css("display"))throw new Error("Please use show on visible elements");var t=oe.Event(this.constructor.Event.SHOW);if(this.isWithContent()&&this._isEnabled){oe(this.element).trigger(t);var n=oe.contains(this.element.ownerDocument.documentElement,this.element);if(t.isDefaultPrevented()||!n)return;var i=this.getTipElement(),r=Cn.getUID(this.constructor.NAME);i.setAttribute("id",r),this.element.setAttribute("aria-describedby",r),this.setContent(),this.config.animation&&oe(i).addClass(Ee);var s="function"==typeof this.config.placement?this.config.placement.call(this,i,this.element):this.config.placement,o=this._getAttachment(s);this.addAttachmentClass(o);var a=!1===this.config.container?document.body:oe(this.config.container);oe(i).data(this.constructor.DATA_KEY,this),oe.contains(this.element.ownerDocument.documentElement,this.tip)||oe(i).appendTo(a),oe(this.element).trigger(this.constructor.Event.INSERTED),this._popper=new c(this.element,i,{placement:o,modifiers:{offset:{offset:this.config.offset},flip:{behavior:this.config.fallbackPlacement},arrow:{element:Ce},preventOverflow:{boundariesElement:this.config.boundary}},onCreate:function(t){t.originalPlacement!==t.placement&&e._handlePopperPlacementChange(t)},onUpdate:function(t){e._handlePopperPlacementChange(t)}}),oe(i).addClass(ye),"ontouchstart"in document.documentElement&&oe(document.body).children().on("mouseover",null,oe.noop);var l=function(){e.config.animation&&e._fixTransition();var t=e._hoverState;e._hoverState=null,oe(e.element).trigger(e.constructor.Event.SHOWN),t===pe&&e._leave(null,e)};if(oe(this.tip).hasClass(Ee)){var h=Cn.getTransitionDurationFromElement(this.tip);oe(this.tip).one(Cn.TRANSITION_END,l).emulateTransitionEnd(h)}else l()}},t.hide=function(t){var e=this,n=this.getTipElement(),i=oe.Event(this.constructor.Event.HIDE),r=function(){e._hoverState!==me&&n.parentNode&&n.parentNode.removeChild(n),e._cleanTipClass(),e.element.removeAttribute("aria-describedby"),oe(e.element).trigger(e.constructor.Event.HIDDEN),null!==e._popper&&e._popper.destroy(),t&&t()};if(oe(this.element).trigger(i),!i.isDefaultPrevented()){if(oe(n).removeClass(ye),"ontouchstart"in document.documentElement&&oe(document.body).children().off("mouseover",null,oe.noop),this._activeTrigger[De]=!1,this._activeTrigger[Ae]=!1,this._activeTrigger[Ie]=!1,oe(this.tip).hasClass(Ee)){var s=Cn.getTransitionDurationFromElement(n);oe(n).one(Cn.TRANSITION_END,r).emulateTransitionEnd(s)}else r();this._hoverState=""}},t.update=function(){null!==this._popper&&this._popper.scheduleUpdate()},t.isWithContent=function(){return Boolean(this.getTitle())},t.addAttachmentClass=function(t){oe(this.getTipElement()).addClass(ue+"-"+t)},t.getTipElement=function(){return this.tip=this.tip||oe(this.config.template)[0],this.tip},t.setContent=function(){var t=oe(this.getTipElement());this.setElementContent(t.find(Te),this.getTitle()),t.removeClass(Ee+" "+ye)},t.setElementContent=function(t,e){var n=this.config.html;"object"==typeof e&&(e.nodeType||e.jquery)?n?oe(e).parent().is(t)||t.empty().append(e):t.text(oe(e).text()):t[n?"html":"text"](e)},t.getTitle=function(){var t=this.element.getAttribute("data-original-title");return t||(t="function"==typeof this.config.title?this.config.title.call(this.element):this.config.title),t},t._getAttachment=function(t){return _e[t.toUpperCase()]},t._setListeners=function(){var i=this;this.config.trigger.split(" ").forEach(function(t){if("click"===t)oe(i.element).on(i.constructor.Event.CLICK,i.config.selector,function(t){return i.toggle(t)});else if(t!==be){var e=t===Ie?i.constructor.Event.MOUSEENTER:i.constructor.Event.FOCUSIN,n=t===Ie?i.constructor.Event.MOUSELEAVE:i.constructor.Event.FOCUSOUT;oe(i.element).on(e,i.config.selector,function(t){return i._enter(t)}).on(n,i.config.selector,function(t){return i._leave(t)})}oe(i.element).closest(".modal").on("hide.bs.modal",function(){return i.hide()})}),this.config.selector?this.config=h({},this.config,{trigger:"manual",selector:""}):this._fixTitle()},t._fixTitle=function(){var t=typeof this.element.getAttribute("data-original-title");(this.element.getAttribute("title")||"string"!==t)&&(this.element.setAttribute("data-original-title",this.element.getAttribute("title")||""),this.element.setAttribute("title",""))},t._enter=function(t,e){var n=this.constructor.DATA_KEY;(e=e||oe(t.currentTarget).data(n))||(e=new this.constructor(t.currentTarget,this._getDelegateConfig()),oe(t.currentTarget).data(n,e)),t&&(e._activeTrigger["focusin"===t.type?Ae:Ie]=!0),oe(e.getTipElement()).hasClass(ye)||e._hoverState===me?e._hoverState=me:(clearTimeout(e._timeout),e._hoverState=me,e.config.delay&&e.config.delay.show?e._timeout=setTimeout(function(){e._hoverState===me&&e.show()},e.config.delay.show):e.show())},t._leave=function(t,e){var n=this.constructor.DATA_KEY;(e=e||oe(t.currentTarget).data(n))||(e=new this.constructor(t.currentTarget,this._getDelegateConfig()),oe(t.currentTarget).data(n,e)),t&&(e._activeTrigger["focusout"===t.type?Ae:Ie]=!1),e._isWithActiveTrigger()||(clearTimeout(e._timeout),e._hoverState=pe,e.config.delay&&e.config.delay.hide?e._timeout=setTimeout(function(){e._hoverState===pe&&e.hide()},e.config.delay.hide):e.hide())},t._isWithActiveTrigger=function(){for(var t in this._activeTrigger)if(this._activeTrigger[t])return!0;return!1},t._getConfig=function(t){return"number"==typeof(t=h({},this.constructor.Default,oe(this.element).data(),"object"==typeof t&&t?t:{})).delay&&(t.delay={show:t.delay,hide:t.delay}),"number"==typeof t.title&&(t.title=t.title.toString()),"number"==typeof t.content&&(t.content=t.content.toString()),Cn.typeCheckConfig(ae,t,this.constructor.DefaultType),t},t._getDelegateConfig=function(){var t={};if(this.config)for(var e in this.config)this.constructor.Default[e]!==this.config[e]&&(t[e]=this.config[e]);return t},t._cleanTipClass=function(){var t=oe(this.getTipElement()),e=t.attr("class").match(fe);null!==e&&0<e.length&&t.removeClass(e.join(""))},t._handlePopperPlacementChange=function(t){this._cleanTipClass(),this.addAttachmentClass(this._getAttachment(t.placement))},t._fixTransition=function(){var t=this.getTipElement(),e=this.config.animation;null===t.getAttribute("x-placement")&&(oe(t).removeClass(Ee),this.config.animation=!1,this.hide(),this.show(),this.config.animation=e)},i._jQueryInterface=function(n){return this.each(function(){var t=oe(this).data(le),e="object"==typeof n&&n;if((t||!/dispose|hide/.test(n))&&(t||(t=new i(this,e),oe(this).data(le,t)),"string"==typeof n)){if("undefined"==typeof t[n])throw new TypeError('No method named "'+n+'"');t[n]()}})},o(i,null,[{key:"VERSION",get:function(){return"4.1.1"}},{key:"Default",get:function(){return ge}},{key:"NAME",get:function(){return ae}},{key:"DATA_KEY",get:function(){return le}},{key:"Event",get:function(){return ve}},{key:"EVENT_KEY",get:function(){return he}},{key:"DefaultType",get:function(){return de}}]),i}(),oe.fn[ae]=Se._jQueryInterface,oe.fn[ae].Constructor=Se,oe.fn[ae].noConflict=function(){return oe.fn[ae]=ce,Se._jQueryInterface},Se),On=(Ne="popover",ke="."+(Oe="bs.popover"),Pe=(we=e).fn[Ne],Le="bs-popover",je=new RegExp("(^|\\s)"+Le+"\\S+","g"),Re=h({},Nn.Default,{placement:"right",trigger:"click",content:"",template:'<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>'}),He=h({},Nn.DefaultType,{content:"(string|element|function)"}),We="fade",xe=".popover-header",Ue=".popover-body",Ke={HIDE:"hide"+ke,HIDDEN:"hidden"+ke,SHOW:(Me="show")+ke,SHOWN:"shown"+ke,INSERTED:"inserted"+ke,CLICK:"click"+ke,FOCUSIN:"focusin"+ke,FOCUSOUT:"focusout"+ke,MOUSEENTER:"mouseenter"+ke,MOUSELEAVE:"mouseleave"+ke},Fe=function(t){var e,n;function i(){return t.apply(this,arguments)||this}n=t,(e=i).prototype=Object.create(n.prototype),(e.prototype.constructor=e).__proto__=n;var r=i.prototype;return r.isWithContent=function(){return this.getTitle()||this._getContent()},r.addAttachmentClass=function(t){we(this.getTipElement()).addClass(Le+"-"+t)},r.getTipElement=function(){return this.tip=this.tip||we(this.config.template)[0],this.tip},r.setContent=function(){var t=we(this.getTipElement());this.setElementContent(t.find(xe),this.getTitle());var e=this._getContent();"function"==typeof e&&(e=e.call(this.element)),this.setElementContent(t.find(Ue),e),t.removeClass(We+" "+Me)},r._getContent=function(){return this.element.getAttribute("data-content")||this.config.content},r._cleanTipClass=function(){var t=we(this.getTipElement()),e=t.attr("class").match(je);null!==e&&0<e.length&&t.removeClass(e.join(""))},i._jQueryInterface=function(n){return this.each(function(){var t=we(this).data(Oe),e="object"==typeof n?n:null;if((t||!/destroy|hide/.test(n))&&(t||(t=new i(this,e),we(this).data(Oe,t)),"string"==typeof n)){if("undefined"==typeof t[n])throw new TypeError('No method named "'+n+'"');t[n]()}})},o(i,null,[{key:"VERSION",get:function(){return"4.1.1"}},{key:"Default",get:function(){return Re}},{key:"NAME",get:function(){return Ne}},{key:"DATA_KEY",get:function(){return Oe}},{key:"Event",get:function(){return Ke}},{key:"EVENT_KEY",get:function(){return ke}},{key:"DefaultType",get:function(){return He}}]),i}(Nn),we.fn[Ne]=Fe._jQueryInterface,we.fn[Ne].Constructor=Fe,we.fn[Ne].noConflict=function(){return we.fn[Ne]=Pe,Fe._jQueryInterface},Fe),kn=(Qe="scrollspy",Ye="."+(Be="bs.scrollspy"),Ge=(Ve=e).fn[Qe],qe={offset:10,method:"auto",target:""},ze={offset:"number",method:"string",target:"(string|element)"},Xe={ACTIVATE:"activate"+Ye,SCROLL:"scroll"+Ye,LOAD_DATA_API:"load"+Ye+".data-api"},Je="dropdown-item",Ze="active",$e={DATA_SPY:'[data-spy="scroll"]',ACTIVE:".active",NAV_LIST_GROUP:".nav, .list-group",NAV_LINKS:".nav-link",NAV_ITEMS:".nav-item",LIST_ITEMS:".list-group-item",DROPDOWN:".dropdown",DROPDOWN_ITEMS:".dropdown-item",DROPDOWN_TOGGLE:".dropdown-toggle"},tn="offset",en="position",nn=function(){function n(t,e){var n=this;this._element=t,this._scrollElement="BODY"===t.tagName?window:t,this._config=this._getConfig(e),this._selector=this._config.target+" "+$e.NAV_LINKS+","+this._config.target+" "+$e.LIST_ITEMS+","+this._config.target+" "+$e.DROPDOWN_ITEMS,this._offsets=[],this._targets=[],this._activeTarget=null,this._scrollHeight=0,Ve(this._scrollElement).on(Xe.SCROLL,function(t){return n._process(t)}),this.refresh(),this._process()}var t=n.prototype;return t.refresh=function(){var e=this,t=this._scrollElement===this._scrollElement.window?tn:en,r="auto"===this._config.method?t:this._config.method,s=r===en?this._getScrollTop():0;this._offsets=[],this._targets=[],this._scrollHeight=this._getScrollHeight(),Ve.makeArray(Ve(this._selector)).map(function(t){var e,n=Cn.getSelectorFromElement(t);if(n&&(e=Ve(n)[0]),e){var i=e.getBoundingClientRect();if(i.width||i.height)return[Ve(e)[r]().top+s,n]}return null}).filter(function(t){return t}).sort(function(t,e){return t[0]-e[0]}).forEach(function(t){e._offsets.push(t[0]),e._targets.push(t[1])})},t.dispose=function(){Ve.removeData(this._element,Be),Ve(this._scrollElement).off(Ye),this._element=null,this._scrollElement=null,this._config=null,this._selector=null,this._offsets=null,this._targets=null,this._activeTarget=null,this._scrollHeight=null},t._getConfig=function(t){if("string"!=typeof(t=h({},qe,"object"==typeof t&&t?t:{})).target){var e=Ve(t.target).attr("id");e||(e=Cn.getUID(Qe),Ve(t.target).attr("id",e)),t.target="#"+e}return Cn.typeCheckConfig(Qe,t,ze),t},t._getScrollTop=function(){return this._scrollElement===window?this._scrollElement.pageYOffset:this._scrollElement.scrollTop},t._getScrollHeight=function(){return this._scrollElement.scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)},t._getOffsetHeight=function(){return this._scrollElement===window?window.innerHeight:this._scrollElement.getBoundingClientRect().height},t._process=function(){var t=this._getScrollTop()+this._config.offset,e=this._getScrollHeight(),n=this._config.offset+e-this._getOffsetHeight();if(this._scrollHeight!==e&&this.refresh(),n<=t){var i=this._targets[this._targets.length-1];this._activeTarget!==i&&this._activate(i)}else{if(this._activeTarget&&t<this._offsets[0]&&0<this._offsets[0])return this._activeTarget=null,void this._clear();for(var r=this._offsets.length;r--;){this._activeTarget!==this._targets[r]&&t>=this._offsets[r]&&("undefined"==typeof this._offsets[r+1]||t<this._offsets[r+1])&&this._activate(this._targets[r])}}},t._activate=function(e){this._activeTarget=e,this._clear();var t=this._selector.split(",");t=t.map(function(t){return t+'[data-target="'+e+'"],'+t+'[href="'+e+'"]'});var n=Ve(t.join(","));n.hasClass(Je)?(n.closest($e.DROPDOWN).find($e.DROPDOWN_TOGGLE).addClass(Ze),n.addClass(Ze)):(n.addClass(Ze),n.parents($e.NAV_LIST_GROUP).prev($e.NAV_LINKS+", "+$e.LIST_ITEMS).addClass(Ze),n.parents($e.NAV_LIST_GROUP).prev($e.NAV_ITEMS).children($e.NAV_LINKS).addClass(Ze)),Ve(this._scrollElement).trigger(Xe.ACTIVATE,{relatedTarget:e})},t._clear=function(){Ve(this._selector).filter($e.ACTIVE).removeClass(Ze)},n._jQueryInterface=function(e){return this.each(function(){var t=Ve(this).data(Be);if(t||(t=new n(this,"object"==typeof e&&e),Ve(this).data(Be,t)),"string"==typeof e){if("undefined"==typeof t[e])throw new TypeError('No method named "'+e+'"');t[e]()}})},o(n,null,[{key:"VERSION",get:function(){return"4.1.1"}},{key:"Default",get:function(){return qe}}]),n}(),Ve(window).on(Xe.LOAD_DATA_API,function(){for(var t=Ve.makeArray(Ve($e.DATA_SPY)),e=t.length;e--;){var n=Ve(t[e]);nn._jQueryInterface.call(n,n.data())}}),Ve.fn[Qe]=nn._jQueryInterface,Ve.fn[Qe].Constructor=nn,Ve.fn[Qe].noConflict=function(){return Ve.fn[Qe]=Ge,nn._jQueryInterface},nn),Pn=(on="."+(sn="bs.tab"),an=(rn=e).fn.tab,ln={HIDE:"hide"+on,HIDDEN:"hidden"+on,SHOW:"show"+on,SHOWN:"shown"+on,CLICK_DATA_API:"click"+on+".data-api"},hn="dropdown-menu",cn="active",un="disabled",fn="fade",dn="show",_n=".dropdown",gn=".nav, .list-group",mn=".active",pn="> li > .active",vn='[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]',En=".dropdown-toggle",yn="> .dropdown-menu .active",Tn=function(){function i(t){this._element=t}var t=i.prototype;return t.show=function(){var n=this;if(!(this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE&&rn(this._element).hasClass(cn)||rn(this._element).hasClass(un))){var t,i,e=rn(this._element).closest(gn)[0],r=Cn.getSelectorFromElement(this._element);if(e){var s="UL"===e.nodeName?pn:mn;i=(i=rn.makeArray(rn(e).find(s)))[i.length-1]}var o=rn.Event(ln.HIDE,{relatedTarget:this._element}),a=rn.Event(ln.SHOW,{relatedTarget:i});if(i&&rn(i).trigger(o),rn(this._element).trigger(a),!a.isDefaultPrevented()&&!o.isDefaultPrevented()){r&&(t=rn(r)[0]),this._activate(this._element,e);var l=function(){var t=rn.Event(ln.HIDDEN,{relatedTarget:n._element}),e=rn.Event(ln.SHOWN,{relatedTarget:i});rn(i).trigger(t),rn(n._element).trigger(e)};t?this._activate(t,t.parentNode,l):l()}}},t.dispose=function(){rn.removeData(this._element,sn),this._element=null},t._activate=function(t,e,n){var i=this,r=("UL"===e.nodeName?rn(e).find(pn):rn(e).children(mn))[0],s=n&&r&&rn(r).hasClass(fn),o=function(){return i._transitionComplete(t,r,n)};if(r&&s){var a=Cn.getTransitionDurationFromElement(r);rn(r).one(Cn.TRANSITION_END,o).emulateTransitionEnd(a)}else o()},t._transitionComplete=function(t,e,n){if(e){rn(e).removeClass(dn+" "+cn);var i=rn(e.parentNode).find(yn)[0];i&&rn(i).removeClass(cn),"tab"===e.getAttribute("role")&&e.setAttribute("aria-selected",!1)}if(rn(t).addClass(cn),"tab"===t.getAttribute("role")&&t.setAttribute("aria-selected",!0),Cn.reflow(t),rn(t).addClass(dn),t.parentNode&&rn(t.parentNode).hasClass(hn)){var r=rn(t).closest(_n)[0];r&&rn(r).find(En).addClass(cn),t.setAttribute("aria-expanded",!0)}n&&n()},i._jQueryInterface=function(n){return this.each(function(){var t=rn(this),e=t.data(sn);if(e||(e=new i(this),t.data(sn,e)),"string"==typeof n){if("undefined"==typeof e[n])throw new TypeError('No method named "'+n+'"');e[n]()}})},o(i,null,[{key:"VERSION",get:function(){return"4.1.1"}}]),i}(),rn(document).on(ln.CLICK_DATA_API,vn,function(t){t.preventDefault(),Tn._jQueryInterface.call(rn(this),"show")}),rn.fn.tab=Tn._jQueryInterface,rn.fn.tab.Constructor=Tn,rn.fn.tab.noConflict=function(){return rn.fn.tab=an,Tn._jQueryInterface},Tn);!function(t){if("undefined"==typeof t)throw new TypeError("Bootstrap's JavaScript requires jQuery. jQuery must be included before Bootstrap's JavaScript.");var e=t.fn.jquery.split(" ")[0].split(".");if(e[0]<2&&e[1]<9||1===e[0]&&9===e[1]&&e[2]<1||4<=e[0])throw new Error("Bootstrap's JavaScript requires at least jQuery v1.9.1 but less than v4.0.0")}(e),t.Util=Cn,t.Alert=In,t.Button=An,t.Carousel=Dn,t.Collapse=bn,t.Dropdown=Sn,t.Modal=wn,t.Popover=On,t.Scrollspy=kn,t.Tab=Pn,t.Tooltip=Nn,Object.defineProperty(t,"__esModule",{value:!0})});
-//# sourceMappingURL=bootstrap.min.js.map</script>
-    <script>/*
- *  /MathJax.js
- *
- *  Copyright (c) 2009-2018 The MathJax Consortium
- *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
- */
-
-if(document.getElementById&&document.childNodes&&document.createElement){if(!(window.MathJax&&MathJax.Hub)){if(window.MathJax){window.MathJax={AuthorConfig:window.MathJax}}else{window.MathJax={}}MathJax.isPacked=true;MathJax.version="2.7.4";MathJax.fileversion="2.7.4";MathJax.cdnVersion="2.7.4";MathJax.cdnFileVersions={};(function(d){var b=window[d];if(!b){b=window[d]={}}var e=[];var c=function(f){var g=f.constructor;if(!g){g=function(){}}for(var h in f){if(h!=="constructor"&&f.hasOwnProperty(h)){g[h]=f[h]}}return g};var a=function(){return function(){return arguments.callee.Init.call(this,arguments)}};b.Object=c({constructor:a(),Subclass:function(f,h){var g=a();g.SUPER=this;g.Init=this.Init;g.Subclass=this.Subclass;g.Augment=this.Augment;g.protoFunction=this.protoFunction;g.can=this.can;g.has=this.has;g.isa=this.isa;g.prototype=new this(e);g.prototype.constructor=g;g.Augment(f,h);return g},Init:function(f){var g=this;if(f.length===1&&f[0]===e){return g}if(!(g instanceof f.callee)){g=new f.callee(e)}return g.Init.apply(g,f)||g},Augment:function(f,g){var h;if(f!=null){for(h in f){if(f.hasOwnProperty(h)){this.protoFunction(h,f[h])}}if(f.toString!==this.prototype.toString&&f.toString!=={}.toString){this.protoFunction("toString",f.toString)}}if(g!=null){for(h in g){if(g.hasOwnProperty(h)){this[h]=g[h]}}}return this},protoFunction:function(g,f){this.prototype[g]=f;if(typeof f==="function"){f.SUPER=this.SUPER.prototype}},prototype:{Init:function(){},SUPER:function(f){return f.callee.SUPER},can:function(f){return typeof(this[f])==="function"},has:function(f){return typeof(this[f])!=="undefined"},isa:function(f){return(f instanceof Object)&&(this instanceof f)}},can:function(f){return this.prototype.can.call(this,f)},has:function(f){return this.prototype.has.call(this,f)},isa:function(g){var f=this;while(f){if(f===g){return true}else{f=f.SUPER}}return false},SimpleSUPER:c({constructor:function(f){return this.SimpleSUPER.define(f)},define:function(f){var h={};if(f!=null){for(var g in f){if(f.hasOwnProperty(g)){h[g]=this.wrap(g,f[g])}}if(f.toString!==this.prototype.toString&&f.toString!=={}.toString){h.toString=this.wrap("toString",f.toString)}}return h},wrap:function(i,h){if(typeof(h)!=="function"||!h.toString().match(/\.\s*SUPER\s*\(/)){return h}var g=function(){this.SUPER=g.SUPER[i];try{var f=h.apply(this,arguments)}catch(j){delete this.SUPER;throw j}delete this.SUPER;return f};g.toString=function(){return h.toString.apply(h,arguments)};return g}})});b.Object.isArray=Array.isArray||function(f){return Object.prototype.toString.call(f)==="[object Array]"};b.Object.Array=Array})("MathJax");(function(BASENAME){var BASE=window[BASENAME];if(!BASE){BASE=window[BASENAME]={}}var isArray=BASE.Object.isArray;var CALLBACK=function(data){var cb=function(){return arguments.callee.execute.apply(arguments.callee,arguments)};for(var id in CALLBACK.prototype){if(CALLBACK.prototype.hasOwnProperty(id)){if(typeof(data[id])!=="undefined"){cb[id]=data[id]}else{cb[id]=CALLBACK.prototype[id]}}}cb.toString=CALLBACK.prototype.toString;return cb};CALLBACK.prototype={isCallback:true,hook:function(){},data:[],object:window,execute:function(){if(!this.called||this.autoReset){this.called=!this.autoReset;return this.hook.apply(this.object,this.data.concat([].slice.call(arguments,0)))}},reset:function(){delete this.called},toString:function(){return this.hook.toString.apply(this.hook,arguments)}};var ISCALLBACK=function(f){return(typeof(f)==="function"&&f.isCallback)};var EVAL=function(code){return eval.call(window,code)};var TESTEVAL=function(){EVAL("var __TeSt_VaR__ = 1");if(window.__TeSt_VaR__){try{delete window.__TeSt_VaR__}catch(error){window.__TeSt_VaR__=null}}else{if(window.execScript){EVAL=function(code){BASE.__code=code;code="try {"+BASENAME+".__result = eval("+BASENAME+".__code)} catch(err) {"+BASENAME+".__result = err}";window.execScript(code);var result=BASE.__result;delete BASE.__result;delete BASE.__code;if(result instanceof Error){throw result}return result}}else{EVAL=function(code){BASE.__code=code;code="try {"+BASENAME+".__result = eval("+BASENAME+".__code)} catch(err) {"+BASENAME+".__result = err}";var head=(document.getElementsByTagName("head"))[0];if(!head){head=document.body}var script=document.createElement("script");script.appendChild(document.createTextNode(code));head.appendChild(script);head.removeChild(script);var result=BASE.__result;delete BASE.__result;delete BASE.__code;if(result instanceof Error){throw result}return result}}}TESTEVAL=null};var USING=function(args,i){if(arguments.length>1){if(arguments.length===2&&!(typeof arguments[0]==="function")&&arguments[0] instanceof Object&&typeof arguments[1]==="number"){args=[].slice.call(args,i)}else{args=[].slice.call(arguments,0)}}if(isArray(args)&&args.length===1&&typeof(args[0])==="function"){args=args[0]}if(typeof args==="function"){if(args.execute===CALLBACK.prototype.execute){return args}return CALLBACK({hook:args})}else{if(isArray(args)){if(typeof(args[0])==="string"&&args[1] instanceof Object&&typeof args[1][args[0]]==="function"){return CALLBACK({hook:args[1][args[0]],object:args[1],data:args.slice(2)})}else{if(typeof args[0]==="function"){return CALLBACK({hook:args[0],data:args.slice(1)})}else{if(typeof args[1]==="function"){return CALLBACK({hook:args[1],object:args[0],data:args.slice(2)})}}}}else{if(typeof(args)==="string"){if(TESTEVAL){TESTEVAL()}return CALLBACK({hook:EVAL,data:[args]})}else{if(args instanceof Object){return CALLBACK(args)}else{if(typeof(args)==="undefined"){return CALLBACK({})}}}}}throw Error("Can't make callback from given data")};var DELAY=function(time,callback){callback=USING(callback);callback.timeout=setTimeout(callback,time);return callback};var WAITFOR=function(callback,signal){callback=USING(callback);if(!callback.called){WAITSIGNAL(callback,signal);signal.pending++}};var WAITEXECUTE=function(){var signals=this.signal;delete this.signal;this.execute=this.oldExecute;delete this.oldExecute;var result=this.execute.apply(this,arguments);if(ISCALLBACK(result)&&!result.called){WAITSIGNAL(result,signals)}else{for(var i=0,m=signals.length;i<m;i++){signals[i].pending--;if(signals[i].pending<=0){signals[i].call()}}}};var WAITSIGNAL=function(callback,signals){if(!isArray(signals)){signals=[signals]}if(!callback.signal){callback.oldExecute=callback.execute;callback.execute=WAITEXECUTE;callback.signal=signals}else{if(signals.length===1){callback.signal.push(signals[0])}else{callback.signal=callback.signal.concat(signals)}}};var AFTER=function(callback){callback=USING(callback);callback.pending=0;for(var i=1,m=arguments.length;i<m;i++){if(arguments[i]){WAITFOR(arguments[i],callback)}}if(callback.pending===0){var result=callback();if(ISCALLBACK(result)){callback=result}}return callback};var HOOKS=MathJax.Object.Subclass({Init:function(reset){this.hooks=[];this.remove=[];this.reset=reset;this.running=false},Add:function(hook,priority){if(priority==null){priority=10}if(!ISCALLBACK(hook)){hook=USING(hook)}hook.priority=priority;var i=this.hooks.length;while(i>0&&priority<this.hooks[i-1].priority){i--}this.hooks.splice(i,0,hook);return hook},Remove:function(hook){for(var i=0,m=this.hooks.length;i<m;i++){if(this.hooks[i]===hook){if(this.running){this.remove.push(i)}else{this.hooks.splice(i,1)}return}}},Execute:function(){var callbacks=[{}];this.running=true;for(var i=0,m=this.hooks.length;i<m;i++){if(this.reset){this.hooks[i].reset()}var result=this.hooks[i].apply(window,arguments);if(ISCALLBACK(result)&&!result.called){callbacks.push(result)}}this.running=false;if(this.remove.length){this.RemovePending()}if(callbacks.length===1){return null}if(callbacks.length===2){return callbacks[1]}return AFTER.apply({},callbacks)},RemovePending:function(){this.remove=this.remove.sort();for(var i=this.remove.length-1;i>=0;i--){this.hooks.splice(i,1)}this.remove=[]}});var EXECUTEHOOKS=function(hooks,data,reset){if(!hooks){return null}if(!isArray(hooks)){hooks=[hooks]}if(!isArray(data)){data=(data==null?[]:[data])}var handler=HOOKS(reset);for(var i=0,m=hooks.length;i<m;i++){handler.Add(hooks[i])}return handler.Execute.apply(handler,data)};var QUEUE=BASE.Object.Subclass({Init:function(){this.pending=this.running=0;this.queue=[];this.Push.apply(this,arguments)},Push:function(){var callback;for(var i=0,m=arguments.length;i<m;i++){callback=USING(arguments[i]);if(callback===arguments[i]&&!callback.called){callback=USING(["wait",this,callback])}this.queue.push(callback)}if(!this.running&&!this.pending){this.Process()}return callback},Process:function(queue){while(!this.running&&!this.pending&&this.queue.length){var callback=this.queue[0];queue=this.queue.slice(1);this.queue=[];this.Suspend();var result=callback();this.Resume();if(queue.length){this.queue=queue.concat(this.queue)}if(ISCALLBACK(result)&&!result.called){WAITFOR(result,this)}}},Suspend:function(){this.running++},Resume:function(){if(this.running){this.running--}},call:function(){this.Process.apply(this,arguments)},wait:function(callback){return callback}});var SIGNAL=QUEUE.Subclass({Init:function(name){QUEUE.prototype.Init.call(this);this.name=name;this.posted=[];this.listeners=HOOKS(true);this.posting=false;this.callback=null},Post:function(message,callback,forget){callback=USING(callback);if(this.posting||this.pending){this.Push(["Post",this,message,callback,forget])}else{this.callback=callback;callback.reset();if(!forget){this.posted.push(message)}this.Suspend();this.posting=true;var result=this.listeners.Execute(message);if(ISCALLBACK(result)&&!result.called){WAITFOR(result,this)}this.Resume();this.posting=false;if(!this.pending){this.call()}}return callback},Clear:function(callback){callback=USING(callback);if(this.posting||this.pending){callback=this.Push(["Clear",this,callback])}else{this.posted=[];callback()}return callback},call:function(){this.callback(this);this.Process()},Interest:function(callback,ignorePast,priority){callback=USING(callback);this.listeners.Add(callback,priority);if(!ignorePast){for(var i=0,m=this.posted.length;i<m;i++){callback.reset();var result=callback(this.posted[i]);if(ISCALLBACK(result)&&i===this.posted.length-1){WAITFOR(result,this)}}}return callback},NoInterest:function(callback){this.listeners.Remove(callback)},MessageHook:function(msg,callback,priority){callback=USING(callback);if(!this.hooks){this.hooks={};this.Interest(["ExecuteHooks",this])}if(!this.hooks[msg]){this.hooks[msg]=HOOKS(true)}this.hooks[msg].Add(callback,priority);for(var i=0,m=this.posted.length;i<m;i++){if(this.posted[i]==msg){callback.reset();callback(this.posted[i])}}callback.msg=msg;return callback},ExecuteHooks:function(msg){var type=(isArray(msg)?msg[0]:msg);if(!this.hooks[type]){return null}return this.hooks[type].Execute(msg)},RemoveHook:function(hook){this.hooks[hook.msg].Remove(hook)}},{signals:{},find:function(name){if(!SIGNAL.signals[name]){SIGNAL.signals[name]=new SIGNAL(name)}return SIGNAL.signals[name]}});BASE.Callback=BASE.CallBack=USING;BASE.Callback.Delay=DELAY;BASE.Callback.After=AFTER;BASE.Callback.Queue=QUEUE;BASE.Callback.Signal=SIGNAL.find;BASE.Callback.Hooks=HOOKS;BASE.Callback.ExecuteHooks=EXECUTEHOOKS})("MathJax");(function(e){var a=window[e];if(!a){a=window[e]={}}var d=(navigator.vendor==="Apple Computer, Inc."&&typeof navigator.vendorSub==="undefined");var g=0;var h=function(i){if(document.styleSheets&&document.styleSheets.length>g){g=document.styleSheets.length}if(!i){i=document.head||((document.getElementsByTagName("head"))[0]);if(!i){i=document.body}}return i};var f=[];var c=function(){for(var k=0,j=f.length;k<j;k++){a.Ajax.head.removeChild(f[k])}f=[]};var b={};b[e]="";b.a11y="[MathJax]/extensions/a11y";b.Contrib="https://cdn.mathjax.org/mathjax/contrib";a.Ajax={loaded:{},loading:{},loadHooks:{},timeout:15*1000,styleDelay:1,config:{root:"",path:b},params:{},STATUS:{OK:1,ERROR:-1},fileURL:function(j){var i;while((i=j.match(/^\[([-._a-z0-9]+)\]/i))&&b.hasOwnProperty(i[1])){j=(b[i[1]]||this.config.root)+j.substr(i[1].length+2)}return j},fileName:function(j){var i=this.config.root;if(j.substr(0,i.length)===i){j="["+e+"]"+j.substr(i.length)}do{var k=false;for(var l in b){if(b.hasOwnProperty(l)&&b[l]){if(j.substr(0,b[l].length)===b[l]){j="["+l+"]"+j.substr(b[l].length);k=true;break}}}}while(k);return j},fileRev:function(j){var i=a.cdnFileVersions[j]||a.cdnVersion||"";if(i){i="?V="+i}return i},urlRev:function(i){return this.fileURL(i)+this.fileRev(i)},Require:function(k,n){n=a.Callback(n);var l;if(k instanceof Object){for(var j in k){if(k.hasOwnProperty(j)){l=j.toUpperCase();k=k[j]}}}else{l=k.split(/\./).pop().toUpperCase()}if(this.params.noContrib&&k.substr(0,9)==="[Contrib]"){n(this.STATUS.ERROR)}else{k=this.fileURL(k);if(this.loaded[k]){n(this.loaded[k])}else{var m={};m[l]=k;this.Load(m,n)}}return n},Load:function(k,m){m=a.Callback(m);var l;if(k instanceof Object){for(var j in k){if(k.hasOwnProperty(j)){l=j.toUpperCase();k=k[j]}}}else{l=k.split(/\./).pop().toUpperCase()}k=this.fileURL(k);if(this.loading[k]){this.addHook(k,m)}else{this.head=h(this.head);if(this.loader[l]){this.loader[l].call(this,k,m)}else{throw Error("Can't load files of type "+l)}}return m},LoadHook:function(l,m,k){m=a.Callback(m);if(l instanceof Object){for(var j in l){if(l.hasOwnProperty(j)){l=l[j]}}}l=this.fileURL(l);if(this.loaded[l]){m(this.loaded[l])}else{this.addHook(l,m,k)}return m},addHook:function(j,k,i){if(!this.loadHooks[j]){this.loadHooks[j]=MathJax.Callback.Hooks()}this.loadHooks[j].Add(k,i);k.file=j},removeHook:function(i){if(this.loadHooks[i.file]){this.loadHooks[i.file].Remove(i);if(!this.loadHooks[i.file].hooks.length){delete this.loadHooks[i.file]}}},Preloading:function(){for(var l=0,j=arguments.length;l<j;l++){var k=this.fileURL(arguments[l]);if(!this.loading[k]){this.loading[k]={preloaded:true}}}},loader:{JS:function(k,m){var j=this.fileName(k);var i=document.createElement("script");var l=a.Callback(["loadTimeout",this,k]);this.loading[k]={callback:m,timeout:setTimeout(l,this.timeout),status:this.STATUS.OK,script:i};this.loading[k].message=a.Message.File(j);i.onerror=l;i.type="text/javascript";i.src=k+this.fileRev(j);this.head.appendChild(i)},CSS:function(j,l){var i=this.fileName(j);var k=document.createElement("link");k.rel="stylesheet";k.type="text/css";k.href=j+this.fileRev(i);this.loading[j]={callback:l,message:a.Message.File(i),status:this.STATUS.OK};this.head.appendChild(k);this.timer.create.call(this,[this.timer.file,j],k)}},timer:{create:function(j,i){j=a.Callback(j);if(i.nodeName==="STYLE"&&i.styleSheet&&typeof(i.styleSheet.cssText)!=="undefined"){j(this.STATUS.OK)}else{if(window.chrome&&i.nodeName==="LINK"){j(this.STATUS.OK)}else{if(d){this.timer.start(this,[this.timer.checkSafari2,g++,j],this.styleDelay)}else{this.timer.start(this,[this.timer.checkLength,i,j],this.styleDelay)}}}return j},start:function(j,i,k,l){i=a.Callback(i);i.execute=this.execute;i.time=this.time;i.STATUS=j.STATUS;i.timeout=l||j.timeout;i.delay=i.total=k||0;if(k){setTimeout(i,k)}else{i()}},time:function(i){this.total+=this.delay;this.delay=Math.floor(this.delay*1.05+5);if(this.total>=this.timeout){i(this.STATUS.ERROR);return 1}return 0},file:function(j,i){if(i<0){a.Ajax.loadTimeout(j)}else{a.Ajax.loadComplete(j)}},execute:function(){this.hook.call(this.object,this,this.data[0],this.data[1])},checkSafari2:function(i,j,k){if(i.time(k)){return}if(document.styleSheets.length>j&&document.styleSheets[j].cssRules&&document.styleSheets[j].cssRules.length){k(i.STATUS.OK)}else{setTimeout(i,i.delay)}},checkLength:function(i,l,n){if(i.time(n)){return}var m=0;var j=(l.sheet||l.styleSheet);try{if((j.cssRules||j.rules||[]).length>0){m=1}}catch(k){if(k.message.match(/protected variable|restricted URI/)){m=1}else{if(k.message.match(/Security error/)){m=1}}}if(m){setTimeout(a.Callback([n,i.STATUS.OK]),0)}else{setTimeout(i,i.delay)}}},loadComplete:function(i){i=this.fileURL(i);var j=this.loading[i];if(j&&!j.preloaded){a.Message.Clear(j.message);clearTimeout(j.timeout);if(j.script){if(f.length===0){setTimeout(c,0)}f.push(j.script)}this.loaded[i]=j.status;delete this.loading[i];this.addHook(i,j.callback)}else{if(j){delete this.loading[i]}this.loaded[i]=this.STATUS.OK;j={status:this.STATUS.OK}}if(!this.loadHooks[i]){return null}return this.loadHooks[i].Execute(j.status)},loadTimeout:function(i){if(this.loading[i].timeout){clearTimeout(this.loading[i].timeout)}this.loading[i].status=this.STATUS.ERROR;this.loadError(i);this.loadComplete(i)},loadError:function(i){a.Message.Set(["LoadFailed","File failed to load: %1",i],null,2000);a.Hub.signal.Post(["file load error",i])},Styles:function(k,l){var i=this.StyleString(k);if(i===""){l=a.Callback(l);l()}else{var j=document.createElement("style");j.type="text/css";this.head=h(this.head);this.head.appendChild(j);if(j.styleSheet&&typeof(j.styleSheet.cssText)!=="undefined"){j.styleSheet.cssText=i}else{j.appendChild(document.createTextNode(i))}l=this.timer.create.call(this,l,j)}return l},StyleString:function(n){if(typeof(n)==="string"){return n}var k="",o,m;for(o in n){if(n.hasOwnProperty(o)){if(typeof n[o]==="string"){k+=o+" {"+n[o]+"}\n"}else{if(a.Object.isArray(n[o])){for(var l=0;l<n[o].length;l++){m={};m[o]=n[o][l];k+=this.StyleString(m)}}else{if(o.substr(0,6)==="@media"){k+=o+" {"+this.StyleString(n[o])+"}\n"}else{if(n[o]!=null){m=[];for(var j in n[o]){if(n[o].hasOwnProperty(j)){if(n[o][j]!=null){m[m.length]=j+": "+n[o][j]}}}k+=o+" {"+m.join("; ")+"}\n"}}}}}}return k}}})("MathJax");MathJax.HTML={Element:function(d,f,e){var g=document.createElement(d),h;if(f){if(f.hasOwnProperty("style")){var c=f.style;f.style={};for(h in c){if(c.hasOwnProperty(h)){f.style[h.replace(/-([a-z])/g,this.ucMatch)]=c[h]}}}MathJax.Hub.Insert(g,f);for(h in f){if(h==="role"||h.substr(0,5)==="aria-"){g.setAttribute(h,f[h])}}}if(e){if(!MathJax.Object.isArray(e)){e=[e]}for(var b=0,a=e.length;b<a;b++){if(MathJax.Object.isArray(e[b])){g.appendChild(this.Element(e[b][0],e[b][1],e[b][2]))}else{if(d==="script"){this.setScript(g,e[b])}else{g.appendChild(document.createTextNode(e[b]))}}}}return g},ucMatch:function(a,b){return b.toUpperCase()},addElement:function(b,a,d,c){return b.appendChild(this.Element(a,d,c))},TextNode:function(a){return document.createTextNode(a)},addText:function(a,b){return a.appendChild(this.TextNode(b))},setScript:function(a,b){if(this.setScriptBug){a.text=b}else{while(a.firstChild){a.removeChild(a.firstChild)}this.addText(a,b)}},getScript:function(a){var b=(a.text===""?a.innerHTML:a.text);return b.replace(/^\s+/,"").replace(/\s+$/,"")},Cookie:{prefix:"mjx",expires:365,Set:function(a,e){var d=[];if(e){for(var g in e){if(e.hasOwnProperty(g)){d.push(g+":"+e[g].toString().replace(/&/g,"&&"))}}}var b=this.prefix+"."+a+"="+escape(d.join("&;"));if(this.expires){var f=new Date();f.setDate(f.getDate()+this.expires);b+="; expires="+f.toGMTString()}try{document.cookie=b+"; path=/"}catch(c){}},Get:function(a,d){if(!d){d={}}var g=new RegExp("(?:^|;\\s*)"+this.prefix+"\\."+a+"=([^;]*)(?:;|$)");var f;try{f=g.exec(document.cookie)}catch(c){}if(f&&f[1]!==""){var j=unescape(f[1]).split("&;");for(var e=0,b=j.length;e<b;e++){f=j[e].match(/([^:]+):(.*)/);var h=f[2].replace(/&&/g,"&");if(h==="true"){h=true}else{if(h==="false"){h=false}else{if(h.match(/^-?(\d+(\.\d+)?|\.\d+)$/)){h=parseFloat(h)}}}d[f[1]]=h}}return d}}};MathJax.Localization={locale:"en",directory:"[MathJax]/localization",strings:{ar:{menuTitle:"\u0627\u0644\u0639\u0631\u0628\u064A\u0629"},ast:{menuTitle:"asturianu"},bg:{menuTitle:"\u0431\u044A\u043B\u0433\u0430\u0440\u0441\u043A\u0438"},bcc:{menuTitle:"\u0628\u0644\u0648\u0686\u06CC"},br:{menuTitle:"brezhoneg"},ca:{menuTitle:"catal\u00E0"},cdo:{menuTitle:"M\u00ECng-d\u0115\u0324ng-ng\u1E73\u0304"},cs:{menuTitle:"\u010De\u0161tina"},da:{menuTitle:"dansk"},de:{menuTitle:"Deutsch"},diq:{menuTitle:"Zazaki"},en:{menuTitle:"English",isLoaded:true},eo:{menuTitle:"Esperanto"},es:{menuTitle:"espa\u00F1ol"},fa:{menuTitle:"\u0641\u0627\u0631\u0633\u06CC"},fi:{menuTitle:"suomi"},fr:{menuTitle:"fran\u00E7ais"},gl:{menuTitle:"galego"},he:{menuTitle:"\u05E2\u05D1\u05E8\u05D9\u05EA"},ia:{menuTitle:"interlingua"},it:{menuTitle:"italiano"},ja:{menuTitle:"\u65E5\u672C\u8A9E"},kn:{menuTitle:"\u0C95\u0CA8\u0CCD\u0CA8\u0CA1"},ko:{menuTitle:"\uD55C\uAD6D\uC5B4"},lb:{menuTitle:"L\u00EBtzebuergesch"},lki:{menuTitle:"\u0644\u06D5\u06A9\u06CC"},lt:{menuTitle:"lietuvi\u0173"},mk:{menuTitle:"\u043C\u0430\u043A\u0435\u0434\u043E\u043D\u0441\u043A\u0438"},nl:{menuTitle:"Nederlands"},oc:{menuTitle:"occitan"},pl:{menuTitle:"polski"},pt:{menuTitle:"portugu\u00EAs"},"pt-br":{menuTitle:"portugu\u00EAs do Brasil"},ru:{menuTitle:"\u0440\u0443\u0441\u0441\u043A\u0438\u0439"},sco:{menuTitle:"Scots"},scn:{menuTitle:"sicilianu"},sk:{menuTitle:"sloven\u010Dina"},sl:{menuTitle:"sloven\u0161\u010Dina"},sv:{menuTitle:"svenska"},th:{menuTitle:"\u0E44\u0E17\u0E22"},tr:{menuTitle:"T\u00FCrk\u00E7e"},uk:{menuTitle:"\u0443\u043A\u0440\u0430\u0457\u043D\u0441\u044C\u043A\u0430"},vi:{menuTitle:"Ti\u1EBFng Vi\u1EC7t"},"zh-hans":{menuTitle:"\u4E2D\u6587\uFF08\u7B80\u4F53\uFF09"},"zh-hant":{menuTitle:"\u6C49\u8BED"}},pattern:/%(\d+|\{\d+\}|\{[a-z]+:\%\d+(?:\|(?:%\{\d+\}|%.|[^\}])*)+\}|.)/g,SPLIT:("axb".split(/(x)/).length===3?function(a,b){return a.split(b)}:function(c,e){var a=[],b,d=0;e.lastIndex=0;while((b=e.exec(c))){a.push(c.substr(d,b.index-d));a.push.apply(a,b.slice(1));d=b.index+b[0].length}a.push(c.substr(d));return a}),_:function(b,a){if(MathJax.Object.isArray(a)){return this.processSnippet(b,a)}return this.processString(this.lookupPhrase(b,a),[].slice.call(arguments,2))},processString:function(l,p,g){var j,e,o=MathJax.Object.isArray;for(j=0,e=p.length;j<e;j++){if(g&&o(p[j])){p[j]=this.processSnippet(g,p[j])}}var f=this.SPLIT(l,this.pattern);for(j=1,e=f.length;j<e;j+=2){var q=f[j].charAt(0);if(q>="0"&&q<="9"){f[j]=p[f[j]-1];if(typeof f[j]==="number"){f[j]=this.number(f[j])}}else{if(q==="{"){q=f[j].substr(1);if(q>="0"&&q<="9"){f[j]=p[f[j].substr(1,f[j].length-2)-1];if(typeof f[j]==="number"){f[j]=this.number(f[j])}}else{var k=f[j].match(/^\{([a-z]+):%(\d+)\|(.*)\}$/);if(k){if(k[1]==="plural"){var d=p[k[2]-1];if(typeof d==="undefined"){f[j]="???"}else{d=this.plural(d)-1;var h=k[3].replace(/(^|[^%])(%%)*%\|/g,"$1$2%\uEFEF").split(/\|/);if(d>=0&&d<h.length){f[j]=this.processString(h[d].replace(/\uEFEF/g,"|"),p,g)}else{f[j]="???"}}}else{f[j]="%"+f[j]}}}}}if(f[j]==null){f[j]="???"}}if(!g){return f.join("")}var a=[],b="";for(j=0;j<e;j++){b+=f[j];j++;if(j<e){if(o(f[j])){a.push(b);a=a.concat(f[j]);b=""}else{b+=f[j]}}}if(b!==""){a.push(b)}return a},processSnippet:function(g,e){var c=[];for(var d=0,b=e.length;d<b;d++){if(MathJax.Object.isArray(e[d])){var f=e[d];if(typeof f[1]==="string"){var h=f[0];if(!MathJax.Object.isArray(h)){h=[g,h]}var a=this.lookupPhrase(h,f[1]);c=c.concat(this.processMarkdown(a,f.slice(2),g))}else{if(MathJax.Object.isArray(f[1])){c=c.concat(this.processSnippet.apply(this,f))}else{if(f.length>=3){c.push([f[0],f[1],this.processSnippet(g,f[2])])}else{c.push(e[d])}}}}else{c.push(e[d])}}return c},markdownPattern:/(%.)|(\*{1,3})((?:%.|.)+?)\2|(`+)((?:%.|.)+?)\4|\[((?:%.|.)+?)\]\(([^\s\)]+)\)/,processMarkdown:function(b,h,d){var j=[],e;var c=b.split(this.markdownPattern);var g=c[0];for(var f=1,a=c.length;f<a;f+=8){if(c[f+1]){e=this.processString(c[f+2],h,d);if(!MathJax.Object.isArray(e)){e=[e]}e=[["b","i","i"][c[f+1].length-1],{},e];if(c[f+1].length===3){e=["b",{},e]}}else{if(c[f+3]){e=this.processString(c[f+4].replace(/^\s/,"").replace(/\s$/,""),h,d);if(!MathJax.Object.isArray(e)){e=[e]}e=["code",{},e]}else{if(c[f+5]){e=this.processString(c[f+5],h,d);if(!MathJax.Object.isArray(e)){e=[e]}e=["a",{href:this.processString(c[f+6],h),target:"_blank"},e]}else{g+=c[f];e=null}}}if(e){j=this.concatString(j,g,h,d);j.push(e);g=""}if(c[f+7]!==""){g+=c[f+7]}}j=this.concatString(j,g,h,d);return j},concatString:function(a,c,b,d){if(c!=""){c=this.processString(c,b,d);if(!MathJax.Object.isArray(c)){c=[c]}a=a.concat(c)}return a},lookupPhrase:function(f,a,d){if(!d){d="_"}if(MathJax.Object.isArray(f)){d=(f[0]||"_");f=(f[1]||"")}var c=this.loadDomain(d);if(c){MathJax.Hub.RestartAfter(c)}var b=this.strings[this.locale];if(b){if(b.domains&&d in b.domains){var e=b.domains[d];if(e.strings&&f in e.strings){a=e.strings[f]}}}return a},loadFile:function(b,d,e){e=MathJax.Callback(e);b=(d.file||b);if(!b.match(/\.js$/)){b+=".js"}if(!b.match(/^([a-z]+:|\[MathJax\])/)){var a=(this.strings[this.locale].directory||this.directory+"/"+this.locale||"[MathJax]/localization/"+this.locale);b=a+"/"+b}var c=MathJax.Ajax.Require(b,function(){d.isLoaded=true;return e()});return(c.called?null:c)},loadDomain:function(c,e){var b,a=this.strings[this.locale];if(a){if(!a.isLoaded){b=this.loadFile(this.locale,a);if(b){return MathJax.Callback.Queue(b,["loadDomain",this,c]).Push(e||{})}}if(a.domains&&c in a.domains){var d=a.domains[c];if(!d.isLoaded){b=this.loadFile(c,d);if(b){return MathJax.Callback.Queue(b).Push(e)}}}}return MathJax.Callback(e)()},Try:function(a){a=MathJax.Callback(a);a.autoReset=true;try{a()}catch(b){if(!b.restart){throw b}MathJax.Callback.After(["Try",this,a],b.restart)}},resetLocale:function(a){if(!a){return}a=a.toLowerCase();while(!this.strings[a]){var c=a.lastIndexOf("-");if(c===-1){return}a=a.substring(0,c)}var b=this.strings[a].remap;this.locale=b?b:a;MathJax.Callback.Signal("Hub").Post(["Locale Reset",this.locale])},setLocale:function(a){this.resetLocale(a);if(MathJax.Menu){this.loadDomain("MathMenu")}},addTranslation:function(b,e,c){var d=this.strings[b],a=false;if(!d){d=this.strings[b]={};a=true}if(!d.domains){d.domains={}}if(e){if(!d.domains[e]){d.domains[e]={}}d=d.domains[e]}MathJax.Hub.Insert(d,c);if(a&&MathJax.Menu.menu){MathJax.Menu.CreateLocaleMenu()}},setCSS:function(b){var a=this.strings[this.locale];if(a){if(a.fontFamily){b.style.fontFamily=a.fontFamily}if(a.fontDirection){b.style.direction=a.fontDirection;if(a.fontDirection==="rtl"){b.style.textAlign="right"}}}return b},fontFamily:function(){var a=this.strings[this.locale];return(a?a.fontFamily:null)},fontDirection:function(){var a=this.strings[this.locale];return(a?a.fontDirection:null)},plural:function(b){var a=this.strings[this.locale];if(a&&a.plural){return a.plural(b)}if(b==1){return 1}return 2},number:function(b){var a=this.strings[this.locale];if(a&&a.number){return a.number(b)}return b}};MathJax.Message={ready:false,log:[{}],current:null,textNodeBug:(navigator.vendor==="Apple Computer, Inc."&&typeof navigator.vendorSub==="undefined")||(window.hasOwnProperty&&window.hasOwnProperty("konqueror")),styles:{"#MathJax_Message":{position:"fixed",left:"1px",bottom:"2px","background-color":"#E6E6E6",border:"1px solid #959595",margin:"0px",padding:"2px 8px","z-index":"102",color:"black","font-size":"80%",width:"auto","white-space":"nowrap"},"#MathJax_MSIE_Frame":{position:"absolute",top:0,left:0,width:"0px","z-index":101,border:"0px",margin:"0px",padding:"0px"}},browsers:{MSIE:function(a){MathJax.Message.msieFixedPositionBug=((document.documentMode||0)<7);if(MathJax.Message.msieFixedPositionBug){MathJax.Hub.config.styles["#MathJax_Message"].position="absolute"}MathJax.Message.quirks=(document.compatMode==="BackCompat")},Chrome:function(a){MathJax.Hub.config.styles["#MathJax_Message"].bottom="1.5em";MathJax.Hub.config.styles["#MathJax_Message"].left="1em"}},Init:function(a){if(a){this.ready=true}if(!document.body||!this.ready){return false}if(this.div&&this.div.parentNode==null){this.div=document.getElementById("MathJax_Message");this.text=(this.div?this.div.firstChild:null)}if(!this.div){var b=document.body;if(this.msieFixedPositionBug&&window.attachEvent){b=this.frame=this.addDiv(document.body);b.removeAttribute("id");b.style.position="absolute";b.style.border=b.style.margin=b.style.padding="0px";b.style.zIndex="101";b.style.height="0px";b=this.addDiv(b);b.id="MathJax_MSIE_Frame";window.attachEvent("onscroll",this.MoveFrame);window.attachEvent("onresize",this.MoveFrame);this.MoveFrame()}this.div=this.addDiv(b);this.div.style.display="none"}if(!this.text){this.text=this.div.appendChild(document.createTextNode(""))}return true},addDiv:function(a){var b=document.createElement("div");b.id="MathJax_Message";if(a.firstChild){a.insertBefore(b,a.firstChild)}else{a.appendChild(b)}return b},MoveFrame:function(){var a=(MathJax.Message.quirks?document.body:document.documentElement);var b=MathJax.Message.frame;b.style.left=a.scrollLeft+"px";b.style.top=a.scrollTop+"px";b.style.width=a.clientWidth+"px";b=b.firstChild;b.style.height=a.clientHeight+"px"},localize:function(a){return MathJax.Localization._(a,a)},filterText:function(a,c,b){if(MathJax.Hub.config.messageStyle==="simple"){if(b==="LoadFile"){if(!this.loading){this.loading=this.localize("Loading")+" "}a=this.loading;this.loading+="."}else{if(b==="ProcessMath"){if(!this.processing){this.processing=this.localize("Processing")+" "}a=this.processing;this.processing+="."}else{if(b==="TypesetMath"){if(!this.typesetting){this.typesetting=this.localize("Typesetting")+" "}a=this.typesetting;this.typesetting+="."}}}}return a},clearCounts:function(){delete this.loading;delete this.processing;delete this.typesetting},Set:function(c,e,b){if(e==null){e=this.log.length;this.log[e]={}}var d="";if(MathJax.Object.isArray(c)){d=c[0];if(MathJax.Object.isArray(d)){d=d[1]}try{c=MathJax.Localization._.apply(MathJax.Localization,c)}catch(a){if(!a.restart){throw a}if(!a.restart.called){if(this.log[e].restarted==null){this.log[e].restarted=0}this.log[e].restarted++;delete this.log[e].cleared;MathJax.Callback.After(["Set",this,c,e,b],a.restart);return e}}}if(this.timer){clearTimeout(this.timer);delete this.timer}this.log[e].text=c;this.log[e].filteredText=c=this.filterText(c,e,d);if(typeof(this.log[e].next)==="undefined"){this.log[e].next=this.current;if(this.current!=null){this.log[this.current].prev=e}this.current=e}if(this.current===e&&MathJax.Hub.config.messageStyle!=="none"){if(this.Init()){if(this.textNodeBug){this.div.innerHTML=c}else{this.text.nodeValue=c}this.div.style.display="";if(this.status){window.status="";delete this.status}}else{window.status=c;this.status=true}}if(this.log[e].restarted){if(this.log[e].cleared){b=0}if(--this.log[e].restarted===0){delete this.log[e].cleared}}if(b){setTimeout(MathJax.Callback(["Clear",this,e]),b)}else{if(b==0){this.Clear(e,0)}}return e},Clear:function(b,a){if(this.log[b].prev!=null){this.log[this.log[b].prev].next=this.log[b].next}if(this.log[b].next!=null){this.log[this.log[b].next].prev=this.log[b].prev}if(this.current===b){this.current=this.log[b].next;if(this.text){if(this.div.parentNode==null){this.Init()}if(this.current==null){if(this.timer){clearTimeout(this.timer);delete this.timer}if(a==null){a=600}if(a===0){this.Remove()}else{this.timer=setTimeout(MathJax.Callback(["Remove",this]),a)}}else{if(MathJax.Hub.config.messageStyle!=="none"){if(this.textNodeBug){this.div.innerHTML=this.log[this.current].filteredText}else{this.text.nodeValue=this.log[this.current].filteredText}}}if(this.status){window.status="";delete this.status}}else{if(this.status){window.status=(this.current==null?"":this.log[this.current].text)}}}delete this.log[b].next;delete this.log[b].prev;delete this.log[b].filteredText;if(this.log[b].restarted){this.log[b].cleared=true}},Remove:function(){this.text.nodeValue="";this.div.style.display="none"},File:function(a){return this.Set(["LoadFile","Loading %1",a],null,null)},Log:function(){var b=[];for(var c=1,a=this.log.length;c<a;c++){b[c]=this.log[c].text}return b.join("\n")}};MathJax.Hub={config:{root:"",config:[],styleSheets:[],styles:{".MathJax_Preview":{color:"#888"}},jax:[],extensions:[],preJax:null,postJax:null,displayAlign:"center",displayIndent:"0",preRemoveClass:"MathJax_Preview",showProcessingMessages:true,messageStyle:"normal",delayStartupUntil:"none",skipStartupTypeset:false,elements:[],positionToHash:true,showMathMenu:true,showMathMenuMSIE:true,menuSettings:{zoom:"None",CTRL:false,ALT:false,CMD:false,Shift:false,discoverable:false,zscale:"200%",renderer:null,font:"Auto",context:"MathJax",locale:null,mpContext:false,mpMouse:false,texHints:true,FastPreview:null,assistiveMML:null,inTabOrder:true,semantics:false},errorSettings:{message:["[",["MathProcessingError","Math Processing Error"],"]"],style:{color:"#CC0000","font-style":"italic"}},ignoreMMLattributes:{}},preProcessors:MathJax.Callback.Hooks(true),inputJax:{},outputJax:{order:{}},processSectionDelay:50,processUpdateTime:250,processUpdateDelay:10,signal:MathJax.Callback.Signal("Hub"),Config:function(a){this.Insert(this.config,a);if(this.config.Augment){this.Augment(this.config.Augment)}},CombineConfig:function(c,f){var b=this.config,g,e;c=c.split(/\./);for(var d=0,a=c.length;d<a;d++){g=c[d];if(!b[g]){b[g]={}}e=b;b=b[g]}e[g]=b=this.Insert(f,b);return b},Register:{PreProcessor:function(){return MathJax.Hub.preProcessors.Add.apply(MathJax.Hub.preProcessors,arguments)},MessageHook:function(){return MathJax.Hub.signal.MessageHook.apply(MathJax.Hub.signal,arguments)},StartupHook:function(){return MathJax.Hub.Startup.signal.MessageHook.apply(MathJax.Hub.Startup.signal,arguments)},LoadHook:function(){return MathJax.Ajax.LoadHook.apply(MathJax.Ajax,arguments)}},UnRegister:{PreProcessor:function(a){MathJax.Hub.preProcessors.Remove(a)},MessageHook:function(a){MathJax.Hub.signal.RemoveHook(a)},StartupHook:function(a){MathJax.Hub.Startup.signal.RemoveHook(a)},LoadHook:function(a){MathJax.Ajax.removeHook(a)}},getAllJax:function(e){var c=[],b=this.elementScripts(e);for(var d=0,a=b.length;d<a;d++){if(b[d].MathJax&&b[d].MathJax.elementJax){c.push(b[d].MathJax.elementJax)}}return c},getJaxByType:function(f,e){var c=[],b=this.elementScripts(e);for(var d=0,a=b.length;d<a;d++){if(b[d].MathJax&&b[d].MathJax.elementJax&&b[d].MathJax.elementJax.mimeType===f){c.push(b[d].MathJax.elementJax)}}return c},getJaxByInputType:function(f,e){var c=[],b=this.elementScripts(e);for(var d=0,a=b.length;d<a;d++){if(b[d].MathJax&&b[d].MathJax.elementJax&&b[d].type&&b[d].type.replace(/ *;(.|\s)*/,"")===f){c.push(b[d].MathJax.elementJax)}}return c},getJaxFor:function(a){if(typeof(a)==="string"){a=document.getElementById(a)}if(a&&a.MathJax){return a.MathJax.elementJax}if(this.isMathJaxNode(a)){if(!a.isMathJax){a=a.firstChild}while(a&&!a.jaxID){a=a.parentNode}if(a){return MathJax.OutputJax[a.jaxID].getJaxFromMath(a)}}return null},isJax:function(a){if(typeof(a)==="string"){a=document.getElementById(a)}if(this.isMathJaxNode(a)){return 1}if(a&&(a.tagName||"").toLowerCase()==="script"){if(a.MathJax){return(a.MathJax.state===MathJax.ElementJax.STATE.PROCESSED?1:-1)}if(a.type&&this.inputJax[a.type.replace(/ *;(.|\s)*/,"")]){return -1}}return 0},isMathJaxNode:function(a){return !!a&&(a.isMathJax||(a.className||"")==="MathJax_MathML")},setRenderer:function(d,c){if(!d){return}if(!MathJax.OutputJax[d]){this.config.menuSettings.renderer="";var b="[MathJax]/jax/output/"+d+"/config.js";return MathJax.Ajax.Require(b,["setRenderer",this,d,c])}else{this.config.menuSettings.renderer=d;if(c==null){c="jax/mml"}var a=this.outputJax;if(a[c]&&a[c].length){if(d!==a[c][0].id){a[c].unshift(MathJax.OutputJax[d]);return this.signal.Post(["Renderer Selected",d])}}return null}},Queue:function(){return this.queue.Push.apply(this.queue,arguments)},Typeset:function(c,d){if(!MathJax.isReady){return null}var b=this.elementCallback(c,d);if(b.count){var a=MathJax.Callback.Queue(["PreProcess",this,b.elements],["Process",this,b.elements])}return a.Push(b.callback)},PreProcess:function(e,g){var c=this.elementCallback(e,g);var b=MathJax.Callback.Queue();if(c.count){var f=(c.count===1?[c.elements]:c.elements);b.Push(["Post",this.signal,["Begin PreProcess",c.elements]]);for(var d=0,a=f.length;d<a;d++){if(f[d]){b.Push(["Execute",this.preProcessors,f[d]])}}b.Push(["Post",this.signal,["End PreProcess",c.elements]])}return b.Push(c.callback)},Process:function(a,b){return this.takeAction("Process",a,b)},Update:function(a,b){return this.takeAction("Update",a,b)},Reprocess:function(a,b){return this.takeAction("Reprocess",a,b)},Rerender:function(a,b){return this.takeAction("Rerender",a,b)},takeAction:function(g,d,h){var c=this.elementCallback(d,h);var f=c.elements;var a=MathJax.Callback.Queue(["Clear",this.signal]);var e={scripts:[],start:new Date().getTime(),i:0,j:0,jax:{},jaxIDs:[]};if(c.count){var b=["Delay",MathJax.Callback,this.processSectionDelay];if(!b[2]){b={}}a.Push(["clearCounts",MathJax.Message],["Post",this.signal,["Begin "+g,f]],["Post",this.signal,["Begin Math",f,g]],["prepareScripts",this,g,f,e],["Post",this.signal,["Begin Math Input",f,g]],["processInput",this,e],["Post",this.signal,["End Math Input",f,g]],b,["prepareOutput",this,e,"preProcess"],b,["Post",this.signal,["Begin Math Output",f,g]],["processOutput",this,e],["Post",this.signal,["End Math Output",f,g]],b,["prepareOutput",this,e,"postProcess"],b,["Post",this.signal,["End Math",f,g]],["Post",this.signal,["End "+g,f]],["clearCounts",MathJax.Message])}return a.Push(c.callback)},scriptAction:{Process:function(a){},Update:function(b){var a=b.MathJax.elementJax;if(a&&a.needsUpdate()){a.Remove(true);b.MathJax.state=a.STATE.UPDATE}else{b.MathJax.state=a.STATE.PROCESSED}},Reprocess:function(b){var a=b.MathJax.elementJax;if(a){a.Remove(true);b.MathJax.state=a.STATE.UPDATE}},Rerender:function(b){var a=b.MathJax.elementJax;if(a){a.Remove(true);b.MathJax.state=a.STATE.OUTPUT}}},prepareScripts:function(h,e,g){if(arguments.callee.disabled){return}var b=this.elementScripts(e);var f=MathJax.ElementJax.STATE;for(var d=0,a=b.length;d<a;d++){var c=b[d];if(c.type&&this.inputJax[c.type.replace(/ *;(.|\n)*/,"")]){if(c.MathJax){if(c.MathJax.elementJax&&c.MathJax.elementJax.hover){MathJax.Extension.MathEvents.Hover.ClearHover(c.MathJax.elementJax)}if(c.MathJax.state!==f.PENDING){this.scriptAction[h](c)}}if(!c.MathJax){c.MathJax={state:f.PENDING}}if(c.MathJax.error){delete c.MathJax.error}if(c.MathJax.state!==f.PROCESSED){g.scripts.push(c)}}}},checkScriptSiblings:function(a){if(a.MathJax.checked){return}var b=this.config,f=a.previousSibling;if(f&&f.nodeName==="#text"){var d,e,c=a.nextSibling;if(c&&c.nodeName!=="#text"){c=null}if(b.preJax){if(typeof(b.preJax)==="string"){b.preJax=new RegExp(b.preJax+"$")}d=f.nodeValue.match(b.preJax)}if(b.postJax&&c){if(typeof(b.postJax)==="string"){b.postJax=new RegExp("^"+b.postJax)}e=c.nodeValue.match(b.postJax)}if(d&&(!b.postJax||e)){f.nodeValue=f.nodeValue.replace(b.preJax,(d.length>1?d[1]:""));f=null}if(e&&(!b.preJax||d)){c.nodeValue=c.nodeValue.replace(b.postJax,(e.length>1?e[1]:""))}if(f&&!f.nodeValue.match(/\S/)){f=f.previousSibling}}if(b.preRemoveClass&&f&&f.className===b.preRemoveClass){a.MathJax.preview=f}a.MathJax.checked=1},processInput:function(a){var b,i=MathJax.ElementJax.STATE;var h,e,d=a.scripts.length;try{while(a.i<d){h=a.scripts[a.i];if(!h){a.i++;continue}e=h.previousSibling;if(e&&e.className==="MathJax_Error"){e.parentNode.removeChild(e)}if(!h.parentNode||!h.MathJax||h.MathJax.state===i.PROCESSED){a.i++;continue}if(!h.MathJax.elementJax||h.MathJax.state===i.UPDATE){this.checkScriptSiblings(h);var g=h.type.replace(/ *;(.|\s)*/,"");var j=this.inputJax[g];b=j.Process(h,a);if(typeof b==="function"){if(b.called){continue}this.RestartAfter(b)}b=b.Attach(h,j.id);this.saveScript(b,a,h,i);this.postInputHooks.Execute(b,j.id,h)}else{if(h.MathJax.state===i.OUTPUT){this.saveScript(h.MathJax.elementJax,a,h,i)}}a.i++;var c=new Date().getTime();if(c-a.start>this.processUpdateTime&&a.i<a.scripts.length){a.start=c;this.RestartAfter(MathJax.Callback.Delay(1))}}}catch(f){return this.processError(f,a,"Input")}if(a.scripts.length&&this.config.showProcessingMessages){MathJax.Message.Set(["ProcessMath","Processing math: %1%%",100],0)}a.start=new Date().getTime();a.i=a.j=0;return null},postInputHooks:MathJax.Callback.Hooks(true),saveScript:function(a,d,b,c){if(!this.outputJax[a.mimeType]){b.MathJax.state=c.UPDATE;throw Error("No output jax registered for "+a.mimeType)}a.outputJax=this.outputJax[a.mimeType][0].id;if(!d.jax[a.outputJax]){if(d.jaxIDs.length===0){d.jax[a.outputJax]=d.scripts}else{if(d.jaxIDs.length===1){d.jax[d.jaxIDs[0]]=d.scripts.slice(0,d.i)}d.jax[a.outputJax]=[]}d.jaxIDs.push(a.outputJax)}if(d.jaxIDs.length>1){d.jax[a.outputJax].push(b)}b.MathJax.state=c.OUTPUT},prepareOutput:function(c,f){while(c.j<c.jaxIDs.length){var e=c.jaxIDs[c.j],d=MathJax.OutputJax[e];if(d[f]){try{var a=d[f](c);if(typeof a==="function"){if(a.called){continue}this.RestartAfter(a)}}catch(b){if(!b.restart){MathJax.Message.Set(["PrepError","Error preparing %1 output (%2)",e,f],null,600);MathJax.Hub.lastPrepError=b;c.j++}return MathJax.Callback.After(["prepareOutput",this,c,f],b.restart)}}c.j++}return null},processOutput:function(h){var b,g=MathJax.ElementJax.STATE,d,a=h.scripts.length;try{while(h.i<a){d=h.scripts[h.i];if(!d||!d.parentNode||!d.MathJax||d.MathJax.error){h.i++;continue}var c=d.MathJax.elementJax;if(!c){h.i++;continue}b=MathJax.OutputJax[c.outputJax].Process(d,h);if(b!==false){d.MathJax.state=g.PROCESSED;if(d.MathJax.preview){d.MathJax.preview.innerHTML="";d.MathJax.preview.style.display="none"}this.signal.Post(["New Math",c.inputID])}h.i++;var e=new Date().getTime();if(e-h.start>this.processUpdateTime&&h.i<h.scripts.length){h.start=e;this.RestartAfter(MathJax.Callback.Delay(this.processUpdateDelay))}}}catch(f){return this.processError(f,h,"Output")}if(h.scripts.length&&this.config.showProcessingMessages){MathJax.Message.Set(["TypesetMath","Typesetting math: %1%%",100],0);MathJax.Message.Clear(0)}h.i=h.j=0;return null},processMessage:function(d,b){var a=Math.floor(d.i/(d.scripts.length)*100);var c=(b==="Output"?["TypesetMath","Typesetting math: %1%%"]:["ProcessMath","Processing math: %1%%"]);if(this.config.showProcessingMessages){MathJax.Message.Set(c.concat(a),0)}},processError:function(b,c,a){if(!b.restart){if(!this.config.errorSettings.message){throw b}this.formatError(c.scripts[c.i],b);c.i++}this.processMessage(c,a);return MathJax.Callback.After(["process"+a,this,c],b.restart)},formatError:function(b,f){var h=function(l,k,j,i){return MathJax.Localization._(l,k,j,i)};var e=h("ErrorMessage","Error: %1",f.message)+"\n";if(f.sourceURL||f.fileName){e+="\n"+h("ErrorFile","file: %1",f.sourceURL||f.fileName)}if(f.line||f.lineNumber){e+="\n"+h("ErrorLine","line: %1",f.line||f.lineNumber)}e+="\n\n"+h("ErrorTips","Debugging tips: use %1, inspect %2 in the browser console","'unpacked/MathJax.js'","'MathJax.Hub.lastError'");b.MathJax.error=MathJax.OutputJax.Error.Jax(e,b);if(b.MathJax.elementJax){b.MathJax.error.inputID=b.MathJax.elementJax.inputID}var g=this.config.errorSettings;var a=h(g.messageId,g.message);var c=MathJax.HTML.Element("span",{className:"MathJax_Error",jaxID:"Error",isMathJax:true,id:b.MathJax.error.inputID+"-Frame"},[["span",null,a]]);MathJax.Ajax.Require("[MathJax]/extensions/MathEvents.js",function(){var j=MathJax.Extension.MathEvents.Event,i=MathJax.Hub;c.oncontextmenu=j.Menu;c.onmousedown=j.Mousedown;c.onkeydown=j.Keydown;c.tabIndex=i.getTabOrder(i.getJaxFor(b))});var d=document.getElementById(c.id);if(d){d.parentNode.removeChild(d)}if(b.parentNode){b.parentNode.insertBefore(c,b)}if(b.MathJax.preview){b.MathJax.preview.innerHTML="";b.MathJax.preview.style.display="none"}this.lastError=f;this.signal.Post(["Math Processing Error",b,f])},RestartAfter:function(a){throw this.Insert(Error("restart"),{restart:MathJax.Callback(a)})},elementCallback:function(c,f){if(f==null&&(MathJax.Object.isArray(c)||typeof c==="function")){try{MathJax.Callback(c);f=c;c=null}catch(d){}}if(c==null){c=this.config.elements||[]}if(this.isHTMLCollection(c)){c=this.HTMLCollection2Array(c)}if(!MathJax.Object.isArray(c)){c=[c]}c=[].concat(c);for(var b=0,a=c.length;b<a;b++){if(typeof(c[b])==="string"){c[b]=document.getElementById(c[b])}}if(!document.body){document.body=document.getElementsByTagName("body")[0]}if(c.length==0){c.push(document.body)}if(!f){f={}}return{count:c.length,elements:(c.length===1?c[0]:c),callback:f}},elementScripts:function(e){var b=[];if(MathJax.Object.isArray(e)||this.isHTMLCollection(e)){for(var d=0,a=e.length;d<a;d++){var f=0;for(var c=0;c<d&&!f;c++){f=e[c].contains(e[d])}if(!f){b.push.apply(b,this.elementScripts(e[d]))}}return b}if(typeof(e)==="string"){e=document.getElementById(e)}if(!document.body){document.body=document.getElementsByTagName("body")[0]}if(e==null){e=document.body}if(e.tagName!=null&&e.tagName.toLowerCase()==="script"){return[e]}b=e.getElementsByTagName("script");if(this.msieHTMLCollectionBug){b=this.HTMLCollection2Array(b)}return b},isHTMLCollection:function(a){return("HTMLCollection" in window&&typeof(a)==="object"&&a instanceof HTMLCollection)},HTMLCollection2Array:function(c){if(!this.msieHTMLCollectionBug){return[].slice.call(c)}var b=[];for(var d=0,a=c.length;d<a;d++){b[d]=c[d]}return b},Insert:function(c,a){for(var b in a){if(a.hasOwnProperty(b)){if(typeof a[b]==="object"&&!(MathJax.Object.isArray(a[b]))&&(typeof c[b]==="object"||typeof c[b]==="function")){this.Insert(c[b],a[b])}else{c[b]=a[b]}}}return c},getTabOrder:function(a){return this.config.menuSettings.inTabOrder?0:-1},SplitList:("trim" in String.prototype?function(a){return a.trim().split(/\s+/)}:function(a){return a.replace(/^\s+/,"").replace(/\s+$/,"").split(/\s+/)})};MathJax.Hub.Insert(MathJax.Hub.config.styles,MathJax.Message.styles);MathJax.Hub.Insert(MathJax.Hub.config.styles,{".MathJax_Error":MathJax.Hub.config.errorSettings.style});MathJax.Extension={};MathJax.Hub.Configured=MathJax.Callback({});MathJax.Hub.Startup={script:"",queue:MathJax.Callback.Queue(),signal:MathJax.Callback.Signal("Startup"),params:{},Config:function(){this.queue.Push(["Post",this.signal,"Begin Config"]);if(MathJax.AuthorConfig&&MathJax.AuthorConfig.root){MathJax.Ajax.config.root=MathJax.AuthorConfig.root}if(this.params.locale){MathJax.Localization.resetLocale(this.params.locale);MathJax.Hub.config.menuSettings.locale=this.params.locale}if(this.params.config){var c=this.params.config.split(/,/);for(var b=0,a=c.length;b<a;b++){if(!c[b].match(/\.js$/)){c[b]+=".js"}this.queue.Push(["Require",MathJax.Ajax,this.URL("config",c[b])])}}this.queue.Push(["Config",MathJax.Hub,MathJax.AuthorConfig]);if(this.script.match(/\S/)){this.queue.Push(this.script+";\n1;")}this.queue.Push(["ConfigDelay",this],["ConfigBlocks",this],[function(d){return d.loadArray(MathJax.Hub.config.config,"config",null,true)},this],["Post",this.signal,"End Config"])},ConfigDelay:function(){var a=this.params.delayStartupUntil||MathJax.Hub.config.delayStartupUntil;if(a==="onload"){return this.onload}if(a==="configured"){return MathJax.Hub.Configured}return a},ConfigBlocks:function(){var c=document.getElementsByTagName("script");var b=MathJax.Callback.Queue();for(var d=0,a=c.length;d<a;d++){var e=String(c[d].type).replace(/ /g,"");if(e.match(/^text\/x-mathjax-config(;.*)?$/)&&!e.match(/;executed=true/)){c[d].type+=";executed=true";b.Push(c[d].innerHTML+";\n1;")}}return b.Push(function(){MathJax.Ajax.config.root=MathJax.Hub.config.root})},Cookie:function(){return this.queue.Push(["Post",this.signal,"Begin Cookie"],["Get",MathJax.HTML.Cookie,"menu",MathJax.Hub.config.menuSettings],[function(e){var d=e.menuSettings;if(d.locale){MathJax.Localization.resetLocale(d.locale)}var g=e.menuSettings.renderer,b=e.jax;if(g){var c="output/"+g;b.sort();for(var f=0,a=b.length;f<a;f++){if(b[f].substr(0,7)==="output/"){break}}if(f==a-1){b.pop()}else{while(f<a){if(b[f]===c){b.splice(f,1);break}f++}}b.unshift(c)}if(d.CHTMLpreview!=null){if(d.FastPreview==null){d.FastPreview=d.CHTMLpreview}delete d.CHTMLpreview}if(d.FastPreview&&!MathJax.Extension["fast-preview"]){MathJax.Hub.config.extensions.push("fast-preview.js")}if(e.menuSettings.assistiveMML&&!MathJax.Extension.AssistiveMML){MathJax.Hub.config.extensions.push("AssistiveMML.js")}},MathJax.Hub.config],["Post",this.signal,"End Cookie"])},Styles:function(){return this.queue.Push(["Post",this.signal,"Begin Styles"],["loadArray",this,MathJax.Hub.config.styleSheets,"config"],["Styles",MathJax.Ajax,MathJax.Hub.config.styles],["Post",this.signal,"End Styles"])},Jax:function(){var f=MathJax.Hub.config,c=MathJax.Hub.outputJax;for(var g=0,b=f.jax.length,d=0;g<b;g++){var e=f.jax[g].substr(7);if(f.jax[g].substr(0,7)==="output/"&&c.order[e]==null){c.order[e]=d;d++}}var a=MathJax.Callback.Queue();return a.Push(["Post",this.signal,"Begin Jax"],["loadArray",this,f.jax,"jax","config.js"],["Post",this.signal,"End Jax"])},Extensions:function(){var a=MathJax.Callback.Queue();return a.Push(["Post",this.signal,"Begin Extensions"],["loadArray",this,MathJax.Hub.config.extensions,"extensions"],["Post",this.signal,"End Extensions"])},Message:function(){MathJax.Message.Init(true)},Menu:function(){var b=MathJax.Hub.config.menuSettings,a=MathJax.Hub.outputJax,d;for(var c in a){if(a.hasOwnProperty(c)){if(a[c].length){d=a[c];break}}}if(d&&d.length){if(b.renderer&&b.renderer!==d[0].id){d.unshift(MathJax.OutputJax[b.renderer])}b.renderer=d[0].id}},Hash:function(){if(MathJax.Hub.config.positionToHash&&document.location.hash&&document.body&&document.body.scrollIntoView){var d=decodeURIComponent(document.location.hash.substr(1));var f=document.getElementById(d);if(!f){var c=document.getElementsByTagName("a");for(var e=0,b=c.length;e<b;e++){if(c[e].name===d){f=c[e];break}}}if(f){while(!f.scrollIntoView){f=f.parentNode}f=this.HashCheck(f);if(f&&f.scrollIntoView){setTimeout(function(){f.scrollIntoView(true)},1)}}}},HashCheck:function(b){var a=MathJax.Hub.getJaxFor(b);if(a&&MathJax.OutputJax[a.outputJax].hashCheck){b=MathJax.OutputJax[a.outputJax].hashCheck(b)}return b},MenuZoom:function(){if(MathJax.Hub.config.showMathMenu){if(!MathJax.Extension.MathMenu){setTimeout(function(){MathJax.Callback.Queue(["Require",MathJax.Ajax,"[MathJax]/extensions/MathMenu.js",{}],["loadDomain",MathJax.Localization,"MathMenu"])},1000)}else{setTimeout(MathJax.Callback(["loadDomain",MathJax.Localization,"MathMenu"]),1000)}if(!MathJax.Extension.MathZoom){setTimeout(MathJax.Callback(["Require",MathJax.Ajax,"[MathJax]/extensions/MathZoom.js",{}]),2000)}}},onLoad:function(){var a=this.onload=MathJax.Callback(function(){MathJax.Hub.Startup.signal.Post("onLoad")});if(document.body&&document.readyState){if(MathJax.Hub.Browser.isMSIE){if(document.readyState==="complete"){return[a]}}else{if(document.readyState!=="loading"){return[a]}}}if(window.addEventListener){window.addEventListener("load",a,false);if(!this.params.noDOMContentEvent){window.addEventListener("DOMContentLoaded",a,false)}}else{if(window.attachEvent){window.attachEvent("onload",a)}else{window.onload=a}}return a},Typeset:function(a,b){if(MathJax.Hub.config.skipStartupTypeset){return function(){}}return this.queue.Push(["Post",this.signal,"Begin Typeset"],["Typeset",MathJax.Hub,a,b],["Post",this.signal,"End Typeset"])},URL:function(b,a){if(!a.match(/^([a-z]+:\/\/|\[|\/)/)){a="[MathJax]/"+b+"/"+a}return a},loadArray:function(b,f,c,a){if(b){if(!MathJax.Object.isArray(b)){b=[b]}if(b.length){var h=MathJax.Callback.Queue(),j={},e;for(var g=0,d=b.length;g<d;g++){e=this.URL(f,b[g]);if(c){e+="/"+c}if(a){h.Push(["Require",MathJax.Ajax,e,j])}else{h.Push(MathJax.Ajax.Require(e,j))}}return h.Push({})}}return null}};(function(d){var b=window[d],e="["+d+"]";var c=b.Hub,a=b.Ajax,f=b.Callback;var g=MathJax.Object.Subclass({JAXFILE:"jax.js",require:null,config:{},Init:function(i,h){if(arguments.length===0){return this}return(this.constructor.Subclass(i,h))()},Augment:function(k,j){var i=this.constructor,h={};if(k!=null){for(var l in k){if(k.hasOwnProperty(l)){if(typeof k[l]==="function"){i.protoFunction(l,k[l])}else{h[l]=k[l]}}}if(k.toString!==i.prototype.toString&&k.toString!=={}.toString){i.protoFunction("toString",k.toString)}}c.Insert(i.prototype,h);i.Augment(null,j);return this},Translate:function(h,i){throw Error(this.directory+"/"+this.JAXFILE+" failed to define the Translate() method")},Register:function(h){},Config:function(){this.config=c.CombineConfig(this.id,this.config);if(this.config.Augment){this.Augment(this.config.Augment)}},Startup:function(){},loadComplete:function(i){if(i==="config.js"){return a.loadComplete(this.directory+"/"+i)}else{var h=f.Queue();h.Push(c.Register.StartupHook("End Config",{}),["Post",c.Startup.signal,this.id+" Jax Config"],["Config",this],["Post",c.Startup.signal,this.id+" Jax Require"],[function(j){return MathJax.Hub.Startup.loadArray(j.require,this.directory)},this],[function(j,k){return MathJax.Hub.Startup.loadArray(j.extensions,"extensions/"+k)},this.config||{},this.id],["Post",c.Startup.signal,this.id+" Jax Startup"],["Startup",this],["Post",c.Startup.signal,this.id+" Jax Ready"]);if(this.copyTranslate){h.Push([function(j){j.preProcess=j.preTranslate;j.Process=j.Translate;j.postProcess=j.postTranslate},this.constructor.prototype])}return h.Push(["loadComplete",a,this.directory+"/"+i])}}},{id:"Jax",version:"2.7.4",directory:e+"/jax",extensionDir:e+"/extensions"});b.InputJax=g.Subclass({elementJax:"mml",sourceMenuTitle:["Original","Original Form"],copyTranslate:true,Process:function(l,q){var j=f.Queue(),o;var k=this.elementJax;if(!b.Object.isArray(k)){k=[k]}for(var n=0,h=k.length;n<h;n++){o=b.ElementJax.directory+"/"+k[n]+"/"+this.JAXFILE;if(!this.require){this.require=[]}else{if(!b.Object.isArray(this.require)){this.require=[this.require]}}this.require.push(o);j.Push(a.Require(o))}o=this.directory+"/"+this.JAXFILE;var p=j.Push(a.Require(o));if(!p.called){this.constructor.prototype.Process=function(){if(!p.called){return p}throw Error(o+" failed to load properly")}}k=c.outputJax["jax/"+k[0]];if(k){j.Push(a.Require(k[0].directory+"/"+this.JAXFILE))}return j.Push({})},needsUpdate:function(h){var i=h.SourceElement();return(h.originalText!==b.HTML.getScript(i))},Register:function(h){if(!c.inputJax){c.inputJax={}}c.inputJax[h]=this}},{id:"InputJax",version:"2.7.4",directory:g.directory+"/input",extensionDir:g.extensionDir});b.OutputJax=g.Subclass({copyTranslate:true,preProcess:function(j){var i,h=this.directory+"/"+this.JAXFILE;this.constructor.prototype.preProcess=function(k){if(!i.called){return i}throw Error(h+" failed to load properly")};i=a.Require(h);return i},Register:function(i){var h=c.outputJax;if(!h[i]){h[i]=[]}if(h[i].length&&(this.id===c.config.menuSettings.renderer||(h.order[this.id]||0)<(h.order[h[i][0].id]||0))){h[i].unshift(this)}else{h[i].push(this)}if(!this.require){this.require=[]}else{if(!b.Object.isArray(this.require)){this.require=[this.require]}}this.require.push(b.ElementJax.directory+"/"+(i.split(/\//)[1])+"/"+this.JAXFILE)},Remove:function(h){}},{id:"OutputJax",version:"2.7.4",directory:g.directory+"/output",extensionDir:g.extensionDir,fontDir:e+(b.isPacked?"":"/..")+"/fonts",imageDir:e+(b.isPacked?"":"/..")+"/images"});b.ElementJax=g.Subclass({Init:function(i,h){return this.constructor.Subclass(i,h)},inputJax:null,outputJax:null,inputID:null,originalText:"",mimeType:"",sourceMenuTitle:["MathMLcode","MathML Code"],Text:function(i,j){var h=this.SourceElement();b.HTML.setScript(h,i);h.MathJax.state=this.STATE.UPDATE;return c.Update(h,j)},Reprocess:function(i){var h=this.SourceElement();h.MathJax.state=this.STATE.UPDATE;return c.Reprocess(h,i)},Update:function(h){return this.Rerender(h)},Rerender:function(i){var h=this.SourceElement();h.MathJax.state=this.STATE.OUTPUT;return c.Process(h,i)},Remove:function(h){if(this.hover){this.hover.clear(this)}b.OutputJax[this.outputJax].Remove(this);if(!h){c.signal.Post(["Remove Math",this.inputID]);this.Detach()}},needsUpdate:function(){return b.InputJax[this.inputJax].needsUpdate(this)},SourceElement:function(){return document.getElementById(this.inputID)},Attach:function(i,j){var h=i.MathJax.elementJax;if(i.MathJax.state===this.STATE.UPDATE){h.Clone(this)}else{h=i.MathJax.elementJax=this;if(i.id){this.inputID=i.id}else{i.id=this.inputID=b.ElementJax.GetID();this.newID=1}}h.originalText=b.HTML.getScript(i);h.inputJax=j;if(h.root){h.root.inputID=h.inputID}return h},Detach:function(){var h=this.SourceElement();if(!h){return}try{delete h.MathJax}catch(i){h.MathJax=null}if(this.newID){h.id=""}},Clone:function(h){var i;for(i in this){if(!this.hasOwnProperty(i)){continue}if(typeof(h[i])==="undefined"&&i!=="newID"){delete this[i]}}for(i in h){if(!h.hasOwnProperty(i)){continue}if(typeof(this[i])==="undefined"||(this[i]!==h[i]&&i!=="inputID")){this[i]=h[i]}}}},{id:"ElementJax",version:"2.7.4",directory:g.directory+"/element",extensionDir:g.extensionDir,ID:0,STATE:{PENDING:1,PROCESSED:2,UPDATE:3,OUTPUT:4},GetID:function(){this.ID++;return"MathJax-Element-"+this.ID},Subclass:function(){var h=g.Subclass.apply(this,arguments);h.loadComplete=this.prototype.loadComplete;return h}});b.ElementJax.prototype.STATE=b.ElementJax.STATE;b.OutputJax.Error={id:"Error",version:"2.7.4",config:{},errors:0,ContextMenu:function(){return b.Extension.MathEvents.Event.ContextMenu.apply(b.Extension.MathEvents.Event,arguments)},Mousedown:function(){return b.Extension.MathEvents.Event.AltContextMenu.apply(b.Extension.MathEvents.Event,arguments)},getJaxFromMath:function(h){return(h.nextSibling.MathJax||{}).error},Jax:function(j,i){var h=MathJax.Hub.inputJax[i.type.replace(/ *;(.|\s)*/,"")];this.errors++;return{inputJax:(h||{id:"Error"}).id,outputJax:"Error",inputID:"MathJax-Error-"+this.errors,sourceMenuTitle:["ErrorMessage","Error Message"],sourceMenuFormat:"Error",originalText:MathJax.HTML.getScript(i),errorText:j}}};b.InputJax.Error={id:"Error",version:"2.7.4",config:{},sourceMenuTitle:["Original","Original Form"]}})("MathJax");(function(o){var h=window[o];if(!h){h=window[o]={}}var d=h.Hub;var s=d.Startup;var w=d.config;var g=document.head||(document.getElementsByTagName("head")[0]);if(!g){g=document.childNodes[0]}var b=(document.documentElement||document).getElementsByTagName("script");if(b.length===0&&g.namespaceURI){b=document.getElementsByTagNameNS(g.namespaceURI,"script")}var f=new RegExp("(^|/)"+o+"\\.js(\\?.*)?$");for(var q=b.length-1;q>=0;q--){if((b[q].src||"").match(f)){s.script=b[q].innerHTML;if(RegExp.$2){var t=RegExp.$2.substr(1).split(/\&/);for(var p=0,l=t.length;p<l;p++){var n=t[p].match(/(.*)=(.*)/);if(n){s.params[unescape(n[1])]=unescape(n[2])}else{s.params[t[p]]=true}}}w.root=b[q].src.replace(/(^|\/)[^\/]*(\?.*)?$/,"");h.Ajax.config.root=w.root;h.Ajax.params=s.params;break}}var k=navigator.userAgent;var a={isMac:(navigator.platform.substr(0,3)==="Mac"),isPC:(navigator.platform.substr(0,3)==="Win"),isMSIE:("ActiveXObject" in window&&"clipboardData" in window),isEdge:("MSGestureEvent" in window&&"chrome" in window&&window.chrome.loadTimes==null),isFirefox:(!!k.match(/Gecko\//)&&!k.match(/like Gecko/)),isSafari:(!!k.match(/ (Apple)?WebKit\//)&&!k.match(/ like iPhone /)&&(!window.chrome||window.chrome.app==null)),isChrome:("chrome" in window&&window.chrome.loadTimes!=null),isOpera:("opera" in window&&window.opera.version!=null),isKonqueror:("konqueror" in window&&navigator.vendor=="KDE"),versionAtLeast:function(y){var x=(this.version).split(".");y=(new String(y)).split(".");for(var z=0,j=y.length;z<j;z++){if(x[z]!=y[z]){return parseInt(x[z]||"0")>=parseInt(y[z])}}return true},Select:function(j){var i=j[d.Browser];if(i){return i(d.Browser)}return null}};var e=k.replace(/^Mozilla\/(\d+\.)+\d+ /,"").replace(/[a-z][-a-z0-9._: ]+\/\d+[^ ]*-[^ ]*\.([a-z][a-z])?\d+ /i,"").replace(/Gentoo |Ubuntu\/(\d+\.)*\d+ (\([^)]*\) )?/,"");d.Browser=d.Insert(d.Insert(new String("Unknown"),{version:"0.0"}),a);for(var v in a){if(a.hasOwnProperty(v)){if(a[v]&&v.substr(0,2)==="is"){v=v.slice(2);if(v==="Mac"||v==="PC"){continue}d.Browser=d.Insert(new String(v),a);var r=new RegExp(".*(Version/| Trident/.*; rv:)((?:\\d+\\.)+\\d+)|.*("+v+")"+(v=="MSIE"?" ":"/")+"((?:\\d+\\.)*\\d+)|(?:^|\\(| )([a-z][-a-z0-9._: ]+|(?:Apple)?WebKit)/((?:\\d+\\.)+\\d+)");var u=r.exec(e)||["","","","unknown","0.0"];d.Browser.name=(u[1]!=""?v:(u[3]||u[5]));d.Browser.version=u[2]||u[4]||u[6];break}}}try{d.Browser.Select({Safari:function(j){var i=parseInt((String(j.version).split("."))[0]);if(i>85){j.webkit=j.version}if(i>=538){j.version="8.0"}else{if(i>=537){j.version="7.0"}else{if(i>=536){j.version="6.0"}else{if(i>=534){j.version="5.1"}else{if(i>=533){j.version="5.0"}else{if(i>=526){j.version="4.0"}else{if(i>=525){j.version="3.1"}else{if(i>500){j.version="3.0"}else{if(i>400){j.version="2.0"}else{if(i>85){j.version="1.0"}}}}}}}}}}j.webkit=(navigator.appVersion.match(/WebKit\/(\d+)\./))[1];j.isMobile=(navigator.appVersion.match(/Mobile/i)!=null);j.noContextMenu=j.isMobile},Firefox:function(j){if((j.version==="0.0"||k.match(/Firefox/)==null)&&navigator.product==="Gecko"){var m=k.match(/[\/ ]rv:(\d+\.\d.*?)[\) ]/);if(m){j.version=m[1]}else{var i=(navigator.buildID||navigator.productSub||"0").substr(0,8);if(i>="20111220"){j.version="9.0"}else{if(i>="20111120"){j.version="8.0"}else{if(i>="20110927"){j.version="7.0"}else{if(i>="20110816"){j.version="6.0"}else{if(i>="20110621"){j.version="5.0"}else{if(i>="20110320"){j.version="4.0"}else{if(i>="20100121"){j.version="3.6"}else{if(i>="20090630"){j.version="3.5"}else{if(i>="20080617"){j.version="3.0"}else{if(i>="20061024"){j.version="2.0"}}}}}}}}}}}}j.isMobile=(navigator.appVersion.match(/Android/i)!=null||k.match(/ Fennec\//)!=null||k.match(/Mobile/)!=null)},Chrome:function(i){i.noContextMenu=i.isMobile=!!navigator.userAgent.match(/ Mobile[ \/]/)},Opera:function(i){i.version=opera.version()},Edge:function(i){i.isMobile=!!navigator.userAgent.match(/ Phone/)},MSIE:function(j){j.isMobile=!!navigator.userAgent.match(/ Phone/);j.isIE9=!!(document.documentMode&&(window.performance||window.msPerformance));MathJax.HTML.setScriptBug=!j.isIE9||document.documentMode<9;MathJax.Hub.msieHTMLCollectionBug=(document.documentMode<9);if(document.documentMode<10&&!s.params.NoMathPlayer){try{new ActiveXObject("MathPlayer.Factory.1");j.hasMathPlayer=true}catch(m){}try{if(j.hasMathPlayer){var i=document.createElement("object");i.id="mathplayer";i.classid="clsid:32F66A20-7614-11D4-BD11-00104BD3F987";g.appendChild(i);document.namespaces.add("m","http://www.w3.org/1998/Math/MathML");j.mpNamespace=true;if(document.readyState&&(document.readyState==="loading"||document.readyState==="interactive")){document.write('<?import namespace="m" implementation="#MathPlayer">');j.mpImported=true}}else{document.namespaces.add("mjx_IE_fix","http://www.w3.org/1999/xlink")}}catch(m){}}}})}catch(c){console.error(c.message)}d.Browser.Select(MathJax.Message.browsers);if(h.AuthorConfig&&typeof h.AuthorConfig.AuthorInit==="function"){h.AuthorConfig.AuthorInit()}d.queue=h.Callback.Queue();d.queue.Push(["Post",s.signal,"Begin"],["Config",s],["Cookie",s],["Styles",s],["Message",s],function(){var i=h.Callback.Queue(s.Jax(),s.Extensions());return i.Push({})},["Menu",s],s.onLoad(),function(){MathJax.isReady=true},["Typeset",s],["Hash",s],["MenuZoom",s],["Post",s.signal,"End"])})("MathJax")}};
-</script>
-    <script>!function(t,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports):"function"==typeof define&&define.amd?define(["exports"],n):n((t=t||self).vega={})}(this,(function(t){"use strict";function n(t,n,e){return t.fields=n||[],t.fname=e,t}function e(t){return null==t?null:t.fname}function r(t){return null==t?null:t.fields}function i(t){throw Error(t)}function a(t){var n,e,r,a=[],u=null,o=0,s=t.length,l="";function c(){a.push(l+t.substring(n,e)),l="",n=e+1}for(t+="",n=e=0;e<s;++e)if("\\"===(r=t[e]))l+=t.substring(n,e),n=++e;else if(r===u)c(),u=null,o=-1;else{if(u)continue;n===o&&'"'===r?(n=e+1,u=r):n===o&&"'"===r?(n=e+1,u=r):"."!==r||o?"["===r?(e>n&&c(),o=n=e+1):"]"===r&&(o||i("Access path missing open bracket: "+t),o>0&&c(),o=0,n=e+1):e>n?c():n=e+1}return o&&i("Access path missing closing bracket: "+t),u&&i("Access path missing closing quote: "+t),e>n&&(e++,c()),a}var u=Array.isArray;function o(t){return t===Object(t)}function s(t){return"string"==typeof t}function l(t){return u(t)?"["+t.map(l)+"]":o(t)||s(t)?JSON.stringify(t).replace("\u2028","\\u2028").replace("\u2029","\\u2029"):t}function c(t,e){var r=a(t),i="return _["+r.map(l).join("][")+"];";return n(Function("_",i),[t=1===r.length?r[0]:t],e||t)}var f=[],h=c("id"),d=n((function(t){return t}),f,"identity"),p=n((function(){return 0}),f,"zero"),g=n((function(){return 1}),f,"one"),m=n((function(){return!0}),f,"true"),v=n((function(){return!1}),f,"false");function y(t,n,e){var r=[n].concat([].slice.call(e));console[t].apply(console,r)}var _=0,x=1,b=2,w=3,A=4;function M(t,n){var e=t||_;return{level:function(t){return arguments.length?(e=+t,this):e},error:function(){return e>=x&&y(n||"error","ERROR",arguments),this},warn:function(){return e>=b&&y(n||"warn","WARN",arguments),this},info:function(){return e>=w&&y(n||"log","INFO",arguments),this},debug:function(){return e>=A&&y(n||"log","DEBUG",arguments),this}}}function k(t){return t[t.length-1]}function E(t){return null==t||""===t?null:+t}function D(t){return function(n){return t*Math.exp(n)}}function C(t){return function(n){return Math.log(t*n)}}function F(t){return function(n){return Math.sign(n)*Math.log1p(Math.abs(n/t))}}function S(t){return function(n){return Math.sign(n)*Math.expm1(Math.abs(n))*t}}function B(t){return function(n){return n<0?-Math.pow(-n,t):Math.pow(n,t)}}function T(t,n,e,r){var i=e(t[0]),a=e(k(t)),u=(a-i)*n;return[r(i-u),r(a-u)]}function z(t,n){return T(t,n,E,d)}function N(t,n){var e=Math.sign(t[0]);return T(t,n,C(e),D(e))}function O(t,n,e){return T(t,n,B(e),B(1/e))}function R(t,n,e){return T(t,n,F(e),S(e))}function q(t,n,e,r,i){var a=r(t[0]),u=r(k(t)),o=null!=n?r(n):(a+u)/2;return[i(o+(a-o)*e),i(o+(u-o)*e)]}function L(t,n,e){return q(t,n,e,E,d)}function P(t,n,e){var r=Math.sign(t[0]);return q(t,n,e,C(r),D(r))}function U(t,n,e,r){return q(t,n,e,B(r),B(1/r))}function $(t,n,e,r){return q(t,n,e,F(r),S(r))}function j(t){return 1+~~(new Date(t).getMonth()/3)}function I(t){return 1+~~(new Date(t).getUTCMonth()/3)}function W(t){return null!=t?u(t)?t:[t]:[]}function H(t,n,e){var r,i=t[0],a=t[1];return a<i&&(r=a,a=i,i=r),(r=a-i)>=e-n?[n,e]:[i=Math.min(Math.max(i,n),e-r),i+r]}function Y(t){return"function"==typeof t}function G(t,e){var i,u,o,s,c,f,h,d,p,g=[],m=(t=W(t)).map((function(t,n){return null==t?null:(g.push(n),Y(t)?t:a(t).map(l).join("]["))})),v=g.length-1,y=W(e),_="var u,v;return ";if(v<0)return null;for(u=0;u<=v;++u)Y(o=m[i=g[u]])?(s="(u=this."+(f="f"+i)+"(a))",c="(v=this."+f+"(b))",(h=h||{})[f]=o):(s="(u=a["+o+"])",c="(v=b["+o+"])"),f="((v=v instanceof Date?+v:v),(u=u instanceof Date?+u:u))","descending"!==y[i]?(p=1,d=-1):(p=-1,d=1),_+="("+s+"<"+c+"||u==null)&&v!=null?"+d+":(u>v||v==null)&&u!=null?"+p+":"+f+"!==u&&v===v?"+d+":v!==v&&u===u?"+p+(i<v?":":":0");return o=Function("a","b",_+";"),h&&(o=o.bind(h)),t=t.reduce((function(t,n){return Y(n)?(r(n)||[]).forEach((function(n){t[n]=1})):null!=n&&(t[n+""]=1),t}),{}),n(o,Object.keys(t))}function V(t){return Y(t)?t:function(){return t}}function X(t,n){var e,r;function i(){n(r),e=r=null}return function(n){r=n,e&&clearTimeout(e),e=setTimeout(i,t)}}function Z(t){for(var n,e,r=1,i=arguments.length;r<i;++r)for(e in n=arguments[r])t[e]=n[e];return t}function J(t,n){var e,r,i,a,u=0;if(t&&(e=t.length))if(null==n){for(r=t[u];null==r||r!=r;r=t[++u]);for(i=a=r;u<e;++u)null!=(r=t[u])&&(r<i&&(i=r),r>a&&(a=r))}else{for(r=n(t[u]);null==r||r!=r;r=n(t[++u]));for(i=a=r;u<e;++u)null!=(r=n(t[u]))&&(r<i&&(i=r),r>a&&(a=r))}return[i,a]}function Q(t,n){var e,r,i,a,u,o=-1,s=t.length;if(null==n){for(;++o<s;)if(null!=(r=t[o])&&r>=r){e=i=r;break}for(a=u=o;++o<s;)null!=(r=t[o])&&(e>r&&(e=r,a=o),i<r&&(i=r,u=o))}else{for(;++o<s;)if(null!=(r=n(t[o],o,t))&&r>=r){e=i=r;break}for(a=u=o;++o<s;)null!=(r=n(t[o],o,t))&&(e>r&&(e=r,a=o),i<r&&(i=r,u=o))}return[a,u]}const K=Object.prototype.hasOwnProperty;function tt(t,n){return K.call(t,n)}var nt={};function et(t){var n,e,r={};function i(t){return tt(r,t)&&r[t]!==nt}return n={size:0,empty:0,object:r,has:i,get:function(t){return i(t)?r[t]:void 0},set:function(t,e){return i(t)||(++n.size,r[t]===nt&&--n.empty),r[t]=e,this},delete:function(t){return i(t)&&(--n.size,++n.empty,r[t]=nt),this},clear:function(){n.size=n.empty=0,n.object=r={}},test:function(t){return arguments.length?(e=t,n):e},clean:function(){var t,i,a={},u=0;for(t in r)(i=r[t])===nt||e&&e(i)||(a[t]=i,++u);n.size=u,n.empty=0,n.object=r=a}},t&&Object.keys(t).forEach((function(e){n.set(e,t[e])})),n}function rt(t,n,e,r,i,a){if(!e&&0!==e)return a;var u,o,s=t[0],l=k(t),c=+e;return l<s&&(u=s,s=l,l=u),(u=Math.abs(n-s))<(o=Math.abs(l-n))&&u<=c?r:o<=c?i:a}function it(t,n){var e=t.prototype=Object.create(n.prototype);return e.constructor=t,e}function at(t,n,e,r){var i,a=n[0],u=n[n.length-1];return a>u&&(i=a,a=u,u=i),r=void 0===r||r,((e=void 0===e||e)?a<=t:a<t)&&(r?t<=u:t<u)}function ut(t){return"boolean"==typeof t}function ot(t){return"[object Date]"===Object.prototype.toString.call(t)}function st(t){return"number"==typeof t}function lt(t){return"[object RegExp]"===Object.prototype.toString.call(t)}function ct(t,e){return t&&(t=e?W(t).map((function(t){return t.replace(/\\(.)/g,"$1")})):W(t)),n(t&&t.length?Function("_","return ''+"+t.map((function(t){return"_["+(e?l(t):a(t).map(l).join("]["))+"]"})).join("+'|'+")+";"):function(){return""},t,"key")}function ft(t,n){const e=t[0],r=k(t),i=+n;return i?1===i?r:e+i*(r-e):e}function ht(t,n,e,r){var i=n.length,a=e.length;if(!a)return n;if(!i)return e;for(var u=r||new n.constructor(i+a),o=0,s=0,l=0;o<i&&s<a;++l)u[l]=t(n[o],e[s])>0?e[s++]:n[o++];for(;o<i;++o,++l)u[l]=n[o];for(;s<a;++s,++l)u[l]=e[s];return u}function dt(t,n){for(var e="";--n>=0;)e+=t;return e}function pt(t,n,e,r){var i=e||" ",a=t+"",u=n-a.length;return u<=0?a:"left"===r?dt(i,u)+a:"center"===r?dt(i,~~(u/2))+a+dt(i,Math.ceil(u/2)):a+dt(i,u)}function gt(t){return t&&k(t)-t[0]||0}function mt(t){return null==t||""===t?null:!(!t||"false"===t||"0"===t)&&!!t}function vt(t){return st(t)?t:ot(t)?t:Date.parse(t)}function yt(t,n){return n=n||vt,null==t||""===t?null:n(t)}function _t(t){return null==t||""===t?null:t+""}function xt(t){for(var n={},e=0,r=t.length;e<r;++e)n[t[e]]=!0;return n}function bt(t,n,e,r){var i=null!=r?r:"…",a=t+"",u=a.length,o=Math.max(0,n-i.length);return u<=n?a:"left"===e?i+a.slice(u-o):"center"===e?a.slice(0,Math.ceil(o/2))+i+a.slice(u-~~(o/2)):a.slice(0,o)+i}function wt(t,n,e){if(t){var r,i=0,a=t.length;if(n)for(;i<a;++i)(r=n(t[i]))&&e(r,i,t);else t.forEach(e)}}function At(t){var n=t||d,e=[],r={};return e.add=function(t){var i=n(t);return r[i]||(r[i]=1,e.push(t)),e},e.remove=function(t){var i,a=n(t);return r[a]&&(r[a]=0,(i=e.indexOf(t))>=0&&e.splice(i,1)),e},e}async function Mt(t,n){try{await n(t)}catch(n){t.error(n)}}var kt=Symbol("vega_id"),Et=1;function Dt(t){return!(!t||!Ct(t))}function Ct(t){return t[kt]}function Ft(t,n){return t[kt]=n,t}function St(t){var n=t===Object(t)?t:{data:t};return Ct(n)?n:Ft(n,Et++)}function Bt(t){return Tt(t,St({}))}function Tt(t,n){for(var e in t)n[e]=t[e];return n}function zt(t,n){return Ft(n,Ct(t))}function Nt(t,n){return t?n?(e,r)=>t(e,r)||Ct(n(e))-Ct(n(r)):(n,e)=>t(n,e)||Ct(n)-Ct(e):null}function Ot(t){return t&&t.constructor===Rt}function Rt(){var t=[],n=[],e=[],r=[],i=[],a=!1;return{constructor:Rt,insert:function(n){for(var e=W(n),r=0,i=e.length;r<i;++r)t.push(e[r]);return this},remove:function(t){for(var e=Y(t)?r:n,i=W(t),a=0,u=i.length;a<u;++a)e.push(i[a]);return this},modify:function(t,n,r){var a={field:n,value:V(r)};return Y(t)?(a.filter=t,i.push(a)):(a.tuple=t,e.push(a)),this},encode:function(t,n){return Y(t)?i.push({filter:t,field:n}):e.push({tuple:t,field:n}),this},reflow:function(){return a=!0,this},pulse:function(u,o){var s,l,c,f,h,d,p={},g={};for(s=0,l=o.length;s<l;++s)p[Ct(o[s])]=1;for(s=0,l=n.length;s<l;++s)p[Ct(h=n[s])]=-1;for(s=0,l=r.length;s<l;++s)f=r[s],o.forEach((function(t){f(t)&&(p[Ct(t)]=-1)}));for(s=0,l=t.length;s<l;++s)d=Ct(h=t[s]),p[d]?p[d]=1:u.add.push(St(t[s]));for(s=0,l=o.length;s<l;++s)h=o[s],p[Ct(h)]<0&&u.rem.push(h);function m(t,n,e){e?t[n]=e(t):u.encode=n,a||(g[Ct(t)]=t)}for(s=0,l=e.length;s<l;++s)h=(c=e[s]).tuple,f=c.field,(d=p[Ct(h)])>0&&(m(h,f,c.value),u.modifies(f));for(s=0,l=i.length;s<l;++s)c=i[s],f=c.filter,o.forEach((function(t){f(t)&&p[Ct(t)]>0&&m(t,c.field,c.value)})),u.modifies(c.field);if(a)u.mod=n.length||r.length?o.filter((function(t){return p[Ct(t)]>0})):o.slice();else for(d in g)u.mod.push(g[d]);return u}}}var qt="_:mod:_";function Lt(){Object.defineProperty(this,qt,{writable:!0,value:{}})}var Pt=Lt.prototype;Pt.set=function(t,n,e,r){var i=this,a=i[t],o=i[qt];return null!=n&&n>=0?(a[n]!==e||r)&&(a[n]=e,o[n+":"+t]=-1,o[t]=-1):(a!==e||r)&&(i[t]=e,o[t]=u(e)?1+e.length:-1),i},Pt.modified=function(t,n){var e,r=this[qt];if(!arguments.length){for(e in r)if(r[e])return!0;return!1}if(u(t)){for(e=0;e<t.length;++e)if(r[t[e]])return!0;return!1}return null!=n&&n>=0?n+1<r[t]||!!r[n+":"+t]:!!r[t]},Pt.clear=function(){return this[qt]={},this};var Ut=0,$t=new Lt;function jt(t,n,e,r){this.id=++Ut,this.value=t,this.stamp=-1,this.rank=-1,this.qrank=-1,this.flags=0,n&&(this._update=n),e&&this.parameters(e,r)}var It=jt.prototype;function Wt(t){return function(n){var e=this.flags;return 0===arguments.length?!!(e&t):(this.flags=n?e|t:e&~t,this)}}It.targets=function(){return this._targets||(this._targets=At(h))},It.set=function(t){return this.value!==t?(this.value=t,1):0},It.skip=Wt(1),It.modified=Wt(2),It.parameters=function(t,n,e){n=!1!==n;var r,a,o,s,l=this,c=l._argval=l._argval||new Lt,f=l._argops=l._argops||[],h=[];function d(t,e,r){r instanceof jt?(r!==l&&(n&&r.targets().add(l),h.push(r)),f.push({op:r,name:t,index:e})):c.set(t,e,r)}for(r in t)if(a=t[r],"pulse"===r)W(a).forEach((function(t){t instanceof jt?t!==l&&(t.targets().add(l),h.push(t)):i("Pulse parameters must be operator instances.")})),l.source=a;else if(u(a))for(c.set(r,-1,Array(o=a.length)),s=0;s<o;++s)d(r,s,a[s]);else d(r,-1,a);return this.marshall().clear(),e&&(f.initonly=!0),h},It.marshall=function(t){var n,e,r,i,a,u=this._argval||$t,o=this._argops;if(o){for(e=0,r=o.length;e<r;++e)a=(i=(n=o[e]).op).modified()&&i.stamp===t,u.set(n.name,n.index,i.value,a);if(o.initonly){for(e=0;e<r;++e)(n=o[e]).op.targets().remove(this);this._argops=null,this._update=null}}return u},It.evaluate=function(t){var n=this._update;if(n){var e=this.marshall(t.stamp),r=n.call(this,e,t);if(e.clear(),r!==this.value)this.value=r;else if(!this.modified())return t.StopPropagation}},It.run=function(t){return t.stamp<this.stamp?t.StopPropagation:(this.skip()?(this.skip(!1),n=0):n=this.evaluate(t),this.pulse=n||t);var n};var Ht=0;function Yt(t,n,e){this.id=++Ht,this.value=null,e&&(this.receive=e),t&&(this._filter=t),n&&(this._apply=n)}function Gt(t,n,e){return new Yt(t,n,e)}var Vt=Yt.prototype;Vt._filter=m,Vt._apply=d,Vt.targets=function(){return this._targets||(this._targets=At(h))},Vt.consume=function(t){return arguments.length?(this._consume=!!t,this):!!this._consume},Vt.receive=function(t){if(this._filter(t)){for(var n=this.value=this._apply(t),e=this._targets,r=e?e.length:0,i=0;i<r;++i)e[i].receive(n);this._consume&&(t.preventDefault(),t.stopPropagation())}},Vt.filter=function(t){var n=Gt(t);return this.targets().add(n),n},Vt.apply=function(t){var n=Gt(null,t);return this.targets().add(n),n},Vt.merge=function(){var t=Gt();this.targets().add(t);for(var n=0,e=arguments.length;n<e;++n)arguments[n].targets().add(t);return t},Vt.throttle=function(t){var n=-1;return this.filter((function(){var e=Date.now();return e-n>t?(n=e,1):0}))},Vt.debounce=function(t){var n=Gt();return this.targets().add(Gt(null,null,X(t,(function(t){var e=t.dataflow;n.receive(t),e&&e.run&&e.run()})))),n},Vt.between=function(t,n){var e=!1;return t.targets().add(Gt(null,null,(function(){e=!0}))),n.targets().add(Gt(null,null,(function(){e=!1}))),this.filter((function(){return e}))};const Xt=/^([A-Za-z]+:)?\/\//,Zt=/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|cid|xmpp|file):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i,Jt=/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205f\u3000]/g,Qt="file://";async function Kt(t,n){const e=await this.sanitize(t,n),r=e.href;return e.localFile?this.file(r):this.http(r,n)}async function tn(t,n){n=Z({},this.options,n);const e=this.fileAccess,r={href:null};let a,u,o;const s=Zt.test(t.replace(Jt,""));null!=t&&"string"==typeof t&&s||i("Sanitize failure, invalid URI: "+l(t));const c=Xt.test(t);return(o=n.baseURL)&&!c&&(t.startsWith("/")||"/"===o[o.length-1]||(t="/"+t),t=o+t),u=(a=t.startsWith(Qt))||"file"===n.mode||"http"!==n.mode&&!c&&e,a?t=t.slice(Qt.length):t.startsWith("//")&&("file"===n.defaultProtocol?(t=t.slice(2),u=!0):t=(n.defaultProtocol||"http")+":"+t),Object.defineProperty(r,"localFile",{value:!!u}),r.href=t,n.target&&(r.target=n.target+""),n.rel&&(r.rel=n.rel+""),r}function nn(t){return t?function(n){return new Promise((function(e,r){t.readFile(n,(function(t,n){t?r(t):e(n)}))}))}:en}async function en(){i("No file system access.")}function rn(t){return t?async function(n,e){const r=Z({},this.options.http,e),a=e&&e.response,u=await t(n,r);return u.ok?Y(u[a])?u[a]():u.text():i(u.status+""+u.statusText)}:an}async function an(){i("No HTTP fetch method available.")}var un={boolean:mt,integer:E,number:E,date:yt,string:_t,unknown:d},on=[function(t){return"true"===t||"false"===t||!0===t||!1===t},function(t){return fn(t)&&(t=+t)==~~t},fn,function(t){return!isNaN(Date.parse(t))}],sn=["boolean","integer","number","date"];function ln(t,n){if(!t||!t.length)return"unknown";var e,r,i,a,u=0,o=t.length,s=on.length,l=on.map((function(t,n){return n+1}));for(r=0,o=t.length;r<o;++r)for(e=n?t[r][n]:t[r],i=0;i<s;++i)if(l[i]&&(null!=(a=e)&&a==a)&&!on[i](e)&&(l[i]=0,++u===on.length))return"string";return u=l.reduce((function(t,n){return 0===t?n:t}),0)-1,sn[u]}function cn(t,n){return n.reduce((function(n,e){return n[e]=ln(t,e),n}),{})}function fn(t){return!(isNaN(+t)||t instanceof Date)}var hn={},dn={},pn=34,gn=10,mn=13;function vn(t){return new Function("d","return {"+t.map((function(t,n){return JSON.stringify(t)+": d["+n+"]"})).join(",")+"}")}function yn(t){var n=Object.create(null),e=[];return t.forEach((function(t){for(var r in t)r in n||e.push(n[r]=r)})),e}function _n(t,n){var e=t+"",r=e.length;return r<n?new Array(n-r+1).join(0)+e:e}function xn(t){var n=t.getUTCHours(),e=t.getUTCMinutes(),r=t.getUTCSeconds(),i=t.getUTCMilliseconds();return isNaN(t)?"Invalid Date":function(t){return t<0?"-"+_n(-t,6):t>9999?"+"+_n(t,6):_n(t,4)}(t.getUTCFullYear())+"-"+_n(t.getUTCMonth()+1,2)+"-"+_n(t.getUTCDate(),2)+(i?"T"+_n(n,2)+":"+_n(e,2)+":"+_n(r,2)+"."+_n(i,3)+"Z":r?"T"+_n(n,2)+":"+_n(e,2)+":"+_n(r,2)+"Z":e||n?"T"+_n(n,2)+":"+_n(e,2)+"Z":"")}function bn(t){var n=new RegExp('["'+t+"\n\r]"),e=t.charCodeAt(0);function r(t,n){var r,i=[],a=t.length,u=0,o=0,s=a<=0,l=!1;function c(){if(s)return dn;if(l)return l=!1,hn;var n,r,i=u;if(t.charCodeAt(i)===pn){for(;u++<a&&t.charCodeAt(u)!==pn||t.charCodeAt(++u)===pn;);return(n=u)>=a?s=!0:(r=t.charCodeAt(u++))===gn?l=!0:r===mn&&(l=!0,t.charCodeAt(u)===gn&&++u),t.slice(i+1,n-1).replace(/""/g,'"')}for(;u<a;){if((r=t.charCodeAt(n=u++))===gn)l=!0;else if(r===mn)l=!0,t.charCodeAt(u)===gn&&++u;else if(r!==e)continue;return t.slice(i,n)}return s=!0,t.slice(i,a)}for(t.charCodeAt(a-1)===gn&&--a,t.charCodeAt(a-1)===mn&&--a;(r=c())!==dn;){for(var f=[];r!==hn&&r!==dn;)f.push(r),r=c();n&&null==(f=n(f,o++))||i.push(f)}return i}function i(n,e){return n.map((function(n){return e.map((function(t){return u(n[t])})).join(t)}))}function a(n){return n.map(u).join(t)}function u(t){return null==t?"":t instanceof Date?xn(t):n.test(t+="")?'"'+t.replace(/"/g,'""')+'"':t}return{parse:function(t,n){var e,i,a=r(t,(function(t,r){if(e)return e(t,r-1);i=t,e=n?function(t,n){var e=vn(t);return function(r,i){return n(e(r),i,t)}}(t,n):vn(t)}));return a.columns=i||[],a},parseRows:r,format:function(n,e){return null==e&&(e=yn(n)),[e.map(u).join(t)].concat(i(n,e)).join("\n")},formatBody:function(t,n){return null==n&&(n=yn(t)),i(t,n).join("\n")},formatRows:function(t){return t.map(a).join("\n")}}}bn(","),bn("\t");function wn(t){const n=function(n,e){const r={delimiter:t};return An(n,e?Z(e,r):r)};return n.responseType="text",n}function An(t,n){return n.header&&(t=n.header.map(l).join(n.delimiter)+"\n"+t),bn(n.delimiter).parse(t+"")}function Mn(t,n){const e=n&&n.property?c(n.property):d;return!o(t)||(r=t,"function"==typeof Buffer&&Y(Buffer.isBuffer)&&Buffer.isBuffer(r))?e(JSON.parse(t)):function(t,n){return n&&n.copy?JSON.parse(JSON.stringify(t)):t}(e(t));var r}function kn(t){return t}function En(t,n){return"GeometryCollection"===n.type?{type:"FeatureCollection",features:n.geometries.map((function(n){return Dn(t,n)}))}:Dn(t,n)}function Dn(t,n){var e=n.id,r=n.bbox,i=null==n.properties?{}:n.properties,a=Cn(t,n);return null==e&&null==r?{type:"Feature",properties:i,geometry:a}:null==r?{type:"Feature",id:e,properties:i,geometry:a}:{type:"Feature",id:e,bbox:r,properties:i,geometry:a}}function Cn(t,n){var e=function(t){if(null==t)return kn;var n,e,r=t.scale[0],i=t.scale[1],a=t.translate[0],u=t.translate[1];return function(t,o){o||(n=e=0);var s=2,l=t.length,c=new Array(l);for(c[0]=(n+=t[0])*r+a,c[1]=(e+=t[1])*i+u;s<l;)c[s]=t[s],++s;return c}}(t.transform),r=t.arcs;function i(t,n){n.length&&n.pop();for(var i=r[t<0?~t:t],a=0,u=i.length;a<u;++a)n.push(e(i[a],a));t<0&&function(t,n){for(var e,r=t.length,i=r-n;i<--r;)e=t[i],t[i++]=t[r],t[r]=e}(n,u)}function a(t){return e(t)}function u(t){for(var n=[],e=0,r=t.length;e<r;++e)i(t[e],n);return n.length<2&&n.push(n[0]),n}function o(t){for(var n=u(t);n.length<4;)n.push(n[0]);return n}function s(t){return t.map(o)}return function t(n){var e,r=n.type;switch(r){case"GeometryCollection":return{type:r,geometries:n.geometries.map(t)};case"Point":e=a(n.coordinates);break;case"MultiPoint":e=n.coordinates.map(a);break;case"LineString":e=u(n.arcs);break;case"MultiLineString":e=n.arcs.map(u);break;case"Polygon":e=s(n.arcs);break;case"MultiPolygon":e=n.arcs.map(s);break;default:return null}return{type:r,coordinates:e}}(n)}function Fn(t,n){var e={},r={},i={},a=[],u=-1;function o(t,n){for(var r in t){var i=t[r];delete n[i.start],delete i.start,delete i.end,i.forEach((function(t){e[t<0?~t:t]=1})),a.push(i)}}return n.forEach((function(e,r){var i,a=t.arcs[e<0?~e:e];a.length<3&&!a[1][0]&&!a[1][1]&&(i=n[++u],n[u]=e,n[r]=i)})),n.forEach((function(n){var e,a,u=function(n){var e,r=t.arcs[n<0?~n:n],i=r[0];t.transform?(e=[0,0],r.forEach((function(t){e[0]+=t[0],e[1]+=t[1]}))):e=r[r.length-1];return n<0?[e,i]:[i,e]}(n),o=u[0],s=u[1];if(e=i[o])if(delete i[e.end],e.push(n),e.end=s,a=r[s]){delete r[a.start];var l=a===e?e:e.concat(a);r[l.start=e.start]=i[l.end=a.end]=l}else r[e.start]=i[e.end]=e;else if(e=r[s])if(delete r[e.start],e.unshift(n),e.start=o,a=i[o]){delete i[a.end];var c=a===e?e:a.concat(e);r[c.start=a.start]=i[c.end=e.end]=c}else r[e.start]=i[e.end]=e;else r[(e=[n]).start=o]=i[e.end=s]=e})),o(i,r),o(r,i),n.forEach((function(t){e[t<0?~t:t]||a.push([t])})),a}function Sn(t){return Cn(t,Bn.apply(this,arguments))}function Bn(t,n,e){var r,i,a;if(arguments.length>1)r=function(t,n,e){var r,i=[],a=[];function u(t){var n=t<0?~t:t;(a[n]||(a[n]=[])).push({i:t,g:r})}function o(t){t.forEach(u)}function s(t){t.forEach(o)}return function t(n){switch(r=n,n.type){case"GeometryCollection":n.geometries.forEach(t);break;case"LineString":o(n.arcs);break;case"MultiLineString":case"Polygon":s(n.arcs);break;case"MultiPolygon":!function(t){t.forEach(s)}(n.arcs)}}(n),a.forEach(null==e?function(t){i.push(t[0].i)}:function(t){e(t[0].g,t[t.length-1].g)&&i.push(t[0].i)}),i}(0,n,e);else for(i=0,r=new Array(a=t.arcs.length);i<a;++i)r[i]=i;return{type:"MultiLineString",arcs:Fn(t,r)}}An.responseType="text",Mn.responseType="json";const Tn={interior:(t,n)=>t!==n,exterior:(t,n)=>t===n};function zn(t,n){let e,r,a,u;return t=Mn(t,n),n&&n.feature?(e=En,a=n.feature):n&&n.mesh?(e=Sn,a=n.mesh,u=Tn[n.filter]):i("Missing TopoJSON feature or mesh parameter."),(r=(r=t.objects[a])?e(t,r,u):i("Invalid TopoJSON object: "+a))&&r.features||[r]}zn.responseType="json";const Nn={dsv:An,csv:wn(","),tsv:wn("\t"),json:Mn,topojson:zn};function On(t,n){return arguments.length>1?(Nn[t]=n,this):tt(Nn,t)?Nn[t]:null}function Rn(t){const n=On(t);return n&&n.responseType||"text"}var qn=new Date,Ln=new Date;function Pn(t,n,e,r){function i(n){return t(n=new Date(+n)),n}return i.floor=i,i.ceil=function(e){return t(e=new Date(e-1)),n(e,1),t(e),e},i.round=function(t){var n=i(t),e=i.ceil(t);return t-n<e-t?n:e},i.offset=function(t,e){return n(t=new Date(+t),null==e?1:Math.floor(e)),t},i.range=function(e,r,a){var u,o=[];if(e=i.ceil(e),a=null==a?1:Math.floor(a),!(e<r&&a>0))return o;do{o.push(u=new Date(+e)),n(e,a),t(e)}while(u<e&&e<r);return o},i.filter=function(e){return Pn((function(n){if(n>=n)for(;t(n),!e(n);)n.setTime(n-1)}),(function(t,r){if(t>=t)if(r<0)for(;++r<=0;)for(;n(t,-1),!e(t););else for(;--r>=0;)for(;n(t,1),!e(t););}))},e&&(i.count=function(n,r){return qn.setTime(+n),Ln.setTime(+r),t(qn),t(Ln),Math.floor(e(qn,Ln))},i.every=function(t){return t=Math.floor(t),isFinite(t)&&t>0?t>1?i.filter(r?function(n){return r(n)%t==0}:function(n){return i.count(0,n)%t==0}):i:null}),i}var Un=Pn((function(){}),(function(t,n){t.setTime(+t+n)}),(function(t,n){return n-t}));Un.every=function(t){return t=Math.floor(t),isFinite(t)&&t>0?t>1?Pn((function(n){n.setTime(Math.floor(n/t)*t)}),(function(n,e){n.setTime(+n+e*t)}),(function(n,e){return(e-n)/t})):Un:null};var $n=6e4,jn=6048e5,In=Pn((function(t){t.setTime(t-t.getMilliseconds())}),(function(t,n){t.setTime(+t+1e3*n)}),(function(t,n){return(n-t)/1e3}),(function(t){return t.getUTCSeconds()})),Wn=Pn((function(t){t.setTime(t-t.getMilliseconds()-1e3*t.getSeconds())}),(function(t,n){t.setTime(+t+n*$n)}),(function(t,n){return(n-t)/$n}),(function(t){return t.getMinutes()})),Hn=Pn((function(t){t.setTime(t-t.getMilliseconds()-1e3*t.getSeconds()-t.getMinutes()*$n)}),(function(t,n){t.setTime(+t+36e5*n)}),(function(t,n){return(n-t)/36e5}),(function(t){return t.getHours()})),Yn=Pn((function(t){t.setHours(0,0,0,0)}),(function(t,n){t.setDate(t.getDate()+n)}),(function(t,n){return(n-t-(n.getTimezoneOffset()-t.getTimezoneOffset())*$n)/864e5}),(function(t){return t.getDate()-1}));function Gn(t){return Pn((function(n){n.setDate(n.getDate()-(n.getDay()+7-t)%7),n.setHours(0,0,0,0)}),(function(t,n){t.setDate(t.getDate()+7*n)}),(function(t,n){return(n-t-(n.getTimezoneOffset()-t.getTimezoneOffset())*$n)/jn}))}var Vn=Gn(0),Xn=Gn(1),Zn=(Gn(2),Gn(3),Gn(4)),Jn=(Gn(5),Gn(6),Pn((function(t){t.setDate(1),t.setHours(0,0,0,0)}),(function(t,n){t.setMonth(t.getMonth()+n)}),(function(t,n){return n.getMonth()-t.getMonth()+12*(n.getFullYear()-t.getFullYear())}),(function(t){return t.getMonth()}))),Qn=Pn((function(t){t.setMonth(0,1),t.setHours(0,0,0,0)}),(function(t,n){t.setFullYear(t.getFullYear()+n)}),(function(t,n){return n.getFullYear()-t.getFullYear()}),(function(t){return t.getFullYear()}));Qn.every=function(t){return isFinite(t=Math.floor(t))&&t>0?Pn((function(n){n.setFullYear(Math.floor(n.getFullYear()/t)*t),n.setMonth(0,1),n.setHours(0,0,0,0)}),(function(n,e){n.setFullYear(n.getFullYear()+e*t)})):null};var Kn=Pn((function(t){t.setUTCSeconds(0,0)}),(function(t,n){t.setTime(+t+n*$n)}),(function(t,n){return(n-t)/$n}),(function(t){return t.getUTCMinutes()})),te=Pn((function(t){t.setUTCMinutes(0,0,0)}),(function(t,n){t.setTime(+t+36e5*n)}),(function(t,n){return(n-t)/36e5}),(function(t){return t.getUTCHours()})),ne=Pn((function(t){t.setUTCHours(0,0,0,0)}),(function(t,n){t.setUTCDate(t.getUTCDate()+n)}),(function(t,n){return(n-t)/864e5}),(function(t){return t.getUTCDate()-1}));function ee(t){return Pn((function(n){n.setUTCDate(n.getUTCDate()-(n.getUTCDay()+7-t)%7),n.setUTCHours(0,0,0,0)}),(function(t,n){t.setUTCDate(t.getUTCDate()+7*n)}),(function(t,n){return(n-t)/jn}))}var re=ee(0),ie=ee(1),ae=(ee(2),ee(3),ee(4)),ue=(ee(5),ee(6),Pn((function(t){t.setUTCDate(1),t.setUTCHours(0,0,0,0)}),(function(t,n){t.setUTCMonth(t.getUTCMonth()+n)}),(function(t,n){return n.getUTCMonth()-t.getUTCMonth()+12*(n.getUTCFullYear()-t.getUTCFullYear())}),(function(t){return t.getUTCMonth()}))),oe=Pn((function(t){t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)}),(function(t,n){t.setUTCFullYear(t.getUTCFullYear()+n)}),(function(t,n){return n.getUTCFullYear()-t.getUTCFullYear()}),(function(t){return t.getUTCFullYear()}));function se(t){if(0<=t.y&&t.y<100){var n=new Date(-1,t.m,t.d,t.H,t.M,t.S,t.L);return n.setFullYear(t.y),n}return new Date(t.y,t.m,t.d,t.H,t.M,t.S,t.L)}function le(t){if(0<=t.y&&t.y<100){var n=new Date(Date.UTC(-1,t.m,t.d,t.H,t.M,t.S,t.L));return n.setUTCFullYear(t.y),n}return new Date(Date.UTC(t.y,t.m,t.d,t.H,t.M,t.S,t.L))}function ce(t){return{y:t,m:0,d:1,H:0,M:0,S:0,L:0}}oe.every=function(t){return isFinite(t=Math.floor(t))&&t>0?Pn((function(n){n.setUTCFullYear(Math.floor(n.getUTCFullYear()/t)*t),n.setUTCMonth(0,1),n.setUTCHours(0,0,0,0)}),(function(n,e){n.setUTCFullYear(n.getUTCFullYear()+e*t)})):null};var fe,he,de,pe,ge,me={"-":"",_:" ",0:"0"},ve=/^\s*\d+/,ye=/^%/,_e=/[\\^$*+?|[\]().{}]/g;function xe(t,n,e){var r=t<0?"-":"",i=(r?-t:t)+"",a=i.length;return r+(a<e?new Array(e-a+1).join(n)+i:i)}function be(t){return t.replace(_e,"\\$&")}function we(t){return new RegExp("^(?:"+t.map(be).join("|")+")","i")}function Ae(t){for(var n={},e=-1,r=t.length;++e<r;)n[t[e].toLowerCase()]=e;return n}function Me(t,n,e){var r=ve.exec(n.slice(e,e+1));return r?(t.w=+r[0],e+r[0].length):-1}function ke(t,n,e){var r=ve.exec(n.slice(e,e+1));return r?(t.u=+r[0],e+r[0].length):-1}function Ee(t,n,e){var r=ve.exec(n.slice(e,e+2));return r?(t.U=+r[0],e+r[0].length):-1}function De(t,n,e){var r=ve.exec(n.slice(e,e+2));return r?(t.V=+r[0],e+r[0].length):-1}function Ce(t,n,e){var r=ve.exec(n.slice(e,e+2));return r?(t.W=+r[0],e+r[0].length):-1}function Fe(t,n,e){var r=ve.exec(n.slice(e,e+4));return r?(t.y=+r[0],e+r[0].length):-1}function Se(t,n,e){var r=ve.exec(n.slice(e,e+2));return r?(t.y=+r[0]+(+r[0]>68?1900:2e3),e+r[0].length):-1}function Be(t,n,e){var r=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(n.slice(e,e+6));return r?(t.Z=r[1]?0:-(r[2]+(r[3]||"00")),e+r[0].length):-1}function Te(t,n,e){var r=ve.exec(n.slice(e,e+2));return r?(t.m=r[0]-1,e+r[0].length):-1}function ze(t,n,e){var r=ve.exec(n.slice(e,e+2));return r?(t.d=+r[0],e+r[0].length):-1}function Ne(t,n,e){var r=ve.exec(n.slice(e,e+3));return r?(t.m=0,t.d=+r[0],e+r[0].length):-1}function Oe(t,n,e){var r=ve.exec(n.slice(e,e+2));return r?(t.H=+r[0],e+r[0].length):-1}function Re(t,n,e){var r=ve.exec(n.slice(e,e+2));return r?(t.M=+r[0],e+r[0].length):-1}function qe(t,n,e){var r=ve.exec(n.slice(e,e+2));return r?(t.S=+r[0],e+r[0].length):-1}function Le(t,n,e){var r=ve.exec(n.slice(e,e+3));return r?(t.L=+r[0],e+r[0].length):-1}function Pe(t,n,e){var r=ve.exec(n.slice(e,e+6));return r?(t.L=Math.floor(r[0]/1e3),e+r[0].length):-1}function Ue(t,n,e){var r=ye.exec(n.slice(e,e+1));return r?e+r[0].length:-1}function $e(t,n,e){var r=ve.exec(n.slice(e));return r?(t.Q=+r[0],e+r[0].length):-1}function je(t,n,e){var r=ve.exec(n.slice(e));return r?(t.Q=1e3*+r[0],e+r[0].length):-1}function Ie(t,n){return xe(t.getDate(),n,2)}function We(t,n){return xe(t.getHours(),n,2)}function He(t,n){return xe(t.getHours()%12||12,n,2)}function Ye(t,n){return xe(1+Yn.count(Qn(t),t),n,3)}function Ge(t,n){return xe(t.getMilliseconds(),n,3)}function Ve(t,n){return Ge(t,n)+"000"}function Xe(t,n){return xe(t.getMonth()+1,n,2)}function Ze(t,n){return xe(t.getMinutes(),n,2)}function Je(t,n){return xe(t.getSeconds(),n,2)}function Qe(t){var n=t.getDay();return 0===n?7:n}function Ke(t,n){return xe(Vn.count(Qn(t),t),n,2)}function tr(t,n){var e=t.getDay();return t=e>=4||0===e?Zn(t):Zn.ceil(t),xe(Zn.count(Qn(t),t)+(4===Qn(t).getDay()),n,2)}function nr(t){return t.getDay()}function er(t,n){return xe(Xn.count(Qn(t),t),n,2)}function rr(t,n){return xe(t.getFullYear()%100,n,2)}function ir(t,n){return xe(t.getFullYear()%1e4,n,4)}function ar(t){var n=t.getTimezoneOffset();return(n>0?"-":(n*=-1,"+"))+xe(n/60|0,"0",2)+xe(n%60,"0",2)}function ur(t,n){return xe(t.getUTCDate(),n,2)}function or(t,n){return xe(t.getUTCHours(),n,2)}function sr(t,n){return xe(t.getUTCHours()%12||12,n,2)}function lr(t,n){return xe(1+ne.count(oe(t),t),n,3)}function cr(t,n){return xe(t.getUTCMilliseconds(),n,3)}function fr(t,n){return cr(t,n)+"000"}function hr(t,n){return xe(t.getUTCMonth()+1,n,2)}function dr(t,n){return xe(t.getUTCMinutes(),n,2)}function pr(t,n){return xe(t.getUTCSeconds(),n,2)}function gr(t){var n=t.getUTCDay();return 0===n?7:n}function mr(t,n){return xe(re.count(oe(t),t),n,2)}function vr(t,n){var e=t.getUTCDay();return t=e>=4||0===e?ae(t):ae.ceil(t),xe(ae.count(oe(t),t)+(4===oe(t).getUTCDay()),n,2)}function yr(t){return t.getUTCDay()}function _r(t,n){return xe(ie.count(oe(t),t),n,2)}function xr(t,n){return xe(t.getUTCFullYear()%100,n,2)}function br(t,n){return xe(t.getUTCFullYear()%1e4,n,4)}function wr(){return"+0000"}function Ar(){return"%"}function Mr(t){return+t}function kr(t){return Math.floor(+t/1e3)}function Er(t){return fe=function(t){var n=t.dateTime,e=t.date,r=t.time,i=t.periods,a=t.days,u=t.shortDays,o=t.months,s=t.shortMonths,l=we(i),c=Ae(i),f=we(a),h=Ae(a),d=we(u),p=Ae(u),g=we(o),m=Ae(o),v=we(s),y=Ae(s),_={a:function(t){return u[t.getDay()]},A:function(t){return a[t.getDay()]},b:function(t){return s[t.getMonth()]},B:function(t){return o[t.getMonth()]},c:null,d:Ie,e:Ie,f:Ve,H:We,I:He,j:Ye,L:Ge,m:Xe,M:Ze,p:function(t){return i[+(t.getHours()>=12)]},Q:Mr,s:kr,S:Je,u:Qe,U:Ke,V:tr,w:nr,W:er,x:null,X:null,y:rr,Y:ir,Z:ar,"%":Ar},x={a:function(t){return u[t.getUTCDay()]},A:function(t){return a[t.getUTCDay()]},b:function(t){return s[t.getUTCMonth()]},B:function(t){return o[t.getUTCMonth()]},c:null,d:ur,e:ur,f:fr,H:or,I:sr,j:lr,L:cr,m:hr,M:dr,p:function(t){return i[+(t.getUTCHours()>=12)]},Q:Mr,s:kr,S:pr,u:gr,U:mr,V:vr,w:yr,W:_r,x:null,X:null,y:xr,Y:br,Z:wr,"%":Ar},b={a:function(t,n,e){var r=d.exec(n.slice(e));return r?(t.w=p[r[0].toLowerCase()],e+r[0].length):-1},A:function(t,n,e){var r=f.exec(n.slice(e));return r?(t.w=h[r[0].toLowerCase()],e+r[0].length):-1},b:function(t,n,e){var r=v.exec(n.slice(e));return r?(t.m=y[r[0].toLowerCase()],e+r[0].length):-1},B:function(t,n,e){var r=g.exec(n.slice(e));return r?(t.m=m[r[0].toLowerCase()],e+r[0].length):-1},c:function(t,e,r){return M(t,n,e,r)},d:ze,e:ze,f:Pe,H:Oe,I:Oe,j:Ne,L:Le,m:Te,M:Re,p:function(t,n,e){var r=l.exec(n.slice(e));return r?(t.p=c[r[0].toLowerCase()],e+r[0].length):-1},Q:$e,s:je,S:qe,u:ke,U:Ee,V:De,w:Me,W:Ce,x:function(t,n,r){return M(t,e,n,r)},X:function(t,n,e){return M(t,r,n,e)},y:Se,Y:Fe,Z:Be,"%":Ue};function w(t,n){return function(e){var r,i,a,u=[],o=-1,s=0,l=t.length;for(e instanceof Date||(e=new Date(+e));++o<l;)37===t.charCodeAt(o)&&(u.push(t.slice(s,o)),null!=(i=me[r=t.charAt(++o)])?r=t.charAt(++o):i="e"===r?" ":"0",(a=n[r])&&(r=a(e,i)),u.push(r),s=o+1);return u.push(t.slice(s,o)),u.join("")}}function A(t,n){return function(e){var r,i,a=ce(1900);if(M(a,t,e+="",0)!=e.length)return null;if("Q"in a)return new Date(a.Q);if("p"in a&&(a.H=a.H%12+12*a.p),"V"in a){if(a.V<1||a.V>53)return null;"w"in a||(a.w=1),"Z"in a?(i=(r=le(ce(a.y))).getUTCDay(),r=i>4||0===i?ie.ceil(r):ie(r),r=ne.offset(r,7*(a.V-1)),a.y=r.getUTCFullYear(),a.m=r.getUTCMonth(),a.d=r.getUTCDate()+(a.w+6)%7):(i=(r=n(ce(a.y))).getDay(),r=i>4||0===i?Xn.ceil(r):Xn(r),r=Yn.offset(r,7*(a.V-1)),a.y=r.getFullYear(),a.m=r.getMonth(),a.d=r.getDate()+(a.w+6)%7)}else("W"in a||"U"in a)&&("w"in a||(a.w="u"in a?a.u%7:"W"in a?1:0),i="Z"in a?le(ce(a.y)).getUTCDay():n(ce(a.y)).getDay(),a.m=0,a.d="W"in a?(a.w+6)%7+7*a.W-(i+5)%7:a.w+7*a.U-(i+6)%7);return"Z"in a?(a.H+=a.Z/100|0,a.M+=a.Z%100,le(a)):n(a)}}function M(t,n,e,r){for(var i,a,u=0,o=n.length,s=e.length;u<o;){if(r>=s)return-1;if(37===(i=n.charCodeAt(u++))){if(i=n.charAt(u++),!(a=b[i in me?n.charAt(u++):i])||(r=a(t,e,r))<0)return-1}else if(i!=e.charCodeAt(r++))return-1}return r}return _.x=w(e,_),_.X=w(r,_),_.c=w(n,_),x.x=w(e,x),x.X=w(r,x),x.c=w(n,x),{format:function(t){var n=w(t+="",_);return n.toString=function(){return t},n},parse:function(t){var n=A(t+="",se);return n.toString=function(){return t},n},utcFormat:function(t){var n=w(t+="",x);return n.toString=function(){return t},n},utcParse:function(t){var n=A(t,le);return n.toString=function(){return t},n}}}(t),he=fe.format,de=fe.parse,pe=fe.utcFormat,ge=fe.utcParse,fe}Er({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});Date.prototype.toISOString||pe("%Y-%m-%dT%H:%M:%S.%LZ");+new Date("2000-01-01T00:00:00.000Z")||ge("%Y-%m-%dT%H:%M:%S.%LZ");function Dr(t,n,e){const r=On((n=n||{}).type||"json");return r||i("Unknown data format type: "+n.type),t=r(t,n),n.parse&&function(t,n,e){if(!t.length)return;e=e||de;var r,i,a,u,o,s,l,c=t.columns||Object.keys(t[0]);"auto"===n&&(n=cn(t,c));for(c=Object.keys(n),r=c.map((function(t){var r,i,a=n[t];if(a&&(0===a.indexOf("date:")||0===a.indexOf("utc:")))return("'"===(i=(r=a.split(/:(.+)?/,2))[1])[0]&&"'"===i[i.length-1]||'"'===i[0]&&'"'===i[i.length-1])&&(i=i.slice(1,-1)),"utc"===r[0]?ge(i):e(i);if(!un[a])throw Error("Illegal format pattern: "+t+":"+a);return un[a]})),u=0,s=t.length,l=c.length;u<s;++u)for(i=t[u],o=0;o<l;++o)a=c[o],i[a]=r[o](i[a])}(t,n.parse,e),tt(t,"columns")&&delete t.columns,t}var Cr=function(t,n){return function(e){return{options:e||{},sanitize:tn,load:Kt,fileAccess:!!n,file:nn(n),http:rn(t)}}}("undefined"!=typeof fetch&&fetch,null);const Fr=Dr;var Sr={skip:!0};function Br(t,n,e,r,i,a){var u,o,s=Z({},a,Sr);Y(e)||(e=V(e)),void 0===r?u=n=>t.touch(e(n)):Y(r)?(o=new jt(null,r,i,!1),u=n=>{o.evaluate(n);const r=e(n),i=o.value;Ot(i)?t.pulse(r,i,a):t.update(r,i,s)}):u=n=>t.update(e(n),r,s),n.apply(u)}function Tr(t,n,e,r,i,a){if(void 0===r)n.targets().add(e);else{const u=a||{},o=new jt(null,function(t,n){return n=Y(n)?n:V(n),t?function(e,r){const i=n(e,r);return t.skip()||(t.skip(i!==this.value).value=i),i}:n}(e,r),i,!1);o.modified(u.force),o.rank=n.rank,n.targets().add(o),e&&(o.skip(!0),o.value=e.value,o.targets().add(e),t.connect(e,[o]))}}var zr={};function Nr(t,n,e){this.dataflow=t,this.stamp=null==n?-1:n,this.add=[],this.rem=[],this.mod=[],this.fields=null,this.encode=e||null}var Or=Nr.prototype;function Rr(t,n){return t?function(e,r){return t(e,r)&&n(e,r)}:n}function qr(t,n){var e=[];return wt(t,n,(function(t){e.push(t)})),e}function Lr(t,n){var e={};return t.visit(n,(function(t){e[Ct(t)]=1})),function(t){return e[Ct(t)]?null:t}}function Pr(t,n,e,r){var i,a,u,o,s,l=this,c=0;for(this.dataflow=t,this.stamp=n,this.fields=null,this.encode=r||null,this.pulses=e,u=0,o=e.length;u<o;++u)if((i=e[u]).stamp===n){if(i.fields)for(s in a=l.fields||(l.fields={}),i.fields)a[s]=1;i.changed(l.ADD)&&(c|=l.ADD),i.changed(l.REM)&&(c|=l.REM),i.changed(l.MOD)&&(c|=l.MOD)}this.changes=c}Or.StopPropagation=zr,Or.ADD=1,Or.REM=2,Or.MOD=4,Or.ADD_REM=3,Or.ADD_MOD=5,Or.ALL=7,Or.REFLOW=8,Or.SOURCE=16,Or.NO_SOURCE=32,Or.NO_FIELDS=64,Or.fork=function(t){return new Nr(this.dataflow).init(this,t)},Or.clone=function(){var t=this.fork(7);return t.add=t.add.slice(),t.rem=t.rem.slice(),t.mod=t.mod.slice(),t.source&&(t.source=t.source.slice()),t.materialize(23)},Or.addAll=function(){var t=this;return this.source&&this.source.length!==this.add.length?((t=new Nr(this.dataflow).init(this)).add=t.source,t):t},Or.init=function(t,n){var e=this;return e.stamp=t.stamp,e.encode=t.encode,!t.fields||64&n||(e.fields=t.fields),1&n?(e.addF=t.addF,e.add=t.add):(e.addF=null,e.add=[]),2&n?(e.remF=t.remF,e.rem=t.rem):(e.remF=null,e.rem=[]),4&n?(e.modF=t.modF,e.mod=t.mod):(e.modF=null,e.mod=[]),32&n?(e.srcF=null,e.source=null):(e.srcF=t.srcF,e.source=t.source),e},Or.runAfter=function(t){this.dataflow.runAfter(t)},Or.changed=function(t){var n=t||7;return 1&n&&this.add.length||2&n&&this.rem.length||4&n&&this.mod.length},Or.reflow=function(t){if(t)return this.fork(7).reflow();var n=this.add.length,e=this.source&&this.source.length;return e&&e!==n&&(this.mod=this.source,n&&this.filter(4,Lr(this,1))),this},Or.modifies=function(t){var n=W(t),e=this.fields||(this.fields={});return n.forEach((function(t){e[t]=!0})),this},Or.modified=function(t,n){var e=this.fields;return!(!n&&!this.mod.length||!e)&&(arguments.length?u(t)?t.some((function(t){return e[t]})):e[t]:!!e)},Or.filter=function(t,n){var e=this;return 1&t&&(e.addF=Rr(e.addF,n)),2&t&&(e.remF=Rr(e.remF,n)),4&t&&(e.modF=Rr(e.modF,n)),16&t&&(e.srcF=Rr(e.srcF,n)),e},Or.materialize=function(t){var n=this;return 1&(t=t||7)&&n.addF&&(n.add=qr(n.add,n.addF),n.addF=null),2&t&&n.remF&&(n.rem=qr(n.rem,n.remF),n.remF=null),4&t&&n.modF&&(n.mod=qr(n.mod,n.modF),n.modF=null),16&t&&n.srcF&&(n.source=n.source.filter(n.srcF),n.srcF=null),n},Or.visit=function(t,n){var e,r,i=this,a=n;return 16&t?(wt(i.source,i.srcF,a),i):(1&t&&wt(i.add,i.addF,a),2&t&&wt(i.rem,i.remF,a),4&t&&wt(i.mod,i.modF,a),8&t&&(e=i.source)&&((r=i.add.length+i.mod.length)===e.length||wt(e,r?Lr(i,5):i.srcF,a)),i)};var Ur=it(Pr,Nr);function $r(t){return t.error("Dataflow already running. Use runAsync() to chain invocations."),t}Ur.fork=function(t){var n=new Nr(this.dataflow).init(this,t&this.NO_FIELDS);return void 0!==t&&(t&n.ADD&&this.visit(n.ADD,(function(t){return n.add.push(t)})),t&n.REM&&this.visit(n.REM,(function(t){return n.rem.push(t)})),t&n.MOD&&this.visit(n.MOD,(function(t){return n.mod.push(t)}))),n},Ur.changed=function(t){return this.changes&t},Ur.modified=function(t){var n=this,e=n.fields;return e&&n.changes&n.MOD?u(t)?t.some((function(t){return e[t]})):e[t]:0},Ur.filter=function(){i("MultiPulse does not support filtering.")},Ur.materialize=function(){i("MultiPulse does not support materialization.")},Ur.visit=function(t,n){var e=this,r=e.pulses,i=r.length,a=0;if(t&e.SOURCE)for(;a<i;++a)r[a].visit(t,n);else for(;a<i;++a)r[a].stamp===e.stamp&&r[a].visit(t,n);return e};var jr={skip:!1,force:!1};function Ir(t){var n=[];return{clear:()=>n=[],size:()=>n.length,peek:()=>n[0],push:e=>(n.push(e),Wr(n,0,n.length-1,t)),pop:()=>{var e,r=n.pop();return n.length?(e=n[0],n[0]=r,function(t,n,e){var r,i=n,a=t.length,u=t[n],o=1+(n<<1);for(;o<a;)(r=o+1)<a&&e(t[o],t[r])>=0&&(o=r),t[n]=t[o],o=1+((n=o)<<1);t[n]=u,Wr(t,i,n,e)}(n,0,t)):e=r,e}}}function Wr(t,n,e,r){var i,a,u;for(i=t[e];e>n&&r(i,a=t[u=e-1>>1])<0;)t[e]=a,e=u;return t[e]=i}function Hr(){this.logger(M()),this.logLevel(x),this._clock=0,this._rank=0;try{this._loader=Cr()}catch(t){}this._touched=At(h),this._input={},this._pulse=null,this._heap=Ir((t,n)=>t.qrank-n.qrank),this._postrun=[]}var Yr=Hr.prototype;function Gr(t){return function(){return this._log[t].apply(this,arguments)}}function Vr(t,n){jt.call(this,t,null,n)}Yr.stamp=function(){return this._clock},Yr.loader=function(t){return arguments.length?(this._loader=t,this):this._loader},Yr.cleanThreshold=1e4,Yr.add=function(t,n,e,r){var i,a=1;return t instanceof jt?i=t:t&&t.prototype instanceof jt?i=new t:Y(t)?i=new jt(null,t):(a=0,i=new jt(t,n)),this.rank(i),a&&(r=e,e=n),e&&this.connect(i,i.parameters(e,r)),this.touch(i),i},Yr.connect=function(t,n){var e,r,i=t.rank;for(e=0,r=n.length;e<r;++e)if(i<n[e].rank)return void this.rerank(t)},Yr.rank=function(t){t.rank=++this._rank},Yr.rerank=function(t){for(var n,e,r,a=[t];a.length;)if(this.rank(n=a.pop()),e=n._targets)for(r=e.length;--r>=0;)a.push(n=e[r]),n===t&&i("Cycle detected in dataflow graph.")},Yr.pulse=function(t,n,e){this.touch(t,e||jr);var r=new Nr(this,this._clock+(this._pulse?0:1)),i=t.pulse&&t.pulse.source||[];return r.target=t,this._input[t.id]=n.pulse(r,i),this},Yr.touch=function(t,n){var e=n||jr;return this._pulse?this._enqueue(t):this._touched.add(t),e.skip&&t.skip(!0),this},Yr.update=function(t,n,e){var r=e||jr;return(t.set(n)||r.force)&&this.touch(t,r),this},Yr.changeset=Rt,Yr.ingest=function(t,n,e){return this.pulse(t,this.changeset().insert(Fr(n,e)))},Yr.parse=Fr,Yr.preload=async function(t,n,e){const r=this,i=r._pending||function(t){var n,e=new Promise((function(t){n=t}));return e.requests=0,e.done=function(){0==--e.requests&&(t._pending=null,n(t))},t._pending=e}(r);i.requests+=1;const a=await r.request(n,e);return r.pulse(t,r.changeset().remove(m).insert(a.data||[])),i.done(),a},Yr.request=async function(t,n){const e=this;let r,i=0;try{r=await e.loader().load(t,{context:"dataflow",response:Rn(n&&n.type)});try{r=Fr(r,n)}catch(n){i=-2,e.warn("Data ingestion failed",t,n)}}catch(n){i=-1,e.warn("Loading failed",t,n)}return{data:r,status:i}},Yr.events=function(t,n,e,r){for(var i,a=this,u=Gt(e,r),o=function(t){t.dataflow=a;try{u.receive(t)}catch(t){a.error(t)}finally{a.run()}},s=0,l=(i="string"==typeof t&&"undefined"!=typeof document?document.querySelectorAll(t):W(t)).length;s<l;++s)i[s].addEventListener(n,o);return u},Yr.on=function(t,n,e,r,i){return(t instanceof jt?Tr:Br)(this,t,n,e,r,i),this},Yr.evaluate=async function(t,n,e){const r=this,i=r.logLevel();if(r._pulse)return $r(r);if(r._pending&&await r._pending,n&&await Mt(r,n),!r._touched.length)return r.info("Dataflow invoked, but nothing to do."),r;let a,u,o,s,l=++r._clock,c=0;r._pulse=new Nr(r,l,t),i>=w&&(o=Date.now(),r.debug("-- START PROPAGATION ("+l+") -----")),r._touched.forEach(t=>r._enqueue(t,!0)),r._touched=At(h);try{for(;r._heap.size()>0;)(a=r._heap.pop()).rank===a.qrank?((u=a.run(r._getPulse(a,t))).then&&(u=await u),i>=A&&r.debug(a.id,u===zr?"STOP":u,a),u!==zr&&a._targets&&a._targets.forEach(t=>r._enqueue(t)),++c):r._enqueue(a,!0)}catch(t){r._heap.clear(),s=t}if(r._input={},r._pulse=null,i>=w&&(o=Date.now()-o,r.info("> Pulse "+l+": "+c+" operators; "+o+"ms")),s&&(r._postrun=[],r.error(s)),r._postrun.length){const t=r._postrun.sort((t,n)=>n.priority-t.priority);r._postrun=[];for(let n=0;n<t.length;++n)await Mt(r,t[n].callback)}return e&&await Mt(r,e),r},Yr.run=function(t,n,e){return this._pulse?$r(this):(this.evaluate(t,n,e),this)},Yr.runAsync=async function(t,n,e){for(;this._running;)await this._running;const r=()=>this._running=null;return(this._running=this.evaluate(t,n,e)).then(r,r),this._running},Yr.runAfter=function(t,n,e){if(this._pulse||n)this._postrun.push({priority:e||0,callback:t});else try{t(this)}catch(t){this.error(t)}},Yr._enqueue=function(t,n){var e=t.stamp<this._clock;e&&(t.stamp=this._clock),(e||n)&&(t.qrank=t.rank,this._heap.push(t))},Yr._getPulse=function(t,n){var e=t.source,r=this._clock;return e&&u(e)?new Pr(this,r,e.map(t=>t.pulse),n):this._input[t.id]||function(t,n){if(n&&n.stamp===t.stamp)return n;t=t.fork(),n&&n!==zr&&(t.source=n.source);return t}(this._pulse,e&&e.pulse)},Yr.logger=function(t){return arguments.length?(this._log=t,this):this._log},Yr.error=Gr("error"),Yr.warn=Gr("warn"),Yr.info=Gr("info"),Yr.debug=Gr("debug"),Yr.logLevel=Gr("level");var Xr=it(Vr,jt);Xr.run=function(t){return t.stamp<this.stamp?t.StopPropagation:(this.skip()?this.skip(!1):n=this.evaluate(t),(n=n||t).then?n=n.then(t=>this.pulse=t):n!==t.StopPropagation&&(this.pulse=n),n);var n},Xr.evaluate=function(t){var n=this.marshall(t.stamp),e=this.transform(n,t);return n.clear(),e},Xr.transform=function(){};var Zr={};function Jr(t){var n=Qr(t);return n&&n.Definition||null}function Qr(t){return t=t&&t.toLowerCase(),tt(Zr,t)?Zr[t]:null}function Kr(t){return t&&t.length?1===t.length?t[0]:(n=t,function(t){for(var e=n.length,r=1,i=String(n[0](t));r<e;++r)i+="|"+n[r](t);return i}):function(){return""};var n}function ti(t,n,e){return e||t+(n?"_"+n:"")}var ni={values:ii({name:"values",init:"cell.store = true;",set:"cell.data.values()",idx:-1}),count:ii({name:"count",set:"cell.num"}),__count__:ii({name:"count",set:"this.missing + this.valid"}),missing:ii({name:"missing",set:"this.missing"}),valid:ii({name:"valid",set:"this.valid"}),sum:ii({name:"sum",init:"this.sum = 0;",add:"this.sum += +v;",rem:"this.sum -= v;",set:"this.sum"}),mean:ii({name:"mean",init:"this.mean = 0;",add:"var d = v - this.mean; this.mean += d / this.valid;",rem:"var d = v - this.mean; this.mean -= this.valid ? d / this.valid : this.mean;",set:"this.valid ? this.mean : undefined"}),average:ii({name:"average",set:"this.valid ? this.mean : undefined",req:["mean"],idx:1}),variance:ii({name:"variance",init:"this.dev = 0;",add:"this.dev += d * (v - this.mean);",rem:"this.dev -= d * (v - this.mean);",set:"this.valid > 1 ? this.dev / (this.valid-1) : undefined",req:["mean"],idx:1}),variancep:ii({name:"variancep",set:"this.valid > 1 ? this.dev / this.valid : undefined",req:["variance"],idx:2}),stdev:ii({name:"stdev",set:"this.valid > 1 ? Math.sqrt(this.dev / (this.valid-1)) : undefined",req:["variance"],idx:2}),stdevp:ii({name:"stdevp",set:"this.valid > 1 ? Math.sqrt(this.dev / this.valid) : undefined",req:["variance"],idx:2}),stderr:ii({name:"stderr",set:"this.valid > 1 ? Math.sqrt(this.dev / (this.valid * (this.valid-1))) : undefined",req:["variance"],idx:2}),distinct:ii({name:"distinct",set:"cell.data.distinct(this.get)",req:["values"],idx:3}),ci0:ii({name:"ci0",set:"cell.data.ci0(this.get)",req:["values"],idx:3}),ci1:ii({name:"ci1",set:"cell.data.ci1(this.get)",req:["values"],idx:3}),median:ii({name:"median",set:"cell.data.q2(this.get)",req:["values"],idx:3}),q1:ii({name:"q1",set:"cell.data.q1(this.get)",req:["values"],idx:3}),q3:ii({name:"q3",set:"cell.data.q3(this.get)",req:["values"],idx:3}),argmin:ii({name:"argmin",init:"this.argmin = undefined;",add:"if (v < this.min) this.argmin = t;",rem:"if (v <= this.min) this.argmin = undefined;",set:"this.argmin || cell.data.argmin(this.get)",req:["min"],str:["values"],idx:3}),argmax:ii({name:"argmax",init:"this.argmax = undefined;",add:"if (v > this.max) this.argmax = t;",rem:"if (v >= this.max) this.argmax = undefined;",set:"this.argmax || cell.data.argmax(this.get)",req:["max"],str:["values"],idx:3}),min:ii({name:"min",init:"this.min = undefined;",add:"if (v < this.min || this.min === undefined) this.min = v;",rem:"if (v <= this.min) this.min = NaN;",set:"this.min = (isNaN(this.min) ? cell.data.min(this.get) : this.min)",str:["values"],idx:4}),max:ii({name:"max",init:"this.max = undefined;",add:"if (v > this.max || this.max === undefined) this.max = v;",rem:"if (v >= this.max) this.max = NaN;",set:"this.max = (isNaN(this.max) ? cell.data.max(this.get) : this.max)",str:["values"],idx:4})},ei=Object.keys(ni);function ri(t,n){return ni[t](n)}function ii(t){return function(n){var e=Z({init:"",add:"",rem:"",idx:0},t);return e.out=n||t.name,e}}function ai(t,n){return t.idx-n.idx}function ui(t,n){var e=n||d,r=function(t,n){var e,r=t.reduce((function t(e,r){function i(n){e[n]||t(e,e[n]=ni[n]())}return r.req&&r.req.forEach(i),n&&r.str&&r.str.forEach(i),e}),t.reduce((function(t,n){return t[n.name]=n,t}),{})),i=[];for(e in r)i.push(r[e]);return i.sort(ai)}(t,!0),i="var cell = this.cell; this.valid = 0; this.missing = 0;",a="this.cell = cell; this.init();",u="if(v==null){++this.missing; return;} if(v!==v) return; ++this.valid;",o="if(v==null){--this.missing; return;} if(v!==v) return; --this.valid;",s="var cell = this.cell;";return r.forEach((function(t){i+=t.init,u+=t.add,o+=t.rem})),t.slice().sort(ai).forEach((function(t){s+="t["+l(t.out)+"]="+t.set+";"})),s+="return t;",(a=Function("cell",a)).prototype.init=Function(i),a.prototype.add=Function("v","t",u),a.prototype.rem=Function("v","t",o),a.prototype.set=Function("t",s),a.prototype.get=e,a.fields=t.map((function(t){return t.out})),a}function oi(t){var n,e,r,i,a,u,o,s,l=t.maxbins||20,c=t.base||10,f=Math.log(c),h=t.divide||[5,2],d=t.extent[0],p=t.extent[1],g=t.span||p-d||Math.abs(d)||1;if(t.step)n=t.step;else if(t.steps){for(a=g/l,u=0,o=t.steps.length;u<o&&t.steps[u]<a;++u);n=t.steps[Math.max(0,u-1)]}else{for(e=Math.ceil(Math.log(l)/f),r=t.minstep||0,n=Math.max(r,Math.pow(c,Math.round(Math.log(g)/f)-e));Math.ceil(g/n)>l;)n*=c;for(u=0,o=h.length;u<o;++u)(a=n/h[u])>=r&&g/a<=l&&(n=a)}return i=(a=Math.log(n))>=0?0:1+~~(-a/f),s=Math.pow(c,-i-1),(t.nice||void 0===t.nice)&&(d=d<(a=Math.floor(d/n+s)*n)?a-n:a,p=Math.ceil(p/n)*n),{start:d,stop:p===d?d+n:p,step:n}}function*si(t,n){if(void 0===n)for(let n of t)null!=n&&(n=+n)>=n&&(yield n);else{let e=-1;for(let r of t)null!=(r=n(r,++e,t))&&(r=+r)>=r&&(yield r)}}function li(t,n){return t<n?-1:t>n?1:t>=n?0:NaN}function ci(t){var n;return 1===t.length&&(n=t,t=function(t,e){return li(n(t),e)}),{left:function(n,e,r,i){for(null==r&&(r=0),null==i&&(i=n.length);r<i;){var a=r+i>>>1;t(n[a],e)<0?r=a+1:i=a}return r},right:function(n,e,r,i){for(null==r&&(r=0),null==i&&(i=n.length);r<i;){var a=r+i>>>1;t(n[a],e)>0?i=a:r=a+1}return r}}}t.random=Math.random;var fi=ci(li),hi=fi.right,di=fi.left;function pi(t,n,e){t=+t,n=+n,e=(i=arguments.length)<2?(n=t,t=0,1):i<3?1:+e;for(var r=-1,i=0|Math.max(0,Math.ceil((n-t)/e)),a=new Array(i);++r<i;)a[r]=t+r*e;return a}var gi=Math.sqrt(50),mi=Math.sqrt(10),vi=Math.sqrt(2);function yi(t,n,e){var r,i,a,u,o=-1;if(e=+e,(t=+t)===(n=+n)&&e>0)return[t];if((r=n<t)&&(i=t,t=n,n=i),0===(u=_i(t,n,e))||!isFinite(u))return[];if(u>0)for(t=Math.ceil(t/u),n=Math.floor(n/u),a=new Array(i=Math.ceil(n-t+1));++o<i;)a[o]=(t+o)*u;else for(t=Math.floor(t*u),n=Math.ceil(n*u),a=new Array(i=Math.ceil(t-n+1));++o<i;)a[o]=(t-o)/u;return r&&a.reverse(),a}function _i(t,n,e){var r=(n-t)/Math.max(0,e),i=Math.floor(Math.log(r)/Math.LN10),a=r/Math.pow(10,i);return i>=0?(a>=gi?10:a>=mi?5:a>=vi?2:1)*Math.pow(10,i):-Math.pow(10,-i)/(a>=gi?10:a>=mi?5:a>=vi?2:1)}function xi(t,n,e){var r=Math.abs(n-t)/Math.max(0,e),i=Math.pow(10,Math.floor(Math.log(r)/Math.LN10)),a=r/i;return a>=gi?i*=10:a>=mi?i*=5:a>=vi&&(i*=2),n<t?-i:i}function bi(t){return null===t?NaN:+t}function*wi(t,n){if(void 0===n)for(let n of t)null!=n&&(n=+n)>=n&&(yield n);else{let e=-1;for(let r of t)null!=(r=n(r,++e,t))&&(r=+r)>=r&&(yield r)}}function Ai(t,n,e){return function(t,n,e=bi){if(!(r=t.length))return;if((n=+n)<=0||r<2)return+e(t[0],0,t);if(n>=1)return+e(t[r-1],r-1,t);var r,i=(r-1)*n,a=Math.floor(i),u=+e(t[a],a,t),o=+e(t[a+1],a+1,t);return u+(o-u)*(i-a)}(Float64Array.from(wi(t,e)).sort(li),n)}function Mi(t,n,e=0,r=t.length-1,i=li){for(;r>e;){if(r-e>600){const a=r-e+1,u=n-e+1,o=Math.log(a),s=.5*Math.exp(2*o/3),l=.5*Math.sqrt(o*s*(a-s)/a)*(u-a/2<0?-1:1);Mi(t,n,Math.max(e,Math.floor(n-u*s/a+l)),Math.min(r,Math.floor(n+(a-u)*s/a+l)),i)}const a=t[n];let u=e,o=r;for(ki(t,e,n),i(t[r],a)>0&&ki(t,e,r);u<o;){for(ki(t,u,o),++u,--o;i(t[u],a)<0;)++u;for(;i(t[o],a)>0;)--o}0===i(t[e],a)?ki(t,e,o):ki(t,++o,r),o<=n&&(e=o+1),n<=o&&(r=o-1)}return t}function ki(t,n,e){const r=t[n];t[n]=t[e],t[e]=r}function Ei(t,n){if(!(t=Float64Array.from(wi(t,n))).length)return;const e=t.length,r=e>>1;return Mi(t,r-1,0),0==(1&e)&&Mi(t,r,r),Ai(t,.5)}function Di(n,e,r,i){if(!n.length)return[void 0,void 0];var a,u,o,s,l=Float64Array.from(si(n,i)),c=l.length,f=e;for(o=0,s=Array(f);o<f;++o){for(a=0,u=0;u<c;++u)a+=l[~~(t.random()*c)];s[o]=a/c}return s.sort(li),[Ai(s,r/2),Ai(s,1-r/2)]}function Ci(t,n){var e=Float64Array.from(si(t,n));return e.sort(li),[Ai(e,.25),Ai(e,.5),Ai(e,.75)]}function Fi(n,e){var r,i,a=NaN,u={mean:function(t){return arguments.length?(r=t||0,a=NaN,u):r},stdev:function(t){return arguments.length?(i=null==t?1:t,a=NaN,u):i},sample:function(){var n,e,u=0,o=0;if(a==a)return u=a,a=NaN,u;do{n=(u=2*t.random()-1)*u+(o=2*t.random()-1)*o}while(0===n||n>1);return e=Math.sqrt(-2*Math.log(n)/n),a=r+o*e*i,r+u*e*i},pdf:function(t){var n=Math.exp(Math.pow(t-r,2)/(-2*Math.pow(i,2)));return 1/(i*Math.sqrt(2*Math.PI))*n},cdf:function(t){var n,e=(t-r)/i,a=Math.abs(e);if(a>37)n=0;else{var u=Math.exp(-a*a/2);a<7.07106781186547?(n=u*((((((.0352624965998911*a+.700383064443688)*a+6.37396220353165)*a+33.912866078383)*a+112.079291497871)*a+221.213596169931)*a+220.206867912376),n/=((((((.0883883476483184*a+1.75566716318264)*a+16.064177579207)*a+86.7807322029461)*a+296.564248779674)*a+637.333633378831)*a+793.826512519948)*a+440.413735824752):n=u/(a+1/(a+2/(a+3/(a+4/(a+.65)))))/2.506628274631}return e>0?1-n:n},icdf:function(t){if(t<=0||t>=1)return NaN;var n=2*t-1,e=8*(Math.PI-3)/(3*Math.PI*(4-Math.PI)),a=2/(Math.PI*e)+Math.log(1-Math.pow(n,2))/2,u=Math.log(1-n*n)/e,o=(n>0?1:-1)*Math.sqrt(Math.sqrt(a*a-u)-a);return r+i*Math.SQRT2*o}};return u.mean(n).stdev(e)}function Si(n,e){var r=Fi(),i={},a=0;return i.data=function(t){return arguments.length?(n=t,a=t?t.length:0,i.bandwidth(e)):n},i.bandwidth=function(t){return arguments.length?(!(e=t)&&n&&(e=Bi(n)),i):e},i.sample=function(){return n[~~(t.random()*a)]+e*r.sample()},i.pdf=function(t){for(var i=0,u=0;u<a;++u)i+=r.pdf((t-n[u])/e);return i/e/a},i.cdf=function(t){for(var i=0,u=0;u<a;++u)i+=r.cdf((t-n[u])/e);return i/a},i.icdf=function(){throw Error("KDE icdf not supported.")},i.data(n)}function Bi(t){var n=t.length,e=Ci(t),r=(e[2]-e[0])/1.34;return 1.06*Math.min(Math.sqrt(function(t,n){let e,r=0,i=0,a=0;if(void 0===n)for(let n of t)null!=n&&(n=+n)>=n&&(a+=(e=n-i)*(n-(i+=e/++r)));else{let u=-1;for(let o of t)null!=(o=n(o,++u,t))&&(o=+o)>=o&&(a+=(e=o-i)*(o-(i+=e/++r)))}if(r>1)return a/(r-1)}(t)),r)*Math.pow(n,-.2)}function Ti(n,e){var r,i={},a=0;function u(t){var n,e=[],r=0;for(n=0;n<a;++n)r+=e[n]=null==t[n]?1:+t[n];for(n=0;n<a;++n)e[n]/=r;return e}return i.weights=function(t){return arguments.length?(r=u(e=t||[]),i):e},i.distributions=function(t){return arguments.length?(t?(a=t.length,n=t):(a=0,n=[]),i.weights(e)):n},i.sample=function(){for(var e=t.random(),i=n[a-1],u=r[0],o=0;o<a-1;u+=r[++o])if(e<u){i=n[o];break}return i.sample()},i.pdf=function(t){for(var e=0,i=0;i<a;++i)e+=r[i]*n[i].pdf(t);return e},i.cdf=function(t){for(var e=0,i=0;i<a;++i)e+=r[i]*n[i].cdf(t);return e},i.icdf=function(){throw Error("Mixture icdf not supported.")},i.distributions(n).weights(e)}function zi(n,e){null==e&&(e=null==n?1:n,n=0);var r,i,a,u={};return u.min=function(t){return arguments.length?(a=i-(r=t||0),u):r},u.max=function(t){return arguments.length?(a=(i=t||0)-r,u):i},u.sample=function(){return r+a*t.random()},u.pdf=function(t){return t>=r&&t<=i?1/a:0},u.cdf=function(t){return t<r?0:t>i?1:(t-r)/a},u.icdf=function(t){return t>=0&&t<=1?r+t*a:NaN},u.min(n).max(e)}function Ni(t,n,e,r){const i=r-t*t,a=Math.abs(i)<1e-24?0:(e-t*n)/i;return[n-a*t,a]}function Oi(t,n,e,r){t=t.filter(t=>{let r=n(t),i=e(t);return null!=r&&(r=+r)>=r&&null!=i&&(i=+i)>=i}),r&&t.sort((t,e)=>n(t)-n(e));const i=new Float64Array(t.length),a=new Float64Array(t.length);let u=0;for(let r of t)i[u]=n(r),a[u]=e(r),++u;return[i,a]}function Ri(t,n,e,r){let i,a,u=-1,o=-1;for(let s of t)i=n(s,++u,t),a=e(s,u,t),null!=i&&(i=+i)>=i&&null!=a&&(a=+a)>=a&&r(i,a,++o)}function qi(t,n,e,r,i){let a=0,u=0;return Ri(t,n,e,(t,n)=>{const e=n-i(t),o=n-r;a+=e*e,u+=o*o}),1-a/u}function Li(t,n,e){let r=0,i=0,a=0,u=0,o=0;Ri(t,n,e,(t,n)=>{r+=t,i+=n,a+=t*n,u+=t*t,++o});const s=Ni(r/o,i/o,a/o,u/o),l=t=>s[0]+s[1]*t;return{coef:s,predict:l,rSquared:qi(t,n,e,i/o,l)}}function Pi(t,n,e){let r=0,i=0,a=0,u=0,o=0;Ri(t,n,e,(t,n)=>{t=Math.log(t),r+=t,i+=n,a+=t*n,u+=t*t,++o});const s=Ni(r/o,i/o,a/o,u/o),l=t=>s[0]+s[1]*Math.log(t);return{coef:s,predict:l,rSquared:qi(t,n,e,i/o,l)}}function Ui(t,n,e){let r=0,i=0,a=0,u=0,o=0,s=0;Ri(t,n,e,(t,n)=>{const e=Math.log(n),l=t*n;r+=n,a+=l,o+=t*l,i+=n*e,u+=l*e,++s});const l=Ni(a/r,i/r,u/r,o/r),c=t=>l[0]*Math.exp(l[1]*t);return l[0]=Math.exp(l[0]),{coef:l,predict:c,rSquared:qi(t,n,e,r/s,c)}}function $i(t,n,e){let r=0,i=0,a=0,u=0,o=0,s=0;Ri(t,n,e,(t,n)=>{const e=Math.log(t),l=Math.log(n);r+=e,i+=l,a+=e*l,u+=e*e,o+=n,++s});const l=Ni(r/s,i/s,a/s,u/s),c=t=>l[0]*Math.pow(t,l[1]);return l[0]=Math.exp(l[0]),{coef:l,predict:c,rSquared:qi(t,n,e,o/s,c)}}function ji(t,n,e){let r=0,i=0,a=0,u=0,o=0,s=0,l=0,c=0;Ri(t,n,e,(t,n)=>{const e=t*t;r+=t,i+=n,a+=e,u+=e*t,o+=e*e,s+=t*n,l+=e*n,++c});const f=a-r*r/c,h=u-a*r/c,d=o-a*a/c,p=f*d-h*h,g=((l-=a*(i/=c))*f-(s-=r*i)*h)/p,m=(s*d-l*h)/p,v=i-m*(r/c)-g*(a/c),y=t=>g*t*t+m*t+v;return{coef:[v,m,g],predict:y,rSquared:qi(t,n,e,i,y)}}function Ii(t,n,e,r){if(1===r)return Li(t,n,e);if(2===r)return ji(t,n,e);const[i,a]=Oi(t,n,e),u=i.length,o=[],s=[],l=r+1;let c,f,h,d,p,g=0;for(c=0;c<u;++c)g+=a[c];for(c=0;c<l;++c){for(h=0,d=0;h<u;++h)d+=Math.pow(i[h],c)*a[h];for(o.push(d),p=new Float64Array(l),f=0;f<l;++f){for(h=0,d=0;h<u;++h)d+=Math.pow(i[h],c+f);p[f]=d}s.push(p)}s.push(o);const m=function(t){const n=t.length-1,e=[];let r,i,a,u,o;for(r=0;r<n;++r){for(u=r,i=r+1;i<n;++i)Math.abs(t[r][i])>Math.abs(t[r][u])&&(u=i);for(a=r;a<n+1;++a)o=t[a][r],t[a][r]=t[a][u],t[a][u]=o;for(i=r+1;i<n;++i)for(a=n;a>=r;a--)t[a][i]-=t[a][r]*t[r][i]/t[r][r]}for(i=n-1;i>=0;--i){for(o=0,a=i+1;a<n;++a)o+=t[a][i]*e[a];e[i]=(t[n][i]-o)/t[i][i]}return e}(s),v=t=>{let n=0,e=0,r=m.length;for(;e<r;++e)n+=m[e]*Math.pow(t,e);return n};return{coef:m,predict:v,rSquared:qi(t,n,e,g/u,v)}}const Wi=2,Hi=1e-12;function Yi(t,n,e,r){const[i,a]=Oi(t,n,e,!0),u=i.length,o=Math.max(2,~~(r*u)),s=new Float64Array(u),l=new Float64Array(u),c=new Float64Array(u).fill(1);for(let t=-1;++t<=Wi;){const n=[0,o-1];for(let t=0;t<u;++t){const e=i[t],r=n[0],u=n[1],o=e-i[r]>i[u]-e?r:u;let f=0,h=0,d=0,p=0,g=0,m=1/Math.abs(i[o]-e||1);for(let t=r;t<=u;++t){const n=i[t],r=a[t],u=Gi(Math.abs(e-n)*m)*c[t],o=n*u;f+=u,h+=o,d+=r*u,p+=r*o,g+=n*o}const[v,y]=Ni(h/f,d/f,p/f,g/f);s[t]=v+y*e,l[t]=Math.abs(a[t]-s[t]),Vi(i,t+1,n)}if(t===Wi)break;const e=Ei(l);if(Math.abs(e)<Hi)break;for(let t,n,r=0;r<u;++r)t=l[r]/(6*e),c[r]=t>=1?Hi:(n=1-t*t)*n}return function(t,n){const e=t.length,r=[];for(let i,a=0,u=0,o=[];a<e;++a)i=t[a],o[0]===i?o[1]+=(n[a]-o[1])/++u:(u=0,o=[i,n[a]],r.push(o));return r}(i,s)}function Gi(t){return(t=1-t*t*t)*t*t}function Vi(t,n,e){let r=t[n],i=e[0],a=e[1]+1;if(!(a>=t.length))for(;n>i&&t[a]-r<=r-t[i];)e[0]=++i,e[1]=a,++a}const Xi=.1*Math.PI/180;function Zi(t,n,e,r){e=e||25,r=Math.max(e,r||200);const i=n=>[n,t(n)],a=n[0],u=n[1],o=u-a,s=o/r,l=[i(a)],c=[];if(e===r){for(let t=1;t<r;++t)l.push(i(a+t/e*o));return l.push(i(u)),l}c.push(i(u));for(let t=e;--t>0;)c.push(i(a+t/e*o));let f=l[0],h=c[c.length-1];for(;h;){const t=i((f[0]+h[0])/2);t[0]-f[0]>=s&&Ji(f,t,h)>Xi?c.push(t):(f=h,l.push(h),c.pop()),h=c[c.length-1]}return l}function Ji(t,n,e){const r=Math.atan2(e[1]-t[1],e[0]-t[0]),i=Math.atan2(n[1]-t[1],n[0]-t[0]);return Math.abs(r-i)}function Qi(t){this._key=t?c(t):Ct,this.reset()}var Ki=Qi.prototype;function ta(t){Vr.call(this,null,t),this._adds=[],this._mods=[],this._alen=0,this._mlen=0,this._drop=!0,this._cross=!1,this._dims=[],this._dnames=[],this._measures=[],this._countOnly=!1,this._counts=null,this._prev=null,this._inputs=null,this._outputs=null}Ki.reset=function(){this._add=[],this._rem=[],this._ext=null,this._get=null,this._q=null},Ki.add=function(t){this._add.push(t)},Ki.rem=function(t){this._rem.push(t)},Ki.values=function(){if(this._get=null,0===this._rem.length)return this._add;var t,n,e,r=this._add,i=this._rem,a=this._key,u=r.length,o=i.length,s=Array(u-o),l={};for(t=0;t<o;++t)l[a(i[t])]=1;for(t=0,n=0;t<u;++t)l[a(e=r[t])]?l[a(e)]=0:s[n++]=e;return this._rem=[],this._add=s},Ki.distinct=function(t){for(var n,e=this.values(),r=e.length,i={},a=0;--r>=0;)tt(i,n=t(e[r])+"")||(i[n]=1,++a);return a},Ki.extent=function(t){if(this._get!==t||!this._ext){var n=this.values(),e=Q(n,t);this._ext=[n[e[0]],n[e[1]]],this._get=t}return this._ext},Ki.argmin=function(t){return this.extent(t)[0]||{}},Ki.argmax=function(t){return this.extent(t)[1]||{}},Ki.min=function(t){var n=this.extent(t)[0];return null!=n?t(n):void 0},Ki.max=function(t){var n=this.extent(t)[1];return null!=n?t(n):void 0},Ki.quartile=function(t){return this._get===t&&this._q||(this._q=Ci(this.values(),t),this._get=t),this._q},Ki.q1=function(t){return this.quartile(t)[0]},Ki.q2=function(t){return this.quartile(t)[1]},Ki.q3=function(t){return this.quartile(t)[2]},Ki.ci=function(t){return this._get===t&&this._ci||(this._ci=Di(this.values(),1e3,.05,t),this._get=t),this._ci},Ki.ci0=function(t){return this.ci(t)[0]},Ki.ci1=function(t){return this.ci(t)[1]},ta.Definition={type:"Aggregate",metadata:{generates:!0,changes:!0},params:[{name:"groupby",type:"field",array:!0},{name:"ops",type:"enum",array:!0,values:ei},{name:"fields",type:"field",null:!0,array:!0},{name:"as",type:"string",null:!0,array:!0},{name:"drop",type:"boolean",default:!0},{name:"cross",type:"boolean",default:!1},{name:"key",type:"field"}]};var na=it(ta,Vr);na.transform=function(t,n){var e=this,r=n.fork(n.NO_SOURCE|n.NO_FIELDS),i=t.modified();return e.stamp=r.stamp,e.value&&(i||n.modified(e._inputs,!0))?(e._prev=e.value,e.value=i?e.init(t):{},n.visit(n.SOURCE,t=>e.add(t))):(e.value=e.value||e.init(t),n.visit(n.REM,t=>e.rem(t)),n.visit(n.ADD,t=>e.add(t))),r.modifies(e._outputs),e._drop=!1!==t.drop,t.cross&&e._dims.length>1&&(e._drop=!1,e.cross()),e.changes(r)},na.cross=function(){var t=this,n=t.value,e=t._dnames,r=e.map((function(){return{}})),i=e.length;function a(t){var n,a,u,o;for(n in t)for(u=t[n].tuple,a=0;a<i;++a)r[a][o=u[e[a]]]=o}a(t._prev),a(n),function a(u,o,s){var l,c,f=e[s],h=r[s++];for(l in h)o[f]=h[l],c=u?u+"|"+l:l,s<i?a(c,o,s):n[c]||t.cell(c,o)}("",{},0)},na.init=function(t){var n=this._inputs=[],a=this._outputs=[],u={};function o(t){for(var e,i=W(r(t)),a=0,o=i.length;a<o;++a)u[e=i[a]]||(u[e]=1,n.push(e))}this._dims=W(t.groupby),this._dnames=this._dims.map((function(t){var n=e(t);return o(t),a.push(n),n})),this.cellkey=t.key?t.key:Kr(this._dims),this._countOnly=!0,this._counts=[],this._measures=[];var s,l,c,f,h,d,p=t.fields||[null],g=t.ops||["count"],m=t.as||[],v=p.length,y={};for(v!==g.length&&i("Unmatched number of fields and aggregate ops."),d=0;d<v;++d)s=p[d],l=g[d],null==s&&"count"!==l&&i("Null aggregate field specified."),h=ti(l,f=e(s),m[d]),a.push(h),"count"!==l?((c=y[f])||(o(s),(c=y[f]=[]).field=s,this._measures.push(c)),"count"!==l&&(this._countOnly=!1),c.push(ri(l,h))):this._counts.push(h);return this._measures=this._measures.map((function(t){return ui(t,t.field)})),{}},na.cellkey=Kr(),na.cell=function(t,n){var e=this.value[t];return e?0===e.num&&this._drop&&e.stamp<this.stamp?(e.stamp=this.stamp,this._adds[this._alen++]=e):e.stamp<this.stamp&&(e.stamp=this.stamp,this._mods[this._mlen++]=e):(e=this.value[t]=this.newcell(t,n),this._adds[this._alen++]=e),e},na.newcell=function(t,n){var e={key:t,num:0,agg:null,tuple:this.newtuple(n,this._prev&&this._prev[t]),stamp:this.stamp,store:!1};if(!this._countOnly){var r,i=this._measures,a=i.length;for(e.agg=Array(a),r=0;r<a;++r)e.agg[r]=new i[r](e)}return e.store&&(e.data=new Qi),e},na.newtuple=function(t,n){var e,r,i=this._dnames,a=this._dims,u={};for(e=0,r=a.length;e<r;++e)u[i[e]]=a[e](t);return n?zt(n.tuple,u):St(u)},na.add=function(t){var n,e,r,i=this.cellkey(t),a=this.cell(i,t);if(a.num+=1,!this._countOnly)for(a.store&&a.data.add(t),e=0,r=(n=a.agg).length;e<r;++e)n[e].add(n[e].get(t),t)},na.rem=function(t){var n,e,r,i=this.cellkey(t),a=this.cell(i,t);if(a.num-=1,!this._countOnly)for(a.store&&a.data.rem(t),e=0,r=(n=a.agg).length;e<r;++e)n[e].rem(n[e].get(t),t)},na.celltuple=function(t){var n,e,r,i=t.tuple,a=this._counts;for(t.store&&t.data.values(),e=0,r=a.length;e<r;++e)i[a[e]]=t.num;if(!this._countOnly)for(e=0,r=(n=t.agg).length;e<r;++e)n[e].set(i);return i},na.changes=function(t){var n,e,r,i,a=this._adds,u=this._mods,o=this._prev,s=this._drop,l=t.add,c=t.rem,f=t.mod;if(o)for(e in o)n=o[e],s&&!n.num||c.push(n.tuple);for(r=0,i=this._alen;r<i;++r)l.push(this.celltuple(a[r])),a[r]=null;for(r=0,i=this._mlen;r<i;++r)(0===(n=u[r]).num&&s?c:f).push(this.celltuple(n)),u[r]=null;return this._alen=this._mlen=0,this._prev=null,t};function ea(t){Vr.call(this,null,t)}ea.Definition={type:"Bin",metadata:{modifies:!0},params:[{name:"field",type:"field",required:!0},{name:"anchor",type:"number"},{name:"maxbins",type:"number",default:20},{name:"base",type:"number",default:10},{name:"divide",type:"number",array:!0,default:[5,2]},{name:"extent",type:"number",array:!0,length:2,required:!0},{name:"span",type:"number"},{name:"step",type:"number"},{name:"steps",type:"number",array:!0},{name:"minstep",type:"number",default:0},{name:"nice",type:"boolean",default:!0},{name:"name",type:"string"},{name:"as",type:"string",array:!0,length:2,default:["bin0","bin1"]}]};var ra=it(ea,Vr);function ia(t,n,e){var r=t,i=n||[],a=e||[],u={},o=0;return{add:function(t){a.push(t)},remove:function(t){u[r(t)]=++o},size:function(){return i.length},data:function(t,n){return o&&(i=i.filter((function(t){return!u[r(t)]})),u={},o=0),n&&t&&i.sort(t),a.length&&(i=t?ht(t,i,a.sort(t)):i.concat(a),a=[]),i}}}function aa(t){Vr.call(this,[],t)}function ua(t){jt.call(this,null,oa,t)}function oa(t){return this.value&&!t.modified()?this.value:G(t.fields,t.orders)}function sa(t){Vr.call(this,null,t)}ra.transform=function(t,n){var e,i=this._bins(t),a=i.start,u=i.step,o=t.as||["bin0","bin1"],s=o[0],l=o[1];return e=t.modified()?(n=n.reflow(!0)).SOURCE:n.modified(r(t.field))?n.ADD_MOD:n.ADD,n.visit(e,(function(t){var n=i(t);t[s]=n,t[l]=null==n?null:a+u*(1+(n-a)/u)})),n.modifies(o)},ra._bins=function(t){if(this.value&&!t.modified())return this.value;var i,a,u=t.field,o=oi(t),s=o.start,l=o.stop,c=o.step;null!=(i=t.anchor)&&(a=i-(s+c*Math.floor((i-s)/c)),s+=a,l+=a);var f=function(t){var n=u(t);return null==n?null:(n=Math.max(s,Math.min(+n,l-c)),s+c*Math.floor(1e-14+(n-s)/c))};return f.start=s,f.stop=l,f.step=c,this.value=n(f,r(u),t.name||"bin_"+e(u))},aa.Definition={type:"Collect",metadata:{source:!0},params:[{name:"sort",type:"compare"}]},it(aa,Vr).transform=function(t,n){var e=n.fork(n.ALL),r=ia(Ct,this.value,e.materialize(e.ADD).add),i=t.sort,a=n.changed()||i&&(t.modified("sort")||n.modified(i.fields));return e.visit(e.REM,r.remove),this.modified(a),this.value=e.source=r.data(Nt(i),a),n.source&&n.source.root&&(this.value.root=n.source.root),e},it(ua,jt),sa.Definition={type:"CountPattern",metadata:{generates:!0,changes:!0},params:[{name:"field",type:"field",required:!0},{name:"case",type:"enum",values:["upper","lower","mixed"],default:"mixed"},{name:"pattern",type:"string",default:'[\\w"]+'},{name:"stopwords",type:"string",default:""},{name:"as",type:"string",array:!0,length:2,default:["text","count"]}]};var la=it(sa,Vr);function ca(t){Vr.call(this,null,t)}la.transform=function(t,n){function e(n){return function(e){for(var r,i=function(t,n,e){switch(n){case"upper":t=t.toUpperCase();break;case"lower":t=t.toLowerCase()}return t.match(e)}(o(e),t.case,a)||[],s=0,l=i.length;s<l;++s)u.test(r=i[s])||n(r)}}var r=this._parameterCheck(t,n),i=this._counts,a=this._match,u=this._stop,o=t.field,s=t.as||["text","count"],l=e((function(t){i[t]=1+(i[t]||0)})),c=e((function(t){i[t]-=1}));return r?n.visit(n.SOURCE,l):(n.visit(n.ADD,l),n.visit(n.REM,c)),this._finish(n,s)},la._parameterCheck=function(t,n){var e=!1;return!t.modified("stopwords")&&this._stop||(this._stop=new RegExp("^"+(t.stopwords||"")+"$","i"),e=!0),!t.modified("pattern")&&this._match||(this._match=new RegExp(t.pattern||"[\\w']+","g"),e=!0),(t.modified("field")||n.modified(t.field.fields))&&(e=!0),e&&(this._counts={}),e},la._finish=function(t,n){var e,r,i,a=this._counts,u=this._tuples||(this._tuples={}),o=n[0],s=n[1],l=t.fork(t.NO_SOURCE|t.NO_FIELDS);for(e in a)r=u[e],i=a[e]||0,!r&&i?(u[e]=r=St({}),r[o]=e,r[s]=i,l.add.push(r)):0===i?(r&&l.rem.push(r),a[e]=null,u[e]=null):r[s]!==i&&(r[s]=i,l.mod.push(r));return l.modifies(n)},ca.Definition={type:"Cross",metadata:{generates:!0},params:[{name:"filter",type:"expr"},{name:"as",type:"string",array:!0,length:2,default:["a","b"]}]},it(ca,Vr).transform=function(t,n){var e=n.fork(n.NO_SOURCE),r=this.value,i=t.as||["a","b"],a=i[0],u=i[1];return!r||n.changed(n.ADD_REM)||t.modified("as")||t.modified("filter")?(r&&(e.rem=r),r=n.materialize(n.SOURCE).source,e.add=this.value=function(t,n,e,r){for(var i,a,u=[],o={},s=t.length,l=0;l<s;++l)for(o[n]=a=t[l],i=0;i<s;++i)o[e]=t[i],r(o)&&(u.push(St(o)),(o={})[n]=a);return u}(r,a,u,t.filter||m)):e.mod=r,e.source=this.value,e.modifies(i)};var fa={kde:Si,mixture:Ti,normal:Fi,uniform:zi},ha="distributions",da="function",pa="field";function ga(t){Vr.call(this,null,t)}var ma=[{key:{function:"normal"},params:[{name:"mean",type:"number",default:0},{name:"stdev",type:"number",default:1}]},{key:{function:"uniform"},params:[{name:"min",type:"number",default:0},{name:"max",type:"number",default:1}]},{key:{function:"kde"},params:[{name:"field",type:"field",required:!0},{name:"from",type:"data"},{name:"bandwidth",type:"number",default:0}]}],va={key:{function:"mixture"},params:[{name:"distributions",type:"param",array:!0,params:ma},{name:"weights",type:"number",array:!0}]};function ya(t){jt.call(this,null,_a,t),this.modified(!0)}function _a(t){var i=t.expr;return this.value&&!t.modified("expr")?this.value:n(n=>i(n,t),r(i),e(i))}function xa(t){Vr.call(this,[void 0,void 0],t)}function ba(t,n){jt.call(this,t),this.parent=n}ga.Definition={type:"Density",metadata:{generates:!0},params:[{name:"extent",type:"number",array:!0,length:2},{name:"steps",type:"number"},{name:"minsteps",type:"number",default:25},{name:"maxsteps",type:"number",default:200},{name:"method",type:"string",default:"pdf",values:["pdf","cdf"]},{name:"distribution",type:"param",params:ma.concat(va)},{name:"as",type:"string",array:!0,default:["value","density"]}]},it(ga,Vr).transform=function(t,n){var e=n.fork(n.NO_SOURCE|n.NO_FIELDS);if(!this.value||n.changed()||t.modified()){var r=function t(n,e){var r=n[da];tt(fa,r)||i("Unknown distribution function: "+r);var a=fa[r]();for(var u in n)u===pa?a.data((n.from||e()).map(n[u])):u===ha?a[u](n[u].map((function(n){return t(n,e)}))):typeof a[u]===da&&a[u](n[u]);return a}(t.distribution,function(t){return function(){return t.materialize(t.SOURCE).source}}(n)),a=t.steps||t.minsteps||25,u=t.steps||t.maxsteps||200,o=t.method||"pdf";"pdf"!==o&&"cdf"!==o&&i("Invalid density method: "+o),t.extent||r.data||i("Missing density extent parameter."),o=r[o];var s=t.as||["value","density"],l=Zi(o,t.extent||J(r.data()),a,u).map(t=>{var n={};return n[s[0]]=t[0],n[s[1]]=t[1],St(n)});this.value&&(e.rem=this.value),this.value=e.add=e.source=l}return e},it(ya,jt),xa.Definition={type:"Extent",metadata:{},params:[{name:"field",type:"field",required:!0}]},it(xa,Vr).transform=function(t,n){var r,i=this.value,a=t.field,u=i[0],o=i[1];if(((r=n.changed()||n.modified(a.fields)||t.modified("field"))||null==u)&&(u=1/0,o=-1/0),n.visit(r?n.SOURCE:n.ADD,(function(t){var n=a(t);null!=n&&((n=+n)<u&&(u=n),n>o&&(o=n))})),!Number.isFinite(u)||!Number.isFinite(o)){let t=e(a);t&&(t=` for field "${t}"`),n.dataflow.warn(`Infinite extent${t}: [${u}, ${o}]`),u=o=void 0}this.value=[u,o]};var wa=it(ba,jt);function Aa(t){Vr.call(this,{},t),this._keys=et();var n=this._targets=[];n.active=0,n.forEach=function(t){for(var e=0,r=n.active;e<r;++e)t(n[e],e,n)}}wa.connect=function(t){return this.targets().add(t),t.source=this},wa.add=function(t){this.value.add.push(t)},wa.rem=function(t){this.value.rem.push(t)},wa.mod=function(t){this.value.mod.push(t)},wa.init=function(t){this.value.init(t,t.NO_SOURCE)},wa.evaluate=function(){return this.value};var Ma=it(Aa,Vr);function ka(t){jt.call(this,null,Ea,t)}function Ea(t){return this.value&&!t.modified()?this.value:u(t.name)?W(t.name).map((function(t){return c(t)})):c(t.name,t.as)}function Da(t){Vr.call(this,et(),t)}function Ca(t,n){return t?t.map((function(t,r){return n[r]||e(t)})):null}function Fa(t){Vr.call(this,[],t)}function Sa(t){Vr.call(this,[],t)}function Ba(t){Vr.call(this,null,t)}function Ta(t){Vr.call(this,[],t)}Ma.activate=function(t){this._targets[this._targets.active++]=t},Ma.subflow=function(t,n,e,r){var i,a,u=this.value,o=tt(u,t)&&u[t];return o?o.value.stamp<e.stamp&&(o.init(e),this.activate(o)):(a=r||(a=this._group[t])&&a.tuple,o=(i=e.dataflow).add(new ba(e.fork(e.NO_SOURCE),this)).connect(n(i,t,a)),u[t]=o,this.activate(o)),o},Ma.transform=function(t,n){var e=n.dataflow,r=this,i=t.key,a=t.subflow,u=this._keys,o=t.modified("key");function s(t){return r.subflow(t,a,n)}return this._group=t.group||{},this._targets.active=0,n.visit(n.REM,(function(t){var n=Ct(t),e=u.get(n);void 0!==e&&(u.delete(n),s(e).rem(t))})),n.visit(n.ADD,(function(t){var n=i(t);u.set(Ct(t),n),s(n).add(t)})),o||n.modified(i.fields)?n.visit(n.MOD,(function(t){var n=Ct(t),e=u.get(n),r=i(t);e===r?s(r).mod(t):(u.set(n,r),s(e).rem(t),s(r).add(t))})):n.changed(n.MOD)&&n.visit(n.MOD,(function(t){s(u.get(Ct(t))).mod(t)})),o&&n.visit(n.REFLOW,(function(t){var n=Ct(t),e=u.get(n),r=i(t);e!==r&&(u.set(n,r),s(e).rem(t),s(r).add(t))})),u.empty>e.cleanThreshold&&e.runAfter(u.clean),n},it(ka,jt),Da.Definition={type:"Filter",metadata:{changes:!0},params:[{name:"expr",type:"expr",required:!0}]},it(Da,Vr).transform=function(t,n){var e=n.dataflow,r=this.value,i=n.fork(),a=i.add,u=i.rem,o=i.mod,s=t.expr,l=!0;function c(n){var e=Ct(n),i=s(n,t),c=r.get(e);i&&c?(r.delete(e),a.push(n)):i||c?l&&i&&!c&&o.push(n):(r.set(e,1),u.push(n))}return n.visit(n.REM,(function(t){var n=Ct(t);r.has(n)?r.delete(n):u.push(t)})),n.visit(n.ADD,(function(n){s(n,t)?a.push(n):r.set(Ct(n),1)})),n.visit(n.MOD,c),t.modified()&&(l=!1,n.visit(n.REFLOW,c)),r.empty>e.cleanThreshold&&e.runAfter(r.clean),i},Fa.Definition={type:"Flatten",metadata:{generates:!0},params:[{name:"fields",type:"field",array:!0,required:!0},{name:"as",type:"string",array:!0}]},it(Fa,Vr).transform=function(t,n){var e=n.fork(n.NO_SOURCE),r=t.fields,i=Ca(r,t.as||[]),a=i.length;return e.rem=this.value,n.visit(n.SOURCE,(function(t){for(var n,u,o,s=r.map((function(n){return n(t)})),l=s.reduce((function(t,n){return Math.max(t,n.length)}),0),c=0;c<l;++c){for(u=Bt(t),n=0;n<a;++n)u[i[n]]=null==(o=s[n][c])?null:o;e.add.push(u)}})),this.value=e.source=e.add,e.modifies(i)},Sa.Definition={type:"Fold",metadata:{generates:!0},params:[{name:"fields",type:"field",array:!0,required:!0},{name:"as",type:"string",array:!0,length:2,default:["key","value"]}]},it(Sa,Vr).transform=function(t,n){var r=n.fork(n.NO_SOURCE),i=t.fields,a=i.map(e),u=t.as||["key","value"],o=u[0],s=u[1],l=i.length;return r.rem=this.value,n.visit(n.SOURCE,(function(t){for(var n,e=0;e<l;++e)(n=Bt(t))[o]=a[e],n[s]=i[e](t),r.add.push(n)})),this.value=r.source=r.add,r.modifies(u)},Ba.Definition={type:"Formula",metadata:{modifies:!0},params:[{name:"expr",type:"expr",required:!0},{name:"as",type:"string",required:!0},{name:"initonly",type:"boolean"}]},it(Ba,Vr).transform=function(t,n){var e=t.expr,r=t.as,i=t.modified(),a=t.initonly?n.ADD:i?n.SOURCE:n.modified(e.fields)?n.ADD_MOD:n.ADD;return i&&(n=n.materialize().reflow(!0)),t.initonly||n.modifies(r),n.visit(a,(function(n){n[r]=e(n,t)}))},it(Ta,Vr).transform=function(t,n){var e,r,i,a=this.value,u=n.fork(n.ALL),o=t.size-a.length,s=t.generator;if(o>0){for(e=[];--o>=0;)e.push(i=St(s(t))),a.push(i);u.add=u.add.length?u.materialize(u.ADD).add.concat(e):e}else r=a.slice(0,-o),u.rem=u.rem.length?u.materialize(u.REM).rem.concat(r):r,a=a.slice(-o);return u.source=this.value=a,u};var za={value:"value",median:Ei,mean:function(t,n){let e=0,r=0;if(void 0===n)for(let n of t)null!=n&&(n=+n)>=n&&(++e,r+=n);else{let i=-1;for(let a of t)null!=(a=n(a,++i,t))&&(a=+a)>=a&&(++e,r+=a)}if(e)return r/e},min:function(t,n){let e;if(void 0===n)for(const n of t)null!=n&&(e>n||void 0===e&&n>=n)&&(e=n);else{let r=-1;for(let i of t)null!=(i=n(i,++r,t))&&(e>i||void 0===e&&i>=i)&&(e=i)}return e},max:function(t,n){let e;if(void 0===n)for(const n of t)null!=n&&(e<n||void 0===e&&n>=n)&&(e=n);else{let r=-1;for(let i of t)null!=(i=n(i,++r,t))&&(e<i||void 0===e&&i>=i)&&(e=i)}return e}},Na=[];function Oa(t){Vr.call(this,[],t)}function Ra(t){ta.call(this,t)}Oa.Definition={type:"Impute",metadata:{changes:!0},params:[{name:"field",type:"field",required:!0},{name:"key",type:"field",required:!0},{name:"keyvals",array:!0},{name:"groupby",type:"field",array:!0},{name:"method",type:"enum",default:"value",values:["value","mean","median","max","min"]},{name:"value",default:0}]},it(Oa,Vr).transform=function(t,n){var r,a,u,o,s,l,c,f,h,d,p=n.fork(n.ALL),g=function(t){var n,e=t.method||za.value;if(null!=za[e])return e===za.value?(n=void 0!==t.value?t.value:0,function(){return n}):za[e];i("Unrecognized imputation method: "+e)}(t),m=function(t){var n=t.field;return function(t){return t?n(t):NaN}}(t),v=e(t.field),y=e(t.key),_=(t.groupby||[]).map(e),x=function(t,n,e,r){var i,a,u,o,s,l,c,f,h=function(t){return t(f)},d=[],p=r?r.slice():[],g={},m={};for(p.forEach((function(t,n){g[t]=n+1})),o=0,c=t.length;o<c;++o)f=t[o],l=e(f),s=g[l]||(g[l]=p.push(l)),a=(i=n?n.map(h):Na)+"",(u=m[a])||(u=m[a]=[],d.push(u),u.values=i),u[s-1]=f;return d.domain=p,d}(n.source,t.groupby,t.key,t.keyvals),b=[],w=this.value,A=x.domain.length;for(s=0,f=x.length;s<f;++s)for(u=(r=x[s]).values,a=NaN,c=0;c<A;++c)if(null==r[c]){for(o=x.domain[c],d={_impute:!0},l=0,h=u.length;l<h;++l)d[_[l]]=u[l];d[y]=o,d[v]=isNaN(a)?a=g(r,m):a,b.push(St(d))}return b.length&&(p.add=p.materialize(p.ADD).add.concat(b)),w.length&&(p.rem=p.materialize(p.REM).rem.concat(w)),this.value=b,p},Ra.Definition={type:"JoinAggregate",metadata:{modifies:!0},params:[{name:"groupby",type:"field",array:!0},{name:"fields",type:"field",null:!0,array:!0},{name:"ops",type:"enum",array:!0,values:ei},{name:"as",type:"string",null:!0,array:!0},{name:"key",type:"field"}]};var qa=it(Ra,ta);function La(t){Vr.call(this,null,t)}function Pa(t){jt.call(this,null,Ua,t)}function Ua(t){return this.value&&!t.modified()?this.value:ct(t.fields,t.flat)}function $a(t){Vr.call(this,[],t)}function ja(t,n,e){e.forEach(St);const r=n.fork(n.NO_FIELDS&n.NO_SOURCE);return r.rem=t.value,t.value=r.add=r.source=e,r}function Ia(t){Vr.call(this,{},t)}function Wa(t){jt.call(this,null,Ha,t)}function Ha(t){if(this.value&&!t.modified())return this.value;var n,e,r,i=1/0,a=-1/0,u=t.extents;for(n=0,e=u.length;n<e;++n)(r=u[n])[0]<i&&(i=r[0]),r[1]>a&&(a=r[1]);return[i,a]}function Ya(t){jt.call(this,null,Ga,t)}function Ga(t){return this.value&&!t.modified()?this.value:t.values.reduce((function(t,n){return t.concat(n)}),[])}function Va(t){Vr.call(this,null,t)}function Xa(t){ta.call(this,t)}qa.transform=function(t,n){var e,r=this,i=t.modified();return r.value&&(i||n.modified(r._inputs,!0))?(e=r.value=i?r.init(t):{},n.visit(n.SOURCE,(function(t){r.add(t)}))):(e=r.value=r.value||this.init(t),n.visit(n.REM,(function(t){r.rem(t)})),n.visit(n.ADD,(function(t){r.add(t)}))),r.changes(),n.visit(n.SOURCE,(function(t){Z(t,e[r.cellkey(t)].tuple)})),n.reflow(i).modifies(this._outputs)},qa.changes=function(){var t,n,e=this._adds,r=this._mods;for(t=0,n=this._alen;t<n;++t)this.celltuple(e[t]),e[t]=null;for(t=0,n=this._mlen;t<n;++t)this.celltuple(r[t]),r[t]=null;this._alen=this._mlen=0},La.Definition={type:"KDE",metadata:{generates:!0},params:[{name:"groupby",type:"field",array:!0},{name:"field",type:"field",required:!0},{name:"cumulative",type:"boolean",default:!1},{name:"counts",type:"boolean",default:!1},{name:"bandwidth",type:"number",default:0},{name:"extent",type:"number",array:!0,length:2},{name:"resolve",type:"enum",values:["shared","independent"],default:"independent"},{name:"steps",type:"number"},{name:"minsteps",type:"number",default:25},{name:"maxsteps",type:"number",default:200},{name:"as",type:"string",array:!0,default:["value","density"]}]},it(La,Vr).transform=function(t,n){var r=n.fork(n.NO_SOURCE|n.NO_FIELDS);if(!this.value||n.changed()||t.modified()){const a=n.materialize(n.SOURCE).source,u=function(t,n,e){var r,i,a,u,o,s,l=[],c=function(t){return t(u)};if(null==n)l.push(t.map(e));else for(r={},i=0,a=t.length;i<a;++i)u=t[i],o=n.map(c),(s=r[o])||(r[o]=s=[],s.dims=o,l.push(s)),s.push(e(u));return l}(a,t.groupby,t.field),o=(t.groupby||[]).map(e),s=t.bandwidth,l=t.cumulative?"cdf":"pdf",c=t.as||["value","density"],f=[];let h=t.extent,d=t.steps||t.minsteps||25,p=t.steps||t.maxsteps||200;"pdf"!==l&&"cdf"!==l&&i("Invalid density method: "+l),"shared"===t.resolve&&(h||(h=J(a,t.field)),d=p=t.steps||p),u.forEach(n=>{const e=Si(n,s)[l],r=t.counts?n.length:1;Zi(e,h||J(n),d,p).forEach(t=>{const e={};for(let t=0;t<o.length;++t)e[o[t]]=n.dims[t];e[c[0]]=t[0],e[c[1]]=t[1]*r,f.push(St(e))})}),this.value&&(r.rem=this.value),this.value=r.add=r.source=f}return r},it(Pa,jt),it($a,Vr).transform=function(t,n){const e=n.dataflow;return t.values?ja(this,n,e.parse(t.values,t.format)):e.request(t.url,t.format).then(t=>ja(this,n,t.data||[]))},Ia.Definition={type:"Lookup",metadata:{modifies:!0},params:[{name:"index",type:"index",params:[{name:"from",type:"data",required:!0},{name:"key",type:"field",required:!0}]},{name:"values",type:"field",array:!0},{name:"fields",type:"field",array:!0,required:!0},{name:"as",type:"string",array:!0},{name:"default",default:null}]},it(Ia,Vr).transform=function(t,n){var r,a,u=n,o=t.as,s=t.fields,l=t.index,c=t.values,f=null==t.default?null:t.default,h=t.modified(),d=h?n.SOURCE:n.ADD,p=s.length;return c?(a=c.length,p>1&&!o&&i('Multi-field lookup requires explicit "as" parameter.'),o&&o.length!==p*a&&i('The "as" parameter has too few output field names.'),o=o||c.map(e),r=function(t){for(var n,e,r=0,i=0;r<p;++r)if(null==(e=l.get(s[r](t))))for(n=0;n<a;++n,++i)t[o[i]]=f;else for(n=0;n<a;++n,++i)t[o[i]]=c[n](e)}):(o||i("Missing output field names."),r=function(t){for(var n,e=0;e<p;++e)n=l.get(s[e](t)),t[o[e]]=null==n?f:n}),h?u=n.reflow(!0):d|=s.some((function(t){return n.modified(t.fields)}))?n.MOD:0,n.visit(d,r),u.modifies(o)},it(Wa,jt),it(Ya,jt),it(Va,Vr),Va.prototype.transform=function(t,n){return this.modified(t.modified()),this.value=t,n.fork(n.NO_SOURCE|n.NO_FIELDS)},Xa.Definition={type:"Pivot",metadata:{generates:!0,changes:!0},params:[{name:"groupby",type:"field",array:!0},{name:"field",type:"field",required:!0},{name:"value",type:"field",required:!0},{name:"op",type:"enum",values:ei,default:"sum"},{name:"limit",type:"number",default:0},{name:"key",type:"field"}]};var Za=it(Xa,ta);function Ja(t){Aa.call(this,t)}function Qa(t){Vr.call(this,null,t)}function Ka(t){Vr.call(this,null,t)}function tu(t){Vr.call(this,null,t)}function nu(t){Vr.call(this,[],t),this.count=0}function eu(t){Vr.call(this,null,t)}function ru(t){Vr.call(this,null,t),this.modified(!0)}function iu(t){Vr.call(this,et(),t)}function au(t){Vr.call(this,null,t)}Za._transform=Za.transform,Za.transform=function(t,e){return this._transform(function(t,e){var i=t.field,a=t.value,u=("count"===t.op?"__count__":t.op)||"sum",o=r(i).concat(r(a)),s=function(t,n,e){var r={},i=[];return e.visit(e.SOURCE,(function(n){var e=t(n);r[e]||(r[e]=1,i.push(e))})),i.sort((function(t,n){return(t<n||null==t)&&null!=n?-1:(t>n||null==n)&&null!=t?1:(n=n instanceof Date?+n:n,(t=t instanceof Date?+t:t)!==t&&n==n?-1:n!=n&&t==t?1:0)})),n?i.slice(0,n):i}(i,t.limit||0,e);e.changed()&&t.set("__pivot__",null,null,!0);return{key:t.key,groupby:t.groupby,ops:s.map((function(){return u})),fields:s.map((function(t){return function(t,e,r,i){return n((function(n){return e(n)===t?r(n):NaN}),i,t+"")}(t,i,a,o)})),as:s.map((function(t){return t+""})),modified:t.modified.bind(t)}}(t,e),e)},it(Ja,Aa).transform=function(t,n){var e=this,a=t.subflow,u=t.field;return(t.modified("field")||u&&n.modified(r(u)))&&i("PreFacet does not support field modification."),this._targets.active=0,n.visit(n.MOD,(function(t){var r=e.subflow(Ct(t),a,n,t);u?u(t).forEach((function(t){r.mod(t)})):r.mod(t)})),n.visit(n.ADD,(function(t){var r=e.subflow(Ct(t),a,n,t);u?u(t).forEach((function(t){r.add(St(t))})):r.add(t)})),n.visit(n.REM,(function(t){var r=e.subflow(Ct(t),a,n,t);u?u(t).forEach((function(t){r.rem(t)})):r.rem(t)})),n},Qa.Definition={type:"Project",metadata:{generates:!0,changes:!0},params:[{name:"fields",type:"field",array:!0},{name:"as",type:"string",null:!0,array:!0}]},it(Qa,Vr).transform=function(t,n){var e,r,i=t.fields,a=Ca(t.fields,t.as||[]),u=i?function(t,n){return function(t,n,e,r){for(var i=0,a=e.length;i<a;++i)n[r[i]]=e[i](t);return n}(t,n,i,a)}:Tt;return this.value?r=this.value:(n=n.addAll(),r=this.value={}),e=n.fork(n.NO_SOURCE),n.visit(n.REM,(function(t){var n=Ct(t);e.rem.push(r[n]),r[n]=null})),n.visit(n.ADD,(function(t){var n=u(t,St({}));r[Ct(t)]=n,e.add.push(n)})),n.visit(n.MOD,(function(t){e.mod.push(u(t,r[Ct(t)]))})),e},it(Ka,Vr).transform=function(t,n){return this.value=t.value,t.modified("value")?n.fork(n.NO_SOURCE|n.NO_FIELDS):n.StopPropagation},it(tu,Vr).transform=function(t,n){var e,r;return this.value?r=this.value:(e=n=n.addAll(),r=this.value={}),t.derive&&(e=n.fork(n.NO_SOURCE),n.visit(n.REM,(function(t){var n=Ct(t);e.rem.push(r[n]),r[n]=null})),n.visit(n.ADD,(function(t){var n=Bt(t);r[Ct(t)]=n,e.add.push(n)})),n.visit(n.MOD,(function(t){e.mod.push(Tt(t,r[Ct(t)]))}))),e},nu.Definition={type:"Sample",metadata:{},params:[{name:"size",type:"number",default:1e3}]},it(nu,Vr).transform=function(n,e){var r=e.fork(e.NO_SOURCE),i=n.modified("size"),a=n.size,u=this.value,o=this.count,s=0,l=u.reduce((function(t,n){return t[Ct(n)]=1,t}),{});function c(n){var e,i;u.length<a?u.push(n):(i=~~((o+1)*t.random()))<u.length&&i>=s&&(e=u[i],l[Ct(e)]&&r.rem.push(e),u[i]=n),++o}if(e.rem.length&&(e.visit(e.REM,(function(t){var n=Ct(t);l[n]&&(l[n]=-1,r.rem.push(t)),--o})),u=u.filter((function(t){return-1!==l[Ct(t)]}))),(e.rem.length||i)&&u.length<a&&e.source&&(s=o=u.length,e.visit(e.SOURCE,(function(t){l[Ct(t)]||c(t)})),s=-1),i&&u.length>a){for(var f=0,h=u.length-a;f<h;++f)l[Ct(u[f])]=-1,r.rem.push(u[f]);u=u.slice(h)}return e.mod.length&&e.visit(e.MOD,(function(t){l[Ct(t)]&&r.mod.push(t)})),e.add.length&&e.visit(e.ADD,c),(e.add.length||s<0)&&(r.add=u.filter((function(t){return!l[Ct(t)]}))),this.count=o,this.value=r.source=u,r},eu.Definition={type:"Sequence",metadata:{generates:!0,changes:!0},params:[{name:"start",type:"number",required:!0},{name:"stop",type:"number",required:!0},{name:"step",type:"number",default:1},{name:"as",type:"string",default:"data"}]},it(eu,Vr).transform=function(t,n){if(!this.value||t.modified()){var e=n.materialize().fork(n.MOD),r=t.as||"data";return e.rem=this.value?n.rem.concat(this.value):n.rem,this.value=pi(t.start,t.stop,t.step||1).map((function(t){var n={};return n[r]=t,St(n)})),e.add=n.add.concat(this.value),e}},it(ru,Vr).transform=function(t,n){return this.value=n.source,n.changed()?n.fork(n.NO_SOURCE|n.NO_FIELDS):n.StopPropagation},it(iu,Vr).transform=function(t,n){var e=n.dataflow,r=t.field,i=this.value,a=!0;function u(t){i.set(r(t),t)}return t.modified("field")||n.modified(r.fields)?(i.clear(),n.visit(n.SOURCE,u)):n.changed()?(n.visit(n.REM,(function(t){i.delete(r(t))})),n.visit(n.ADD,u)):a=!1,this.modified(a),i.empty>e.cleanThreshold&&e.runAfter(i.clean),n.fork()},it(au,Vr).transform=function(t,n){(!this.value||t.modified("field")||t.modified("sort")||n.changed()||t.sort&&n.modified(t.sort.fields))&&(this.value=(t.sort?n.source.slice().sort(Nt(t.sort)):n.source).map(t.field))};const uu={row_number:function(){return{next:t=>t.index+1}},rank:function(){let t;return{init:()=>t=1,next:n=>{let e=n.index,r=n.data;return e&&n.compare(r[e-1],r[e])?t=e+1:t}}},dense_rank:function(){let t;return{init:()=>t=1,next:n=>{let e=n.index,r=n.data;return e&&n.compare(r[e-1],r[e])?++t:t}}},percent_rank:function(){let t=uu.rank(),n=t.next;return{init:t.init,next:t=>(n(t)-1)/(t.data.length-1)}},cume_dist:function(){let t;return{init:()=>t=0,next:n=>{let e=n.index,r=n.data,i=n.compare;if(t<e){for(;e+1<r.length&&!i(r[e],r[e+1]);)++e;t=e}return(1+t)/r.length}}},ntile:function(t,n){(n=+n)>0||i("ntile num must be greater than zero.");let e=uu.cume_dist(),r=e.next;return{init:e.init,next:t=>Math.ceil(n*r(t))}},lag:function(t,n){return n=+n||1,{next:e=>{let r=e.index-n;return r>=0?t(e.data[r]):null}}},lead:function(t,n){return n=+n||1,{next:e=>{let r=e.index+n,i=e.data;return r<i.length?t(i[r]):null}}},first_value:function(t){return{next:n=>t(n.data[n.i0])}},last_value:function(t){return{next:n=>t(n.data[n.i1-1])}},nth_value:function(t,n){return(n=+n)>0||i("nth_value nth must be greater than zero."),{next:e=>{let r=e.i0+(n-1);return r<e.i1?t(e.data[r]):null}}},prev_value:function(t){let n=null;return{next:e=>{let r=t(e.data[e.index]);return null!=r?n=r:n}}},next_value:function(t){let n=null,e=-1;return{next:r=>{let i=r.data;return r.index<=e?n:(e=function(t,n,e){for(let r=n.length;e<r;++e){if(null!=t(n[e]))return e}return-1}(t,i,r.index))<0?(e=i.length,n=null):n=t(i[e])}}}};var ou=Object.keys(uu);function su(t){let n=this,a=W(t.ops),u=W(t.fields),o=W(t.params),s=W(t.as),l=n.outputs=[],c=n.windows=[],f={},h={},d=!0,g=[],m=[];function v(t){W(r(t)).forEach(t=>f[t]=1)}v(t.sort),a.forEach((function(t,n){let r=u[n],a=e(r),f=ti(t,a,s[n]);if(v(r),l.push(f),tt(uu,t))c.push(function(t,n,e,r){let i=uu[t](n,e);return{init:i.init||p,update:function(t,n){n[r]=i.next(t)}}}(t,u[n],o[n],f));else{if(null==r&&"count"!==t&&i("Null aggregate field specified."),"count"===t)return void g.push(f);d=!1;let n=h[a];n||((n=h[a]=[]).field=r,m.push(n)),n.push(ri(t,f))}})),(g.length||m.length)&&(n.cell=function(t,n,e){t=t.map(t=>ui(t,t.field));let r={num:0,agg:null,store:!1,count:n};if(!e)for(var i=t.length,a=r.agg=Array(i),u=0;u<i;++u)a[u]=new t[u](r);if(r.store)var o=r.data=new Qi;return r.add=function(t){if(r.num+=1,!e){o&&o.add(t);for(let n=0;n<i;++n)a[n].add(a[n].get(t),t)}},r.rem=function(t){if(r.num-=1,!e){o&&o.rem(t);for(let n=0;n<i;++n)a[n].rem(a[n].get(t),t)}},r.set=function(t){let i,u;for(o&&o.values(),i=0,u=n.length;i<u;++i)t[n[i]]=r.num;if(!e)for(i=0,u=a.length;i<u;++i)a[i].set(t)},r.init=function(){r.num=0,o&&o.reset();for(let t=0;t<i;++t)a[t].init()},r}(m,g,d)),n.inputs=Object.keys(f)}const lu=su.prototype;function cu(t){Vr.call(this,{},t),this._mlen=0,this._mods=[]}lu.init=function(){this.windows.forEach(t=>t.init()),this.cell&&this.cell.init()},lu.update=function(t,n){let e,r=this.cell,i=this.windows,a=t.data,u=i&&i.length;if(r){for(e=t.p0;e<t.i0;++e)r.rem(a[e]);for(e=t.p1;e<t.i1;++e)r.add(a[e]);r.set(n)}for(e=0;e<u;++e)i[e].update(t,n)},cu.Definition={type:"Window",metadata:{modifies:!0},params:[{name:"sort",type:"compare"},{name:"groupby",type:"field",array:!0},{name:"ops",type:"enum",array:!0,values:ou.concat(ei)},{name:"params",type:"number",null:!0,array:!0},{name:"fields",type:"field",null:!0,array:!0},{name:"as",type:"string",null:!0,array:!0},{name:"frame",type:"number",null:!0,array:!0,length:2,default:[null,0]},{name:"ignorePeers",type:"boolean",default:!1}]};var fu=it(cu,Vr);function hu(t,n,e,r){var i=r.sort,a=i&&!r.ignorePeers,u=r.frame||[null,0],o=t.data(e),s=o.length,l=0,c=a?ci(i):null,f={i0:0,i1:0,p0:0,p1:0,index:0,data:o,compare:i||V(-1)};for(n.init();l<s;++l)du(f,u,l,s),a&&pu(f,c),n.update(f,o[l])}function du(t,n,e,r){t.p0=t.i0,t.p1=t.i1,t.i0=null==n[0]?0:Math.max(0,e-Math.abs(n[0])),t.i1=null==n[1]?r:Math.min(r,e+Math.abs(n[1])+1),t.index=e}function pu(t,n){var e=t.i0,r=t.i1-1,i=t.compare,a=t.data,u=a.length-1;e>0&&!i(a[e],a[e-1])&&(t.i0=n.left(a,a[e])),r<u&&!i(a[r],a[r+1])&&(t.i1=n.right(a,a[r]))}fu.transform=function(t,n){var e,r,i=this,a=i.state,u=t.modified(),o=Nt(t.sort);this.stamp=n.stamp,a&&!u||(a=i.state=new su(t));var s=Kr(t.groupby);function l(t){return i.group(s(t))}for(u||n.modified(a.inputs)?(i.value={},n.visit(n.SOURCE,(function(t){l(t).add(t)}))):(n.visit(n.REM,(function(t){l(t).remove(t)})),n.visit(n.ADD,(function(t){l(t).add(t)}))),e=0,r=i._mlen;e<r;++e)hu(i._mods[e],a,o,t);return i._mlen=0,i._mods=[],n.reflow(u).modifies(a.outputs)},fu.group=function(t){var n=this.value[t];return n||((n=this.value[t]=ia(Ct)).stamp=-1),n.stamp<this.stamp&&(n.stamp=this.stamp,this._mods[this._mlen++]=n),n};var gu=Object.freeze({aggregate:ta,bin:ea,collect:aa,compare:ua,countpattern:sa,cross:ca,density:ga,expression:ya,extent:xa,facet:Aa,field:ka,filter:Da,flatten:Fa,fold:Sa,formula:Ba,generate:Ta,impute:Oa,joinaggregate:Ra,kde:La,key:Pa,load:$a,lookup:Ia,multiextent:Wa,multivalues:Ya,params:Va,pivot:Xa,prefacet:Ja,project:Qa,proxy:Ka,relay:tu,sample:nu,sequence:eu,sieve:ru,subflow:ba,tupleindex:iu,values:au,window:cu});const mu="top",vu="left",yu="right",_u="bottom",xu="top-left",bu="top-right",wu="bottom-left",Au="bottom-right",Mu="start",ku="middle",Eu="end",Du="x",Cu="y",Fu="group",Su="axis",Bu="title",Tu="frame",zu="scope",Nu="legend",Ou="row-header",Ru="row-footer",qu="row-title",Lu="column-header",Pu="column-footer",Uu="column-title",$u="padding",ju="symbol",Iu="fit",Wu="fit-x",Hu="fit-y",Yu="pad",Gu="none",Vu="all",Xu="each",Zu="flush",Ju="column",Qu="row";function Ku(t){this.clear(),t&&this.union(t)}var to=Ku.prototype;to.clone=function(){return new Ku(this)},to.clear=function(){return this.x1=+Number.MAX_VALUE,this.y1=+Number.MAX_VALUE,this.x2=-Number.MAX_VALUE,this.y2=-Number.MAX_VALUE,this},to.empty=function(){return this.x1===+Number.MAX_VALUE&&this.y1===+Number.MAX_VALUE&&this.x2===-Number.MAX_VALUE&&this.y2===-Number.MAX_VALUE},to.equals=function(t){return this.x1===t.x1&&this.y1===t.y1&&this.x2===t.x2&&this.y2===t.y2},to.set=function(t,n,e,r){return e<t?(this.x2=t,this.x1=e):(this.x1=t,this.x2=e),r<n?(this.y2=n,this.y1=r):(this.y1=n,this.y2=r),this},to.add=function(t,n){return t<this.x1&&(this.x1=t),n<this.y1&&(this.y1=n),t>this.x2&&(this.x2=t),n>this.y2&&(this.y2=n),this},to.expand=function(t){return this.x1-=t,this.y1-=t,this.x2+=t,this.y2+=t,this},to.round=function(){return this.x1=Math.floor(this.x1),this.y1=Math.floor(this.y1),this.x2=Math.ceil(this.x2),this.y2=Math.ceil(this.y2),this},to.translate=function(t,n){return this.x1+=t,this.x2+=t,this.y1+=n,this.y2+=n,this},to.rotate=function(t,n,e){const r=this.rotatedPoints(t,n,e);return this.clear().add(r[0],r[1]).add(r[2],r[3]).add(r[4],r[5]).add(r[6],r[7])},to.rotatedPoints=function(t,n,e){var{x1:r,y1:i,x2:a,y2:u}=this,o=Math.cos(t),s=Math.sin(t),l=n-n*o+e*s,c=e-n*s-e*o;return[o*r-s*i+l,s*r+o*i+c,o*r-s*u+l,s*r+o*u+c,o*a-s*i+l,s*a+o*i+c,o*a-s*u+l,s*a+o*u+c]},to.union=function(t){return t.x1<this.x1&&(this.x1=t.x1),t.y1<this.y1&&(this.y1=t.y1),t.x2>this.x2&&(this.x2=t.x2),t.y2>this.y2&&(this.y2=t.y2),this},to.intersect=function(t){return t.x1>this.x1&&(this.x1=t.x1),t.y1>this.y1&&(this.y1=t.y1),t.x2<this.x2&&(this.x2=t.x2),t.y2<this.y2&&(this.y2=t.y2),this},to.encloses=function(t){return t&&this.x1<=t.x1&&this.x2>=t.x2&&this.y1<=t.y1&&this.y2>=t.y2},to.alignsWith=function(t){return t&&(this.x1==t.x1||this.x2==t.x2||this.y1==t.y1||this.y2==t.y2)},to.intersects=function(t){return t&&!(this.x2<t.x1||this.x1>t.x2||this.y2<t.y1||this.y1>t.y2)},to.contains=function(t,n){return!(t<this.x1||t>this.x2||n<this.y1||n>this.y2)},to.width=function(){return this.x2-this.x1},to.height=function(){return this.y2-this.y1};var no=0;const eo="p_";function ro(t){return t&&t.gradient}function io(t,n,e){let r=t.id,i=t.gradient,a="radial"===i?eo:"";return r||(r=t.id="gradient_"+no++,"radial"===i?(t.x1=ao(t.x1,.5),t.y1=ao(t.y1,.5),t.r1=ao(t.r1,0),t.x2=ao(t.x2,.5),t.y2=ao(t.y2,.5),t.r2=ao(t.r2,.5),a=eo):(t.x1=ao(t.x1,0),t.y1=ao(t.y1,0),t.x2=ao(t.x2,1),t.y2=ao(t.y2,0))),n[r]=t,"url("+(e||"")+"#"+a+r+")"}function ao(t,n){return null!=t?t:n}function uo(t,n){var e,r=[];return e={gradient:"linear",x1:t?t[0]:0,y1:t?t[1]:0,x2:n?n[0]:1,y2:n?n[1]:0,stops:r,stop:function(t,n){return r.push({offset:t,color:n}),e}}}function oo(t){this.mark=t,this.bounds=this.bounds||new Ku}function so(t){oo.call(this,t),this.items=this.items||[]}function lo(t,n){if("undefined"!=typeof document&&document.createElement){var e=document.createElement("canvas");if(e&&e.getContext)return e.width=t,e.height=n,e}return null}function co(){return"undefined"!=typeof Image?Image:null}function fo(t){this._pending=0,this._loader=t||Cr()}it(so,oo);var ho=fo.prototype;function po(t){t._pending+=1}function go(t){t._pending-=1}ho.pending=function(){return this._pending},ho.sanitizeURL=function(t){var n=this;return po(n),n._loader.sanitize(t,{context:"href"}).then((function(t){return go(n),t})).catch((function(){return go(n),null}))},ho.loadImage=function(t){var n=this,e=co();return po(n),n._loader.sanitize(t,{context:"image"}).then((function(t){var r=t.href;if(!r||!e)throw{url:r};var i=new e;return i.onload=function(){go(n),i.loaded=!0},i.onerror=function(){go(n),i.loaded=!1},i.src=r,i})).catch((function(t){return go(n),{loaded:!1,width:0,height:0,src:t&&t.url||""}}))},ho.ready=function(){var t=this;return new Promise((function(n){!function e(r){t.pending()?setTimeout((function(){e(!0)}),10):n(r)}(!1)}))};var mo=Math.PI,vo=2*mo,yo=vo-1e-6;function _o(){this._x0=this._y0=this._x1=this._y1=null,this._=""}function xo(){return new _o}function bo(t){return function(){return t}}_o.prototype=xo.prototype={constructor:_o,moveTo:function(t,n){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+n)},closePath:function(){null!==this._x1&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")},lineTo:function(t,n){this._+="L"+(this._x1=+t)+","+(this._y1=+n)},quadraticCurveTo:function(t,n,e,r){this._+="Q"+ +t+","+ +n+","+(this._x1=+e)+","+(this._y1=+r)},bezierCurveTo:function(t,n,e,r,i,a){this._+="C"+ +t+","+ +n+","+ +e+","+ +r+","+(this._x1=+i)+","+(this._y1=+a)},arcTo:function(t,n,e,r,i){t=+t,n=+n,e=+e,r=+r,i=+i;var a=this._x1,u=this._y1,o=e-t,s=r-n,l=a-t,c=u-n,f=l*l+c*c;if(i<0)throw new Error("negative radius: "+i);if(null===this._x1)this._+="M"+(this._x1=t)+","+(this._y1=n);else if(f>1e-6)if(Math.abs(c*o-s*l)>1e-6&&i){var h=e-a,d=r-u,p=o*o+s*s,g=h*h+d*d,m=Math.sqrt(p),v=Math.sqrt(f),y=i*Math.tan((mo-Math.acos((p+f-g)/(2*m*v)))/2),_=y/v,x=y/m;Math.abs(_-1)>1e-6&&(this._+="L"+(t+_*l)+","+(n+_*c)),this._+="A"+i+","+i+",0,0,"+ +(c*h>l*d)+","+(this._x1=t+x*o)+","+(this._y1=n+x*s)}else this._+="L"+(this._x1=t)+","+(this._y1=n);else;},arc:function(t,n,e,r,i,a){t=+t,n=+n,a=!!a;var u=(e=+e)*Math.cos(r),o=e*Math.sin(r),s=t+u,l=n+o,c=1^a,f=a?r-i:i-r;if(e<0)throw new Error("negative radius: "+e);null===this._x1?this._+="M"+s+","+l:(Math.abs(this._x1-s)>1e-6||Math.abs(this._y1-l)>1e-6)&&(this._+="L"+s+","+l),e&&(f<0&&(f=f%vo+vo),f>yo?this._+="A"+e+","+e+",0,1,"+c+","+(t-u)+","+(n-o)+"A"+e+","+e+",0,1,"+c+","+(this._x1=s)+","+(this._y1=l):f>1e-6&&(this._+="A"+e+","+e+",0,"+ +(f>=mo)+","+c+","+(this._x1=t+e*Math.cos(i))+","+(this._y1=n+e*Math.sin(i))))},rect:function(t,n,e,r){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+n)+"h"+ +e+"v"+ +r+"h"+-e+"Z"},toString:function(){return this._}};var wo=Math.abs,Ao=Math.atan2,Mo=Math.cos,ko=Math.max,Eo=Math.min,Do=Math.sin,Co=Math.sqrt,Fo=1e-12,So=Math.PI,Bo=So/2,To=2*So;function zo(t){return t>=1?Bo:t<=-1?-Bo:Math.asin(t)}function No(t){return t.innerRadius}function Oo(t){return t.outerRadius}function Ro(t){return t.startAngle}function qo(t){return t.endAngle}function Lo(t){return t&&t.padAngle}function Po(t,n,e,r,i,a,u){var o=t-e,s=n-r,l=(u?a:-a)/Co(o*o+s*s),c=l*s,f=-l*o,h=t+c,d=n+f,p=e+c,g=r+f,m=(h+p)/2,v=(d+g)/2,y=p-h,_=g-d,x=y*y+_*_,b=i-a,w=h*g-p*d,A=(_<0?-1:1)*Co(ko(0,b*b*x-w*w)),M=(w*_-y*A)/x,k=(-w*y-_*A)/x,E=(w*_+y*A)/x,D=(-w*y+_*A)/x,C=M-m,F=k-v,S=E-m,B=D-v;return C*C+F*F>S*S+B*B&&(M=E,k=D),{cx:M,cy:k,x01:-c,y01:-f,x11:M*(i/b-1),y11:k*(i/b-1)}}function Uo(t){this._context=t}function $o(t){return new Uo(t)}function jo(t){return t[0]}function Io(t){return t[1]}function Wo(){var t=jo,n=Io,e=bo(!0),r=null,i=$o,a=null;function u(u){var o,s,l,c=u.length,f=!1;for(null==r&&(a=i(l=xo())),o=0;o<=c;++o)!(o<c&&e(s=u[o],o,u))===f&&((f=!f)?a.lineStart():a.lineEnd()),f&&a.point(+t(s,o,u),+n(s,o,u));if(l)return a=null,l+""||null}return u.x=function(n){return arguments.length?(t="function"==typeof n?n:bo(+n),u):t},u.y=function(t){return arguments.length?(n="function"==typeof t?t:bo(+t),u):n},u.defined=function(t){return arguments.length?(e="function"==typeof t?t:bo(!!t),u):e},u.curve=function(t){return arguments.length?(i=t,null!=r&&(a=i(r)),u):i},u.context=function(t){return arguments.length?(null==t?r=a=null:a=i(r=t),u):r},u}function Ho(){var t=jo,n=null,e=bo(0),r=Io,i=bo(!0),a=null,u=$o,o=null;function s(s){var l,c,f,h,d,p=s.length,g=!1,m=new Array(p),v=new Array(p);for(null==a&&(o=u(d=xo())),l=0;l<=p;++l){if(!(l<p&&i(h=s[l],l,s))===g)if(g=!g)c=l,o.areaStart(),o.lineStart();else{for(o.lineEnd(),o.lineStart(),f=l-1;f>=c;--f)o.point(m[f],v[f]);o.lineEnd(),o.areaEnd()}g&&(m[l]=+t(h,l,s),v[l]=+e(h,l,s),o.point(n?+n(h,l,s):m[l],r?+r(h,l,s):v[l]))}if(d)return o=null,d+""||null}function l(){return Wo().defined(i).curve(u).context(a)}return s.x=function(e){return arguments.length?(t="function"==typeof e?e:bo(+e),n=null,s):t},s.x0=function(n){return arguments.length?(t="function"==typeof n?n:bo(+n),s):t},s.x1=function(t){return arguments.length?(n=null==t?null:"function"==typeof t?t:bo(+t),s):n},s.y=function(t){return arguments.length?(e="function"==typeof t?t:bo(+t),r=null,s):e},s.y0=function(t){return arguments.length?(e="function"==typeof t?t:bo(+t),s):e},s.y1=function(t){return arguments.length?(r=null==t?null:"function"==typeof t?t:bo(+t),s):r},s.lineX0=s.lineY0=function(){return l().x(t).y(e)},s.lineY1=function(){return l().x(t).y(r)},s.lineX1=function(){return l().x(n).y(e)},s.defined=function(t){return arguments.length?(i="function"==typeof t?t:bo(!!t),s):i},s.curve=function(t){return arguments.length?(u=t,null!=a&&(o=u(a)),s):u},s.context=function(t){return arguments.length?(null==t?a=o=null:o=u(a=t),s):a},s}Uo.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break;case 1:this._point=2;default:this._context.lineTo(t,n)}}};var Yo={draw:function(t,n){var e=Math.sqrt(n/So);t.moveTo(e,0),t.arc(0,0,e,0,To)}};function Go(){}function Vo(t,n,e){t._context.bezierCurveTo((2*t._x0+t._x1)/3,(2*t._y0+t._y1)/3,(t._x0+2*t._x1)/3,(t._y0+2*t._y1)/3,(t._x0+4*t._x1+n)/6,(t._y0+4*t._y1+e)/6)}function Xo(t){this._context=t}function Zo(t){this._context=t}function Jo(t){this._context=t}function Qo(t,n){this._basis=new Xo(t),this._beta=n}Xo.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:Vo(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:Vo(this,t,n)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=n}},Zo.prototype={areaStart:Go,areaEnd:Go,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x2,this._y2),this._context.closePath();break;case 2:this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break;case 3:this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4)}},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1,this._x2=t,this._y2=n;break;case 1:this._point=2,this._x3=t,this._y3=n;break;case 2:this._point=3,this._x4=t,this._y4=n,this._context.moveTo((this._x0+4*this._x1+t)/6,(this._y0+4*this._y1+n)/6);break;default:Vo(this,t,n)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=n}},Jo.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var e=(this._x0+4*this._x1+t)/6,r=(this._y0+4*this._y1+n)/6;this._line?this._context.lineTo(e,r):this._context.moveTo(e,r);break;case 3:this._point=4;default:Vo(this,t,n)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=n}},Qo.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var t=this._x,n=this._y,e=t.length-1;if(e>0)for(var r,i=t[0],a=n[0],u=t[e]-i,o=n[e]-a,s=-1;++s<=e;)r=s/e,this._basis.point(this._beta*t[s]+(1-this._beta)*(i+r*u),this._beta*n[s]+(1-this._beta)*(a+r*o));this._x=this._y=null,this._basis.lineEnd()},point:function(t,n){this._x.push(+t),this._y.push(+n)}};var Ko=function t(n){function e(t){return 1===n?new Xo(t):new Qo(t,n)}return e.beta=function(n){return t(+n)},e}(.85);function ts(t,n,e){t._context.bezierCurveTo(t._x1+t._k*(t._x2-t._x0),t._y1+t._k*(t._y2-t._y0),t._x2+t._k*(t._x1-n),t._y2+t._k*(t._y1-e),t._x2,t._y2)}function ns(t,n){this._context=t,this._k=(1-n)/6}ns.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:ts(this,this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break;case 1:this._point=2,this._x1=t,this._y1=n;break;case 2:this._point=3;default:ts(this,t,n)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=n}};var es=function t(n){function e(t){return new ns(t,n)}return e.tension=function(n){return t(+n)},e}(0);function rs(t,n){this._context=t,this._k=(1-n)/6}rs.prototype={areaStart:Go,areaEnd:Go,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1,this._x3=t,this._y3=n;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=n);break;case 2:this._point=3,this._x5=t,this._y5=n;break;default:ts(this,t,n)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=n}};var is=function t(n){function e(t){return new rs(t,n)}return e.tension=function(n){return t(+n)},e}(0);function as(t,n){this._context=t,this._k=(1-n)/6}as.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:ts(this,t,n)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=n}};var us=function t(n){function e(t){return new as(t,n)}return e.tension=function(n){return t(+n)},e}(0);function os(t,n,e){var r=t._x1,i=t._y1,a=t._x2,u=t._y2;if(t._l01_a>Fo){var o=2*t._l01_2a+3*t._l01_a*t._l12_a+t._l12_2a,s=3*t._l01_a*(t._l01_a+t._l12_a);r=(r*o-t._x0*t._l12_2a+t._x2*t._l01_2a)/s,i=(i*o-t._y0*t._l12_2a+t._y2*t._l01_2a)/s}if(t._l23_a>Fo){var l=2*t._l23_2a+3*t._l23_a*t._l12_a+t._l12_2a,c=3*t._l23_a*(t._l23_a+t._l12_a);a=(a*l+t._x1*t._l23_2a-n*t._l12_2a)/c,u=(u*l+t._y1*t._l23_2a-e*t._l12_2a)/c}t._context.bezierCurveTo(r,i,a,u,t._x2,t._y2)}function ss(t,n){this._context=t,this._alpha=n}ss.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){if(t=+t,n=+n,this._point){var e=this._x2-t,r=this._y2-n;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(e*e+r*r,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break;case 1:this._point=2;break;case 2:this._point=3;default:os(this,t,n)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=n}};var ls=function t(n){function e(t){return n?new ss(t,n):new ns(t,0)}return e.alpha=function(n){return t(+n)},e}(.5);function cs(t,n){this._context=t,this._alpha=n}cs.prototype={areaStart:Go,areaEnd:Go,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(t,n){if(t=+t,n=+n,this._point){var e=this._x2-t,r=this._y2-n;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(e*e+r*r,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=t,this._y3=n;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=n);break;case 2:this._point=3,this._x5=t,this._y5=n;break;default:os(this,t,n)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=n}};var fs=function t(n){function e(t){return n?new cs(t,n):new rs(t,0)}return e.alpha=function(n){return t(+n)},e}(.5);function hs(t,n){this._context=t,this._alpha=n}hs.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){if(t=+t,n=+n,this._point){var e=this._x2-t,r=this._y2-n;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(e*e+r*r,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:os(this,t,n)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=n}};var ds=function t(n){function e(t){return n?new hs(t,n):new as(t,0)}return e.alpha=function(n){return t(+n)},e}(.5);function ps(t){this._context=t}function gs(t){return t<0?-1:1}function ms(t,n,e){var r=t._x1-t._x0,i=n-t._x1,a=(t._y1-t._y0)/(r||i<0&&-0),u=(e-t._y1)/(i||r<0&&-0),o=(a*i+u*r)/(r+i);return(gs(a)+gs(u))*Math.min(Math.abs(a),Math.abs(u),.5*Math.abs(o))||0}function vs(t,n){var e=t._x1-t._x0;return e?(3*(t._y1-t._y0)/e-n)/2:n}function ys(t,n,e){var r=t._x0,i=t._y0,a=t._x1,u=t._y1,o=(a-r)/3;t._context.bezierCurveTo(r+o,i+o*n,a-o,u-o*e,a,u)}function _s(t){this._context=t}function xs(t){this._context=new bs(t)}function bs(t){this._context=t}function ws(t){this._context=t}function As(t){var n,e,r=t.length-1,i=new Array(r),a=new Array(r),u=new Array(r);for(i[0]=0,a[0]=2,u[0]=t[0]+2*t[1],n=1;n<r-1;++n)i[n]=1,a[n]=4,u[n]=4*t[n]+2*t[n+1];for(i[r-1]=2,a[r-1]=7,u[r-1]=8*t[r-1]+t[r],n=1;n<r;++n)e=i[n]/a[n-1],a[n]-=e,u[n]-=e*u[n-1];for(i[r-1]=u[r-1]/a[r-1],n=r-2;n>=0;--n)i[n]=(u[n]-i[n+1])/a[n];for(a[r-1]=(t[r]+i[r-1])/2,n=0;n<r-1;++n)a[n]=2*t[n+1]-i[n+1];return[i,a]}function Ms(t,n){this._context=t,this._t=n}ps.prototype={areaStart:Go,areaEnd:Go,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(t,n){t=+t,n=+n,this._point?this._context.lineTo(t,n):(this._point=1,this._context.moveTo(t,n))}},_s.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:ys(this,this._t0,vs(this,this._t0))}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){var e=NaN;if(n=+n,(t=+t)!==this._x1||n!==this._y1){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break;case 1:this._point=2;break;case 2:this._point=3,ys(this,vs(this,e=ms(this,t,n)),e);break;default:ys(this,this._t0,e=ms(this,t,n))}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=n,this._t0=e}}},(xs.prototype=Object.create(_s.prototype)).point=function(t,n){_s.prototype.point.call(this,n,t)},bs.prototype={moveTo:function(t,n){this._context.moveTo(n,t)},closePath:function(){this._context.closePath()},lineTo:function(t,n){this._context.lineTo(n,t)},bezierCurveTo:function(t,n,e,r,i,a){this._context.bezierCurveTo(n,t,r,e,a,i)}},ws.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var t=this._x,n=this._y,e=t.length;if(e)if(this._line?this._context.lineTo(t[0],n[0]):this._context.moveTo(t[0],n[0]),2===e)this._context.lineTo(t[1],n[1]);else for(var r=As(t),i=As(n),a=0,u=1;u<e;++a,++u)this._context.bezierCurveTo(r[0][a],i[0][a],r[1][a],i[1][a],t[u],n[u]);(this._line||0!==this._line&&1===e)&&this._context.closePath(),this._line=1-this._line,this._x=this._y=null},point:function(t,n){this._x.push(+t),this._y.push(+n)}},Ms.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=this._y=NaN,this._point=0},lineEnd:function(){0<this._t&&this._t<1&&2===this._point&&this._context.lineTo(this._x,this._y),(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line>=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break;case 1:this._point=2;default:if(this._t<=0)this._context.lineTo(this._x,n),this._context.lineTo(t,n);else{var e=this._x*(1-this._t)+t*this._t;this._context.lineTo(e,this._y),this._context.lineTo(e,n)}}this._x=t,this._y=n}};var ks={basis:{curve:function(t){return new Xo(t)}},"basis-closed":{curve:function(t){return new Zo(t)}},"basis-open":{curve:function(t){return new Jo(t)}},bundle:{curve:Ko,tension:"beta",value:.85},cardinal:{curve:es,tension:"tension",value:0},"cardinal-open":{curve:us,tension:"tension",value:0},"cardinal-closed":{curve:is,tension:"tension",value:0},"catmull-rom":{curve:ls,tension:"alpha",value:.5},"catmull-rom-closed":{curve:fs,tension:"alpha",value:.5},"catmull-rom-open":{curve:ds,tension:"alpha",value:.5},linear:{curve:$o},"linear-closed":{curve:function(t){return new ps(t)}},monotone:{horizontal:function(t){return new xs(t)},vertical:function(t){return new _s(t)}},natural:{curve:function(t){return new ws(t)}},step:{curve:function(t){return new Ms(t,.5)}},"step-after":{curve:function(t){return new Ms(t,1)}},"step-before":{curve:function(t){return new Ms(t,0)}}};function Es(t,n,e){var r=tt(ks,t)&&ks[t],i=null;return r&&(i=r.curve||r[n||"vertical"],r.tension&&null!=e&&(i=i[r.tension](e))),i}var Ds={m:2,l:2,h:1,v:1,c:6,s:4,q:4,t:2,a:7},Cs=[/([MLHVCSQTAZmlhvcsqtaz])/g,/###/,/(\d)([-+])/g,/\s|,|###/];function Fs(t){var n,e,r,i,a,u,o,s,l,c,f,h=[];for(s=0,c=(n=t.slice().replace(Cs[0],"###$1").split(Cs[1]).slice(1)).length;s<c;++s){for(r=(e=n[s]).slice(1).trim().replace(Cs[2],"$1###$2").split(Cs[3]),i=[u=e.charAt(0)],l=0,f=r.length;l<f;++l)(a=+r[l])===a&&i.push(a);if(o=Ds[u.toLowerCase()],i.length-1>o)for(l=1,f=i.length;l<f;l+=o)h.push([u].concat(i.slice(l,l+o)));else h.push(i)}return h}var Ss=Math.PI/180,Bs=Math.PI/2,Ts=2*Math.PI,zs=Math.sqrt(3)/2,Ns={},Os={},Rs=[].join;function qs(t){var n=Rs.call(t);if(Os[n])return Os[n];var e=t[0],r=t[1],i=t[2],a=t[3],u=t[4],o=t[5],s=t[6],l=t[7],c=l*u,f=-s*o,h=s*u,d=l*o,p=Math.cos(i),g=Math.sin(i),m=Math.cos(a),v=Math.sin(a),y=.5*(a-i),_=Math.sin(.5*y),x=8/3*_*_/Math.sin(y),b=e+p-x*g,w=r+g+x*p,A=e+m,M=r+v,k=A+x*v,E=M-x*m;return Os[n]=[c*b+f*w,h*b+d*w,c*k+f*E,h*k+d*E,c*A+f*M,h*A+d*M]}var Ls=["l",0,0,0,0,0,0,0];function Ps(t,n){var e=Ls[0]=t[0];if("a"===e||"A"===e)Ls[1]=n*t[1],Ls[2]=n*t[2],Ls[3]=t[3],Ls[4]=t[4],Ls[5]=t[5],Ls[6]=n*t[6],Ls[7]=n*t[7];else for(var r=1,i=t.length;r<i;++r)Ls[r]=n*t[r];return Ls}function Us(t,n,e,r,i){var a,u,o,s,l,c=null,f=0,h=0,d=0,p=0;null==e&&(e=0),null==r&&(r=0),null==i&&(i=1),t.beginPath&&t.beginPath();for(var g=0,m=n.length;g<m;++g){switch(a=n[g],1!==i&&(a=Ps(a,i)),a[0]){case"l":f+=a[1],h+=a[2],t.lineTo(f+e,h+r);break;case"L":f=a[1],h=a[2],t.lineTo(f+e,h+r);break;case"h":f+=a[1],t.lineTo(f+e,h+r);break;case"H":f=a[1],t.lineTo(f+e,h+r);break;case"v":h+=a[1],t.lineTo(f+e,h+r);break;case"V":h=a[1],t.lineTo(f+e,h+r);break;case"m":f+=a[1],h+=a[2],t.moveTo(f+e,h+r);break;case"M":f=a[1],h=a[2],t.moveTo(f+e,h+r);break;case"c":u=f+a[5],o=h+a[6],d=f+a[3],p=h+a[4],t.bezierCurveTo(f+a[1]+e,h+a[2]+r,d+e,p+r,u+e,o+r),f=u,h=o;break;case"C":f=a[5],h=a[6],d=a[3],p=a[4],t.bezierCurveTo(a[1]+e,a[2]+r,d+e,p+r,f+e,h+r);break;case"s":u=f+a[3],o=h+a[4],d=2*f-d,p=2*h-p,t.bezierCurveTo(d+e,p+r,f+a[1]+e,h+a[2]+r,u+e,o+r),d=f+a[1],p=h+a[2],f=u,h=o;break;case"S":u=a[3],o=a[4],d=2*f-d,p=2*h-p,t.bezierCurveTo(d+e,p+r,a[1]+e,a[2]+r,u+e,o+r),f=u,h=o,d=a[1],p=a[2];break;case"q":u=f+a[3],o=h+a[4],d=f+a[1],p=h+a[2],t.quadraticCurveTo(d+e,p+r,u+e,o+r),f=u,h=o;break;case"Q":u=a[3],o=a[4],t.quadraticCurveTo(a[1]+e,a[2]+r,u+e,o+r),f=u,h=o,d=a[1],p=a[2];break;case"t":u=f+a[1],o=h+a[2],null===c[0].match(/[QqTt]/)?(d=f,p=h):"t"===c[0]?(d=2*f-s,p=2*h-l):"q"===c[0]&&(d=2*f-d,p=2*h-p),s=d,l=p,t.quadraticCurveTo(d+e,p+r,u+e,o+r),h=o,d=(f=u)+a[1],p=h+a[2];break;case"T":u=a[1],o=a[2],d=2*f-d,p=2*h-p,t.quadraticCurveTo(d+e,p+r,u+e,o+r),f=u,h=o;break;case"a":$s(t,f+e,h+r,[a[1],a[2],a[3],a[4],a[5],a[6]+f+e,a[7]+h+r]),f+=a[6],h+=a[7];break;case"A":$s(t,f+e,h+r,[a[1],a[2],a[3],a[4],a[5],a[6]+e,a[7]+r]),f=a[6],h=a[7];break;case"z":case"Z":t.closePath()}c=a}}function $s(t,n,e,r){for(var i=function(t,n,e,r,i,a,u,o,s){var l=Rs.call(arguments);if(Ns[l])return Ns[l];var c=u*Ss,f=Math.sin(c),h=Math.cos(c),d=h*(o-t)*.5+f*(s-n)*.5,p=h*(s-n)*.5-f*(o-t)*.5,g=d*d/((e=Math.abs(e))*e)+p*p/((r=Math.abs(r))*r);g>1&&(e*=g=Math.sqrt(g),r*=g);var m=h/e,v=f/e,y=-f/r,_=h/r,x=m*o+v*s,b=y*o+_*s,w=m*t+v*n,A=y*t+_*n,M=1/((w-x)*(w-x)+(A-b)*(A-b))-.25;M<0&&(M=0);var k=Math.sqrt(M);a==i&&(k=-k);var E=.5*(x+w)-k*(A-b),D=.5*(b+A)+k*(w-x),C=Math.atan2(b-D,x-E),F=Math.atan2(A-D,w-E)-C;F<0&&1===a?F+=Ts:F>0&&0===a&&(F-=Ts);for(var S=Math.ceil(Math.abs(F/(Bs+.001))),B=[],T=0;T<S;++T){var z=C+T*F/S,N=C+(T+1)*F/S;B[T]=[E,D,z,N,e,r,f,h]}return Ns[l]=B}(r[5],r[6],r[0],r[1],r[3],r[4],r[2],n,e),a=0;a<i.length;++a){var u=qs(i[a]);t.bezierCurveTo(u[0],u[1],u[2],u[3],u[4],u[5])}}var js={circle:{draw:function(t,n){var e=Math.sqrt(n)/2;t.moveTo(e,0),t.arc(0,0,e,0,Ts)}},cross:{draw:function(t,n){var e=Math.sqrt(n)/2,r=e/2.5;t.moveTo(-e,-r),t.lineTo(-e,r),t.lineTo(-r,r),t.lineTo(-r,e),t.lineTo(r,e),t.lineTo(r,r),t.lineTo(e,r),t.lineTo(e,-r),t.lineTo(r,-r),t.lineTo(r,-e),t.lineTo(-r,-e),t.lineTo(-r,-r),t.closePath()}},diamond:{draw:function(t,n){var e=Math.sqrt(n)/2;t.moveTo(-e,0),t.lineTo(0,-e),t.lineTo(e,0),t.lineTo(0,e),t.closePath()}},square:{draw:function(t,n){var e=Math.sqrt(n),r=-e/2;t.rect(r,r,e,e)}},arrow:{draw:function(t,n){var e=Math.sqrt(n)/2,r=e/7,i=e/2.5,a=e/8;t.moveTo(-r,e),t.lineTo(r,e),t.lineTo(r,-a),t.lineTo(i,-a),t.lineTo(0,-e),t.lineTo(-i,-a),t.lineTo(-r,-a),t.closePath()}},wedge:{draw:function(t,n){var e=Math.sqrt(n)/2,r=zs*e,i=r-.5773502691896257*e,a=e/4;t.moveTo(0,-r-i),t.lineTo(-a,r-i),t.lineTo(a,r-i),t.closePath()}},triangle:{draw:function(t,n){var e=Math.sqrt(n)/2,r=zs*e,i=r-.5773502691896257*e;t.moveTo(0,-r-i),t.lineTo(-e,r-i),t.lineTo(e,r-i),t.closePath()}},"triangle-up":{draw:function(t,n){var e=Math.sqrt(n)/2,r=zs*e;t.moveTo(0,-r),t.lineTo(-e,r),t.lineTo(e,r),t.closePath()}},"triangle-down":{draw:function(t,n){var e=Math.sqrt(n)/2,r=zs*e;t.moveTo(0,r),t.lineTo(-e,-r),t.lineTo(e,-r),t.closePath()}},"triangle-right":{draw:function(t,n){var e=Math.sqrt(n)/2,r=zs*e;t.moveTo(r,0),t.lineTo(-r,-e),t.lineTo(-r,e),t.closePath()}},"triangle-left":{draw:function(t,n){var e=Math.sqrt(n)/2,r=zs*e;t.moveTo(-r,0),t.lineTo(r,-e),t.lineTo(r,e),t.closePath()}},stroke:{draw:function(t,n){var e=Math.sqrt(n)/2;t.moveTo(-e,0),t.lineTo(e,0)}}};function Is(t){return tt(js,t)?js[t]:function(t){if(!tt(Ws,t)){var n=Fs(t);Ws[t]={draw:function(t,e){Us(t,n,0,0,Math.sqrt(e)/2)}}}return Ws[t]}(t)}var Ws={};function Hs(t){return t.x}function Ys(t){return t.y}function Gs(t){return t.width}function Vs(t){return t.height}function Xs(t){return function(){return t}}function Zs(){var t=Hs,n=Ys,e=Gs,r=Vs,i=Xs(0),a=null;function u(u,o,s){var l,c=null!=o?o:+t.call(this,u),f=null!=s?s:+n.call(this,u),h=+e.call(this,u),d=+r.call(this,u),p=+i.call(this,u);if(a||(a=l=xo()),p<=0)a.rect(c,f,h,d);else{var g=c+h,m=f+d;a.moveTo(c+p,f),a.lineTo(g-p,f),a.quadraticCurveTo(g,f,g,f+p),a.lineTo(g,m-p),a.quadraticCurveTo(g,m,g-p,m),a.lineTo(c+p,m),a.quadraticCurveTo(c,m,c,m-p),a.lineTo(c,f+p),a.quadraticCurveTo(c,f,c+p,f),a.closePath()}if(l)return a=null,l+""||null}return u.x=function(n){return arguments.length?(t="function"==typeof n?n:Xs(+n),u):t},u.y=function(t){return arguments.length?(n="function"==typeof t?t:Xs(+t),u):n},u.width=function(t){return arguments.length?(e="function"==typeof t?t:Xs(+t),u):e},u.height=function(t){return arguments.length?(r="function"==typeof t?t:Xs(+t),u):r},u.cornerRadius=function(t){return arguments.length?(i="function"==typeof t?t:Xs(+t),u):i},u.context=function(t){return arguments.length?(a=null==t?null:t,u):a},u}function Js(){var t,n,e,r,i,a,u,o,s=null;function l(t,n,e){var r=e/2;if(i){var l=u-n,c=t-a;if(l||c){var f=Math.sqrt(l*l+c*c),h=(l/=f)*o,d=(c/=f)*o,p=Math.atan2(c,l);s.moveTo(a-h,u-d),s.lineTo(t-l*r,n-c*r),s.arc(t,n,r,p-Math.PI,p),s.lineTo(a+h,u+d),s.arc(a,u,o,p,p+Math.PI)}else s.arc(t,n,r,0,Ts);s.closePath()}else i=1;a=t,u=n,o=r}function c(a){var u,o,c,f=a.length,h=!1;for(null==s&&(s=c=xo()),u=0;u<=f;++u)!(u<f&&r(o=a[u],u,a))===h&&(h=!h)&&(i=0),h&&l(+t(o,u,a),+n(o,u,a),+e(o,u,a));if(c)return s=null,c+""||null}return c.x=function(n){return arguments.length?(t=n,c):t},c.y=function(t){return arguments.length?(n=t,c):n},c.size=function(t){return arguments.length?(e=t,c):e},c.defined=function(t){return arguments.length?(r=t,c):r},c.context=function(t){return arguments.length?(s=null==t?null:t,c):s},c}function Qs(t){return t.x||0}function Ks(t){return t.y||0}function tl(t){return t.cornerRadius||0}function nl(t){return!(!1===t.defined)}var el=function(){var t=No,n=Oo,e=bo(0),r=null,i=Ro,a=qo,u=Lo,o=null;function s(){var s,l,c=+t.apply(this,arguments),f=+n.apply(this,arguments),h=i.apply(this,arguments)-Bo,d=a.apply(this,arguments)-Bo,p=wo(d-h),g=d>h;if(o||(o=s=xo()),f<c&&(l=f,f=c,c=l),f>Fo)if(p>To-Fo)o.moveTo(f*Mo(h),f*Do(h)),o.arc(0,0,f,h,d,!g),c>Fo&&(o.moveTo(c*Mo(d),c*Do(d)),o.arc(0,0,c,d,h,g));else{var m,v,y=h,_=d,x=h,b=d,w=p,A=p,M=u.apply(this,arguments)/2,k=M>Fo&&(r?+r.apply(this,arguments):Co(c*c+f*f)),E=Eo(wo(f-c)/2,+e.apply(this,arguments)),D=E,C=E;if(k>Fo){var F=zo(k/c*Do(M)),S=zo(k/f*Do(M));(w-=2*F)>Fo?(x+=F*=g?1:-1,b-=F):(w=0,x=b=(h+d)/2),(A-=2*S)>Fo?(y+=S*=g?1:-1,_-=S):(A=0,y=_=(h+d)/2)}var B=f*Mo(y),T=f*Do(y),z=c*Mo(b),N=c*Do(b);if(E>Fo){var O,R=f*Mo(_),q=f*Do(_),L=c*Mo(x),P=c*Do(x);if(p<So&&(O=function(t,n,e,r,i,a,u,o){var s=e-t,l=r-n,c=u-i,f=o-a,h=f*s-c*l;if(!(h*h<Fo))return[t+(h=(c*(n-a)-f*(t-i))/h)*s,n+h*l]}(B,T,L,P,R,q,z,N))){var U=B-O[0],$=T-O[1],j=R-O[0],I=q-O[1],W=1/Do(function(t){return t>1?0:t<-1?So:Math.acos(t)}((U*j+$*I)/(Co(U*U+$*$)*Co(j*j+I*I)))/2),H=Co(O[0]*O[0]+O[1]*O[1]);D=Eo(E,(c-H)/(W-1)),C=Eo(E,(f-H)/(W+1))}}A>Fo?C>Fo?(m=Po(L,P,B,T,f,C,g),v=Po(R,q,z,N,f,C,g),o.moveTo(m.cx+m.x01,m.cy+m.y01),C<E?o.arc(m.cx,m.cy,C,Ao(m.y01,m.x01),Ao(v.y01,v.x01),!g):(o.arc(m.cx,m.cy,C,Ao(m.y01,m.x01),Ao(m.y11,m.x11),!g),o.arc(0,0,f,Ao(m.cy+m.y11,m.cx+m.x11),Ao(v.cy+v.y11,v.cx+v.x11),!g),o.arc(v.cx,v.cy,C,Ao(v.y11,v.x11),Ao(v.y01,v.x01),!g))):(o.moveTo(B,T),o.arc(0,0,f,y,_,!g)):o.moveTo(B,T),c>Fo&&w>Fo?D>Fo?(m=Po(z,N,R,q,c,-D,g),v=Po(B,T,L,P,c,-D,g),o.lineTo(m.cx+m.x01,m.cy+m.y01),D<E?o.arc(m.cx,m.cy,D,Ao(m.y01,m.x01),Ao(v.y01,v.x01),!g):(o.arc(m.cx,m.cy,D,Ao(m.y01,m.x01),Ao(m.y11,m.x11),!g),o.arc(0,0,c,Ao(m.cy+m.y11,m.cx+m.x11),Ao(v.cy+v.y11,v.cx+v.x11),g),o.arc(v.cx,v.cy,D,Ao(v.y11,v.x11),Ao(v.y01,v.x01),!g))):o.arc(0,0,c,b,x,g):o.lineTo(z,N)}else o.moveTo(0,0);if(o.closePath(),s)return o=null,s+""||null}return s.centroid=function(){var e=(+t.apply(this,arguments)+ +n.apply(this,arguments))/2,r=(+i.apply(this,arguments)+ +a.apply(this,arguments))/2-So/2;return[Mo(r)*e,Do(r)*e]},s.innerRadius=function(n){return arguments.length?(t="function"==typeof n?n:bo(+n),s):t},s.outerRadius=function(t){return arguments.length?(n="function"==typeof t?t:bo(+t),s):n},s.cornerRadius=function(t){return arguments.length?(e="function"==typeof t?t:bo(+t),s):e},s.padRadius=function(t){return arguments.length?(r=null==t?null:"function"==typeof t?t:bo(+t),s):r},s.startAngle=function(t){return arguments.length?(i="function"==typeof t?t:bo(+t),s):i},s.endAngle=function(t){return arguments.length?(a="function"==typeof t?t:bo(+t),s):a},s.padAngle=function(t){return arguments.length?(u="function"==typeof t?t:bo(+t),s):u},s.context=function(t){return arguments.length?(o=null==t?null:t,s):o},s}().startAngle((function(t){return t.startAngle||0})).endAngle((function(t){return t.endAngle||0})).padAngle((function(t){return t.padAngle||0})).innerRadius((function(t){return t.innerRadius||0})).outerRadius((function(t){return t.outerRadius||0})).cornerRadius(tl),rl=Ho().x(Qs).y1(Ks).y0((function(t){return(t.y||0)+(t.height||0)})).defined(nl),il=Ho().y(Ks).x1(Qs).x0((function(t){return(t.x||0)+(t.width||0)})).defined(nl),al=Wo().x(Qs).y(Ks).defined(nl),ul=Zs().x(Qs).y(Ks).width((function(t){return t.width||0})).height((function(t){return t.height||0})).cornerRadius(tl),ol=function(){var t=bo(Yo),n=bo(64),e=null;function r(){var r;if(e||(e=r=xo()),t.apply(this,arguments).draw(e,+n.apply(this,arguments)),r)return e=null,r+""||null}return r.type=function(n){return arguments.length?(t="function"==typeof n?n:bo(n),r):t},r.size=function(t){return arguments.length?(n="function"==typeof t?t:bo(+t),r):n},r.context=function(t){return arguments.length?(e=null==t?null:t,r):e},r}().type((function(t){return Is(t.shape||"circle")})).size((function(t){return null==t.size?64:t.size})),sl=Js().x(Qs).y(Ks).defined(nl).size((function(t){return t.size||1}));function ll(t,n,e,r){return ul.context(t)(n,e,r)}function cl(t,n){return n.stroke&&0!==n.opacity&&0!==n.strokeOpacity&&t.expand(null!=n.strokeWidth?+n.strokeWidth:1),t}var fl,hl=Ts-1e-8;function dl(t){return fl=t,dl}function pl(){}function gl(t,n){fl.add(t,n)}dl.beginPath=pl,dl.closePath=pl,dl.moveTo=gl,dl.lineTo=gl,dl.rect=function(t,n,e,r){gl(t,n),gl(t+e,n+r)},dl.quadraticCurveTo=function(t,n,e,r){gl(t,n),gl(e,r)},dl.bezierCurveTo=function(t,n,e,r,i,a){gl(t,n),gl(e,r),gl(i,a)},dl.arc=function(t,n,e,r,i,a){if(Math.abs(i-r)>hl)return gl(t-e,n-e),void gl(t+e,n+e);var u,o,s,l,c=1/0,f=-1/0,h=1/0,d=-1/0;function p(t){s=e*Math.cos(t),l=e*Math.sin(t),s<c&&(c=s),s>f&&(f=s),l<h&&(h=l),l>d&&(d=l)}if(p(r),p(i),i!==r)if((r%=Ts)<0&&(r+=Ts),(i%=Ts)<0&&(i+=Ts),i<r&&(a=!a,u=r,r=i,i=u),a)for(i-=Ts,u=r-r%Bs,o=0;o<4&&u>i;++o,u-=Bs)p(u);else for(u=r-r%Bs+Bs,o=0;o<4&&u<i;++o,u+=Bs)p(u);gl(t+c,n+h),gl(t+f,n+d)};var ml=(ml=lo(1,1))?ml.getContext("2d"):null;const vl=new Ku;function yl(t){return function(n,e){if(!ml)return!0;t(ml,n),vl.clear().union(n.bounds).intersect(e).round();const{x1:r,y1:i,x2:a,y2:u}=vl;for(let t=i;t<=u;++t)for(let n=r;n<=a;++n)if(ml.isPointInPath(n,t))return!0;return!1}}function _l(t,n){return n.contains(t.x||0,t.y||0)}function xl(t,n){const e=t.x||0,r=t.y||0,i=t.width||0,a=t.height||0;return n.intersects(vl.set(e,r,e+i,r+a))}function bl(t,n){const e=t.x||0,r=t.y||0;return wl(n,e,r,null!=t.x2?t.x2:e,null!=t.y2?t.y2:r)}function wl(t,n,e,r,i){const{x1:a,y1:u,x2:o,y2:s}=t,l=r-n,c=i-e;let f,h,d,p,g=0,m=1;for(p=0;p<4;++p){if(0===p&&(f=-l,h=-(a-n)),1===p&&(f=l,h=o-n),2===p&&(f=-c,h=-(u-e)),3===p&&(f=c,h=s-e),Math.abs(f)<1e-10&&h<0)return!1;if(d=h/f,f<0){if(d>m)return!1;d>g&&(g=d)}else if(f>0){if(d<g)return!1;d<m&&(m=d)}}return!0}function Al(t,n,e){return ro(e)?function(t,n,e){const r=e.width(),i=e.height(),a=n.stops,u=a.length,o="radial"===n.gradient?t.createRadialGradient(e.x1+(n.x1||.5)*r,e.y1+(n.y1||.5)*i,Math.max(r,i)*(n.r1||0),e.x1+(n.x2||.5)*r,e.y1+(n.y2||.5)*i,Math.max(r,i)*(n.r2||.5)):t.createLinearGradient(e.x1+(n.x1||0)*r,e.y1+(n.y1||0)*i,e.x1+(n.x2||1)*r,e.y1+(n.y2||0)*i);for(let t=0;t<u;++t)o.addColorStop(a[t].offset,a[t].color);return o}(t,e,n.bounds):e}function Ml(t,n,e){return(e*=null==n.fillOpacity?1:n.fillOpacity)>0&&(t.globalAlpha=e,t.fillStyle=Al(t,n,n.fill),!0)}var kl=[];function El(t,n,e){var r=null!=(r=n.strokeWidth)?r:1;return!(r<=0)&&((e*=null==n.strokeOpacity?1:n.strokeOpacity)>0&&(t.globalAlpha=e,t.strokeStyle=Al(t,n,n.stroke),t.lineWidth=r,t.lineCap=n.strokeCap||"butt",t.lineJoin=n.strokeJoin||"miter",t.miterLimit=n.strokeMiterLimit||10,t.setLineDash&&(t.setLineDash(n.strokeDash||kl),t.lineDashOffset=n.strokeDashOffset||0),!0))}function Dl(t,n){return t.zindex-n.zindex||t.index-n.index}function Cl(t){if(!t.zdirty)return t.zitems;var n,e,r,i=t.items,a=[];for(e=0,r=i.length;e<r;++e)(n=i[e]).index=e,n.zindex&&a.push(n);return t.zdirty=!1,t.zitems=a.sort(Dl)}function Fl(t,n){var e,r,i=t.items;if(i&&i.length){var a=Cl(t);if(a&&a.length){for(e=0,r=i.length;e<r;++e)i[e].zindex||n(i[e]);i=a}for(e=0,r=i.length;e<r;++e)n(i[e])}}function Sl(t,n){var e,r,i=t.items;if(!i||!i.length)return null;var a=Cl(t);for(a&&a.length&&(i=a),r=i.length;--r>=0;)if(e=n(i[r]))return e;if(i===a)for(r=(i=t.items).length;--r>=0;)if(!i[r].zindex&&(e=n(i[r])))return e;return null}function Bl(t){return function(n,e,r){Fl(e,(function(e){r&&!r.intersects(e.bounds)||zl(t,n,e,e)}))}}function Tl(t){return function(n,e,r){!e.items.length||r&&!r.intersects(e.bounds)||zl(t,n,e.items[0],e.items)}}function zl(t,n,e,r){var i=null==e.opacity?1:e.opacity;0!==i&&(t(n,r)||(e.fill&&Ml(n,e,i)&&n.fill(),e.stroke&&El(n,e,i)&&n.stroke()))}function Nl(t){return t=t||m,function(n,e,r,i,a,u){return r*=n.pixelRatio,i*=n.pixelRatio,Sl(e,(function(e){var o=e.bounds;if((!o||o.contains(a,u))&&o)return t(n,e,r,i,a,u)?e:void 0}))}}function Ol(t,n){return function(e,r,i,a){var u,o,s=Array.isArray(r)?r[0]:r,l=null==n?s.fill:n,c=s.stroke&&e.isPointInStroke;return c&&(u=s.strokeWidth,o=s.strokeCap,e.lineWidth=null!=u?u:1,e.lineCap=null!=o?o:"butt"),!t(e,r)&&(l&&e.isPointInPath(i,a)||c&&e.isPointInStroke(i,a))}}function Rl(t){return Nl(Ol(t))}function ql(t,n){return"translate("+t+","+n+")"}function Ll(t){return"rotate("+t+")"}function Pl(t){return ql(t.x||0,t.y||0)}function Ul(t,n,e){function r(t,e){var r=e.x||0,i=e.y||0,a=e.angle||0;t.translate(r,i),a&&t.rotate(a*=Ss),t.beginPath(),n(t,e),a&&t.rotate(-a),t.translate(-r,-i)}return{type:t,tag:"path",nested:!1,attr:function(t,e){t("transform",function(t){return ql(t.x||0,t.y||0)+(t.angle?" "+Ll(t.angle):"")}(e)),t("d",n(null,e))},bound:function(t,e){var r=e.x||0,i=e.y||0;return n(dl(t),e),cl(t,e).translate(r,i),e.angle&&t.rotate(e.angle*Ss,r,i),t},draw:Bl(r),pick:Rl(r),isect:e||yl(r)}}var $l=Ul("arc",(function(t,n){return el.context(t)(n)}));function jl(t,n,e){function r(t,e){t.beginPath(),n(t,e)}var i=Ol(r);return{type:t,tag:"path",nested:!0,attr:function(t,e){var r=e.mark.items;r.length&&t("d",n(null,r))},bound:function(t,e){var r=e.items;return 0===r.length?t:(n(dl(t),r),cl(t,r[0]))},draw:Tl(r),pick:function(t,n,e,r,a,u){var o=n.items,s=n.bounds;return!o||!o.length||s&&!s.contains(a,u)?null:(e*=t.pixelRatio,r*=t.pixelRatio,i(t,o,e,r)?o[0]:null)},isect:_l,tip:e}}var Il=jl("area",(function(t,n){var e=n[0],r=e.interpolate||"linear";return("horizontal"===e.orient?il:rl).curve(Es(r,e.orient,e.tension)).context(t)(n)}),(function(t,n){for(var e,r,i="horizontal"===t[0].orient?n[1]:n[0],a="horizontal"===t[0].orient?"y":"x",u=t.length,o=1/0;--u>=0;)!1!==t[u].defined&&(r=Math.abs(t[u][a]-i))<o&&(o=r,e=t[u]);return e})),Wl=1;function Hl(t,n,e){var r=n.clip,i=t._defs,a=n.clip_id||(n.clip_id="clip"+Wl++),u=i.clipping[a]||(i.clipping[a]={id:a});return Y(r)?u.path=r(null):(u.width=e.width||0,u.height=e.height||0),"url(#"+a+")"}var Yl=.5;function Gl(t,n){var e=n.stroke?Yl:0;t.beginPath(),ll(t,n,e,e)}var Vl=Ol(Gl);var Xl={type:"group",tag:"g",nested:!1,attr:function(t,n){t("transform",Pl(n))},bound:function(t,n){if(!n.clip&&n.items)for(var e=n.items,r=0,i=e.length;r<i;++r)t.union(e[r].bounds);return(n.clip||n.width||n.height)&&!n.noBound&&t.add(0,0).add(n.width||0,n.height||0),cl(t,n),t.translate(n.x||0,n.y||0)},draw:function(t,n,e){var r=this;Fl(n,(function(n){var i,a=n.x||0,u=n.y||0,o=n.width||0,s=n.height||0;t.save(),t.translate(a,u),(n.stroke||n.fill)&&(i=null==n.opacity?1:n.opacity)>0&&(Gl(t,n),n.fill&&Ml(t,n,i)&&t.fill(),n.stroke&&El(t,n,i)&&t.stroke()),n.clip&&(t.beginPath(),t.rect(0,0,o,s),t.clip()),e&&e.translate(-a,-u),Fl(n,(function(n){r.draw(t,n,e)})),e&&e.translate(a,u),t.restore()}))},pick:function(t,n,e,r,i,a){if(n.bounds&&!n.bounds.contains(i,a)||!n.items)return null;var u=this,o=e*t.pixelRatio,s=r*t.pixelRatio;return Sl(n,(function(l){var c,f,h,d;if(!(d=l.bounds)||d.contains(i,a))return f=l.x||0,h=l.y||0,t.save(),t.translate(f,h),f=i-f,h=a-h,!(c=Sl(l,(function(t){return function(t,n,e){return(!1!==t.interactive||"group"===t.marktype)&&t.bounds&&t.bounds.contains(n,e)}(t,f,h)?u.pick(t,e,r,f,h):null})))&&!1!==n.interactive&&(l.fill||l.stroke)&&Vl(t,l,o,s)&&(c=l),t.restore(),c||null}))},isect:xl,background:function(t,n){var e=n.stroke?Yl:0;t("class","background"),t("d",ll(null,n,e,e))},foreground:function(t,n,e){t("clip-path",n.clip?Hl(e,n,n):null)}};function Zl(t,n){var e=t.image;return e&&e.url===t.url||(e={loaded:!1,width:0,height:0},n.loadImage(t.url).then((function(n){t.image=n,t.image.url=t.url}))),e}function Jl(t,n){return"center"===t?n/2:"right"===t?n:0}function Ql(t,n){return"middle"===t?n/2:"bottom"===t?n:0}var Kl={type:"image",tag:"image",nested:!1,attr:function(t,n,e){var r=Zl(n,e),i=n.x||0,a=n.y||0,u=(null!=n.width?n.width:r.width)||0,o=(null!=n.height?n.height:r.height)||0,s=!1===n.aspect?"none":"xMidYMid";i-=Jl(n.align,u),a-=Ql(n.baseline,o),t("href",r.src||"","http://www.w3.org/1999/xlink","xlink:href"),t("transform",ql(i,a)),t("width",u),t("height",o),t("preserveAspectRatio",s)},bound:function(t,n){var e=n.image,r=n.x||0,i=n.y||0,a=(null!=n.width?n.width:e&&e.width)||0,u=(null!=n.height?n.height:e&&e.height)||0;return r-=Jl(n.align,a),i-=Ql(n.baseline,u),t.set(r,i,r+a,i+u)},draw:function(t,n,e){var r=this;Fl(n,(function(n){if(!e||e.intersects(n.bounds)){var i,a,u,o,s=Zl(n,r),l=n.x||0,c=n.y||0,f=(null!=n.width?n.width:s.width)||0,h=(null!=n.height?n.height:s.height)||0;l-=Jl(n.align,f),c-=Ql(n.baseline,h),!1!==n.aspect&&(a=s.width/s.height,u=n.width/n.height,a==a&&u==u&&a!==u&&(u<a?(c+=(h-(o=f/a))/2,h=o):(l+=(f-(o=h*a))/2,f=o))),s.loaded&&(t.globalAlpha=null!=(i=n.opacity)?i:1,t.drawImage(s,l,c,f,h))}}))},pick:Nl(),isect:m,get:Zl,xOffset:Jl,yOffset:Ql},tc=jl("line",(function(t,n){var e=n[0],r=e.interpolate||"linear";return al.curve(Es(r,e.orient,e.tension)).context(t)(n)}),(function(t,n){for(var e,r,i=Math.pow(t[0].strokeWidth||1,2),a=t.length;--a>=0;)if(!1!==t[a].defined&&(e=t[a].x-n[0])*e+(r=t[a].y-n[1])*r<i)return t[a];return null}));function nc(t,n){var e=n.path;if(null==e)return!0;var r=n.pathCache;r&&r.path===e||((n.pathCache=r=Fs(e)).path=e),Us(t,r,n.x,n.y)}var ec={type:"path",tag:"path",nested:!1,attr:function(t,n){t("transform",Pl(n)),t("d",n.path)},bound:function(t,n){return nc(dl(t),n)?t.set(0,0,0,0):cl(t,n)},draw:Bl(nc),pick:Rl(nc),isect:yl(nc)};function rc(t,n){t.beginPath(),ll(t,n)}var ic={type:"rect",tag:"path",nested:!1,attr:function(t,n){t("d",ll(null,n))},bound:function(t,n){var e,r;return cl(t.set(e=n.x||0,r=n.y||0,e+n.width||0,r+n.height||0),n)},draw:Bl(rc),pick:Rl(rc),isect:xl};function ac(t,n,e){var r,i,a,u;return!(!n.stroke||!El(t,n,e))&&(r=n.x||0,i=n.y||0,a=null!=n.x2?n.x2:r,u=null!=n.y2?n.y2:i,t.beginPath(),t.moveTo(r,i),t.lineTo(a,u),!0)}var uc,oc={type:"rule",tag:"line",nested:!1,attr:function(t,n){t("transform",Pl(n)),t("x2",null!=n.x2?n.x2-(n.x||0):0),t("y2",null!=n.y2?n.y2-(n.y||0):0)},bound:function(t,n){var e,r;return cl(t.set(e=n.x||0,r=n.y||0,null!=n.x2?n.x2:e,null!=n.y2?n.y2:r),n)},draw:function(t,n,e){Fl(n,(function(n){if(!e||e.intersects(n.bounds)){var r=null==n.opacity?1:n.opacity;r&&ac(t,n,r)&&t.stroke()}}))},pick:Nl((function(t,n,e,r){return!!t.isPointInStroke&&(ac(t,n,1)&&t.isPointInStroke(e,r))})),isect:bl},sc=Ul("shape",(function(t,n){return(n.mark.shape||n.shape).context(t)(n)})),lc=Ul("symbol",(function(t,n){return ol.context(t)(n)}),_l),cc={height:gc,measureWidth:dc,estimateWidth:fc,width:fc,canvas:mc};function fc(t){return uc=gc(t),hc(vc(t))}function hc(t){return~~(.8*t.length*uc)}function dc(t){return gc(t)<=0?0:(ml.font=_c(t),pc(vc(t)))}function pc(t){return ml.measureText(t).width}function gc(t){return null!=t.fontSize?t.fontSize:11}function mc(t){cc.width=t&&ml?dc:fc}function vc(t){var n=t.text;return null==n?"":t.limit>0?function(t){var n,e=+t.limit,r=t.text+"";cc.width===dc?(ml.font=_c(t),n=pc):(uc=gc(t),n=hc);if(n(r)<e)return r;var i,a=t.ellipsis||"…",u="rtl"===t.dir,o=0,s=r.length;if(e-=n(a),u){for(;o<s;)i=o+s>>>1,n(r.slice(i))>e?o=i+1:s=i;return a+r.slice(o)}for(;o<s;)i=1+(o+s>>>1),n(r.slice(0,i))<e?o=i:s=i-1;return r.slice(0,o)+a}(t):n+""}function yc(t,n){var e=t.font;return(n&&e?String(e).replace(/"/g,"'"):e)||"sans-serif"}function _c(t,n){return(t.fontStyle?t.fontStyle+" ":"")+(t.fontVariant?t.fontVariant+" ":"")+(t.fontWeight?t.fontWeight+" ":"")+gc(t)+"px "+yc(t,n)}function xc(t){var n=t.baseline,e=gc(t);return Math.round("top"===n?.79*e:"middle"===n?.3*e:"bottom"===n?-.21*e:0)}mc(!0);var bc={left:"start",center:"middle",right:"end"},wc=new Ku;function Ac(t){var n,e=t.x||0,r=t.y||0,i=t.radius||0;return i&&(n=(t.theta||0)-Bs,e+=i*Math.cos(n),r+=i*Math.sin(n)),wc.x1=e,wc.y1=r,wc}function Mc(t,n,e){var r,i=cc.height(n),a=n.align,u=Ac(n),o=u.x1,s=u.y1,l=n.dx||0,c=(n.dy||0)+xc(n)-Math.round(.8*i);if(r=cc.width(n),"center"===a?l-=r/2:"right"===a&&(l-=r),t.set(l+=o,c+=s,l+r,c+i),n.angle&&!e)t.rotate(n.angle*Ss,o,s);else if(2===e)return t.rotatedPoints(n.angle*Ss,o,s);return t}var kc={arc:$l,area:Il,group:Xl,image:Kl,line:tc,path:ec,rect:ic,rule:oc,shape:sc,symbol:lc,text:{type:"text",tag:"text",nested:!1,attr:function(t,n){var e,r=n.dx||0,i=(n.dy||0)+xc(n),a=Ac(n),u=a.x1,o=a.y1,s=n.angle||0;t("text-anchor",bc[n.align]||"start"),s?(e=ql(u,o)+" "+Ll(s),(r||i)&&(e+=" "+ql(r,i))):e=ql(u+r,o+i),t("transform",e)},bound:Mc,draw:function(t,n,e){Fl(n,(function(n){var r,i,a,u,o;e&&!e.intersects(n.bounds)||(o=vc(n))&&(0===(r=null==n.opacity?1:n.opacity)||n.fontSize<=0||(t.font=_c(n),t.textAlign=n.align||"left",a=(i=Ac(n)).x1,u=i.y1,n.angle&&(t.save(),t.translate(a,u),t.rotate(n.angle*Ss),a=u=0),a+=n.dx||0,u+=(n.dy||0)+xc(n),n.fill&&Ml(t,n,r)&&t.fillText(o,a,u),n.stroke&&El(t,n,r)&&t.strokeText(o,a,u),n.angle&&t.restore()))}))},pick:Nl((function(t,n,e,r,i,a){if(n.fontSize<=0)return!1;if(!n.angle)return!0;var u=Ac(n),o=u.x1,s=u.y1,l=Mc(wc,n,1),c=-n.angle*Ss,f=Math.cos(c),h=Math.sin(c),d=f*i-h*a+(o-f*o+h*s),p=h*i+f*a+(s-h*o-f*s);return l.contains(d,p)})),isect:function(t,n){var e=Mc(wc,t,2);return wl(n,e[0],e[1],e[2],e[3])||wl(n,e[0],e[1],e[4],e[5])||wl(n,e[4],e[5],e[6],e[7])||wl(n,e[2],e[3],e[6],e[7])}},trail:jl("trail",(function(t,n){return sl.context(t)(n)}),(function(t,n){for(var e,r,i=t.length;--i>=0;)if(!1!==t[i].defined&&(e=t[i].x-n[0])*e+(r=t[i].y-n[1])*r<(e=t[i].size||1)*e)return t[i];return null}))};function Ec(t,n,e){var r=kc[t.mark.marktype],i=n||r.bound;return r.nested&&(t=t.mark),i(t.bounds||(t.bounds=new Ku),t,e)}var Dc={mark:null};function Cc(t,n,e){var r,i,a,u,o=kc[t.marktype],s=o.bound,l=t.items,c=l&&l.length;if(o.nested)return c?a=l[0]:(Dc.mark=t,a=Dc),u=Ec(a,s,e),n=n&&n.union(u)||u;if(n=n||t.bounds&&t.bounds.clear()||new Ku,c)for(r=0,i=l.length;r<i;++r)n.union(Ec(l[r],s,e));return t.bounds=n}var Fc=["marktype","name","role","interactive","clip","items","zindex","x","y","width","height","align","baseline","fill","fillOpacity","opacity","stroke","strokeOpacity","strokeWidth","strokeCap","strokeDash","strokeDashOffset","startAngle","endAngle","innerRadius","outerRadius","cornerRadius","padAngle","interpolate","tension","orient","defined","url","path","x2","y2","size","shape","text","angle","theta","radius","dx","dy","font","fontSize","fontWeight","fontStyle","fontVariant"];function Sc(t,n){return JSON.stringify(t,Fc,n)}function Bc(t){return function t(n){var e,r,i,a=n.marktype,u=n.items;if(u)for(r=0,i=u.length;r<i;++r)e=a?"mark":"group",u[r][e]=n,u[r].zindex&&(u[r][e].zdirty=!0),"group"===(a||e)&&t(u[r]);a&&Cc(n);return n}("string"==typeof t?JSON.parse(t):t)}function Tc(t){arguments.length?this.root=Bc(t):(this.root=Nc({marktype:"group",name:"root",role:"frame"}),this.root.items=[new so(this.root)])}var zc=Tc.prototype;function Nc(t,n){return{bounds:new Ku,clip:!!t.clip,group:n,interactive:!1!==t.interactive,items:[],marktype:t.marktype,name:t.name||void 0,role:t.role||void 0,zindex:t.zindex||0}}function Oc(t,n,e){return!t&&"undefined"!=typeof document&&document.createElement&&(t=document),t?e?t.createElementNS(e,n):t.createElement(n):null}function Rc(t,n){n=n.toLowerCase();for(var e=t.childNodes,r=0,i=e.length;r<i;++r)if(e[r].tagName.toLowerCase()===n)return e[r]}function qc(t,n,e,r){var i,a=t.childNodes[n];return a&&a.tagName.toLowerCase()===e.toLowerCase()||(i=a||null,a=Oc(t.ownerDocument,e,r),t.insertBefore(a,i)),a}function Lc(t,n){for(var e=t.childNodes,r=e.length;r>n;)t.removeChild(e[--r]);return t}function Pc(t){return"mark-"+t.marktype+(t.role?" role-"+t.role:"")+(t.name?" "+t.name:"")}function Uc(t,n){var e=n.getBoundingClientRect();return[t.clientX-e.left-(n.clientLeft||0),t.clientY-e.top-(n.clientTop||0)]}function $c(t,n){this._active=null,this._handlers={},this._loader=t||Cr(),this._tooltip=n||jc}function jc(t,n,e,r){t.element().setAttribute("title",r||"")}zc.toJSON=function(t){return Sc(this.root,t||0)},zc.mark=function(t,n,e){var r=Nc(t,n=n||this.root.items[0]);return n.items[e]=r,r.zindex&&(r.group.zdirty=!0),r};var Ic=$c.prototype;function Wc(t){this._el=null,this._bgcolor=null,this._loader=new fo(t)}Ic.initialize=function(t,n,e){return this._el=t,this._obj=e||null,this.origin(n)},Ic.element=function(){return this._el},Ic.canvas=function(){return this._el&&this._el.firstChild},Ic.origin=function(t){return arguments.length?(this._origin=t||[0,0],this):this._origin.slice()},Ic.scene=function(t){return arguments.length?(this._scene=t,this):this._scene},Ic.on=function(){},Ic.off=function(){},Ic._handlerIndex=function(t,n,e){for(var r=t?t.length:0;--r>=0;)if(t[r].type===n&&(!e||t[r].handler===e))return r;return-1},Ic.handlers=function(t){var n,e=this._handlers,r=[];if(t)r.push.apply(r,e[this.eventName(t)]);else for(n in e)r.push.apply(r,e[n]);return r},Ic.eventName=function(t){var n=t.indexOf(".");return n<0?t:t.slice(0,n)},Ic.handleHref=function(t,n,e){this._loader.sanitize(e,{context:"href"}).then((function(n){var e=new MouseEvent(t.type,t),r=Oc(null,"a");for(var i in n)r.setAttribute(i,n[i]);r.dispatchEvent(e)})).catch((function(){}))},Ic.handleTooltip=function(t,n,e){if(n&&null!=n.tooltip){n=function(t,n,e,r){var i,a,u=t&&t.mark;if(u&&(i=kc[u.marktype]).tip){for((a=Uc(n,e))[0]-=r[0],a[1]-=r[1];t=t.mark.group;)a[0]-=t.x||0,a[1]-=t.y||0;t=i.tip(u.items,a)}return t}(n,t,this.canvas(),this._origin);var r=e&&n&&n.tooltip||null;this._tooltip.call(this._obj,this,t,n,r)}},Ic.getItemBoundingClientRect=function(t){if(n=this.canvas()){for(var n,e=n.getBoundingClientRect(),r=this._origin,i=t.bounds,a=i.x1+r[0]+e.left,u=i.y1+r[1]+e.top,o=i.width(),s=i.height();t.mark&&(t=t.mark.group);)a+=t.x||0,u+=t.y||0;return{x:a,y:u,width:o,height:s,left:a,top:u,right:a+o,bottom:u+s}}};var Hc=Wc.prototype;Hc.initialize=function(t,n,e,r,i){return this._el=t,this.resize(n,e,r,i)},Hc.element=function(){return this._el},Hc.canvas=function(){return this._el&&this._el.firstChild},Hc.background=function(t){return 0===arguments.length?this._bgcolor:(this._bgcolor=t,this)},Hc.resize=function(t,n,e,r){return this._width=t,this._height=n,this._origin=e||[0,0],this._scale=r||1,this},Hc.dirty=function(){},Hc.render=function(t){var n=this;return n._call=function(){n._render(t)},n._call(),n._call=null,n},Hc._render=function(){},Hc.renderAsync=function(t){var n=this.render(t);return this._ready?this._ready.then((function(){return n})):Promise.resolve(n)},Hc._load=function(t,n){var e=this,r=e._loader[t](n);if(!e._ready){var i=e._call;e._ready=e._loader.ready().then((function(t){t&&i(),e._ready=null}))}return r},Hc.sanitizeURL=function(t){return this._load("sanitizeURL",t)},Hc.loadImage=function(t){return this._load("loadImage",t)};var Yc="mouseout";function Gc(t,n){$c.call(this,t,n),this._down=null,this._touch=null,this._first=!0}var Vc=it(Gc,$c);function Xc(t,n,e){return function(r){var i=this._active,a=this.pickEvent(r);a===i?this.fire(t,r):(i&&i.exit||this.fire(e,r),this._active=a,this.fire(n,r),this.fire(t,r))}}function Zc(t){return function(n){this.fire(t,n),this._active=null}}Vc.initialize=function(t,n,e){var r=this._canvas=t&&Rc(t,"canvas");if(r){var i=this;this.events.forEach((function(t){r.addEventListener(t,(function(n){Vc[t]?Vc[t].call(i,n):i.fire(t,n)}))}))}return $c.prototype.initialize.call(this,t,n,e)},Vc.canvas=function(){return this._canvas},Vc.context=function(){return this._canvas.getContext("2d")},Vc.events=["keydown","keypress","keyup","dragenter","dragleave","dragover","mousedown","mouseup","mousemove","mouseout","mouseover","click","dblclick","wheel","mousewheel","touchstart","touchmove","touchend"],Vc.DOMMouseScroll=function(t){this.fire("mousewheel",t)},Vc.mousemove=Xc("mousemove","mouseover","mouseout"),Vc.dragover=Xc("dragover","dragenter","dragleave"),Vc.mouseout=Zc("mouseout"),Vc.dragleave=Zc("dragleave"),Vc.mousedown=function(t){this._down=this._active,this.fire("mousedown",t)},Vc.click=function(t){this._down===this._active&&(this.fire("click",t),this._down=null)},Vc.touchstart=function(t){this._touch=this.pickEvent(t.changedTouches[0]),this._first&&(this._active=this._touch,this._first=!1),this.fire("touchstart",t,!0)},Vc.touchmove=function(t){this.fire("touchmove",t,!0)},Vc.touchend=function(t){this.fire("touchend",t,!0),this._touch=null},Vc.fire=function(t,n,e){var r,i,a=e?this._touch:this._active,u=this._handlers[t];if(n.vegaType=t,"click"===t&&a&&a.href?this.handleHref(n,a,a.href):"mousemove"!==t&&t!==Yc||this.handleTooltip(n,a,t!==Yc),u)for(r=0,i=u.length;r<i;++r)u[r].handler.call(this._obj,n,a)},Vc.on=function(t,n){var e=this.eventName(t),r=this._handlers;return this._handlerIndex(r[e],t,n)<0&&(r[e]||(r[e]=[])).push({type:t,handler:n}),this},Vc.off=function(t,n){var e=this.eventName(t),r=this._handlers[e],i=this._handlerIndex(r,t,n);return i>=0&&r.splice(i,1),this},Vc.pickEvent=function(t){var n=Uc(t,this._canvas),e=this._origin;return this.pick(this._scene,n[0],n[1],n[0]-e[0],n[1]-e[1])},Vc.pick=function(t,n,e,r,i){var a=this.context();return kc[t.marktype].pick.call(this,a,t,n,e,r,i)};var Jc="undefined"!=typeof window&&window.devicePixelRatio||1;function Qc(t){Wc.call(this,t),this._redraw=!1,this._dirty=new Ku}var Kc=it(Qc,Wc),tf=Wc.prototype,nf=new Ku;function ef(t,n){$c.call(this,t,n);var e=this;e._hrefHandler=af(e,(function(t,n){n&&n.href&&e.handleHref(t,n,n.href)})),e._tooltipHandler=af(e,(function(t,n){e.handleTooltip(t,n,t.type!==Yc)}))}Kc.initialize=function(t,n,e,r,i,a){return this._options=a,this._canvas=lo(1,1,a&&a.type),t&&(Lc(t,0).appendChild(this._canvas),this._canvas.setAttribute("class","marks")),tf.initialize.call(this,t,n,e,r,i)},Kc.resize=function(t,n,e,r){return tf.resize.call(this,t,n,e,r),function(t,n,e,r,i,a){var u,o="undefined"!=typeof HTMLElement&&t instanceof HTMLElement&&null!=t.parentNode,s=t.getContext("2d"),l=o?Jc:i;for(u in t.width=n*l,t.height=e*l,a)s[u]=a[u];o&&1!==l&&(t.style.width=n+"px",t.style.height=e+"px"),s.pixelRatio=l,s.setTransform(l,0,0,l,l*r[0],l*r[1])}(this._canvas,this._width,this._height,this._origin,this._scale,this._options&&this._options.context),this._redraw=!0,this},Kc.canvas=function(){return this._canvas},Kc.context=function(){return this._canvas?this._canvas.getContext("2d"):null},Kc.dirty=function(t){var n=function(t,n){if(null==n)return t;for(var e=nf.clear().union(t);null!=n;n=n.mark.group)e.translate(n.x||0,n.y||0);return e}(t.bounds,t.mark.group);this._dirty.union(n)},Kc._render=function(t){var n=this.context(),e=this._origin,r=this._width,i=this._height,a=this._dirty;return n.save(),this._redraw||a.empty()?(this._redraw=!1,a=null):a=function(t,n,e){return n.expand(1).round(),n.translate(-e[0]%1,-e[1]%1),t.beginPath(),t.rect(n.x1,n.y1,n.width(),n.height()),t.clip(),n}(n,a,e),this.clear(-e[0],-e[1],r,i),this.draw(n,t,a),n.restore(),this._dirty.clear(),this},Kc.draw=function(t,n,e){var r=kc[n.marktype];n.clip&&function(t,n){var e=n.clip;if(t.save(),t.beginPath(),Y(e))e(t);else{var r=n.group;t.rect(0,0,r.width||0,r.height||0)}t.clip()}(t,n),r.draw.call(this,t,n,e),n.clip&&t.restore()},Kc.clear=function(t,n,e,r){var i=this.context();i.clearRect(t,n,e,r),null!=this._bgcolor&&(i.fillStyle=this._bgcolor,i.fillRect(t,n,e,r))};var rf=it(ef,$c);function af(t,n){return function(e){var r=e.target.__data__;e.vegaType=e.type,r=Array.isArray(r)?r[0]:r,n.call(t._obj,e,r)}}function uf(t,n,e){var r,i,a="<"+t;if(n)for(r in n)null!=(i=n[r])&&(a+=" "+r+'="'+i+'"');return e&&(a+=" "+e),a+">"}function of(t){return"</"+t+">"}rf.initialize=function(t,n,e){var r=this._svg;return r&&(r.removeEventListener("click",this._hrefHandler),r.removeEventListener("mousemove",this._tooltipHandler),r.removeEventListener(Yc,this._tooltipHandler)),this._svg=r=t&&Rc(t,"svg"),r&&(r.addEventListener("click",this._hrefHandler),r.addEventListener("mousemove",this._tooltipHandler),r.addEventListener(Yc,this._tooltipHandler)),$c.prototype.initialize.call(this,t,n,e)},rf.canvas=function(){return this._svg},rf.on=function(t,n){var e=this.eventName(t),r=this._handlers;if(this._handlerIndex(r[e],t,n)<0){var i={type:t,handler:n,listener:af(this,n)};(r[e]||(r[e]=[])).push(i),this._svg&&this._svg.addEventListener(e,i.listener)}return this},rf.off=function(t,n){var e=this.eventName(t),r=this._handlers[e],i=this._handlerIndex(r,t,n);return i>=0&&(this._svg&&this._svg.removeEventListener(e,r[i].listener),r.splice(i,1)),this};var sf={version:"1.1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink"},lf={fill:"fill",fillOpacity:"fill-opacity",stroke:"stroke",strokeOpacity:"stroke-opacity",strokeWidth:"stroke-width",strokeCap:"stroke-linecap",strokeJoin:"stroke-linejoin",strokeDash:"stroke-dasharray",strokeDashOffset:"stroke-dashoffset",strokeMiterLimit:"stroke-miterlimit",opacity:"opacity"},cf=Object.keys(lf),ff=sf.xmlns;function hf(t){Wc.call(this,t),this._dirtyID=1,this._dirty=[],this._svg=null,this._root=null,this._defs=null}var df=it(hf,Wc),pf=Wc.prototype;function gf(t,n,e){var r,i,a;if("radial"===n.gradient){var u=qc(t,e++,"pattern",ff);u.setAttribute("id",eo+n.id),u.setAttribute("viewBox","0,0,1,1"),u.setAttribute("width","100%"),u.setAttribute("height","100%"),u.setAttribute("preserveAspectRatio","xMidYMid slice"),(u=qc(u,0,"rect",ff)).setAttribute("width","1"),u.setAttribute("height","1"),u.setAttribute("fill","url("+Mf()+"#"+n.id+")"),(t=qc(t,e++,"radialGradient",ff)).setAttribute("id",n.id),t.setAttribute("fx",n.x1),t.setAttribute("fy",n.y1),t.setAttribute("fr",n.r1),t.setAttribute("cx",n.x2),t.setAttribute("cy",n.y2),t.setAttribute("r",n.r2)}else(t=qc(t,e++,"linearGradient",ff)).setAttribute("id",n.id),t.setAttribute("x1",n.x1),t.setAttribute("x2",n.x2),t.setAttribute("y1",n.y1),t.setAttribute("y2",n.y2);for(r=0,i=n.stops.length;r<i;++r)(a=qc(t,r,"stop",ff)).setAttribute("offset",n.stops[r].offset),a.setAttribute("stop-color",n.stops[r].color);return Lc(t,r),e}function mf(t,n,e){var r;return(t=qc(t,e,"clipPath",ff)).setAttribute("id",n.id),n.path?(r=qc(t,0,"path",ff)).setAttribute("d",n.path):((r=qc(t,0,"rect",ff)).setAttribute("x",0),r.setAttribute("y",0),r.setAttribute("width",n.width),r.setAttribute("height",n.height)),e+1}function vf(t,n){for(;t&&t.dirty!==n;t=t.mark.group){if(t.dirty=n,!t.mark||t.mark.dirty===n)return;t.mark.dirty=n}}function yf(t,n,e,r,i){var a,u=t._svg;if(!u&&(u=Oc(a=n.ownerDocument,r,ff),t._svg=u,t.mark&&(u.__data__=t,u.__values__={fill:"default"},"g"===r))){var o=Oc(a,"path",ff);o.setAttribute("class","background"),u.appendChild(o),o.__data__=t;var s=Oc(a,"g",ff);u.appendChild(s),s.__data__=t}return(u.ownerSVGElement!==i||function(t){var n=t.mark||t.group;return n&&n.items.length>1}(t)&&u.previousSibling!==e)&&n.insertBefore(u,e?e.nextSibling:n.firstChild),u}df.initialize=function(t,n,e,r){return t&&(this._svg=qc(t,0,"svg",ff),this._svg.setAttribute("class","marks"),Lc(t,1),this._root=qc(this._svg,0,"g",ff),Lc(this._svg,1)),this._defs={gradient:{},clipping:{}},this.background(this._bgcolor),pf.initialize.call(this,t,n,e,r)},df.background=function(t){return arguments.length&&this._svg&&this._svg.style.setProperty("background-color",t),pf.background.apply(this,arguments)},df.resize=function(t,n,e,r){return pf.resize.call(this,t,n,e,r),this._svg&&(this._svg.setAttribute("width",this._width*this._scale),this._svg.setAttribute("height",this._height*this._scale),this._svg.setAttribute("viewBox","0 0 "+this._width+" "+this._height),this._root.setAttribute("transform","translate("+this._origin+")")),this._dirty=[],this},df.canvas=function(){return this._svg},df.svg=function(){if(!this._svg)return null;var t={class:"marks",width:this._width*this._scale,height:this._height*this._scale,viewBox:"0 0 "+this._width+" "+this._height};for(var n in sf)t[n]=sf[n];var e=this._bgcolor?uf("rect",{width:this._width,height:this._height,style:"fill: "+this._bgcolor+";"})+of("rect"):"";return uf("svg",t)+e+this._svg.innerHTML+of("svg")},df._render=function(t){return this._dirtyCheck()&&(this._dirtyAll&&this._resetDefs(),this.draw(this._root,t),Lc(this._root,1)),this.updateDefs(),this._dirty=[],++this._dirtyID,this},df.updateDefs=function(){var t,n=this._svg,e=this._defs,r=e.el,i=0;for(t in e.gradient)r||(e.el=r=qc(n,0,"defs",ff)),i=gf(r,e.gradient[t],i);for(t in e.clipping)r||(e.el=r=qc(n,0,"defs",ff)),i=mf(r,e.clipping[t],i);r&&(0===i?(n.removeChild(r),e.el=null):Lc(r,i))},df._resetDefs=function(){var t=this._defs;t.gradient={},t.clipping={}},df.dirty=function(t){t.dirty!==this._dirtyID&&(t.dirty=this._dirtyID,this._dirty.push(t))},df.isDirty=function(t){return this._dirtyAll||!t._svg||t.dirty===this._dirtyID},df._dirtyCheck=function(){this._dirtyAll=!0;var t=this._dirty;if(!t.length)return!0;var n,e,r,i,a,u,o,s=++this._dirtyID;for(a=0,u=t.length;a<u;++a)(e=(n=t[a]).mark).marktype!==r&&(r=e.marktype,i=kc[r]),e.zdirty&&e.dirty!==s&&(this._dirtyAll=!1,vf(n,s),e.items.forEach((function(t){t.dirty=s}))),e.zdirty||(n.exit?(i.nested&&e.items.length?(o=e.items[0])._svg&&this._update(i,o._svg,o):n._svg&&(o=n._svg.parentNode)&&o.removeChild(n._svg),n._svg=null):(n=i.nested?e.items[0]:n)._update!==s&&(n._svg&&n._svg.ownerSVGElement?this._update(i,n._svg,n):(this._dirtyAll=!1,vf(n,s)),n._update=s));return!this._dirtyAll},df.draw=function(t,n,e){if(!this.isDirty(n))return n._svg;var r,i=this,a=this._svg,u=kc[n.marktype],o=!1===n.interactive?"none":null,s="g"===u.tag,l=null,c=0;function f(t){var n=i.isDirty(t),e=yf(t,r,l,u.tag,a);n&&(i._update(u,e,t),s&&function(t,n,e){n=n.lastChild;var r,i=0;Fl(e,(function(e){r=t.draw(n,e,r),++i})),Lc(n,1+i)}(i,e,t)),l=e,++c}return(r=yf(n,t,e,"g",a)).setAttribute("class",Pc(n)),s||r.style.setProperty("pointer-events",o),n.clip?r.setAttribute("clip-path",Hl(i,n,n.group)):r.removeAttribute("clip-path"),u.nested?n.items.length&&f(n.items[0]):Fl(n,f),Lc(r,c),r};var _f=null,xf=null,bf={group:function(t,n,e){xf=n.__values__,_f=n.childNodes[1],t.foreground(Af,e,this),_f=n.childNodes[0],t.background(Af,e,this);var r=!1===e.mark.interactive?"none":null;r!==xf.events&&(_f.style.setProperty("pointer-events",r),xf.events=r)},text:function(t,n,e){var r;(r=vc(e))!==xf.text&&(n.textContent=r,xf.text=r),wf(n,"font-family",yc(e)),wf(n,"font-size",gc(e)+"px"),wf(n,"font-style",e.fontStyle),wf(n,"font-variant",e.fontVariant),wf(n,"font-weight",e.fontWeight)}};function wf(t,n,e){e!==xf[n]&&(null==e?t.style.removeProperty(n):t.style.setProperty(n,e+""),xf[n]=e)}function Af(t,n,e){n!==xf[t]&&(null!=n?e?_f.setAttributeNS(e,t,n):_f.setAttribute(t,n):e?_f.removeAttributeNS(e,t):_f.removeAttribute(t),xf[t]=n)}function Mf(){var t;return"undefined"==typeof window?"":(t=window.location).hash?t.href.slice(0,-t.hash.length):t.href}function kf(t){Wc.call(this,t),this._text={head:"",bg:"",root:"",foot:"",defs:"",body:""},this._defs={gradient:{},clipping:{}}}df._update=function(t,n,e){_f=n,xf=n.__values__,t.attr(Af,e,this);var r=bf[t.type];r&&r.call(this,t,n,e),this.style(_f,e)},df.style=function(t,n){var e,r,i,a,u;if(null!=n)for(e=0,r=cf.length;e<r;++e)u=n[i=cf[e]],"font"===i&&(u=yc(n)),u!==xf[i]&&(a=lf[i],null==u?"fill"===a?t.style.setProperty(a,"none"):t.style.removeProperty(a):(ro(u)&&(u=io(u,this._defs.gradient,Mf())),t.style.setProperty(a,u+"")),xf[i]=u)};var Ef,Df=it(kf,Wc),Cf=Wc.prototype;function Ff(t,n,e,r){Ef[r||t]=n}function Sf(t,n,e,r){if(null==t)return"";var i,a,u,o,s,l="";for("bgrect"===e&&!1===n.interactive&&(l+="pointer-events: none; "),"text"===e&&(l+="font-family: "+yc(t)+"; ",l+="font-size: "+gc(t)+"px; ",t.fontStyle&&(l+="font-style: "+t.fontStyle+"; "),t.fontVariant&&(l+="font-variant: "+t.fontVariant+"; "),t.fontWeight&&(l+="font-weight: "+t.fontWeight+"; ")),i=0,a=cf.length;i<a;++i)u=cf[i],o=lf[u],null==(s=t[u])?"fill"===o&&(l+="fill: none; "):"transparent"!==s||"fill"!==o&&"stroke"!==o?(ro(s)&&(s=io(s,r.gradient,"")),l+=o+": "+s+"; "):l+=o+": none; ";return l?'style="'+l.trim()+'"':null}Df.resize=function(t,n,e,r){Cf.resize.call(this,t,n,e,r);var i=this._origin,a=this._text,u={class:"marks",width:this._width*this._scale,height:this._height*this._scale,viewBox:"0 0 "+this._width+" "+this._height};for(var o in sf)u[o]=sf[o];a.head=uf("svg",u);var s=this._bgcolor;return"transparent"!==s&&"none"!==s||(s=null),a.bg=s?uf("rect",{width:this._width,height:this._height,style:"fill: "+s+";"})+of("rect"):"",a.root=uf("g",{transform:"translate("+i+")"}),a.foot=of("g")+of("svg"),this},Df.background=function(){var t=Cf.background.apply(this,arguments);return arguments.length&&this._text.head&&this.resize(this._width,this._height,this._origin,this._scale),t},Df.svg=function(){var t=this._text;return t.head+t.bg+t.defs+t.root+t.body+t.foot},Df._render=function(t){return this._text.body=this.mark(t),this._text.defs=this.buildDefs(),this},Df.buildDefs=function(){var t,n,e,r,i,a=this._defs,u="";for(n in a.gradient){for(i=(e=a.gradient[n]).stops,"radial"===e.gradient?(u+=uf(r="pattern",{id:eo+n,viewBox:"0,0,1,1",width:"100%",height:"100%",preserveAspectRatio:"xMidYMid slice"}),u+=uf("rect",{width:"1",height:"1",fill:"url(#"+n+")"})+of("rect"),u+=of(r),u+=uf(r="radialGradient",{id:n,fx:e.x1,fy:e.y1,fr:e.r1,cx:e.x2,cy:e.y2,r:e.r2})):u+=uf(r="linearGradient",{id:n,x1:e.x1,x2:e.x2,y1:e.y1,y2:e.y2}),t=0;t<i.length;++t)u+=uf("stop",{offset:i[t].offset,"stop-color":i[t].color})+of("stop");u+=of(r)}for(n in a.clipping)e=a.clipping[n],u+=uf("clipPath",{id:n}),e.path?u+=uf("path",{d:e.path})+of("path"):u+=uf("rect",{x:0,y:0,width:e.width,height:e.height})+of("rect"),u+=of("clipPath");return u.length>0?uf("defs")+u+of("defs"):""},Df.attributes=function(t,n){return Ef={},t(Ff,n,this),Ef},Df.href=function(t){var n,e=this,r=t.href;if(r){if(n=e._hrefs&&e._hrefs[r])return n;e.sanitizeURL(r).then((function(t){t["xlink:href"]=t.href,t.href=null,(e._hrefs||(e._hrefs={}))[r]=t}))}return null},Df.mark=function(t){var n,e=this,r=kc[t.marktype],i=r.tag,a=this._defs,u="";function o(o){var s=e.href(o);s&&(u+=uf("a",s)),n="g"!==i?Sf(o,t,i,a):null,u+=uf(i,e.attributes(r.attr,o),n),"text"===i?u+=vc(o).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;"):"g"===i&&(u+=uf("path",e.attributes(r.background,o),Sf(o,t,"bgrect",a))+of("path"),u+=uf("g",e.attributes(r.foreground,o))+e.markGroup(o)+of("g")),u+=of(i),s&&(u+=of("a"))}return"g"!==i&&!1===t.interactive&&(n='style="pointer-events: none;"'),u+=uf("g",{class:Pc(t),"clip-path":t.clip?Hl(e,t,t.group):null},n),r.nested?t.items&&t.items.length&&o(t.items[0]):Fl(t,o),u+of("g")},Df.markGroup=function(t){var n=this,e="";return Fl(t,(function(t){e+=n.mark(t)})),e};var Bf={Canvas:"canvas",PNG:"png",SVG:"svg",None:"none"},Tf={};function zf(t,n){return t=String(t||"").toLowerCase(),arguments.length>1?(Tf[t]=n,this):Tf[t]}function Nf(t,n,e){const r=[],a=(new Ku).union(n),u=t.marktype;return u?Of(t,a,e,r):"group"===u?Rf(t,a,e,r):i("Intersect scene must be mark node or group item.")}function Of(t,n,e,r){if(function(t,n,e){return t.bounds&&n.intersects(t.bounds)&&("group"===t.marktype||!1!==t.interactive&&(!e||e(t)))}(t,n,e)){const i=t.items,a=t.marktype,u=i.length;let o=0;if("group"===a)for(;o<u;++o)Rf(i[o],n,e,r);else for(const t=kc[a].isect;o<u;++o){let e=i[o];qf(e,n,t)&&r.push(e)}}return r}function Rf(t,n,e,r){e&&e(t.mark)&&qf(t,n,kc.group.isect)&&r.push(t);const i=t.items,a=i&&i.length;if(a){const u=t.x||0,o=t.y||0;n.translate(-u,-o);for(let t=0;t<a;++t)Of(i[t],n,e,r);n.translate(u,o)}return r}function qf(t,n,e){const r=t.bounds;return n.encloses(r)||n.intersects(r)&&e(t,n)}Tf.canvas=Tf.png={renderer:Qc,headless:Qc,handler:Gc},Tf.svg={renderer:hf,headless:kf,handler:ef},Tf.none={};var Lf=new Ku;function Pf(t){var n=t.clip;if(Y(n))n(dl(Lf.clear()));else{if(!n)return;Lf.set(0,0,t.group.width,t.group.height)}t.bounds.intersect(Lf)}var Uf=1e-9;function $f(t,n,e){return t===n||("path"===e?jf(t,n):t instanceof Date&&n instanceof Date?+t==+n:st(t)&&st(n)?Math.abs(t-n)<=Uf:t&&n&&(o(t)||o(n))?null!=t&&null!=n&&function(t,n){var e,r,i=Object.keys(t),a=Object.keys(n);if(i.length!==a.length)return!1;for(i.sort(),a.sort(),r=i.length-1;r>=0;r--)if(i[r]!=a[r])return!1;for(r=i.length-1;r>=0;r--)if(e=i[r],!$f(t[e],n[e],e))return!1;return typeof t==typeof n}(t,n):t==n)}function jf(t,n){return $f(Fs(t),Fs(n))}function If(t){Vr.call(this,null,t)}function Wf(t,n,e){return n(t.bounds.clear(),t,e)}it(If,Vr).transform=function(t,n){var e,r=n.dataflow,i=t.mark,a=i.marktype,u=kc[a],o=u.bound,s=i.bounds;return u.nested?(i.items.length&&r.dirty(i.items[0]),s=Wf(i,o),i.items.forEach((function(t){t.bounds.clear().union(s)}))):a===Fu||t.modified()?(n.visit(n.MOD,(function(t){r.dirty(t)})),s.clear(),i.items.forEach((function(t){s.union(Wf(t,o))})),i.role===Nu&&n.reflow()):(e=n.changed(n.REM),n.visit(n.ADD,(function(t){s.union(Wf(t,o))})),n.visit(n.MOD,(function(t){e=e||s.alignsWith(t.bounds),r.dirty(t),s.union(Wf(t,o))})),e&&(s.clear(),i.items.forEach((function(t){s.union(t.bounds)})))),Pf(i),n.modifies("bounds")};var Hf=":vega_identifier:";function Yf(t){Vr.call(this,0,t)}function Gf(t){Vr.call(this,null,t)}function Vf(t){Vr.call(this,null,t)}Yf.Definition={type:"Identifier",metadata:{modifies:!0},params:[{name:"as",type:"string",required:!0}]},it(Yf,Vr).transform=function(t,n){var e=function(t){var n=t._signals[Hf];n||(t._signals[Hf]=n=t.add(0));return n}(n.dataflow),r=e.value,i=t.as;return n.visit(n.ADD,(function(t){t[i]||(t[i]=++r)})),e.set(this.value=r),n},it(Gf,Vr).transform=function(t,n){var e=this.value;e||((e=n.dataflow.scenegraph().mark(t.markdef,function(t){var n=t.groups,e=t.parent;return n&&1===n.size?n.get(Object.keys(n.object)[0]):n&&e?n.lookup(e):null}(t),t.index)).group.context=t.context,t.context.group||(t.context.group=e.group),e.source=this.source,e.clip=t.clip,e.interactive=t.interactive,this.value=e);var r=e.marktype===Fu?so:oo;return n.visit(n.ADD,(function(t){r.call(t,e)})),(t.modified("clip")||t.modified("interactive"))&&(e.clip=t.clip,e.interactive=!!t.interactive,e.zdirty=!0,n.reflow()),e.items=n.source,n};var Xf=it(Vf,Vr),Zf={parity:function(t){return t.filter((t,n)=>n%2?t.opacity=0:1)},greedy:function(t,n){var e;return t.filter((t,r)=>r&&Jf(e.bounds,t.bounds,n)?t.opacity=0:(e=t,1))}};function Jf(t,n,e){return e>Math.max(n.x1-t.x2,t.x1-n.x2,n.y1-t.y2,t.y1-n.y2)}function Qf(t,n){for(var e,r=1,i=t.length,a=t[0].bounds;r<i;a=e,++r)if(Jf(a,e=t[r].bounds,n))return!0}function Kf(t){var n=t.bounds;return n.width()>1&&n.height()>1}function th(t){return t.forEach(t=>t.opacity=1),t}function nh(t,n){return t.reflow(n.modified()).modifies("opacity")}function eh(t){Vr.call(this,null,t)}Xf.transform=function(t,n){var e,r,i,a=Zf[t.method]||Zf.parity,u=n.materialize(n.SOURCE).source,o=t.separation||0;if(u&&u.length){if(!t.method)return t.modified("method")&&(th(u),n=nh(n,t)),n;if(t.sort&&(u=u.slice().sort(t.sort)),e=th(u=u.filter(Kf)),n=nh(n,t),e.length>=3&&Qf(e,o)){do{e=a(e,o)}while(e.length>=3&&Qf(e,o));e.length<3&&!k(u).opacity&&(e.length>1&&(k(e).opacity=0),k(u).opacity=1)}return t.boundScale&&t.boundTolerance>=0&&(r=function(t,n,e){var r=t.range(),i=new Ku;return n===mu||n===_u?i.set(r[0],-1/0,r[1],1/0):i.set(-1/0,r[0],1/0,r[1]),i.expand(e||1),t=>i.encloses(t.bounds)}(t.boundScale,t.boundOrient,+t.boundTolerance),u.forEach(t=>{r(t)||(t.opacity=0)})),i=e[0].mark.bounds.clear(),u.forEach(t=>{t.opacity&&i.union(t.bounds)}),n}},it(eh,Vr).transform=function(t,n){var e=n.dataflow;if(n.visit(n.ALL,(function(t){e.dirty(t)})),n.fields&&n.fields.zindex){var r=n.source&&n.source[0];r&&(r.mark.zdirty=!0)}};const rh=new Ku;function ih(t,n,e){return t[n]===e?0:(t[n]=e,1)}const ah=.5;function uh(t){var n=t.items[0].datum.orient;return n===vu||n===yu}function oh(t,n,e,r){var i,a,u=n.items[0],o=u.datum,s=o.orient,l=function(t){var n=+t.grid;return[t.ticks?n++:-1,t.labels?n++:-1,n+ +t.domain]}(o),c=u.range,f=u.offset,h=u.position,d=u.minExtent,p=u.maxExtent,g=o.title&&u.items[l[2]].items[0],m=u.titlePadding,v=u.bounds,y=0,_=0;switch(rh.clear().union(v),v.clear(),(i=l[0])>-1&&v.union(u.items[i].bounds),(i=l[1])>-1&&v.union(u.items[i].bounds),s){case mu:y=h||0,_=-f,a=Math.max(d,Math.min(p,-v.y1)),g&&(a=sh(g,a,m,0,-1,v)),v.add(0,-a).add(c,0);break;case vu:y=-f,_=h||0,a=Math.max(d,Math.min(p,-v.x1)),g&&(a=sh(g,a,m,1,-1,v)),v.add(-a,0).add(0,c);break;case yu:y=e+f,_=h||0,a=Math.max(d,Math.min(p,v.x2)),g&&(a=sh(g,a,m,1,1,v)),v.add(0,0).add(a,c);break;case _u:y=h||0,_=r+f,a=Math.max(d,Math.min(p,v.y2)),g&&(a=sh(g,a,m,0,1,v)),v.add(0,0).add(c,a);break;default:y=u.x,_=u.y}return cl(v.translate(y,_),u),ih(u,"x",y+ah)|ih(u,"y",_+ah)&&(u.bounds=rh,t.dirty(u),u.bounds=v,t.dirty(u)),u.mark.bounds.clear().union(v)}function sh(t,n,e,r,i,a){var u=t.bounds,o=0,s=0;return t.auto?(n+=e,r?o=(t.x||0)-(t.x=i*n):s=(t.y||0)-(t.y=i*n),u.translate(-o,-s),t.mark.bounds.set(u.x1,u.y1,u.x2,u.y2),r?(a.add(0,u.y1).add(0,u.y2),n+=u.width()):(a.add(u.x1,0).add(u.x2,0),n+=u.height())):a.union(u),n}function lh(t){return(new Ku).set(0,0,t.width||0,t.height||0)}function ch(t){var n=t.bounds.clone();return n.empty()?n.set(0,0,0,0):n.translate(-(t.x||0),-(t.y||0))}function fh(t,n,e){var r=o(t)?t[n]:t;return null!=r?r:void 0!==e?e:0}function hh(t){return t<0?Math.ceil(-t):0}function dh(t,n,e){var r,i,a,u,o,s,l,c,f,h,d,p=!e.nodirty,g=e.bounds===Zu?lh:ch,m=rh.set(0,0,0,0),v=fh(e.align,Ju),y=fh(e.align,Qu),_=fh(e.padding,Ju),x=fh(e.padding,Qu),b=e.columns||n.length,w=b<0?1:Math.ceil(n.length/b),A=n.length,M=Array(A),k=Array(b),E=0,D=Array(A),C=Array(w),F=0,S=Array(A),B=Array(A),T=Array(A);for(i=0;i<b;++i)k[i]=0;for(i=0;i<w;++i)C[i]=0;for(i=0;i<A;++i)s=n[i],o=T[i]=g(s),s.x=s.x||0,S[i]=0,s.y=s.y||0,B[i]=0,a=i%b,u=~~(i/b),E=Math.max(E,l=Math.ceil(o.x2)),F=Math.max(F,c=Math.ceil(o.y2)),k[a]=Math.max(k[a],l),C[u]=Math.max(C[u],c),M[i]=_+hh(o.x1),D[i]=x+hh(o.y1),p&&t.dirty(n[i]);for(i=0;i<A;++i)i%b==0&&(M[i]=0),i<b&&(D[i]=0);if(v===Xu)for(a=1;a<b;++a){for(d=0,i=a;i<A;i+=b)d<M[i]&&(d=M[i]);for(i=a;i<A;i+=b)M[i]=d+k[a-1]}else if(v===Vu){for(d=0,i=0;i<A;++i)i%b&&d<M[i]&&(d=M[i]);for(i=0;i<A;++i)i%b&&(M[i]=d+E)}else for(v=!1,a=1;a<b;++a)for(i=a;i<A;i+=b)M[i]+=k[a-1];if(y===Xu)for(u=1;u<w;++u){for(d=0,r=(i=u*b)+b;i<r;++i)d<D[i]&&(d=D[i]);for(i=u*b;i<r;++i)D[i]=d+C[u-1]}else if(y===Vu){for(d=0,i=b;i<A;++i)d<D[i]&&(d=D[i]);for(i=b;i<A;++i)D[i]=d+F}else for(y=!1,u=1;u<w;++u)for(r=(i=u*b)+b;i<r;++i)D[i]+=C[u-1];for(f=0,i=0;i<A;++i)f=M[i]+(i%b?f:0),S[i]+=f-n[i].x;for(a=0;a<b;++a)for(h=0,i=a;i<A;i+=b)h+=D[i],B[i]+=h-n[i].y;if(v&&fh(e.center,Ju)&&w>1)for(i=0;i<A;++i)(f=(o=v===Vu?E:k[i%b])-T[i].x2-n[i].x-S[i])>0&&(S[i]+=f/2);if(y&&fh(e.center,Qu)&&1!==b)for(i=0;i<A;++i)(h=(o=y===Vu?F:C[~~(i/b)])-T[i].y2-n[i].y-B[i])>0&&(B[i]+=h/2);for(i=0;i<A;++i)m.union(T[i].translate(S[i],B[i]));switch(f=fh(e.anchor,Du),h=fh(e.anchor,Cu),fh(e.anchor,Ju)){case Eu:f-=m.width();break;case ku:f-=m.width()/2}switch(fh(e.anchor,Qu)){case Eu:h-=m.height();break;case ku:h-=m.height()/2}for(f=Math.round(f),h=Math.round(h),m.clear(),i=0;i<A;++i)n[i].mark.bounds.clear();for(i=0;i<A;++i)(s=n[i]).x+=S[i]+=f,s.y+=B[i]+=h,m.union(s.mark.bounds.union(s.bounds.translate(S[i],B[i]))),p&&t.dirty(s);return m}function ph(t,n,e){var r,i,a,u,o,s,l,c=function(t){for(var n,e,r=t.items,i=r.length,a=0,u={marks:[],rowheaders:[],rowfooters:[],colheaders:[],colfooters:[],rowtitle:null,coltitle:null};a<i;++a)if(e=(n=r[a]).items,n.marktype===Fu)switch(n.role){case Su:case Nu:break;case Ou:u.rowheaders.push(...e);break;case Ru:u.rowfooters.push(...e);break;case Lu:u.colheaders.push(...e);break;case Pu:u.colfooters.push(...e);break;case qu:u.rowtitle=e[0];break;case Uu:u.coltitle=e[0];break;default:u.marks.push(...e)}return u}(n),f=c.marks,h=e.bounds===Zu?gh:mh,d=e.offset,p=e.columns||f.length,g=p<0?1:Math.ceil(f.length/p),m=g*p;const v=dh(t,f,e);c.rowheaders&&(s=fh(e.headerBand,Qu,null),r=_h(t,c.rowheaders,f,p,g,-fh(d,"rowHeader"),vh,0,h,"x1",0,p,1,s)),c.colheaders&&(s=fh(e.headerBand,Ju,null),i=_h(t,c.colheaders,f,p,p,-fh(d,"columnHeader"),vh,1,h,"y1",0,1,p,s)),c.rowfooters&&(s=fh(e.footerBand,Qu,null),a=_h(t,c.rowfooters,f,p,g,fh(d,"rowFooter"),yh,0,h,"x2",p-1,p,1,s)),c.colfooters&&(s=fh(e.footerBand,Ju,null),u=_h(t,c.colfooters,f,p,p,fh(d,"columnFooter"),yh,1,h,"y2",m-p,1,p,s)),c.rowtitle&&(o=fh(e.titleAnchor,Qu),l=fh(d,"rowTitle"),l=o===Eu?a+l:r-l,s=fh(e.titleBand,Qu,.5),xh(t,c.rowtitle,l,0,v,s)),c.coltitle&&(o=fh(e.titleAnchor,Ju),l=fh(d,"columnTitle"),l=o===Eu?u+l:i-l,s=fh(e.titleBand,Ju,.5),xh(t,c.coltitle,l,1,v,s))}function gh(t,n){return"x1"===n?t.x||0:"y1"===n?t.y||0:"x2"===n?(t.x||0)+(t.width||0):"y2"===n?(t.y||0)+(t.height||0):void 0}function mh(t,n){return t.bounds[n]}function vh(t,n){return Math.floor(Math.min(t,n))}function yh(t,n){return Math.ceil(Math.max(t,n))}function _h(t,n,e,r,i,a,u,o,s,l,c,f,h,d){var p,g,m,v,y,_,x,b,w,A=e.length,M=0,k=0;if(!A)return M;for(p=c;p<A;p+=f)e[p]&&(M=u(M,s(e[p],l)));if(!n.length)return M;for(n.length>i&&(t.warn("Grid headers exceed limit: "+i),n=n.slice(0,i)),M+=a,g=0,v=n.length;g<v;++g)t.dirty(n[g]),n[g].mark.bounds.clear();for(p=c,g=0,v=n.length;g<v;++g,p+=f){for(y=(_=n[g]).mark.bounds,m=p;m>=0&&null==(x=e[m]);m-=h);o?(b=null==d?x.x:Math.round(x.bounds.x1+d*x.bounds.width()),w=M):(b=M,w=null==d?x.y:Math.round(x.bounds.y1+d*x.bounds.height())),y.union(_.bounds.translate(b-(_.x||0),w-(_.y||0))),_.x=b,_.y=w,t.dirty(_),k=u(k,y[l])}return k}function xh(t,n,e,r,i,a){if(n){t.dirty(n);var u=e,o=e;r?u=Math.round(i.x1+a*i.width()):o=Math.round(i.y1+a*i.height()),n.bounds.translate(u-(n.x||0),o-(n.y||0)),n.mark.bounds.clear().union(n.bounds),n.x=u,n.y=o,t.dirty(n)}}function bh(t,n,e,r,i,a,u){const o=function(t,n){const e=t[n]||{};return(n,r)=>null!=e[n]?e[n]:null!=t[n]?t[n]:r}(e,n),s=function(t,n){var e=-1/0;return t.forEach(t=>{null!=t.offset&&(e=Math.max(e,t.offset))}),e>-1/0?e:n}(t,o("offset",0)),l=o("anchor",Mu),c=l===Eu?1:l===ku?.5:0,f={align:Xu,bounds:o("bounds",Zu),columns:"vertical"===o("direction")?1:t.length,padding:o("margin",8),center:o("center"),nodirty:!0};switch(n){case vu:f.anchor={x:Math.floor(r.x1)-s,column:Eu,y:c*(u||r.height()+2*r.y1),row:l};break;case yu:f.anchor={x:Math.ceil(r.x2)+s,y:c*(u||r.height()+2*r.y1),row:l};break;case mu:f.anchor={y:Math.floor(i.y1)-s,row:Eu,x:c*(a||i.width()+2*i.x1),column:l};break;case _u:f.anchor={y:Math.ceil(i.y2)+s,x:c*(a||i.width()+2*i.x1),column:l};break;case xu:f.anchor={x:s,y:s};break;case bu:f.anchor={x:a-s,y:s,column:Eu};break;case wu:f.anchor={x:s,y:u-s,row:Eu};break;case Au:f.anchor={x:a-s,y:u-s,column:Eu,row:Eu}}return f}function wh(t,n){var e,r,i,a,u=n.items[0],o=u.datum,s=u.orient,l=u.bounds,c=u.x,f=u.y;return u._bounds?u._bounds.clear().union(l):u._bounds=l.clone(),l.clear(),function(t,n,e){var r=n.padding,i=r-e.x,a=r-e.y;if(n.datum.title){var u=n.items[1].items[0],o=u.anchor,s=n.titlePadding||0,l=r-u.x,c=r-u.y;switch(u.orient){case vu:i+=Math.ceil(u.bounds.width())+s;break;case yu:case _u:break;default:a+=u.fontSize+s}switch((i||a)&&Mh(t,e,i,a),u.orient){case vu:c+=Ah(n,e,u,o,0,1);break;case yu:l+=Ah(n,e,u,Eu,1,0)+s,c+=Ah(n,e,u,o,0,1);break;case _u:l+=Ah(n,e,u,o,1,0),c+=Ah(n,e,u,Eu,0,0,1)+s;break;default:l+=Ah(n,e,u,o,1,0)}(l||c)&&Mh(t,u,l,c),(l=Math.round(u.bounds.x1-r))<0&&(Mh(t,e,-l,0),Mh(t,u,-l,0))}else(i||a)&&Mh(t,e,i,a)}(t,u,u.items[0].items[0]),l=function(t,n){return t.items.forEach(t=>n.union(t.bounds)),n.x1=t.padding,n.y1=t.padding,n}(u,l),e=2*u.padding,r=2*u.padding,l.empty()||(e=Math.ceil(l.width()+e),r=Math.ceil(l.height()+r)),o.type===ju&&(i=u.items[0].items[0].items[0].items,a=i.reduce((function(t,n){return t[n.column]=Math.max(n.bounds.x2-n.x,t[n.column]||0),t}),{}),i.forEach((function(t){t.width=a[t.column],t.height=t.bounds.y2-t.y}))),s!==Gu&&(u.x=c=0,u.y=f=0),u.width=e,u.height=r,cl(l.set(c,f,c+e,f+r),u),u.mark.bounds.clear().union(l),u}function Ah(t,n,e,r,i,a,u){const o="symbol"!==t.datum.type,s=e.datum.vgrad,l=(!o||!a&&s||u?n:n.items[0]).bounds[i?"x2":"y2"]-t.padding,c=s&&a?l:0,f=s&&a?0:l;return Math.round(r===Mu?c:r===Eu?f:.5*l)}function Mh(t,n,e,r){n.x+=e,n.y+=r,n.bounds.translate(e,r),n.mark.bounds.translate(e,r),t.dirty(n)}function kh(t){Vr.call(this,null,t)}it(kh,Vr).transform=function(t,n){var e=n.dataflow;return t.mark.items.forEach((function(n){t.layout&&ph(e,n,t.layout),function(t,n,e){var r,i,a,u,o,s=n.items,l=Math.max(0,n.width||0),c=Math.max(0,n.height||0),f=(new Ku).set(0,0,l,c),h=f.clone(),d=f.clone(),p=[];for(u=0,o=s.length;u<o;++u)switch((i=s[u]).role){case Su:(uh(i)?h:d).union(oh(t,i,l,c));break;case Bu:r=i;break;case Nu:p.push(wh(t,i));break;case Tu:case zu:case Ou:case Ru:case qu:case Lu:case Pu:case Uu:h.union(i.bounds),d.union(i.bounds);break;default:f.union(i.bounds)}if(p.length){const n={};p.forEach(t=>{(a=t.orient||yu)!==Gu&&(n[a]||(n[a]=[])).push(t)});for(let r in n){const i=n[r];dh(t,i,bh(i,r,e.legends,h,d,l,c))}p.forEach(n=>{const r=n.bounds;if(r.equals(n._bounds)||(n.bounds=n._bounds,t.dirty(n),n.bounds=r,t.dirty(n)),e.autosize&&e.autosize.type===Iu)switch(n.orient){case vu:case yu:f.add(r.x1,0).add(r.x2,0);break;case mu:case _u:f.add(0,r.y1).add(0,r.y2)}else f.union(r)})}f.union(h).union(d),r&&f.union(function(t,n,e,r,i){var a,u=n.items[0],o=u.frame,s=u.orient,l=u.anchor,c=u.offset,f=u.bounds,h=0,d=s===vu||s===yu?r:e,p=0,g=0;switch(o!==Fu?s===vu?(h=i.y2,d=i.y1):s===yu?(h=i.y1,d=i.y2):(h=i.x1,d=i.x2):s===vu&&(h=r,d=0),a=l===Mu?h:l===Eu?d:(h+d)/2,rh.clear().union(f),s){case mu:p=a,g=i.y1-c;break;case vu:p=i.x1-c,g=a;break;case yu:p=i.x2+c,g=a;break;case _u:p=a,g=i.y2+c;break;default:p=u.x,g=u.y}return f.translate(p-(u.x||0),g-(u.y||0)),ih(u,"x",p)|ih(u,"y",g)&&(u.bounds=rh,t.dirty(u),u.bounds=f,t.dirty(u)),n.bounds.clear().union(f)}(t,r,l,c,f));n.clip&&f.set(0,0,n.width||0,n.height||0);!function(t,n,e,r){var i=r.autosize||{},a=i.type,u=t._width,o=t._height,s=t.padding();if(t._autosize<1||!a)return;var l=Math.max(0,n.width||0),c=Math.max(0,Math.ceil(-e.x1)),f=Math.max(0,Math.ceil(e.x2-l)),h=Math.max(0,n.height||0),d=Math.max(0,Math.ceil(-e.y1)),p=Math.max(0,Math.ceil(e.y2-h));i.contains===$u&&(u-=s.left+s.right,o-=s.top+s.bottom);a===Gu?(c=0,d=0,l=u,h=o):a===Iu?(l=Math.max(0,u-c-f),h=Math.max(0,o-d-p)):a===Wu?(l=Math.max(0,u-c-f),o=h+d+p):a===Hu?(u=l+c+f,h=Math.max(0,o-d-p)):a===Yu&&(u=l+c+f,o=h+d+p);t._resizeView(u,o,l,h,[c,d],i.resize)}(t,n,f,e)}(e,n,t)})),t.modified()&&n.reflow(),n};var Eh=Object.freeze({bound:If,identifier:Yf,mark:Gf,overlap:Vf,render:eh,viewlayout:kh});function Dh(t,n,e){var r=t-n+2*e;return t?r>0?r:1:0}const Ch="identity",Fh="linear",Sh="log",Bh="pow",Th="sqrt",zh="symlog",Nh="time",Oh="utc",Rh="sequential",qh="diverging",Lh="quantile",Ph="quantize",Uh="threshold",$h="ordinal",jh="point",Ih="band",Wh="bin-ordinal";function Hh(t){return t===Lh}function Yh(t){return function(t){return t&&t.startsWith(Rh)}(t)||function(t){return t&&t.startsWith(qh)}(t)}function Gh(t){return t===Sh||t.endsWith("-log")}function Vh(t){switch(t){case Fh:case Sh:case Bh:case Th:case zh:case Nh:case Oh:case Rh:return!0}return!1}function Xh(t){return t===Wh||t===$h||t===Ih||t===jh}function Zh(t){return t===Wh||t===Lh||t===Ph||t===Uh}var Jh={millisecond:Un,second:In,minute:Wn,hour:Hn,day:Yn,week:Vn,month:Jn,year:Qn},Qh={millisecond:Un,second:In,minute:Kn,hour:te,day:ne,week:re,month:ue,year:oe};function Kh(t,n){const e=n===Oh?Qh:Jh;return tt(e,t)&&e[t]}function td(t,n){switch(arguments.length){case 0:break;case 1:this.range(t);break;default:this.range(n).domain(t)}return this}function nd(t,n){switch(arguments.length){case 0:break;case 1:this.interpolator(t);break;default:this.interpolator(n).domain(t)}return this}const ed=Symbol("implicit");function rd(){var t=new Map,n=[],e=[],r=ed;function i(i){var a=i+"",u=t.get(a);if(!u){if(r!==ed)return r;t.set(a,u=n.push(i))}return e[(u-1)%e.length]}return i.domain=function(e){if(!arguments.length)return n.slice();n=[],t=new Map;for(const r of e){const e=r+"";t.has(e)||t.set(e,n.push(r))}return i},i.range=function(t){return arguments.length?(e=Array.from(t),i):e.slice()},i.unknown=function(t){return arguments.length?(r=t,i):r},i.copy=function(){return rd(n,e).unknown(r)},td.apply(i,arguments),i}function id(t,n,e){t.prototype=n.prototype=e,e.constructor=t}function ad(t,n){var e=Object.create(t.prototype);for(var r in n)e[r]=n[r];return e}function ud(){}var od="\\s*([+-]?\\d+)\\s*",sd="\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)\\s*",ld="\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)%\\s*",cd=/^#([0-9a-f]{3})$/,fd=/^#([0-9a-f]{6})$/,hd=new RegExp("^rgb\\("+[od,od,od]+"\\)$"),dd=new RegExp("^rgb\\("+[ld,ld,ld]+"\\)$"),pd=new RegExp("^rgba\\("+[od,od,od,sd]+"\\)$"),gd=new RegExp("^rgba\\("+[ld,ld,ld,sd]+"\\)$"),md=new RegExp("^hsl\\("+[sd,ld,ld]+"\\)$"),vd=new RegExp("^hsla\\("+[sd,ld,ld,sd]+"\\)$"),yd={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};function _d(){return this.rgb().formatHex()}function xd(){return this.rgb().formatRgb()}function bd(t){var n;return t=(t+"").trim().toLowerCase(),(n=cd.exec(t))?new Ed((n=parseInt(n[1],16))>>8&15|n>>4&240,n>>4&15|240&n,(15&n)<<4|15&n,1):(n=fd.exec(t))?wd(parseInt(n[1],16)):(n=hd.exec(t))?new Ed(n[1],n[2],n[3],1):(n=dd.exec(t))?new Ed(255*n[1]/100,255*n[2]/100,255*n[3]/100,1):(n=pd.exec(t))?Ad(n[1],n[2],n[3],n[4]):(n=gd.exec(t))?Ad(255*n[1]/100,255*n[2]/100,255*n[3]/100,n[4]):(n=md.exec(t))?Sd(n[1],n[2]/100,n[3]/100,1):(n=vd.exec(t))?Sd(n[1],n[2]/100,n[3]/100,n[4]):yd.hasOwnProperty(t)?wd(yd[t]):"transparent"===t?new Ed(NaN,NaN,NaN,0):null}function wd(t){return new Ed(t>>16&255,t>>8&255,255&t,1)}function Ad(t,n,e,r){return r<=0&&(t=n=e=NaN),new Ed(t,n,e,r)}function Md(t){return t instanceof ud||(t=bd(t)),t?new Ed((t=t.rgb()).r,t.g,t.b,t.opacity):new Ed}function kd(t,n,e,r){return 1===arguments.length?Md(t):new Ed(t,n,e,null==r?1:r)}function Ed(t,n,e,r){this.r=+t,this.g=+n,this.b=+e,this.opacity=+r}function Dd(){return"#"+Fd(this.r)+Fd(this.g)+Fd(this.b)}function Cd(){var t=this.opacity;return(1===(t=isNaN(t)?1:Math.max(0,Math.min(1,t)))?"rgb(":"rgba(")+Math.max(0,Math.min(255,Math.round(this.r)||0))+", "+Math.max(0,Math.min(255,Math.round(this.g)||0))+", "+Math.max(0,Math.min(255,Math.round(this.b)||0))+(1===t?")":", "+t+")")}function Fd(t){return((t=Math.max(0,Math.min(255,Math.round(t)||0)))<16?"0":"")+t.toString(16)}function Sd(t,n,e,r){return r<=0?t=n=e=NaN:e<=0||e>=1?t=n=NaN:n<=0&&(t=NaN),new zd(t,n,e,r)}function Bd(t){if(t instanceof zd)return new zd(t.h,t.s,t.l,t.opacity);if(t instanceof ud||(t=bd(t)),!t)return new zd;if(t instanceof zd)return t;var n=(t=t.rgb()).r/255,e=t.g/255,r=t.b/255,i=Math.min(n,e,r),a=Math.max(n,e,r),u=NaN,o=a-i,s=(a+i)/2;return o?(u=n===a?(e-r)/o+6*(e<r):e===a?(r-n)/o+2:(n-e)/o+4,o/=s<.5?a+i:2-a-i,u*=60):o=s>0&&s<1?0:u,new zd(u,o,s,t.opacity)}function Td(t,n,e,r){return 1===arguments.length?Bd(t):new zd(t,n,e,null==r?1:r)}function zd(t,n,e,r){this.h=+t,this.s=+n,this.l=+e,this.opacity=+r}function Nd(t,n,e){return 255*(t<60?n+(e-n)*t/60:t<180?e:t<240?n+(e-n)*(240-t)/60:n)}id(ud,bd,{copy:function(t){return Object.assign(new this.constructor,this,t)},displayable:function(){return this.rgb().displayable()},hex:_d,formatHex:_d,formatHsl:function(){return Bd(this).formatHsl()},formatRgb:xd,toString:xd}),id(Ed,kd,ad(ud,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new Ed(this.r*t,this.g*t,this.b*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new Ed(this.r*t,this.g*t,this.b*t,this.opacity)},rgb:function(){return this},displayable:function(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:Dd,formatHex:Dd,formatRgb:Cd,toString:Cd})),id(zd,Td,ad(ud,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new zd(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new zd(this.h,this.s,this.l*t,this.opacity)},rgb:function(){var t=this.h%360+360*(this.h<0),n=isNaN(t)||isNaN(this.s)?0:this.s,e=this.l,r=e+(e<.5?e:1-e)*n,i=2*e-r;return new Ed(Nd(t>=240?t-240:t+120,i,r),Nd(t,i,r),Nd(t<120?t+240:t-120,i,r),this.opacity)},displayable:function(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl:function(){var t=this.opacity;return(1===(t=isNaN(t)?1:Math.max(0,Math.min(1,t)))?"hsl(":"hsla(")+(this.h||0)+", "+100*(this.s||0)+"%, "+100*(this.l||0)+"%"+(1===t?")":", "+t+")")}}));var Od=Math.PI/180,Rd=180/Math.PI,qd=.96422,Ld=1,Pd=.82521,Ud=4/29,$d=6/29,jd=3*$d*$d,Id=$d*$d*$d;function Wd(t){if(t instanceof Yd)return new Yd(t.l,t.a,t.b,t.opacity);if(t instanceof Qd)return Kd(t);t instanceof Ed||(t=Md(t));var n,e,r=Zd(t.r),i=Zd(t.g),a=Zd(t.b),u=Gd((.2225045*r+.7168786*i+.0606169*a)/Ld);return r===i&&i===a?n=e=u:(n=Gd((.4360747*r+.3850649*i+.1430804*a)/qd),e=Gd((.0139322*r+.0971045*i+.7141733*a)/Pd)),new Yd(116*u-16,500*(n-u),200*(u-e),t.opacity)}function Hd(t,n,e,r){return 1===arguments.length?Wd(t):new Yd(t,n,e,null==r?1:r)}function Yd(t,n,e,r){this.l=+t,this.a=+n,this.b=+e,this.opacity=+r}function Gd(t){return t>Id?Math.pow(t,1/3):t/jd+Ud}function Vd(t){return t>$d?t*t*t:jd*(t-Ud)}function Xd(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function Zd(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function Jd(t,n,e,r){return 1===arguments.length?function(t){if(t instanceof Qd)return new Qd(t.h,t.c,t.l,t.opacity);if(t instanceof Yd||(t=Wd(t)),0===t.a&&0===t.b)return new Qd(NaN,0<t.l&&t.l<100?0:NaN,t.l,t.opacity);var n=Math.atan2(t.b,t.a)*Rd;return new Qd(n<0?n+360:n,Math.sqrt(t.a*t.a+t.b*t.b),t.l,t.opacity)}(t):new Qd(t,n,e,null==r?1:r)}function Qd(t,n,e,r){this.h=+t,this.c=+n,this.l=+e,this.opacity=+r}function Kd(t){if(isNaN(t.h))return new Yd(t.l,0,0,t.opacity);var n=t.h*Od;return new Yd(t.l,Math.cos(n)*t.c,Math.sin(n)*t.c,t.opacity)}id(Yd,Hd,ad(ud,{brighter:function(t){return new Yd(this.l+18*(null==t?1:t),this.a,this.b,this.opacity)},darker:function(t){return new Yd(this.l-18*(null==t?1:t),this.a,this.b,this.opacity)},rgb:function(){var t=(this.l+16)/116,n=isNaN(this.a)?t:t+this.a/500,e=isNaN(this.b)?t:t-this.b/200;return new Ed(Xd(3.1338561*(n=qd*Vd(n))-1.6168667*(t=Ld*Vd(t))-.4906146*(e=Pd*Vd(e))),Xd(-.9787684*n+1.9161415*t+.033454*e),Xd(.0719453*n-.2289914*t+1.4052427*e),this.opacity)}})),id(Qd,Jd,ad(ud,{brighter:function(t){return new Qd(this.h,this.c,this.l+18*(null==t?1:t),this.opacity)},darker:function(t){return new Qd(this.h,this.c,this.l-18*(null==t?1:t),this.opacity)},rgb:function(){return Kd(this).rgb()}}));var tp=-.14861,np=1.78277,ep=-.29227,rp=-.90649,ip=1.97294,ap=ip*rp,up=ip*np,op=np*ep-rp*tp;function sp(t,n,e,r){return 1===arguments.length?function(t){if(t instanceof lp)return new lp(t.h,t.s,t.l,t.opacity);t instanceof Ed||(t=Md(t));var n=t.r/255,e=t.g/255,r=t.b/255,i=(op*r+ap*n-up*e)/(op+ap-up),a=r-i,u=(ip*(e-i)-ep*a)/rp,o=Math.sqrt(u*u+a*a)/(ip*i*(1-i)),s=o?Math.atan2(u,a)*Rd-120:NaN;return new lp(s<0?s+360:s,o,i,t.opacity)}(t):new lp(t,n,e,null==r?1:r)}function lp(t,n,e,r){this.h=+t,this.s=+n,this.l=+e,this.opacity=+r}function cp(t,n,e,r,i){var a=t*t,u=a*t;return((1-3*t+3*a-u)*n+(4-6*a+3*u)*e+(1+3*t+3*a-3*u)*r+u*i)/6}function fp(t){var n=t.length-1;return function(e){var r=e<=0?e=0:e>=1?(e=1,n-1):Math.floor(e*n),i=t[r],a=t[r+1],u=r>0?t[r-1]:2*i-a,o=r<n-1?t[r+2]:2*a-i;return cp((e-r/n)*n,u,i,a,o)}}function hp(t){var n=t.length;return function(e){var r=Math.floor(((e%=1)<0?++e:e)*n),i=t[(r+n-1)%n],a=t[r%n],u=t[(r+1)%n],o=t[(r+2)%n];return cp((e-r/n)*n,i,a,u,o)}}function dp(t){return function(){return t}}function pp(t,n){return function(e){return t+e*n}}function gp(t,n){var e=n-t;return e?pp(t,e>180||e<-180?e-360*Math.round(e/360):e):dp(isNaN(t)?n:t)}function mp(t){return 1==(t=+t)?vp:function(n,e){return e-n?function(t,n,e){return t=Math.pow(t,e),n=Math.pow(n,e)-t,e=1/e,function(r){return Math.pow(t+r*n,e)}}(n,e,t):dp(isNaN(n)?e:n)}}function vp(t,n){var e=n-t;return e?pp(t,e):dp(isNaN(t)?n:t)}id(lp,sp,ad(ud,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new lp(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new lp(this.h,this.s,this.l*t,this.opacity)},rgb:function(){var t=isNaN(this.h)?0:(this.h+120)*Od,n=+this.l,e=isNaN(this.s)?0:this.s*n*(1-n),r=Math.cos(t),i=Math.sin(t);return new Ed(255*(n+e*(tp*r+np*i)),255*(n+e*(ep*r+rp*i)),255*(n+e*(ip*r)),this.opacity)}}));var yp=function t(n){var e=mp(n);function r(t,n){var r=e((t=kd(t)).r,(n=kd(n)).r),i=e(t.g,n.g),a=e(t.b,n.b),u=vp(t.opacity,n.opacity);return function(n){return t.r=r(n),t.g=i(n),t.b=a(n),t.opacity=u(n),t+""}}return r.gamma=t,r}(1);function _p(t){return function(n){var e,r,i=n.length,a=new Array(i),u=new Array(i),o=new Array(i);for(e=0;e<i;++e)r=kd(n[e]),a[e]=r.r||0,u[e]=r.g||0,o[e]=r.b||0;return a=t(a),u=t(u),o=t(o),r.opacity=1,function(t){return r.r=a(t),r.g=u(t),r.b=o(t),r+""}}}var xp=_p(fp),bp=_p(hp);function wp(t,n){var e,r=n?n.length:0,i=t?Math.min(r,t.length):0,a=new Array(i),u=new Array(r);for(e=0;e<i;++e)a[e]=Fp(t[e],n[e]);for(;e<r;++e)u[e]=n[e];return function(t){for(e=0;e<i;++e)u[e]=a[e](t);return u}}function Ap(t,n){var e=new Date;return n-=t=+t,function(r){return e.setTime(t+n*r),e}}function Mp(t,n){return n-=t=+t,function(e){return t+n*e}}function kp(t,n){var e,r={},i={};for(e in null!==t&&"object"==typeof t||(t={}),null!==n&&"object"==typeof n||(n={}),n)e in t?r[e]=Fp(t[e],n[e]):i[e]=n[e];return function(t){for(e in r)i[e]=r[e](t);return i}}var Ep=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,Dp=new RegExp(Ep.source,"g");function Cp(t,n){var e,r,i,a=Ep.lastIndex=Dp.lastIndex=0,u=-1,o=[],s=[];for(t+="",n+="";(e=Ep.exec(t))&&(r=Dp.exec(n));)(i=r.index)>a&&(i=n.slice(a,i),o[u]?o[u]+=i:o[++u]=i),(e=e[0])===(r=r[0])?o[u]?o[u]+=r:o[++u]=r:(o[++u]=null,s.push({i:u,x:Mp(e,r)})),a=Dp.lastIndex;return a<n.length&&(i=n.slice(a),o[u]?o[u]+=i:o[++u]=i),o.length<2?s[0]?function(t){return function(n){return t(n)+""}}(s[0].x):function(t){return function(){return t}}(n):(n=s.length,function(t){for(var e,r=0;r<n;++r)o[(e=s[r]).i]=e.x(t);return o.join("")})}function Fp(t,n){var e,r=typeof n;return null==n||"boolean"===r?dp(n):("number"===r?Mp:"string"===r?(e=bd(n))?(n=e,yp):Cp:n instanceof bd?yp:n instanceof Date?Ap:Array.isArray(n)?wp:"function"!=typeof n.valueOf&&"function"!=typeof n.toString||isNaN(n)?kp:Mp)(t,n)}function Sp(t,n){return n-=t=+t,function(e){return Math.round(t+n*e)}}var Bp,Tp,zp,Np,Op=180/Math.PI,Rp={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function qp(t,n,e,r,i,a){var u,o,s;return(u=Math.sqrt(t*t+n*n))&&(t/=u,n/=u),(s=t*e+n*r)&&(e-=t*s,r-=n*s),(o=Math.sqrt(e*e+r*r))&&(e/=o,r/=o,s/=o),t*r<n*e&&(t=-t,n=-n,s=-s,u=-u),{translateX:i,translateY:a,rotate:Math.atan2(n,t)*Op,skewX:Math.atan(s)*Op,scaleX:u,scaleY:o}}function Lp(t,n,e,r){function i(t){return t.length?t.pop()+" ":""}return function(a,u){var o=[],s=[];return a=t(a),u=t(u),function(t,r,i,a,u,o){if(t!==i||r!==a){var s=u.push("translate(",null,n,null,e);o.push({i:s-4,x:Mp(t,i)},{i:s-2,x:Mp(r,a)})}else(i||a)&&u.push("translate("+i+n+a+e)}(a.translateX,a.translateY,u.translateX,u.translateY,o,s),function(t,n,e,a){t!==n?(t-n>180?n+=360:n-t>180&&(t+=360),a.push({i:e.push(i(e)+"rotate(",null,r)-2,x:Mp(t,n)})):n&&e.push(i(e)+"rotate("+n+r)}(a.rotate,u.rotate,o,s),function(t,n,e,a){t!==n?a.push({i:e.push(i(e)+"skewX(",null,r)-2,x:Mp(t,n)}):n&&e.push(i(e)+"skewX("+n+r)}(a.skewX,u.skewX,o,s),function(t,n,e,r,a,u){if(t!==e||n!==r){var o=a.push(i(a)+"scale(",null,",",null,")");u.push({i:o-4,x:Mp(t,e)},{i:o-2,x:Mp(n,r)})}else 1===e&&1===r||a.push(i(a)+"scale("+e+","+r+")")}(a.scaleX,a.scaleY,u.scaleX,u.scaleY,o,s),a=u=null,function(t){for(var n,e=-1,r=s.length;++e<r;)o[(n=s[e]).i]=n.x(t);return o.join("")}}}var Pp=Lp((function(t){return"none"===t?Rp:(Bp||(Bp=document.createElement("DIV"),Tp=document.documentElement,zp=document.defaultView),Bp.style.transform=t,t=zp.getComputedStyle(Tp.appendChild(Bp),null).getPropertyValue("transform"),Tp.removeChild(Bp),qp(+(t=t.slice(7,-1).split(","))[0],+t[1],+t[2],+t[3],+t[4],+t[5]))}),"px, ","px)","deg)"),Up=Lp((function(t){return null==t?Rp:(Np||(Np=document.createElementNS("http://www.w3.org/2000/svg","g")),Np.setAttribute("transform",t),(t=Np.transform.baseVal.consolidate())?qp((t=t.matrix).a,t.b,t.c,t.d,t.e,t.f):Rp)}),", ",")",")"),$p=Math.SQRT2,jp=2,Ip=4,Wp=1e-12;function Hp(t){return((t=Math.exp(t))+1/t)/2}function Yp(t){return function(n,e){var r=t((n=Td(n)).h,(e=Td(e)).h),i=vp(n.s,e.s),a=vp(n.l,e.l),u=vp(n.opacity,e.opacity);return function(t){return n.h=r(t),n.s=i(t),n.l=a(t),n.opacity=u(t),n+""}}}var Gp=Yp(gp),Vp=Yp(vp);function Xp(t){return function(n,e){var r=t((n=Jd(n)).h,(e=Jd(e)).h),i=vp(n.c,e.c),a=vp(n.l,e.l),u=vp(n.opacity,e.opacity);return function(t){return n.h=r(t),n.c=i(t),n.l=a(t),n.opacity=u(t),n+""}}}var Zp=Xp(gp),Jp=Xp(vp);function Qp(t){return function n(e){function r(n,r){var i=t((n=sp(n)).h,(r=sp(r)).h),a=vp(n.s,r.s),u=vp(n.l,r.l),o=vp(n.opacity,r.opacity);return function(t){return n.h=i(t),n.s=a(t),n.l=u(Math.pow(t,e)),n.opacity=o(t),n+""}}return e=+e,r.gamma=n,r}(1)}var Kp=Qp(gp),tg=Qp(vp);function ng(t,n){for(var e=0,r=n.length-1,i=n[0],a=new Array(r<0?0:r);e<r;)a[e]=t(i,i=n[++e]);return function(t){var n=Math.max(0,Math.min(r-1,Math.floor(t*=r)));return a[n](t-n)}}var eg=Object.freeze({interpolate:Fp,interpolateArray:wp,interpolateBasis:fp,interpolateBasisClosed:hp,interpolateDate:Ap,interpolateDiscrete:function(t){var n=t.length;return function(e){return t[Math.max(0,Math.min(n-1,Math.floor(e*n)))]}},interpolateHue:function(t,n){var e=gp(+t,+n);return function(t){var n=e(t);return n-360*Math.floor(n/360)}},interpolateNumber:Mp,interpolateObject:kp,interpolateRound:Sp,interpolateString:Cp,interpolateTransformCss:Pp,interpolateTransformSvg:Up,interpolateZoom:function(t,n){var e,r,i=t[0],a=t[1],u=t[2],o=n[0],s=n[1],l=n[2],c=o-i,f=s-a,h=c*c+f*f;if(h<Wp)r=Math.log(l/u)/$p,e=function(t){return[i+t*c,a+t*f,u*Math.exp($p*t*r)]};else{var d=Math.sqrt(h),p=(l*l-u*u+Ip*h)/(2*u*jp*d),g=(l*l-u*u-Ip*h)/(2*l*jp*d),m=Math.log(Math.sqrt(p*p+1)-p),v=Math.log(Math.sqrt(g*g+1)-g);r=(v-m)/$p,e=function(t){var n=t*r,e=Hp(m),o=u/(jp*d)*(e*function(t){return((t=Math.exp(2*t))-1)/(t+1)}($p*n+m)-function(t){return((t=Math.exp(t))-1/t)/2}(m));return[i+o*c,a+o*f,u*e/Hp($p*n+m)]}}return e.duration=1e3*r,e},interpolateRgb:yp,interpolateRgbBasis:xp,interpolateRgbBasisClosed:bp,interpolateHsl:Gp,interpolateHslLong:Vp,interpolateLab:function(t,n){var e=vp((t=Hd(t)).l,(n=Hd(n)).l),r=vp(t.a,n.a),i=vp(t.b,n.b),a=vp(t.opacity,n.opacity);return function(n){return t.l=e(n),t.a=r(n),t.b=i(n),t.opacity=a(n),t+""}},interpolateHcl:Zp,interpolateHclLong:Jp,interpolateCubehelix:Kp,interpolateCubehelixLong:tg,piecewise:ng,quantize:function(t,n){for(var e=new Array(n),r=0;r<n;++r)e[r]=t(r/(n-1));return e}});function rg(t){return+t}var ig=[0,1];function ag(t){return t}function ug(t,n){return(n-=t=+t)?function(e){return(e-t)/n}:function(t){return function(){return t}}(isNaN(n)?NaN:.5)}function og(t,n,e){var r=t[0],i=t[1],a=n[0],u=n[1];return i<r?(r=ug(i,r),a=e(u,a)):(r=ug(r,i),a=e(a,u)),function(t){return a(r(t))}}function sg(t,n,e){var r=Math.min(t.length,n.length)-1,i=new Array(r),a=new Array(r),u=-1;for(t[r]<t[0]&&(t=t.slice().reverse(),n=n.slice().reverse());++u<r;)i[u]=ug(t[u],t[u+1]),a[u]=e(n[u],n[u+1]);return function(n){var e=hi(t,n,1,r)-1;return a[e](i[e](n))}}function lg(t,n){return n.domain(t.domain()).range(t.range()).interpolate(t.interpolate()).clamp(t.clamp()).unknown(t.unknown())}function cg(){var t,n,e,r,i,a,u=ig,o=ig,s=Fp,l=ag;function c(){var t=Math.min(u.length,o.length);return l!==ag&&(l=function(t,n){var e;return t>n&&(e=t,t=n,n=e),function(e){return Math.max(t,Math.min(n,e))}}(u[0],u[t-1])),r=t>2?sg:og,i=a=null,f}function f(n){return isNaN(n=+n)?e:(i||(i=r(u.map(t),o,s)))(t(l(n)))}return f.invert=function(e){return l(n((a||(a=r(o,u.map(t),Mp)))(e)))},f.domain=function(t){return arguments.length?(u=Array.from(t,rg),c()):u.slice()},f.range=function(t){return arguments.length?(o=Array.from(t),c()):o.slice()},f.rangeRound=function(t){return o=Array.from(t),s=Sp,c()},f.clamp=function(t){return arguments.length?(l=!!t||ag,c()):l!==ag},f.interpolate=function(t){return arguments.length?(s=t,c()):s},f.unknown=function(t){return arguments.length?(e=t,f):e},function(e,r){return t=e,n=r,c()}}function fg(){return cg()(ag,ag)}function hg(t,n){if((e=(t=n?t.toExponential(n-1):t.toExponential()).indexOf("e"))<0)return null;var e,r=t.slice(0,e);return[r.length>1?r[0]+r.slice(2):r,+t.slice(e+1)]}function dg(t){return(t=hg(Math.abs(t)))?t[1]:NaN}var pg,gg=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function mg(t){if(!(n=gg.exec(t)))throw new Error("invalid format: "+t);var n;return new vg({fill:n[1],align:n[2],sign:n[3],symbol:n[4],zero:n[5],width:n[6],comma:n[7],precision:n[8]&&n[8].slice(1),trim:n[9],type:n[10]})}function vg(t){this.fill=void 0===t.fill?" ":t.fill+"",this.align=void 0===t.align?">":t.align+"",this.sign=void 0===t.sign?"-":t.sign+"",this.symbol=void 0===t.symbol?"":t.symbol+"",this.zero=!!t.zero,this.width=void 0===t.width?void 0:+t.width,this.comma=!!t.comma,this.precision=void 0===t.precision?void 0:+t.precision,this.trim=!!t.trim,this.type=void 0===t.type?"":t.type+""}function yg(t,n){var e=hg(t,n);if(!e)return t+"";var r=e[0],i=e[1];return i<0?"0."+new Array(-i).join("0")+r:r.length>i+1?r.slice(0,i+1)+"."+r.slice(i+1):r+new Array(i-r.length+2).join("0")}mg.prototype=vg.prototype,vg.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(void 0===this.width?"":Math.max(1,0|this.width))+(this.comma?",":"")+(void 0===this.precision?"":"."+Math.max(0,0|this.precision))+(this.trim?"~":"")+this.type};var _g={"%":function(t,n){return(100*t).toFixed(n)},b:function(t){return Math.round(t).toString(2)},c:function(t){return t+""},d:function(t){return Math.round(t).toString(10)},e:function(t,n){return t.toExponential(n)},f:function(t,n){return t.toFixed(n)},g:function(t,n){return t.toPrecision(n)},o:function(t){return Math.round(t).toString(8)},p:function(t,n){return yg(100*t,n)},r:yg,s:function(t,n){var e=hg(t,n);if(!e)return t+"";var r=e[0],i=e[1],a=i-(pg=3*Math.max(-8,Math.min(8,Math.floor(i/3))))+1,u=r.length;return a===u?r:a>u?r+new Array(a-u+1).join("0"):a>0?r.slice(0,a)+"."+r.slice(a):"0."+new Array(1-a).join("0")+hg(t,Math.max(0,n+a-1))[0]},X:function(t){return Math.round(t).toString(16).toUpperCase()},x:function(t){return Math.round(t).toString(16)}};function xg(t){return t}var bg,wg,Ag,Mg=Array.prototype.map,kg=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function Eg(t){var n,e,r=void 0===t.grouping||void 0===t.thousands?xg:(n=Mg.call(t.grouping,Number),e=t.thousands+"",function(t,r){for(var i=t.length,a=[],u=0,o=n[0],s=0;i>0&&o>0&&(s+o+1>r&&(o=Math.max(1,r-s)),a.push(t.substring(i-=o,i+o)),!((s+=o+1)>r));)o=n[u=(u+1)%n.length];return a.reverse().join(e)}),i=void 0===t.currency?"":t.currency[0]+"",a=void 0===t.currency?"":t.currency[1]+"",u=void 0===t.decimal?".":t.decimal+"",o=void 0===t.numerals?xg:function(t){return function(n){return n.replace(/[0-9]/g,(function(n){return t[+n]}))}}(Mg.call(t.numerals,String)),s=void 0===t.percent?"%":t.percent+"",l=void 0===t.minus?"-":t.minus+"",c=void 0===t.nan?"NaN":t.nan+"";function f(t){var n=(t=mg(t)).fill,e=t.align,f=t.sign,h=t.symbol,d=t.zero,p=t.width,g=t.comma,m=t.precision,v=t.trim,y=t.type;"n"===y?(g=!0,y="g"):_g[y]||(void 0===m&&(m=12),v=!0,y="g"),(d||"0"===n&&"="===e)&&(d=!0,n="0",e="=");var _="$"===h?i:"#"===h&&/[boxX]/.test(y)?"0"+y.toLowerCase():"",x="$"===h?a:/[%p]/.test(y)?s:"",b=_g[y],w=/[defgprs%]/.test(y);function A(t){var i,a,s,h=_,A=x;if("c"===y)A=b(t)+A,t="";else{var M=(t=+t)<0;if(t=isNaN(t)?c:b(Math.abs(t),m),v&&(t=function(t){t:for(var n,e=t.length,r=1,i=-1;r<e;++r)switch(t[r]){case".":i=n=r;break;case"0":0===i&&(i=r),n=r;break;default:if(i>0){if(!+t[r])break t;i=0}}return i>0?t.slice(0,i)+t.slice(n+1):t}(t)),M&&0==+t&&(M=!1),h=(M?"("===f?f:l:"-"===f||"("===f?"":f)+h,A=("s"===y?kg[8+pg/3]:"")+A+(M&&"("===f?")":""),w)for(i=-1,a=t.length;++i<a;)if(48>(s=t.charCodeAt(i))||s>57){A=(46===s?u+t.slice(i+1):t.slice(i))+A,t=t.slice(0,i);break}}g&&!d&&(t=r(t,1/0));var k=h.length+t.length+A.length,E=k<p?new Array(p-k+1).join(n):"";switch(g&&d&&(t=r(E+t,E.length?p-A.length:1/0),E=""),e){case"<":t=h+t+A+E;break;case"=":t=h+E+t+A;break;case"^":t=E.slice(0,k=E.length>>1)+h+t+A+E.slice(k);break;default:t=E+h+t+A}return o(t)}return m=void 0===m?6:/[gprs]/.test(y)?Math.max(1,Math.min(21,m)):Math.max(0,Math.min(20,m)),A.toString=function(){return t+""},A}return{format:f,formatPrefix:function(t,n){var e=f(((t=mg(t)).type="f",t)),r=3*Math.max(-8,Math.min(8,Math.floor(dg(n)/3))),i=Math.pow(10,-r),a=kg[8+r/3];return function(t){return e(i*t)+a}}}}function Dg(t){return bg=Eg(t),wg=bg.format,Ag=bg.formatPrefix,bg}function Cg(t,n,e,r){var i,a=xi(t,n,e);switch((r=mg(null==r?",f":r)).type){case"s":var u=Math.max(Math.abs(t),Math.abs(n));return null!=r.precision||isNaN(i=function(t,n){return Math.max(0,3*Math.max(-8,Math.min(8,Math.floor(dg(n)/3)))-dg(Math.abs(t)))}(a,u))||(r.precision=i),Ag(r,u);case"":case"e":case"g":case"p":case"r":null!=r.precision||isNaN(i=function(t,n){return t=Math.abs(t),n=Math.abs(n)-t,Math.max(0,dg(n)-dg(t))+1}(a,Math.max(Math.abs(t),Math.abs(n))))||(r.precision=i-("e"===r.type));break;case"f":case"%":null!=r.precision||isNaN(i=function(t){return Math.max(0,-dg(Math.abs(t)))}(a))||(r.precision=i-2*("%"===r.type))}return wg(r)}function Fg(t){var n=t.domain;return t.ticks=function(t){var e=n();return yi(e[0],e[e.length-1],null==t?10:t)},t.tickFormat=function(t,e){var r=n();return Cg(r[0],r[r.length-1],null==t?10:t,e)},t.nice=function(e){null==e&&(e=10);var r,i=n(),a=0,u=i.length-1,o=i[a],s=i[u];return s<o&&(r=o,o=s,s=r,r=a,a=u,u=r),(r=_i(o,s,e))>0?r=_i(o=Math.floor(o/r)*r,s=Math.ceil(s/r)*r,e):r<0&&(r=_i(o=Math.ceil(o*r)/r,s=Math.floor(s*r)/r,e)),r>0?(i[a]=Math.floor(o/r)*r,i[u]=Math.ceil(s/r)*r,n(i)):r<0&&(i[a]=Math.ceil(o*r)/r,i[u]=Math.floor(s*r)/r,n(i)),t},t}function Sg(t,n){var e,r=0,i=(t=t.slice()).length-1,a=t[r],u=t[i];return u<a&&(e=r,r=i,i=e,e=a,a=u,u=e),t[r]=n.floor(a),t[i]=n.ceil(u),t}function Bg(t){return Math.log(t)}function Tg(t){return Math.exp(t)}function zg(t){return-Math.log(-t)}function Ng(t){return-Math.exp(-t)}function Og(t){return isFinite(t)?+("1e"+t):t<0?0:t}function Rg(t){return function(n){return-t(-n)}}function qg(t){var n,e,r=t(Bg,Tg),i=r.domain,a=10;function u(){return n=function(t){return t===Math.E?Math.log:10===t&&Math.log10||2===t&&Math.log2||(t=Math.log(t),function(n){return Math.log(n)/t})}(a),e=function(t){return 10===t?Og:t===Math.E?Math.exp:function(n){return Math.pow(t,n)}}(a),i()[0]<0?(n=Rg(n),e=Rg(e),t(zg,Ng)):t(Bg,Tg),r}return r.base=function(t){return arguments.length?(a=+t,u()):a},r.domain=function(t){return arguments.length?(i(t),u()):i()},r.ticks=function(t){var r,u=i(),o=u[0],s=u[u.length-1];(r=s<o)&&(h=o,o=s,s=h);var l,c,f,h=n(o),d=n(s),p=null==t?10:+t,g=[];if(!(a%1)&&d-h<p){if(h=Math.floor(h),d=Math.ceil(d),o>0){for(;h<=d;++h)for(c=1,l=e(h);c<a;++c)if(!((f=l*c)<o)){if(f>s)break;g.push(f)}}else for(;h<=d;++h)for(c=a-1,l=e(h);c>=1;--c)if(!((f=l*c)<o)){if(f>s)break;g.push(f)}g.length||(g=yi(o,s,p))}else g=yi(h,d,Math.min(d-h,p)).map(e);return r?g.reverse():g},r.tickFormat=function(t,i){if(null==i&&(i=10===a?".0e":","),"function"!=typeof i&&(i=wg(i)),t===1/0)return i;null==t&&(t=10);var u=Math.max(1,a*t/r.ticks().length);return function(t){var r=t/e(Math.round(n(t)));return r*a<a-.5&&(r*=a),r<=u?i(t):""}},r.nice=function(){return i(Sg(i(),{floor:function(t){return e(Math.floor(n(t)))},ceil:function(t){return e(Math.ceil(n(t)))}}))},r}function Lg(t){return function(n){return Math.sign(n)*Math.log1p(Math.abs(n/t))}}function Pg(t){return function(n){return Math.sign(n)*Math.expm1(Math.abs(n))*t}}function Ug(t){var n=1,e=t(Lg(n),Pg(n));return e.constant=function(e){return arguments.length?t(Lg(n=+e),Pg(n)):n},Fg(e)}function $g(t){return function(n){return n<0?-Math.pow(-n,t):Math.pow(n,t)}}function jg(t){return t<0?-Math.sqrt(-t):Math.sqrt(t)}function Ig(t){return t<0?-t*t:t*t}function Wg(t){var n=t(ag,ag),e=1;function r(){return 1===e?t(ag,ag):.5===e?t(jg,Ig):t($g(e),$g(1/e))}return n.exponent=function(t){return arguments.length?(e=+t,r()):e},Fg(n)}function Hg(){var t=Wg(cg());return t.copy=function(){return lg(t,Hg()).exponent(t.exponent())},td.apply(t,arguments),t}Dg({decimal:".",thousands:",",grouping:[3],currency:["$",""],minus:"-"});var Yg=1e3,Gg=60*Yg,Vg=60*Gg,Xg=24*Vg,Zg=7*Xg,Jg=30*Xg,Qg=365*Xg;function Kg(t){return new Date(t)}function tm(t){return t instanceof Date?+t:+new Date(+t)}function nm(t,n,e,r,i,a,u,o,s){var l=fg(),c=l.invert,f=l.domain,h=s(".%L"),d=s(":%S"),p=s("%I:%M"),g=s("%I %p"),m=s("%a %d"),v=s("%b %d"),y=s("%B"),_=s("%Y"),x=[[u,1,Yg],[u,5,5*Yg],[u,15,15*Yg],[u,30,30*Yg],[a,1,Gg],[a,5,5*Gg],[a,15,15*Gg],[a,30,30*Gg],[i,1,Vg],[i,3,3*Vg],[i,6,6*Vg],[i,12,12*Vg],[r,1,Xg],[r,2,2*Xg],[e,1,Zg],[n,1,Jg],[n,3,3*Jg],[t,1,Qg]];function b(o){return(u(o)<o?h:a(o)<o?d:i(o)<o?p:r(o)<o?g:n(o)<o?e(o)<o?m:v:t(o)<o?y:_)(o)}function w(n,e,r){if(null==n&&(n=10),"number"==typeof n){var i,a=Math.abs(r-e)/n,u=ci((function(t){return t[2]})).right(x,a);return u===x.length?(i=xi(e/Qg,r/Qg,n),n=t):u?(i=(u=x[a/x[u-1][2]<x[u][2]/a?u-1:u])[1],n=u[0]):(i=Math.max(xi(e,r,n),1),n=o),n.every(i)}return n}return l.invert=function(t){return new Date(c(t))},l.domain=function(t){return arguments.length?f(Array.from(t,tm)):f().map(Kg)},l.ticks=function(t){var n,e=f(),r=e[0],i=e[e.length-1],a=i<r;return a&&(n=r,r=i,i=n),n=(n=w(t,r,i))?n.range(r,i+1):[],a?n.reverse():n},l.tickFormat=function(t,n){return null==n?b:s(n)},l.nice=function(t){var n=f();return(t=w(t,n[0],n[n.length-1]))?f(Sg(n,t)):l},l.copy=function(){return lg(l,nm(t,n,e,r,i,a,u,o,s))},l}function em(){var t,n,e,r,i,a=0,u=1,o=ag,s=!1;function l(n){return isNaN(n=+n)?i:o(0===e?.5:(n=(r(n)-t)*e,s?Math.max(0,Math.min(1,n)):n))}return l.domain=function(i){return arguments.length?([a,u]=i,t=r(a=+a),n=r(u=+u),e=t===n?0:1/(n-t),l):[a,u]},l.clamp=function(t){return arguments.length?(s=!!t,l):s},l.interpolator=function(t){return arguments.length?(o=t,l):o},l.range=function(){return[o(0),o(1)]},l.unknown=function(t){return arguments.length?(i=t,l):i},function(i){return r=i,t=i(a),n=i(u),e=t===n?0:1/(n-t),l}}function rm(t,n){return n.domain(t.domain()).interpolator(t.interpolator()).clamp(t.clamp()).unknown(t.unknown())}function im(){var t=Fg(em()(ag));return t.copy=function(){return rm(t,im())},nd.apply(t,arguments)}function am(){var t=Wg(em());return t.copy=function(){return rm(t,am()).exponent(t.exponent())},nd.apply(t,arguments)}function um(){var t,n,e,r,i,a,u,o=0,s=.5,l=1,c=1,f=ag,h=!1;function d(t){return isNaN(t=+t)?u:(t=.5+((t=+a(t))-n)*(c*t<c*n?r:i),f(h?Math.max(0,Math.min(1,t)):t))}return d.domain=function(u){return arguments.length?([o,s,l]=u,t=a(o=+o),n=a(s=+s),e=a(l=+l),r=t===n?0:.5/(n-t),i=n===e?0:.5/(e-n),c=n<t?-1:1,d):[o,s,l]},d.clamp=function(t){return arguments.length?(h=!!t,d):h},d.interpolator=function(t){return arguments.length?(f=t,d):f},d.range=function(){return[f(0),f(.5),f(1)]},d.unknown=function(t){return arguments.length?(u=t,d):u},function(u){return a=u,t=u(o),n=u(s),e=u(l),r=t===n?0:.5/(n-t),i=n===e?0:.5/(e-n),c=n<t?-1:1,d}}function om(){var t=Wg(um());return t.copy=function(){return rm(t,om()).exponent(t.exponent())},nd.apply(t,arguments)}function sm(){var t,n,e=rd().unknown(void 0),r=e.domain,i=e.range,a=[0,1],u=!1,o=0,s=0,l=.5;function c(){var e=r().length,c=a[1]<a[0],f=a[c-0],h=a[1-c],d=Dh(e,o,s);t=(h-f)/(d||1),u&&(t=Math.floor(t)),f+=(h-f-t*(e-o))*l,n=t*(1-o),u&&(f=Math.round(f),n=Math.round(n));var p=pi(e).map((function(n){return f+t*n}));return i(c?p.reverse():p)}return delete e.unknown,e.domain=function(t){return arguments.length?(r(t),c()):r()},e.range=function(t){return arguments.length?(a=[+t[0],+t[1]],c()):a.slice()},e.rangeRound=function(t){return a=[+t[0],+t[1]],u=!0,c()},e.bandwidth=function(){return n},e.step=function(){return t},e.round=function(t){return arguments.length?(u=!!t,c()):u},e.padding=function(t){return arguments.length?(s=Math.max(0,Math.min(1,t)),o=s,c()):o},e.paddingInner=function(t){return arguments.length?(o=Math.max(0,Math.min(1,t)),c()):o},e.paddingOuter=function(t){return arguments.length?(s=Math.max(0,Math.min(1,t)),c()):s},e.align=function(t){return arguments.length?(l=Math.max(0,Math.min(1,t)),c()):l},e.invertRange=function(t){if(null!=t[0]&&null!=t[1]){var e,u,o,s=+t[0],l=+t[1],c=a[1]<a[0],f=c?i().reverse():i(),h=f.length-1;if(s==s&&l==l&&(l<s&&(o=s,s=l,l=o),!(l<f[0]||s>a[1-c])))return e=Math.max(0,hi(f,s)-1),u=s===l?e:hi(f,l)-1,s-f[e]>n+1e-10&&++e,c&&(o=e,e=h-u,u=h-o),e>u?void 0:r().slice(e,u+1)}},e.invert=function(t){var n=e.invertRange([t,t]);return n?n[0]:n},e.copy=function(){return sm().domain(r()).range(a).round(u).paddingInner(o).paddingOuter(s).align(l)},c()}var lm=Array.prototype.map;function cm(t){return lm.call(t,(function(t){return+t}))}var fm=Array.prototype.slice;function hm(t,n){return arguments.length>1?(dm[t]=function(t,n){return function(){var e=n();return e.invertRange||(e.invertRange=e.invert?function(t){return function(n){var e,r=n[0],i=n[1];return i<r&&(e=r,r=i,i=e),[t.invert(r),t.invert(i)]}}(e):e.invertExtent?function(t){return function(n){var e,r,i,a,u=t.range(),o=n[0],s=n[1],l=-1;for(s<o&&(r=o,o=s,s=r),i=0,a=u.length;i<a;++i)u[i]>=o&&u[i]<=s&&(l<0&&(l=i),e=i);if(!(l<0))return o=t.invertExtent(u[l]),s=t.invertExtent(u[e]),[void 0===o[0]?o[1]:o[0],void 0===s[1]?s[0]:s[1]]}}(e):void 0),e.type=t,e}}(t,n),this):tt(dm,t)?dm[t]:void 0}var dm={[Ch]:function t(n){var e;function r(t){return isNaN(t=+t)?e:t}return r.invert=r,r.domain=r.range=function(t){return arguments.length?(n=Array.from(t,rg),r):n.slice()},r.unknown=function(t){return arguments.length?(e=t,r):e},r.copy=function(){return t(n).unknown(e)},n=arguments.length?Array.from(n,rg):[0,1],Fg(r)},[Fh]:function t(){var n=fg();return n.copy=function(){return lg(n,t())},td.apply(n,arguments),Fg(n)},[Sh]:function t(){var n=qg(cg()).domain([1,10]);return n.copy=function(){return lg(n,t()).base(n.base())},td.apply(n,arguments),n},[Bh]:Hg,[Th]:function(){return Hg.apply(null,arguments).exponent(.5)},[zh]:function t(){var n=Ug(cg());return n.copy=function(){return lg(n,t()).constant(n.constant())},td.apply(n,arguments)},[Nh]:function(){return td.apply(nm(Qn,Jn,Vn,Yn,Hn,Wn,In,Un,he).domain([new Date(2e3,0,1),new Date(2e3,0,2)]),arguments)},[Oh]:function(){return td.apply(nm(oe,ue,re,ne,te,Kn,In,Un,pe).domain([Date.UTC(2e3,0,1),Date.UTC(2e3,0,2)]),arguments)},[Rh]:im,[Rh+"-"+Fh]:im,[Rh+"-"+Sh]:function t(){var n=qg(em()).domain([1,10]);return n.copy=function(){return rm(n,t()).base(n.base())},nd.apply(n,arguments)},[Rh+"-"+Bh]:am,[Rh+"-"+Th]:function(){return am.apply(null,arguments).exponent(.5)},[Rh+"-"+zh]:function t(){var n=Ug(em());return n.copy=function(){return rm(n,t()).constant(n.constant())},nd.apply(n,arguments)},[qh+"-"+Fh]:function t(){var n=Fg(um()(ag));return n.copy=function(){return rm(n,t())},nd.apply(n,arguments)},[qh+"-"+Sh]:function t(){var n=qg(um()).domain([.1,1,10]);return n.copy=function(){return rm(n,t()).base(n.base())},nd.apply(n,arguments)},[qh+"-"+Bh]:om,[qh+"-"+Th]:function(){return om.apply(null,arguments).exponent(.5)},[qh+"-"+zh]:function t(){var n=Ug(um());return n.copy=function(){return rm(n,t()).constant(n.constant())},nd.apply(n,arguments)},[Lh]:function t(){var n,e=[],r=[],i=[];function a(){var t=0,n=Math.max(1,r.length);for(i=new Array(n-1);++t<n;)i[t-1]=Ai(e,t/n);return u}function u(t){return isNaN(t=+t)?n:r[hi(i,t)]}return u.invertExtent=function(t){var n=r.indexOf(t);return n<0?[NaN,NaN]:[n>0?i[n-1]:e[0],n<i.length?i[n]:e[e.length-1]]},u.domain=function(t){if(!arguments.length)return e.slice();e=[];for(let n of t)null==n||isNaN(n=+n)||e.push(n);return e.sort(li),a()},u.range=function(t){return arguments.length?(r=Array.from(t),a()):r.slice()},u.unknown=function(t){return arguments.length?(n=t,u):n},u.quantiles=function(){return i.slice()},u.copy=function(){return t().domain(e).range(r).unknown(n)},td.apply(u,arguments)},[Ph]:function t(){var n,e=0,r=1,i=1,a=[.5],u=[0,1];function o(t){return t<=t?u[hi(a,t,0,i)]:n}function s(){var t=-1;for(a=new Array(i);++t<i;)a[t]=((t+1)*r-(t-i)*e)/(i+1);return o}return o.domain=function(t){return arguments.length?([e,r]=t,e=+e,r=+r,s()):[e,r]},o.range=function(t){return arguments.length?(i=(u=Array.from(t)).length-1,s()):u.slice()},o.invertExtent=function(t){var n=u.indexOf(t);return n<0?[NaN,NaN]:n<1?[e,a[0]]:n>=i?[a[i-1],r]:[a[n-1],a[n]]},o.unknown=function(t){return arguments.length?(n=t,o):o},o.thresholds=function(){return a.slice()},o.copy=function(){return t().domain([e,r]).range(u).unknown(n)},td.apply(Fg(o),arguments)},[Uh]:function t(){var n,e=[.5],r=[0,1],i=1;function a(t){return t<=t?r[hi(e,t,0,i)]:n}return a.domain=function(t){return arguments.length?(e=Array.from(t),i=Math.min(e.length,r.length-1),a):e.slice()},a.range=function(t){return arguments.length?(r=Array.from(t),i=Math.min(e.length,r.length-1),a):r.slice()},a.invertExtent=function(t){var n=r.indexOf(t);return[e[n-1],e[n]]},a.unknown=function(t){return arguments.length?(n=t,a):n},a.copy=function(){return t().domain(e).range(r).unknown(n)},td.apply(a,arguments)},[Wh]:function t(){var n=[],e=[];function r(t){return null==t||t!=t?void 0:e[(hi(n,t)-1)%e.length]}return r.domain=function(t){return arguments.length?(n=cm(t),r):n.slice()},r.range=function(t){return arguments.length?(e=fm.call(t),r):e.slice()},r.tickFormat=function(t,e){return Cg(n[0],k(n),null==t?10:t,e)},r.copy=function(){return t().domain(r.domain()).range(r.range())},r},[$h]:rd,[Ih]:sm,[jh]:function(){return function t(n){var e=n.copy;return n.padding=n.paddingOuter,delete n.paddingInner,n.copy=function(){return t(e())},n}(sm().paddingInner(1))}};for(var pm in dm)hm(pm,dm[pm]);const gm=["clamp","base","constant","exponent"];function mm(t,n){var e=n[0],r=k(n)-e;return function(n){return t(e+n*r)}}function vm(t,n,e){return ng(xm(n||"rgb",e),t)}function ym(t,n){for(var e=new Array(n),r=n+1,i=0;i<n;)e[i]=t(++i/r);return e}function _m(t,n,e){var r,i,a,u=e-n;return u&&isFinite(u)?(r=(i=t.type).indexOf("-"),i=r<0?i:i.slice(r+1),a=hm(i)().domain([n,e]).range([0,1]),gm.forEach(n=>t[n]?a[n](t[n]()):0),a):V(.5)}function xm(t,n){var e=eg[function(t){return"interpolate"+t.toLowerCase().split("-").map((function(t){return t[0].toUpperCase()+t.slice(1)})).join("")}(t)];return null!=n&&e&&e.gamma?e.gamma(n):e}function bm(t){for(var n=t.length/6|0,e=new Array(n),r=0;r<n;)e[r]="#"+t.slice(6*r,6*++r);return e}function wm(t,n){for(let e in t)Mm(e,n(t[e]))}const Am={};function Mm(t,n){return t=t&&t.toLowerCase(),arguments.length>1?(Am[t]=n,this):Am[t]}function km(t,n,e){var r;return st(n)&&null!=e&&(n=Math.min(n,~~(gt(t.domain())/e)||1)),o(n)&&(r=n.step,n=n.interval),s(n)&&(n=Kh(n,t.type)||i("Only time and utc scales accept interval strings."),r&&(n=n.every(r))),n}function Em(t,n,e){var r=t.range(),i=Math.floor(r[0]),a=Math.ceil(k(r));if(i>a&&(r=a,a=i,i=r),n=n.filter((function(n){return n=t(n),i<=n&&n<=a})),e>0&&n.length>1){for(var u=[n[0],k(n)];n.length>e&&n.length>=3;)n=n.filter((function(t,n){return!(n%2)}));n.length<3&&(n=u)}return n}function Dm(t,n){return t.bins?Em(t,t.bins):t.ticks?t.ticks(n):t.domain()}function Cm(t,n,e,r){var i,a,u=t.tickFormat?t.tickFormat(n,e):e&&r===Nh?he(e):e?wg(e):String;if(Gh(t.type)){var o=function(t){var n=mg(t||",");if(null==n.precision){switch(n.precision=12,n.type){case"%":n.precision-=2;break;case"e":n.precision-=1}return function(t,n){return function(e){var r,i,a=t(e),u=a.indexOf(n);if(u<0)return a;for(i=(r=function(t,n){var e,r=t.lastIndexOf("e");if(r>0)return r;for(r=t.length;--r>n;)if((e=t.charCodeAt(r))>=48&&e<=57)return r+1}(a,u))<a.length?a.slice(r):"";--r>u;)if("0"!==a[r]){++r;break}return a.slice(0,r)+i}}(wg(n),wg(".1f")(1)[1])}return wg(n)}(e);u=t.bins?o:(i=u,a=o,function(t){return i(t)?a(t):""})}return u}function Fm(t){Vr.call(this,null,t)}function Sm(t){Vr.call(this,null,t)}function Bm(){return St({})}function Tm(t){return t.exit}function zm(t){Vr.call(this,null,t)}wm({category10:"1f77b4ff7f0e2ca02cd627289467bd8c564be377c27f7f7fbcbd2217becf",category20:"1f77b4aec7e8ff7f0effbb782ca02c98df8ad62728ff98969467bdc5b0d58c564bc49c94e377c2f7b6d27f7f7fc7c7c7bcbd22dbdb8d17becf9edae5",category20b:"393b795254a36b6ecf9c9ede6379398ca252b5cf6bcedb9c8c6d31bd9e39e7ba52e7cb94843c39ad494ad6616be7969c7b4173a55194ce6dbdde9ed6",category20c:"3182bd6baed69ecae1c6dbefe6550dfd8d3cfdae6bfdd0a231a35474c476a1d99bc7e9c0756bb19e9ac8bcbddcdadaeb636363969696bdbdbdd9d9d9",tableau10:"4c78a8f58518e4575672b7b254a24beeca3bb279a2ff9da69d755dbab0ac",tableau20:"4c78a89ecae9f58518ffbf7954a24b88d27ab79a20f2cf5b43989483bcb6e45756ff9d9879706ebab0acd67195fcbfd2b279a2d6a5c99e765fd8b5a5",accent:"7fc97fbeaed4fdc086ffff99386cb0f0027fbf5b17666666",dark2:"1b9e77d95f027570b3e7298a66a61ee6ab02a6761d666666",paired:"a6cee31f78b4b2df8a33a02cfb9a99e31a1cfdbf6fff7f00cab2d66a3d9affff99b15928",pastel1:"fbb4aeb3cde3ccebc5decbe4fed9a6ffffcce5d8bdfddaecf2f2f2",pastel2:"b3e2cdfdcdaccbd5e8f4cae4e6f5c9fff2aef1e2cccccccc",set1:"e41a1c377eb84daf4a984ea3ff7f00ffff33a65628f781bf999999",set2:"66c2a5fc8d628da0cbe78ac3a6d854ffd92fe5c494b3b3b3",set3:"8dd3c7ffffb3bebadafb807280b1d3fdb462b3de69fccde5d9d9d9bc80bdccebc5ffed6f"},bm),wm({blues:"cfe1f2bed8eca8cee58fc1de74b2d75ba3cf4592c63181bd206fb2125ca40a4a90",greens:"d3eecdc0e6baabdda594d3917bc77d60ba6c46ab5e329a512089430e7735036429",greys:"e2e2e2d4d4d4c4c4c4b1b1b19d9d9d8888887575756262624d4d4d3535351e1e1e",oranges:"fdd8b3fdc998fdb87bfda55efc9244f87f2cf06b18e4580bd14904b93d029f3303",purples:"e2e1efd4d4e8c4c5e0b4b3d6a3a0cc928ec3827cb97566ae684ea25c3696501f8c",reds:"fdc9b4fcb49afc9e80fc8767fa7051f6573fec3f2fdc2a25c81b1db21218970b13",blueGreen:"d5efedc1e8e0a7ddd18bd2be70c6a958ba9144ad77319c5d2089460e7736036429",bluePurple:"ccddecbad0e4a8c2dd9ab0d4919cc98d85be8b6db28a55a6873c99822287730f71",greenBlue:"d3eecec5e8c3b1e1bb9bd8bb82cec269c2ca51b2cd3c9fc7288abd1675b10b60a1",orangeRed:"fddcaffdcf9bfdc18afdad77fb9562f67d53ee6545e24932d32d1ebf130da70403",purpleBlue:"dbdaebc8cee4b1c3de97b7d87bacd15b9fc93a90c01e7fb70b70ab056199045281",purpleBlueGreen:"dbd8eac8cee4b0c3de93b7d872acd1549fc83892bb1c88a3097f8702736b016353",purpleRed:"dcc9e2d3b3d7ce9eccd186c0da6bb2e14da0e23189d91e6fc61159ab07498f023a",redPurple:"fccfccfcbec0faa9b8f98faff571a5ec539ddb3695c41b8aa908808d0179700174",yellowGreen:"e4f4acd1eca0b9e2949ed68880c97c62bb6e47aa5e3297502083440e723b036034",yellowOrangeBrown:"feeaa1fedd84fecc63feb746fca031f68921eb7215db5e0bc54c05ab3d038f3204",yellowOrangeRed:"fee087fed16ffebd59fea849fd903efc7335f9522bee3423de1b20ca0b22af0225",blueOrange:"134b852f78b35da2cb9dcae1d2e5eff2f0ebfce0bafbbf74e8932fc5690d994a07",brownBlueGreen:"704108a0651ac79548e3c78af3e6c6eef1eac9e9e48ed1c74da79e187a72025147",purpleGreen:"5b1667834792a67fb6c9aed3e6d6e8eff0efd9efd5aedda971bb75368e490e5e29",purpleOrange:"4114696647968f83b7b9b4d6dadbebf3eeeafce0bafbbf74e8932fc5690d994a07",redBlue:"8c0d25bf363adf745ef4ae91fbdbc9f2efeed2e5ef9dcae15da2cb2f78b3134b85",redGrey:"8c0d25bf363adf745ef4ae91fcdccbfaf4f1e2e2e2c0c0c0969696646464343434",yellowGreenBlue:"eff9bddbf1b4bde5b594d5b969c5be45b4c22c9ec02182b82163aa23479c1c3185",redYellowBlue:"a50026d4322cf16e43fcac64fedd90faf8c1dcf1ecabd6e875abd04a74b4313695",redYellowGreen:"a50026d4322cf16e43fcac63fedd8df9f7aed7ee8ea4d86e64bc6122964f006837",pinkYellowGreen:"8e0152c0267edd72adf0b3d6faddedf5f3efe1f2cab6de8780bb474f9125276419",spectral:"9e0142d13c4bf0704afcac63fedd8dfbf8b0e0f3a1a9dda269bda94288b55e4fa2",viridis:"440154470e61481a6c482575472f7d443a834144873d4e8a39568c35608d31688e2d708e2a788e27818e23888e21918d1f988b1fa08822a8842ab07f35b77943bf7154c56866cc5d7ad1518fd744a5db36bcdf27d2e21be9e51afde725",magma:"0000040404130b0924150e3720114b2c11603b0f704a107957157e651a80721f817f24828c29819a2e80a8327db6377ac43c75d1426fde4968e95462f1605df76f5cfa7f5efc8f65fe9f6dfeaf78febf84fece91fddea0fcedaffcfdbf",inferno:"0000040403130c0826170c3b240c4f330a5f420a68500d6c5d126e6b176e781c6d86216b932667a12b62ae305cbb3755c73e4cd24644dd513ae65c30ed6925f3771af8850ffb9506fca50afcb519fac62df6d645f2e661f3f484fcffa4",plasma:"0d088723069033059742039d5002a25d01a66a00a87801a88405a7900da49c179ea72198b12a90ba3488c33d80cb4779d35171da5a69e16462e76e5bed7953f2834cf68f44fa9a3dfca636fdb32ffec029fcce25f9dc24f5ea27f0f921",rainbow:"6e40aa883eb1a43db3bf3cafd83fa4ee4395fe4b83ff576eff6659ff7847ff8c38f3a130e2b72fcfcc36bee044aff05b8ff4576ff65b52f6673af27828ea8d1ddfa319d0b81cbecb23abd82f96e03d82e14c6edb5a5dd0664dbf6e40aa",sinebow:"ff4040fc582af47218e78d0bd5a703bfbf00a7d5038de70b72f41858fc2a40ff402afc5818f4720be78d03d5a700bfbf03a7d50b8de71872f42a58fc4040ff582afc7218f48d0be7a703d5bf00bfd503a7e70b8df41872fc2a58ff4040",browns:"eedbbdecca96e9b97ae4a865dc9856d18954c7784cc0673fb85536ad44339f3632",tealBlues:"bce4d89dd3d181c3cb65b3c245a2b9368fae347da0306a932c5985",teals:"bbdfdfa2d4d58ac9c975bcbb61b0af4da5a43799982b8b8c1e7f7f127273006667",warmGreys:"dcd4d0cec5c1c0b8b4b3aaa7a59c9998908c8b827f7e7673726866665c5a59504e",goldGreen:"f4d166d5ca60b6c35c98bb597cb25760a6564b9c533f8f4f33834a257740146c36",goldOrange:"f4d166f8be5cf8aa4cf5983bf3852aef701be2621fd65322c54923b142239e3a26",goldRed:"f4d166f6be59f9aa51fc964ef6834bee734ae56249db5247cf4244c43141b71d3e",lightGreyRed:"efe9e6e1dad7d5cbc8c8bdb9bbaea9cd967ddc7b43e15f19df4011dc000b",lightGreyTeal:"e4eaead6dcddc8ced2b7c2c7a6b4bc64b0bf22a6c32295c11f85be1876bc",lightMulti:"e0f1f2c4e9d0b0de9fd0e181f6e072f6c053f3993ef77440ef4a3c",lightOrange:"f2e7daf7d5baf9c499fab184fa9c73f68967ef7860e8645bde515bd43d5b",lightTealBlue:"e3e9e0c0dccf9aceca7abfc859afc0389fb9328dad2f7ca0276b95255988",darkBlue:"3232322d46681a5c930074af008cbf05a7ce25c0dd38daed50f3faffffff",darkGold:"3c3c3c584b37725e348c7631ae8b2bcfa424ecc31ef9de30fff184ffffff",darkGreen:"3a3a3a215748006f4d048942489e4276b340a6c63dd2d836ffeb2cffffaa",darkMulti:"3737371f5287197d8c29a86995ce3fffe800ffffff",darkRed:"3434347036339e3c38cc4037e75d1eec8620eeab29f0ce32ffeb2c"},t=>vm(bm(t))),it(Fm,Vr).transform=function(t,n){if(this.value&&!t.modified())return n.StopPropagation;var e=n.fork(n.NO_SOURCE|n.NO_FIELDS),r=this.value,i=t.scale,a=km(i,null==t.count?t.values?t.values.length:10:t.count,t.minstep),u=t.format||Cm(i,a,t.formatSpecifier,t.formatType),o=t.values?Em(i,t.values,a):Dm(i,a);return r&&(e.rem=r),r=o.map((function(t,n){return St({index:n/(o.length-1||1),value:t,label:u(t)})})),t.extra&&r.length&&r.push(St({index:-1,extra:{value:r[0].value},label:""})),e.source=r,e.add=r,this.value=r,e},it(Sm,Vr).transform=function(t,n){var e=n.dataflow,r=n.fork(n.NO_SOURCE|n.NO_FIELDS),a=t.item||Bm,o=t.key||Ct,s=this.value;return u(r.encode)&&(r.encode=null),s&&(t.modified("key")||n.modified(o))&&i("DataJoin does not support modified key function or fields."),s||(n=n.addAll(),this.value=s=et().test(Tm),s.lookup=function(t){return s.get(o(t))}),n.visit(n.ADD,(function(t){var n=o(t),e=s.get(n);e?e.exit?(s.empty--,r.add.push(e)):r.mod.push(e):(s.set(n,e=a(t)),r.add.push(e)),e.datum=t,e.exit=!1})),n.visit(n.MOD,(function(t){var n=o(t),e=s.get(n);e&&(e.datum=t,r.mod.push(e))})),n.visit(n.REM,(function(t){var n=o(t),e=s.get(n);t!==e.datum||e.exit||(r.rem.push(e),e.exit=!0,++s.empty)})),n.changed(n.ADD_MOD)&&r.modifies("datum"),t.clean&&s.empty>e.cleanThreshold&&e.runAfter(s.clean),r},it(zm,Vr).transform=function(t,n){var e=n.fork(n.ADD_REM),r=t.mod||!1,i=t.encoders,a=n.encode;if(u(a)){if(!e.changed()&&!a.every((function(t){return i[t]})))return n.StopPropagation;a=a[0],e.encode=null}var o="enter"===a,s=i.update||v,l=i.enter||v,c=i.exit||v,f=(a&&!o?i[a]:s)||v;if(n.changed(n.ADD)&&(n.visit(n.ADD,(function(n){l(n,t),s(n,t)})),e.modifies(l.output),e.modifies(s.output),f!==v&&f!==s&&(n.visit(n.ADD,(function(n){f(n,t)})),e.modifies(f.output))),n.changed(n.REM)&&c!==v&&(n.visit(n.REM,(function(n){c(n,t)})),e.modifies(c.output)),o||f!==v){var h=n.MOD|(t.modified()?n.REFLOW:0);o?(n.visit(h,(function(n){var i=l(n,t)||r;(f(n,t)||i)&&e.mod.push(n)})),e.mod.length&&e.modifies(l.output)):n.visit(h,(function(n){(f(n,t)||r)&&e.mod.push(n)})),e.mod.length&&e.modifies(f.output)}return e.changed()?e:n.StopPropagation};var Nm="symbol",Om="discrete";const Rm={[Lh]:"quantiles",[Ph]:"thresholds",[Uh]:"domain"},qm={[Lh]:"quantiles",[Ph]:"domain"};function Lm(t,n){return t.bins?function(t){const n=t.slice(0,-1);return n.max=k(t),n}(t.bins):Rm[t.type]?function(t){const n=[-1/0].concat(t);return n.max=1/0,n}(t[Rm[t.type]]()):Dm(t,n)}function Pm(t,n,e,r,i){const a=qm[t.type]&&i!==Nh?function(t,n){var e,r=t[qm[t.type]](),i=r.length,a=i>1?r[1]-r[0]:r[0];for(e=1;e<i;++e)a=Math.min(a,r[e]-r[e-1]);return Cg(0,a,30,n)}(t,r):Cm(t,n,r,i);return e===Nm&&function(t){return Rm[t.type]||t.bins}(t)?function(t){return function(n,e,r){var i=r[e+1]||r.max||1/0,a=Um(n,t),u=Um(i,t);return a&&u?a+"–"+u:u?"< "+u:"≥ "+a}}(a):e===Om?function(t){return function(n,e){return e?t(n):null}}(a):function(t){return function(n){return t(n)}}(a)}function Um(t,n){return isFinite(t)?n(t):null}function $m(t){Vr.call(this,[],t)}it($m,Vr).transform=function(t,n){if(null!=this.value&&!t.modified())return n.StopPropagation;var e,r,i,a,u=n.fork(n.NO_SOURCE|n.NO_FIELDS),o=this.value,s=t.type||Nm,l=t.scale,c=km(l,null==t.count?5:t.count,t.minstep),f=t.format||Pm(l,c,s,t.formatSpecifier,t.formatType),h=t.values||Lm(l,c);return o&&(u.rem=o),s===Nm?(Y(i=t.size)?(t.values||0!==l(h[0])||(h=h.slice(1)),a=h.reduce((function(n,e){return Math.max(n,i(e,t))}),0)):i=V(a=i||8),o=h.map((function(n,e){return St({index:e,label:f(n,e,h),value:n,offset:a,size:i(n,t)})}))):"gradient"===s?(e=l.domain(),r=_m(l,e[0],k(e)),h.length<3&&!t.values&&e[0]!==k(e)&&(h=[e[0],k(e)]),o=h.map((function(t,n){return St({index:n,label:f(t,n,h),value:t,perc:r(t)})}))):(i=h.length-1,r=function(t){var n=t.domain(),e=n.length-1,r=+n[0],i=+k(n),a=i-r;if(t.type===Uh){var u=e?a/e:.1;a=(i+=u)-(r-=u)}return function(t){return(t-r)/a}}(l),o=h.map((function(t,n){return St({index:n,label:f(t,n,h),value:t,perc:n?r(t):0,perc2:n===i?1:r(h[n+1])})}))),u.source=o,u.add=o,this.value=o,u};var jm=et({line:Vm,"line-radial":function(t,n,e,r){return Vm(n*Math.cos(t),n*Math.sin(t),r*Math.cos(e),r*Math.sin(e))},arc:Xm,"arc-radial":function(t,n,e,r){return Xm(n*Math.cos(t),n*Math.sin(t),r*Math.cos(e),r*Math.sin(e))},curve:Zm,"curve-radial":function(t,n,e,r){return Zm(n*Math.cos(t),n*Math.sin(t),r*Math.cos(e),r*Math.sin(e))},"orthogonal-horizontal":function(t,n,e,r){return"M"+t+","+n+"V"+r+"H"+e},"orthogonal-vertical":function(t,n,e,r){return"M"+t+","+n+"H"+e+"V"+r},"orthogonal-radial":function(t,n,e,r){var i=Math.cos(t),a=Math.sin(t),u=Math.cos(e),o=Math.sin(e),s=Math.abs(e-t)>Math.PI?e<=t:e>t;return"M"+n*i+","+n*a+"A"+n+","+n+" 0 0,"+(s?1:0)+" "+n*u+","+n*o+"L"+r*u+","+r*o},"diagonal-horizontal":function(t,n,e,r){var i=(t+e)/2;return"M"+t+","+n+"C"+i+","+n+" "+i+","+r+" "+e+","+r},"diagonal-vertical":function(t,n,e,r){var i=(n+r)/2;return"M"+t+","+n+"C"+t+","+i+" "+e+","+i+" "+e+","+r},"diagonal-radial":function(t,n,e,r){var i=Math.cos(t),a=Math.sin(t),u=Math.cos(e),o=Math.sin(e),s=(n+r)/2;return"M"+n*i+","+n*a+"C"+s*i+","+s*a+" "+s*u+","+s*o+" "+r*u+","+r*o}});function Im(t){return t.source.x}function Wm(t){return t.source.y}function Hm(t){return t.target.x}function Ym(t){return t.target.y}function Gm(t){Vr.call(this,{},t)}function Vm(t,n,e,r){return"M"+t+","+n+"L"+e+","+r}function Xm(t,n,e,r){var i=e-t,a=r-n,u=Math.sqrt(i*i+a*a)/2;return"M"+t+","+n+"A"+u+","+u+" "+180*Math.atan2(a,i)/Math.PI+" 0 1 "+e+","+r}function Zm(t,n,e,r){var i=e-t,a=r-n,u=.2*(i+a),o=.2*(a-i);return"M"+t+","+n+"C"+(t+u)+","+(n+o)+" "+(e+o)+","+(r-u)+" "+e+","+r}function Jm(t){Vr.call(this,null,t)}Gm.Definition={type:"LinkPath",metadata:{modifies:!0},params:[{name:"sourceX",type:"field",default:"source.x"},{name:"sourceY",type:"field",default:"source.y"},{name:"targetX",type:"field",default:"target.x"},{name:"targetY",type:"field",default:"target.y"},{name:"orient",type:"enum",default:"vertical",values:["horizontal","vertical","radial"]},{name:"shape",type:"enum",default:"line",values:["line","arc","curve","diagonal","orthogonal"]},{name:"require",type:"signal"},{name:"as",type:"string",default:"path"}]},it(Gm,Vr).transform=function(t,n){var e=t.sourceX||Im,r=t.sourceY||Wm,a=t.targetX||Hm,u=t.targetY||Ym,o=t.as||"path",s=t.orient||"vertical",l=t.shape||"line",c=jm.get(l+"-"+s)||jm.get(l);return c||i("LinkPath unsupported type: "+t.shape+(t.orient?"-"+t.orient:"")),n.visit(n.SOURCE,(function(t){t[o]=c(e(t),r(t),a(t),u(t))})),n.reflow(t.modified()).modifies(o)},Jm.Definition={type:"Pie",metadata:{modifies:!0},params:[{name:"field",type:"field"},{name:"startAngle",type:"number",default:0},{name:"endAngle",type:"number",default:6.283185307179586},{name:"sort",type:"boolean",default:!1},{name:"as",type:"string",array:!0,length:2,default:["startAngle","endAngle"]}]},it(Jm,Vr).transform=function(t,n){var e,r,i,a=t.as||["startAngle","endAngle"],u=a[0],o=a[1],s=t.field||g,l=t.startAngle||0,c=null!=t.endAngle?t.endAngle:2*Math.PI,f=n.source,h=f.map(s),d=h.length,p=l,m=(c-l)/function(t,n){let e=0;if(void 0===n)for(let n of t)(n=+n)&&(e+=n);else{let r=-1;for(let i of t)(i=+n(i,++r,t))&&(e+=i)}return e}(h),v=pi(d);for(t.sort&&v.sort((function(t,n){return h[t]-h[n]})),e=0;e<d;++e)i=h[v[e]],(r=f[v[e]])[u]=p,r[o]=p+=i*m;return this.value=h,n.reflow(t.modified()).modifies(a)};var Qm=5;function Km(t){return Vh(t)&&t!==Rh}var tv=xt(["set","modified","clear","type","scheme","schemeExtent","schemeCount","domain","domainMin","domainMid","domainMax","domainRaw","domainImplicit","nice","zero","bins","range","rangeStep","round","reverse","interpolate","interpolateGamma"]);function nv(t){Vr.call(this,null,t),this.modified(!0)}function ev(t,n,e){Gh(t)&&(Math.abs(n.reduce((function(t,n){return t+(n<0?-1:n>0?1:0)}),0))!==n.length&&e.warn("Log scale domain includes zero: "+l(n)));return n}function rv(t,n,e){return Y(t)&&(n||e)?mm(t,iv(n||[0,1],e)):t}function iv(t,n){return n?t.slice().reverse():t}function av(t){Vr.call(this,null,t)}it(nv,Vr).transform=function(t,n){var e=n.dataflow,r=this.value,a=function(t){var n,e=t.type,r="";if(e===Rh)return Rh+"-"+Fh;(function(t){const n=t.type;return Vh(n)&&n!==Nh&&n!==Oh&&(t.scheme||t.range&&t.range.length&&t.range.every(s))})(t)&&(n=t.rawDomain?t.rawDomain.length:t.domain?t.domain.length+ +(null!=t.domainMid):0,r=2===n?Rh+"-":3===n?qh+"-":"");return(r+e||Fh).toLowerCase()}(t);for(a in r&&a===r.type||(this.value=r=hm(a)()),t)if(!tv[a]){if("padding"===a&&Km(r.type))continue;Y(r[a])?r[a](t[a]):e.warn("Unsupported scale property: "+a)}return function(t,n,e){var r=t.type,a=n.round||!1,o=n.range;if(null!=n.rangeStep)o=function(t,n,e){t!==Ih&&t!==jh&&i("Only band and point scales support rangeStep.");var r=(null!=n.paddingOuter?n.paddingOuter:n.padding)||0,a=t===jh?1:(null!=n.paddingInner?n.paddingInner:n.padding)||0;return[0,n.rangeStep*Dh(e,a,r)]}(r,n,e);else if(n.scheme&&(o=function(t,n,e){var r,a,o=n.schemeExtent;u(n.scheme)?a=vm(n.scheme,n.interpolate,n.interpolateGamma):(r=n.scheme.toLowerCase(),(a=Mm(r))||i(`Unrecognized scheme name: ${n.scheme}`));return e=t===Uh?e+1:t===Wh?e-1:t===Lh||t===Ph?+n.schemeCount||Qm:e,Yh(t)?rv(a,o,n.reverse):Y(a)?ym(rv(a,o),e):t===$h?a:a.slice(0,e)}(r,n,e),Y(o))){if(t.interpolator)return t.interpolator(o);i(`Scale type ${r} does not support interpolating color schemes.`)}if(o&&Yh(r))return t.interpolator(vm(iv(o,n.reverse),n.interpolate,n.interpolateGamma));o&&n.interpolate&&t.interpolate?t.interpolate(xm(n.interpolate,n.interpolateGamma)):Y(t.round)?t.round(a):Y(t.rangeRound)&&t.interpolate(a?Sp:Fp);o&&t.range(iv(o,n.reverse))}(r,t,function(t,n,e){let r=n.bins;if(r&&!u(r)){let n=t.domain(),e=n[0],a=k(n),u=null==r.start?e:r.start,o=null==r.stop?a:r.stop,s=r.step;s||i("Scale bins parameter missing step property."),u<e&&(u=s*Math.ceil(e/s)),o>a&&(o=s*Math.floor(a/s)),r=pi(u,o+s/2,s)}r?t.bins=r:t.bins&&delete t.bins;t.type===Wh&&(r?n.domain||n.domainRaw||(t.domain(r),e=r.length):t.bins=t.domain());return e}(r,t,function(t,n,e){var r=function(t,n,e){return n?(t.domain(ev(t.type,n,e)),n.length):-1}(t,n.domainRaw,e);if(r>-1)return r;var i,a,u=n.domain,o=t.type,s=n.zero||void 0===n.zero&&function(t){const n=t.type;return!t.bins&&(n===Fh||n===Bh||n===Th)}(t);if(!u)return 0;Km(o)&&n.padding&&u[0]!==k(u)&&(u=function(t,n,e,r,i,a){var u=Math.abs(k(e)-e[0]),o=u/(u-2*r),s=t===Sh?P(n,null,o):t===Th?U(n,null,o,.5):t===Bh?U(n,null,o,i||1):t===zh?$(n,null,o,a||1):L(n,null,o);return(n=n.slice())[0]=s[0],n[n.length-1]=s[1],n}(o,u,n.range,n.padding,n.exponent,n.constant));(s||null!=n.domainMin||null!=n.domainMax||null!=n.domainMid)&&(i=(u=u.slice()).length-1||1,s&&(u[0]>0&&(u[0]=0),u[i]<0&&(u[i]=0)),null!=n.domainMin&&(u[0]=n.domainMin),null!=n.domainMax&&(u[i]=n.domainMax),null!=n.domainMid&&(((a=n.domainMid)<u[0]||a>u[i])&&e.warn("Scale domainMid exceeds domain min or max.",a),u.splice(i,0,a)));t.domain(ev(o,u,e)),o===$h&&t.unknown(n.domainImplicit?ed:void 0);n.nice&&t.nice&&t.nice(!0!==n.nice&&km(t,n.nice)||null);return u.length}(r,t,e))),n.fork(n.NO_SOURCE|n.NO_FIELDS)},it(av,Vr).transform=function(t,n){var e=t.modified("sort")||n.changed(n.ADD)||n.modified(t.sort.fields)||n.modified("datum");return e&&n.source.sort(Nt(t.sort)),this.modified(e),n};var uv=["y0","y1"];function ov(t){Vr.call(this,null,t)}function sv(t,n,e,r,i){for(var a,u=(n-t.sum)/2,o=t.length,s=0;s<o;++s)(a=t[s])[r]=u,a[i]=u+=Math.abs(e(a))}function lv(t,n,e,r,i){for(var a,u=1/t.sum,o=0,s=t.length,l=0,c=0;l<s;++l)(a=t[l])[r]=o,a[i]=o=u*(c+=Math.abs(e(a)))}function cv(t,n,e,r,i){for(var a,u,o=0,s=0,l=t.length,c=0;c<l;++c)(a=+e(u=t[c]))<0?(u[r]=s,u[i]=s+=a):(u[r]=o,u[i]=o+=a)}ov.Definition={type:"Stack",metadata:{modifies:!0},params:[{name:"field",type:"field"},{name:"groupby",type:"field",array:!0},{name:"sort",type:"compare"},{name:"offset",type:"enum",default:"zero",values:["zero","center","normalize"]},{name:"as",type:"string",array:!0,length:2,default:uv}]},it(ov,Vr).transform=function(t,n){var e,r,i,a,u=t.as||uv,o=u[0],s=u[1],l=Nt(t.sort),c=t.field||g,f="center"===t.offset?sv:"normalize"===t.offset?lv:cv;for(e=function(t,n,e,r){var i,a,u,o,s,l,c,f,h,d=[],p=function(t){return t(s)};if(null==n)d.push(t.slice());else for(i={},a=0,u=t.length;a<u;++a)s=t[a],l=n.map(p),(c=i[l])||(i[l]=c=[],d.push(c)),c.push(s);for(l=0,h=0,o=d.length;l<o;++l){for(c=d[l],a=0,f=0,u=c.length;a<u;++a)f+=Math.abs(r(c[a]));c.sum=f,f>h&&(h=f),e&&c.sort(e)}return d.max=h,d}(n.source,t.groupby,l,c),r=0,i=e.length,a=e.max;r<i;++r)f(e[r],a,c,o,s);return n.reflow(t.modified()).modifies(u)};var fv=Object.freeze({axisticks:Fm,datajoin:Sm,encode:zm,legendentries:$m,linkpath:Gm,pie:Jm,scale:nv,sortitems:av,stack:ov,validTicks:Em});function hv(t,n){return t<n?-1:t>n?1:t>=n?0:NaN}!function(t){var n;1===t.length&&(n=t,t=function(t,e){return hv(n(t),e)})}(hv);function dv(t,n,e){t=+t,n=+n,e=(i=arguments.length)<2?(n=t,t=0,1):i<3?1:+e;for(var r=-1,i=0|Math.max(0,Math.ceil((n-t)/e)),a=new Array(i);++r<i;)a[r]=t+r*e;return a}var pv=Math.sqrt(50),gv=Math.sqrt(10),mv=Math.sqrt(2);function vv(t,n,e){var r=Math.abs(n-t)/Math.max(0,e),i=Math.pow(10,Math.floor(Math.log(r)/Math.LN10)),a=r/i;return a>=pv?i*=10:a>=gv?i*=5:a>=mv&&(i*=2),n<t?-i:i}function yv(t){return Math.ceil(Math.log(t.length)/Math.LN2)+1}var _v=Array.prototype.slice;function xv(t,n){return t-n}function bv(t){return function(){return t}}function wv(t,n){for(var e,r=-1,i=n.length;++r<i;)if(e=Av(t,n[r]))return e;return 0}function Av(t,n){for(var e=n[0],r=n[1],i=-1,a=0,u=t.length,o=u-1;a<u;o=a++){var s=t[a],l=s[0],c=s[1],f=t[o],h=f[0],d=f[1];if(Mv(s,f,n))return 0;c>r!=d>r&&e<(h-l)*(r-c)/(d-c)+l&&(i=-i)}return i}function Mv(t,n,e){var r,i,a,u;return function(t,n,e){return(n[0]-t[0])*(e[1]-t[1])==(e[0]-t[0])*(n[1]-t[1])}(t,n,e)&&(i=t[r=+(t[0]===n[0])],a=e[r],u=n[r],i<=a&&a<=u||u<=a&&a<=i)}function kv(){}var Ev=[[],[[[1,1.5],[.5,1]]],[[[1.5,1],[1,1.5]]],[[[1.5,1],[.5,1]]],[[[1,.5],[1.5,1]]],[[[1,1.5],[.5,1]],[[1,.5],[1.5,1]]],[[[1,.5],[1,1.5]]],[[[1,.5],[.5,1]]],[[[.5,1],[1,.5]]],[[[1,1.5],[1,.5]]],[[[.5,1],[1,.5]],[[1.5,1],[1,1.5]]],[[[1.5,1],[1,.5]]],[[[.5,1],[1.5,1]]],[[[1,1.5],[1.5,1]]],[[[.5,1],[1,1.5]]],[]];function Dv(){var t=1,n=1,e=yv,r=o;function i(t){var n=e(t);if(Array.isArray(n))n=n.slice().sort(xv);else{var r=function(t,n){var e,r,i,a=t.length,u=-1;if(null==n){for(;++u<a;)if(null!=(e=t[u])&&e>=e)for(r=i=e;++u<a;)null!=(e=t[u])&&(r>e&&(r=e),i<e&&(i=e))}else for(;++u<a;)if(null!=(e=n(t[u],u,t))&&e>=e)for(r=i=e;++u<a;)null!=(e=n(t[u],u,t))&&(r>e&&(r=e),i<e&&(i=e));return[r,i]}(t),i=r[0],u=r[1];n=vv(i,u,n),n=dv(Math.floor(i/n)*n,Math.floor(u/n)*n,n)}return n.map((function(n){return a(t,n)}))}function a(e,i){var a=[],o=[];return function(e,r,i){var a,o,s,l,c,f,h=new Array,d=new Array;a=o=-1,l=e[0]>=r,Ev[l<<1].forEach(p);for(;++a<t-1;)s=l,l=e[a+1]>=r,Ev[s|l<<1].forEach(p);Ev[l<<0].forEach(p);for(;++o<n-1;){for(a=-1,l=e[o*t+t]>=r,c=e[o*t]>=r,Ev[l<<1|c<<2].forEach(p);++a<t-1;)s=l,l=e[o*t+t+a+1]>=r,f=c,c=e[o*t+a+1]>=r,Ev[s|l<<1|c<<2|f<<3].forEach(p);Ev[l|c<<3].forEach(p)}a=-1,c=e[o*t]>=r,Ev[c<<2].forEach(p);for(;++a<t-1;)f=c,c=e[o*t+a+1]>=r,Ev[c<<2|f<<3].forEach(p);function p(t){var n,e,r=[t[0][0]+a,t[0][1]+o],s=[t[1][0]+a,t[1][1]+o],l=u(r),c=u(s);(n=d[l])?(e=h[c])?(delete d[n.end],delete h[e.start],n===e?(n.ring.push(s),i(n.ring)):h[n.start]=d[e.end]={start:n.start,end:e.end,ring:n.ring.concat(e.ring)}):(delete d[n.end],n.ring.push(s),d[n.end=c]=n):(n=h[c])?(e=d[l])?(delete h[n.start],delete d[e.end],n===e?(n.ring.push(s),i(n.ring)):h[e.start]=d[n.end]={start:e.start,end:n.end,ring:e.ring.concat(n.ring)}):(delete h[n.start],n.ring.unshift(r),h[n.start=l]=n):h[l]=d[c]={start:l,end:c,ring:[r,s]}}Ev[c<<3].forEach(p)}(e,i,(function(t){r(t,e,i),function(t){for(var n=0,e=t.length,r=t[e-1][1]*t[0][0]-t[e-1][0]*t[0][1];++n<e;)r+=t[n-1][1]*t[n][0]-t[n-1][0]*t[n][1];return r}(t)>0?a.push([t]):o.push(t)})),o.forEach((function(t){for(var n,e=0,r=a.length;e<r;++e)if(-1!==wv((n=a[e])[0],t))return void n.push(t)})),{type:"MultiPolygon",value:i,coordinates:a}}function u(n){return 2*n[0]+n[1]*(t+1)*4}function o(e,r,i){e.forEach((function(e){var a,u=e[0],o=e[1],s=0|u,l=0|o,c=r[l*t+s];u>0&&u<t&&s===u&&(a=r[l*t+s-1],e[0]=u+(i-a)/(c-a)-.5),o>0&&o<n&&l===o&&(a=r[(l-1)*t+s],e[1]=o+(i-a)/(c-a)-.5)}))}return i.contour=a,i.size=function(e){if(!arguments.length)return[t,n];var r=Math.ceil(e[0]),a=Math.ceil(e[1]);if(!(r>0&&a>0))throw new Error("invalid size");return t=r,n=a,i},i.thresholds=function(t){return arguments.length?(e="function"==typeof t?t:Array.isArray(t)?bv(_v.call(t)):bv(t),i):e},i.smooth=function(t){return arguments.length?(r=t?o:kv,i):r===o},i}function Cv(t,n,e){for(var r=t.width,i=t.height,a=1+(e<<1),u=0;u<i;++u)for(var o=0,s=0;o<r+e;++o)o<r&&(s+=t.data[o+u*r]),o>=e&&(o>=a&&(s-=t.data[o-a+u*r]),n.data[o-e+u*r]=s/Math.min(o+1,r-1+a-o,a))}function Fv(t,n,e){for(var r=t.width,i=t.height,a=1+(e<<1),u=0;u<r;++u)for(var o=0,s=0;o<i+e;++o)o<i&&(s+=t.data[u+o*r]),o>=e&&(o>=a&&(s-=t.data[u+(o-a)*r]),n.data[u+(o-e)*r]=s/Math.min(o+1,i-1+a-o,a))}function Sv(t){return t[0]}function Bv(t){return t[1]}function Tv(){return 1}var zv=["size","smooth"],Nv=["x","y","weight","size","cellSize","bandwidth"];function Ov(t){Vr.call(this,null,t)}Ov.Definition={type:"Contour",metadata:{generates:!0},params:[{name:"size",type:"number",array:!0,length:2,required:!0},{name:"values",type:"number",array:!0},{name:"x",type:"field"},{name:"y",type:"field"},{name:"weight",type:"field"},{name:"cellSize",type:"number"},{name:"bandwidth",type:"number"},{name:"count",type:"number"},{name:"smooth",type:"boolean"},{name:"nice",type:"boolean",default:!1},{name:"thresholds",type:"number",array:!0}]},it(Ov,Vr).transform=function(t,n){if(this.value&&!n.changed()&&!t.modified())return n.StopPropagation;var e,r,i,a,u=n.fork(n.NO_SOURCE|n.NO_FIELDS),o=t.count||10;return t.values?(e=Dv(),r=zv,i=t.values):(e=function(){var t=Sv,n=Bv,e=Tv,r=960,i=500,a=20,u=2,o=3*a,s=r+2*o>>u,l=i+2*o>>u,c=bv(20);function f(r){var i=new Float32Array(s*l),f=new Float32Array(s*l);r.forEach((function(r,a,c){var f=+t(r,a,c)+o>>u,h=+n(r,a,c)+o>>u,d=+e(r,a,c);f>=0&&f<s&&h>=0&&h<l&&(i[f+h*s]+=d)})),Cv({width:s,height:l,data:i},{width:s,height:l,data:f},a>>u),Fv({width:s,height:l,data:f},{width:s,height:l,data:i},a>>u),Cv({width:s,height:l,data:i},{width:s,height:l,data:f},a>>u),Fv({width:s,height:l,data:f},{width:s,height:l,data:i},a>>u),Cv({width:s,height:l,data:i},{width:s,height:l,data:f},a>>u),Fv({width:s,height:l,data:f},{width:s,height:l,data:i},a>>u);var d=c(i);if(!Array.isArray(d)){var p=function(t,n){var e,r,i=t.length,a=-1;if(null==n){for(;++a<i;)if(null!=(e=t[a])&&e>=e)for(r=e;++a<i;)null!=(e=t[a])&&e>r&&(r=e)}else for(;++a<i;)if(null!=(e=n(t[a],a,t))&&e>=e)for(r=e;++a<i;)null!=(e=n(t[a],a,t))&&e>r&&(r=e);return r}(i);d=vv(0,p,d),(d=dv(0,Math.floor(p/d)*d,d)).shift()}return Dv().thresholds(d).size([s,l])(i).map(h)}function h(t){return t.value*=Math.pow(2,-2*u),t.coordinates.forEach(d),t}function d(t){t.forEach(p)}function p(t){t.forEach(g)}function g(t){t[0]=t[0]*Math.pow(2,u)-o,t[1]=t[1]*Math.pow(2,u)-o}function m(){return s=r+2*(o=3*a)>>u,l=i+2*o>>u,f}return f.x=function(n){return arguments.length?(t="function"==typeof n?n:bv(+n),f):t},f.y=function(t){return arguments.length?(n="function"==typeof t?t:bv(+t),f):n},f.weight=function(t){return arguments.length?(e="function"==typeof t?t:bv(+t),f):e},f.size=function(t){if(!arguments.length)return[r,i];var n=Math.ceil(t[0]),e=Math.ceil(t[1]);if(!(n>=0||n>=0))throw new Error("invalid size");return r=n,i=e,m()},f.cellSize=function(t){if(!arguments.length)return 1<<u;if(!((t=+t)>=1))throw new Error("invalid cell size");return u=Math.floor(Math.log(t)/Math.LN2),m()},f.thresholds=function(t){return arguments.length?(c="function"==typeof t?t:Array.isArray(t)?bv(_v.call(t)):bv(t),f):c},f.bandwidth=function(t){if(!arguments.length)return Math.sqrt(a*(a+1));if(!((t=+t)>=0))throw new Error("invalid bandwidth");return a=Math.round((Math.sqrt(4*t*t+1)-1)/2),m()},f}(),r=Nv,i=n.materialize(n.SOURCE).source),e.thresholds(t.thresholds||(t.nice?o:(a=o,function(t){for(var n=function(t,n){let e,r;if(void 0===n)for(const n of t)null!=n&&(void 0===e?n>=n&&(e=r=n):(e>n&&(e=n),r<n&&(r=n)));else{let i=-1;for(let a of t)null!=(a=n(a,++i,t))&&(void 0===e?a>=a&&(e=r=a):(e>a&&(e=a),r<a&&(r=a)))}return[e,r]}(t),e=n[0],r=n[1]-e,i=[],u=1;u<=a;++u)i.push(e+r*u/(a+1));return i}))),r.forEach((function(n){null!=t[n]&&e[n](t[n])})),this.value&&(u.rem=this.value),i=i&&i.length?e(i).map(St):[],this.value=u.source=u.add=i,u};var Rv="Feature",qv="FeatureCollection";function Lv(t){Vr.call(this,null,t)}function Pv(){return new Uv}function Uv(){this.reset()}Lv.Definition={type:"GeoJSON",metadata:{},params:[{name:"fields",type:"field",array:!0,length:2},{name:"geojson",type:"field"}]},it(Lv,Vr).transform=function(t,n){var e,i=this._features,a=this._points,u=t.fields,o=u&&u[0],s=u&&u[1],l=t.geojson,c=n.ADD;e=t.modified()||n.changed(n.REM)||n.modified(r(l))||o&&n.modified(r(o))||s&&n.modified(r(s)),this.value&&!e||(c=n.SOURCE,this._features=i=[],this._points=a=[]),l&&n.visit(c,(function(t){i.push(l(t))})),o&&s&&(n.visit(c,(function(t){var n=o(t),e=s(t);null!=n&&null!=e&&(n=+n)===n&&(e=+e)===e&&a.push([n,e])})),i=i.concat({type:Rv,geometry:{type:"MultiPoint",coordinates:a}})),this.value={type:qv,features:i}},Uv.prototype={constructor:Uv,reset:function(){this.s=this.t=0},add:function(t){jv($v,t,this.t),jv(this,$v.s,this.s),this.s?this.t+=$v.t:this.s=$v.t},valueOf:function(){return this.s}};var $v=new Uv;function jv(t,n,e){var r=t.s=n+e,i=r-n,a=r-i;t.t=n-a+(e-i)}var Iv=1e-6,Wv=1e-12,Hv=Math.PI,Yv=Hv/2,Gv=Hv/4,Vv=2*Hv,Xv=180/Hv,Zv=Hv/180,Jv=Math.abs,Qv=Math.atan,Kv=Math.atan2,ty=Math.cos,ny=Math.ceil,ey=Math.exp,ry=Math.log,iy=Math.pow,ay=Math.sin,uy=Math.sign||function(t){return t>0?1:t<0?-1:0},oy=Math.sqrt,sy=Math.tan;function ly(t){return t>1?0:t<-1?Hv:Math.acos(t)}function cy(t){return t>1?Yv:t<-1?-Yv:Math.asin(t)}function fy(){}function hy(t,n){t&&py.hasOwnProperty(t.type)&&py[t.type](t,n)}var dy={Feature:function(t,n){hy(t.geometry,n)},FeatureCollection:function(t,n){for(var e=t.features,r=-1,i=e.length;++r<i;)hy(e[r].geometry,n)}},py={Sphere:function(t,n){n.sphere()},Point:function(t,n){t=t.coordinates,n.point(t[0],t[1],t[2])},MultiPoint:function(t,n){for(var e=t.coordinates,r=-1,i=e.length;++r<i;)t=e[r],n.point(t[0],t[1],t[2])},LineString:function(t,n){gy(t.coordinates,n,0)},MultiLineString:function(t,n){for(var e=t.coordinates,r=-1,i=e.length;++r<i;)gy(e[r],n,0)},Polygon:function(t,n){my(t.coordinates,n)},MultiPolygon:function(t,n){for(var e=t.coordinates,r=-1,i=e.length;++r<i;)my(e[r],n)},GeometryCollection:function(t,n){for(var e=t.geometries,r=-1,i=e.length;++r<i;)hy(e[r],n)}};function gy(t,n,e){var r,i=-1,a=t.length-e;for(n.lineStart();++i<a;)r=t[i],n.point(r[0],r[1],r[2]);n.lineEnd()}function my(t,n){var e=-1,r=t.length;for(n.polygonStart();++e<r;)gy(t[e],n,1);n.polygonEnd()}function vy(t,n){t&&dy.hasOwnProperty(t.type)?dy[t.type](t,n):hy(t,n)}var yy,_y,xy,by,wy,Ay=Pv(),My=Pv(),ky={point:fy,lineStart:fy,lineEnd:fy,polygonStart:function(){Ay.reset(),ky.lineStart=Ey,ky.lineEnd=Dy},polygonEnd:function(){var t=+Ay;My.add(t<0?Vv+t:t),this.lineStart=this.lineEnd=this.point=fy},sphere:function(){My.add(Vv)}};function Ey(){ky.point=Cy}function Dy(){Fy(yy,_y)}function Cy(t,n){ky.point=Fy,yy=t,_y=n,xy=t*=Zv,by=ty(n=(n*=Zv)/2+Gv),wy=ay(n)}function Fy(t,n){var e=(t*=Zv)-xy,r=e>=0?1:-1,i=r*e,a=ty(n=(n*=Zv)/2+Gv),u=ay(n),o=wy*u,s=by*a+o*ty(i),l=o*r*ay(i);Ay.add(Kv(l,s)),xy=t,by=a,wy=u}function Sy(t){return[Kv(t[1],t[0]),cy(t[2])]}function By(t){var n=t[0],e=t[1],r=ty(e);return[r*ty(n),r*ay(n),ay(e)]}function Ty(t,n){return t[0]*n[0]+t[1]*n[1]+t[2]*n[2]}function zy(t,n){return[t[1]*n[2]-t[2]*n[1],t[2]*n[0]-t[0]*n[2],t[0]*n[1]-t[1]*n[0]]}function Ny(t,n){t[0]+=n[0],t[1]+=n[1],t[2]+=n[2]}function Oy(t,n){return[t[0]*n,t[1]*n,t[2]*n]}function Ry(t){var n=oy(t[0]*t[0]+t[1]*t[1]+t[2]*t[2]);t[0]/=n,t[1]/=n,t[2]/=n}var qy,Ly,Py,Uy,$y,jy,Iy,Wy,Hy,Yy,Gy,Vy,Xy,Zy,Jy,Qy,Ky,t_,n_,e_,r_,i_,a_,u_,o_,s_,l_=Pv(),c_={point:f_,lineStart:d_,lineEnd:p_,polygonStart:function(){c_.point=g_,c_.lineStart=m_,c_.lineEnd=v_,l_.reset(),ky.polygonStart()},polygonEnd:function(){ky.polygonEnd(),c_.point=f_,c_.lineStart=d_,c_.lineEnd=p_,Ay<0?(qy=-(Py=180),Ly=-(Uy=90)):l_>Iv?Uy=90:l_<-Iv&&(Ly=-90),Yy[0]=qy,Yy[1]=Py},sphere:function(){qy=-(Py=180),Ly=-(Uy=90)}};function f_(t,n){Hy.push(Yy=[qy=t,Py=t]),n<Ly&&(Ly=n),n>Uy&&(Uy=n)}function h_(t,n){var e=By([t*Zv,n*Zv]);if(Wy){var r=zy(Wy,e),i=zy([r[1],-r[0],0],r);Ry(i),i=Sy(i);var a,u=t-$y,o=u>0?1:-1,s=i[0]*Xv*o,l=Jv(u)>180;l^(o*$y<s&&s<o*t)?(a=i[1]*Xv)>Uy&&(Uy=a):l^(o*$y<(s=(s+360)%360-180)&&s<o*t)?(a=-i[1]*Xv)<Ly&&(Ly=a):(n<Ly&&(Ly=n),n>Uy&&(Uy=n)),l?t<$y?y_(qy,t)>y_(qy,Py)&&(Py=t):y_(t,Py)>y_(qy,Py)&&(qy=t):Py>=qy?(t<qy&&(qy=t),t>Py&&(Py=t)):t>$y?y_(qy,t)>y_(qy,Py)&&(Py=t):y_(t,Py)>y_(qy,Py)&&(qy=t)}else Hy.push(Yy=[qy=t,Py=t]);n<Ly&&(Ly=n),n>Uy&&(Uy=n),Wy=e,$y=t}function d_(){c_.point=h_}function p_(){Yy[0]=qy,Yy[1]=Py,c_.point=f_,Wy=null}function g_(t,n){if(Wy){var e=t-$y;l_.add(Jv(e)>180?e+(e>0?360:-360):e)}else jy=t,Iy=n;ky.point(t,n),h_(t,n)}function m_(){ky.lineStart()}function v_(){g_(jy,Iy),ky.lineEnd(),Jv(l_)>Iv&&(qy=-(Py=180)),Yy[0]=qy,Yy[1]=Py,Wy=null}function y_(t,n){return(n-=t)<0?n+360:n}function __(t,n){return t[0]-n[0]}function x_(t,n){return t[0]<=t[1]?t[0]<=n&&n<=t[1]:n<t[0]||t[1]<n}var b_={sphere:fy,point:w_,lineStart:M_,lineEnd:D_,polygonStart:function(){b_.lineStart=C_,b_.lineEnd=F_},polygonEnd:function(){b_.lineStart=M_,b_.lineEnd=D_}};function w_(t,n){t*=Zv;var e=ty(n*=Zv);A_(e*ty(t),e*ay(t),ay(n))}function A_(t,n,e){Xy+=(t-Xy)/++Gy,Zy+=(n-Zy)/Gy,Jy+=(e-Jy)/Gy}function M_(){b_.point=k_}function k_(t,n){t*=Zv;var e=ty(n*=Zv);u_=e*ty(t),o_=e*ay(t),s_=ay(n),b_.point=E_,A_(u_,o_,s_)}function E_(t,n){t*=Zv;var e=ty(n*=Zv),r=e*ty(t),i=e*ay(t),a=ay(n),u=Kv(oy((u=o_*a-s_*i)*u+(u=s_*r-u_*a)*u+(u=u_*i-o_*r)*u),u_*r+o_*i+s_*a);Vy+=u,Qy+=u*(u_+(u_=r)),Ky+=u*(o_+(o_=i)),t_+=u*(s_+(s_=a)),A_(u_,o_,s_)}function D_(){b_.point=w_}function C_(){b_.point=S_}function F_(){B_(i_,a_),b_.point=w_}function S_(t,n){i_=t,a_=n,t*=Zv,n*=Zv,b_.point=B_;var e=ty(n);u_=e*ty(t),o_=e*ay(t),s_=ay(n),A_(u_,o_,s_)}function B_(t,n){t*=Zv;var e=ty(n*=Zv),r=e*ty(t),i=e*ay(t),a=ay(n),u=o_*a-s_*i,o=s_*r-u_*a,s=u_*i-o_*r,l=oy(u*u+o*o+s*s),c=cy(l),f=l&&-c/l;n_+=f*u,e_+=f*o,r_+=f*s,Vy+=c,Qy+=c*(u_+(u_=r)),Ky+=c*(o_+(o_=i)),t_+=c*(s_+(s_=a)),A_(u_,o_,s_)}function T_(t,n){function e(e,r){return e=t(e,r),n(e[0],e[1])}return t.invert&&n.invert&&(e.invert=function(e,r){return(e=n.invert(e,r))&&t.invert(e[0],e[1])}),e}function z_(t,n){return[Jv(t)>Hv?t+Math.round(-t/Vv)*Vv:t,n]}function N_(t,n,e){return(t%=Vv)?n||e?T_(R_(t),q_(n,e)):R_(t):n||e?q_(n,e):z_}function O_(t){return function(n,e){return[(n+=t)>Hv?n-Vv:n<-Hv?n+Vv:n,e]}}function R_(t){var n=O_(t);return n.invert=O_(-t),n}function q_(t,n){var e=ty(t),r=ay(t),i=ty(n),a=ay(n);function u(t,n){var u=ty(n),o=ty(t)*u,s=ay(t)*u,l=ay(n),c=l*e+o*r;return[Kv(s*i-c*a,o*e-l*r),cy(c*i+s*a)]}return u.invert=function(t,n){var u=ty(n),o=ty(t)*u,s=ay(t)*u,l=ay(n),c=l*i-s*a;return[Kv(s*i+l*a,o*e+c*r),cy(c*e-o*r)]},u}function L_(t,n){(n=By(n))[0]-=t,Ry(n);var e=ly(-n[1]);return((-n[2]<0?-e:e)+Vv-Iv)%Vv}function P_(){var t,n=[];return{point:function(n,e){t.push([n,e])},lineStart:function(){n.push(t=[])},lineEnd:fy,rejoin:function(){n.length>1&&n.push(n.pop().concat(n.shift()))},result:function(){var e=n;return n=[],t=null,e}}}function U_(t,n){return Jv(t[0]-n[0])<Iv&&Jv(t[1]-n[1])<Iv}function $_(t,n,e,r){this.x=t,this.z=n,this.o=e,this.e=r,this.v=!1,this.n=this.p=null}function j_(t,n,e,r,i){var a,u,o=[],s=[];if(t.forEach((function(t){if(!((n=t.length-1)<=0)){var n,e,r=t[0],u=t[n];if(U_(r,u)){for(i.lineStart(),a=0;a<n;++a)i.point((r=t[a])[0],r[1]);i.lineEnd()}else o.push(e=new $_(r,t,null,!0)),s.push(e.o=new $_(r,null,e,!1)),o.push(e=new $_(u,t,null,!1)),s.push(e.o=new $_(u,null,e,!0))}})),o.length){for(s.sort(n),I_(o),I_(s),a=0,u=s.length;a<u;++a)s[a].e=e=!e;for(var l,c,f=o[0];;){for(var h=f,d=!0;h.v;)if((h=h.n)===f)return;l=h.z,i.lineStart();do{if(h.v=h.o.v=!0,h.e){if(d)for(a=0,u=l.length;a<u;++a)i.point((c=l[a])[0],c[1]);else r(h.x,h.n.x,1,i);h=h.n}else{if(d)for(l=h.p.z,a=l.length-1;a>=0;--a)i.point((c=l[a])[0],c[1]);else r(h.x,h.p.x,-1,i);h=h.p}l=(h=h.o).z,d=!d}while(!h.v);i.lineEnd()}}}function I_(t){if(n=t.length){for(var n,e,r=0,i=t[0];++r<n;)i.n=e=t[r],e.p=i,i=e;i.n=e=t[0],e.p=i}}z_.invert=z_;var W_=Pv();function H_(t){return Jv(t[0])<=Hv?t[0]:uy(t[0])*((Jv(t[0])+Hv)%Vv-Hv)}function Y_(t,n){return t<n?-1:t>n?1:t>=n?0:NaN}!function(t){var n;1===t.length&&(n=t,t=function(t,e){return Y_(n(t),e)})}(Y_);function G_(t,n,e){t=+t,n=+n,e=(i=arguments.length)<2?(n=t,t=0,1):i<3?1:+e;for(var r=-1,i=0|Math.max(0,Math.ceil((n-t)/e)),a=new Array(i);++r<i;)a[r]=t+r*e;return a}function V_(t){for(var n,e,r,i=t.length,a=-1,u=0;++a<i;)u+=t[a].length;for(e=new Array(u);--i>=0;)for(n=(r=t[i]).length;--n>=0;)e[--u]=r[n];return e}function X_(t,n,e,r){return function(i){var a,u,o,s=n(i),l=P_(),c=n(l),f=!1,h={point:d,lineStart:g,lineEnd:m,polygonStart:function(){h.point=v,h.lineStart=y,h.lineEnd=_,u=[],a=[]},polygonEnd:function(){h.point=d,h.lineStart=g,h.lineEnd=m,u=V_(u);var t=function(t,n){var e=H_(n),r=n[1],i=ay(r),a=[ay(e),-ty(e),0],u=0,o=0;W_.reset(),1===i?r=Yv+Iv:-1===i&&(r=-Yv-Iv);for(var s=0,l=t.length;s<l;++s)if(f=(c=t[s]).length)for(var c,f,h=c[f-1],d=H_(h),p=h[1]/2+Gv,g=ay(p),m=ty(p),v=0;v<f;++v,d=_,g=b,m=w,h=y){var y=c[v],_=H_(y),x=y[1]/2+Gv,b=ay(x),w=ty(x),A=_-d,M=A>=0?1:-1,k=M*A,E=k>Hv,D=g*b;if(W_.add(Kv(D*M*ay(k),m*w+D*ty(k))),u+=E?A+M*Vv:A,E^d>=e^_>=e){var C=zy(By(h),By(y));Ry(C);var F=zy(a,C);Ry(F);var S=(E^A>=0?-1:1)*cy(F[2]);(r>S||r===S&&(C[0]||C[1]))&&(o+=E^A>=0?1:-1)}}return(u<-Iv||u<Iv&&W_<-Iv)^1&o}(a,r);u.length?(f||(i.polygonStart(),f=!0),j_(u,J_,t,e,i)):t&&(f||(i.polygonStart(),f=!0),i.lineStart(),e(null,null,1,i),i.lineEnd()),f&&(i.polygonEnd(),f=!1),u=a=null},sphere:function(){i.polygonStart(),i.lineStart(),e(null,null,1,i),i.lineEnd(),i.polygonEnd()}};function d(n,e){t(n,e)&&i.point(n,e)}function p(t,n){s.point(t,n)}function g(){h.point=p,s.lineStart()}function m(){h.point=d,s.lineEnd()}function v(t,n){o.push([t,n]),c.point(t,n)}function y(){c.lineStart(),o=[]}function _(){v(o[0][0],o[0][1]),c.lineEnd();var t,n,e,r,s=c.clean(),h=l.result(),d=h.length;if(o.pop(),a.push(o),o=null,d)if(1&s){if((n=(e=h[0]).length-1)>0){for(f||(i.polygonStart(),f=!0),i.lineStart(),t=0;t<n;++t)i.point((r=e[t])[0],r[1]);i.lineEnd()}}else d>1&&2&s&&h.push(h.pop().concat(h.shift())),u.push(h.filter(Z_))}return h}}function Z_(t){return t.length>1}function J_(t,n){return((t=t.x)[0]<0?t[1]-Yv-Iv:Yv-t[1])-((n=n.x)[0]<0?n[1]-Yv-Iv:Yv-n[1])}var Q_=X_((function(){return!0}),(function(t){var n,e=NaN,r=NaN,i=NaN;return{lineStart:function(){t.lineStart(),n=1},point:function(a,u){var o=a>0?Hv:-Hv,s=Jv(a-e);Jv(s-Hv)<Iv?(t.point(e,r=(r+u)/2>0?Yv:-Yv),t.point(i,r),t.lineEnd(),t.lineStart(),t.point(o,r),t.point(a,r),n=0):i!==o&&s>=Hv&&(Jv(e-i)<Iv&&(e-=i*Iv),Jv(a-o)<Iv&&(a-=o*Iv),r=function(t,n,e,r){var i,a,u=ay(t-e);return Jv(u)>Iv?Qv((ay(n)*(a=ty(r))*ay(e)-ay(r)*(i=ty(n))*ay(t))/(i*a*u)):(n+r)/2}(e,r,a,u),t.point(i,r),t.lineEnd(),t.lineStart(),t.point(o,r),n=0),t.point(e=a,r=u),i=o},lineEnd:function(){t.lineEnd(),e=r=NaN},clean:function(){return 2-n}}}),(function(t,n,e,r){var i;if(null==t)i=e*Yv,r.point(-Hv,i),r.point(0,i),r.point(Hv,i),r.point(Hv,0),r.point(Hv,-i),r.point(0,-i),r.point(-Hv,-i),r.point(-Hv,0),r.point(-Hv,i);else if(Jv(t[0]-n[0])>Iv){var a=t[0]<n[0]?Hv:-Hv;i=e*a/2,r.point(-a,i),r.point(0,i),r.point(a,i)}else r.point(n[0],n[1])}),[-Hv,-Yv]);function K_(t){var n=ty(t),e=6*Zv,r=n>0,i=Jv(n)>Iv;function a(t,e){return ty(t)*ty(e)>n}function u(t,e,r){var i=[1,0,0],a=zy(By(t),By(e)),u=Ty(a,a),o=a[0],s=u-o*o;if(!s)return!r&&t;var l=n*u/s,c=-n*o/s,f=zy(i,a),h=Oy(i,l);Ny(h,Oy(a,c));var d=f,p=Ty(h,d),g=Ty(d,d),m=p*p-g*(Ty(h,h)-1);if(!(m<0)){var v=oy(m),y=Oy(d,(-p-v)/g);if(Ny(y,h),y=Sy(y),!r)return y;var _,x=t[0],b=e[0],w=t[1],A=e[1];b<x&&(_=x,x=b,b=_);var M=b-x,k=Jv(M-Hv)<Iv;if(!k&&A<w&&(_=w,w=A,A=_),k||M<Iv?k?w+A>0^y[1]<(Jv(y[0]-x)<Iv?w:A):w<=y[1]&&y[1]<=A:M>Hv^(x<=y[0]&&y[0]<=b)){var E=Oy(d,(-p+v)/g);return Ny(E,h),[y,Sy(E)]}}}function o(n,e){var i=r?t:Hv-t,a=0;return n<-i?a|=1:n>i&&(a|=2),e<-i?a|=4:e>i&&(a|=8),a}return X_(a,(function(t){var n,e,s,l,c;return{lineStart:function(){l=s=!1,c=1},point:function(f,h){var d,p=[f,h],g=a(f,h),m=r?g?0:o(f,h):g?o(f+(f<0?Hv:-Hv),h):0;if(!n&&(l=s=g)&&t.lineStart(),g!==s&&(!(d=u(n,p))||U_(n,d)||U_(p,d))&&(p[0]+=Iv,p[1]+=Iv,g=a(p[0],p[1])),g!==s)c=0,g?(t.lineStart(),d=u(p,n),t.point(d[0],d[1])):(d=u(n,p),t.point(d[0],d[1]),t.lineEnd()),n=d;else if(i&&n&&r^g){var v;m&e||!(v=u(p,n,!0))||(c=0,r?(t.lineStart(),t.point(v[0][0],v[0][1]),t.point(v[1][0],v[1][1]),t.lineEnd()):(t.point(v[1][0],v[1][1]),t.lineEnd(),t.lineStart(),t.point(v[0][0],v[0][1])))}!g||n&&U_(n,p)||t.point(p[0],p[1]),n=p,s=g,e=m},lineEnd:function(){s&&t.lineEnd(),n=null},clean:function(){return c|(l&&s)<<1}}}),(function(n,r,i,a){!function(t,n,e,r,i,a){if(e){var u=ty(n),o=ay(n),s=r*e;null==i?(i=n+r*Vv,a=n-s/2):(i=L_(u,i),a=L_(u,a),(r>0?i<a:i>a)&&(i+=r*Vv));for(var l,c=i;r>0?c>a:c<a;c-=s)l=Sy([u,-o*ty(c),-o*ay(c)]),t.point(l[0],l[1])}}(a,t,e,i,n,r)}),r?[0,-t]:[-Hv,t-Hv])}var tx=1e9,nx=-tx;function ex(t,n,e,r){function i(i,a){return t<=i&&i<=e&&n<=a&&a<=r}function a(i,a,o,l){var c=0,f=0;if(null==i||(c=u(i,o))!==(f=u(a,o))||s(i,a)<0^o>0)do{l.point(0===c||3===c?t:e,c>1?r:n)}while((c=(c+o+4)%4)!==f);else l.point(a[0],a[1])}function u(r,i){return Jv(r[0]-t)<Iv?i>0?0:3:Jv(r[0]-e)<Iv?i>0?2:1:Jv(r[1]-n)<Iv?i>0?1:0:i>0?3:2}function o(t,n){return s(t.x,n.x)}function s(t,n){var e=u(t,1),r=u(n,1);return e!==r?e-r:0===e?n[1]-t[1]:1===e?t[0]-n[0]:2===e?t[1]-n[1]:n[0]-t[0]}return function(u){var s,l,c,f,h,d,p,g,m,v,y,_=u,x=P_(),b={point:w,lineStart:function(){b.point=A,l&&l.push(c=[]);v=!0,m=!1,p=g=NaN},lineEnd:function(){s&&(A(f,h),d&&m&&x.rejoin(),s.push(x.result()));b.point=w,m&&_.lineEnd()},polygonStart:function(){_=x,s=[],l=[],y=!0},polygonEnd:function(){var n=function(){for(var n=0,e=0,i=l.length;e<i;++e)for(var a,u,o=l[e],s=1,c=o.length,f=o[0],h=f[0],d=f[1];s<c;++s)a=h,u=d,f=o[s],h=f[0],d=f[1],u<=r?d>r&&(h-a)*(r-u)>(d-u)*(t-a)&&++n:d<=r&&(h-a)*(r-u)<(d-u)*(t-a)&&--n;return n}(),e=y&&n,i=(s=V_(s)).length;(e||i)&&(u.polygonStart(),e&&(u.lineStart(),a(null,null,1,u),u.lineEnd()),i&&j_(s,o,n,a,u),u.polygonEnd());_=u,s=l=c=null}};function w(t,n){i(t,n)&&_.point(t,n)}function A(a,u){var o=i(a,u);if(l&&c.push([a,u]),v)f=a,h=u,d=o,v=!1,o&&(_.lineStart(),_.point(a,u));else if(o&&m)_.point(a,u);else{var s=[p=Math.max(nx,Math.min(tx,p)),g=Math.max(nx,Math.min(tx,g))],x=[a=Math.max(nx,Math.min(tx,a)),u=Math.max(nx,Math.min(tx,u))];!function(t,n,e,r,i,a){var u,o=t[0],s=t[1],l=0,c=1,f=n[0]-o,h=n[1]-s;if(u=e-o,f||!(u>0)){if(u/=f,f<0){if(u<l)return;u<c&&(c=u)}else if(f>0){if(u>c)return;u>l&&(l=u)}if(u=i-o,f||!(u<0)){if(u/=f,f<0){if(u>c)return;u>l&&(l=u)}else if(f>0){if(u<l)return;u<c&&(c=u)}if(u=r-s,h||!(u>0)){if(u/=h,h<0){if(u<l)return;u<c&&(c=u)}else if(h>0){if(u>c)return;u>l&&(l=u)}if(u=a-s,h||!(u<0)){if(u/=h,h<0){if(u>c)return;u>l&&(l=u)}else if(h>0){if(u<l)return;u<c&&(c=u)}return l>0&&(t[0]=o+l*f,t[1]=s+l*h),c<1&&(n[0]=o+c*f,n[1]=s+c*h),!0}}}}}(s,x,t,n,e,r)?o&&(_.lineStart(),_.point(a,u),y=!1):(m||(_.lineStart(),_.point(s[0],s[1])),_.point(x[0],x[1]),o||_.lineEnd(),y=!1)}p=a,g=u,m=o}return b}}Pv();function rx(t,n,e){var r=G_(t,n-Iv,e).concat(n);return function(t){return r.map((function(n){return[t,n]}))}}function ix(t,n,e){var r=G_(t,n-Iv,e).concat(n);return function(t){return r.map((function(n){return[n,t]}))}}function ax(t){return t}var ux,ox,sx,lx,cx=Pv(),fx=Pv(),hx={point:fy,lineStart:fy,lineEnd:fy,polygonStart:function(){hx.lineStart=dx,hx.lineEnd=mx},polygonEnd:function(){hx.lineStart=hx.lineEnd=hx.point=fy,cx.add(Jv(fx)),fx.reset()},result:function(){var t=cx/2;return cx.reset(),t}};function dx(){hx.point=px}function px(t,n){hx.point=gx,ux=sx=t,ox=lx=n}function gx(t,n){fx.add(lx*t-sx*n),sx=t,lx=n}function mx(){gx(ux,ox)}var vx=1/0,yx=vx,_x=-vx,xx=_x,bx={point:function(t,n){t<vx&&(vx=t);t>_x&&(_x=t);n<yx&&(yx=n);n>xx&&(xx=n)},lineStart:fy,lineEnd:fy,polygonStart:fy,polygonEnd:fy,result:function(){var t=[[vx,yx],[_x,xx]];return _x=xx=-(yx=vx=1/0),t}};var wx,Ax,Mx,kx,Ex=0,Dx=0,Cx=0,Fx=0,Sx=0,Bx=0,Tx=0,zx=0,Nx=0,Ox={point:Rx,lineStart:qx,lineEnd:Ux,polygonStart:function(){Ox.lineStart=$x,Ox.lineEnd=jx},polygonEnd:function(){Ox.point=Rx,Ox.lineStart=qx,Ox.lineEnd=Ux},result:function(){var t=Nx?[Tx/Nx,zx/Nx]:Bx?[Fx/Bx,Sx/Bx]:Cx?[Ex/Cx,Dx/Cx]:[NaN,NaN];return Ex=Dx=Cx=Fx=Sx=Bx=Tx=zx=Nx=0,t}};function Rx(t,n){Ex+=t,Dx+=n,++Cx}function qx(){Ox.point=Lx}function Lx(t,n){Ox.point=Px,Rx(Mx=t,kx=n)}function Px(t,n){var e=t-Mx,r=n-kx,i=oy(e*e+r*r);Fx+=i*(Mx+t)/2,Sx+=i*(kx+n)/2,Bx+=i,Rx(Mx=t,kx=n)}function Ux(){Ox.point=Rx}function $x(){Ox.point=Ix}function jx(){Wx(wx,Ax)}function Ix(t,n){Ox.point=Wx,Rx(wx=Mx=t,Ax=kx=n)}function Wx(t,n){var e=t-Mx,r=n-kx,i=oy(e*e+r*r);Fx+=i*(Mx+t)/2,Sx+=i*(kx+n)/2,Bx+=i,Tx+=(i=kx*t-Mx*n)*(Mx+t),zx+=i*(kx+n),Nx+=3*i,Rx(Mx=t,kx=n)}function Hx(t){this._context=t}Hx.prototype={_radius:4.5,pointRadius:function(t){return this._radius=t,this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){0===this._line&&this._context.closePath(),this._point=NaN},point:function(t,n){switch(this._point){case 0:this._context.moveTo(t,n),this._point=1;break;case 1:this._context.lineTo(t,n);break;default:this._context.moveTo(t+this._radius,n),this._context.arc(t,n,this._radius,0,Vv)}},result:fy};var Yx,Gx,Vx,Xx,Zx,Jx=Pv(),Qx={point:fy,lineStart:function(){Qx.point=Kx},lineEnd:function(){Yx&&tb(Gx,Vx),Qx.point=fy},polygonStart:function(){Yx=!0},polygonEnd:function(){Yx=null},result:function(){var t=+Jx;return Jx.reset(),t}};function Kx(t,n){Qx.point=tb,Gx=Xx=t,Vx=Zx=n}function tb(t,n){Xx-=t,Zx-=n,Jx.add(oy(Xx*Xx+Zx*Zx)),Xx=t,Zx=n}function nb(){this._string=[]}function eb(t){return"m0,"+t+"a"+t+","+t+" 0 1,1 0,"+-2*t+"a"+t+","+t+" 0 1,1 0,"+2*t+"z"}function rb(t,n){var e,r,i=4.5;function a(t){return t&&("function"==typeof i&&r.pointRadius(+i.apply(this,arguments)),vy(t,e(r))),r.result()}return a.area=function(t){return vy(t,e(hx)),hx.result()},a.measure=function(t){return vy(t,e(Qx)),Qx.result()},a.bounds=function(t){return vy(t,e(bx)),bx.result()},a.centroid=function(t){return vy(t,e(Ox)),Ox.result()},a.projection=function(n){return arguments.length?(e=null==n?(t=null,ax):(t=n).stream,a):t},a.context=function(t){return arguments.length?(r=null==t?(n=null,new nb):new Hx(n=t),"function"!=typeof i&&r.pointRadius(i),a):n},a.pointRadius=function(t){return arguments.length?(i="function"==typeof t?t:(r.pointRadius(+t),+t),a):i},a.projection(t).context(n)}function ib(t){return function(n){var e=new ab;for(var r in t)e[r]=t[r];return e.stream=n,e}}function ab(){}function ub(t,n,e){var r=t.clipExtent&&t.clipExtent();return t.scale(150).translate([0,0]),null!=r&&t.clipExtent(null),vy(e,t.stream(bx)),n(bx.result()),null!=r&&t.clipExtent(r),t}function ob(t,n,e){return ub(t,(function(e){var r=n[1][0]-n[0][0],i=n[1][1]-n[0][1],a=Math.min(r/(e[1][0]-e[0][0]),i/(e[1][1]-e[0][1])),u=+n[0][0]+(r-a*(e[1][0]+e[0][0]))/2,o=+n[0][1]+(i-a*(e[1][1]+e[0][1]))/2;t.scale(150*a).translate([u,o])}),e)}function sb(t,n,e){return ob(t,[[0,0],n],e)}function lb(t,n,e){return ub(t,(function(e){var r=+n,i=r/(e[1][0]-e[0][0]),a=(r-i*(e[1][0]+e[0][0]))/2,u=-i*e[0][1];t.scale(150*i).translate([a,u])}),e)}function cb(t,n,e){return ub(t,(function(e){var r=+n,i=r/(e[1][1]-e[0][1]),a=-i*e[0][0],u=(r-i*(e[1][1]+e[0][1]))/2;t.scale(150*i).translate([a,u])}),e)}nb.prototype={_radius:4.5,_circle:eb(4.5),pointRadius:function(t){return(t=+t)!==this._radius&&(this._radius=t,this._circle=null),this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){0===this._line&&this._string.push("Z"),this._point=NaN},point:function(t,n){switch(this._point){case 0:this._string.push("M",t,",",n),this._point=1;break;case 1:this._string.push("L",t,",",n);break;default:null==this._circle&&(this._circle=eb(this._radius)),this._string.push("M",t,",",n,this._circle)}},result:function(){if(this._string.length){var t=this._string.join("");return this._string=[],t}return null}},ab.prototype={constructor:ab,point:function(t,n){this.stream.point(t,n)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}};var fb=16,hb=ty(30*Zv);function db(t,n){return+n?function(t,n){function e(r,i,a,u,o,s,l,c,f,h,d,p,g,m){var v=l-r,y=c-i,_=v*v+y*y;if(_>4*n&&g--){var x=u+h,b=o+d,w=s+p,A=oy(x*x+b*b+w*w),M=cy(w/=A),k=Jv(Jv(w)-1)<Iv||Jv(a-f)<Iv?(a+f)/2:Kv(b,x),E=t(k,M),D=E[0],C=E[1],F=D-r,S=C-i,B=y*F-v*S;(B*B/_>n||Jv((v*F+y*S)/_-.5)>.3||u*h+o*d+s*p<hb)&&(e(r,i,a,u,o,s,D,C,k,x/=A,b/=A,w,g,m),m.point(D,C),e(D,C,k,x,b,w,l,c,f,h,d,p,g,m))}}return function(n){var r,i,a,u,o,s,l,c,f,h,d,p,g={point:m,lineStart:v,lineEnd:_,polygonStart:function(){n.polygonStart(),g.lineStart=x},polygonEnd:function(){n.polygonEnd(),g.lineStart=v}};function m(e,r){e=t(e,r),n.point(e[0],e[1])}function v(){c=NaN,g.point=y,n.lineStart()}function y(r,i){var a=By([r,i]),u=t(r,i);e(c,f,l,h,d,p,c=u[0],f=u[1],l=r,h=a[0],d=a[1],p=a[2],fb,n),n.point(c,f)}function _(){g.point=m,n.lineEnd()}function x(){v(),g.point=b,g.lineEnd=w}function b(t,n){y(r=t,n),i=c,a=f,u=h,o=d,s=p,g.point=y}function w(){e(c,f,l,h,d,p,i,a,r,u,o,s,fb,n),g.lineEnd=_,_()}return g}}(t,n):function(t){return ib({point:function(n,e){n=t(n,e),this.stream.point(n[0],n[1])}})}(t)}var pb=ib({point:function(t,n){this.stream.point(t*Zv,n*Zv)}});function gb(t,n,e){function r(r,i){return[n+t*r,e-t*i]}return r.invert=function(r,i){return[(r-n)/t,(e-i)/t]},r}function mb(t,n,e,r){var i=ty(r),a=ay(r),u=i*t,o=a*t,s=i/t,l=a/t,c=(a*e-i*n)/t,f=(a*n+i*e)/t;function h(t,r){return[u*t-o*r+n,e-o*t-u*r]}return h.invert=function(t,n){return[s*t-l*n+c,f-l*t-s*n]},h}function vb(t){return yb((function(){return t}))()}function yb(t){var n,e,r,i,a,u,o,s,l,c,f=150,h=480,d=250,p=0,g=0,m=0,v=0,y=0,_=0,x=null,b=Q_,w=null,A=ax,M=.5;function k(t){return s(t[0]*Zv,t[1]*Zv)}function E(t){return(t=s.invert(t[0],t[1]))&&[t[0]*Xv,t[1]*Xv]}function D(){var t=mb(f,0,0,_).apply(null,n(p,g)),r=(_?mb:gb)(f,h-t[0],d-t[1],_);return e=N_(m,v,y),o=T_(n,r),s=T_(e,o),u=db(o,M),C()}function C(){return l=c=null,k}return k.stream=function(t){return l&&c===t?l:l=pb(function(t){return ib({point:function(n,e){var r=t(n,e);return this.stream.point(r[0],r[1])}})}(e)(b(u(A(c=t)))))},k.preclip=function(t){return arguments.length?(b=t,x=void 0,C()):b},k.postclip=function(t){return arguments.length?(A=t,w=r=i=a=null,C()):A},k.clipAngle=function(t){return arguments.length?(b=+t?K_(x=t*Zv):(x=null,Q_),C()):x*Xv},k.clipExtent=function(t){return arguments.length?(A=null==t?(w=r=i=a=null,ax):ex(w=+t[0][0],r=+t[0][1],i=+t[1][0],a=+t[1][1]),C()):null==w?null:[[w,r],[i,a]]},k.scale=function(t){return arguments.length?(f=+t,D()):f},k.translate=function(t){return arguments.length?(h=+t[0],d=+t[1],D()):[h,d]},k.center=function(t){return arguments.length?(p=t[0]%360*Zv,g=t[1]%360*Zv,D()):[p*Xv,g*Xv]},k.rotate=function(t){return arguments.length?(m=t[0]%360*Zv,v=t[1]%360*Zv,y=t.length>2?t[2]%360*Zv:0,D()):[m*Xv,v*Xv,y*Xv]},k.angle=function(t){return arguments.length?(_=t%360*Zv,D()):_*Xv},k.precision=function(t){return arguments.length?(u=db(o,M=t*t),C()):oy(M)},k.fitExtent=function(t,n){return ob(k,t,n)},k.fitSize=function(t,n){return sb(k,t,n)},k.fitWidth=function(t,n){return lb(k,t,n)},k.fitHeight=function(t,n){return cb(k,t,n)},function(){return n=t.apply(this,arguments),k.invert=n.invert&&E,D()}}function _b(t){var n=0,e=Hv/3,r=yb(t),i=r(n,e);return i.parallels=function(t){return arguments.length?r(n=t[0]*Zv,e=t[1]*Zv):[n*Xv,e*Xv]},i}function xb(t,n){var e=ay(t),r=(e+ay(n))/2;if(Jv(r)<Iv)return function(t){var n=ty(t);function e(t,e){return[t*n,ay(e)/n]}return e.invert=function(t,e){return[t/n,cy(e*n)]},e}(t);var i=1+e*(2*r-e),a=oy(i)/r;function u(t,n){var e=oy(i-2*r*ay(n))/r;return[e*ay(t*=r),a-e*ty(t)]}return u.invert=function(t,n){var e=a-n;return[Kv(t,Jv(e))/r*uy(e),cy((i-(t*t+e*e)*r*r)/(2*r))]},u}function bb(){return _b(xb).scale(155.424).center([0,33.6442])}function wb(){return bb().parallels([29.5,45.5]).scale(1070).translate([480,250]).rotate([96,0]).center([-.6,38.7])}function Ab(t){return function(n,e){var r=ty(n),i=ty(e),a=t(r*i);return[a*i*ay(n),a*ay(e)]}}function Mb(t){return function(n,e){var r=oy(n*n+e*e),i=t(r),a=ay(i),u=ty(i);return[Kv(n*a,r*u),cy(r&&e*a/r)]}}var kb=Ab((function(t){return oy(2/(1+t))}));kb.invert=Mb((function(t){return 2*cy(t/2)}));var Eb=Ab((function(t){return(t=ly(t))&&t/ay(t)}));function Db(t,n){return[t,ry(sy((Yv+n)/2))]}function Cb(t){var n,e,r,i=vb(t),a=i.center,u=i.scale,o=i.translate,s=i.clipExtent,l=null;function c(){var a=Hv*u(),o=i(function(t){function n(n){return(n=t(n[0]*Zv,n[1]*Zv))[0]*=Xv,n[1]*=Xv,n}return t=N_(t[0]*Zv,t[1]*Zv,t.length>2?t[2]*Zv:0),n.invert=function(n){return(n=t.invert(n[0]*Zv,n[1]*Zv))[0]*=Xv,n[1]*=Xv,n},n}(i.rotate()).invert([0,0]));return s(null==l?[[o[0]-a,o[1]-a],[o[0]+a,o[1]+a]]:t===Db?[[Math.max(o[0]-a,l),n],[Math.min(o[0]+a,e),r]]:[[l,Math.max(o[1]-a,n)],[e,Math.min(o[1]+a,r)]])}return i.scale=function(t){return arguments.length?(u(t),c()):u()},i.translate=function(t){return arguments.length?(o(t),c()):o()},i.center=function(t){return arguments.length?(a(t),c()):a()},i.clipExtent=function(t){return arguments.length?(null==t?l=n=e=r=null:(l=+t[0][0],n=+t[0][1],e=+t[1][0],r=+t[1][1]),c()):null==l?null:[[l,n],[e,r]]},c()}function Fb(t){return sy((Yv+t)/2)}function Sb(t,n){var e=ty(t),r=t===n?ay(t):ry(e/ty(n))/ry(Fb(n)/Fb(t)),i=e*iy(Fb(t),r)/r;if(!r)return Db;function a(t,n){i>0?n<-Yv+Iv&&(n=-Yv+Iv):n>Yv-Iv&&(n=Yv-Iv);var e=i/iy(Fb(n),r);return[e*ay(r*t),i-e*ty(r*t)]}return a.invert=function(t,n){var e=i-n,a=uy(r)*oy(t*t+e*e);return[Kv(t,Jv(e))/r*uy(e),2*Qv(iy(i/a,1/r))-Yv]},a}function Bb(t,n){return[t,n]}function Tb(t,n){var e=ty(t),r=t===n?ay(t):(e-ty(n))/(n-t),i=e/r+t;if(Jv(r)<Iv)return Bb;function a(t,n){var e=i-n,a=r*t;return[e*ay(a),i-e*ty(a)]}return a.invert=function(t,n){var e=i-n;return[Kv(t,Jv(e))/r*uy(e),i-uy(r)*oy(t*t+e*e)]},a}Eb.invert=Mb((function(t){return t})),Db.invert=function(t,n){return[t,2*Qv(ey(n))-Yv]},Bb.invert=Bb;var zb=1.340264,Nb=-.081106,Ob=893e-6,Rb=.003796,qb=oy(3)/2;function Lb(t,n){var e=cy(qb*ay(n)),r=e*e,i=r*r*r;return[t*ty(e)/(qb*(zb+3*Nb*r+i*(7*Ob+9*Rb*r))),e*(zb+Nb*r+i*(Ob+Rb*r))]}function Pb(t,n){var e=ty(n),r=ty(t)*e;return[e*ay(t)/r,ay(n)/r]}function Ub(t,n,e,r){return 1===t&&1===n&&0===e&&0===r?ax:ib({point:function(i,a){this.stream.point(i*t+e,a*n+r)}})}function $b(t,n){var e=n*n,r=e*e;return[t*(.8707-.131979*e+r*(r*(.003971*e-.001529*r)-.013791)),n*(1.007226+e*(.015085+r*(.028874*e-.044475-.005916*r)))]}function jb(t,n){return[ty(n)*ay(t),ay(n)]}function Ib(t,n){var e=ty(n),r=1+ty(t)*e;return[e*ay(t)/r,ay(n)/r]}function Wb(t,n){return[ry(sy((Yv+n)/2)),-t]}Lb.invert=function(t,n){for(var e,r=n,i=r*r,a=i*i*i,u=0;u<12&&(a=(i=(r-=e=(r*(zb+Nb*i+a*(Ob+Rb*i))-n)/(zb+3*Nb*i+a*(7*Ob+9*Rb*i)))*r)*i*i,!(Jv(e)<Wv));++u);return[qb*t*(zb+3*Nb*i+a*(7*Ob+9*Rb*i))/ty(r),cy(ay(r)/qb)]},Pb.invert=Mb(Qv),$b.invert=function(t,n){var e,r=n,i=25;do{var a=r*r,u=a*a;r-=e=(r*(1.007226+a*(.015085+u*(.028874*a-.044475-.005916*u)))-n)/(1.007226+a*(.045255+u*(.259866*a-.311325-.005916*11*u)))}while(Jv(e)>Iv&&--i>0);return[t/(.8707+(a=r*r)*(a*(a*a*a*(.003971-.001529*a)-.013791)-.131979)),r]},jb.invert=Mb(cy),Ib.invert=Mb((function(t){return 2*Qv(t)})),Wb.invert=function(t,n){return[-n,2*Qv(ey(t))-Yv]};var Hb=rb(),Yb=["clipAngle","clipExtent","scale","translate","center","rotate","parallels","precision","reflectX","reflectY","coefficient","distance","fraction","lobes","parallel","radius","ratio","spacing","tilt"];function Gb(t,n){if(!t||"string"!=typeof t)throw new Error("Projection type must be a name string.");return t=t.toLowerCase(),arguments.length>1?(Xb[t]=function(t,n){return function e(){var r=n();return r.type=t,r.path=rb().projection(r),r.copy=r.copy||function(){var t=e();return Yb.forEach((function(n){r[n]&&t[n](r[n]())})),t.path.pointRadius(r.path.pointRadius()),t},r}}(t,n),this):Xb[t]||null}function Vb(t){return t&&t.path||Hb}var Xb={albers:wb,albersusa:function(){var t,n,e,r,i,a,u=wb(),o=bb().rotate([154,0]).center([-2,58.5]).parallels([55,65]),s=bb().rotate([157,0]).center([-3,19.9]).parallels([8,18]),l={point:function(t,n){a=[t,n]}};function c(t){var n=t[0],u=t[1];return a=null,e.point(n,u),a||(r.point(n,u),a)||(i.point(n,u),a)}function f(){return t=n=null,c}return c.invert=function(t){var n=u.scale(),e=u.translate(),r=(t[0]-e[0])/n,i=(t[1]-e[1])/n;return(i>=.12&&i<.234&&r>=-.425&&r<-.214?o:i>=.166&&i<.234&&r>=-.214&&r<-.115?s:u).invert(t)},c.stream=function(e){return t&&n===e?t:(r=[u.stream(n=e),o.stream(e),s.stream(e)],i=r.length,t={point:function(t,n){for(var e=-1;++e<i;)r[e].point(t,n)},sphere:function(){for(var t=-1;++t<i;)r[t].sphere()},lineStart:function(){for(var t=-1;++t<i;)r[t].lineStart()},lineEnd:function(){for(var t=-1;++t<i;)r[t].lineEnd()},polygonStart:function(){for(var t=-1;++t<i;)r[t].polygonStart()},polygonEnd:function(){for(var t=-1;++t<i;)r[t].polygonEnd()}});var r,i},c.precision=function(t){return arguments.length?(u.precision(t),o.precision(t),s.precision(t),f()):u.precision()},c.scale=function(t){return arguments.length?(u.scale(t),o.scale(.35*t),s.scale(t),c.translate(u.translate())):u.scale()},c.translate=function(t){if(!arguments.length)return u.translate();var n=u.scale(),a=+t[0],c=+t[1];return e=u.translate(t).clipExtent([[a-.455*n,c-.238*n],[a+.455*n,c+.238*n]]).stream(l),r=o.translate([a-.307*n,c+.201*n]).clipExtent([[a-.425*n+Iv,c+.12*n+Iv],[a-.214*n-Iv,c+.234*n-Iv]]).stream(l),i=s.translate([a-.205*n,c+.212*n]).clipExtent([[a-.214*n+Iv,c+.166*n+Iv],[a-.115*n-Iv,c+.234*n-Iv]]).stream(l),f()},c.fitExtent=function(t,n){return ob(c,t,n)},c.fitSize=function(t,n){return sb(c,t,n)},c.fitWidth=function(t,n){return lb(c,t,n)},c.fitHeight=function(t,n){return cb(c,t,n)},c.scale(1070)},azimuthalequalarea:function(){return vb(kb).scale(124.75).clipAngle(179.999)},azimuthalequidistant:function(){return vb(Eb).scale(79.4188).clipAngle(179.999)},conicconformal:function(){return _b(Sb).scale(109.5).parallels([30,30])},conicequalarea:bb,conicequidistant:function(){return _b(Tb).scale(131.154).center([0,13.9389])},equalEarth:function(){return vb(Lb).scale(177.158)},equirectangular:function(){return vb(Bb).scale(152.63)},gnomonic:function(){return vb(Pb).scale(144.049).clipAngle(60)},identity:function(){var t,n,e,r,i,a,u=1,o=0,s=0,l=1,c=1,f=ax,h=null,d=ax;function p(){return r=i=null,a}return a={stream:function(t){return r&&i===t?r:r=f(d(i=t))},postclip:function(r){return arguments.length?(d=r,h=t=n=e=null,p()):d},clipExtent:function(r){return arguments.length?(d=null==r?(h=t=n=e=null,ax):ex(h=+r[0][0],t=+r[0][1],n=+r[1][0],e=+r[1][1]),p()):null==h?null:[[h,t],[n,e]]},scale:function(t){return arguments.length?(f=Ub((u=+t)*l,u*c,o,s),p()):u},translate:function(t){return arguments.length?(f=Ub(u*l,u*c,o=+t[0],s=+t[1]),p()):[o,s]},reflectX:function(t){return arguments.length?(f=Ub(u*(l=t?-1:1),u*c,o,s),p()):l<0},reflectY:function(t){return arguments.length?(f=Ub(u*l,u*(c=t?-1:1),o,s),p()):c<0},fitExtent:function(t,n){return ob(a,t,n)},fitSize:function(t,n){return sb(a,t,n)},fitWidth:function(t,n){return lb(a,t,n)},fitHeight:function(t,n){return cb(a,t,n)}}},mercator:function(){return Cb(Db).scale(961/Vv)},naturalEarth1:function(){return vb($b).scale(175.295)},orthographic:function(){return vb(jb).scale(249.5).clipAngle(90+Iv)},stereographic:function(){return vb(Ib).scale(250).clipAngle(142)},transversemercator:function(){var t=Cb(Wb),n=t.center,e=t.rotate;return t.center=function(t){return arguments.length?n([-t[1],t[0]]):[(t=n())[1],-t[0]]},t.rotate=function(t){return arguments.length?e([t[0],t[1],t.length>2?t[2]+90:90]):[(t=e())[0],t[1],t[2]-90]},e([0,0,90]).scale(159.155)}};for(var Zb in Xb)Gb(Zb,Xb[Zb]);function Jb(t){Vr.call(this,null,t)}function Qb(t){Vr.call(this,null,t)}function Kb(t){Vr.call(this,null,t)}function tw(t){Vr.call(this,[],t),this.generator=function(){var t,n,e,r,i,a,u,o,s,l,c,f,h=10,d=h,p=90,g=360,m=2.5;function v(){return{type:"MultiLineString",coordinates:y()}}function y(){return G_(ny(r/p)*p,e,p).map(c).concat(G_(ny(o/g)*g,u,g).map(f)).concat(G_(ny(n/h)*h,t,h).filter((function(t){return Jv(t%p)>Iv})).map(s)).concat(G_(ny(a/d)*d,i,d).filter((function(t){return Jv(t%g)>Iv})).map(l))}return v.lines=function(){return y().map((function(t){return{type:"LineString",coordinates:t}}))},v.outline=function(){return{type:"Polygon",coordinates:[c(r).concat(f(u).slice(1),c(e).reverse().slice(1),f(o).reverse().slice(1))]}},v.extent=function(t){return arguments.length?v.extentMajor(t).extentMinor(t):v.extentMinor()},v.extentMajor=function(t){return arguments.length?(r=+t[0][0],e=+t[1][0],o=+t[0][1],u=+t[1][1],r>e&&(t=r,r=e,e=t),o>u&&(t=o,o=u,u=t),v.precision(m)):[[r,o],[e,u]]},v.extentMinor=function(e){return arguments.length?(n=+e[0][0],t=+e[1][0],a=+e[0][1],i=+e[1][1],n>t&&(e=n,n=t,t=e),a>i&&(e=a,a=i,i=e),v.precision(m)):[[n,a],[t,i]]},v.step=function(t){return arguments.length?v.stepMajor(t).stepMinor(t):v.stepMinor()},v.stepMajor=function(t){return arguments.length?(p=+t[0],g=+t[1],v):[p,g]},v.stepMinor=function(t){return arguments.length?(h=+t[0],d=+t[1],v):[h,d]},v.precision=function(h){return arguments.length?(m=+h,s=rx(a,i,90),l=ix(n,t,m),c=rx(o,u,90),f=ix(r,e,m),v):m},v.extentMajor([[-180,-90+Iv],[180,90-Iv]]).extentMinor([[-180,-80-Iv],[180,80+Iv]])}()}function nw(t){Vr.call(this,null,t),this.modified(!0)}function ew(t,n,e){Y(t[n])&&t[n](e)}Jb.Definition={type:"GeoPath",metadata:{modifies:!0},params:[{name:"projection",type:"projection"},{name:"field",type:"field"},{name:"pointRadius",type:"number",expr:!0},{name:"as",type:"string",default:"path"}]},it(Jb,Vr).transform=function(t,n){var e=n.fork(n.ALL),r=this.value,i=t.field||d,a=t.as||"path",u=e.SOURCE;!r||t.modified()?(this.value=r=Vb(t.projection),e.materialize().reflow()):u=i===d||n.modified(i.fields)?e.ADD_MOD:e.ADD;var o=function(t,n){var e=t.pointRadius();t.context(null),null!=n&&t.pointRadius(n);return e}(r,t.pointRadius);return e.visit(u,(function(t){t[a]=r(i(t))})),r.pointRadius(o),e.modifies(a)},Qb.Definition={type:"GeoPoint",metadata:{modifies:!0},params:[{name:"projection",type:"projection",required:!0},{name:"fields",type:"field",array:!0,required:!0,length:2},{name:"as",type:"string",array:!0,length:2,default:["x","y"]}]},it(Qb,Vr).transform=function(t,n){var e,r=t.projection,i=t.fields[0],a=t.fields[1],u=t.as||["x","y"],o=u[0],s=u[1];function l(t){var n=r([i(t),a(t)]);n?(t[o]=n[0],t[s]=n[1]):(t[o]=void 0,t[s]=void 0)}return t.modified()?n=n.materialize().reflow(!0).visit(n.SOURCE,l):(e=n.modified(i.fields)||n.modified(a.fields),n.visit(e?n.ADD_MOD:n.ADD,l)),n.modifies(u)},Kb.Definition={type:"GeoShape",metadata:{modifies:!0,nomod:!0},params:[{name:"projection",type:"projection"},{name:"field",type:"field",default:"datum"},{name:"pointRadius",type:"number",expr:!0},{name:"as",type:"string",default:"shape"}]},it(Kb,Vr).transform=function(t,n){var e=n.fork(n.ALL),r=this.value,i=t.as||"shape",a=e.ADD;return r&&!t.modified()||(this.value=r=function(t,n,e){var r=null==e?function(e){return t(n(e))}:function(r){var i=t.pointRadius(),a=t.pointRadius(e)(n(r));return t.pointRadius(i),a};return r.context=function(n){return t.context(n),r},r}(Vb(t.projection),t.field||c("datum"),t.pointRadius),e.materialize().reflow(),a=e.SOURCE),e.visit(a,(function(t){t[i]=r})),e.modifies(i)},tw.Definition={type:"Graticule",metadata:{changes:!0,generates:!0},params:[{name:"extent",type:"array",array:!0,length:2,content:{type:"number",array:!0,length:2}},{name:"extentMajor",type:"array",array:!0,length:2,content:{type:"number",array:!0,length:2}},{name:"extentMinor",type:"array",array:!0,length:2,content:{type:"number",array:!0,length:2}},{name:"step",type:"number",array:!0,length:2},{name:"stepMajor",type:"number",array:!0,length:2,default:[90,360]},{name:"stepMinor",type:"number",array:!0,length:2,default:[10,10]},{name:"precision",type:"number",default:2.5}]},it(tw,Vr).transform=function(t,n){var e,r=this.value,i=this.generator;if(!r.length||t.modified())for(var a in t)Y(i[a])&&i[a](t[a]);return e=i(),r.length?n.mod.push(zt(r[0],e)):n.add.push(St(e)),r[0]=e,n},it(nw,Vr).transform=function(t,n){var e=this.value;return!e||t.modified("type")?(this.value=e=function(t){var n=Gb((t||"mercator").toLowerCase());n||i("Unrecognized projection type: "+t);return n()}(t.type),Yb.forEach((function(n){null!=t[n]&&ew(e,n,t[n])}))):Yb.forEach((function(n){t.modified(n)&&ew(e,n,t[n])})),null!=t.pointRadius&&e.path.pointRadius(t.pointRadius),t.fit&&function(t,n){var e=function(t){return 1===(t=W(t)).length?t[0]:{type:qv,features:t.reduce((t,n)=>t.concat(function(t){return t.type===qv?t.features:W(t).filter(t=>null!=t).map(t=>t.type===Rv?t:{type:Rv,geometry:t})}(n)),[])}}(n.fit);n.extent?t.fitExtent(n.extent,e):n.size&&t.fitSize(n.size,e)}(e,t),n.fork(n.NO_SOURCE|n.NO_FIELDS)};var rw=Object.freeze({contour:Ov,geojson:Lv,geopath:Jb,geopoint:Qb,geoshape:Kb,graticule:tw,projection:nw});function iw(t,n,e,r){if(isNaN(n)||isNaN(e))return t;var i,a,u,o,s,l,c,f,h,d=t._root,p={data:r},g=t._x0,m=t._y0,v=t._x1,y=t._y1;if(!d)return t._root=p,t;for(;d.length;)if((l=n>=(a=(g+v)/2))?g=a:v=a,(c=e>=(u=(m+y)/2))?m=u:y=u,i=d,!(d=d[f=c<<1|l]))return i[f]=p,t;if(o=+t._x.call(null,d.data),s=+t._y.call(null,d.data),n===o&&e===s)return p.next=d,i?i[f]=p:t._root=p,t;do{i=i?i[f]=new Array(4):t._root=new Array(4),(l=n>=(a=(g+v)/2))?g=a:v=a,(c=e>=(u=(m+y)/2))?m=u:y=u}while((f=c<<1|l)==(h=(s>=u)<<1|o>=a));return i[h]=d,i[f]=p,t}function aw(t,n,e,r,i){this.node=t,this.x0=n,this.y0=e,this.x1=r,this.y1=i}function uw(t){return t[0]}function ow(t){return t[1]}function sw(t,n,e){var r=new lw(null==n?uw:n,null==e?ow:e,NaN,NaN,NaN,NaN);return null==t?r:r.addAll(t)}function lw(t,n,e,r,i,a){this._x=t,this._y=n,this._x0=e,this._y0=r,this._x1=i,this._y1=a,this._root=void 0}function cw(t){for(var n={data:t.data},e=n;t=t.next;)e=e.next={data:t.data};return n}var fw=sw.prototype=lw.prototype;function hw(t){return function(){return t}}function dw(){return 1e-6*(Math.random()-.5)}function pw(t){return t.x+t.vx}function gw(t){return t.y+t.vy}function mw(t){return t.index}function vw(t,n){var e=t.get(n);if(!e)throw new Error("missing: "+n);return e}fw.copy=function(){var t,n,e=new lw(this._x,this._y,this._x0,this._y0,this._x1,this._y1),r=this._root;if(!r)return e;if(!r.length)return e._root=cw(r),e;for(t=[{source:r,target:e._root=new Array(4)}];r=t.pop();)for(var i=0;i<4;++i)(n=r.source[i])&&(n.length?t.push({source:n,target:r.target[i]=new Array(4)}):r.target[i]=cw(n));return e},fw.add=function(t){var n=+this._x.call(null,t),e=+this._y.call(null,t);return iw(this.cover(n,e),n,e,t)},fw.addAll=function(t){var n,e,r,i,a=t.length,u=new Array(a),o=new Array(a),s=1/0,l=1/0,c=-1/0,f=-1/0;for(e=0;e<a;++e)isNaN(r=+this._x.call(null,n=t[e]))||isNaN(i=+this._y.call(null,n))||(u[e]=r,o[e]=i,r<s&&(s=r),r>c&&(c=r),i<l&&(l=i),i>f&&(f=i));if(s>c||l>f)return this;for(this.cover(s,l).cover(c,f),e=0;e<a;++e)iw(this,u[e],o[e],t[e]);return this},fw.cover=function(t,n){if(isNaN(t=+t)||isNaN(n=+n))return this;var e=this._x0,r=this._y0,i=this._x1,a=this._y1;if(isNaN(e))i=(e=Math.floor(t))+1,a=(r=Math.floor(n))+1;else{for(var u,o,s=i-e,l=this._root;e>t||t>=i||r>n||n>=a;)switch(o=(n<r)<<1|t<e,(u=new Array(4))[o]=l,l=u,s*=2,o){case 0:i=e+s,a=r+s;break;case 1:e=i-s,a=r+s;break;case 2:i=e+s,r=a-s;break;case 3:e=i-s,r=a-s}this._root&&this._root.length&&(this._root=l)}return this._x0=e,this._y0=r,this._x1=i,this._y1=a,this},fw.data=function(){var t=[];return this.visit((function(n){if(!n.length)do{t.push(n.data)}while(n=n.next)})),t},fw.extent=function(t){return arguments.length?this.cover(+t[0][0],+t[0][1]).cover(+t[1][0],+t[1][1]):isNaN(this._x0)?void 0:[[this._x0,this._y0],[this._x1,this._y1]]},fw.find=function(t,n,e){var r,i,a,u,o,s,l,c=this._x0,f=this._y0,h=this._x1,d=this._y1,p=[],g=this._root;for(g&&p.push(new aw(g,c,f,h,d)),null==e?e=1/0:(c=t-e,f=n-e,h=t+e,d=n+e,e*=e);s=p.pop();)if(!(!(g=s.node)||(i=s.x0)>h||(a=s.y0)>d||(u=s.x1)<c||(o=s.y1)<f))if(g.length){var m=(i+u)/2,v=(a+o)/2;p.push(new aw(g[3],m,v,u,o),new aw(g[2],i,v,m,o),new aw(g[1],m,a,u,v),new aw(g[0],i,a,m,v)),(l=(n>=v)<<1|t>=m)&&(s=p[p.length-1],p[p.length-1]=p[p.length-1-l],p[p.length-1-l]=s)}else{var y=t-+this._x.call(null,g.data),_=n-+this._y.call(null,g.data),x=y*y+_*_;if(x<e){var b=Math.sqrt(e=x);c=t-b,f=n-b,h=t+b,d=n+b,r=g.data}}return r},fw.remove=function(t){if(isNaN(a=+this._x.call(null,t))||isNaN(u=+this._y.call(null,t)))return this;var n,e,r,i,a,u,o,s,l,c,f,h,d=this._root,p=this._x0,g=this._y0,m=this._x1,v=this._y1;if(!d)return this;if(d.length)for(;;){if((l=a>=(o=(p+m)/2))?p=o:m=o,(c=u>=(s=(g+v)/2))?g=s:v=s,n=d,!(d=d[f=c<<1|l]))return this;if(!d.length)break;(n[f+1&3]||n[f+2&3]||n[f+3&3])&&(e=n,h=f)}for(;d.data!==t;)if(r=d,!(d=d.next))return this;return(i=d.next)&&delete d.next,r?(i?r.next=i:delete r.next,this):n?(i?n[f]=i:delete n[f],(d=n[0]||n[1]||n[2]||n[3])&&d===(n[3]||n[2]||n[1]||n[0])&&!d.length&&(e?e[h]=d:this._root=d),this):(this._root=i,this)},fw.removeAll=function(t){for(var n=0,e=t.length;n<e;++n)this.remove(t[n]);return this},fw.root=function(){return this._root},fw.size=function(){var t=0;return this.visit((function(n){if(!n.length)do{++t}while(n=n.next)})),t},fw.visit=function(t){var n,e,r,i,a,u,o=[],s=this._root;for(s&&o.push(new aw(s,this._x0,this._y0,this._x1,this._y1));n=o.pop();)if(!t(s=n.node,r=n.x0,i=n.y0,a=n.x1,u=n.y1)&&s.length){var l=(r+a)/2,c=(i+u)/2;(e=s[3])&&o.push(new aw(e,l,c,a,u)),(e=s[2])&&o.push(new aw(e,r,c,l,u)),(e=s[1])&&o.push(new aw(e,l,i,a,c)),(e=s[0])&&o.push(new aw(e,r,i,l,c))}return this},fw.visitAfter=function(t){var n,e=[],r=[];for(this._root&&e.push(new aw(this._root,this._x0,this._y0,this._x1,this._y1));n=e.pop();){var i=n.node;if(i.length){var a,u=n.x0,o=n.y0,s=n.x1,l=n.y1,c=(u+s)/2,f=(o+l)/2;(a=i[0])&&e.push(new aw(a,u,o,c,f)),(a=i[1])&&e.push(new aw(a,c,o,s,f)),(a=i[2])&&e.push(new aw(a,u,f,c,l)),(a=i[3])&&e.push(new aw(a,c,f,s,l))}r.push(n)}for(;n=r.pop();)t(n.node,n.x0,n.y0,n.x1,n.y1);return this},fw.x=function(t){return arguments.length?(this._x=t,this):this._x},fw.y=function(t){return arguments.length?(this._y=t,this):this._y};var yw={value:function(){}};function _w(){for(var t,n=0,e=arguments.length,r={};n<e;++n){if(!(t=arguments[n]+"")||t in r)throw new Error("illegal type: "+t);r[t]=[]}return new xw(r)}function xw(t){this._=t}function bw(t,n){return t.trim().split(/^|\s+/).map((function(t){var e="",r=t.indexOf(".");if(r>=0&&(e=t.slice(r+1),t=t.slice(0,r)),t&&!n.hasOwnProperty(t))throw new Error("unknown type: "+t);return{type:t,name:e}}))}function ww(t,n){for(var e,r=0,i=t.length;r<i;++r)if((e=t[r]).name===n)return e.value}function Aw(t,n,e){for(var r=0,i=t.length;r<i;++r)if(t[r].name===n){t[r]=yw,t=t.slice(0,r).concat(t.slice(r+1));break}return null!=e&&t.push({name:n,value:e}),t}xw.prototype=_w.prototype={constructor:xw,on:function(t,n){var e,r=this._,i=bw(t+"",r),a=-1,u=i.length;if(!(arguments.length<2)){if(null!=n&&"function"!=typeof n)throw new Error("invalid callback: "+n);for(;++a<u;)if(e=(t=i[a]).type)r[e]=Aw(r[e],t.name,n);else if(null==n)for(e in r)r[e]=Aw(r[e],t.name,null);return this}for(;++a<u;)if((e=(t=i[a]).type)&&(e=ww(r[e],t.name)))return e},copy:function(){var t={},n=this._;for(var e in n)t[e]=n[e].slice();return new xw(t)},call:function(t,n){if((e=arguments.length-2)>0)for(var e,r,i=new Array(e),a=0;a<e;++a)i[a]=arguments[a+2];if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(a=0,e=(r=this._[t]).length;a<e;++a)r[a].value.apply(n,i)},apply:function(t,n,e){if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(var r=this._[t],i=0,a=r.length;i<a;++i)r[i].value.apply(n,e)}};var Mw,kw,Ew=0,Dw=0,Cw=0,Fw=1e3,Sw=0,Bw=0,Tw=0,zw="object"==typeof performance&&performance.now?performance:Date,Nw="object"==typeof window&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(t){setTimeout(t,17)};function Ow(){return Bw||(Nw(Rw),Bw=zw.now()+Tw)}function Rw(){Bw=0}function qw(){this._call=this._time=this._next=null}function Lw(t,n,e){var r=new qw;return r.restart(t,n,e),r}function Pw(){Bw=(Sw=zw.now())+Tw,Ew=Dw=0;try{!function(){Ow(),++Ew;for(var t,n=Mw;n;)(t=Bw-n._time)>=0&&n._call.call(null,t),n=n._next;--Ew}()}finally{Ew=0,function(){var t,n,e=Mw,r=1/0;for(;e;)e._call?(r>e._time&&(r=e._time),t=e,e=e._next):(n=e._next,e._next=null,e=t?t._next=n:Mw=n);kw=t,$w(r)}(),Bw=0}}function Uw(){var t=zw.now(),n=t-Sw;n>Fw&&(Tw-=n,Sw=t)}function $w(t){Ew||(Dw&&(Dw=clearTimeout(Dw)),t-Bw>24?(t<1/0&&(Dw=setTimeout(Pw,t-zw.now()-Tw)),Cw&&(Cw=clearInterval(Cw))):(Cw||(Sw=zw.now(),Cw=setInterval(Uw,Fw)),Ew=1,Nw(Pw)))}function jw(t){return t.x}function Iw(t){return t.y}qw.prototype=Lw.prototype={constructor:qw,restart:function(t,n,e){if("function"!=typeof t)throw new TypeError("callback is not a function");e=(null==e?Ow():+e)+(null==n?0:+n),this._next||kw===this||(kw?kw._next=this:Mw=this,kw=this),this._call=t,this._time=e,$w()},stop:function(){this._call&&(this._call=null,this._time=1/0,$w())}};var Ww=10,Hw=Math.PI*(3-Math.sqrt(5));var Yw={center:function(t,n){var e;function r(){var r,i,a=e.length,u=0,o=0;for(r=0;r<a;++r)u+=(i=e[r]).x,o+=i.y;for(u=u/a-t,o=o/a-n,r=0;r<a;++r)(i=e[r]).x-=u,i.y-=o}return null==t&&(t=0),null==n&&(n=0),r.initialize=function(t){e=t},r.x=function(n){return arguments.length?(t=+n,r):t},r.y=function(t){return arguments.length?(n=+t,r):n},r},collide:function(t){var n,e,r=1,i=1;function a(){for(var t,a,o,s,l,c,f,h=n.length,d=0;d<i;++d)for(a=sw(n,pw,gw).visitAfter(u),t=0;t<h;++t)o=n[t],c=e[o.index],f=c*c,s=o.x+o.vx,l=o.y+o.vy,a.visit(p);function p(t,n,e,i,a){var u=t.data,h=t.r,d=c+h;if(!u)return n>s+d||i<s-d||e>l+d||a<l-d;if(u.index>o.index){var p=s-u.x-u.vx,g=l-u.y-u.vy,m=p*p+g*g;m<d*d&&(0===p&&(m+=(p=dw())*p),0===g&&(m+=(g=dw())*g),m=(d-(m=Math.sqrt(m)))/m*r,o.vx+=(p*=m)*(d=(h*=h)/(f+h)),o.vy+=(g*=m)*d,u.vx-=p*(d=1-d),u.vy-=g*d)}}}function u(t){if(t.data)return t.r=e[t.data.index];for(var n=t.r=0;n<4;++n)t[n]&&t[n].r>t.r&&(t.r=t[n].r)}function o(){if(n){var r,i,a=n.length;for(e=new Array(a),r=0;r<a;++r)i=n[r],e[i.index]=+t(i,r,n)}}return"function"!=typeof t&&(t=hw(null==t?1:+t)),a.initialize=function(t){n=t,o()},a.iterations=function(t){return arguments.length?(i=+t,a):i},a.strength=function(t){return arguments.length?(r=+t,a):r},a.radius=function(n){return arguments.length?(t="function"==typeof n?n:hw(+n),o(),a):t},a},nbody:function(){var t,n,e,r,i=hw(-30),a=1,u=1/0,o=.81;function s(r){var i,a=t.length,u=sw(t,jw,Iw).visitAfter(c);for(e=r,i=0;i<a;++i)n=t[i],u.visit(f)}function l(){if(t){var n,e,a=t.length;for(r=new Array(a),n=0;n<a;++n)e=t[n],r[e.index]=+i(e,n,t)}}function c(t){var n,e,i,a,u,o=0,s=0;if(t.length){for(i=a=u=0;u<4;++u)(n=t[u])&&(e=Math.abs(n.value))&&(o+=n.value,s+=e,i+=e*n.x,a+=e*n.y);t.x=i/s,t.y=a/s}else{(n=t).x=n.data.x,n.y=n.data.y;do{o+=r[n.data.index]}while(n=n.next)}t.value=o}function f(t,i,s,l){if(!t.value)return!0;var c=t.x-n.x,f=t.y-n.y,h=l-i,d=c*c+f*f;if(h*h/o<d)return d<u&&(0===c&&(d+=(c=dw())*c),0===f&&(d+=(f=dw())*f),d<a&&(d=Math.sqrt(a*d)),n.vx+=c*t.value*e/d,n.vy+=f*t.value*e/d),!0;if(!(t.length||d>=u)){(t.data!==n||t.next)&&(0===c&&(d+=(c=dw())*c),0===f&&(d+=(f=dw())*f),d<a&&(d=Math.sqrt(a*d)));do{t.data!==n&&(h=r[t.data.index]*e/d,n.vx+=c*h,n.vy+=f*h)}while(t=t.next)}}return s.initialize=function(n){t=n,l()},s.strength=function(t){return arguments.length?(i="function"==typeof t?t:hw(+t),l(),s):i},s.distanceMin=function(t){return arguments.length?(a=t*t,s):Math.sqrt(a)},s.distanceMax=function(t){return arguments.length?(u=t*t,s):Math.sqrt(u)},s.theta=function(t){return arguments.length?(o=t*t,s):Math.sqrt(o)},s},link:function(t){var n,e,r,i,a,u=mw,o=function(t){return 1/Math.min(i[t.source.index],i[t.target.index])},s=hw(30),l=1;function c(r){for(var i=0,u=t.length;i<l;++i)for(var o,s,c,f,h,d,p,g=0;g<u;++g)s=(o=t[g]).source,f=(c=o.target).x+c.vx-s.x-s.vx||dw(),h=c.y+c.vy-s.y-s.vy||dw(),f*=d=((d=Math.sqrt(f*f+h*h))-e[g])/d*r*n[g],h*=d,c.vx-=f*(p=a[g]),c.vy-=h*p,s.vx+=f*(p=1-p),s.vy+=h*p}function f(){if(r){var o,s,l=r.length,c=t.length,f=new Map(r.map((t,n)=>[u(t,n,r),t]));for(o=0,i=new Array(l);o<c;++o)(s=t[o]).index=o,"object"!=typeof s.source&&(s.source=vw(f,s.source)),"object"!=typeof s.target&&(s.target=vw(f,s.target)),i[s.source.index]=(i[s.source.index]||0)+1,i[s.target.index]=(i[s.target.index]||0)+1;for(o=0,a=new Array(c);o<c;++o)s=t[o],a[o]=i[s.source.index]/(i[s.source.index]+i[s.target.index]);n=new Array(c),h(),e=new Array(c),d()}}function h(){if(r)for(var e=0,i=t.length;e<i;++e)n[e]=+o(t[e],e,t)}function d(){if(r)for(var n=0,i=t.length;n<i;++n)e[n]=+s(t[n],n,t)}return null==t&&(t=[]),c.initialize=function(t){r=t,f()},c.links=function(n){return arguments.length?(t=n,f(),c):t},c.id=function(t){return arguments.length?(u=t,c):u},c.iterations=function(t){return arguments.length?(l=+t,c):l},c.strength=function(t){return arguments.length?(o="function"==typeof t?t:hw(+t),h(),c):o},c.distance=function(t){return arguments.length?(s="function"==typeof t?t:hw(+t),d(),c):s},c},x:function(t){var n,e,r,i=hw(.1);function a(t){for(var i,a=0,u=n.length;a<u;++a)(i=n[a]).vx+=(r[a]-i.x)*e[a]*t}function u(){if(n){var a,u=n.length;for(e=new Array(u),r=new Array(u),a=0;a<u;++a)e[a]=isNaN(r[a]=+t(n[a],a,n))?0:+i(n[a],a,n)}}return"function"!=typeof t&&(t=hw(null==t?0:+t)),a.initialize=function(t){n=t,u()},a.strength=function(t){return arguments.length?(i="function"==typeof t?t:hw(+t),u(),a):i},a.x=function(n){return arguments.length?(t="function"==typeof n?n:hw(+n),u(),a):t},a},y:function(t){var n,e,r,i=hw(.1);function a(t){for(var i,a=0,u=n.length;a<u;++a)(i=n[a]).vy+=(r[a]-i.y)*e[a]*t}function u(){if(n){var a,u=n.length;for(e=new Array(u),r=new Array(u),a=0;a<u;++a)e[a]=isNaN(r[a]=+t(n[a],a,n))?0:+i(n[a],a,n)}}return"function"!=typeof t&&(t=hw(null==t?0:+t)),a.initialize=function(t){n=t,u()},a.strength=function(t){return arguments.length?(i="function"==typeof t?t:hw(+t),u(),a):i},a.y=function(n){return arguments.length?(t="function"==typeof n?n:hw(+n),u(),a):t},a}},Gw="forces",Vw=["alpha","alphaMin","alphaTarget","velocityDecay","forces"],Xw=["static","iterations"],Zw=["x","y","vx","vy"];function Jw(t){Vr.call(this,null,t)}Jw.Definition={type:"Force",metadata:{modifies:!0},params:[{name:"static",type:"boolean",default:!1},{name:"restart",type:"boolean",default:!1},{name:"iterations",type:"number",default:300},{name:"alpha",type:"number",default:1},{name:"alphaMin",type:"number",default:.001},{name:"alphaTarget",type:"number",default:0},{name:"velocityDecay",type:"number",default:.4},{name:"forces",type:"param",array:!0,params:[{key:{force:"center"},params:[{name:"x",type:"number",default:0},{name:"y",type:"number",default:0}]},{key:{force:"collide"},params:[{name:"radius",type:"number",expr:!0},{name:"strength",type:"number",default:.7},{name:"iterations",type:"number",default:1}]},{key:{force:"nbody"},params:[{name:"strength",type:"number",default:-30},{name:"theta",type:"number",default:.9},{name:"distanceMin",type:"number",default:1},{name:"distanceMax",type:"number"}]},{key:{force:"link"},params:[{name:"links",type:"data"},{name:"id",type:"field"},{name:"distance",type:"number",default:30,expr:!0},{name:"strength",type:"number",expr:!0},{name:"iterations",type:"number",default:1}]},{key:{force:"x"},params:[{name:"strength",type:"number",default:.1},{name:"x",type:"field"}]},{key:{force:"y"},params:[{name:"strength",type:"number",default:.1},{name:"y",type:"field"}]}]},{name:"as",type:"string",array:!0,modify:!1,default:Zw}]};var Qw=it(Jw,Vr);function Kw(t,n,e,r){var i,a,u,o,s=W(n.forces);for(i=0,a=Vw.length;i<a;++i)(u=Vw[i])!==Gw&&n.modified(u)&&t[u](n[u]);for(i=0,a=s.length;i<a;++i)o=Gw+i,(u=e||n.modified(Gw,i)?nA(s[i]):r&&tA(s[i],r)?t.force(o):null)&&t.force(o,u);for(a=t.numForces||0;i<a;++i)t.force(Gw+i,null);return t.numForces=s.length,t}function tA(t,n){var e,i;for(e in t)if(Y(i=t[e])&&n.modified(r(i)))return 1;return 0}function nA(t){var n,e;for(e in tt(Yw,t.force)||i("Unrecognized force: "+t.force),n=Yw[t.force](),t)Y(n[e])&&eA(n[e],t[e],t);return n}function eA(t,n,e){t(Y(n)?function(t){return n(t,e)}:n)}Qw.transform=function(t,n){var e,r,i=this.value,a=n.changed(n.ADD_REM),u=t.modified(Vw),o=t.iterations||300;if(i?(a&&(n.modifies("index"),i.nodes(n.source)),(u||n.changed(n.MOD))&&Kw(i,t,0,n)):(this.value=i=function(t,n){var e=function(t){var n,e=1,r=.001,i=1-Math.pow(r,1/300),a=0,u=.6,o=new Map,s=Lw(c),l=_w("tick","end");function c(){f(),l.call("tick",n),e<r&&(s.stop(),l.call("end",n))}function f(r){var s,l,c=t.length;void 0===r&&(r=1);for(var f=0;f<r;++f)for(e+=(a-e)*i,o.forEach((function(t){t(e)})),s=0;s<c;++s)null==(l=t[s]).fx?l.x+=l.vx*=u:(l.x=l.fx,l.vx=0),null==l.fy?l.y+=l.vy*=u:(l.y=l.fy,l.vy=0);return n}function h(){for(var n,e=0,r=t.length;e<r;++e){if((n=t[e]).index=e,null!=n.fx&&(n.x=n.fx),null!=n.fy&&(n.y=n.fy),isNaN(n.x)||isNaN(n.y)){var i=Ww*Math.sqrt(e),a=e*Hw;n.x=i*Math.cos(a),n.y=i*Math.sin(a)}(isNaN(n.vx)||isNaN(n.vy))&&(n.vx=n.vy=0)}}function d(n){return n.initialize&&n.initialize(t),n}return null==t&&(t=[]),h(),n={tick:f,restart:function(){return s.restart(c),n},stop:function(){return s.stop(),n},nodes:function(e){return arguments.length?(t=e,h(),o.forEach(d),n):t},alpha:function(t){return arguments.length?(e=+t,n):e},alphaMin:function(t){return arguments.length?(r=+t,n):r},alphaDecay:function(t){return arguments.length?(i=+t,n):+i},alphaTarget:function(t){return arguments.length?(a=+t,n):a},velocityDecay:function(t){return arguments.length?(u=1-t,n):1-u},force:function(t,e){return arguments.length>1?(null==e?o.delete(t):o.set(t,d(e)),n):o.get(t)},find:function(n,e,r){var i,a,u,o,s,l=0,c=t.length;for(null==r?r=1/0:r*=r,l=0;l<c;++l)(u=(i=n-(o=t[l]).x)*i+(a=e-o.y)*a)<r&&(s=o,r=u);return s},on:function(t,e){return arguments.length>1?(l.on(t,e),n):l.on(t)}}}(t),r=!1,i=e.stop,a=e.restart;return e.stopped=function(){return r},e.restart=function(){return r=!1,a()},e.stop=function(){return r=!0,i()},Kw(e,n,!0).on("end",(function(){r=!0}))}(n.source,t),i.on("tick",(e=n.dataflow,r=this,function(){e.touch(r).run()})),t.static||(a=!0,i.tick()),n.modifies("index")),u||a||t.modified(Xw)||n.changed()&&t.restart)if(i.alpha(Math.max(i.alpha(),t.alpha||1)).alphaDecay(1-Math.pow(i.alphaMin(),1/o)),t.static)for(i.stop();--o>=0;)i.tick();else if(i.stopped()&&i.restart(),!a)return n.StopPropagation;return this.finish(t,n)},Qw.finish=function(t,n){for(var e,r=n.dataflow,i=this._argops,a=0,u=i.length;a<u;++a)if((e=i[a]).name===Gw&&"link"===e.op._argval.force)for(var o,s=e.op._argops,l=0,c=s.length;l<c;++l)if("links"===s[l].name&&(o=s[l].op.source)){r.pulse(o,r.changeset().reflow());break}return n.reflow(t.modified()).modifies(Zw)};var rA=Object.freeze({force:Jw});function iA(t,n,e){var r={};return t.each((function(t){var i=t.data;e(i)&&(r[n(i)]=t)})),t.lookup=r,t}function aA(t,n){return t.parent===n.parent?1:2}function uA(t,n){return t+n.x}function oA(t,n){return Math.max(t,n.y)}function sA(t){var n=0,e=t.children,r=e&&e.length;if(r)for(;--r>=0;)n+=e[r].value;else n=1;t.value=n}function lA(t,n){var e,r,i,a,u,o=new dA(t),s=+t.value&&(o.value=t.value),l=[o];for(null==n&&(n=cA);e=l.pop();)if(s&&(e.value=+e.data.value),(i=n(e.data))&&(u=i.length))for(e.children=new Array(u),a=u-1;a>=0;--a)l.push(r=e.children[a]=new dA(i[a])),r.parent=e,r.depth=e.depth+1;return o.eachBefore(hA)}function cA(t){return t.children}function fA(t){t.data=t.data.data}function hA(t){var n=0;do{t.height=n}while((t=t.parent)&&t.height<++n)}function dA(t){this.data=t,this.depth=this.height=0,this.parent=null}dA.prototype=lA.prototype={constructor:dA,count:function(){return this.eachAfter(sA)},each:function(t){var n,e,r,i,a=this,u=[a];do{for(n=u.reverse(),u=[];a=n.pop();)if(t(a),e=a.children)for(r=0,i=e.length;r<i;++r)u.push(e[r])}while(u.length);return this},eachAfter:function(t){for(var n,e,r,i=this,a=[i],u=[];i=a.pop();)if(u.push(i),n=i.children)for(e=0,r=n.length;e<r;++e)a.push(n[e]);for(;i=u.pop();)t(i);return this},eachBefore:function(t){for(var n,e,r=this,i=[r];r=i.pop();)if(t(r),n=r.children)for(e=n.length-1;e>=0;--e)i.push(n[e]);return this},sum:function(t){return this.eachAfter((function(n){for(var e=+t(n.data)||0,r=n.children,i=r&&r.length;--i>=0;)e+=r[i].value;n.value=e}))},sort:function(t){return this.eachBefore((function(n){n.children&&n.children.sort(t)}))},path:function(t){for(var n=this,e=function(t,n){if(t===n)return t;var e=t.ancestors(),r=n.ancestors(),i=null;t=e.pop(),n=r.pop();for(;t===n;)i=t,t=e.pop(),n=r.pop();return i}(n,t),r=[n];n!==e;)n=n.parent,r.push(n);for(var i=r.length;t!==e;)r.splice(i,0,t),t=t.parent;return r},ancestors:function(){for(var t=this,n=[t];t=t.parent;)n.push(t);return n},descendants:function(){var t=[];return this.each((function(n){t.push(n)})),t},leaves:function(){var t=[];return this.eachBefore((function(n){n.children||t.push(n)})),t},links:function(){var t=this,n=[];return t.each((function(e){e!==t&&n.push({source:e.parent,target:e})})),n},copy:function(){return lA(this).eachBefore(fA)}};var pA=Array.prototype.slice;function gA(t){for(var n,e,r=0,i=(t=function(t){for(var n,e,r=t.length;r;)e=Math.random()*r--|0,n=t[r],t[r]=t[e],t[e]=n;return t}(pA.call(t))).length,a=[];r<i;)n=t[r],e&&yA(e,n)?++r:(e=xA(a=mA(a,n)),r=0);return e}function mA(t,n){var e,r;if(_A(n,t))return[n];for(e=0;e<t.length;++e)if(vA(n,t[e])&&_A(bA(t[e],n),t))return[t[e],n];for(e=0;e<t.length-1;++e)for(r=e+1;r<t.length;++r)if(vA(bA(t[e],t[r]),n)&&vA(bA(t[e],n),t[r])&&vA(bA(t[r],n),t[e])&&_A(wA(t[e],t[r],n),t))return[t[e],t[r],n];throw new Error}function vA(t,n){var e=t.r-n.r,r=n.x-t.x,i=n.y-t.y;return e<0||e*e<r*r+i*i}function yA(t,n){var e=t.r-n.r+1e-6,r=n.x-t.x,i=n.y-t.y;return e>0&&e*e>r*r+i*i}function _A(t,n){for(var e=0;e<n.length;++e)if(!yA(t,n[e]))return!1;return!0}function xA(t){switch(t.length){case 1:return{x:(n=t[0]).x,y:n.y,r:n.r};case 2:return bA(t[0],t[1]);case 3:return wA(t[0],t[1],t[2])}var n}function bA(t,n){var e=t.x,r=t.y,i=t.r,a=n.x,u=n.y,o=n.r,s=a-e,l=u-r,c=o-i,f=Math.sqrt(s*s+l*l);return{x:(e+a+s/f*c)/2,y:(r+u+l/f*c)/2,r:(f+i+o)/2}}function wA(t,n,e){var r=t.x,i=t.y,a=t.r,u=n.x,o=n.y,s=n.r,l=e.x,c=e.y,f=e.r,h=r-u,d=r-l,p=i-o,g=i-c,m=s-a,v=f-a,y=r*r+i*i-a*a,_=y-u*u-o*o+s*s,x=y-l*l-c*c+f*f,b=d*p-h*g,w=(p*x-g*_)/(2*b)-r,A=(g*m-p*v)/b,M=(d*_-h*x)/(2*b)-i,k=(h*v-d*m)/b,E=A*A+k*k-1,D=2*(a+w*A+M*k),C=w*w+M*M-a*a,F=-(E?(D+Math.sqrt(D*D-4*E*C))/(2*E):C/D);return{x:r+w+A*F,y:i+M+k*F,r:F}}function AA(t,n,e){var r,i,a,u,o=t.x-n.x,s=t.y-n.y,l=o*o+s*s;l?(i=n.r+e.r,i*=i,u=t.r+e.r,i>(u*=u)?(r=(l+u-i)/(2*l),a=Math.sqrt(Math.max(0,u/l-r*r)),e.x=t.x-r*o-a*s,e.y=t.y-r*s+a*o):(r=(l+i-u)/(2*l),a=Math.sqrt(Math.max(0,i/l-r*r)),e.x=n.x+r*o-a*s,e.y=n.y+r*s+a*o)):(e.x=n.x+e.r,e.y=n.y)}function MA(t,n){var e=t.r+n.r-1e-6,r=n.x-t.x,i=n.y-t.y;return e>0&&e*e>r*r+i*i}function kA(t){var n=t._,e=t.next._,r=n.r+e.r,i=(n.x*e.r+e.x*n.r)/r,a=(n.y*e.r+e.y*n.r)/r;return i*i+a*a}function EA(t){this._=t,this.next=null,this.previous=null}function DA(t){return null==t?null:CA(t)}function CA(t){if("function"!=typeof t)throw new Error;return t}function FA(){return 0}function SA(t){return function(){return t}}function BA(t){return Math.sqrt(t.value)}function TA(t){return function(n){n.children||(n.r=Math.max(0,+t(n)||0))}}function zA(t,n){return function(e){if(r=e.children){var r,i,a,u=r.length,o=t(e)*n||0;if(o)for(i=0;i<u;++i)r[i].r+=o;if(a=function(t){if(!(i=t.length))return 0;var n,e,r,i,a,u,o,s,l,c,f;if((n=t[0]).x=0,n.y=0,!(i>1))return n.r;if(e=t[1],n.x=-e.r,e.x=n.r,e.y=0,!(i>2))return n.r+e.r;AA(e,n,r=t[2]),n=new EA(n),e=new EA(e),r=new EA(r),n.next=r.previous=e,e.next=n.previous=r,r.next=e.previous=n;t:for(o=3;o<i;++o){AA(n._,e._,r=t[o]),r=new EA(r),s=e.next,l=n.previous,c=e._.r,f=n._.r;do{if(c<=f){if(MA(s._,r._)){e=s,n.next=e,e.previous=n,--o;continue t}c+=s._.r,s=s.next}else{if(MA(l._,r._)){(n=l).next=e,e.previous=n,--o;continue t}f+=l._.r,l=l.previous}}while(s!==l.next);for(r.previous=n,r.next=e,n.next=e.previous=e=r,a=kA(n);(r=r.next)!==e;)(u=kA(r))<a&&(n=r,a=u);e=n.next}for(n=[e._],r=e;(r=r.next)!==e;)n.push(r._);for(r=gA(n),o=0;o<i;++o)(n=t[o]).x-=r.x,n.y-=r.y;return r.r}(r),o)for(i=0;i<u;++i)r[i].r-=o;e.r=a+o}}}function NA(t){return function(n){var e=n.parent;n.r*=t,e&&(n.x=e.x+t*n.x,n.y=e.y+t*n.y)}}function OA(t){t.x0=Math.round(t.x0),t.y0=Math.round(t.y0),t.x1=Math.round(t.x1),t.y1=Math.round(t.y1)}function RA(t,n,e,r,i){for(var a,u=t.children,o=-1,s=u.length,l=t.value&&(r-n)/t.value;++o<s;)(a=u[o]).y0=e,a.y1=i,a.x0=n,a.x1=n+=a.value*l}var qA="$",LA={depth:-1},PA={};function UA(t){return t.id}function $A(t){return t.parentId}function jA(){var t=UA,n=$A;function e(e){var r,i,a,u,o,s,l,c=e.length,f=new Array(c),h={};for(i=0;i<c;++i)r=e[i],o=f[i]=new dA(r),null!=(s=t(r,i,e))&&(s+="")&&(h[l=qA+(o.id=s)]=l in h?PA:o);for(i=0;i<c;++i)if(o=f[i],null!=(s=n(e[i],i,e))&&(s+="")){if(!(u=h[qA+s]))throw new Error("missing: "+s);if(u===PA)throw new Error("ambiguous: "+s);u.children?u.children.push(o):u.children=[o],o.parent=u}else{if(a)throw new Error("multiple roots");a=o}if(!a)throw new Error("no root");if(a.parent=LA,a.eachBefore((function(t){t.depth=t.parent.depth+1,--c})).eachBefore(hA),a.parent=null,c>0)throw new Error("cycle");return a}return e.id=function(n){return arguments.length?(t=CA(n),e):t},e.parentId=function(t){return arguments.length?(n=CA(t),e):n},e}function IA(t,n){return t.parent===n.parent?1:2}function WA(t){var n=t.children;return n?n[0]:t.t}function HA(t){var n=t.children;return n?n[n.length-1]:t.t}function YA(t,n,e){var r=e/(n.i-t.i);n.c-=r,n.s+=e,t.c+=r,n.z+=e,n.m+=e}function GA(t,n,e){return t.a.parent===n.parent?t.a:e}function VA(t,n){this._=t,this.parent=null,this.children=null,this.A=null,this.a=this,this.z=0,this.m=0,this.c=0,this.s=0,this.t=null,this.i=n}function XA(t,n,e,r,i){for(var a,u=t.children,o=-1,s=u.length,l=t.value&&(i-e)/t.value;++o<s;)(a=u[o]).x0=n,a.x1=r,a.y0=e,a.y1=e+=a.value*l}VA.prototype=Object.create(dA.prototype);var ZA=(1+Math.sqrt(5))/2;function JA(t,n,e,r,i,a){for(var u,o,s,l,c,f,h,d,p,g,m,v=[],y=n.children,_=0,x=0,b=y.length,w=n.value;_<b;){s=i-e,l=a-r;do{c=y[x++].value}while(!c&&x<b);for(f=h=c,m=c*c*(g=Math.max(l/s,s/l)/(w*t)),p=Math.max(h/m,m/f);x<b;++x){if(c+=o=y[x].value,o<f&&(f=o),o>h&&(h=o),m=c*c*g,(d=Math.max(h/m,m/f))>p){c-=o;break}p=d}v.push(u={value:c,dice:s<l,children:y.slice(_,x)}),u.dice?RA(u,e,r,i,w?r+=l*c/w:a):XA(u,e,r,w?e+=s*c/w:i,a),w-=c,_=x}return v}var QA=function t(n){function e(t,e,r,i,a){JA(n,t,e,r,i,a)}return e.ratio=function(n){return t((n=+n)>1?n:1)},e}(ZA);var KA=function t(n){function e(t,e,r,i,a){if((u=t._squarify)&&u.ratio===n)for(var u,o,s,l,c,f=-1,h=u.length,d=t.value;++f<h;){for(s=(o=u[f]).children,l=o.value=0,c=s.length;l<c;++l)o.value+=s[l].value;o.dice?RA(o,e,r,i,r+=(a-r)*o.value/d):XA(o,e,r,e+=(i-e)*o.value/d,a),d-=o.value}else t._squarify=u=JA(n,t,e,r,i,a),u.ratio=n}return e.ratio=function(n){return t((n=+n)>1?n:1)},e}(ZA);function tM(t){Vr.call(this,null,t)}function nM(t){return t.values}function eM(){var t,n=[];return t={entries:t=>(function t(e,r){if(++r>n.length)return e;var i,a=[];for(i in e)a.push({key:i,values:t(e[i],r)});return a})(function t(e,r){if(r>=n.length)return e;for(var i,a,u,o=-1,s=e.length,l=n[r++],c={},f={};++o<s;)(u=c[i=l(a=e[o])+""])?u.push(a):c[i]=[a];for(i in c)f[i]=t(c[i],r);return f}(t,0),0),key:e=>(n.push(e),t)}}function rM(t){Vr.call(this,null,t)}function iM(t,n){return t.parent===n.parent?1:2}tM.Definition={type:"Nest",metadata:{treesource:!0,changes:!0},params:[{name:"keys",type:"field",array:!0},{name:"generate",type:"boolean"}]},it(tM,Vr).transform=function(t,n){n.source||i("Nest transform requires an upstream data source.");var e=t.generate,r=t.modified(),a=n.clone(),u=this.value;return(!u||r||n.changed())&&(u&&u.each(t=>{t.children&&Dt(t.data)&&a.rem.push(t.data)}),this.value=u=lA({values:W(t.keys).reduce((t,n)=>(t.key(n),t),eM()).entries(a.source)},nM),e&&u.each(t=>{t.children&&(t=St(t.data),a.add.push(t),a.source.push(t))}),iA(u,Ct,Ct)),a.source.root=u,a},it(rM,Vr).transform=function(t,n){n.source&&n.source.root||i(this.constructor.name+" transform requires a backing tree data source.");var e=this.layout(t.method),r=this.fields,a=n.source.root,u=t.as||r;t.field?a.sum(t.field):a.count(),t.sort&&a.sort(Nt(t.sort,t=>t.data)),function(t,n,e){for(var r,i=0,a=n.length;i<a;++i)(r=n[i])in e&&t[r](e[r])}(e,this.params,t),e.separation&&e.separation(!1!==t.separation?iM:g);try{this.value=e(a)}catch(t){i(t)}return a.each((function(t){!function(t,n,e){for(var r=t.data,i=0,a=n.length-1;i<a;++i)r[e[i]]=t[n[i]];r[e[a]]=t.children?t.children.length:0}(t,r,u)})),n.reflow(t.modified()).modifies(u).modifies("leaf")};var aM=["x","y","r","depth","children"];function uM(t){rM.call(this,t)}uM.Definition={type:"Pack",metadata:{tree:!0,modifies:!0},params:[{name:"field",type:"field"},{name:"sort",type:"compare"},{name:"padding",type:"number",default:0},{name:"radius",type:"field",default:null},{name:"size",type:"number",array:!0,length:2},{name:"as",type:"string",array:!0,length:aM.length,default:aM}]};var oM=it(uM,rM);oM.layout=function(){var t=null,n=1,e=1,r=FA;function i(i){return i.x=n/2,i.y=e/2,t?i.eachBefore(TA(t)).eachAfter(zA(r,.5)).eachBefore(NA(1)):i.eachBefore(TA(BA)).eachAfter(zA(FA,1)).eachAfter(zA(r,i.r/Math.min(n,e))).eachBefore(NA(Math.min(n,e)/(2*i.r))),i}return i.radius=function(n){return arguments.length?(t=DA(n),i):t},i.size=function(t){return arguments.length?(n=+t[0],e=+t[1],i):[n,e]},i.padding=function(t){return arguments.length?(r="function"==typeof t?t:SA(+t),i):r},i},oM.params=["radius","size","padding"],oM.fields=aM;var sM=["x0","y0","x1","y1","depth","children"];function lM(t){rM.call(this,t)}lM.Definition={type:"Partition",metadata:{tree:!0,modifies:!0},params:[{name:"field",type:"field"},{name:"sort",type:"compare"},{name:"padding",type:"number",default:0},{name:"round",type:"boolean",default:!1},{name:"size",type:"number",array:!0,length:2},{name:"as",type:"string",array:!0,length:sM.length,default:sM}]};var cM=it(lM,rM);function fM(t){Vr.call(this,null,t)}cM.layout=function(){var t=1,n=1,e=0,r=!1;function i(i){var a=i.height+1;return i.x0=i.y0=e,i.x1=t,i.y1=n/a,i.eachBefore(function(t,n){return function(r){r.children&&RA(r,r.x0,t*(r.depth+1)/n,r.x1,t*(r.depth+2)/n);var i=r.x0,a=r.y0,u=r.x1-e,o=r.y1-e;u<i&&(i=u=(i+u)/2),o<a&&(a=o=(a+o)/2),r.x0=i,r.y0=a,r.x1=u,r.y1=o}}(n,a)),r&&i.eachBefore(OA),i}return i.round=function(t){return arguments.length?(r=!!t,i):r},i.size=function(e){return arguments.length?(t=+e[0],n=+e[1],i):[t,n]},i.padding=function(t){return arguments.length?(e=+t,i):e},i},cM.params=["size","round","padding"],cM.fields=sM,fM.Definition={type:"Stratify",metadata:{treesource:!0},params:[{name:"key",type:"field",required:!0},{name:"parentKey",type:"field",required:!0}]},it(fM,Vr).transform=function(t,n){n.source||i("Stratify transform requires an upstream data source.");var e=this.value,r=t.modified(),a=n.fork(n.ALL).materialize(n.SOURCE),u=!this.value||r||n.changed(n.ADD_REM)||n.modified(t.key.fields)||n.modified(t.parentKey.fields);return a.source=a.source.slice(),u&&(e=a.source.length?iA(jA().id(t.key).parentId(t.parentKey)(a.source),t.key,m):iA(jA()([{}]),t.key,t.key)),a.source.root=this.value=e,a};var hM={tidy:function(){var t=IA,n=1,e=1,r=null;function i(i){var s=function(t){for(var n,e,r,i,a,u=new VA(t,0),o=[u];n=o.pop();)if(r=n._.children)for(n.children=new Array(a=r.length),i=a-1;i>=0;--i)o.push(e=n.children[i]=new VA(r[i],i)),e.parent=n;return(u.parent=new VA(null,0)).children=[u],u}(i);if(s.eachAfter(a),s.parent.m=-s.z,s.eachBefore(u),r)i.eachBefore(o);else{var l=i,c=i,f=i;i.eachBefore((function(t){t.x<l.x&&(l=t),t.x>c.x&&(c=t),t.depth>f.depth&&(f=t)}));var h=l===c?1:t(l,c)/2,d=h-l.x,p=n/(c.x+h+d),g=e/(f.depth||1);i.eachBefore((function(t){t.x=(t.x+d)*p,t.y=t.depth*g}))}return i}function a(n){var e=n.children,r=n.parent.children,i=n.i?r[n.i-1]:null;if(e){!function(t){for(var n,e=0,r=0,i=t.children,a=i.length;--a>=0;)(n=i[a]).z+=e,n.m+=e,e+=n.s+(r+=n.c)}(n);var a=(e[0].z+e[e.length-1].z)/2;i?(n.z=i.z+t(n._,i._),n.m=n.z-a):n.z=a}else i&&(n.z=i.z+t(n._,i._));n.parent.A=function(n,e,r){if(e){for(var i,a=n,u=n,o=e,s=a.parent.children[0],l=a.m,c=u.m,f=o.m,h=s.m;o=HA(o),a=WA(a),o&&a;)s=WA(s),(u=HA(u)).a=n,(i=o.z+f-a.z-l+t(o._,a._))>0&&(YA(GA(o,n,r),n,i),l+=i,c+=i),f+=o.m,l+=a.m,h+=s.m,c+=u.m;o&&!HA(u)&&(u.t=o,u.m+=f-c),a&&!WA(s)&&(s.t=a,s.m+=l-h,r=n)}return r}(n,i,n.parent.A||r[0])}function u(t){t._.x=t.z+t.parent.m,t.m+=t.parent.m}function o(t){t.x*=n,t.y=t.depth*e}return i.separation=function(n){return arguments.length?(t=n,i):t},i.size=function(t){return arguments.length?(r=!1,n=+t[0],e=+t[1],i):r?null:[n,e]},i.nodeSize=function(t){return arguments.length?(r=!0,n=+t[0],e=+t[1],i):r?[n,e]:null},i},cluster:function(){var t=aA,n=1,e=1,r=!1;function i(i){var a,u=0;i.eachAfter((function(n){var e=n.children;e?(n.x=function(t){return t.reduce(uA,0)/t.length}(e),n.y=function(t){return 1+t.reduce(oA,0)}(e)):(n.x=a?u+=t(n,a):0,n.y=0,a=n)}));var o=function(t){for(var n;n=t.children;)t=n[0];return t}(i),s=function(t){for(var n;n=t.children;)t=n[n.length-1];return t}(i),l=o.x-t(o,s)/2,c=s.x+t(s,o)/2;return i.eachAfter(r?function(t){t.x=(t.x-i.x)*n,t.y=(i.y-t.y)*e}:function(t){t.x=(t.x-l)/(c-l)*n,t.y=(1-(i.y?t.y/i.y:1))*e})}return i.separation=function(n){return arguments.length?(t=n,i):t},i.size=function(t){return arguments.length?(r=!1,n=+t[0],e=+t[1],i):r?null:[n,e]},i.nodeSize=function(t){return arguments.length?(r=!0,n=+t[0],e=+t[1],i):r?[n,e]:null},i}},dM=["x","y","depth","children"];function pM(t){rM.call(this,t)}pM.Definition={type:"Tree",metadata:{tree:!0,modifies:!0},params:[{name:"field",type:"field"},{name:"sort",type:"compare"},{name:"method",type:"enum",default:"tidy",values:["tidy","cluster"]},{name:"size",type:"number",array:!0,length:2},{name:"nodeSize",type:"number",array:!0,length:2},{name:"separation",type:"boolean",default:!0},{name:"as",type:"string",array:!0,length:dM.length,default:dM}]};var gM=it(pM,rM);function mM(t){Vr.call(this,[],t)}gM.layout=function(t){var n=t||"tidy";if(tt(hM,n))return hM[n]();i("Unrecognized Tree layout method: "+n)},gM.params=["size","nodeSize"],gM.fields=dM,mM.Definition={type:"TreeLinks",metadata:{tree:!0,generates:!0,changes:!0},params:[]},it(mM,Vr).transform=function(t,n){var e=this.value,r=n.source&&n.source.root,a=n.fork(n.NO_SOURCE),u={};return r||i("TreeLinks transform requires a tree data source."),n.changed(n.ADD_REM)?(a.rem=e,n.visit(n.SOURCE,(function(t){u[Ct(t)]=1})),r.each((function(t){var n=t.data,e=t.parent&&t.parent.data;e&&u[Ct(n)]&&u[Ct(e)]&&a.add.push(St({source:e,target:n}))})),this.value=a.add):n.changed(n.MOD)&&(n.visit(n.MOD,(function(t){u[Ct(t)]=1})),e.forEach((function(t){(u[Ct(t.source)]||u[Ct(t.target)])&&a.mod.push(t)}))),a};var vM={binary:function(t,n,e,r,i){var a,u,o=t.children,s=o.length,l=new Array(s+1);for(l[0]=u=a=0;a<s;++a)l[a+1]=u+=o[a].value;!function t(n,e,r,i,a,u,s){if(n>=e-1){var c=o[n];return c.x0=i,c.y0=a,c.x1=u,void(c.y1=s)}var f=l[n],h=r/2+f,d=n+1,p=e-1;for(;d<p;){var g=d+p>>>1;l[g]<h?d=g+1:p=g}h-l[d-1]<l[d]-h&&n+1<d&&--d;var m=l[d]-f,v=r-m;if(u-i>s-a){var y=(i*v+u*m)/r;t(n,d,m,i,a,y,s),t(d,e,v,y,a,u,s)}else{var _=(a*v+s*m)/r;t(n,d,m,i,a,u,_),t(d,e,v,i,_,u,s)}}(0,s,t.value,n,e,r,i)},dice:RA,slice:XA,slicedice:function(t,n,e,r,i){(1&t.depth?XA:RA)(t,n,e,r,i)},squarify:QA,resquarify:KA},yM=["x0","y0","x1","y1","depth","children"];function _M(t){rM.call(this,t)}_M.Definition={type:"Treemap",metadata:{tree:!0,modifies:!0},params:[{name:"field",type:"field"},{name:"sort",type:"compare"},{name:"method",type:"enum",default:"squarify",values:["squarify","resquarify","binary","dice","slice","slicedice"]},{name:"padding",type:"number",default:0},{name:"paddingInner",type:"number",default:0},{name:"paddingOuter",type:"number",default:0},{name:"paddingTop",type:"number",default:0},{name:"paddingRight",type:"number",default:0},{name:"paddingBottom",type:"number",default:0},{name:"paddingLeft",type:"number",default:0},{name:"ratio",type:"number",default:1.618033988749895},{name:"round",type:"boolean",default:!1},{name:"size",type:"number",array:!0,length:2},{name:"as",type:"string",array:!0,length:yM.length,default:yM}]};var xM=it(_M,rM);xM.layout=function(){var t=function(){var t=QA,n=!1,e=1,r=1,i=[0],a=FA,u=FA,o=FA,s=FA,l=FA;function c(t){return t.x0=t.y0=0,t.x1=e,t.y1=r,t.eachBefore(f),i=[0],n&&t.eachBefore(OA),t}function f(n){var e=i[n.depth],r=n.x0+e,c=n.y0+e,f=n.x1-e,h=n.y1-e;f<r&&(r=f=(r+f)/2),h<c&&(c=h=(c+h)/2),n.x0=r,n.y0=c,n.x1=f,n.y1=h,n.children&&(e=i[n.depth+1]=a(n)/2,r+=l(n)-e,c+=u(n)-e,(f-=o(n)-e)<r&&(r=f=(r+f)/2),(h-=s(n)-e)<c&&(c=h=(c+h)/2),t(n,r,c,f,h))}return c.round=function(t){return arguments.length?(n=!!t,c):n},c.size=function(t){return arguments.length?(e=+t[0],r=+t[1],c):[e,r]},c.tile=function(n){return arguments.length?(t=CA(n),c):t},c.padding=function(t){return arguments.length?c.paddingInner(t).paddingOuter(t):c.paddingInner()},c.paddingInner=function(t){return arguments.length?(a="function"==typeof t?t:SA(+t),c):a},c.paddingOuter=function(t){return arguments.length?c.paddingTop(t).paddingRight(t).paddingBottom(t).paddingLeft(t):c.paddingTop()},c.paddingTop=function(t){return arguments.length?(u="function"==typeof t?t:SA(+t),c):u},c.paddingRight=function(t){return arguments.length?(o="function"==typeof t?t:SA(+t),c):o},c.paddingBottom=function(t){return arguments.length?(s="function"==typeof t?t:SA(+t),c):s},c.paddingLeft=function(t){return arguments.length?(l="function"==typeof t?t:SA(+t),c):l},c}();return t.ratio=function(n){var e=t.tile();e.ratio&&t.tile(e.ratio(n))},t.method=function(n){tt(vM,n)?t.tile(vM[n]):i("Unrecognized Treemap layout method: "+n)},t},xM.params=["method","ratio","size","round","padding","paddingInner","paddingOuter","paddingTop","paddingRight","paddingBottom","paddingLeft"],xM.fields=yM;var bM=Object.freeze({nest:tM,pack:uM,partition:lM,stratify:fM,tree:pM,treelinks:mM,treemap:_M});function wM(t,n){var e,r,i,a,u,o,s=[],l=function(t){return t(a)};if(null==n)s.push(t);else for(e={},r=0,i=t.length;r<i;++r)a=t[r],(o=e[u=n.map(l)])||(e[u]=o=[],o.dims=u,s.push(o)),o.push(a);return s}function AM(t){Vr.call(this,null,t)}AM.Definition={type:"Loess",metadata:{generates:!0},params:[{name:"x",type:"field",required:!0},{name:"y",type:"field",required:!0},{name:"groupby",type:"field",array:!0},{name:"bandwidth",type:"number",default:.3},{name:"as",type:"string",array:!0}]},it(AM,Vr).transform=function(t,n){var r=n.fork(n.NO_SOURCE|n.NO_FIELDS);if(!this.value||n.changed()||t.modified()){const i=wM(n.materialize(n.SOURCE).source,t.groupby),a=(t.groupby||[]).map(e),u=a.length,o=t.as||[e(t.x),e(t.y)],s=[];i.forEach(n=>{Yi(n,t.x,t.y,t.bandwidth||.3).forEach(t=>{const e={};for(let t=0;t<u;++t)e[a[t]]=n.dims[t];e[o[0]]=t[0],e[o[1]]=t[1],s.push(St(e))})}),this.value&&(r.rem=this.value),this.value=r.add=r.source=s}return r};const MM={linear:Li,log:Pi,exp:Ui,pow:$i,quad:ji,poly:Ii};function kM(t){Vr.call(this,null,t)}kM.Definition={type:"Regression",metadata:{generates:!0},params:[{name:"x",type:"field",required:!0},{name:"y",type:"field",required:!0},{name:"groupby",type:"field",array:!0},{name:"method",type:"string",default:"linear",values:Object.keys(MM)},{name:"order",type:"number",default:3},{name:"extent",type:"number",array:!0,length:2},{name:"params",type:"boolean",default:!1},{name:"as",type:"string",array:!0}]},it(kM,Vr).transform=function(t,n){var r=n.fork(n.NO_SOURCE|n.NO_FIELDS);if(!this.value||n.changed()||t.modified()){const a=wM(n.materialize(n.SOURCE).source,t.groupby),u=(t.groupby||[]).map(e),o=t.method||"linear",s=t.order||3,l=function(t,n){return"poly"===t?n:"quad"===t?2:1}(o,s),c=t.as||[e(t.x),e(t.y)],f=MM[o],h=[];let d=t.extent;tt(MM,o)||i("Invalid regression method: "+o),null!=d&&"log"===o&&d[0]<=0&&(n.dataflow.warn("Ignoring extent with values <= 0 for log regression."),d=null),a.forEach(e=>{if(e.length<=l)return void n.dataflow.warn("Skipping regression with more parameters than data points.");const r=f(e,t.x,t.y,s);if(t.params)return void h.push(St({keys:e.dims,coef:r.coef,rSquared:r.rSquared}));const i=d||J(e,t.x),a=t=>{const n={};for(let t=0;t<u.length;++t)n[u[t]]=e.dims[t];n[c[0]]=t[0],n[c[1]]=t[1],h.push(St(n))};"linear"===o?i.forEach(t=>a([t,r.predict(t)])):Zi(r.predict,i,25,200).forEach(a)}),this.value&&(r.rem=this.value),this.value=r.add=r.source=h}return r};var EM=Object.freeze({loess:AM,regression:kM});const DM=Math.pow(2,-52),CM=new Uint32Array(512);class FM{static from(t,n=qM,e=LM){const r=t.length,i=new Float64Array(2*r);for(let a=0;a<r;a++){const r=t[a];i[2*a]=n(r),i[2*a+1]=e(r)}return new FM(i)}constructor(t){const n=t.length>>1;if(n>0&&"number"!=typeof t[0])throw new Error("Expected coords to contain numbers.");this.coords=t;const e=Math.max(2*n-5,0);this._triangles=new Uint32Array(3*e),this._halfedges=new Int32Array(3*e),this._hashSize=Math.ceil(Math.sqrt(n)),this._hullPrev=new Uint32Array(n),this._hullNext=new Uint32Array(n),this._hullTri=new Uint32Array(n),this._hullHash=new Int32Array(this._hashSize).fill(-1),this._ids=new Uint32Array(n),this._dists=new Float64Array(n),this.update()}update(){const{coords:t,_hullPrev:n,_hullNext:e,_hullTri:r,_hullHash:i}=this,a=t.length>>1;let u=1/0,o=1/0,s=-1/0,l=-1/0;for(let n=0;n<a;n++){const e=t[2*n],r=t[2*n+1];e<u&&(u=e),r<o&&(o=r),e>s&&(s=e),r>l&&(l=r),this._ids[n]=n}const c=(u+s)/2,f=(o+l)/2;let h,d,p,g=1/0;for(let n=0;n<a;n++){const e=SM(c,f,t[2*n],t[2*n+1]);e<g&&(h=n,g=e)}const m=t[2*h],v=t[2*h+1];g=1/0;for(let n=0;n<a;n++){if(n===h)continue;const e=SM(m,v,t[2*n],t[2*n+1]);e<g&&e>0&&(d=n,g=e)}let y=t[2*d],_=t[2*d+1],x=1/0;for(let n=0;n<a;n++){if(n===h||n===d)continue;const e=NM(m,v,y,_,t[2*n],t[2*n+1]);e<x&&(p=n,x=e)}let b=t[2*p],w=t[2*p+1];if(x===1/0){for(let n=0;n<a;n++)this._dists[n]=t[2*n]-t[0]||t[2*n+1]-t[1];OM(this._ids,this._dists,0,a-1);const n=new Uint32Array(a);let e=0;for(let t=0,r=-1/0;t<a;t++){const i=this._ids[t];this._dists[i]>r&&(n[e++]=i,r=this._dists[i])}return this.hull=n.subarray(0,e),this.triangles=new Uint32Array(0),void(this.halfedges=new Uint32Array(0))}if(TM(m,v,y,_,b,w)){const t=d,n=y,e=_;d=p,y=b,_=w,p=t,b=n,w=e}const A=function(t,n,e,r,i,a){const u=e-t,o=r-n,s=i-t,l=a-n,c=u*u+o*o,f=s*s+l*l,h=.5/(u*l-o*s);return{x:t+(l*c-o*f)*h,y:n+(u*f-s*c)*h}}(m,v,y,_,b,w);this._cx=A.x,this._cy=A.y;for(let n=0;n<a;n++)this._dists[n]=SM(t[2*n],t[2*n+1],A.x,A.y);OM(this._ids,this._dists,0,a-1),this._hullStart=h;let M=3;e[h]=n[p]=d,e[d]=n[h]=p,e[p]=n[d]=h,r[h]=0,r[d]=1,r[p]=2,i.fill(-1),i[this._hashKey(m,v)]=h,i[this._hashKey(y,_)]=d,i[this._hashKey(b,w)]=p,this.trianglesLen=0,this._addTriangle(h,d,p,-1,-1,-1);for(let a,u,o=0;o<this._ids.length;o++){const s=this._ids[o],l=t[2*s],c=t[2*s+1];if(o>0&&Math.abs(l-a)<=DM&&Math.abs(c-u)<=DM)continue;if(a=l,u=c,s===h||s===d||s===p)continue;let f=0;for(let t=0,n=this._hashKey(l,c);t<this._hashSize&&(-1===(f=i[(n+t)%this._hashSize])||f===e[f]);t++);let g,m=f=n[f];for(;g=e[m],!TM(l,c,t[2*m],t[2*m+1],t[2*g],t[2*g+1]);)if((m=g)===f){m=-1;break}if(-1===m)continue;let v=this._addTriangle(m,s,e[m],-1,-1,r[m]);r[s]=this._legalize(v+2),r[m]=v,M++;let y=e[m];for(;g=e[y],TM(l,c,t[2*y],t[2*y+1],t[2*g],t[2*g+1]);)v=this._addTriangle(y,s,g,r[s],-1,r[y]),r[s]=this._legalize(v+2),e[y]=y,M--,y=g;if(m===f)for(;TM(l,c,t[2*(g=n[m])],t[2*g+1],t[2*m],t[2*m+1]);)v=this._addTriangle(g,s,m,-1,r[m],r[g]),this._legalize(v+2),r[g]=v,e[m]=m,M--,m=g;this._hullStart=n[s]=m,e[m]=n[y]=s,e[s]=y,i[this._hashKey(l,c)]=s,i[this._hashKey(t[2*m],t[2*m+1])]=m}this.hull=new Uint32Array(M);for(let t=0,n=this._hullStart;t<M;t++)this.hull[t]=n,n=e[n];this.triangles=this._triangles.subarray(0,this.trianglesLen),this.halfedges=this._halfedges.subarray(0,this.trianglesLen)}_hashKey(t,n){return Math.floor(function(t,n){const e=t/(Math.abs(t)+Math.abs(n));return(n>0?3-e:1+e)/4}(t-this._cx,n-this._cy)*this._hashSize)%this._hashSize}_legalize(t){const{_triangles:n,_halfedges:e,coords:r}=this;let i=0,a=0;for(;;){const u=e[t],o=t-t%3;if(a=o+(t+2)%3,-1===u){if(0===i)break;t=CM[--i];continue}const s=u-u%3,l=o+(t+1)%3,c=s+(u+2)%3,f=n[a],h=n[t],d=n[l],p=n[c];if(zM(r[2*f],r[2*f+1],r[2*h],r[2*h+1],r[2*d],r[2*d+1],r[2*p],r[2*p+1])){n[t]=p,n[u]=f;const r=e[c];if(-1===r){let n=this._hullStart;do{if(this._hullTri[n]===c){this._hullTri[n]=t;break}n=this._hullPrev[n]}while(n!==this._hullStart)}this._link(t,r),this._link(u,e[a]),this._link(a,c);const o=s+(u+1)%3;i<CM.length&&(CM[i++]=o)}else{if(0===i)break;t=CM[--i]}}return a}_link(t,n){this._halfedges[t]=n,-1!==n&&(this._halfedges[n]=t)}_addTriangle(t,n,e,r,i,a){const u=this.trianglesLen;return this._triangles[u]=t,this._triangles[u+1]=n,this._triangles[u+2]=e,this._link(u,r),this._link(u+1,i),this._link(u+2,a),this.trianglesLen+=3,u}}function SM(t,n,e,r){const i=t-e,a=n-r;return i*i+a*a}function BM(t,n,e,r,i,a){const u=(r-n)*(i-t),o=(e-t)*(a-n);return Math.abs(u-o)>=33306690738754716e-32*Math.abs(u+o)?u-o:0}function TM(t,n,e,r,i,a){return(BM(i,a,t,n,e,r)||BM(t,n,e,r,i,a)||BM(e,r,i,a,t,n))<0}function zM(t,n,e,r,i,a,u,o){const s=t-u,l=n-o,c=e-u,f=r-o,h=i-u,d=a-o,p=c*c+f*f,g=h*h+d*d;return s*(f*g-p*d)-l*(c*g-p*h)+(s*s+l*l)*(c*d-f*h)<0}function NM(t,n,e,r,i,a){const u=e-t,o=r-n,s=i-t,l=a-n,c=u*u+o*o,f=s*s+l*l,h=.5/(u*l-o*s),d=(l*c-o*f)*h,p=(u*f-s*c)*h;return d*d+p*p}function OM(t,n,e,r){if(r-e<=20)for(let i=e+1;i<=r;i++){const r=t[i],a=n[r];let u=i-1;for(;u>=e&&n[t[u]]>a;)t[u+1]=t[u--];t[u+1]=r}else{let i=e+1,a=r;RM(t,e+r>>1,i),n[t[e]]>n[t[r]]&&RM(t,e,r),n[t[i]]>n[t[r]]&&RM(t,i,r),n[t[e]]>n[t[i]]&&RM(t,e,i);const u=t[i],o=n[u];for(;;){do{i++}while(n[t[i]]<o);do{a--}while(n[t[a]]>o);if(a<i)break;RM(t,i,a)}t[e+1]=t[a],t[a]=u,r-i+1>=a-e?(OM(t,n,i,r),OM(t,n,e,a-1)):(OM(t,n,e,a-1),OM(t,n,i,r))}}function RM(t,n,e){const r=t[n];t[n]=t[e],t[e]=r}function qM(t){return t[0]}function LM(t){return t[1]}const PM=1e-6;class UM{constructor(){this._x0=this._y0=this._x1=this._y1=null,this._=""}moveTo(t,n){this._+=`M${this._x0=this._x1=+t},${this._y0=this._y1=+n}`}closePath(){null!==this._x1&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")}lineTo(t,n){this._+=`L${this._x1=+t},${this._y1=+n}`}arc(t,n,e){const r=(t=+t)+(e=+e),i=n=+n;if(e<0)throw new Error("negative radius");null===this._x1?this._+=`M${r},${i}`:(Math.abs(this._x1-r)>PM||Math.abs(this._y1-i)>PM)&&(this._+="L"+r+","+i),e&&(this._+=`A${e},${e},0,1,1,${t-e},${n}A${e},${e},0,1,1,${this._x1=r},${this._y1=i}`)}rect(t,n,e,r){this._+=`M${this._x0=this._x1=+t},${this._y0=this._y1=+n}h${+e}v${+r}h${-e}Z`}value(){return this._||null}}class $M{constructor(){this._=[]}moveTo(t,n){this._.push([t,n])}closePath(){this._.push(this._[0].slice())}lineTo(t,n){this._.push([t,n])}value(){return this._.length?this._:null}}class jM{constructor(t,[n,e,r,i]=[0,0,960,500]){if(!((r=+r)>=(n=+n)&&(i=+i)>=(e=+e)))throw new Error("invalid bounds");this.delaunay=t,this._circumcenters=new Float64Array(2*t.points.length),this.vectors=new Float64Array(2*t.points.length),this.xmax=r,this.xmin=n,this.ymax=i,this.ymin=e,this._init()}update(){return this.delaunay.update(),this._init(),this}_init(){const{delaunay:{points:t,hull:n,triangles:e},vectors:r}=this,i=this.circumcenters=this._circumcenters.subarray(0,e.length/3*2);for(let n,r,a=0,u=0,o=e.length;a<o;a+=3,u+=2){const o=2*e[a],s=2*e[a+1],l=2*e[a+2],c=t[o],f=t[o+1],h=t[s],d=t[s+1],p=t[l],g=t[l+1],m=h-c,v=d-f,y=p-c,_=g-f,x=m*m+v*v,b=y*y+_*_,w=2*(m*_-v*y);if(w)if(Math.abs(w)<1e-8)n=(c+p)/2,r=(f+g)/2;else{const t=1/w;n=c+(_*x-v*b)*t,r=f+(m*b-y*x)*t}else n=(c+p)/2-1e8*_,r=(f+g)/2+1e8*y;i[u]=n,i[u+1]=r}let a,u,o,s=n[n.length-1],l=4*s,c=t[2*s],f=t[2*s+1];r.fill(0);for(let e=0;e<n.length;++e)a=l,u=c,o=f,l=4*(s=n[e]),c=t[2*s],f=t[2*s+1],r[a+2]=r[l]=o-f,r[a+3]=r[l+1]=c-u}render(t){const n=null==t?t=new UM:void 0,{delaunay:{halfedges:e,inedges:r,hull:i},circumcenters:a,vectors:u}=this;if(i.length<=1)return null;for(let n=0,r=e.length;n<r;++n){const r=e[n];if(r<n)continue;const i=2*Math.floor(n/3),u=2*Math.floor(r/3),o=a[i],s=a[i+1],l=a[u],c=a[u+1];this._renderSegment(o,s,l,c,t)}let o,s=i[i.length-1];for(let n=0;n<i.length;++n){o=s,s=i[n];const e=2*Math.floor(r[s]/3),l=a[e],c=a[e+1],f=4*o,h=this._project(l,c,u[f+2],u[f+3]);h&&this._renderSegment(l,c,h[0],h[1],t)}return n&&n.value()}renderBounds(t){const n=null==t?t=new UM:void 0;return t.rect(this.xmin,this.ymin,this.xmax-this.xmin,this.ymax-this.ymin),n&&n.value()}renderCell(t,n){const e=null==n?n=new UM:void 0,r=this._clip(t);if(null===r)return;n.moveTo(r[0],r[1]);let i=r.length;for(;r[0]===r[i-2]&&r[1]===r[i-1]&&i>1;)i-=2;for(let t=2;t<i;t+=2)r[t]===r[t-2]&&r[t+1]===r[t-1]||n.lineTo(r[t],r[t+1]);return n.closePath(),e&&e.value()}*cellPolygons(){const{delaunay:{points:t}}=this;for(let n=0,e=t.length/2;n<e;++n){const t=this.cellPolygon(n);t&&(yield t)}}cellPolygon(t){const n=new $M;return this.renderCell(t,n),n.value()}_renderSegment(t,n,e,r,i){let a;const u=this._regioncode(t,n),o=this._regioncode(e,r);0===u&&0===o?(i.moveTo(t,n),i.lineTo(e,r)):(a=this._clipSegment(t,n,e,r,u,o))&&(i.moveTo(a[0],a[1]),i.lineTo(a[2],a[3]))}contains(t,n,e){return(n=+n)==n&&(e=+e)==e&&this.delaunay._step(t,n,e)===t}_cell(t){const{circumcenters:n,delaunay:{inedges:e,halfedges:r,triangles:i}}=this,a=e[t];if(-1===a)return null;const u=[];let o=a;do{const e=Math.floor(o/3);if(u.push(n[2*e],n[2*e+1]),i[o=o%3==2?o-2:o+1]!==t)break;o=r[o]}while(o!==a&&-1!==o);return u}_clip(t){if(0===t&&1===this.delaunay.hull.length)return[this.xmax,this.ymin,this.xmax,this.ymax,this.xmin,this.ymax,this.xmin,this.ymin];const n=this._cell(t);if(null===n)return null;const{vectors:e}=this,r=4*t;return e[r]||e[r+1]?this._clipInfinite(t,n,e[r],e[r+1],e[r+2],e[r+3]):this._clipFinite(t,n)}_clipFinite(t,n){const e=n.length;let r,i,a,u,o,s=null,l=n[e-2],c=n[e-1],f=this._regioncode(l,c);for(let h=0;h<e;h+=2)if(r=l,i=c,l=n[h],c=n[h+1],a=f,f=this._regioncode(l,c),0===a&&0===f)u=o,o=0,s?s.push(l,c):s=[l,c];else{let n,e,h,d,p;if(0===a){if(null===(n=this._clipSegment(r,i,l,c,a,f)))continue;[e,h,d,p]=n}else{if(null===(n=this._clipSegment(l,c,r,i,f,a)))continue;[d,p,e,h]=n,u=o,o=this._edgecode(e,h),u&&o&&this._edge(t,u,o,s,s.length),s?s.push(e,h):s=[e,h]}u=o,o=this._edgecode(d,p),u&&o&&this._edge(t,u,o,s,s.length),s?s.push(d,p):s=[d,p]}if(s)u=o,o=this._edgecode(s[0],s[1]),u&&o&&this._edge(t,u,o,s,s.length);else if(this.contains(t,(this.xmin+this.xmax)/2,(this.ymin+this.ymax)/2))return[this.xmax,this.ymin,this.xmax,this.ymax,this.xmin,this.ymax,this.xmin,this.ymin];return s}_clipSegment(t,n,e,r,i,a){for(;;){if(0===i&&0===a)return[t,n,e,r];if(i&a)return null;let u,o,s=i||a;8&s?(u=t+(e-t)*(this.ymax-n)/(r-n),o=this.ymax):4&s?(u=t+(e-t)*(this.ymin-n)/(r-n),o=this.ymin):2&s?(o=n+(r-n)*(this.xmax-t)/(e-t),u=this.xmax):(o=n+(r-n)*(this.xmin-t)/(e-t),u=this.xmin),i?(t=u,n=o,i=this._regioncode(t,n)):(e=u,r=o,a=this._regioncode(e,r))}}_clipInfinite(t,n,e,r,i,a){let u,o=Array.from(n);if((u=this._project(o[0],o[1],e,r))&&o.unshift(u[0],u[1]),(u=this._project(o[o.length-2],o[o.length-1],i,a))&&o.push(u[0],u[1]),o=this._clipFinite(t,o))for(let n,e=0,r=o.length,i=this._edgecode(o[r-2],o[r-1]);e<r;e+=2)n=i,i=this._edgecode(o[e],o[e+1]),n&&i&&(e=this._edge(t,n,i,o,e),r=o.length);else this.contains(t,(this.xmin+this.xmax)/2,(this.ymin+this.ymax)/2)&&(o=[this.xmin,this.ymin,this.xmax,this.ymin,this.xmax,this.ymax,this.xmin,this.ymax]);return o}_edge(t,n,e,r,i){for(;n!==e;){let e,a;switch(n){case 5:n=4;continue;case 4:n=6,e=this.xmax,a=this.ymin;break;case 6:n=2;continue;case 2:n=10,e=this.xmax,a=this.ymax;break;case 10:n=8;continue;case 8:n=9,e=this.xmin,a=this.ymax;break;case 9:n=1;continue;case 1:n=5,e=this.xmin,a=this.ymin}r[i]===e&&r[i+1]===a||!this.contains(t,e,a)||(r.splice(i,0,e,a),i+=2)}if(r.length>4)for(let t=0;t<r.length;t+=2){const n=(t+2)%r.length,e=(t+4)%r.length;(r[t]===r[n]&&r[n]===r[e]||r[t+1]===r[n+1]&&r[n+1]===r[e+1])&&(r.splice(n,2),t-=2)}return i}_project(t,n,e,r){let i,a,u,o=1/0;if(r<0){if(n<=this.ymin)return null;(i=(this.ymin-n)/r)<o&&(u=this.ymin,a=t+(o=i)*e)}else if(r>0){if(n>=this.ymax)return null;(i=(this.ymax-n)/r)<o&&(u=this.ymax,a=t+(o=i)*e)}if(e>0){if(t>=this.xmax)return null;(i=(this.xmax-t)/e)<o&&(a=this.xmax,u=n+(o=i)*r)}else if(e<0){if(t<=this.xmin)return null;(i=(this.xmin-t)/e)<o&&(a=this.xmin,u=n+(o=i)*r)}return[a,u]}_edgecode(t,n){return(t===this.xmin?1:t===this.xmax?2:0)|(n===this.ymin?4:n===this.ymax?8:0)}_regioncode(t,n){return(t<this.xmin?1:t>this.xmax?2:0)|(n<this.ymin?4:n>this.ymax?8:0)}}const IM=2*Math.PI;function WM(t){return t[0]}function HM(t){return t[1]}function YM(t,n,e){return[t+Math.sin(t+n)*e,n+Math.cos(t-n)*e]}class GM{constructor(t){this._delaunator=new FM(t),this.inedges=new Int32Array(t.length/2),this._hullIndex=new Int32Array(t.length/2),this.points=this._delaunator.coords,this._init()}update(){return this._delaunator.update(),this._init(),this}_init(){const t=this._delaunator,n=this.points;if(t.hull&&t.hull.length>2&&function(t,n){let e,r,i=t.length,a=n[2*t[i-1]],u=n[2*t[i-1]+1],o=0;for(let s=0;s<i;s++)e=a,o+=(r=u)*(a=n[2*t[s]])-e*(u=n[2*t[s]+1]);return o/2}(t.hull,n)<1e-10){this.collinear=Int32Array.from({length:n.length/2},(t,n)=>n).sort((t,e)=>n[2*t]-n[2*e]||n[2*t+1]-n[2*e+1]);const t=this.collinear[0],e=this.collinear[this.collinear.length-1],r=[n[2*t],n[2*t+1],n[2*e],n[2*e+1]],i=1e-8*Math.sqrt((r[3]-r[1])**2+(r[2]-r[0])**2);for(let t=0,e=n.length/2;t<e;++t){const e=YM(n[2*t],n[2*t+1],i);n[2*t]=e[0],n[2*t+1]=e[1]}this._delaunator=new FM(n)}else delete this.collinear;const e=this.halfedges=this._delaunator.halfedges,r=this.hull=this._delaunator.hull,i=this.triangles=this._delaunator.triangles,a=this.inedges.fill(-1),u=this._hullIndex.fill(-1);for(let t=0,n=e.length;t<n;++t){const n=i[t%3==2?t-2:t+1];-1!==e[t]&&-1!==a[n]||(a[n]=t)}for(let t=0,n=r.length;t<n;++t)u[r[t]]=t;r.length<=2&&r.length>0&&(this.triangles=new Int32Array(3).fill(-1),this.halfedges=new Int32Array(3).fill(-1),this.triangles[0]=r[0],this.triangles[1]=r[1],this.triangles[2]=r[1],a[r[0]]=1,2===r.length&&(a[r[1]]=0))}voronoi(t){return new jM(this,t)}*neighbors(t){const{inedges:n,hull:e,_hullIndex:r,halfedges:i,triangles:a}=this;if(this.collinear){const n=this.collinear.indexOf(t);return n>0&&(yield this.collinear[n-1]),void(n<this.collinear.length-1&&(yield this.collinear[n+1]))}const u=n[t];if(-1===u)return;let o=u,s=-1;do{if(yield s=a[o],a[o=o%3==2?o-2:o+1]!==t)return;if(-1===(o=i[o])){const n=e[(r[t]+1)%e.length];return void(n!==s&&(yield n))}}while(o!==u)}find(t,n,e=0){if((t=+t)!=t||(n=+n)!=n)return-1;const r=e;let i;for(;(i=this._step(e,t,n))>=0&&i!==e&&i!==r;)e=i;return i}_step(t,n,e){const{inedges:r,hull:i,_hullIndex:a,halfedges:u,triangles:o,points:s}=this;if(-1===r[t]||!s.length)return(t+1)%(s.length>>1);let l=t,c=(n-s[2*t])**2+(e-s[2*t+1])**2;const f=r[t];let h=f;do{let r=o[h];const f=(n-s[2*r])**2+(e-s[2*r+1])**2;if(f<c&&(c=f,l=r),o[h=h%3==2?h-2:h+1]!==t)break;if(-1===(h=u[h])){if((h=i[(a[t]+1)%i.length])!==r&&(n-s[2*h])**2+(e-s[2*h+1])**2<c)return h;break}}while(h!==f);return l}render(t){const n=null==t?t=new UM:void 0,{points:e,halfedges:r,triangles:i}=this;for(let n=0,a=r.length;n<a;++n){const a=r[n];if(a<n)continue;const u=2*i[n],o=2*i[a];t.moveTo(e[u],e[u+1]),t.lineTo(e[o],e[o+1])}return this.renderHull(t),n&&n.value()}renderPoints(t,n=2){const e=null==t?t=new UM:void 0,{points:r}=this;for(let e=0,i=r.length;e<i;e+=2){const i=r[e],a=r[e+1];t.moveTo(i+n,a),t.arc(i,a,n,0,IM)}return e&&e.value()}renderHull(t){const n=null==t?t=new UM:void 0,{hull:e,points:r}=this,i=2*e[0],a=e.length;t.moveTo(r[i],r[i+1]);for(let n=1;n<a;++n){const i=2*e[n];t.lineTo(r[i],r[i+1])}return t.closePath(),n&&n.value()}hullPolygon(){const t=new $M;return this.renderHull(t),t.value()}renderTriangle(t,n){const e=null==n?n=new UM:void 0,{points:r,triangles:i}=this,a=2*i[t*=3],u=2*i[t+1],o=2*i[t+2];return n.moveTo(r[a],r[a+1]),n.lineTo(r[u],r[u+1]),n.lineTo(r[o],r[o+1]),n.closePath(),e&&e.value()}*trianglePolygons(){const{triangles:t}=this;for(let n=0,e=t.length/3;n<e;++n)yield this.trianglePolygon(n)}trianglePolygon(t){const n=new $M;return this.renderTriangle(t,n),n.value()}}function VM(t){Vr.call(this,null,t)}GM.from=function(t,n=WM,e=HM,r){return new GM("length"in t?function(t,n,e,r){const i=t.length,a=new Float64Array(2*i);for(let u=0;u<i;++u){const i=t[u];a[2*u]=n.call(r,i,u,t),a[2*u+1]=e.call(r,i,u,t)}return a}(t,n,e,r):Float64Array.from(function*(t,n,e,r){let i=0;for(const a of t)yield n.call(r,a,i,t),yield e.call(r,a,i,t),++i}(t,n,e,r)))},VM.Definition={type:"Voronoi",metadata:{modifies:!0},params:[{name:"x",type:"field",required:!0},{name:"y",type:"field",required:!0},{name:"size",type:"number",array:!0,length:2},{name:"extent",type:"array",array:!0,length:2,default:[[-1e5,-1e5],[1e5,1e5]],content:{type:"number",array:!0,length:2}},{name:"as",type:"string",default:"path"}]};const XM=it(VM,Vr),ZM=[-1e5,-1e5,1e5,1e5];function JM(t){const n=t[0][0],e=t[0][1];let r=t.length-1;for(;t[r][0]===n&&t[r][1]===e;--r);return"M"+t.slice(0,r+1).join("L")+"Z"}XM.transform=function(t,n){const e=t.as||"path",r=n.source;if(!r||!r.length)return n;let i=t.size;i=i?[0,0,i[0],i[1]]:(i=t.extent)?[i[0][0],i[0][1],i[1][0],i[1][1]]:ZM;const a=this.value=GM.from(r,t.x,t.y).voronoi(i);for(let t=0,n=r.length;t<n;++t){const n=a.cellPolygon(t);r[t][e]=n?JM(n):null}return n.reflow(t.modified()).modifies(e)};var QM=Object.freeze({voronoi:VM}),KM=Math.PI/180,tk=64,nk=2048;function ek(){var t,n,e,r,i,a,u,o=[256,256],s=ok,l=[],c=Math.random,f={};function h(t,n,e){for(var r,i,a,u=n.x,l=n.y,f=Math.sqrt(o[0]*o[0]+o[1]*o[1]),h=s(o),d=c()<.5?1:-1,p=-d;(r=h(p+=d))&&(i=~~r[0],a=~~r[1],!(Math.min(Math.abs(i),Math.abs(a))>=f));)if(n.x=u+i,n.y=l+a,!(n.x+n.x0<0||n.y+n.y0<0||n.x+n.x1>o[0]||n.y+n.y1>o[1])&&(!e||!ik(n,t,o[0]))&&(!e||uk(n,e))){for(var g,m=n.sprite,v=n.width>>5,y=o[0]>>5,_=n.x-(v<<4),x=127&_,b=32-x,w=n.y1-n.y0,A=(n.y+n.y0)*y+(_>>5),M=0;M<w;M++){g=0;for(var k=0;k<=v;k++)t[A+k]|=g<<b|(k<v?(g=m[M*v+k])>>>x:0);A+=y}return n.sprite=null,!0}return!1}return f.layout=function(){for(var s=function(t){t.width=t.height=1;var n=Math.sqrt(t.getContext("2d").getImageData(0,0,1,1).data.length>>2);t.width=(tk<<5)/n,t.height=nk/n;var e=t.getContext("2d");return e.fillStyle=e.strokeStyle="red",e.textAlign="center",{context:e,ratio:n}}(lo()),f=function(t){var n=[],e=-1;for(;++e<t;)n[e]=0;return n}((o[0]>>5)*o[1]),d=null,p=l.length,g=-1,m=[],v=l.map((function(o){return{text:t(o),font:n(o),style:r(o),weight:i(o),rotate:a(o),size:~~e(o),padding:u(o),xoff:0,yoff:0,x1:0,y1:0,x0:0,y0:0,hasText:!1,sprite:null,datum:o}})).sort((function(t,n){return n.size-t.size}));++g<p;){var y=v[g];y.x=o[0]*(c()+.5)>>1,y.y=o[1]*(c()+.5)>>1,rk(s,y,v,g),y.hasText&&h(f,y,d)&&(m.push(y),d?ak(d,y):d=[{x:y.x+y.x0,y:y.y+y.y0},{x:y.x+y.x1,y:y.y+y.y1}],y.x-=o[0]>>1,y.y-=o[1]>>1)}return m},f.words=function(t){return arguments.length?(l=t,f):l},f.size=function(t){return arguments.length?(o=[+t[0],+t[1]],f):o},f.font=function(t){return arguments.length?(n=sk(t),f):n},f.fontStyle=function(t){return arguments.length?(r=sk(t),f):r},f.fontWeight=function(t){return arguments.length?(i=sk(t),f):i},f.rotate=function(t){return arguments.length?(a=sk(t),f):a},f.text=function(n){return arguments.length?(t=sk(n),f):t},f.spiral=function(t){return arguments.length?(s=lk[t]||t,f):s},f.fontSize=function(t){return arguments.length?(e=sk(t),f):e},f.padding=function(t){return arguments.length?(u=sk(t),f):u},f.random=function(t){return arguments.length?(c=t,f):c},f}function rk(t,n,e,r){if(!n.sprite){var i=t.context,a=t.ratio;i.clearRect(0,0,(tk<<5)/a,nk/a);var u,o,s,l,c,f=0,h=0,d=0,p=e.length;for(--r;++r<p;){if(n=e[r],i.save(),i.font=n.style+" "+n.weight+" "+~~((n.size+1)/a)+"px "+n.font,u=i.measureText(n.text+"m").width*a,s=n.size<<1,n.rotate){var g=Math.sin(n.rotate*KM),m=Math.cos(n.rotate*KM),v=u*m,y=u*g,_=s*m,x=s*g;u=Math.max(Math.abs(v+x),Math.abs(v-x))+31>>5<<5,s=~~Math.max(Math.abs(y+_),Math.abs(y-_))}else u=u+31>>5<<5;if(s>d&&(d=s),f+u>=tk<<5&&(f=0,h+=d,d=0),h+s>=nk)break;i.translate((f+(u>>1))/a,(h+(s>>1))/a),n.rotate&&i.rotate(n.rotate*KM),i.fillText(n.text,0,0),n.padding&&(i.lineWidth=2*n.padding,i.strokeText(n.text,0,0)),i.restore(),n.width=u,n.height=s,n.xoff=f,n.yoff=h,n.x1=u>>1,n.y1=s>>1,n.x0=-n.x1,n.y0=-n.y1,n.hasText=!0,f+=u}for(var b=i.getImageData(0,0,(tk<<5)/a,nk/a).data,w=[];--r>=0;)if((n=e[r]).hasText){for(o=(u=n.width)>>5,s=n.y1-n.y0,l=0;l<s*o;l++)w[l]=0;if(null==(f=n.xoff))return;h=n.yoff;var A=0,M=-1;for(c=0;c<s;c++){for(l=0;l<u;l++){var k=o*c+(l>>5),E=b[(h+c)*(tk<<5)+(f+l)<<2]?1<<31-l%32:0;w[k]|=E,A|=E}A?M=c:(n.y0++,s--,c--,h++)}n.y1=n.y0+M,n.sprite=w.slice(0,(n.y1-n.y0)*o)}}}function ik(t,n,e){e>>=5;for(var r,i=t.sprite,a=t.width>>5,u=t.x-(a<<4),o=127&u,s=32-o,l=t.y1-t.y0,c=(t.y+t.y0)*e+(u>>5),f=0;f<l;f++){r=0;for(var h=0;h<=a;h++)if((r<<s|(h<a?(r=i[f*a+h])>>>o:0))&n[c+h])return!0;c+=e}return!1}function ak(t,n){var e=t[0],r=t[1];n.x+n.x0<e.x&&(e.x=n.x+n.x0),n.y+n.y0<e.y&&(e.y=n.y+n.y0),n.x+n.x1>r.x&&(r.x=n.x+n.x1),n.y+n.y1>r.y&&(r.y=n.y+n.y1)}function uk(t,n){return t.x+t.x1>n[0].x&&t.x+t.x0<n[1].x&&t.y+t.y1>n[0].y&&t.y+t.y0<n[1].y}function ok(t){var n=t[0]/t[1];return function(t){return[n*(t*=.1)*Math.cos(t),t*Math.sin(t)]}}function sk(t){return"function"==typeof t?t:function(){return t}}var lk={archimedean:ok,rectangular:function(t){var n=4*t[0]/t[1],e=0,r=0;return function(t){var i=t<0?-1:1;switch(Math.sqrt(1+4*i*t)-i&3){case 0:e+=n;break;case 1:r+=4;break;case 2:e-=n;break;default:r-=4}return[e,r]}}},ck=["x","y","font","fontSize","fontStyle","fontWeight","angle"],fk=["text","font","rotate","fontSize","fontStyle","fontWeight"];function hk(t){Vr.call(this,ek(),t)}hk.Definition={type:"Wordcloud",metadata:{modifies:!0},params:[{name:"size",type:"number",array:!0,length:2},{name:"font",type:"string",expr:!0,default:"sans-serif"},{name:"fontStyle",type:"string",expr:!0,default:"normal"},{name:"fontWeight",type:"string",expr:!0,default:"normal"},{name:"fontSize",type:"number",expr:!0,default:14},{name:"fontSizeRange",type:"number",array:"nullable",default:[10,50]},{name:"rotate",type:"number",expr:!0,default:0},{name:"text",type:"field"},{name:"spiral",type:"string",values:["archimedean","rectangular"]},{name:"padding",type:"number",expr:!0},{name:"as",type:"string",array:!0,length:7,default:ck}]},it(hk,Vr).transform=function(n,e){!n.size||n.size[0]&&n.size[1]||i("Wordcloud size dimensions must be non-zero.");var r=n.modified();if(r||e.changed(e.ADD_REM)||fk.some((function(t){var r=n[t];return Y(r)&&e.modified(r.fields)}))){var a,u=e.materialize(e.SOURCE).source,o=this.value,s=n.as||ck,l=n.fontSize||14;if(Y(l)?a=n.fontSizeRange:l=V(l),a){var c=l,f=hm("sqrt")().domain(function(t,n){for(var e,r=1/0,i=-1/0,a=0,u=n.length;a<u;++a)(e=t(n[a]))<r&&(r=e),e>i&&(i=e);return[r,i]}(c,u)).range(a);l=function(t){return f(c(t))}}u.forEach((function(t){t[s[0]]=NaN,t[s[1]]=NaN,t[s[3]]=0}));for(var h,d,p=o.words(u).text(n.text).size(n.size||[500,500]).padding(n.padding||1).spiral(n.spiral||"archimedean").rotate(n.rotate||0).font(n.font||"sans-serif").fontStyle(n.fontStyle||"normal").fontWeight(n.fontWeight||"normal").fontSize(l).random(t.random).layout(),g=o.size(),m=g[0]>>1,v=g[1]>>1,y=0,_=p.length;y<_;++y)(d=(h=p[y]).datum)[s[0]]=h.x+m,d[s[1]]=h.y+v,d[s[2]]=h.font,d[s[3]]=h.size,d[s[4]]=h.style,d[s[5]]=h.weight,d[s[6]]=h.rotate;return e.reflow(r).modifies(s)}};var dk=Object.freeze({wordcloud:hk});function pk(t){return new Uint8Array(t)}function gk(t){return new Uint16Array(t)}function mk(t){return new Uint32Array(t)}function vk(t,n,e){var r=(n<257?pk:n<65537?gk:mk)(t);return e&&r.set(e),r}function yk(t,n,e){var r=1<<n;return{one:r,zero:~r,range:e.slice(),bisect:t.bisect,index:t.index,size:t.size,onAdd:function(t,n){var e,i=this.bisect(this.range,t.value),a=t.index,u=i[0],o=i[1],s=a.length;for(e=0;e<u;++e)n[a[e]]|=r;for(e=o;e<s;++e)n[a[e]]|=r;return this}}}function _k(){var t=mk(0),n=[],e=0;return{insert:function(r,i,a){if(!i.length)return[];var u,o,s,l=e,c=i.length,f=Array(c),h=mk(c);for(s=0;s<c;++s)f[s]=r(i[s]),h[s]=s;if(f=function(t,n){return t.sort.call(n,(function(n,e){var r=t[n],i=t[e];return r<i?-1:r>i?1:0})),function(t,n){return Array.from(n,n=>t[n])}(t,n)}(f,h),l)u=n,o=t,n=Array(l+c),t=mk(l+c),function(t,n,e,r,i,a,u,o,s){var l,c=0,f=0;for(l=0;c<r&&f<u;++l)n[c]<i[f]?(o[l]=n[c],s[l]=e[c++]):(o[l]=i[f],s[l]=a[f++]+t);for(;c<r;++c,++l)o[l]=n[c],s[l]=e[c];for(;f<u;++f,++l)o[l]=i[f],s[l]=a[f]+t}(a,u,o,l,f,h,c,n,t);else{if(a>0)for(s=0;s<c;++s)h[s]+=a;n=f,t=h}return e=l+c,{index:h,value:f}},remove:function(r,i){var a,u,o,s=e;for(u=0;!i[t[u]]&&u<s;++u);for(o=u;u<s;++u)i[a=t[u]]||(t[o]=a,n[o]=n[u],++o);e=s-r},bisect:function(t,r){var i;return r?i=r.length:(r=n,i=e),[di(r,t[0],0,i),hi(r,t[1],0,i)]},reindex:function(n){for(var r=0,i=e;r<i;++r)t[r]=n[t[r]]},index:function(){return t},size:function(){return e}}}function xk(t){Vr.call(this,function(){var t=8,n=[],e=mk(0),r=vk(0,t),i=vk(0,t);return{data:function(){return n},seen:function(){return e=function(t,n,e){return t.length>=n?t:((e=e||new t.constructor(n)).set(t),e)}(e,n.length)},add:function(t){for(var e,r=0,i=n.length,a=t.length;r<a;++r)(e=t[r])._index=i++,n.push(e)},remove:function(t,e){var a,u,o,s=n.length,l=Array(s-t),c=n;for(u=0;!e[u]&&u<s;++u)l[u]=n[u],c[u]=u;for(o=u;u<s;++u)a=n[u],e[u]?c[u]=-1:(c[u]=o,r[o]=r[u],i[o]=i[u],l[o]=a,a._index=o++),r[u]=0;return n=l,c},size:function(){return n.length},curr:function(){return r},prev:function(){return i},reset:function(t){i[t]=r[t]},all:function(){return t<257?255:t<65537?65535:4294967295},set:function(t,n){r[t]|=n},clear:function(t,n){r[t]&=~n},resize:function(n,e){(n>r.length||e>t)&&(t=Math.max(e,t),r=vk(n,t,r),i=vk(n,t))}}}(),t),this._indices=null,this._dims=null}xk.Definition={type:"CrossFilter",metadata:{},params:[{name:"fields",type:"field",array:!0,required:!0},{name:"query",type:"array",array:!0,required:!0,content:{type:"number",array:!0,length:2}}]};var bk=it(xk,Vr);function wk(t){Vr.call(this,null,t)}bk.transform=function(t,n){return this._dims?t.modified("fields")||t.fields.some((function(t){return n.modified(t.fields)}))?this.reinit(t,n):this.eval(t,n):this.init(t,n)},bk.init=function(t,n){for(var e,r,i=t.fields,a=t.query,u=this._indices={},o=this._dims=[],s=a.length,l=0;l<s;++l)r=u[e=i[l].fname]||(u[e]=_k()),o.push(yk(r,l,a[l]));return this.eval(t,n)},bk.reinit=function(t,n){var e,r,i,a,u,o,s,l,c,f=n.materialize().fork(),h=t.fields,d=t.query,p=this._indices,g=this._dims,m=this.value,v=m.curr(),y=m.prev(),_=m.all(),x=f.rem=f.add,b=f.mod,w=d.length,A={};if(y.set(v),n.rem.length&&(u=this.remove(t,n,f)),n.add.length&&m.add(n.add),n.mod.length)for(o={},s=0,l=(a=n.mod).length;s<l;++s)o[a[s]._index]=1;for(s=0;s<w;++s)c=h[s],(!g[s]||t.modified("fields",s)||n.modified(c.fields))&&((e=A[i=c.fname])||(p[i]=r=_k(),A[i]=e=r.insert(c,n.source,0)),g[s]=yk(r,s,d[s]).onAdd(e,v));for(s=0,l=m.data().length;s<l;++s)u[s]||(y[s]!==v[s]?x.push(s):o[s]&&v[s]!==_&&b.push(s));return m.mask=(1<<w)-1,f},bk.eval=function(t,n){var e=n.materialize().fork(),r=this._dims.length,i=0;return n.rem.length&&(this.remove(t,n,e),i|=(1<<r)-1),t.modified("query")&&!t.modified("fields")&&(i|=this.update(t,n,e)),n.add.length&&(this.insert(t,n,e),i|=(1<<r)-1),n.mod.length&&(this.modify(n,e),i|=(1<<r)-1),this.value.mask=i,e},bk.insert=function(t,n,e){var r,i,a,u=n.add,o=this.value,s=this._dims,l=this._indices,c=t.fields,f={},h=e.add,d=o.size(),p=d+u.length,g=s.length;o.resize(p,g),o.add(u);var m=o.curr(),v=o.prev(),y=o.all();for(r=0;r<g;++r)a=f[i=c[r].fname]||(f[i]=l[i].insert(c[r],u,d)),s[r].onAdd(a,m);for(;d<p;++d)v[d]=y,m[d]!==y&&h.push(d)},bk.modify=function(t,n){var e,r,i,a=n.mod,u=this.value,o=u.curr(),s=u.all(),l=t.mod;for(e=0,r=l.length;e<r;++e)o[i=l[e]._index]!==s&&a.push(i)},bk.remove=function(t,n,e){var r,i,a,u,o=this._indices,s=this.value,l=s.curr(),c=s.prev(),f=s.all(),h={},d=e.rem,p=n.rem;for(r=0,i=p.length;r<i;++r)h[a=p[r]._index]=1,c[a]=u=l[a],l[a]=f,u!==f&&d.push(a);for(a in o)o[a].remove(i,h);return this.reindex(n,i,h),h},bk.reindex=function(t,n,e){var r=this._indices,i=this.value;t.runAfter((function(){var t=i.remove(n,e);for(var a in r)r[a].reindex(t)}))},bk.update=function(t,n,e){var r,i,a=this._dims,u=t.query,o=n.stamp,s=a.length,l=0;for(e.filters=0,i=0;i<s;++i)t.modified("query",i)&&(r=i,++l);if(1===l)l=a[r].one,this.incrementOne(a[r],u[r],e.add,e.rem);else for(i=0,l=0;i<s;++i)t.modified("query",i)&&(l|=a[i].one,this.incrementAll(a[i],u[i],o,e.add),e.rem=e.add);return l},bk.incrementAll=function(t,n,e,r){var i,a,u,o=this.value,s=o.seen(),l=o.curr(),c=o.prev(),f=t.index(),h=t.bisect(t.range),d=t.bisect(n),p=d[0],g=d[1],m=h[0],v=h[1],y=t.one;if(p<m)for(i=p,a=Math.min(m,g);i<a;++i)s[u=f[i]]!==e&&(c[u]=l[u],s[u]=e,r.push(u)),l[u]^=y;else if(p>m)for(i=m,a=Math.min(p,v);i<a;++i)s[u=f[i]]!==e&&(c[u]=l[u],s[u]=e,r.push(u)),l[u]^=y;if(g>v)for(i=Math.max(p,v),a=g;i<a;++i)s[u=f[i]]!==e&&(c[u]=l[u],s[u]=e,r.push(u)),l[u]^=y;else if(g<v)for(i=Math.max(m,g),a=v;i<a;++i)s[u=f[i]]!==e&&(c[u]=l[u],s[u]=e,r.push(u)),l[u]^=y;t.range=n.slice()},bk.incrementOne=function(t,n,e,r){var i,a,u,o=this.value.curr(),s=t.index(),l=t.bisect(t.range),c=t.bisect(n),f=c[0],h=c[1],d=l[0],p=l[1],g=t.one;if(f<d)for(i=f,a=Math.min(d,h);i<a;++i)o[u=s[i]]^=g,e.push(u);else if(f>d)for(i=d,a=Math.min(f,p);i<a;++i)o[u=s[i]]^=g,r.push(u);if(h>p)for(i=Math.max(f,p),a=h;i<a;++i)o[u=s[i]]^=g,e.push(u);else if(h<p)for(i=Math.max(d,h),a=p;i<a;++i)o[u=s[i]]^=g,r.push(u);t.range=n.slice()},wk.Definition={type:"ResolveFilter",metadata:{},params:[{name:"ignore",type:"number",required:!0,description:"A bit mask indicating which filters to ignore."},{name:"filter",type:"object",required:!0,description:"Per-tuple filter bitmaps from a CrossFilter transform."}]},it(wk,Vr).transform=function(t,n){var e=~(t.ignore||0),r=t.filter,i=r.mask;if(0==(i&e))return n.StopPropagation;var a=n.fork(n.ALL),u=r.data(),o=r.curr(),s=r.prev(),l=function(t){return o[t]&e?null:u[t]};return a.filter(a.MOD,l),i&i-1?(a.filter(a.ADD,(function(t){var n=o[t]&e;return!n&&n^s[t]&e?u[t]:null})),a.filter(a.REM,(function(t){var n=o[t]&e;return n&&!(n^n^s[t]&e)?u[t]:null}))):(a.filter(a.ADD,l),a.filter(a.REM,(function(t){return(o[t]&e)===i?u[t]:null}))),a.filter(a.SOURCE,(function(t){return l(t._index)}))};var Ak=Object.freeze({crossfilter:xk,resolvefilter:wk}),Mk="default";function kk(t){var n=t._signals.cursor;n||(t._signals.cursor=n=t.add({user:Mk,item:null})),t.on(t.events("view","mousemove"),n,(function(t,e){var r=n.value,i=r?s(r)?r:r.user:Mk,a=e.item&&e.item.cursor||null;return r&&i===r.user&&a==r.item?r:{user:i,item:a}})),t.add(null,(function(t){var n=t.cursor,e=this.value;return s(n)||(e=n.item,n=n.user),function(t){"undefined"!=typeof document&&document.body&&(document.body.style.cursor=t)}(n&&n!==Mk?n:e||n),e}),{cursor:n})}function Ek(t,n){var e=t._runtime.data;return tt(e,n)||i("Unrecognized data set: "+n),e[n]}function Dk(t,n){Ot(n)||i("Second argument to changes must be a changeset.");var e=Ek(this,t);return e.modified=!0,this.pulse(e.input,n)}function Ck(t){var n=t.padding();return Math.max(0,t._viewWidth+n.left+n.right)}function Fk(t){var n=t.padding();return Math.max(0,t._viewHeight+n.top+n.bottom)}function Sk(t){var n=t.padding(),e=t._origin;return[n.left+e[0],n.top+e[1]]}function Bk(t,n,e){var r,i,a=t._renderer,u=a&&a.canvas();return u&&(i=Sk(t),(r=Uc(n.changedTouches?n.changedTouches[0]:n,u))[0]-=i[0],r[1]-=i[1]),n.dataflow=t,n.item=e,n.vega=function(t,n,e){var r=n?"group"===n.mark.marktype?n:n.mark.group:null;function i(t){var e,i=r;if(t)for(e=n;e;e=e.mark.group)if(e.mark.name===t){i=e;break}return i&&i.mark&&i.mark.interactive?i:{}}function a(t){if(!t)return e;s(t)&&(t=i(t));for(var n=e.slice();t;)n[0]-=t.x||0,n[1]-=t.y||0,t=t.mark&&t.mark.group;return n}return{view:V(t),item:V(n||{}),group:i,xy:a,x:function(t){return a(t)[0]},y:function(t){return a(t)[1]}}}(t,e,r),n}const Tk="view",zk="timer",Nk="window",Ok={trap:!1};function Rk(t,n,e){const r=t._eventConfig&&t._eventConfig[n];return!(!1===r||o(r)&&!r[e])||(t.warn(`Blocked ${n} ${e} event listener.`),!1)}function qk(t){return t.item}function Lk(t){return t.item.mark.source}function Pk(t){return function(n,e){return e.vega.view().changeset().encode(e.item,t)}}function Uk(t,n,e){var r=document.createElement(t);for(var i in n)r.setAttribute(i,n[i]);return null!=e&&(r.textContent=e),r}var $k="vega-bind",jk="vega-bind-name",Ik="vega-bind-radio",Wk="vega-option-";function Hk(t,n,e){if(n){var r=e.param,i=e.state;return i||(i=e.state={elements:null,active:!1,set:null,update:function(n){n!==t.signal(r.signal)&&t.runAsync(null,(function(){i.source=!0,t.signal(r.signal,n)}))}},r.debounce&&(i.update=X(r.debounce,i.update))),function(t,n,e,r){var i=Uk("div",{class:$k});i.appendChild(Uk("span",{class:jk},e.name||e.signal)),n.appendChild(i);var a=Yk;switch(e.input){case"checkbox":a=Gk;break;case"select":a=Vk;break;case"radio":a=Xk;break;case"range":a=Zk}a(t,i,e,r)}(i,n,r,t.signal(r.signal)),i.active||(t.on(t._signals[r.signal],null,(function(){i.source?i.source=!1:i.set(t.signal(r.signal))})),i.active=!0),i}}function Yk(t,n,e,r){var i=Uk("input");for(var a in e)"signal"!==a&&"element"!==a&&i.setAttribute("input"===a?"type":a,e[a]);i.setAttribute("name",e.signal),i.value=r,n.appendChild(i),i.addEventListener("input",(function(){t.update(i.value)})),t.elements=[i],t.set=function(t){i.value=t}}function Gk(t,n,e,r){var i={type:"checkbox",name:e.signal};r&&(i.checked=!0);var a=Uk("input",i);n.appendChild(a),a.addEventListener("change",(function(){t.update(a.checked)})),t.elements=[a],t.set=function(t){a.checked=!!t||null}}function Vk(t,n,e,r){var i=Uk("select",{name:e.signal});e.options.forEach((function(t){var n={value:t};Jk(t,r)&&(n.selected=!0),i.appendChild(Uk("option",n,t+""))})),n.appendChild(i),i.addEventListener("change",(function(){t.update(e.options[i.selectedIndex])})),t.elements=[i],t.set=function(t){for(var n=0,r=e.options.length;n<r;++n)if(Jk(e.options[n],t))return void(i.selectedIndex=n)}}function Xk(t,n,e,r){var i=Uk("span",{class:Ik});n.appendChild(i),t.elements=e.options.map((function(n){var a=Wk+e.signal+"-"+n,u={id:a,type:"radio",name:e.signal,value:n};Jk(n,r)&&(u.checked=!0);var o=Uk("input",u);return o.addEventListener("change",(function(){t.update(n)})),i.appendChild(o),i.appendChild(Uk("label",{for:a},n+"")),o})),t.set=function(n){for(var e=t.elements,r=0,i=e.length;r<i;++r)Jk(e[r].value,n)&&(e[r].checked=!0)}}function Zk(t,n,e,r){r=void 0!==r?r:(+e.max+ +e.min)/2;var i=null!=e.max?e.max:Math.max(100,+r)||100,a=e.min||Math.min(0,i,+r)||0,u=e.step||xi(a,i,100),o=Uk("input",{type:"range",name:e.signal,min:a,max:i,step:u});o.value=r;var s=Uk("label",{},+r);function l(){s.textContent=o.value,t.update(+o.value)}n.appendChild(o),n.appendChild(s),o.addEventListener("input",l),o.addEventListener("change",l),t.elements=[o],t.set=function(t){o.value=t,s.textContent=t}}function Jk(t,n){return t===n||t+""==n+""}function Qk(t,n,e,r,i,a){return(n=n||new r(t.loader())).initialize(e,Ck(t),Fk(t),Sk(t),i,a).background(t._background)}function Kk(t,n){return n?function(){try{n.apply(this,arguments)}catch(n){t.error(n)}}:null}function tE(t,n){if("string"==typeof n){if("undefined"==typeof document)return t.error("DOM document instance not found."),null;if(!(n=document.querySelector(n)))return t.error("Signal bind element not found: "+n),null}if(n)try{n.innerHTML=""}catch(e){n=null,t.error(e)}return n}async function nE(t,n,e,r){const a=zf(n),u=a&&a.headless;return u||i("Unrecognized renderer type: "+n),await t.runAsync(),Qk(t,null,null,u,e,r).renderAsync(t._scenegraph.root)}var eE,rE,iE,aE,uE,oE="RawCode",sE="Literal",lE="Property",cE="Identifier",fE="ArrayExpression",hE="BinaryExpression",dE="CallExpression",pE="ConditionalExpression",gE="LogicalExpression",mE="MemberExpression",vE="ObjectExpression",yE="UnaryExpression";function _E(t){this.type=t}_E.prototype.visit=function(t){var n,e,r;if(t(this))return 1;for(e=0,r=(n=function(t){switch(t.type){case fE:return t.elements;case hE:case gE:return[t.left,t.right];case dE:var n=t.arguments.slice();return n.unshift(t.callee),n;case pE:return[t.test,t.consequent,t.alternate];case mE:return[t.object,t.property];case vE:return t.properties;case lE:return[t.key,t.value];case yE:return[t.argument];case cE:case sE:case oE:default:return[]}}(this)).length;e<r;++e)if(n[e].visit(t))return 1};var xE=1,bE=2,wE=3,AE=4,ME=5,kE=6,EE=7,DE=8;(eE={})[xE]="Boolean",eE[bE]="<end>",eE[wE]="Identifier",eE[AE]="Keyword",eE[ME]="Null",eE[kE]="Numeric",eE[EE]="Punctuator",eE[DE]="String",eE[9]="RegularExpression";var CE="ArrayExpression",FE="BinaryExpression",SE="CallExpression",BE="ConditionalExpression",TE="Identifier",zE="Literal",NE="LogicalExpression",OE="MemberExpression",RE="ObjectExpression",qE="Property",LE="UnaryExpression",PE="Unexpected token %0",UE="Unexpected number",$E="Unexpected string",jE="Unexpected identifier",IE="Unexpected reserved word",WE="Unexpected end of input",HE="Invalid regular expression",YE="Invalid regular expression: missing /",GE="Octal literals are not allowed in strict mode.",VE="Duplicate data property in object literal not allowed in strict mode",XE="ILLEGAL",ZE="Disabled.",JE=new RegExp("[\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0620-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06E5\\u06E6\\u06EE\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u07F4\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\u08A0-\\u08B2\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C58\\u0C59\\u0C60\\u0C61\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D60\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u13A0-\\u13F4\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1877\\u1880-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19C1-\\u19C7\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1CE9-\\u1CEC\\u1CEE-\\u1CF1\\u1CF5\\u1CF6\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2071\\u207F\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2E2F\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FCC\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6EF\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA78E\\uA790-\\uA7AD\\uA7B0\\uA7B1\\uA7F7-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uA9E0-\\uA9E4\\uA9E6-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB5F\\uAB64\\uAB65\\uABC0-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]"),QE=new RegExp("[\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0300-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u0483-\\u0487\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0610-\\u061A\\u0620-\\u0669\\u066E-\\u06D3\\u06D5-\\u06DC\\u06DF-\\u06E8\\u06EA-\\u06FC\\u06FF\\u0710-\\u074A\\u074D-\\u07B1\\u07C0-\\u07F5\\u07FA\\u0800-\\u082D\\u0840-\\u085B\\u08A0-\\u08B2\\u08E4-\\u0963\\u0966-\\u096F\\u0971-\\u0983\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BC-\\u09C4\\u09C7\\u09C8\\u09CB-\\u09CE\\u09D7\\u09DC\\u09DD\\u09DF-\\u09E3\\u09E6-\\u09F1\\u0A01-\\u0A03\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A3C\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A59-\\u0A5C\\u0A5E\\u0A66-\\u0A75\\u0A81-\\u0A83\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABC-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0AD0\\u0AE0-\\u0AE3\\u0AE6-\\u0AEF\\u0B01-\\u0B03\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3C-\\u0B44\\u0B47\\u0B48\\u0B4B-\\u0B4D\\u0B56\\u0B57\\u0B5C\\u0B5D\\u0B5F-\\u0B63\\u0B66-\\u0B6F\\u0B71\\u0B82\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD0\\u0BD7\\u0BE6-\\u0BEF\\u0C00-\\u0C03\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C58\\u0C59\\u0C60-\\u0C63\\u0C66-\\u0C6F\\u0C81-\\u0C83\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBC-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5\\u0CD6\\u0CDE\\u0CE0-\\u0CE3\\u0CE6-\\u0CEF\\u0CF1\\u0CF2\\u0D01-\\u0D03\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4E\\u0D57\\u0D60-\\u0D63\\u0D66-\\u0D6F\\u0D7A-\\u0D7F\\u0D82\\u0D83\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DE6-\\u0DEF\\u0DF2\\u0DF3\\u0E01-\\u0E3A\\u0E40-\\u0E4E\\u0E50-\\u0E59\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB9\\u0EBB-\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EC8-\\u0ECD\\u0ED0-\\u0ED9\\u0EDC-\\u0EDF\\u0F00\\u0F18\\u0F19\\u0F20-\\u0F29\\u0F35\\u0F37\\u0F39\\u0F3E-\\u0F47\\u0F49-\\u0F6C\\u0F71-\\u0F84\\u0F86-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u1000-\\u1049\\u1050-\\u109D\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u135D-\\u135F\\u1380-\\u138F\\u13A0-\\u13F4\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1714\\u1720-\\u1734\\u1740-\\u1753\\u1760-\\u176C\\u176E-\\u1770\\u1772\\u1773\\u1780-\\u17D3\\u17D7\\u17DC\\u17DD\\u17E0-\\u17E9\\u180B-\\u180D\\u1810-\\u1819\\u1820-\\u1877\\u1880-\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1920-\\u192B\\u1930-\\u193B\\u1946-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u19D0-\\u19D9\\u1A00-\\u1A1B\\u1A20-\\u1A5E\\u1A60-\\u1A7C\\u1A7F-\\u1A89\\u1A90-\\u1A99\\u1AA7\\u1AB0-\\u1ABD\\u1B00-\\u1B4B\\u1B50-\\u1B59\\u1B6B-\\u1B73\\u1B80-\\u1BF3\\u1C00-\\u1C37\\u1C40-\\u1C49\\u1C4D-\\u1C7D\\u1CD0-\\u1CD2\\u1CD4-\\u1CF6\\u1CF8\\u1CF9\\u1D00-\\u1DF5\\u1DFC-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u200C\\u200D\\u203F\\u2040\\u2054\\u2071\\u207F\\u2090-\\u209C\\u20D0-\\u20DC\\u20E1\\u20E5-\\u20F0\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D7F-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2DE0-\\u2DFF\\u2E2F\\u3005-\\u3007\\u3021-\\u302F\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u3099\\u309A\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FCC\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA62B\\uA640-\\uA66F\\uA674-\\uA67D\\uA67F-\\uA69D\\uA69F-\\uA6F1\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA78E\\uA790-\\uA7AD\\uA7B0\\uA7B1\\uA7F7-\\uA827\\uA840-\\uA873\\uA880-\\uA8C4\\uA8D0-\\uA8D9\\uA8E0-\\uA8F7\\uA8FB\\uA900-\\uA92D\\uA930-\\uA953\\uA960-\\uA97C\\uA980-\\uA9C0\\uA9CF-\\uA9D9\\uA9E0-\\uA9FE\\uAA00-\\uAA36\\uAA40-\\uAA4D\\uAA50-\\uAA59\\uAA60-\\uAA76\\uAA7A-\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEF\\uAAF2-\\uAAF6\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB5F\\uAB64\\uAB65\\uABC0-\\uABEA\\uABEC\\uABED\\uABF0-\\uABF9\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE00-\\uFE0F\\uFE20-\\uFE2D\\uFE33\\uFE34\\uFE4D-\\uFE4F\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF10-\\uFF19\\uFF21-\\uFF3A\\uFF3F\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]");function KE(t,n){if(!t)throw new Error("ASSERT: "+n)}function tD(t){return t>=48&&t<=57}function nD(t){return"0123456789abcdefABCDEF".indexOf(t)>=0}function eD(t){return"01234567".indexOf(t)>=0}function rD(t){return 32===t||9===t||11===t||12===t||160===t||t>=5760&&[5760,6158,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288,65279].indexOf(t)>=0}function iD(t){return 10===t||13===t||8232===t||8233===t}function aD(t){return 36===t||95===t||t>=65&&t<=90||t>=97&&t<=122||92===t||t>=128&&JE.test(String.fromCharCode(t))}function uD(t){return 36===t||95===t||t>=65&&t<=90||t>=97&&t<=122||t>=48&&t<=57||92===t||t>=128&&QE.test(String.fromCharCode(t))}var oD={if:1,in:1,do:1,var:1,for:1,new:1,try:1,let:1,this:1,else:1,case:1,void:1,with:1,enum:1,while:1,break:1,catch:1,throw:1,const:1,yield:1,class:1,super:1,return:1,typeof:1,delete:1,switch:1,export:1,import:1,public:1,static:1,default:1,finally:1,extends:1,package:1,private:1,function:1,continue:1,debugger:1,interface:1,protected:1,instanceof:1,implements:1};function sD(){for(var t;iE<aE&&(rD(t=rE.charCodeAt(iE))||iD(t));)++iE}function lD(t){var n,e,r,i=0;for(e="u"===t?4:2,n=0;n<e;++n)iE<aE&&nD(rE[iE])?(r=rE[iE++],i=16*i+"0123456789abcdef".indexOf(r.toLowerCase())):kD({},PE,XE);return String.fromCharCode(i)}function cD(){var t,n,e,r;for(n=0,"}"===(t=rE[iE])&&kD({},PE,XE);iE<aE&&nD(t=rE[iE++]);)n=16*n+"0123456789abcdef".indexOf(t.toLowerCase());return(n>1114111||"}"!==t)&&kD({},PE,XE),n<=65535?String.fromCharCode(n):(e=55296+(n-65536>>10),r=56320+(n-65536&1023),String.fromCharCode(e,r))}function fD(){var t,n;for(t=rE.charCodeAt(iE++),n=String.fromCharCode(t),92===t&&(117!==rE.charCodeAt(iE)&&kD({},PE,XE),++iE,(t=lD("u"))&&"\\"!==t&&aD(t.charCodeAt(0))||kD({},PE,XE),n=t);iE<aE&&uD(t=rE.charCodeAt(iE));)++iE,n+=String.fromCharCode(t),92===t&&(n=n.substr(0,n.length-1),117!==rE.charCodeAt(iE)&&kD({},PE,XE),++iE,(t=lD("u"))&&"\\"!==t&&uD(t.charCodeAt(0))||kD({},PE,XE),n+=t);return n}function hD(){var t,n;return t=iE,{type:1===(n=92===rE.charCodeAt(iE)?fD():function(){var t,n;for(t=iE++;iE<aE;){if(92===(n=rE.charCodeAt(iE)))return iE=t,fD();if(!uD(n))break;++iE}return rE.slice(t,iE)}()).length?wE:oD.hasOwnProperty(n)?AE:"null"===n?ME:"true"===n||"false"===n?xE:wE,value:n,start:t,end:iE}}function dD(){var t,n,e,r,i=iE,a=rE.charCodeAt(iE),u=rE[iE];switch(a){case 46:case 40:case 41:case 59:case 44:case 123:case 125:case 91:case 93:case 58:case 63:case 126:return++iE,{type:EE,value:String.fromCharCode(a),start:i,end:iE};default:if(61===(t=rE.charCodeAt(iE+1)))switch(a){case 43:case 45:case 47:case 60:case 62:case 94:case 124:case 37:case 38:case 42:return iE+=2,{type:EE,value:String.fromCharCode(a)+String.fromCharCode(t),start:i,end:iE};case 33:case 61:return iE+=2,61===rE.charCodeAt(iE)&&++iE,{type:EE,value:rE.slice(i,iE),start:i,end:iE}}}return">>>="===(r=rE.substr(iE,4))?{type:EE,value:r,start:i,end:iE+=4}:">>>"===(e=r.substr(0,3))||"<<="===e||">>="===e?{type:EE,value:e,start:i,end:iE+=3}:u===(n=e.substr(0,2))[1]&&"+-<>&|".indexOf(u)>=0||"=>"===n?{type:EE,value:n,start:i,end:iE+=2}:"<>=!+-*%&|^/".indexOf(u)>=0?{type:EE,value:u,start:i,end:++iE}:void kD({},PE,XE)}function pD(){var t,n,e;if(KE(tD((e=rE[iE]).charCodeAt(0))||"."===e,"Numeric literal must start with a decimal digit or a decimal point"),n=iE,t="","."!==e){if(t=rE[iE++],e=rE[iE],"0"===t){if("x"===e||"X"===e)return++iE,function(t){for(var n="";iE<aE&&nD(rE[iE]);)n+=rE[iE++];return 0===n.length&&kD({},PE,XE),aD(rE.charCodeAt(iE))&&kD({},PE,XE),{type:kE,value:parseInt("0x"+n,16),start:t,end:iE}}(n);if(eD(e))return function(t){for(var n="0"+rE[iE++];iE<aE&&eD(rE[iE]);)n+=rE[iE++];return(aD(rE.charCodeAt(iE))||tD(rE.charCodeAt(iE)))&&kD({},PE,XE),{type:kE,value:parseInt(n,8),octal:!0,start:t,end:iE}}(n);e&&tD(e.charCodeAt(0))&&kD({},PE,XE)}for(;tD(rE.charCodeAt(iE));)t+=rE[iE++];e=rE[iE]}if("."===e){for(t+=rE[iE++];tD(rE.charCodeAt(iE));)t+=rE[iE++];e=rE[iE]}if("e"===e||"E"===e)if(t+=rE[iE++],"+"!==(e=rE[iE])&&"-"!==e||(t+=rE[iE++]),tD(rE.charCodeAt(iE)))for(;tD(rE.charCodeAt(iE));)t+=rE[iE++];else kD({},PE,XE);return aD(rE.charCodeAt(iE))&&kD({},PE,XE),{type:kE,value:parseFloat(t),start:n,end:iE}}function gD(){var t,n,e,r;return uE=null,sD(),t=iE,n=function(){var t,n,e,r;for(KE("/"===(t=rE[iE]),"Regular expression literal must start with a slash"),n=rE[iE++],e=!1,r=!1;iE<aE;)if(n+=t=rE[iE++],"\\"===t)iD((t=rE[iE++]).charCodeAt(0))&&kD({},YE),n+=t;else if(iD(t.charCodeAt(0)))kD({},YE);else if(e)"]"===t&&(e=!1);else{if("/"===t){r=!0;break}"["===t&&(e=!0)}return r||kD({},YE),{value:n.substr(1,n.length-2),literal:n}}(),e=function(){var t,n,e;for(n="",e="";iE<aE&&uD((t=rE[iE]).charCodeAt(0));)++iE,"\\"===t&&iE<aE?kD({},PE,XE):(e+=t,n+=t);return e.search(/[^gimuy]/g)>=0&&kD({},HE,e),{value:e,literal:n}}(),r=function(t,n){var e=t;n.indexOf("u")>=0&&(e=e.replace(/\\u\{([0-9a-fA-F]+)\}/g,(function(t,n){if(parseInt(n,16)<=1114111)return"x";kD({},HE)})).replace(/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,"x"));try{new RegExp(e)}catch(t){kD({},HE)}try{return new RegExp(t,n)}catch(t){return null}}(n.value,e.value),{literal:n.literal+e.literal,value:r,regex:{pattern:n.value,flags:e.value},start:t,end:iE}}function mD(){var t;return sD(),iE>=aE?{type:bE,start:iE,end:iE}:aD(t=rE.charCodeAt(iE))?hD():40===t||41===t||59===t?dD():39===t||34===t?function(){var t,n,e,r,i="",a=!1;for(KE("'"===(t=rE[iE])||'"'===t,"String literal must starts with a quote"),n=iE,++iE;iE<aE;){if((e=rE[iE++])===t){t="";break}if("\\"===e)if((e=rE[iE++])&&iD(e.charCodeAt(0)))"\r"===e&&"\n"===rE[iE]&&++iE;else switch(e){case"u":case"x":"{"===rE[iE]?(++iE,i+=cD()):i+=lD(e);break;case"n":i+="\n";break;case"r":i+="\r";break;case"t":i+="\t";break;case"b":i+="\b";break;case"f":i+="\f";break;case"v":i+="\v";break;default:eD(e)?(0!==(r="01234567".indexOf(e))&&(a=!0),iE<aE&&eD(rE[iE])&&(a=!0,r=8*r+"01234567".indexOf(rE[iE++]),"0123".indexOf(e)>=0&&iE<aE&&eD(rE[iE])&&(r=8*r+"01234567".indexOf(rE[iE++]))),i+=String.fromCharCode(r)):i+=e}else{if(iD(e.charCodeAt(0)))break;i+=e}}return""!==t&&kD({},PE,XE),{type:DE,value:i,octal:a,start:n,end:iE}}():46===t?tD(rE.charCodeAt(iE+1))?pD():dD():tD(t)?pD():dD()}function vD(){var t;return iE=(t=uE).end,uE=mD(),iE=t.end,t}function yD(){var t;t=iE,uE=mD(),iE=t}function _D(t,n,e){var r=new _E("||"===t||"&&"===t?NE:FE);return r.operator=t,r.left=n,r.right=e,r}function xD(t,n){var e=new _E(SE);return e.callee=t,e.arguments=n,e}function bD(t){var n=new _E(TE);return n.name=t,n}function wD(t){var n=new _E(zE);return n.value=t.value,n.raw=rE.slice(t.start,t.end),t.regex&&("//"===n.raw&&(n.raw="/(?:)/"),n.regex=t.regex),n}function AD(t,n,e){var r=new _E(OE);return r.computed="["===t,r.object=n,r.property=e,r.computed||(e.member=!0),r}function MD(t,n,e){var r=new _E(qE);return r.key=n,r.value=e,r.kind=t,r}function kD(t,n){var e,r=Array.prototype.slice.call(arguments,2),i=n.replace(/%(\d)/g,(function(t,n){return KE(n<r.length,"Message reference must be in range"),r[n]}));throw(e=new Error(i)).index=iE,e.description=i,e}function ED(t){t.type===bE&&kD(t,WE),t.type===kE&&kD(t,UE),t.type===DE&&kD(t,$E),t.type===wE&&kD(t,jE),t.type===AE&&kD(t,IE),kD(t,PE,t.value)}function DD(t){var n=vD();n.type===EE&&n.value===t||ED(n)}function CD(t){return uE.type===EE&&uE.value===t}function FD(t){return uE.type===AE&&uE.value===t}function SD(){var t=[];for(iE=uE.start,DD("[");!CD("]");)CD(",")?(vD(),t.push(null)):(t.push(jD()),CD("]")||DD(","));return vD(),function(t){var n=new _E(CE);return n.elements=t,n}(t)}function BD(){var t;return iE=uE.start,(t=vD()).type===DE||t.type===kE?(t.octal&&kD(t,GE),wD(t)):bD(t.value)}function TD(){var t,n,e;return iE=uE.start,(t=uE).type===wE?(e=BD(),DD(":"),MD("init",e,jD())):t.type!==bE&&t.type!==EE?(n=BD(),DD(":"),MD("init",n,jD())):void ED(t)}function zD(){var t,n,e=[],r={},i=String;for(iE=uE.start,DD("{");!CD("}");)n="$"+((t=TD()).key.type===TE?t.key.name:i(t.key.value)),Object.prototype.hasOwnProperty.call(r,n)?kD({},VE):r[n]=!0,e.push(t),CD("}")||DD(",");return DD("}"),function(t){var n=new _E(RE);return n.properties=t,n}(e)}var ND={if:1,this:1};function OD(){var t,n,e;if(CD("("))return function(){var t;return DD("("),t=ID(),DD(")"),t}();if(CD("["))return SD();if(CD("{"))return zD();if(t=uE.type,iE=uE.start,t===wE||ND[uE.value])e=bD(vD().value);else if(t===DE||t===kE)uE.octal&&kD(uE,GE),e=wD(vD());else{if(t===AE)throw new Error(ZE);t===xE?((n=vD()).value="true"===n.value,e=wD(n)):t===ME?((n=vD()).value=null,e=wD(n)):CD("/")||CD("/=")?(e=wD(gD()),yD()):ED(vD())}return e}function RD(){var t=[];if(DD("("),!CD(")"))for(;iE<aE&&(t.push(jD()),!CD(")"));)DD(",");return DD(")"),t}function qD(){var t;return iE=uE.start,function(t){return t.type===wE||t.type===AE||t.type===xE||t.type===ME}(t=vD())||ED(t),bD(t.value)}function LD(){var t;return DD("["),t=ID(),DD("]"),t}function PD(){var t=function(){var t;for(t=OD();;)if(CD("."))DD("."),t=AD(".",t,qD());else if(CD("("))t=xD(t,RD());else{if(!CD("["))break;t=AD("[",t,LD())}return t}();if(uE.type===EE&&(CD("++")||CD("--")))throw new Error(ZE);return t}function UD(){var t,n;if(uE.type!==EE&&uE.type!==AE)n=PD();else{if(CD("++")||CD("--"))throw new Error(ZE);if(CD("+")||CD("-")||CD("~")||CD("!"))t=vD(),n=UD(),n=function(t,n){var e=new _E(LE);return e.operator=t,e.argument=n,e.prefix=!0,e}(t.value,n);else{if(FD("delete")||FD("void")||FD("typeof"))throw new Error(ZE);n=PD()}}return n}function $D(t){var n=0;if(t.type!==EE&&t.type!==AE)return 0;switch(t.value){case"||":n=1;break;case"&&":n=2;break;case"|":n=3;break;case"^":n=4;break;case"&":n=5;break;case"==":case"!=":case"===":case"!==":n=6;break;case"<":case">":case"<=":case">=":case"instanceof":case"in":n=7;break;case"<<":case">>":case">>>":n=8;break;case"+":case"-":n=9;break;case"*":case"/":case"%":n=11}return n}function jD(){var t,n;return t=function(){var t,n,e,r,i,a,u,o,s,l;if(t=uE,s=UD(),0===(i=$D(r=uE)))return s;for(r.prec=i,vD(),n=[t,uE],a=[s,r,u=UD()];(i=$D(uE))>0;){for(;a.length>2&&i<=a[a.length-2].prec;)u=a.pop(),o=a.pop().value,s=a.pop(),n.pop(),e=_D(o,s,u),a.push(e);(r=vD()).prec=i,a.push(r),n.push(uE),e=UD(),a.push(e)}for(e=a[l=a.length-1],n.pop();l>1;)n.pop(),e=_D(a[l-1].value,a[l-2],e),l-=2;return e}(),CD("?")&&(vD(),n=jD(),DD(":"),t=function(t,n,e){var r=new _E(BE);return r.test=t,r.consequent=n,r.alternate=e,r}(t,n,jD())),t}function ID(){var t=jD();if(CD(","))throw new Error(ZE);return t}var WD={NaN:"NaN",E:"Math.E",LN2:"Math.LN2",LN10:"Math.LN10",LOG2E:"Math.LOG2E",LOG10E:"Math.LOG10E",PI:"Math.PI",SQRT1_2:"Math.SQRT1_2",SQRT2:"Math.SQRT2",MIN_VALUE:"Number.MIN_VALUE",MAX_VALUE:"Number.MAX_VALUE"};function HD(t){function n(n,e,r){return function(i){return function(n,e,r,i){var a=t(e[0]);return r&&(a=r+"("+a+")",0===r.lastIndexOf("new ",0)&&(a="("+a+")")),a+"."+n+(i<0?"":0===i?"()":"("+e.slice(1).map(t).join(",")+")")}(n,i,e,r)}}var e="new Date";return{isNaN:"isNaN",isFinite:"isFinite",abs:"Math.abs",acos:"Math.acos",asin:"Math.asin",atan:"Math.atan",atan2:"Math.atan2",ceil:"Math.ceil",cos:"Math.cos",exp:"Math.exp",floor:"Math.floor",log:"Math.log",max:"Math.max",min:"Math.min",pow:"Math.pow",random:"Math.random",round:"Math.round",sin:"Math.sin",sqrt:"Math.sqrt",tan:"Math.tan",clamp:function(n){n.length<3&&i("Missing arguments to clamp function."),n.length>3&&i("Too many arguments to clamp function.");var e=n.map(t);return"Math.max("+e[1]+", Math.min("+e[2]+","+e[0]+"))"},now:"Date.now",utc:"Date.UTC",datetime:e,date:n("getDate",e,0),day:n("getDay",e,0),year:n("getFullYear",e,0),month:n("getMonth",e,0),hours:n("getHours",e,0),minutes:n("getMinutes",e,0),seconds:n("getSeconds",e,0),milliseconds:n("getMilliseconds",e,0),time:n("getTime",e,0),timezoneoffset:n("getTimezoneOffset",e,0),utcdate:n("getUTCDate",e,0),utcday:n("getUTCDay",e,0),utcyear:n("getUTCFullYear",e,0),utcmonth:n("getUTCMonth",e,0),utchours:n("getUTCHours",e,0),utcminutes:n("getUTCMinutes",e,0),utcseconds:n("getUTCSeconds",e,0),utcmilliseconds:n("getUTCMilliseconds",e,0),length:n("length",null,-1),join:n("join",null),indexof:n("indexOf",null),lastindexof:n("lastIndexOf",null),slice:n("slice",null),reverse:function(n){return"("+t(n[0])+").slice().reverse()"},parseFloat:"parseFloat",parseInt:"parseInt",upper:n("toUpperCase","String",0),lower:n("toLowerCase","String",0),substring:n("substring","String"),split:n("split","String"),replace:n("replace","String"),trim:n("trim","String",0),regexp:"RegExp",test:n("test","RegExp"),if:function(n){n.length<3&&i("Missing arguments to if function."),n.length>3&&i("Too many arguments to if function.");var e=n.map(t);return"("+e[0]+"?"+e[1]+":"+e[2]+")"}}}const YD="intersect",GD="union";var VD="E",XD="R",ZD="R-E",JD="R-LE",QD="R-RE",KD="index:unit";function tC(t,n){for(var e,r,i=n.fields,a=n.values,o=i.length,s=0;s<o;++s)if((r=i[s]).getter=c.getter||c(r.field),ot(e=r.getter(t))&&(e=E(e)),ot(a[s])&&(a[s]=E(a[s])),ot(a[s][0])&&(a[s]=a[s].map(E)),r.type===VD){if(u(a[s])?a[s].indexOf(e)<0:e!==a[s])return!1}else if(r.type===XD){if(!at(e,a[s]))return!1}else if(r.type===QD){if(!at(e,a[s],!0,!1))return!1}else if(r.type===ZD){if(!at(e,a[s],!1,!1))return!1}else if(r.type===JD&&!at(e,a[s],!1,!0))return!1;return!0}var nC={E_union:function(t,n){if(!t.length)return n;for(var e=0,r=n.length;e<r;++e)t.indexOf(n[e])<0&&t.push(n[e]);return t},E_intersect:function(t,n){return t.length?t.filter((function(t){return n.indexOf(t)>=0})):n},R_union:function(t,n){var e=E(n[0]),r=E(n[1]);return e>r&&(e=n[1],r=n[0]),t.length?(t[0]>e&&(t[0]=e),t[1]<r&&(t[1]=r),t):[e,r]},R_intersect:function(t,n){var e=E(n[0]),r=E(n[1]);return e>r&&(e=n[1],r=n[0]),t.length?r<t[0]||t[1]<e?[]:(t[0]<e&&(t[0]=e),t[1]>r&&(t[1]=r),t):[e,r]}};const eC=":",rC="@";function iC(t,n,e,r){n[0].type!==sE&&i("First argument to selection functions must be a string literal.");const a=n[0].value,u=n.length>=2&&k(n).value,o=rC+"unit",s=eC+a;u!==YD||tt(r,o)||(r[o]=e.getData(a).indataRef(e,"unit")),tt(r,s)||(r[s]=e.getData(a).tuplesRef())}function aC(t){const n=this.context.data[t];return n?n.values.value:[]}const uC={};function oC(t,n,e){let r=t+":"+e,i=uC[r];return i&&i[0]===n||(uC[r]=i=[n,n(e)]),i[1]}function sC(t,n){return oC("timeFormat",he,n)(t)}var lC=new Date(2e3,0,1);function cC(t,n,e){return Number.isInteger(t)&&Number.isInteger(n)?(lC.setMonth(t),lC.setDate(n),sC(lC,e)):""}function fC(t,n){let e;return Y(t)?t:s(t)?(e=n.scales[t])&&e.value:void 0}function hC(t,n){return function(e,r,i){if(e){const n=fC(e,(i||this).context);return n&&n.path[t](r)}return n(r)}}const dC=hC("area",(function(t){return My.reset(),vy(t,ky),2*My})),pC=hC("bounds",(function(t){var n,e,r,i,a,u,o;if(Uy=Py=-(qy=Ly=1/0),Hy=[],vy(t,c_),e=Hy.length){for(Hy.sort(__),n=1,a=[r=Hy[0]];n<e;++n)x_(r,(i=Hy[n])[0])||x_(r,i[1])?(y_(r[0],i[1])>y_(r[0],r[1])&&(r[1]=i[1]),y_(i[0],r[1])>y_(r[0],r[1])&&(r[0]=i[0])):a.push(r=i);for(u=-1/0,n=0,r=a[e=a.length-1];n<=e;r=i,++n)i=a[n],(o=y_(r[1],i[0]))>u&&(u=o,qy=i[0],Py=r[1])}return Hy=Yy=null,qy===1/0||Ly===1/0?[[NaN,NaN],[NaN,NaN]]:[[qy,Ly],[Py,Uy]]})),gC=hC("centroid",(function(t){Gy=Vy=Xy=Zy=Jy=Qy=Ky=t_=n_=e_=r_=0,vy(t,b_);var n=n_,e=e_,r=r_,i=n*n+e*e+r*r;return i<Wv&&(n=Qy,e=Ky,r=t_,Vy<Iv&&(n=Xy,e=Zy,r=Jy),(i=n*n+e*e+r*r)<Wv)?[NaN,NaN]:[Kv(e,n)*Xv,cy(r/oy(i))*Xv]}));function mC(t,n,e){try{t[n].apply(t,["EXPRESSION"].concat([].slice.call(e)))}catch(n){t.warn(n)}return e[e.length-1]}function vC(t,n){return t===n||t!=t&&n!=n||(u(t)?!(!u(n)||t.length!==n.length)&&function(t,n){for(let e=0,r=t.length;e<r;++e)if(!vC(t[e],n[e]))return!1;return!0}(t,n):!(!o(t)||!o(n))&&yC(t,n))}function yC(t,n){for(let e in t)if(!vC(t[e],n[e]))return!1;return!0}function _C(t){return n=>yC(t,n)}const xC={};function bC(t){return t.data}function wC(t,n){const e=aC.call(n,t);return e.root&&e.root.lookup||xC}const AC="undefined"!=typeof window&&window||null;const MC=":",kC="@",EC="%",DC="$";function CC(t,n,e,r){n[0].type!==sE&&i("First argument to data functions must be a string literal.");const a=n[0].value,u=MC+a;if(!tt(u,r))try{r[u]=e.getData(a).tuplesRef()}catch(t){}}function FC(t,n,e,r){if(n[0].type===sE)SC(e,r,n[0].value);else if(n[0].type===cE)for(t in e.scales)SC(e,r,t)}function SC(t,n,e){const r=EC+e;if(!tt(n,r))try{n[r]=t.scaleRef(e)}catch(t){}}const BC={random:function(){return t.random()},isArray:u,isBoolean:ut,isDate:ot,isDefined:function(t){return void 0!==t},isNumber:st,isObject:o,isRegExp:lt,isString:s,isTuple:Dt,isValid:function(t){return null!=t&&t==t},toBoolean:mt,toDate:yt,toNumber:E,toString:_t,flush:rt,lerp:ft,merge:function(){var t=[].slice.call(arguments);return t.unshift({}),Z.apply(null,t)},pad:pt,peek:k,span:gt,inrange:at,truncate:bt,rgb:kd,lab:Hd,hcl:Jd,hsl:Td,sequence:pi,format:function(t,n){return oC("format",wg,n)(t)},utcFormat:function(t,n){return oC("utcFormat",pe,n)(t)},utcParse:function(t,n){return oC("utcParse",ge,n)(t)},timeFormat:sC,timeParse:function(t,n){return oC("timeParse",de,n)(t)},monthFormat:function(t){return cC(t,1,"%B")},monthAbbrevFormat:function(t){return cC(t,1,"%b")},dayFormat:function(t){return cC(0,2+t,"%A")},dayAbbrevFormat:function(t){return cC(0,2+t,"%a")},quarter:j,utcquarter:I,warn:function(){return mC(this.context.dataflow,"warn",arguments)},info:function(){return mC(this.context.dataflow,"info",arguments)},debug:function(){return mC(this.context.dataflow,"debug",arguments)},extent:J,inScope:function(t){let n=this.context.group,e=!1;if(n)for(;t;){if(t===n){e=!0;break}t=t.mark.group}return e},intersect:function(t,n,e){if(!t)return[];const[r,i]=t,a=(new Ku).set(r[0],r[1],i[0],i[1]);return Nf(e||this.context.dataflow.scenegraph().root,a,function(t){let n=null;if(t){const e=W(t.marktype),r=W(t.markname);n=t=>(!e.length||e.some(n=>t.marktype===n))&&(!r.length||r.some(n=>t.name===n))}return n}(n))},clampRange:H,pinchDistance:function(t){const n=t.touches,e=n[0].clientX-n[1].clientX,r=n[0].clientY-n[1].clientY;return Math.sqrt(e*e+r*r)},pinchAngle:function(t){const n=t.touches;return Math.atan2(n[0].clientY-n[1].clientY,n[0].clientX-n[1].clientX)},screen:function(){return AC?AC.screen:{}},containerSize:function(){const t=this.context.dataflow,n=t.container&&t.container();return n?[n.clientWidth,n.clientHeight]:[void 0,void 0]},windowSize:function(){return AC?[AC.innerWidth,AC.innerHeight]:[void 0,void 0]},bandspace:function(t,n,e){return Dh(t||0,n||0,e||0)},setdata:function(t,n){const e=this.context.dataflow,r=this.context.data[t].input;return e.pulse(r,e.changeset().remove(m).insert(n)),1},pathShape:function(t){let n=null;return function(e){return e?Us(e,n=n||Fs(t)):t}},panLinear:z,panLog:N,panPow:O,panSymlog:R,zoomLinear:L,zoomLog:P,zoomPow:U,zoomSymlog:$,encode:function(t,n,e){if(t){const e=this.context.dataflow,r=t.mark.source;e.pulse(r,e.changeset().encode(t,n))}return void 0!==e?e:t},modify:function(t,n,e,r,i,a){let o,s,l=this.context.dataflow,c=this.context.data[t],f=c.input,h=c.changes,d=l.stamp();if(!1===l._trigger||!(f.value.length||n||r))return 0;if((!h||h.stamp<d)&&(c.changes=h=l.changeset(),h.stamp=d,l.runAfter((function(){c.modified=!0,l.pulse(f,h).run()}),!0,1)),e&&(o=!0===e?m:u(e)||Dt(e)?e:_C(e),h.remove(o)),n&&h.insert(n),r&&(o=_C(r),f.value.some(o)?h.remove(o):h.insert(r)),i)for(s in a)h.modify(i,s,a[s]);return 1}},TC=["view","item","group","xy","x","y"],zC="event.vega.",NC="this.",OC={};function RC(t,n,e){return 1===arguments.length?BC[t]:(BC[t]=n,e&&(OC[t]=e),LC&&(LC.functions[t]=NC+t),this)}RC("bandwidth",(function(t,n){const e=fC(t,(n||this).context);return e&&e.bandwidth?e.bandwidth():0}),FC),RC("copy",(function(t,n){const e=fC(t,(n||this).context);return e?e.copy():void 0}),FC),RC("domain",(function(t,n){const e=fC(t,(n||this).context);return e?e.domain():[]}),FC),RC("range",(function(t,n){const e=fC(t,(n||this).context);return e&&e.range?e.range():[]}),FC),RC("invert",(function(t,n,e){const r=fC(t,(e||this).context);return r?u(n)?(r.invertRange||r.invert)(n):(r.invert||r.invertExtent)(n):void 0}),FC),RC("scale",(function(t,n,e){const r=fC(t,(e||this).context);return r&&void 0!==n?r(n):void 0}),FC),RC("gradient",(function(t,n,e,r,i){t=fC(t,(i||this).context);const a=uo(n,e);let u=t.domain(),o=u[0],s=k(u),l=d;return s-o?l=_m(t,o,s):t=(t.interpolator?hm("sequential")().interpolator(t.interpolator()):hm("linear")().interpolate(t.interpolate()).range(t.range())).domain([o=0,s=1]),t.ticks&&(o!==(u=t.ticks(+r||15))[0]&&u.unshift(o),s!==k(u)&&u.push(s)),u.forEach(n=>a.stop(l(n),t(n))),a}),FC),RC("geoArea",dC,FC),RC("geoBounds",pC,FC),RC("geoCentroid",gC,FC),RC("geoShape",(function(t,n,e){const r=fC(t,(e||this).context);return function(t){return r?r.path.context(t)(n):""}}),FC),RC("indata",(function(t,n,e){const r=this.context.data[t]["index:"+n],i=r?r.value.get(e):void 0;return i?i.count:i}),(function(t,n,e,r){n[0].type!==sE&&i("First argument to indata must be a string literal."),n[1].type!==sE&&i("Second argument to indata must be a string literal.");const a=n[0].value,u=n[1].value,o=kC+u;tt(o,r)||(r[o]=e.getData(a).indataRef(e,u))})),RC("data",aC,CC),RC("treePath",(function(t,n,e){const r=wC(t,this),i=r[n],a=r[e];return i&&a?i.path(a).map(bC):void 0}),CC),RC("treeAncestors",(function(t,n){const e=wC(t,this)[n];return e?e.ancestors().map(bC):void 0}),CC),RC("vlSelectionTest",(function(t,n,e){for(var r,i,a,u,o,s=this.context.data[t],l=s?s.values.value:[],c=s?s[KD]&&s[KD].value:void 0,f=e===YD,h=l.length,d=0;d<h;++d)if(r=l[d],c&&f){if(-1===(a=(i=i||{})[u=r.unit]||0))continue;if(o=tC(n,r),i[u]=o?-1:++a,o&&1===c.size)return!0;if(!o&&a===c.get(u).count)return!1}else if(f^(o=tC(n,r)))return o;return h&&f}),iC),RC("vlSelectionResolve",(function(t,n){for(var e,r,i,a,u,o,s,l,c,f,h,d=this.context.data[t],p=d?d.values.value:[],g={},m={},v=p.length,y=0;y<v;++y)for(a=(e=p[y]).unit,r=e.fields,i=e.values,f=0,h=r.length;f<h;++f)u=r[f],s=(o=g[u.field]||(g[u.field]={}))[a]||(o[a]=[]),m[u.field]=l=u.type.charAt(0),c=nC[l+"_union"],o[a]=c(s,W(i[f]));return n=n||GD,Object.keys(g).forEach((function(t){g[t]=Object.keys(g[t]).map((function(n){return g[t][n]})).reduce((function(e,r){return void 0===e?r:nC[m[t]+"_"+n](e,r)}))})),g}),iC);const qC={blacklist:["_"],whitelist:["datum","event","item"],fieldvar:"datum",globalvar:function(t){return"_["+l(DC+t)+"]"},functions:function(t){const n=HD(t);TC.forEach(t=>n[t]=zC+t);for(let t in BC)n[t]=NC+t;return n},constants:WD,visitors:OC};var LC=function(t){var n=(t=t||{}).whitelist?xt(t.whitelist):{},e=t.blacklist?xt(t.blacklist):{},r=t.constants||WD,a=(t.functions||HD)(d),u=t.globalvar,o=t.fieldvar,l={},c={},f=0,h=Y(u)?u:function(t){return u+'["'+t+'"]'};function d(t){if(s(t))return t;var n=p[t.type];return null==n&&i("Unsupported type: "+t.type),n(t)}var p={Literal:function(t){return t.raw},Identifier:function(t){var a=t.name;return f>0?a:tt(e,a)?i("Illegal identifier: "+a):tt(r,a)?r[a]:tt(n,a)?a:(l[a]=1,h(a))},MemberExpression:function(t){var n=!t.computed,e=d(t.object);n&&(f+=1);var r=d(t.property);return e===o&&(c[function(t){var n=t&&t.length-1;return n&&('"'===t[0]&&'"'===t[n]||"'"===t[0]&&"'"===t[n])?t.slice(1,-1):t}(r)]=1),n&&(f-=1),e+(n?"."+r:"["+r+"]")},CallExpression:function(t){"Identifier"!==t.callee.type&&i("Illegal callee type: "+t.callee.type);var n=t.callee.name,e=t.arguments,r=tt(a,n)&&a[n];return r||i("Unrecognized function: "+n),Y(r)?r(e):r+"("+e.map(d).join(",")+")"},ArrayExpression:function(t){return"["+t.elements.map(d).join(",")+"]"},BinaryExpression:function(t){return"("+d(t.left)+t.operator+d(t.right)+")"},UnaryExpression:function(t){return"("+t.operator+d(t.argument)+")"},ConditionalExpression:function(t){return"("+d(t.test)+"?"+d(t.consequent)+":"+d(t.alternate)+")"},LogicalExpression:function(t){return"("+d(t.left)+t.operator+d(t.right)+")"},ObjectExpression:function(t){return"{"+t.properties.map(d).join(",")+"}"},Property:function(t){f+=1;var n=d(t.key);return f-=1,n+":"+d(t.value)}};function g(t){var n={code:d(t),globals:Object.keys(l),fields:Object.keys(c)};return l={},c={},n}return g.functions=a,g.constants=r,g}(qC);function PC(t,n,e){";"!==n[n.length-1]&&(n="return("+n+");");var r=Function.apply(null,t.concat(n));return e&&e.functions?r.bind(e.functions):r}function UC(t,n){return PC(["event"],t,n)}function $C(t,n){return PC(["item","_"],t,n)}function jC(t,n,e){var r,i;for(r in e=e||{},t)i=t[r],e[r]=u(i)?i.map((function(t){return IC(t,n,e)})):IC(i,n,e);return e}function IC(t,n,e){if(!t||!o(t))return t;for(var r,i=0,a=WC.length;i<a;++i)if(tt(t,(r=WC[i]).key))return r.parse(t,n,e);return t}var WC=[{key:"$ref",parse:function(t,n){return n.get(t.$ref)||i("Operator not defined: "+t.$ref)}},{key:"$key",parse:function(t,n){var e="k:"+t.$key+"_"+!!t.$flat;return n.fn[e]||(n.fn[e]=ct(t.$key,t.$flat))}},{key:"$expr",parse:function(t,e,r){t.$params&&jC(t.$params,e,r);var i="e:"+t.$expr+"_"+t.$name;return e.fn[i]||(e.fn[i]=n(function(t,n){return PC(["datum","_"],t,n)}(t.$expr,e),t.$fields,t.$name))}},{key:"$field",parse:function(t,n){if(!t.$field)return null;var e="f:"+t.$field+"_"+t.$name;return n.fn[e]||(n.fn[e]=c(t.$field,t.$name))}},{key:"$encode",parse:function(t,e){var r,i,a=t.$encode,u={};for(r in a)i=a[r],u[r]=n($C(i.$expr,e),i.$fields),u[r].output=i.$output;return u}},{key:"$compare",parse:function(t,n){var e="c:"+t.$compare+"_"+t.$order,r=W(t.$compare).map((function(t){return t&&t.$tupleid?Ct:t}));return n.fn[e]||(n.fn[e]=G(r,t.$order))}},{key:"$context",parse:function(t,n){return n}},{key:"$subflow",parse:function(t,n){var e=t.$subflow;return function(t,r,i){var a=VC(e,n.fork()),u=a.get(e.operators[0].id),o=a.signals.parent;return o&&o.set(i),u}}},{key:"$tupleid",parse:function(){return Ct}}];function HC(t){return(t+"").toLowerCase()}function YC(t,n){!function(t){return"operator"===HC(t)}(t.type)&&t.type?n.transform(t,t.type):n.operator(t,t.update?function(t,n){return PC(["_"],t,n)}(t.update,n):null)}function GC(t,n){var e=o(e=t.source)?e.$ref:e,r=n.get(e),a=null,u=t.update,s=void 0;r||i("Source not defined: "+t.source),a=t.target&&t.target.$expr?UC(t.target.$expr,n):n.get(t.target),u&&u.$expr&&(u.$params&&(s=jC(u.$params,n)),u=function(t,n){return PC(["_","event"],t,n)}(u.$expr,n)),n.update(t,r,a,u,s)}function VC(t,n){var e=t.operators||[];return t.background&&(n.background=t.background),t.eventConfig&&(n.eventConfig=t.eventConfig),e.forEach((function(t){YC(t,n)})),e.forEach((function(t){!function(t,n){if(t.params){var e=n.get(t.id);e||i("Invalid operator id: "+t.id),n.dataflow.connect(e,e.parameters(jC(t.params,n),t.react,t.initonly))}}(t,n)})),(t.streams||[]).forEach((function(t){!function(t,n){var e,r=null!=t.filter?UC(t.filter,n):void 0,a=null!=t.stream?n.get(t.stream):void 0;t.source?a=n.events(t.source,t.type,r):t.merge&&(a=(e=t.merge.map(n.get.bind(n)))[0].merge.apply(e[0],e.slice(1))),t.between&&(e=t.between.map(n.get.bind(n)),a=a.between(e[0],e[1])),t.filter&&(a=a.filter(r)),null!=t.throttle&&(a=a.throttle(+t.throttle)),null!=t.debounce&&(a=a.debounce(+t.debounce)),null==a&&i("Invalid stream definition: "+JSON.stringify(t)),t.consume&&a.consume(!0),n.stream(t,a)}(t,n)})),(t.updates||[]).forEach((function(t){GC(t,n)})),n.resolve()}var XC={skip:!0};function ZC(t,n,e){return new JC(t,n,e)}function JC(t,n,e){this.dataflow=t,this.transforms=n,this.events=t.events.bind(t),this.signals={},this.scales={},this.nodes={},this.data={},this.fn={},e&&(this.functions=Object.create(e),this.functions.context=this)}function QC(t){this.dataflow=t.dataflow,this.transforms=t.transforms,this.functions=t.functions,this.events=t.events,this.signals=Object.create(t.signals),this.scales=Object.create(t.scales),this.nodes=Object.create(t.nodes),this.data=Object.create(t.data),this.fn=Object.create(t.fn),t.functions&&(this.functions=Object.create(t.functions),this.functions.context=this)}JC.prototype=QC.prototype={fork:function(){var t=new QC(this);return(this.subcontext||(this.subcontext=[])).push(t),t},get:function(t){return this.nodes[t]},set:function(t,n){return this.nodes[t]=n},add:function(t,n){var e,r=this,i=r.dataflow;if(r.set(t.id,n),function(t){return"collect"===HC(t)}(t.type)&&(e=t.value)&&(e.$ingest?i.ingest(n,e.$ingest,e.$format):e.$request?i.preload(n,e.$request,e.$format):i.pulse(n,i.changeset().insert(e))),t.root&&(r.root=n),t.parent){var a=r.get(t.parent.$ref);a?(i.connect(a,[n]),n.targets().add(a)):(r.unresolved=r.unresolved||[]).push((function(){a=r.get(t.parent.$ref),i.connect(a,[n]),n.targets().add(a)}))}if(t.signal&&(r.signals[t.signal]=n),t.scale&&(r.scales[t.scale]=n),t.data)for(var u in t.data)e=r.data[u]||(r.data[u]={}),t.data[u].forEach((function(t){e[t]=n}))},resolve:function(){return(this.unresolved||[]).forEach((function(t){t()})),delete this.unresolved,this},operator:function(t,n){this.add(t,this.dataflow.add(t.value,n))},transform:function(t,n){this.add(t,this.dataflow.add(this.transforms[HC(n)]))},stream:function(t,n){this.set(t.id,n)},update:function(t,n,e,r,i){this.dataflow.on(n,e,r,i,t.options)},getState:function(t){var n=this,e={};if(t.signals){var r=e.signals={};Object.keys(n.signals).forEach((function(e){var i=n.signals[e];t.signals(e,i)&&(r[e]=i.value)}))}if(t.data){var i=e.data={};Object.keys(n.data).forEach((function(e){var r=n.data[e];t.data(e,r)&&(i[e]=r.input.value)}))}return n.subcontext&&!1!==t.recurse&&(e.subcontext=n.subcontext.map((function(n){return n.getState(t)}))),e},setState:function(t){var n=this,e=n.dataflow,r=t.data,i=t.signals;Object.keys(i||{}).forEach((function(t){e.update(n.signals[t],i[t],XC)})),Object.keys(r||{}).forEach((function(t){e.pulse(n.data[t].input,e.changeset().remove(m).insert(r[t]))})),(t.subcontext||[]).forEach((function(t,e){var r=n.subcontext[e];r&&r.setState(t)}))}};var KC="width",tF="height",nF="padding",eF={skip:!0};function rF(t,n){var e=t.autosize(),r=t.padding();return n-(e&&e.contains===nF?r.left+r.right:0)}function iF(t,n){var e=t.autosize(),r=t.padding();return n-(e&&e.contains===nF?r.top+r.bottom:0)}function aF(t,n){return n.modified&&u(n.input.value)&&t.indexOf("_:vega:_")}function uF(t,n){return!("parent"===t||n instanceof Zr.proxy)}function oF(t,n,e,r){var i=t.element();i&&i.setAttribute("title",function(t){return null==t?"":u(t)?sF(t):o(t)&&!ot(t)?(n=t,Object.keys(n).map((function(t){var e=n[t];return t+": "+(u(e)?sF(e):lF(e))})).join("\n")):t+"";var n}(r))}function sF(t){return"["+t.map(lF).join(", ")+"]"}function lF(t){return u(t)?"[…]":o(t)&&!ot(t)?"{…}":t}function cF(t,n){n=n||{},Hr.call(this),n.loader&&this.loader(n.loader),n.logger&&this.logger(n.logger),null!=n.logLevel&&this.logLevel(n.logLevel),this._el=null,this._elBind=null,this._renderType=n.renderer||Bf.Canvas,this._scenegraph=new Tc;var e=this._scenegraph.root;this._renderer=null,this._tooltip=n.tooltip||oF,this._redraw=!0,this._handler=(new Gc).scene(e),this._preventDefault=!1,this._timers=[],this._eventListeners=[],this._resizeListeners=[],this._eventConfig=function(t){const n=Z({defaults:{}},t),e=(t,n)=>{n.forEach(n=>{u(t[n])&&(t[n]=xt(t[n]))})};return e(n.defaults,["prevent","allow"]),e(n,["view","window","selector"]),n}(t.eventConfig);var r=function(t,n,e){return VC(n,ZC(t,Zr,e||BC))}(this,t,n.functions);this._runtime=r,this._signals=r.signals,this._bind=(t.bindings||[]).map((function(t){return{state:null,param:Z({},t)}})),r.root&&r.root.set(e),e.source=r.data.root.input,this.pulse(r.data.root.input,this.changeset().insert(e.items)),this._background=n.background||r.background||null,this._width=this.width(),this._height=this.height(),this._viewWidth=rF(this,this._width),this._viewHeight=iF(this,this._height),this._origin=[0,0],this._resize=0,this._autosize=1,function(t){var n=t._signals,e=n[KC],r=n[tF],i=n[nF];function a(){t._autosize=t._resize=1}t._resizeWidth=t.add(null,(function(n){t._width=n.size,t._viewWidth=rF(t,n.size),a()}),{size:e}),t._resizeHeight=t.add(null,(function(n){t._height=n.size,t._viewHeight=iF(t,n.size),a()}),{size:r});var u=t.add(null,a,{pad:i});t._resizeWidth.rank=e.rank+1,t._resizeHeight.rank=r.rank+1,u.rank=i.rank+1}(this),kk(this),n.hover&&this.hover(),n.container&&this.initialize(n.container,n.bind)}var fF=it(cF,Hr);function hF(t,n){return tt(t._signals,n)?t._signals[n]:i("Unrecognized signal name: "+l(n))}function dF(t,n){var e=(t._targets||[]).filter((function(t){var e=t._update;return e&&e.handler===n}));return e.length?e[0]:null}function pF(t,n,e,r){var i=dF(e,r);return i||((i=Kk(this,(function(){r(n,e.value)}))).handler=r,t.on(e,null,i)),t}function gF(t,n,e){var r=dF(n,e);return r&&n._targets.remove(r),t}function mF(t){return+t||0}fF.evaluate=async function(t,n,e){if(await Hr.prototype.evaluate.call(this,t,n),this._redraw||this._resize)try{this._renderer&&(this._resize&&(this._resize=0,function(t){var n=Sk(t),e=Ck(t),r=Fk(t);t._renderer.background(t._background),t._renderer.resize(e,r,n),t._handler.origin(n),t._resizeListeners.forEach((function(n){try{n(e,r)}catch(n){t.error(n)}}))}(this)),await this._renderer.renderAsync(this._scenegraph.root)),this._redraw=!1}catch(t){this.error(t)}return e&&Mt(this,e),this},fF.dirty=function(t){this._redraw=!0,this._renderer&&this._renderer.dirty(t)},fF.container=function(){return this._el},fF.scenegraph=function(){return this._scenegraph},fF.origin=function(){return this._origin.slice()},fF.signal=function(t,n,e){var r=hF(this,t);return 1===arguments.length?r.value:this.update(r,n,e)},fF.background=function(t){return arguments.length?(this._background=t,this._resize=1,this):this._background},fF.width=function(t){return arguments.length?this.signal("width",t):this.signal("width")},fF.height=function(t){return arguments.length?this.signal("height",t):this.signal("height")},fF.padding=function(t){return arguments.length?this.signal("padding",t):this.signal("padding")},fF.autosize=function(t){return arguments.length?this.signal("autosize",t):this.signal("autosize")},fF.renderer=function(t){return arguments.length?(zf(t)||i("Unrecognized renderer type: "+t),t!==this._renderType&&(this._renderType=t,this._resetRenderer()),this):this._renderType},fF.tooltip=function(t){return arguments.length?(t!==this._tooltip&&(this._tooltip=t,this._resetRenderer()),this):this._tooltip},fF.loader=function(t){return arguments.length?(t!==this._loader&&(Hr.prototype.loader.call(this,t),this._resetRenderer()),this):this._loader},fF.resize=function(){return this._autosize=1,this.touch(hF(this,"autosize"))},fF._resetRenderer=function(){this._renderer&&(this._renderer=null,this.initialize(this._el,this._elBind))},fF._resizeView=function(t,n,e,r,i,a){this.runAfter((function(u){var o=0;u._autosize=0,u.width()!==e&&(o=1,u.signal(KC,e,eF),u._resizeWidth.skip(!0)),u.height()!==r&&(o=1,u.signal(tF,r,eF),u._resizeHeight.skip(!0)),u._viewWidth!==t&&(u._resize=1,u._viewWidth=t),u._viewHeight!==n&&(u._resize=1,u._viewHeight=n),u._origin[0]===i[0]&&u._origin[1]===i[1]||(u._resize=1,u._origin=i),o&&u.run("enter"),a&&u.runAfter(t=>t.resize())}),!1,1)},fF.addEventListener=function(t,n,e){var r=n;return e&&!1===e.trap||((r=Kk(this,n)).raw=n),this._handler.on(t,r),this},fF.removeEventListener=function(t,n){for(var e,r,i=this._handler.handlers(t),a=i.length;--a>=0;)if(r=i[a].type,e=i[a].handler,t===r&&(n===e||n===e.raw)){this._handler.off(r,e);break}return this},fF.addResizeListener=function(t){var n=this._resizeListeners;return n.indexOf(t)<0&&n.push(t),this},fF.removeResizeListener=function(t){var n=this._resizeListeners,e=n.indexOf(t);return e>=0&&n.splice(e,1),this},fF.addSignalListener=function(t,n){return pF(this,t,hF(this,t),n)},fF.removeSignalListener=function(t,n){return gF(this,hF(this,t),n)},fF.addDataListener=function(t,n){return pF(this,t,Ek(this,t).values,n)},fF.removeDataListener=function(t,n){return gF(this,Ek(this,t).values,n)},fF.preventDefault=function(t){return arguments.length?(this._preventDefault=t,this):this._preventDefault},fF.timer=function(t,n){this._timers.push(function(t,n,e){var r=new qw,i=n;return null==n?(r.restart(t,n,e),r):(n=+n,e=null==e?Ow():+e,r.restart((function a(u){u+=i,r.restart(a,i+=n,e),t(u)}),n,e),r)}((function(n){t({timestamp:Date.now(),elapsed:n})}),n))},fF.events=function(t,n,e){var r,i=this,a=new Yt(e),u=function(e,r){i.runAsync(null,()=>{t===Tk&&function(t,n){var e=t._eventConfig.defaults,r=e.prevent,i=e.allow;return!1!==r&&!0!==i&&(!0===r||!1===i||(r?r[n]:i?!i[n]:t.preventDefault()))}(i,n)&&e.preventDefault(),a.receive(Bk(i,e,r))})};if(t===zk)Rk(i,"timer",n)&&i.timer(u,n);else if(t===Tk)Rk(i,"view",n)&&i.addEventListener(n,u,Ok);else if(t===Nk?Rk(i,"window",n)&&"undefined"!=typeof window&&(r=[window]):"undefined"!=typeof document&&Rk(i,"selector",n)&&(r=document.querySelectorAll(t)),r){for(var o=0,s=r.length;o<s;++o)r[o].addEventListener(n,u);i._eventListeners.push({type:n,sources:r,handler:u})}else i.warn("Can not resolve event source: "+t);return a},fF.finalize=function(){var t,n,e,r=this._tooltip,i=this._timers,a=this._eventListeners;for(t=i.length;--t>=0;)i[t].stop();for(t=a.length;--t>=0;)for(n=(e=a[t]).sources.length;--n>=0;)e.sources[n].removeEventListener(e.type,e.handler);return r&&r.call(this,this._handler,null,null,null),this},fF.hover=function(t,n){return n=[n||"update",(t=[t||"hover"])[0]],this.on(this.events("view","mouseover",qk),Lk,Pk(t)),this.on(this.events("view","mouseout",qk),Lk,Pk(n)),this},fF.data=function(t,n){return arguments.length<2?Ek(this,t).values.value:Dk.call(this,t,Rt().remove(m).insert(n))},fF.change=Dk,fF.insert=function(t,n){return Dk.call(this,t,Rt().insert(n))},fF.remove=function(t,n){return Dk.call(this,t,Rt().remove(n))},fF.scale=function(t){var n=this._runtime.scales;return tt(n,t)||i("Unrecognized scale or projection: "+t),n[t].value},fF.initialize=function(t,n){var e,r,i=this,a=i._renderType,u=i._eventConfig.bind,o=zf(a);return t=i._el=t?tE(i,t):null,o||i.error("Unrecognized renderer type: "+a),e=o.handler||Gc,r=t?o.renderer:o.headless,i._renderer=r?Qk(i,i._renderer,t,r):null,i._handler=function(t,n,e,r){var i=new r(t.loader(),Kk(t,t.tooltip())).scene(t.scenegraph().root).initialize(e,Sk(t),t);return n&&n.handlers().forEach((function(t){i.on(t.type,t.handler)})),i}(i,i._handler,t,e),i._redraw=!0,t&&"none"!==u&&(n=n?i._elBind=tE(i,n):t.appendChild(Uk("div",{class:"vega-bindings"})),i._bind.forEach((function(t){t.param.element&&"container"!==u&&(t.element=tE(i,t.param.element))})),i._bind.forEach((function(t){Hk(i,t.element||n,t)}))),i},fF.toImageURL=async function(t,n){t!==Bf.Canvas&&t!==Bf.SVG&&t!==Bf.PNG&&i("Unrecognized image type: "+t);const e=await nE(this,t,n);return t===Bf.SVG?function(t,n){var e=new Blob([t],{type:n});return window.URL.createObjectURL(e)}(e.svg(),"image/svg+xml"):e.canvas().toDataURL("image/png")},fF.toCanvas=async function(t,n){return(await nE(this,Bf.Canvas,t,n)).canvas()},fF.toSVG=async function(t){return(await nE(this,Bf.SVG,t)).svg()},fF.getState=function(t){return this._runtime.getState(t||{data:aF,signals:uF,recurse:!0})},fF.setState=function(t){return this.runAsync(null,n=>{n._trigger=!1,n._runtime.setState(t)},t=>{t._trigger=!0}),this};var vF="outer",yF=["value","update","init","react","bind"];function _F(t,n){i(t+' for "outer" push: '+l(n))}function xF(t,n){var e=t.name;if(t.push===vF)n.signals[e]||_F("No prior signal definition",e),yF.forEach((function(n){void 0!==t[n]&&_F("Invalid property ",n)}));else{var r=n.addSignal(e,t.value);!1===t.react&&(r.react=!1),t.bind&&n.addBinding(e,t.bind)}}function bF(t,n,e){var r,a,u={};try{r=function(t){iE=0,aE=(rE=t).length,uE=null,yD();var n=ID();if(uE.type!==bE)throw new Error("Unexpect token after expression.");return n}(t=s(t)?t:l(t)+"")}catch(n){i("Expression parse error: "+t)}return r.visit((function(t){if(t.type===dE){var e=t.callee.name,r=qC.visitors[e];r&&r(e,t.arguments,n,u)}})),(a=LC(r)).globals.forEach((function(t){var e=DC+t;!tt(u,e)&&n.getSignal(t)&&(u[e]=n.signalRef(t))})),{$expr:e?e+"return("+a.code+");":a.code,$fields:a.fields,$params:u}}function wF(t,n,e,r){this.id=-1,this.type=t,this.value=n,this.params=e,r&&(this.parent=r)}function AF(t,n,e,r){return new wF(t,n,e,r)}function MF(t,n){return AF("operator",t,n)}function kF(t){var n={$ref:t.id};return t.id<0&&(t.refs=t.refs||[]).push(n),n}function EF(t,n){return n?{$field:t,$name:n}:{$field:t}}var DF=EF("key");function CF(t,n){return{$compare:t,$order:n}}var FF="descending";function SF(t,n){return(t&&t.signal?"$"+t.signal:t||"")+(t&&n?"_":"")+(n&&n.signal?"$"+n.signal:n||"")}var BF="scope",TF="view";function zF(t){return t&&t.signal}function NF(t){if(zF(t))return!0;if(o(t))for(var n in t)if(NF(t[n]))return!0;return!1}function OF(t,n){return null!=t?t:n}function RF(t){return t&&t.signal||t}var qF="timer";function LF(t,n){return(t.merge?PF:t.stream?UF:t.type?$F:i("Invalid stream specification: "+l(t)))(t,n)}function PF(t,n){var e=jF({merge:t.merge.map(t=>LF(t,n))},t,n);return n.addStream(e).id}function UF(t,n){var e=jF({stream:LF(t.stream,n)},t,n);return n.addStream(e).id}function $F(t,n){var e,r;return t.type===qF?(e=n.event(qF,t.throttle),t={between:t.between,filter:t.filter}):e=n.event(function(t){return t===BF?TF:t||TF}(t.source),t.type),r=jF({stream:e},t,n),1===Object.keys(r).length?e:n.addStream(r).id}function jF(t,n,e){var r=n.between;return r&&(2!==r.length&&i('Stream "between" parameter must have 2 entries: '+l(n)),t.between=[LF(r[0],e),LF(r[1],e)]),r=n.filter?[].concat(n.filter):[],(n.marktype||n.markname||n.markrole)&&r.push(function(t,n,e){var r="event.item";return r+(t&&"*"!==t?"&&"+r+".mark.marktype==='"+t+"'":"")+(e?"&&"+r+".mark.role==='"+e+"'":"")+(n?"&&"+r+".mark.name==='"+n+"'":"")}(n.marktype,n.markname,n.markrole)),n.source===BF&&r.push("inScope(event.item)"),r.length&&(t.filter=bF("("+r.join(")&&(")+")").$expr),null!=(r=n.throttle)&&(t.throttle=+r),null!=(r=n.debounce)&&(t.debounce=+r),n.consume&&(t.consume=!0),t}var IF,WF,HF="view",YF="[",GF="]",VF="{",XF="}",ZF=":",JF=",",QF="@",KF=">",tS=/[[\]{}]/,nS={"*":1,arc:1,area:1,group:1,image:1,line:1,path:1,rect:1,rule:1,shape:1,symbol:1,text:1,trail:1};function eS(t,n,e,r,i){for(var a,u=0,o=t.length;n<o;++n){if(a=t[n],!u&&a===e)return n;i&&i.indexOf(a)>=0?--u:r&&r.indexOf(a)>=0&&++u}return n}function rS(t){for(var n=[],e=0,r=t.length,i=0;i<r;)i=eS(t,i,JF,YF+VF,GF+XF),n.push(t.substring(e,i).trim()),e=++i;if(0===n.length)throw"Empty event selector: "+t;return n}function iS(t){return"["===t[0]?function(t){var n,e,r=t.length,i=1;if((i=eS(t,i,GF,YF,GF))===r)throw"Empty between selector: "+t;if(2!==(n=rS(t.substring(1,i))).length)throw"Between selector must have two elements: "+t;if((t=t.slice(i+1).trim())[0]!==KF)throw"Expected '>' after between selector: "+t;if(n=n.map(iS),(e=iS(t.slice(1).trim())).between)return{between:n,stream:e};e.between=n;return e}(t):function(t){var n,e,r={source:IF},i=[],a=[0,0],u=0,o=0,s=t.length,l=0;if(t[s-1]===XF){if(!((l=t.lastIndexOf(VF))>=0))throw"Unmatched right brace: "+t;try{a=function(t){var n=t.split(JF);if(!t.length||n.length>2)throw t;return n.map((function(n){var e=+n;if(e!=e)throw t;return e}))}(t.substring(l+1,s-1))}catch(n){throw"Invalid throttle specification: "+t}t=t.slice(0,l).trim(),s=t.length,l=0}if(!s)throw t;t[0]===QF&&(u=++l);(n=eS(t,l,ZF))<s&&(i.push(t.substring(o,n).trim()),o=l=++n);if((l=eS(t,l,YF))===s)i.push(t.substring(o,s).trim());else if(i.push(t.substring(o,l).trim()),e=[],(o=++l)===s)throw"Unmatched left bracket: "+t;for(;l<s;){if((l=eS(t,l,GF))===s)throw"Unmatched left bracket: "+t;if(e.push(t.substring(o,l).trim()),l<s-1&&t[++l]!==YF)throw"Expected left bracket: "+t;o=++l}if(!(s=i.length)||tS.test(i[s-1]))throw"Invalid event selector: "+t;s>1?(r.type=i[1],u?r.markname=i[0].slice(1):!function(t){return WF[t]}(i[0])?r.source=i[0]:r.marktype=i[0]):r.type=i[0];"!"===r.type.slice(-1)&&(r.consume=!0,r.type=r.type.slice(0,-1));null!=e&&(r.filter=e);a[0]&&(r.throttle=a[0]);a[1]&&(r.debounce=a[1]);return r}(t)}var aS="var datum=event.item&&event.item.datum;";function uS(t,n,e){var r=t.events,a=t.update,u=t.encode,o=[],c={target:e};r||i("Signal update missing events specification."),s(r)&&(r=function(t,n,e){return IF=n||HF,WF=e||nS,rS(t.trim()).map(iS)}(r,n.isSubscope()?BF:TF)),r=W(r).filter(t=>t.signal||t.scale?(o.push(t),0):1),o.length>1&&(o=[oS(o)]),r.length&&o.push(r.length>1?{merge:r}:r[0]),null!=u&&(a&&i("Signal encode and update are mutually exclusive."),a="encode(item(),"+l(u)+")"),c.update=s(a)?bF(a,n,aS):null!=a.expr?bF(a.expr,n,aS):null!=a.value?a.value:null!=a.signal?{$expr:"_.value",$params:{value:n.signalRef(a.signal)}}:i("Invalid signal update specification."),t.force&&(c.options={force:!0}),o.forEach((function(t){n.addUpdate(Z(function(t,n){return{source:t.signal?n.signalRef(t.signal):t.scale?n.scaleRef(t.scale):LF(t,n)}}(t,n),c))}))}function oS(t){return{signal:"["+t.map(t=>t.scale?'scale("'+t.scale+'")':t.signal)+"]"}}function sS(t){return function(n,e,r){return AF(t,e,n||void 0,r)}}var lS=sS("aggregate"),cS=sS("axisticks"),fS=sS("bound"),hS=sS("collect"),dS=sS("compare"),pS=sS("datajoin"),gS=sS("encode"),mS=sS("expression"),vS=sS("facet"),yS=sS("field"),_S=sS("key"),xS=sS("legendentries"),bS=sS("load"),wS=sS("mark"),AS=sS("multiextent"),MS=sS("multivalues"),kS=sS("overlap"),ES=sS("params"),DS=sS("prefacet"),CS=sS("projection"),FS=sS("proxy"),SS=sS("relay"),BS=sS("render"),TS=sS("scale"),zS=sS("sieve"),NS=sS("sortitems"),OS=sS("viewlayout"),RS=sS("values"),qS=0,LS={min:"min",max:"max",count:"sum"};function PS(t,n){var e=t.type||"linear";(function(t){switch(t){case Ch:case Fh:case Sh:case Bh:case Th:case zh:case Nh:case Oh:case Rh:case Lh:case Ph:case Uh:case $h:case jh:case Ih:case Wh:return!0}return!1})(e)||i("Unrecognized scale type: "+l(e)),n.addScale(t.name,{type:e,domain:void 0})}function US(t,n){var e,r=n.getScale(t.name).params;for(e in r.domain=WS(t.domain,t,n),null!=t.range&&(r.range=function t(n,e,r){var a=n.range,o=e.config.range;if(a.signal)return e.signalRef(a.signal);if(s(a)){if(o&&tt(o,a))return n=Z({},n,{range:o[a]}),t(n,e,r);"width"===a?a=[0,{signal:"width"}]:"height"===a?a=Xh(n.type)?[0,{signal:"height"}]:[{signal:"height"},0]:i("Unrecognized scale range value: "+l(a))}else{if(a.scheme)return r.scheme=u(a.scheme)?jS(a.scheme,e):$S(a.scheme,e),a.extent&&(r.schemeExtent=jS(a.extent,e)),void(a.count&&(r.schemeCount=$S(a.count,e)));if(a.step)return void(r.rangeStep=$S(a.step,e));if(Xh(n.type)&&!u(a))return WS(a,n,e);u(a)||i("Unsupported range type: "+l(a))}return a.map(t=>(u(t)?jS:$S)(t,e))}(t,n,r)),null!=t.interpolate&&function(t,n){n.interpolate=$S(t.type||t),null!=t.gamma&&(n.interpolateGamma=$S(t.gamma))}(t.interpolate,r),null!=t.nice&&(r.nice=function(t){return o(t)?{interval:$S(t.interval),step:$S(t.step)}:$S(t)}(t.nice)),null!=t.bins&&(r.bins=function(t,n){return t.signal||u(t)?jS(t,n):n.objectProperty(t)}(t.bins,n)),t)tt(r,e)||"name"===e||(r[e]=$S(t[e],n))}function $S(t,n){return o(t)?t.signal?n.signalRef(t.signal):i("Unsupported object: "+l(t)):t}function jS(t,n){return t.signal?n.signalRef(t.signal):t.map(t=>$S(t,n))}function IS(t){i("Can not find data set: "+l(t))}function WS(t,n,e){if(t)return t.signal?e.signalRef(t.signal):(u(t)?HS:t.fields?GS:YS)(t,n,e);null==n.domainMin&&null==n.domainMax||i("No scale domain defined for domainMin/domainMax to override.")}function HS(t,n,e){return t.map((function(t){return $S(t,e)}))}function YS(t,n,e){var r=e.getData(t.data);return r||IS(t.data),Xh(n.type)?r.valuesRef(e,t.field,XS(t.sort,!1)):Hh(n.type)?r.domainRef(e,t.field):r.extentRef(e,t.field)}function GS(t,n,e){var r=t.data,i=t.fields.reduce((function(t,n){return n=s(n)?{data:r,field:n}:u(n)||n.signal?function(t,n){var e="_:vega:_"+qS++,r=hS({});if(u(t))r.value={$ingest:t};else if(t.signal){var i="setdata("+l(e)+","+t.signal+")";r.params.input=n.signalRef(i)}return n.addDataPipeline(e,[r,zS({})]),{data:e,field:"data"}}(n,e):n,t.push(n),t}),[]);return(Xh(n.type)?VS:Hh(n.type)?ZS:JS)(t,e,i)}function VS(t,n,e){var r,i,a,u,o,s=XS(t.sort,!0);return r=e.map((function(t){var e=n.getData(t.data);return e||IS(t.data),e.countsRef(n,t.field,s)})),i={groupby:DF,pulse:r},s&&(a=s.op||"count",o=s.field?SF(a,s.field):"count",i.ops=[LS[a]],i.fields=[n.fieldRef(o)],i.as=[o]),a=n.add(lS(i)),u=n.add(hS({pulse:kF(a)})),o=n.add(RS({field:DF,sort:n.sortRef(s),pulse:kF(u)})),kF(o)}function XS(t,n){return t&&(t.field||t.op?t.field||"count"===t.op?n&&t.field&&t.op&&!LS[t.op]&&i("Multiple domain scales can not be sorted using "+t.op):i("No field provided for sort aggregate op: "+t.op):o(t)?t.field="key":t={field:"key"}),t}function ZS(t,n,e){var r=e.map((function(t){var e=n.getData(t.data);return e||IS(t.data),e.domainRef(n,t.field)}));return kF(n.add(MS({values:r})))}function JS(t,n,e){var r=e.map((function(t){var e=n.getData(t.data);return e||IS(t.data),e.extentRef(n,t.field)}));return kF(n.add(AS({extents:r})))}function QS(t,n,e){return u(t)?t.map((function(t){return QS(t,n,e)})):o(t)?t.signal?e.signalRef(t.signal):"fit"===n?t:i("Unsupported parameter object: "+l(t)):t}const KS="top",tB="left",nB="right",eB="bottom",rB="vertical",iB="start",aB="end",uB="index",oB="label",sB="offset",lB="perc",cB="perc2",fB="size",hB="value",dB="guide-label",pB="guide-title",gB="group-title",mB="symbol",vB="gradient",yB="discrete",_B=["size","shape","fill","stroke","strokeWidth","strokeDash","opacity"],xB={name:1,interactive:1},bB={value:0},wB={value:1};var AB=xt(["rule"]),MB=xt(["group","image","rect"]);function kB(t,n,e,r){var i=bF(t,n);return i.$fields.forEach((function(t){r[t]=1})),Z(e,i.$params),i.$expr}function EB(t,n,e,r){return function t(n,e,r,u){var o,c,f;if(n.signal)o="datum",f=kB(n.signal,e,r,u);else if(n.group||n.parent){for(c=Math.max(1,n.level||1),o="item";c-- >0;)o+=".mark.group";n.parent?(f=n.parent,o+=".datum"):f=n.group}else n.datum?(o="datum",f=n.datum):i("Invalid field reference: "+l(n));n.signal||(s(f)?(u[f]=1,f=a(f).map(l).join("][")):f=t(f,e,r,u));return o+"["+f+"]"}(o(t)?t:{datum:t},n,e,r)}function DB(t,n,e,r,i){var a,u,o,l=CB(t.scale,e,r,i);return null!=t.range?(u=l+".range()",n=0===(a=+t.range)?u+"[0]":"($="+u+","+(1===a?"$[$.length-1]":"$[0]+"+a+"*($[$.length-1]-$[0])")+")"):(void 0!==n&&(n=l+"("+n+")"),t.band&&(o=function(t,n){if(!s(t))return-1;var e=n.scaleType(t);return"band"===e||"point"===e?1:0}(t.scale,e))&&(a=(u=l+".bandwidth")+"()"+(1===(a=+t.band)?"":"*"+a),o<0&&(a="("+u+"?"+a+":0)"),n=(n?n+"+":"")+a,t.extra&&(n="(datum.extra?"+l+"(datum.extra.value):"+n+")")),null==n&&(n="0")),n}function CB(t,n,e,r){var i;if(s(t))tt(e,i=EC+t)||(e[i]=n.scaleRef(t)),i=l(i);else{for(i in n.scales)e[EC+i]=n.scaleRef(i);i=l(EC)+"+"+(t.signal?"("+kB(t.signal,n,e,r)+")":EB(t,n,e,r))}return"_["+i+"]"}function FB(t,n,e,r){return o(t)?"("+SB(null,t,n,e,r)+")":t}function SB(t,n,e,r,i){if(null!=n.gradient)return function(t,n,e,r){return"this.gradient("+CB(t.gradient,n,e,r)+","+l(t.start)+","+l(t.stop)+","+l(t.count)+")"}(n,e,r,i);var a=n.signal?kB(n.signal,e,r,i):n.color?function(t,n,e,r){function i(t,i,a,u){return"this."+t+"("+[SB(null,i,n,e,r),SB(null,a,n,e,r),SB(null,u,n,e,r)].join(",")+").toString()"}return t.c?i("hcl",t.h,t.c,t.l):t.h||t.s?i("hsl",t.h,t.s,t.l):t.l||t.a?i("lab",t.l,t.a,t.b):t.r||t.g||t.b?i("rgb",t.r,t.g,t.b):null}(n.color,e,r,i):null!=n.field?EB(n.field,e,r,i):void 0!==n.value?l(n.value):void 0;return null!=n.scale&&(a=DB(n,a,e,r,i)),void 0===a&&(a=null),null!=n.exponent&&(a="Math.pow("+a+","+FB(n.exponent,e,r,i)+")"),null!=n.mult&&(a+="*"+FB(n.mult,e,r,i)),null!=n.offset&&(a+="+"+FB(n.offset,e,r,i)),n.round&&(a="Math.round("+a+")"),a}function BB(t,n,e){const r=t+"["+l(n)+"]";return`$=${e};if(${r}!==$)${r}=$,m=1;`}function TB(t,n,e,r,i){var a="";return n.forEach((function(t){var n=SB(0,t,e,r,i);a+=t.test?kB(t.test,e,r,i)+"?"+n+":":n})),":"===k(a)&&(a+="null"),BB("o",t,a)}function zB(t,n,e,r){var i,a,o={},s="var o=item,datum=o.datum,m=0,$;";for(i in t)a=t[i],u(a)?s+=TB(i,a,r,e,o):s+=BB("o",i,SB(0,a,r,e,o));return s+=function(t,n){var e="";return AB[n]?e:(t.x2&&(t.x?(MB[n]&&(e+="if(o.x>o.x2)$=o.x,o.x=o.x2,o.x2=$;"),e+="o.width=o.x2-o.x;"):e+="o.x=o.x2-(o.width||0);"),t.xc&&(e+="o.x=o.xc-(o.width||0)/2;"),t.y2&&(t.y?(MB[n]&&(e+="if(o.y>o.y2)$=o.y,o.y=o.y2,o.y2=$;"),e+="o.height=o.y2-o.y;"):e+="o.y=o.y2-(o.height||0);"),t.yc&&(e+="o.y=o.yc-(o.height||0)/2;"),e)}(t,n),{$expr:s+="return m;",$fields:Object.keys(o),$output:Object.keys(t)}}var NB="mark",OB="frame",RB="scope",qB="axis",LB="axis-domain",PB="axis-grid",UB="axis-label",$B="axis-tick",jB="axis-title",IB="legend",WB="legend-band",HB="legend-entry",YB="legend-gradient",GB="legend-label",VB="legend-symbol",XB="legend-title",ZB="title";function JB(t){return o(t)?Z({},t):{value:t}}function QB(t,n,e,r){return null!=e?(o(e)&&!u(e)?t.update[n]=e:t[r||"enter"][n]={value:e},1):0}function KB(t,n,e){for(let e in n)QB(t,e,n[e]);for(let n in e)QB(t,n,e[n],"update")}function tT(t,n,e){for(var r in n)e&&tt(e,r)||(t[r]=Z(t[r]||{},n[r]));return t}function nT(t,n,e,r,i,a){var u,o;for(o in(a=a||{}).encoders={$encode:u={}},t=function(t,n,e,r,i){var a,u,o,s={},l={};"legend"!=e&&0!==String(e).indexOf("axis")||(e=null);for(u in o=e===OB?i.group:e===NB?Z({},i.mark,i[n]):null)rT(u,t)||("fill"===u||"stroke"===u)&&(rT("fill",t)||rT("stroke",t))||eT(s,u,o[u]);for(u in W(r).forEach((function(n){var e=i.style&&i.style[n];for(var r in e)rT(r,t)||eT(s,r,e[r])})),t=Z({},t),s)(o=s[u]).signal?(a=a||{})[u]=o:l[u]=o;t.enter=Z(l,t.enter),a&&(t.update=Z(a,t.update));return t}(t,n,e,r,i.config))u[o]=zB(t[o],n,a,i);return a}function eT(t,n,e){t[n]=e&&e.signal?{signal:e.signal}:{value:e}}function rT(t,n){return n&&(n.enter&&n.enter[t]||n.update&&n.update[t])}function iT(t,n,e,r,i,a,u){return{type:t,name:u?u.name:void 0,role:n,style:u&&u.style||e,key:r,from:i,interactive:!(!u||!u.interactive),encode:tT(a,u,xB)}}function aT(t,n){const e=e=>OF(t[e],n[e]);return e.isVertical=e=>rB===OF(t.direction,n.direction||(e?n.symbolDirection:n.gradientDirection)),e.gradientLength=()=>OF(t.gradientLength,n.gradientLength||n.gradientWidth),e.gradientThickness=()=>OF(t.gradientThickness,n.gradientThickness||n.gradientHeight),e.entryColumns=()=>OF(t.columns,OF(n.columns,+e.isVertical(!0))),e}function uT(t,n){var e=n&&(n.update&&n.update[t]||n.enter&&n.enter[t]);return e&&e.signal?e:e?e.value:null}function oT(t,n,e){return`item.anchor === "${iB}" ? ${t} : item.anchor === "${aB}" ? ${n} : ${e}`}const sT=oT(l(tB),l(nB),l("center"));var lT="group",cT="rect",fT="rule",hT="symbol",dT="text";function pT(t,n,e,r){var i,a,u,o,s,l,c=aT(t,e),f=c.isVertical(),h=c.gradientThickness(),d=c.gradientLength();return f?(u=[0,1],o=[0,0],s=h,l=d):(u=[0,0],o=[1,0],s=d,l=h),KB(i={enter:a={opacity:bB,x:bB,y:bB,width:JB(s),height:JB(l)},update:Z({},a,{opacity:wB,fill:{gradient:n,start:u,stop:o}}),exit:{opacity:bB}},{stroke:c("gradientStrokeColor"),strokeWidth:c("gradientStrokeWidth")},{opacity:c("gradientOpacity")}),iT(cT,YB,null,void 0,void 0,i,r)}function gT(t,n,e,r,i){var a,u,o,s,l,c,f=aT(t,e),h=f.isVertical(),d=f.gradientThickness(),p=f.gradientLength(),g="";return h?(o="y",l="y2",s="x",c="width",g="1-"):(o="x",l="x2",s="y",c="height"),(u={opacity:bB,fill:{scale:n,field:hB}})[o]={signal:g+"datum."+lB,mult:p},u[s]=bB,u[l]={signal:g+"datum."+cB,mult:p},u[c]=JB(d),KB(a={enter:u,update:Z({},u,{opacity:wB}),exit:{opacity:bB}},{stroke:f("gradientStrokeColor"),strokeWidth:f("gradientStrokeWidth")},{opacity:f("gradientOpacity")}),iT(cT,WB,null,hB,i,a,r)}const mT=`datum.${lB}<=0?"${tB}":datum.${lB}>=1?"${nB}":"center"`,vT=`datum.${lB}<=0?"${eB}":datum.${lB}>=1?"${KS}":"middle"`;function yT(t,n,e,r){var i,a,u,o,s,l=aT(t,n),c=l.isVertical(),f=JB(l.gradientThickness()),h=l.gradientLength(),d=l("labelOverlap"),p=l("labelSeparation"),g="";return KB(i={enter:a={opacity:bB},update:u={opacity:wB,text:{field:oB}},exit:{opacity:bB}},{fill:l("labelColor"),fillOpacity:l("labelOpacity"),font:l("labelFont"),fontSize:l("labelFontSize"),fontStyle:l("labelFontStyle"),fontWeight:l("labelFontWeight"),limit:OF(t.labelLimit,n.gradientLabelLimit)}),c?(a.align={value:"left"},a.baseline=u.baseline={signal:vT},o="y",s="x",g="1-"):(a.align=u.align={signal:mT},a.baseline={value:"top"},o="x",s="y"),a[o]=u[o]={signal:g+"datum."+lB,mult:h},a[s]=u[s]=f,f.offset=OF(t.labelOffset,n.gradientLabelOffset)||0,t=iT(dT,GB,dB,hB,r,i,e),d&&(t.overlap={separation:p,method:d,order:"datum."+uB}),t}function _T(t,n,e,r,i,a,u,o){return{type:lT,name:e,role:t,style:n,from:r,interactive:i||!1,encode:a,marks:u,layout:o}}function xT(t,n,e,r,i){var a,u,o,s,l,c,f,h=aT(t,n),d=e.entries,p=!(!d||!d.interactive),g=d?d.name:void 0,m=h("clipHeight"),v=h("symbolOffset"),y={data:"value"},_={},x=`${i} ? datum.${sB} : datum.${fB}`,b=m?JB(m):{field:fB},w=`datum.${uB}`,A=`max(1, ${i})`;return b.mult=.5,_={enter:a={opacity:bB,x:{signal:x,mult:.5,offset:v},y:b},update:u={opacity:wB,x:a.x,y:a.y},exit:{opacity:bB}},t.fill||KB(_,{fill:n.symbolBaseFillColor,stroke:n.symbolBaseStrokeColor}),KB(_,{fill:h("symbolFillColor"),shape:h("symbolType"),size:h("symbolSize"),stroke:h("symbolStrokeColor"),strokeDash:h("symbolDash"),strokeDashOffset:h("symbolDashOffset"),strokeWidth:h("symbolStrokeWidth")},{opacity:h("symbolOpacity")}),_B.forEach((function(n){t[n]&&(u[n]=a[n]={scale:t[n],field:hB})})),s=iT(hT,VB,null,hB,y,_,e.symbols),m&&(s.clip=!0),(o=JB(v)).offset=h("labelOffset"),KB(_={enter:a={opacity:bB,x:{signal:x,offset:o},y:b},update:u={opacity:wB,text:{field:oB},x:a.x,y:a.y},exit:{opacity:bB}},{align:h("labelAlign"),baseline:h("labelBaseline"),fill:h("labelColor"),fillOpacity:h("labelOpacity"),font:h("labelFont"),fontSize:h("labelFontSize"),fontStyle:h("labelFontStyle"),fontWeight:h("labelFontWeight"),limit:h("labelLimit")}),l=iT(dT,GB,dB,hB,y,_,e.labels),_={enter:{noBound:{value:!m},width:bB,height:m?JB(m):bB,opacity:bB},exit:{opacity:bB},update:u={opacity:wB,row:{signal:null},column:{signal:null}}},h.isVertical(!0)?(c=`ceil(item.mark.items.length / ${A})`,u.row.signal=`${w}%${c}`,u.column.signal=`floor(${w} / ${c})`,f={field:["row",w]}):(u.row.signal=`floor(${w} / ${A})`,u.column.signal=`${w} % ${A}`,f={field:w}),u.column.signal=`${i}?${u.column.signal}:${w}`,(t=_T(RB,null,g,r={facet:{data:r,name:"value",groupby:uB}},p,tT(_,d,xB),[s,l])).sort=f,t}const bT='item.orient === "left"',wT='item.orient === "right"',AT=`(${bT} || ${wT})`,MT=`datum.vgrad && ${AT}`,kT=oT('"top"','"bottom"','"middle"'),ET=`datum.vgrad && ${wT} ? (${oT('"right"','"left"','"center"')}) : (${AT} && !(datum.vgrad && ${bT})) ? "left" : ${sT}`,DT=`item._anchor || (${AT} ? "middle" : "start")`,CT=`${MT} ? (${bT} ? -90 : 90) : 0`,FT=`${AT} ? (datum.vgrad ? (${wT} ? "bottom" : "top") : ${kT}) : "top"`;function ST(t,n){var e;return o(t)&&(t.signal?e=t.signal:t.path?e="pathShape("+BT(t.path)+")":t.sphere&&(e="geoShape("+BT(t.sphere)+', {type: "Sphere"})')),e?n.signalRef(e):!!t}function BT(t){return o(t)&&t.signal?t.signal:l(t)}function TT(t){var n=t.role||"";return n.indexOf("axis")&&n.indexOf("legend")?t.type===lT?RB:n||NB:n}function zT(t){return{marktype:t.type,name:t.name||void 0,role:t.role||TT(t),zindex:+t.zindex||void 0}}function NT(t,n){return t&&t.signal?n.signalRef(t.signal):!1!==t}function OT(t,n){var e=Jr(t.type);e||i("Unrecognized transform type: "+l(t.type));var r=AF(e.type.toLowerCase(),null,RT(e,t,n));return t.signal&&n.addSignal(t.signal,n.proxy(r)),r.metadata=e.metadata||{},r}function RT(t,n,e){var r,i,a,u={};for(i=0,a=t.params.length;i<a;++i)u[(r=t.params[i]).name]=qT(r,n,e);return u}function qT(t,n,e){var r=t.type,a=n[t.name];return"index"===r?function(t,n,e){s(n.from)||i('Lookup "from" parameter must be a string literal.');return e.getData(n.from).lookupRef(e,n.key)}(0,n,e):void 0!==a?"param"===r?function(t,n,e){var r=n[t.name];return t.array?(u(r)||i("Expected an array of sub-parameters. Instead: "+l(r)),r.map((function(n){return PT(t,n,e)}))):PT(t,r,e)}(t,n,e):"projection"===r?e.projectionRef(n[t.name]):t.array&&!zF(a)?a.map((function(n){return LT(t,n,e)})):LT(t,a,e):void(t.required&&i("Missing required "+l(n.type)+" parameter: "+l(t.name)))}function LT(t,n,e){var r=t.type;if(zF(n))return UT(r)?i("Expression references can not be signals."):$T(r)?e.fieldRef(n):jT(r)?e.compareRef(n):e.signalRef(n.signal);var a,u=t.expr||$T(r);return u&&((a=n)&&a.expr)?e.exprRef(n.expr,n.as):u&&function(t){return t&&t.field}(n)?EF(n.field,n.as):UT(r)?bF(n,e):function(t){return"data"===t}(r)?kF(e.getData(n).values):$T(r)?EF(n):jT(r)?e.compareRef(n):n}function PT(t,n,e){var r,a,u,o,s;for(o=0,s=t.params.length;o<s;++o){for(u in(a=t.params[o]).key)if(a.key[u]!==n[u]){a=null;break}if(a)break}return a||i("Unsupported parameter: "+l(n)),r=Z(RT(a,n,e),a.key),kF(e.add(ES(r)))}function UT(t){return"expr"===t}function $T(t){return"field"===t}function jT(t){return"compare"===t}function IT(t,n){return t.$ref?t:t.data&&t.data.$ref?t.data:kF(n.getData(t.data).output)}function WT(t,n,e,r,i){this.scope=t,this.input=n,this.output=e,this.values=r,this.aggregate=i,this.index={}}WT.fromEntries=function(t,n){var e=n.length,r=1,i=n[0],a=n[e-1],u=n[e-2],o=null;for(i&&"load"===i.type&&(i=n[1]),t.add(n[0]);r<e;++r)n[r].params.pulse=kF(n[r-1]),t.add(n[r]),"aggregate"===n[r].type&&(o=n[r]);return new WT(t,i,u,a,o)};var HT=WT.prototype;function YT(t){return s(t)?t:null}function GT(t,n,e){var r,i=SF(e.op,e.field);if(n.ops){for(var a=0,u=n.as.length;a<u;++a)if(n.as[a]===i)return}else n.ops=["count"],n.fields=[null],n.as=["count"];e.op&&(n.ops.push((r=e.op.signal)?t.signalRef(r):e.op),n.fields.push(t.fieldRef(e.field)),n.as.push(i))}function VT(t,n,e,r,i,a,u){var s,l,c=n[e]||(n[e]={}),f=function(t){return o(t)?(t.order===FF?"-":"+")+SF(t.op,t.field):""}(a),h=YT(i);if(null!=h&&(t=n.scope,s=c[h+=f?"|"+f:""]),!s){var d=a?{field:DF,pulse:n.countsRef(t,i,a)}:{field:t.fieldRef(i),pulse:kF(n.output)};f&&(d.sort=t.sortRef(a)),l=t.add(AF(r,void 0,d)),u&&(n.index[i]=l),s=kF(l),null!=h&&(c[h]=s)}return s}function XT(t,n,e){var r,i=t.remove,a=t.insert,u=t.toggle,o=t.modify,s=t.values,l=n.add(MF());r=bF("if("+t.trigger+',modify("'+e+'",'+[a,i,u,o,s].map((function(t){return null==t?"null":t})).join(",")+"),0)",n),l.update=r.$expr,l.params=r.$params}function ZT(t,n){var e,r,a,u,o,s,c,f,h,d,p,g,m,v,y=TT(t),_=t.type===lT,x=t.from&&t.from.facet,b=t.layout||y===RB||y===OB,w=y===NB||b||x,A=t.overlap;a=function(t,n,e){var r,a,u,o,s;return t?(r=t.facet)&&(n||i("Only group marks can be faceted."),null!=r.field?o=s=IT(r,e):(t.data?s=kF(e.getData(t.data).aggregate):((u=OT(Z({type:"aggregate",groupby:W(r.groupby)},r.aggregate),e)).params.key=e.keyRef(r.groupby),u.params.pulse=IT(r,e),o=s=kF(e.add(u))),a=e.keyRef(r.groupby,!0))):o=kF(e.add(hS(null,[{}]))),o||(o=IT(t,e)),{key:a,pulse:o,parent:s}}(t.from,_,n),d=kF(r=n.add(pS({key:a.key||(t.key?EF(t.key):void 0),pulse:a.pulse,clean:!_}))),r=u=n.add(hS({pulse:d})),r=n.add(wS({markdef:zT(t),interactive:NT(t.interactive,n),clip:ST(t.clip,n),context:{$context:!0},groups:n.lookup(),parent:n.signals.parent?n.signalRef("parent"):null,index:n.markpath(),pulse:kF(r)})),p=kF(r),(r=o=n.add(gS(nT(t.encode,t.type,y,t.style,n,{mod:!1,pulse:p})))).params.parent=n.encode(),t.transform&&t.transform.forEach((function(t){const e=OT(t,n),a=e.metadata;(a.generates||a.changes)&&i("Mark transforms should not generate new data."),a.nomod||(o.params.mod=!0),e.params.pulse=kF(r),n.add(r=e)})),t.sort&&(r=n.add(NS({sort:n.compareRef(t.sort),pulse:kF(r)}))),g=kF(r),(x||b)&&(m=kF(b=n.add(OS({layout:n.objectProperty(t.layout),legends:n.legends,mark:p,pulse:g})))),v=kF(s=n.add(fS({mark:p,pulse:m||g}))),_&&(w&&((e=n.operators).pop(),b&&e.pop()),n.pushState(g,m||v,d),x?function(t,n,e){var r,a,u,o,s=t.from.facet,c=s.name,f=IT(s,n);s.name||i("Facet must have a name: "+l(s)),s.data||i("Facet must reference a data set: "+l(s)),s.field?o=n.add(DS({field:n.fieldRef(s.field),pulse:f})):s.groupby?o=n.add(vS({key:n.keyRef(s.groupby),group:kF(n.proxy(e.parent)),pulse:f})):i("Facet must specify groupby or field: "+l(s)),a=(r=n.fork()).add(hS()),u=r.add(zS({pulse:kF(a)})),r.addData(c,new WT(r,a,a,u)),r.addSignal("parent",null),o.params.subflow={$subflow:lz(t,r).toRuntime()}}(t,n,a):w?function(t,n,e){var r=n.add(DS({pulse:e.pulse})),i=n.fork();i.add(zS()),i.addSignal("parent",null),r.params.subflow={$subflow:lz(t,i).toRuntime()}}(t,n,a):lz(t,n),n.popState(),w&&(b&&e.push(b),e.push(s))),A&&(v=function(t,n,e){var r,i=t.method,a=t.bound,u=t.separation,o={separation:zF(u)?e.signalRef(u.signal):u,method:zF(i)?e.signalRef(i.signal):i,pulse:n};t.order&&(o.sort=e.compareRef({field:t.order}));a&&(r=a.tolerance,o.boundTolerance=zF(r)?e.signalRef(r.signal):+r,o.boundScale=e.scaleRef(a.scale),o.boundOrient=a.orient);return kF(e.add(kS(o)))}(A,v,n)),c=n.add(BS({pulse:v})),f=n.add(zS({pulse:kF(c)},void 0,n.parent())),null!=t.name&&(h=t.name,n.addData(h,new WT(n,u,c,f)),t.on&&t.on.forEach((function(t){(t.insert||t.remove||t.toggle)&&i("Marks only support modify triggers."),XT(t,n,h)})))}function JT(t,n){var e,r,a,u,o,s,l,c,f,h=n.config.legend,d=t.encode||{},p=d.legend||{},g=p.name||void 0,m=p.interactive,v=p.style,y=aT(t,h),_=_B.reduce((function(n,e){return n||t[e]}),0);return _||i("Missing valid scale for legend."),o=function(t,n){var e=t.type||mB;t.type||1!==function(t){return _B.reduce((function(n,e){return n+(t[e]?1:0)}),0)}(t)||!t.fill&&!t.stroke||(e=Vh(n)?vB:Zh(n)?yB:mB);return e!==vB?e:Zh(n)?yB:vB}(t,n.scaleType(_)),s={title:null!=t.title,type:o,vgrad:"symbol"!==o&&y.isVertical()},l=kF(n.add(hS(null,[s]))),p=tT(function(t,n){var e={enter:{},update:{}};return KB(e,{orient:t("orient"),offset:t("offset"),padding:t("padding"),titlePadding:t("titlePadding"),cornerRadius:t("cornerRadius"),fill:t("fillColor"),stroke:t("strokeColor"),strokeWidth:n.strokeWidth,strokeDash:n.strokeDash,x:t("legendX"),y:t("legendY")}),e}(y,h),p,xB),e={enter:{x:{value:0},y:{value:0}}},c=kF(n.add(xS(a={type:o,scale:n.scaleRef(_),count:n.objectProperty(t.tickCount),values:n.objectProperty(t.values),minstep:n.property(t.tickMinStep),formatType:n.property(t.formatType),formatSpecifier:n.property(t.format)}))),o===vB?(u=[pT(t,_,h,d.gradient),yT(t,h,d.labels,c)],a.count=a.count||n.signalRef(`max(2,2*floor((${RF(y.gradientLength())})/100))`)):o===yB?u=[gT(t,_,h,d.gradient,c),yT(t,h,d.labels,c)]:(r=function(t,n){const e=aT(t,n);return{align:e("gridAlign"),columns:e.entryColumns(),center:{row:!0,column:!1},padding:{row:e("rowPadding"),column:e("columnPadding")}}}(t,h),u=[xT(t,h,d,c,RF(r.columns))],a.size=function(t,n,e){var r=RF(QT("size",t,e)),i=RF(QT("strokeWidth",t,e)),a=RF(function(t,n,e){return uT("fontSize",t)||function(t,n,e){var r=n.config.style[e];return r&&r[t]}("fontSize",n,e)}(e[1].encode,n,dB));return bF(`max(ceil(sqrt(${r})+${i}),${a})`,n)}(t,n,u[0].marks)),u=[_T(HB,null,null,l,m,e,u,r)],s.title&&u.push(function(t,n,e,r){var i,a=aT(t,n);return KB(i={enter:{opacity:bB},update:{opacity:wB,x:{field:{group:"padding"}},y:{field:{group:"padding"}}},exit:{opacity:bB}},{orient:a("titleOrient"),_anchor:a("titleAnchor"),anchor:{signal:DT},angle:{signal:CT},align:{signal:ET},baseline:{signal:FT},text:t.title,fill:a("titleColor"),fillOpacity:a("titleOpacity"),font:a("titleFont"),fontSize:a("titleFontSize"),fontStyle:a("titleFontStyle"),fontWeight:a("titleFontWeight"),limit:a("titleLimit")},{align:a("titleAlign"),baseline:a("titleBaseline")}),iT(dT,XB,pB,null,r,i,e)}(t,h,d.title,l)),f=_T(IB,v,g,l,m,p,u),t.zindex&&(f.zindex=t.zindex),ZT(f,n)}function QT(t,n,e){return n[t]?`scale("${n[t]}",datum)`:uT(t,e[0].encode)}HT.countsRef=function(t,n,e){var r,i,a,u=this.counts||(this.counts={}),o=YT(n);return null!=o&&(t=this.scope,r=u[o]),r?e&&e.field&&GT(t,r.agg.params,e):(a={groupby:t.fieldRef(n,"key"),pulse:kF(this.output)},e&&e.field&&GT(t,a,e),i=t.add(lS(a)),r=t.add(hS({pulse:kF(i)})),r={agg:i,ref:kF(r)},null!=o&&(u[o]=r)),r.ref},HT.tuplesRef=function(){return kF(this.values)},HT.extentRef=function(t,n){return VT(t,this,"extent","extent",n,!1)},HT.domainRef=function(t,n){return VT(t,this,"domain","values",n,!1)},HT.valuesRef=function(t,n,e){return VT(t,this,"vals","values",n,e||!0)},HT.lookupRef=function(t,n){return VT(t,this,"lookup","tupleindex",n,!1)},HT.indataRef=function(t,n){return VT(t,this,"indata","tupleindex",n,!0,!0)};const KT=`item.orient==="${tB}"?-90:item.orient==="${nB}"?90:0`,tz=`item.orient==="${eB}"?"${KS}":"${eB}"`;function nz(t,n){t=s(t)?{text:t}:t;var e,r,i=n.config.title,a=Z({},t.encode);return e=kF(n.add(hS(null,[{}]))),a.name=t.name,a.interactive=t.interactive,r=function(t,n,e,r){var i,a=aT(t,n),u={value:0},o=t.text;return KB(i={enter:{opacity:u},update:{opacity:{value:1}},exit:{opacity:u}},{text:o,orient:a("orient"),anchor:a("anchor"),align:{signal:sT},angle:{signal:KT},baseline:{signal:tz},dx:a("dx"),dy:a("dy"),fill:a("color"),font:a("font"),fontSize:a("fontSize"),fontStyle:a("fontStyle"),fontWeight:a("fontWeight"),frame:a("frame"),limit:a("limit"),offset:a("offset")||0},{align:a("align"),angle:a("angle"),baseline:a("baseline")}),iT(dT,ZB,t.style||gB,null,r,i,e)}(t,i,a,e),t.zindex&&(r.zindex=t.zindex),ZT(r,n)}function ez(t,n){var e=[];t.transform&&t.transform.forEach((function(t){e.push(OT(t,n))})),t.on&&t.on.forEach((function(e){XT(e,n,t.name)})),n.addDataPipeline(t.name,function(t,n,e){var r,i,a,u,o,s=[],l=null,c=!1,f=!1;t.values?NF(t.values)||NF(t.format)?(s.push(iz(n,t)),s.push(l=rz())):s.push(l=rz({$ingest:t.values,$format:t.format})):t.url?NF(t.url)||NF(t.format)?(s.push(iz(n,t)),s.push(l=rz())):s.push(l=rz({$request:t.url,$format:t.format})):t.source&&(l=r=W(t.source).map((function(t){return kF(n.getData(t).output)})),s.push(null));for(i=0,a=e.length;i<a;++i)u=e[i],o=u.metadata,l||o.source||s.push(l=rz()),s.push(u),o.generates&&(f=!0),o.modifies&&!f&&(c=!0),o.source?l=u:o.changes&&(l=null);r&&(a=r.length-1,s[0]=SS({derive:c,pulse:a?r:r[0]}),(c||a)&&s.splice(1,0,rz()));l||s.push(rz());return s.push(zS({})),s}(t,n,e))}function rz(t){var n=hS({},t);return n.metadata={source:!0},n}function iz(t,n){return bS({url:n.url?t.property(n.url):void 0,values:n.values?t.property(n.values):void 0,format:t.objectProperty(n.format)})}function az(t,n){return{scale:t.scale,range:n}}function uz(t,n,e,r){var i,a,u,s,l,c,f,h,d,p=aT(t,n),g=t.orient,m=t.gridScale,v=g===tB||g===KS?1:-1,y=function(t,n){if(1===n);else if(o(t)){for(var e=t=Z({},t);null!=e.mult;){if(!o(e.mult))return e.mult*=n,t;e=e.mult=Z({},e.mult)}e.mult=n}else t=n*(t||0);return t}(t.offset,v);return KB(i={enter:a={opacity:bB},update:s={opacity:wB},exit:u={opacity:bB}},{stroke:p("gridColor"),strokeDash:p("gridDash"),strokeDashOffset:p("gridDashOffset"),strokeOpacity:p("gridOpacity"),strokeWidth:p("gridWidth")}),l={scale:t.scale,field:hB,band:p("bandPosition"),round:p("tickRound"),extra:p("tickExtra"),offset:p("tickOffset")},g===KS||g===eB?(c="x",f="y",d="height"):(c="y",f="x",d="width"),h=f+"2",s[c]=a[c]=u[c]=l,m?(s[f]=a[f]={scale:m,range:0,mult:v,offset:y},s[h]=a[h]={scale:m,range:1,mult:v,offset:y}):(s[f]=a[f]={value:0,offset:y},s[h]=a[h]={signal:d,mult:v,offset:y}),iT(fT,PB,null,hB,r,i,e)}function oz(t,n,e,r,i){return{signal:'flush(range("'+t+'"), scale("'+t+'", datum.value), '+n+","+e+","+r+","+i+")"}}function sz(t,n){var e,r,i,a,u,o,s=function(t,n){var e=n.config,r=t.orient,i=r===KS||r===eB?e.axisX:e.axisY,a=e["axis"+r[0].toUpperCase()+r.slice(1)],u="band"===n.scaleType(t.scale)&&e.axisBand;return i||a||u?Z({},e.axis,i,a,u):e.axis}(t,n),l=t.encode||{},c=l.axis||{},f=c.name||void 0,h=c.interactive,d=c.style,p=aT(t,s);return e={orient:t.orient,ticks:!!p("ticks"),labels:!!p("labels"),grid:!!p("grid"),domain:!!p("domain"),title:null!=t.title},r=kF(n.add(hS({},[e]))),c=tT({update:{offset:JB(p("offset")||0),position:JB(OF(t.position,0)),titlePadding:JB(p("titlePadding")),minExtent:JB(p("minExtent")),maxExtent:JB(p("maxExtent")),range:{signal:`abs(span(range("${t.scale}")))`}}},l.axis,xB),i=kF(n.add(cS({scale:n.scaleRef(t.scale),extra:n.property(p("tickExtra")),count:n.objectProperty(t.tickCount),values:n.objectProperty(t.values),minstep:n.property(t.tickMinStep),formatType:n.property(t.formatType),formatSpecifier:n.property(t.format)}))),o=[],e.grid&&o.push(uz(t,s,l.grid,i)),e.ticks&&(a=p("tickSize"),o.push(function(t,n,e,r,i){var a,u,o,s,l,c,f=aT(t,n),h=t.orient,d=h===tB||h===KS?-1:1;return KB(a={enter:u={opacity:bB},update:s={opacity:wB},exit:o={opacity:bB}},{stroke:f("tickColor"),strokeDash:f("tickDash"),strokeDashOffset:f("tickDashOffset"),strokeOpacity:f("tickOpacity"),strokeWidth:f("tickWidth")}),(l=JB(i)).mult=d,c={scale:t.scale,field:hB,band:f("bandPosition"),round:f("tickRound"),extra:f("tickExtra"),offset:f("tickOffset")},h===KS||h===eB?(s.y=u.y=bB,s.y2=u.y2=l,s.x=u.x=o.x=c):(s.x=u.x=bB,s.x2=u.x2=l,s.y=u.y=o.y=c),iT(fT,$B,null,hB,r,a,e)}(t,s,l.ticks,i,a))),e.labels&&(a=e.ticks?a:0,o.push(function(t,n,e,r,i){var a,u,o,s,l,c,f,h,d,p,g=aT(t,n),m=t.orient,v=m===tB||m===KS?-1:1,y=m===KS||m===eB,_=t.scale,x=RF(g("labelFlush")),b=RF(g("labelFlushOffset")),w=0===x||!!x,A=g("labelAlign"),M=g("labelBaseline");return(o=JB(i)).mult=v,o.offset=JB(g("labelPadding")||0),o.offset.mult=v,s={scale:_,field:hB,band:.5,offset:g("tickOffset")},y?(l=A||(w?oz(_,x,'"left"','"right"','"center"'):"center"),c=M||(m===KS?"bottom":"top"),f=!A):(l=A||(m===nB?"left":"right"),c=M||(w?oz(_,x,'"top"','"bottom"','"middle"'):"middle"),f=!M),f=f&&w&&b?oz(_,x,"-("+b+")",b,0):null,KB(a={enter:u={opacity:bB,x:y?s:o,y:y?o:s},update:{opacity:wB,text:{field:oB},x:u.x,y:u.y},exit:{opacity:bB,x:u.x,y:u.y}},{[y?"dx":"dy"]:f,align:l,baseline:c,angle:g("labelAngle"),fill:g("labelColor"),fillOpacity:g("labelOpacity"),font:g("labelFont"),fontSize:g("labelFontSize"),fontWeight:g("labelFontWeight"),fontStyle:g("labelFontStyle"),limit:g("labelLimit")}),h=g("labelBound"),d=g("labelOverlap"),p=g("labelSeparation"),t=iT(dT,UB,dB,hB,r,a,e),(d||h)&&(t.overlap={separation:p,method:d,order:"datum.index",bound:h?{scale:_,orient:m,tolerance:h}:null}),t}(t,s,l.labels,i,a))),e.domain&&o.push(function(t,n,e,r){var i,a,u,o,s,l,c=aT(t,n),f=t.orient;return KB(i={enter:a={opacity:bB},update:u={opacity:wB},exit:{opacity:bB}},{stroke:c("domainColor"),strokeDash:c("domainDash"),strokeDashOffset:c("domainDashOffset"),strokeWidth:c("domainWidth"),strokeOpacity:c("domainOpacity")}),f===KS||f===eB?(o="x",l="y"):(o="y",l="x"),s=o+"2",a[l]=bB,u[o]=a[o]=az(t,0),u[s]=a[s]=az(t,1),iT(fT,LB,null,null,r,i,e)}(t,s,l.domain,r)),e.title&&o.push(function(t,n,e,r){var i,a,u,o,s=aT(t,n),l=t.orient,c=l===tB||l===KS?-1:1,f=l===KS||l===eB;return i={enter:a={opacity:bB,anchor:JB(s("titleAnchor")),align:{signal:sT}},update:u=Z({},a,{opacity:wB,text:JB(t.title)}),exit:{opacity:bB}},o={signal:`lerp(range("${t.scale}"), ${oT(0,1,.5)})`},f?(u.x=o,a.angle={value:0},a.baseline={value:l===KS?"bottom":"top"}):(u.y=o,a.angle={value:90*c},a.baseline={value:"bottom"}),KB(i,{angle:s("titleAngle"),baseline:s("titleBaseline"),fill:s("titleColor"),fillOpacity:s("titleOpacity"),font:s("titleFont"),fontSize:s("titleFontSize"),fontStyle:s("titleFontStyle"),fontWeight:s("titleFontWeight"),limit:s("titleLimit")},{align:s("titleAlign")}),!QB(i,"x",s("titleX"),"update")&&!f&&!rT("x",e)&&(i.enter.auto={value:!0}),!QB(i,"y",s("titleY"),"update")&&f&&!rT("y",e)&&(i.enter.auto={value:!0}),iT(dT,jB,pB,null,r,i,e)}(t,s,l.title,r)),u=_T(qB,d,f,r,h,c,o),t.zindex&&(u.zindex=t.zindex),ZT(u,n)}function lz(t,n,e){var r=W(t.signals),a=W(t.scales);return e||r.forEach(t=>xF(t,n)),W(t.projections).forEach(t=>(function(t,n){var e={};for(var r in t)"name"!==r&&(e[r]=QS(t[r],r,n));n.addProjection(t.name,e)})(t,n)),a.forEach(t=>PS(t,n)),W(t.data).forEach(t=>ez(t,n)),a.forEach(t=>US(t,n)),(e||r).forEach(t=>(function(t,n){var e=n.getSignal(t.name),r=t.update;t.init&&(r?i("Signals can not include both init and update expressions."):(r=t.init,e.initonly=!0)),r&&(r=bF(r,n),e.update=r.$expr,e.params=r.$params),t.on&&t.on.forEach((function(t){uS(t,n,e.id)}))})(t,n)),W(t.axes).forEach(t=>sz(t,n)),W(t.marks).forEach(t=>ZT(t,n)),W(t.legends).forEach(t=>JT(t,n)),t.title&&nz(t.title,n),n.parseLambdas(),n}var cz=xt(["width","height","padding","autosize"]);function fz(t,n){var e,r,i,a,u,s,l=n.config;return n.background=t.background||l.background,n.eventConfig=l.events,u=kF(n.root=n.add(MF())),n.addSignal("width",t.width||0),n.addSignal("height",t.height||0),n.addSignal("padding",function(t,n){return o(t=t||n.padding)?{top:mF(t.top),bottom:mF(t.bottom),left:mF(t.left),right:mF(t.right)}:{top:e=mF(t),bottom:e,left:e,right:e};var e}(t.padding,l)),n.addSignal("autosize",function(t,n){return o(t=t||n.autosize)?t:{type:t||"pad"}}(t.autosize,l)),n.legends=n.objectProperty(l.legend&&l.legend.layout),s=function(t,n,e){if(W(n).forEach(n=>{cz[n.name]||xF(n,t)}),!e)return n;const r=W(n).slice();return W(e).forEach(n=>{t.hasOwnSignal(n.name)||(xF(n,t),r.push(n))}),r}(n,t.signals,l.signals),r=n.add(hS()),i=tT({enter:{x:{value:0},y:{value:0}},update:{width:{signal:"width"},height:{signal:"height"}}},t.encode),i=n.add(gS(nT(i,lT,OB,t.style,n,{pulse:kF(r)}))),a=n.add(OS({layout:n.objectProperty(t.layout),legends:n.legends,autosize:n.signalRef("autosize"),mark:u,pulse:kF(i)})),n.operators.pop(),n.pushState(kF(i),kF(a),null),lz(t,n,s),n.operators.push(a),e=n.add(fS({mark:u,pulse:kF(a)})),e=n.add(BS({pulse:kF(e)})),e=n.add(zS({pulse:kF(e)})),n.addData("root",new WT(n,r,r,e)),n}function hz(t){this.config=t,this.bindings=[],this.field={},this.signals={},this.lambdas={},this.scales={},this.events={},this.data={},this.streams=[],this.updates=[],this.operators=[],this.background=null,this.eventConfig=null,this._id=0,this._subid=0,this._nextsub=[0],this._parent=[],this._encode=[],this._lookup=[],this._markpath=[]}function dz(t){this.config=t.config,this.legends=t.legends,this.field=Object.create(t.field),this.signals=Object.create(t.signals),this.lambdas=Object.create(t.lambdas),this.scales=Object.create(t.scales),this.events=Object.create(t.events),this.data=Object.create(t.data),this.streams=[],this.updates=[],this.operators=[],this._id=0,this._subid=++t._nextsub[0],this._nextsub=t._nextsub,this._parent=t._parent.slice(),this._encode=t._encode.slice(),this._lookup=t._lookup.slice(),this._markpath=t._markpath}var pz=hz.prototype=dz.prototype;function gz(t){return(u(t)?mz:vz)(t)}function mz(t){for(var n,e="[",r=0,i=t.length;r<i;++r)e+=(r>0?",":"")+(o(n=t[r])?n.signal||gz(n):l(n));return e+"]"}function vz(t){var n,e,r="{",i=0;for(n in t)e=t[n],r+=(++i>1?",":"")+l(n)+":"+(o(e)?e.signal||gz(e):l(e));return r+"}"}function yz(t){return(t||[]).reduce((t,n)=>{for(var e in n)if("signals"===e)t.signals=xz(t.signals,n.signals);else{var r="legend"===e?{layout:1}:"style"===e||null;_z(t,e,n[e],r)}return t},{padding:0,autosize:"pad",background:null,events:{defaults:{allow:["wheel"]}},group:null,mark:null,arc:{fill:Mz},area:{fill:Mz},image:null,line:{stroke:Mz,strokeWidth:Az},path:{stroke:Mz},rect:{fill:Mz},rule:{stroke:kz},shape:{stroke:Mz},symbol:{fill:Mz,size:64},text:{fill:kz,font:bz,fontSize:11},style:{"guide-label":{fill:kz,font:bz,fontSize:10},"guide-title":{fill:kz,font:bz,fontSize:11,fontWeight:"bold"},"group-title":{fill:kz,font:bz,fontSize:13,fontWeight:"bold"},point:{size:wz,strokeWidth:Az,shape:"circle"},circle:{size:wz,strokeWidth:Az},square:{size:wz,strokeWidth:Az,shape:"square"},cell:{fill:"transparent",stroke:Dz}},title:{orient:"top",anchor:"middle",offset:4},axis:{minExtent:0,maxExtent:200,bandPosition:.5,domain:!0,domainWidth:1,domainColor:Ez,grid:!1,gridWidth:1,gridColor:Dz,labels:!0,labelAngle:0,labelLimit:180,labelPadding:2,ticks:!0,tickColor:Ez,tickOffset:0,tickRound:!0,tickSize:5,tickWidth:1,titlePadding:4},axisBand:{tickOffset:-1},legend:{orient:"right",padding:0,gridAlign:"each",columnPadding:10,rowPadding:2,symbolDirection:"vertical",gradientDirection:"vertical",gradientLength:200,gradientThickness:16,gradientStrokeColor:Dz,gradientStrokeWidth:0,gradientLabelOffset:2,labelAlign:"left",labelBaseline:"middle",labelLimit:160,labelOffset:4,labelOverlap:!0,symbolType:"circle",symbolSize:100,symbolOffset:0,symbolStrokeWidth:1.5,symbolBaseFillColor:"transparent",symbolBaseStrokeColor:Ez,titleLimit:180,titleOrient:"top",titlePadding:5,layout:{offset:18,direction:"horizontal",left:{direction:"vertical"},right:{direction:"vertical"}}},range:{category:{scheme:"tableau10"},ordinal:{scheme:"blues"},heatmap:{scheme:"yellowgreenblue"},ramp:{scheme:"blues"},diverging:{scheme:"blueorange",extent:[1,0]},symbol:["circle","square","triangle-up","cross","diamond","triangle-right","triangle-down","triangle-left"]}})}function _z(t,n,e,r){var i,a;if(o(e)&&!u(e))for(i in a=o(t[n])?t[n]:t[n]={},e)r&&(!0===r||r[i])?_z(a,i,e[i]):a[i]=e[i];else t[n]=e}function xz(t,n){if(null==t)return n;const e={},r=[];function i(t){e[t.name]||(e[t.name]=1,r.push(t))}return n.forEach(i),t.forEach(i),r}pz.fork=function(){return new dz(this)},pz.isSubscope=function(){return this._subid>0},pz.toRuntime=function(){return this.finish(),{background:this.background,operators:this.operators,streams:this.streams,updates:this.updates,bindings:this.bindings,eventConfig:this.eventConfig}},pz.id=function(){return(this._subid?this._subid+":":0)+this._id++},pz.add=function(t){return this.operators.push(t),t.id=this.id(),t.refs&&(t.refs.forEach((function(n){n.$ref=t.id})),t.refs=null),t},pz.proxy=function(t){var n=t instanceof wF?kF(t):t;return this.add(FS({value:n}))},pz.addStream=function(t){return this.streams.push(t),t.id=this.id(),t},pz.addUpdate=function(t){return this.updates.push(t),t},pz.finish=function(){var t,n;for(t in this.root&&(this.root.root=!0),this.signals)this.signals[t].signal=t;for(t in this.scales)this.scales[t].scale=t;function e(t,n,e){var r;t&&((r=t.data||(t.data={}))[n]||(r[n]=[])).push(e)}for(t in this.data)for(var r in e((n=this.data[t]).input,t,"input"),e(n.output,t,"output"),e(n.values,t,"values"),n.index)e(n.index[r],t,"index:"+r);return this},pz.pushState=function(t,n,e){this._encode.push(kF(this.add(zS({pulse:t})))),this._parent.push(n),this._lookup.push(e?kF(this.proxy(e)):null),this._markpath.push(-1)},pz.popState=function(){this._encode.pop(),this._parent.pop(),this._lookup.pop(),this._markpath.pop()},pz.parent=function(){return k(this._parent)},pz.encode=function(){return k(this._encode)},pz.lookup=function(){return k(this._lookup)},pz.markpath=function(){var t=this._markpath;return++t[t.length-1]},pz.fieldRef=function(t,n){if(s(t))return EF(t,n);t.signal||i("Unsupported field reference: "+l(t));var e,r=t.signal,a=this.field[r];return a||(e={name:this.signalRef(r)},n&&(e.as=n),this.field[r]=a=kF(this.add(yS(e)))),a},pz.compareRef=function(t){function n(t){return zF(t)?(r=!0,e.signalRef(t.signal)):function(t){return t&&t.expr}(t)?(r=!0,e.exprRef(t.expr)):t}var e=this,r=!1,i=W(t.field).map(n),a=W(t.order).map(n);return r?kF(this.add(dS({fields:i,orders:a}))):CF(i,a)},pz.keyRef=function(t,n){var e=this.signals,r=!1;return t=W(t).map((function(t){return zF(t)?(r=!0,kF(e[t.signal])):t})),r?kF(this.add(_S({fields:t,flat:n}))):function(t,n){var e={$key:t};return n&&(e.$flat=!0),e}(t,n)},pz.sortRef=function(t){if(!t)return t;var n=SF(t.op,t.field),e=t.order||"ascending";return e.signal?kF(this.add(dS({fields:n,orders:this.signalRef(e.signal)}))):CF(n,e)},pz.event=function(t,n){var e=t+":"+n;if(!this.events[e]){var r=this.id();this.streams.push({id:r,source:t,type:n}),this.events[e]=r}return this.events[e]},pz.hasOwnSignal=function(t){return tt(this.signals,t)},pz.addSignal=function(t,n){this.hasOwnSignal(t)&&i("Duplicate signal name: "+l(t));var e=n instanceof wF?n:this.add(MF(n));return this.signals[t]=e},pz.getSignal=function(t){return this.signals[t]||i("Unrecognized signal name: "+l(t)),this.signals[t]},pz.signalRef=function(t){return this.signals[t]?kF(this.signals[t]):(tt(this.lambdas,t)||(this.lambdas[t]=this.add(MF(null))),kF(this.lambdas[t]))},pz.parseLambdas=function(){for(var t=Object.keys(this.lambdas),n=0,e=t.length;n<e;++n){var r=t[n],i=bF(r,this),a=this.lambdas[r];a.params=i.$params,a.update=i.$expr}},pz.property=function(t){return t&&t.signal?this.signalRef(t.signal):t},pz.objectProperty=function(t){return t&&o(t)?this.signalRef(t.signal||gz(t)):t},pz.exprRef=function(t,n){var e={expr:bF(t,this)};return n&&(e.expr.$name=n),kF(this.add(mS(e)))},pz.addBinding=function(t,n){this.bindings||i("Nested signals do not support binding: "+l(t)),this.bindings.push(Z({signal:t},n))},pz.addScaleProj=function(t,n){tt(this.scales,t)&&i("Duplicate scale or projection name: "+l(t)),this.scales[t]=this.add(n)},pz.addScale=function(t,n){this.addScaleProj(t,TS(n))},pz.addProjection=function(t,n){this.addScaleProj(t,CS(n))},pz.getScale=function(t){return this.scales[t]||i("Unrecognized scale name: "+l(t)),this.scales[t]},pz.projectionRef=pz.scaleRef=function(t){return kF(this.getScale(t))},pz.projectionType=pz.scaleType=function(t){return this.getScale(t).params.type},pz.addData=function(t,n){return tt(this.data,t)&&i("Duplicate data set name: "+l(t)),this.data[t]=n},pz.getData=function(t){return this.data[t]||i("Undefined data set name: "+l(t)),this.data[t]},pz.addDataPipeline=function(t,n){return tt(this.data,t)&&i("Duplicate data set name: "+l(t)),this.addData(t,WT.fromEntries(this,n))};var bz="sans-serif",wz=30,Az=2,Mz="#4c78a8",kz="#000",Ez="#888",Dz="#ddd";Z(Zr,gu,Eh,fv,rw,rA,bM,EM,QM,dk,Ak),t.Bounds=Ku,t.CanvasHandler=Gc,t.CanvasRenderer=Qc,t.Dataflow=Hr,t.Debug=A,t.Error=x,t.EventStream=Yt,t.Gradient=uo,t.GroupItem=so,t.Handler=$c,t.Info=w,t.Item=oo,t.Marks=kc,t.MultiPulse=Pr,t.None=_,t.Operator=jt,t.Parameters=Lt,t.Pulse=Nr,t.RenderType=Bf,t.Renderer=Wc,t.ResourceLoader=fo,t.SVGHandler=ef,t.SVGRenderer=hf,t.SVGStringRenderer=kf,t.Scenegraph=Tc,t.Transform=Vr,t.View=cF,t.Warn=b,t.accessor=n,t.accessorFields=r,t.accessorName=e,t.array=W,t.bin=oi,t.bootstrapCI=Di,t.boundClip=Pf,t.boundContext=dl,t.boundItem=Ec,t.boundMark=Cc,t.boundStroke=cl,t.changeset=Rt,t.clampRange=H,t.closeTag=of,t.compare=G,t.constant=V,t.debounce=X,t.definition=Jr,t.domChild=qc,t.domClear=Lc,t.domCreate=Oc,t.domFind=Rc,t.error=i,t.expressionFunction=RC,t.extend=Z,t.extent=J,t.extentIndex=Q,t.falsy=v,t.fastmap=et,t.field=c,t.flush=rt,t.font=_c,t.fontFamily=yc,t.fontSize=gc,t.format=Nn,t.formatLocale=Dg,t.formats=On,t.hasOwnProperty=tt,t.id=h,t.identity=d,t.inferType=ln,t.inferTypes=cn,t.ingest=St,t.inherits=it,t.inrange=at,t.interpolate=xm,t.interpolateColors=vm,t.interpolateRange=mm,t.intersect=Nf,t.intersectBoxLine=wl,t.intersectPath=yl,t.intersectPoint=_l,t.intersectRule=bl,t.isArray=u,t.isBoolean=ut,t.isDate=ot,t.isFunction=Y,t.isNumber=st,t.isObject=o,t.isRegExp=lt,t.isString=s,t.isTuple=Dt,t.key=ct,t.lerp=ft,t.loader=Cr,t.logger=M,t.merge=ht,t.one=g,t.openTag=uf,t.pad=pt,t.panLinear=z,t.panLog=N,t.panPow=O,t.panSymlog=R,t.parse=function(t,n){return o(t)||i("Input Vega specification must be an object."),fz(t,new hz(yz([n,t.config]))).toRuntime()},t.pathCurves=Es,t.pathEqual=jf,t.pathParse=Fs,t.pathRectangle=Zs,t.pathRender=Us,t.pathSymbols=Is,t.pathTrail=Js,t.peek=k,t.point=Uc,t.projection=Gb,t.quantizeInterpolator=ym,t.quarter=j,t.quartiles=Ci,t.randomInteger=function(n,e){null==e&&(e=n,n=0);var r,i,a,u={};return u.min=function(t){return arguments.length?(a=i-(r=t||0),u):r},u.max=function(t){return arguments.length?(a=(i=t||0)-r,u):i},u.sample=function(){return r+Math.floor(a*t.random())},u.pdf=function(t){return t===Math.floor(t)&&t>=r&&t<i?1/a:0},u.cdf=function(t){var n=Math.floor(t);return n<r?0:n>=i?1:(n-r+1)/a},u.icdf=function(t){return t>=0&&t<=1?r-1+Math.floor(t*a):NaN},u.min(n).max(e)},t.randomKDE=Si,t.randomLCG=function(t){return function(){return(t=(1103515245*t+12345)%2147483647)/2147483647}},t.randomMixture=Ti,t.randomNormal=Fi,t.randomUniform=zi,t.read=Dr,t.regressionExp=Ui,t.regressionLinear=Li,t.regressionLoess=Yi,t.regressionLog=Pi,t.regressionPoly=Ii,t.regressionPow=$i,t.regressionQuad=ji,t.renderModule=zf,t.repeat=dt,t.resetSVGClipId=function(){Wl=1},t.responseType=Rn,t.runtime=VC,t.runtimeContext=ZC,t.sampleCurve=Zi,t.scale=hm,t.sceneEqual=$f,t.sceneFromJSON=Bc,t.scenePickVisit=Sl,t.sceneToJSON=Sc,t.sceneVisit=Fl,t.sceneZOrder=Cl,t.scheme=Mm,t.setRandom=function(n){t.random=n},t.span=gt,t.splitAccessPath=a,t.stringValue=l,t.textMetrics=cc,t.timeFormatLocale=Er,t.timeInterval=Kh,t.toBoolean=mt,t.toDate=yt,t.toNumber=E,t.toSet=xt,t.toString=_t,t.transform=Qr,t.transforms=Zr,t.truncate=bt,t.truthy=m,t.tupleid=Ct,t.typeParsers=un,t.utcquarter=I,t.version="5.6.0",t.visitArray=wt,t.zero=p,t.zoomLinear=L,t.zoomLog=P,t.zoomPow=U,t.zoomSymlog=$,Object.defineProperty(t,"__esModule",{value:!0})}));</script>
-    <script>!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e=e||self).vl={})}(this,function(e){"use strict";var t="3.4.0";function n(e,t,n){return e.fields=t||[],e.fname=n,e}function i(e){throw Error(e)}function r(e){var t,n,r,o=[],a=null,s=0,u=e.length,c="";function l(){o.push(c+e.substring(t,n)),c="",t=n+1}for(e+="",t=n=0;n<u;++n)if("\\"===(r=e[n]))c+=e.substring(t,n),t=++n;else if(r===a)l(),a=null,s=-1;else{if(a)continue;t===s&&'"'===r?(t=n+1,a=r):t===s&&"'"===r?(t=n+1,a=r):"."!==r||s?"["===r?(n>t&&l(),s=t=n+1):"]"===r&&(s||i("Access path missing open bracket: "+e),s>0&&l(),s=0,t=n+1):n>t?l():t=n+1}return s&&i("Access path missing closing bracket: "+e),a&&i("Access path missing closing quote: "+e),n>t&&(n++,l()),o}var o=Array.isArray;function a(e){return e===Object(e)}function s(e){return"string"==typeof e}function u(e){return o(e)?"["+e.map(u)+"]":a(e)||s(e)?JSON.stringify(e).replace("\u2028","\\u2028").replace("\u2029","\\u2029"):e}var c=[],l=(function(e,t){var i=r(e),o="return _["+i.map(u).join("][")+"];";n(Function("_",o),[e=1===i.length?i[0]:e],t||e)}("id"),n(function(e){return e},c,"identity"));n(function(){return 0},c,"zero"),n(function(){return 1},c,"one"),n(function(){return!0},c,"true"),n(function(){return!1},c,"false");function f(e,t,n){var i=[t].concat([].slice.call(n));console[e](...i)}var d=0,p=1,h=2,m=3,g=4;function y(e){return null!=e?o(e)?e:[e]:[]}function b(e){return"boolean"==typeof e}function v(e){return"number"==typeof e}function x(e){for(var t={},n=0,i=e.length;n<i;++n)t[e[n]]=!0;return t}var A=function(e,t){return e(t={exports:{}},t.exports),t.exports}(function(e){var t=function(){function e(e,t){return null!=t&&e instanceof t}var t,n,i;try{t=Map}catch(e){t=function(){}}try{n=Set}catch(e){n=function(){}}try{i=Promise}catch(e){i=function(){}}function r(o,s,u,c,l){"object"==typeof s&&(u=s.depth,c=s.prototype,l=s.includeNonEnumerable,s=s.circular);var f=[],d=[],p="undefined"!=typeof Buffer;return void 0===s&&(s=!0),void 0===u&&(u=1/0),function o(u,h){if(null===u)return null;if(0===h)return u;var m,g;if("object"!=typeof u)return u;if(e(u,t))m=new t;else if(e(u,n))m=new n;else if(e(u,i))m=new i(function(e,t){u.then(function(t){e(o(t,h-1))},function(e){t(o(e,h-1))})});else if(r.__isArray(u))m=[];else if(r.__isRegExp(u))m=new RegExp(u.source,a(u)),u.lastIndex&&(m.lastIndex=u.lastIndex);else if(r.__isDate(u))m=new Date(u.getTime());else{if(p&&Buffer.isBuffer(u))return m=Buffer.allocUnsafe?Buffer.allocUnsafe(u.length):new Buffer(u.length),u.copy(m),m;e(u,Error)?m=Object.create(u):void 0===c?(g=Object.getPrototypeOf(u),m=Object.create(g)):(m=Object.create(c),g=c)}if(s){var y=f.indexOf(u);if(-1!=y)return d[y];f.push(u),d.push(m)}for(var b in e(u,t)&&u.forEach(function(e,t){var n=o(t,h-1),i=o(e,h-1);m.set(n,i)}),e(u,n)&&u.forEach(function(e){var t=o(e,h-1);m.add(t)}),u){var v;g&&(v=Object.getOwnPropertyDescriptor(g,b)),v&&null==v.set||(m[b]=o(u[b],h-1))}if(Object.getOwnPropertySymbols){var x=Object.getOwnPropertySymbols(u);for(b=0;b<x.length;b++){var A=x[b];(!(C=Object.getOwnPropertyDescriptor(u,A))||C.enumerable||l)&&(m[A]=o(u[A],h-1),C.enumerable||Object.defineProperty(m,A,{enumerable:!1}))}}if(l){var w=Object.getOwnPropertyNames(u);for(b=0;b<w.length;b++){var C,F=w[b];(C=Object.getOwnPropertyDescriptor(u,F))&&C.enumerable||(m[F]=o(u[F],h-1),Object.defineProperty(m,F,{enumerable:!1}))}}return m}(o,u)}function o(e){return Object.prototype.toString.call(e)}function a(e){var t="";return e.global&&(t+="g"),e.ignoreCase&&(t+="i"),e.multiline&&(t+="m"),t}return r.clonePrototype=function(e){if(null===e)return null;var t=function(){};return t.prototype=e,new t},r.__objToStr=o,r.__isDate=function(e){return"object"==typeof e&&"[object Date]"===o(e)},r.__isArray=function(e){return"object"==typeof e&&"[object Array]"===o(e)},r.__isRegExp=function(e){return"object"==typeof e&&"[object RegExp]"===o(e)},r.__getRegExpFlags=a,r}();e.exports&&(e.exports=t)}),w=Array.isArray,C=Object.keys,F=Object.prototype.hasOwnProperty,E=function(e,t){t||(t={}),"function"==typeof t&&(t={cmp:t});var n,i="boolean"==typeof t.cycles&&t.cycles,r=t.cmp&&(n=t.cmp,function(e){return function(t,i){var r={key:t,value:e[t]},o={key:i,value:e[i]};return n(r,o)}}),o=[];return function e(t){if(t&&t.toJSON&&"function"==typeof t.toJSON&&(t=t.toJSON()),void 0!==t){if("number"==typeof t)return isFinite(t)?""+t:"null";if("object"!=typeof t)return JSON.stringify(t);var n,a;if(Array.isArray(t)){for(a="[",n=0;n<t.length;n++)n&&(a+=","),a+=e(t[n])||"null";return a+"]"}if(null===t)return"null";if(-1!==o.indexOf(t)){if(i)return JSON.stringify("__cycle__");throw new TypeError("Converting circular structure to JSON")}var s=o.push(t)-1,u=Object.keys(t).sort(r&&r(t));for(a="",n=0;n<u.length;n++){var c=u[n],l=e(t[c]);l&&(a&&(a+=","),a+=JSON.stringify(c)+":"+l)}return o.splice(s,1),"{"+a+"}"}}(e)};function D(e){return!!e.or}function S(e){return!!e.and}function k(e){return!!e.not}function O(e,t){return k(e)?{not:O(e.not,t)}:S(e)?{and:e.and.map(e=>O(e,t))}:D(e)?{or:e.or.map(e=>O(e,t))}:t(e)}const $=function e(t,n){if(t===n)return!0;if(t&&n&&"object"==typeof t&&"object"==typeof n){var i,r,o,a=w(t),s=w(n);if(a&&s){if((r=t.length)!=n.length)return!1;for(i=r;0!=i--;)if(!e(t[i],n[i]))return!1;return!0}if(a!=s)return!1;var u=t instanceof Date,c=n instanceof Date;if(u!=c)return!1;if(u&&c)return t.getTime()==n.getTime();var l=t instanceof RegExp,f=n instanceof RegExp;if(l!=f)return!1;if(l&&f)return t.toString()==n.toString();var d=C(t);if((r=d.length)!==C(n).length)return!1;for(i=r;0!=i--;)if(!F.call(n,d[i]))return!1;for(i=r;0!=i--;)if(!e(t[o=d[i]],n[o]))return!1;return!0}return t!=t&&n!=n},B=A;function j(e,t){const n={};for(const i of t)e.hasOwnProperty(i)&&(n[i]=e[i]);return n}function N(e,t){const n=Object.assign({},e);for(const e of t)delete n[e];return n}Set.prototype.toJSON=function(){return`Set(${[...this].map(e=>E(e)).join(",")})`};const _=E;function T(e){if(v(e))return e;const t=s(e)?e:E(e);if(t.length<250)return t;let n=0;for(let e=0;e<t.length;e++){n=(n<<5)-n+t.charCodeAt(e),n&=n}return n}function z(e){return!1===e||null===e}function R(e,t){return e.indexOf(t)>-1}function P(e,t){let n=0;for(const[i,r]of e.entries())if(t(r,i,n++))return!0;return!1}function U(e,t){let n=0;for(const[i,r]of e.entries())if(!t(r,i,n++))return!1;return!0}function M(e){return[].concat(...e)}function L(e,...t){for(const n of t)e=I(e,n);return e}function I(e,t){if("object"!=typeof t||null===t)return e;for(const n in t)t.hasOwnProperty(n)&&void 0!==t[n]&&("object"!=typeof t[n]||o(t[n])||null===t[n]?e[n]=t[n]:"object"!=typeof e[n]||null===e[n]?e[n]=L(o(t[n].constructor)?[]:{},t[n]):L(e[n],t[n]));return e}function q(e,t){const n=[],i={};let r;for(const o of e)(r=t(o))in i||(i[r]=1,n.push(o));return n}function W(e,t){for(const n of e)if(t.has(n))return!0;return!1}function H(e){const t=new Set;for(const n of e){const e=r(n).map((e,t)=>0===t?e:`[${e}]`);e.map((t,n)=>e.slice(0,n+1).join("")).forEach(e=>t.add(e))}return t}function G(e,t){return W(H(e),H(t))}const Y=Object.keys;function V(e){const t=[];for(const n in e)e.hasOwnProperty(n)&&t.push(e[n]);return t}function J(e){return!0===e||!1===e}function Q(e){const t=e.replace(/\W/g,"_");return(e.match(/^\d+/)?"_":"")+t}function X(e,t){return k(e)?"!("+X(e.not,t)+")":S(e)?"("+e.and.map(e=>X(e,t)).join(") && (")+")":D(e)?"("+e.or.map(e=>X(e,t)).join(") || (")+")":t(e)}function Z(e,t){if(0===t.length)return!0;const n=t.shift();return Z(e[n],t)&&delete e[n],0===Y(e).length}function K(e){return e.charAt(0).toUpperCase()+e.substr(1)}function ee(e,t="datum"){const n=r(e),i=[];for(let e=1;e<=n.length;e++){const r=`[${n.slice(0,e).map(u).join("][")}]`;i.push(`${t}${r}`)}return i.join(" && ")}function te(e){return`${r(e).map(e=>e.replace(".","\\.")).join("\\.")}`}function ne(e){return`${r(e).join(".")}`}function ie(e){return e?r(e).length:0}function re(...e){for(const t of e)if(void 0!==t)return t}let oe=42;function ae(e){return(e%360+360)%360}const se="area",ue="bar",ce="line",le="point",fe="rect",de="rule",pe="text",he="tick",me="trail",ge="circle",ye="square",be="geoshape";function ve(e){return R(["line","area","trail"],e)}const xe=Y({area:1,bar:1,line:1,point:1,text:1,tick:1,trail:1,rect:1,geoshape:1,rule:1,circle:1,square:1});function Ae(e){return e.type}x(xe);const we=[].concat(["stroke","strokeWidth","strokeDash","strokeDashOffset","strokeOpacity","strokeJoin","strokeMiterLimit"],["fill","fillOpacity"]),Ce=["filled","color","tooltip"],Fe={binSpacing:1,continuousBandSize:5},Ee={binSpacing:0,continuousBandSize:5};function De(e){return!!e.mark}class Se{constructor(e,t){this.name=e,this.run=t}hasMatchingType(e){return!!De(e)&&(Ae(t=e.mark)?t.type:t)===this.name;var t}}function ke(e,t){var n={};for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&t.indexOf(i)<0&&(n[i]=e[i]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(i=Object.getOwnPropertySymbols(e);r<i.length;r++)t.indexOf(i[r])<0&&Object.prototype.propertyIsEnumerable.call(e,i[r])&&(n[i[r]]=e[i[r]])}return n}const Oe={argmax:1,argmin:1,average:1,count:1,distinct:1,max:1,mean:1,median:1,min:1,missing:1,q1:1,q3:1,ci0:1,ci1:1,stderr:1,stdev:1,stdevp:1,sum:1,valid:1,values:1,variance:1,variancep:1};function $e(e){return!!e&&!!e.argmin}function Be(e){return!!e&&!!e.argmax}function je(e){return s(e)&&!!Oe[e]}const Ne=["count","valid","missing","distinct"];function _e(e){return e&&s(e)&&R(Ne,e)}const Te=["count","sum","distinct","valid","missing"],ze=x(["mean","average","median","q1","q3","min","max"]),Re="row",Pe="column",Ue="facet",Me="x",Le="y",Ie="x2",qe="y2",We="latitude",He="longitude",Ge="latitude2",Ye="longitude2",Ve="color",Je="fill",Qe="stroke",Xe="shape",Ze="size",Ke="opacity",et="fillOpacity",tt="strokeOpacity",nt="strokeWidth",it="text",rt="order",ot="detail",at="key",st="tooltip",ut="href";const ct={longitude:1,longitude2:1,latitude:1,latitude2:1};const lt=Y(ct),ft=Object.assign({},{x:1,y:1,x2:1,y2:1},ct,{color:1,fill:1,stroke:1,opacity:1,fillOpacity:1,strokeOpacity:1,strokeWidth:1,size:1,shape:1,order:1,text:1,detail:1,key:1,tooltip:1,href:1});function dt(e){return"color"===e||"fill"===e||"stroke"===e}const pt={row:1,column:1,facet:1},ht=Y(pt),mt=Object.assign({},ft,pt),gt=Y(mt),yt=(ke(mt,["order","detail"]),ke(mt,["order","detail","row","column","facet"]));function bt(e){return!!yt[e]}function vt(e){return!!mt[e]}const xt=["x2","y2","latitude2","longitude2"];function At(e){return wt(e)!==e}function wt(e){switch(e){case"x2":return"x";case"y2":return"y";case"latitude2":return"latitude";case"longitude2":return"longitude"}return e}const Ct=ke(ft,["x","y","x2","y2","latitude","longitude","latitude2","longitude2"]),Ft=Y(Ct),Et={x:1,y:1},Dt=Y(Et),St=ke(Ct,["text","tooltip","href","detail","key","order"]),kt=Y(St);const Ot=Object.assign({},Et,St),$t=Y(Ot);function Bt(e){return!!Ot[e]}function jt(e,t){return function(e){switch(e){case Ve:case Je:case Qe:case ot:case at:case st:case ut:case rt:case Ke:case et:case tt:case nt:case Ue:case Re:case Pe:return Nt;case Me:case Le:case We:case He:return _t;case Ie:case qe:case Ge:case Ye:return{rule:"always",bar:"always",rect:"always",area:"always",circle:"binned",point:"binned",square:"binned",tick:"binned",line:"binned",trail:"binned"};case Ze:return{point:"always",tick:"always",rule:"always",circle:"always",square:"always",bar:"always",text:"always",line:"always",trail:"always"};case Xe:return{point:"always",geoshape:"always"};case it:return{text:"always"}}}(e)[t]}const Nt={area:"always",bar:"always",circle:"always",geoshape:"always",line:"always",rule:"always",point:"always",rect:"always",square:"always",trail:"always",text:"always",tick:"always"},_t=ke(Nt,["geoshape"]);function Tt(e){switch(e){case Me:case Le:case Ze:case nt:case Ke:case et:case tt:case Ie:case qe:return;case Ue:case Re:case Pe:case Xe:case it:case st:case ut:return"discrete";case Ve:case Je:case Qe:return"flexible";case We:case He:case Ge:case Ye:case ot:case at:case rt:return}throw new Error("rangeType not implemented for "+e)}const zt=Object.freeze({INVALID_SPEC:"Invalid spec",FIT_NON_SINGLE:'Autosize "fit" only works for single views and layered views.',CANNOT_FIX_RANGE_STEP_WITH_FIT:'Cannot use a fixed value of "rangeStep" when "autosize" is "fit".',cannotProjectOnChannelWithoutField:function(e){return`Cannot project a selection on encoding channel "${e}", which has no field.`},nearestNotSupportForContinuous:function(e){return`The "nearest" transform is not supported for ${e} marks.`},selectionNotSupported:function(e){return`Selection not supported for ${e} yet`},selectionNotFound:function(e){return`Cannot find a selection named "${e}"`},SCALE_BINDINGS_CONTINUOUS:"Scale bindings are currently only supported for scales with unbinned, continuous domains.",NO_INIT_SCALE_BINDINGS:"Selections bound to scales cannot be separately initialized.",noSuchRepeatedValue:function(e){return`Unknown repeated value "${e}".`},columnsNotSupportByRowCol:function(e){return`The "columns" property cannot be used when "${e}" has nested row/column.`},CONCAT_CANNOT_SHARE_AXIS:"Axes cannot be shared in concatenated views yet (https://github.com/vega/vega-lite/issues/2415).",REPEAT_CANNOT_SHARE_AXIS:"Axes cannot be shared in repeated views yet (https://github.com/vega/vega-lite/issues/2415).",unrecognizedParse:function(e){return`Unrecognized parse "${e}".`},differentParse:function(e,t,n){return`An ancestor parsed field "${e}" as ${n} but a child wants to parse the field as ${t}.`},invalidTransformIgnored:function(e){return`Ignoring an invalid transform: ${_(e)}.`},NO_FIELDS_NEEDS_AS:'If "from.fields" is not specified, "as" has to be a string that specifies the key to be used for the data from the secondary source.',encodingOverridden:function(e){return`Layer's shared ${e.join(",")} channel ${1===e.length?"is":"are"} overriden`},projectionOverridden:function(e){const{parentProjection:t,projection:n}=e;return`Layer's shared projection ${_(t)} is overridden by a child projection ${_(n)}.`},primitiveChannelDef:function(e,t,n){return`Channel ${e} is a ${t}. Converted to {value: ${_(n)}}.`},invalidFieldType:function(e){return`Invalid field type "${e}"`},nonZeroScaleUsedWithLengthMark:function(e,t,n){return`A ${n.scaleType?`${n.scaleType} scale`:n.zeroFalse?"scale with zero=false":"scale with custom domain that excludes zero"} is used to encode ${e}'s ${t}. This can be misleading as the ${"x"===t?"width":"height"} of the ${e} can be arbitrary based on the scale domain. You may want to use point mark instead.`},invalidFieldTypeForCountAggregate:function(e,t){return`Invalid field type "${e}" for aggregate: "${t}", using "quantitative" instead.`},invalidAggregate:function(e){return`Invalid aggregation operator "${e}"`},missingFieldType:function(e,t){return`Missing type for channel "${e}", using "${t}" instead.`},droppingColor:function(e,t){const{fill:n,stroke:i}=t;return`Dropping color ${e} as the plot also has `+(n&&i?"fill and stroke":n?"fill":"stroke")},emptyFieldDef:function(e,t){return`Dropping ${_(e)} from channel "${t}" since it does not contain data field or value.`},latLongDeprecated:function(e,t,n){return`${e}-encoding with type ${t} is deprecated. Replacing with ${n}-encoding.`},LINE_WITH_VARYING_SIZE:"Line marks cannot encode size with a non-groupby field. You may want to use trail marks instead.",incompatibleChannel:function(e,t,n){return`${e} dropped as it is incompatible with "${t}"${n?` when ${n}`:""}.`},invalidEncodingChannel:function(e){return`${e}-encoding is dropped as ${e} is not a valid encoding channel.`},facetChannelShouldBeDiscrete:function(e){return`${e} encoding should be discrete (ordinal / nominal / binned).`},facetChannelDropped:function(e){return`Facet encoding dropped as ${e.join(" and ")} ${e.length>1?"are":"is"} also specified.`},discreteChannelCannotEncode:function(e,t){return`Using discrete channel "${e}" to encode "${t}" field can be misleading as it does not encode ${"ordinal"===t?"order":"magnitude"}.`},BAR_WITH_POINT_SCALE_AND_RANGESTEP_NULL:"Bar mark should not be used with point scale when rangeStep is null. Please use band scale instead.",lineWithRange:function(e,t){return`Line mark is for continuous lines and thus cannot be used with ${e&&t?"x2 and y2":e?"x2":"y2"}. We will use the rule mark (line segments) instead.`},orientOverridden:function(e,t){return`Specified orient "${e}" overridden with "${t}"`},CANNOT_UNION_CUSTOM_DOMAIN_WITH_FIELD_DOMAIN:"custom domain scale cannot be unioned with default field-based domain",cannotUseScalePropertyWithNonColor:function(e){return`Cannot use the scale property "${e}" with non-color channel.`},unaggregateDomainHasNoEffectForRawField:function(e){return`Using unaggregated domain with raw field has no effect (${_(e)}).`},unaggregateDomainWithNonSharedDomainOp:function(e){return`Unaggregated domain not applicable for "${e}" since it produces values outside the origin domain of the source data.`},unaggregatedDomainWithLogScale:function(e){return`Unaggregated domain is currently unsupported for log scale (${_(e)}).`},cannotApplySizeToNonOrientedMark:function(e){return`Cannot apply size to non-oriented mark "${e}".`},rangeStepDropped:function(e){return`rangeStep for "${e}" is dropped as top-level ${"x"===e?"width":"height"} is provided.`},scaleTypeNotWorkWithChannel:function(e,t,n){return`Channel "${e}" does not work with "${t}" scale. We are using "${n}" scale instead.`},scaleTypeNotWorkWithFieldDef:function(e,t){return`FieldDef does not work with "${e}" scale. We are using "${t}" scale instead.`},scalePropertyNotWorkWithScaleType:function(e,t,n){return`${n}-scale's "${t}" is dropped as it does not work with ${e} scale.`},scaleTypeNotWorkWithMark:function(e,t){return`Scale type "${t}" does not work with mark "${e}".`},mergeConflictingProperty:function(e,t,n,i){return`Conflicting ${t.toString()} property "${e.toString()}" (${_(n)} and ${_(i)}).  Using ${_(n)}.`},mergeConflictingDomainProperty:function(e,t,n,i){return`Conflicting ${t.toString()} property "${e.toString()}" (${_(n)} and ${_(i)}).  Using the union of the two domains.`},independentScaleMeansIndependentGuide:function(e){return`Setting the scale to be independent for "${e}" means we also have to set the guide (axis or legend) to be independent.`},domainSortDropped:function(e){return`Dropping sort property ${_(e)} as unioned domains only support boolean or op 'count'.`},UNABLE_TO_MERGE_DOMAINS:"Unable to merge domains",MORE_THAN_ONE_SORT:"Domains that should be unioned has conflicting sort properties. Sort will be set to true.",INVALID_CHANNEL_FOR_AXIS:"Invalid channel for axis.",cannotStackRangedMark:function(e){return`Cannot stack "${e}" if there is already "${e}2"`},cannotStackNonLinearScale:function(e){return`Cannot stack non-linear scale (${e})`},stackNonSummativeAggregate:function(e){return`Stacking is applied even though the aggregate function is non-summative ("${e}")`},invalidTimeUnit:function(e,t){return`Invalid ${e}: ${_(t)}`},dayReplacedWithDate:function(e){return`Time unit "${e}" is not supported. We are replacing it with ${e.replace("day","date")}.`},droppedDay:function(e){return`Dropping day from datetime ${_(e)} as day cannot be combined with other units.`},errorBarCenterAndExtentAreNotNeeded:function(e,t){return`${t?"extent ":""}${t&&e?"and ":""}${e?"center ":""}${t&&e?"are ":"is "}not needed when data are aggregated.`},errorBarCenterIsUsedWithWrongExtent:function(e,t,n){return`${e} is not usually used with ${t} for ${n}.`},errorBarContinuousAxisHasCustomizedAggregate:function(e,t){return`Continuous axis should not have customized aggregation function ${e}; ${t} already agregates the axis.`},errorBarCenterIsNotNeeded:function(e,t){return`Center is not needed to be specified in ${t} when extent is ${e}.`},errorBand1DNotSupport:function(e){return`1D error band does not support ${e}`},channelRequiredForBinned:function(e){return`Channel ${e} is required for "binned" bin`},domainRequiredForThresholdScale:function(e){return`Domain for ${e} is required for threshold scale`}}),Rt=(Ut=h||d,{level:function(e){return arguments.length?(Ut=+e,this):Ut},error:function(){return Ut>=p&&f(Pt||"error","ERROR",arguments),this},warn:function(){return Ut>=h&&f(Pt||"warn","WARN",arguments),this},info:function(){return Ut>=m&&f(Pt||"log","INFO",arguments),this},debug:function(){return Ut>=g&&f(Pt||"log","DEBUG",arguments),this}});var Pt,Ut;let Mt=Rt;function Lt(...e){Mt.warn.apply(Mt,arguments)}const It=2006;function qt(e){return!!(e&&(e.year||e.quarter||e.month||e.date||e.day||e.hours||e.minutes||e.seconds||e.milliseconds))}const Wt=["january","february","march","april","may","june","july","august","september","october","november","december"],Ht=Wt.map(e=>e.substr(0,3)),Gt=["sunday","monday","tuesday","wednesday","thursday","friday","saturday"],Yt=Gt.map(e=>e.substr(0,3));function Vt(e,t=!1,n=!1){const i=[];if(t&&void 0!==e.day&&Y(e).length>1&&(Lt(zt.droppedDay(e)),delete(e=B(e)).day),void 0!==e.year?i.push(e.year):void 0!==e.day?i.push(It):i.push(0),void 0!==e.month){const n=t?function(e){if(v(e))return(e-1).toString();{const t=e.toLowerCase(),n=Wt.indexOf(t);if(-1!==n)return n+"";const i=t.substr(0,3),r=Ht.indexOf(i);if(-1!==r)return r+"";throw new Error(zt.invalidTimeUnit("month",e))}}(e.month):e.month;i.push(n)}else if(void 0!==e.quarter){const n=t?function(e){if(v(e))return e>4&&Lt(zt.invalidTimeUnit("quarter",e)),(e-1).toString();throw new Error(zt.invalidTimeUnit("quarter",e))}(e.quarter):e.quarter;i.push(n+"*3")}else i.push(0);if(void 0!==e.date)i.push(e.date);else if(void 0!==e.day){const n=t?function(e){if(v(e))return e%7+"";{const t=e.toLowerCase(),n=Gt.indexOf(t);if(-1!==n)return n+"";const i=t.substr(0,3),r=Yt.indexOf(i);if(-1!==r)return r+"";throw new Error(zt.invalidTimeUnit("day",e))}}(e.day):e.day;i.push(n+"+1")}else i.push(1);for(const t of["hours","minutes","seconds","milliseconds"])void 0!==e[t]?i.push(e[t]):i.push(0);const r=i.join(", ");return n?e.utc?new Function(`return new Date(Date.UTC(${r}))`)().toJSON():new Function(`return new Date(${r})`)().toJSON():e.utc?`utc(${r})`:`datetime(${r})`}function Jt(e){return!!e.row||!!e.column}function Qt(e){return void 0!==e.facet}var Xt;!function(e){e.YEAR="year",e.MONTH="month",e.DAY="day",e.DATE="date",e.HOURS="hours",e.MINUTES="minutes",e.SECONDS="seconds",e.MILLISECONDS="milliseconds",e.YEARMONTH="yearmonth",e.YEARMONTHDATE="yearmonthdate",e.YEARMONTHDATEHOURS="yearmonthdatehours",e.YEARMONTHDATEHOURSMINUTES="yearmonthdatehoursminutes",e.YEARMONTHDATEHOURSMINUTESSECONDS="yearmonthdatehoursminutesseconds",e.MONTHDATE="monthdate",e.MONTHDATEHOURS="monthdatehours",e.HOURSMINUTES="hoursminutes",e.HOURSMINUTESSECONDS="hoursminutesseconds",e.MINUTESSECONDS="minutesseconds",e.SECONDSMILLISECONDS="secondsmilliseconds",e.QUARTER="quarter",e.YEARQUARTER="yearquarter",e.QUARTERMONTH="quartermonth",e.YEARQUARTERMONTH="yearquartermonth",e.UTCYEAR="utcyear",e.UTCMONTH="utcmonth",e.UTCDAY="utcday",e.UTCDATE="utcdate",e.UTCHOURS="utchours",e.UTCMINUTES="utcminutes",e.UTCSECONDS="utcseconds",e.UTCMILLISECONDS="utcmilliseconds",e.UTCYEARMONTH="utcyearmonth",e.UTCYEARMONTHDATE="utcyearmonthdate",e.UTCYEARMONTHDATEHOURS="utcyearmonthdatehours",e.UTCYEARMONTHDATEHOURSMINUTES="utcyearmonthdatehoursminutes",e.UTCYEARMONTHDATEHOURSMINUTESSECONDS="utcyearmonthdatehoursminutesseconds",e.UTCMONTHDATE="utcmonthdate",e.UTCMONTHDATEHOURS="utcmonthdatehours",e.UTCHOURSMINUTES="utchoursminutes",e.UTCHOURSMINUTESSECONDS="utchoursminutesseconds",e.UTCMINUTESSECONDS="utcminutesseconds",e.UTCSECONDSMILLISECONDS="utcsecondsmilliseconds",e.UTCQUARTER="utcquarter",e.UTCYEARQUARTER="utcyearquarter",e.UTCQUARTERMONTH="utcquartermonth",e.UTCYEARQUARTERMONTH="utcyearquartermonth"}(Xt||(Xt={}));const Zt={year:1,quarter:1,month:1,day:1,date:1,hours:1,minutes:1,seconds:1,milliseconds:1},Kt=Y(Zt);const en={utcyear:1,utcquarter:1,utcmonth:1,utcday:1,utcdate:1,utchours:1,utcminutes:1,utcseconds:1,utcmilliseconds:1};const tn={utcyearquarter:1,utcyearquartermonth:1,utcyearmonth:1,utcyearmonthdate:1,utcyearmonthdatehours:1,utcyearmonthdatehoursminutes:1,utcyearmonthdatehoursminutesseconds:1,utcquartermonth:1,utcmonthdate:1,utcmonthdatehours:1,utchoursminutes:1,utchoursminutesseconds:1,utcminutesseconds:1,utcsecondsmilliseconds:1},nn=Object.assign({},en,tn);Object.assign({},Zt,en,{yearquarter:1,yearquartermonth:1,yearmonth:1,yearmonthdate:1,yearmonthdatehours:1,yearmonthdatehoursminutes:1,yearmonthdatehoursminutesseconds:1,quartermonth:1,monthdate:1,monthdatehours:1,hoursminutes:1,hoursminutesseconds:1,minutesseconds:1,secondsmilliseconds:1},tn);function rn(e,t){const n=e.indexOf(t);return n>-1&&(t!==Xt.SECONDS||0===n||"i"!==e.charAt(n-1))}function on(e,t){const n=ee(t),i=nn[e]?"utc":"";return Vt(Kt.reduce((t,r)=>(rn(e,r)&&(t[r]=function(e){return e===Xt.QUARTER?`(${i}quarter(${n})-1)`:`${i}${e}(${n})`}(r)),t),{}))}function an(e,t){if(!e)return;const n=[],i=rn(e,Xt.YEAR);rn(e,Xt.MONTH)&&n.push(!1!==t?"%b":"%B"),rn(e,Xt.DAY)?n.push(t?"%a":"%A"):rn(e,Xt.DATE)&&n.push("%d"+(i?",":"")),i&&n.push(t?"%y":"%Y");const r=[];rn(e,Xt.HOURS)&&r.push("%H"),rn(e,Xt.MINUTES)&&r.push("%M"),rn(e,Xt.SECONDS)&&r.push("%S"),rn(e,Xt.MILLISECONDS)&&r.push("%L");const o=[];return n.length>0&&o.push(n.join(" ")),r.length>0&&o.push(r.join(":")),o}function sn(e){return"day"!==e&&e.indexOf("day")>=0?(Lt(zt.dayReplacedWithDate(e)),e.replace("day","date")):e}const un={quantitative:1,ordinal:1,temporal:1,nominal:1,geojson:1},cn="quantitative",ln="ordinal",fn="temporal",dn="nominal",pn="geojson";function hn(e){const{field:t,timeUnit:n,bin:i,aggregate:r}=e;return Object.assign({},n?{timeUnit:n}:{},i?{bin:i}:{},r?{aggregate:r}:{},{field:t})}function mn(e){return!!e&&!!e.condition}function gn(e){return!!e&&!!e.condition&&!o(e.condition)&&yn(e.condition)}function yn(e){return!(!e||!e.field&&"count"!==e.aggregate)}function bn(e){return!!e&&(!!e.field&&!!e.type||"count"===e.aggregate)}function vn(e){return yn(e)&&s(e.field)}function xn(e){return e&&"value"in e&&void 0!==e.value}function An(e){return!(!e||!e.scale&&!e.sort)}function wn(e){return!!e&&!!e.format}function Cn(e,t={}){let n=e.field;const i=t.prefix;let o=t.suffix,a="";if(function(e){return"count"===e.aggregate}(e))n=function(e){return function(e){return 0===e.indexOf("__")}(e)?e:`__${e}`}("count");else{let i;if(!t.nofn)if(function(e){return!!e.op}(e))i=e.op;else{const{bin:r,aggregate:s,timeUnit:u}=e;Wn(r)?(i=qn(r),o=(t.binSuffix||"")+(t.suffix||"")):s?Be(s)?(a=`.${n}`,n=`argmax_${s.argmax}`):$e(s)?(a=`.${n}`,n=`argmin_${s.argmin}`):i=String(s):u&&(i=String(u))}i&&(n=n?`${i}_${n}`:i)}return o&&(n=`${n}_${o}`),i&&(n=`${i}_${n}`),t.forAs?n:t.expr?function(e,t="datum"){return`${t}[${u(r(e).join("."))}]`}(n,t.expr)+a:te(n)+a}function Fn(e){return!function(e){switch(e.type){case"nominal":case"ordinal":case"geojson":return!0;case"quantitative":return!!e.bin;case"temporal":return!1}throw new Error(zt.invalidFieldType(e.type))}(e)}function En(e,t){const{field:n,bin:i,timeUnit:r,aggregate:o}=e;if("count"===o)return t.countTitle;if(Wn(i))return`${n} (binned)`;if(r){return`${n} (${function(e){return Kt.reduce((t,n)=>rn(e,n)?[...t,n]:t,[])}(r).join("-")})`}return o?Be(o)?`${n} for max ${o.argmax}`:$e(o)?`${n} for min ${o.argmin}`:`${K(o)} of ${n}`:n}const Dn=(e,t)=>{switch(t.fieldTitle){case"plain":return e.field;case"functional":return function(e){const{aggregate:t,bin:n,timeUnit:i,field:r}=e;if(Be(t))return`${r} for argmax(${t.argmax})`;if($e(t))return`${r} for argmin(${t.argmin})`;const o=t||i||Wn(n)&&"bin";return o?o.toUpperCase()+"("+r+")":r}(e);default:return En(e,t)}};let Sn=Dn;function kn(e){Sn=e}function On(e,t,{allowDisabling:n,includeDefault:i=!0}){const r=($n(e)||{}).title,o=i?Bn(e,t):void 0;return n?re(r,e.title,o):r||e.title||o}function $n(e){return(t=e)&&(t.axis||t.stack||t.impute)&&e.axis?e.axis:function(e){return!!e&&!!e.legend}(e)&&e.legend?e.legend:function(e){return!!e&&!!e.header}(e)&&e.header?e.header:void 0;var t}function Bn(e,t){return Sn(e,t)}function jn(e){if(wn(e)&&e.format)return e.format;return($n(e)||{}).format}function Nn(e){return yn(e)?e:gn(e)?e.condition:void 0}function _n(e){return yn(e)?e:gn(e)?e.condition:void 0}function Tn(e,t){if(s(e)||v(e)||b(e)){const n=s(e)?"string":v(e)?"number":"boolean";return Lt(zt.primitiveChannelDef(t,n,e)),{value:e}}return yn(e)?zn(e,t):gn(e)?Object.assign({},e,{condition:zn(e.condition,t)}):e}function zn(e,t){const{aggregate:n,timeUnit:i,bin:r}=e;if(n&&!je(n)&&!Be(n)&&!$e(n)){const t=ke(e,["aggregate"]);Lt(zt.invalidAggregate(n)),e=t}if(i&&(e=Object.assign({},e,{timeUnit:sn(i)})),Wn(r)&&(e=Object.assign({},e,{bin:Rn(r,t)})),Hn(r)&&!R(Dt,t)&&Lt(`Channel ${t} should not be used with "binned" bin`),bn(e)){const{type:t}=e,i=function(e){if(e)switch(e=e.toLowerCase()){case"q":case cn:return"quantitative";case"t":case fn:return"temporal";case"o":case ln:return"ordinal";case"n":case dn:return"nominal";case pn:return"geojson"}}(t);t!==i&&(e=Object.assign({},e,{type:i})),"quantitative"!==t&&_e(n)&&(Lt(zt.invalidFieldTypeForCountAggregate(t,n)),e=Object.assign({},e,{type:"quantitative"}))}else if(!At(t)){const n=function(e,t){if(e.timeUnit)return"temporal";if(Wn(e.bin))return"quantitative";switch(Tt(t)){case"continuous":return"quantitative";case"discrete":case"flexible":return"nominal";default:return"quantitative"}}(e,t);Lt(zt.missingFieldType(t,n)),e=Object.assign({},e,{type:n})}if(bn(e)){const{compatible:n,warning:i}=function(e,t){const n=e.type;if("geojson"===n&&"shape"!==t)return{compatible:!1,warning:`Channel ${t} should not be used with a geojson data.`};switch(t){case"row":case"column":case"facet":return Fn(e)?{compatible:!1,warning:zt.facetChannelShouldBeDiscrete(t)}:Pn;case"x":case"y":case"color":case"fill":case"stroke":case"text":case"detail":case"key":case"tooltip":case"href":return Pn;case"longitude":case"longitude2":case"latitude":case"latitude2":return n!==cn?{compatible:!1,warning:`Channel ${t} should be used with a quantitative field only, not ${e.type} field.`}:Pn;case"opacity":case"fillOpacity":case"strokeOpacity":case"strokeWidth":case"size":case"x2":case"y2":return"nominal"!==n||e.sort?Pn:{compatible:!1,warning:`Channel ${t} should not be used with an unsorted discrete field.`};case"shape":return R(["ordinal","nominal","geojson"],e.type)?Pn:{compatible:!1,warning:"Shape channel should be used with only either discrete or geojson data."};case"order":return"nominal"!==e.type||"sort"in e?Pn:{compatible:!1,warning:"Channel order is inappropriate for nominal field, which has no inherent order."}}throw new Error("channelCompatability not implemented for channel "+t)}(e,t);n||Lt(i)}return Object.assign({},e,void 0!==e.field?{field:`${e.field}`}:{})}function Rn(e,t){return b(e)?{maxbins:Yn(t)}:"binned"===e?{binned:!0}:e.maxbins||e.step?e:Object.assign({},e,{maxbins:Yn(t)})}const Pn={compatible:!0};function Un(e){const t=$n(e),n=t&&t.formatType||wn(e)&&e.formatType;return"time"===n||!n&&function(e){return"temporal"===e.type||!!e.timeUnit}(e)}function Mn(e,{timeUnit:t,type:n,time:i,undefinedIfExprNotRequired:r}){let o;var a;return qt(e)?o=Vt(e,!0):(s(e)||v(e))&&(t||"temporal"===n)&&(o=function(e){return!!Zt[e]}(t)?Vt({[t]:e},!0):function(e){return!!en[e]}(t)?Mn(e,{timeUnit:(a=t,a.substr(3))}):`datetime(${JSON.stringify(e)})`),o?i?`time(${o})`:o:r?void 0:JSON.stringify(e)}function Ln(e,t){const{timeUnit:n,type:i}=e;return t.map(e=>{const t=Mn(e,{timeUnit:n,type:i,undefinedIfExprNotRequired:!0});return void 0!==t?{signal:t}:e})}function In(e,t){return Wn(e.bin)?Bt(t)&&R(["ordinal","nominal"],e.type):(console.warn("Only use this method with binned field defs"),!1)}function qn(e){return b(e)&&(e=Rn(e,void 0)),"bin"+Y(e).map(t=>Q(`_${t}_${e[t]}`)).join("")}function Wn(e){return!0===e||Gn(e)&&!e.binned}function Hn(e){return"binned"===e||Gn(e)&&e.binned}function Gn(e){return a(e)}function Yn(e){switch(e){case Re:case Pe:case Ze:case Ve:case Je:case Qe:case nt:case Ke:case et:case tt:case Xe:return 6;default:return 10}}function Vn(e,t){const n=e&&e[t];return!!n&&(o(n)?P(n,e=>!!e.field):yn(n)||gn(n))}function Jn(e){return P(gt,t=>{if(Vn(e,t)){const n=e[t];if(o(n))return P(n,e=>!!e.aggregate);{const e=Nn(n);return e&&!!e.aggregate}}return!1})}function Qn(e,t){const n=[],i=[],r=[],o=[],a={};return Kn(e,(s,u)=>{if(yn(s)){const{field:c,aggregate:l,timeUnit:f,bin:d}=s,p=ke(s,["field","aggregate","timeUnit","bin"]);if(l||f||d){const e=$n(s),h=e&&e.title;let m=Cn(s,{forAs:!0});const g=Object.assign({},h?[]:{title:On(s,t,{allowDisabling:!0})},p,{field:m}),y="x"===u||"y"===u;if(l){let e;if(Be(l)?(e="argmax",m=Cn({aggregate:"argmax",field:l.argmax},{forAs:!0}),g.field=`${m}.${c}`):$e(l)?(e="argmin",m=Cn({aggregate:"argmin",field:l.argmin},{forAs:!0}),g.field=`${m}.${c}`):"boxplot"!==l&&"errorbar"!==l&&"errorband"!==l&&(e=l),e){const t={op:e,as:m};c&&(t.field=c),o.push(t)}}else if(n.push(m),bn(s)&&Wn(d)){if(i.push({bin:d,field:c,as:m}),n.push(Cn(s,{binSuffix:"end"})),In(s,u)&&n.push(Cn(s,{binSuffix:"range"})),y){const e={field:m+"_end"};a[u+"2"]=e}g.bin="binned",At(u)||(g.type="quantitative")}else if(f){r.push({timeUnit:f,field:c,as:m});const e=an(f,t.axis.shortTimeLabels).join(" "),n=bn(s)&&s.type!==fn&&"time";"text"===u||"tooltip"===u?(g.format=g.format||e,n&&(g.formatType=n)):!function(e){return!!Ct[e]}(u)?y&&(g.axis=Object.assign({format:e},n?{formatType:n}:{},g.axis)):g.legend=Object.assign({format:e},n?{formatType:n}:{},g.legend)}a[u]=g}else n.push(c),a[u]=e[u]}else a[u]=e[u]}),{bins:i,timeUnits:r,aggregate:o,groupby:n,encoding:a}}function Xn(e,t){return Y(e).reduce((n,i)=>{if(!vt(i))return Lt(zt.invalidEncodingChannel(i)),n;if(!function(e,t,n){const i=jt(t,n);if(!i)return!1;if("binned"===i){const n=e["x2"===t?"x":"y"];return!!(yn(n)&&yn(e[t])&&Hn(n.bin))}return!0}(e,i,t))return Lt(zt.incompatibleChannel(i,t)),n;if("size"===i&&"line"===t){const t=_n(e[i]);if(t&&t.aggregate)return Lt(zt.LINE_WITH_VARYING_SIZE),n}if("color"===i&&("fill"in e||"stroke"in e))return Lt(zt.droppingColor("encoding",{fill:"fill"in e,stroke:"stroke"in e})),n;const r=e[i];if("detail"===i||"order"===i&&!o(r)&&!xn(r)||"tooltip"===i&&o(r))r&&(n[i]=(o(r)?r:[r]).reduce((e,t)=>(yn(t)?e.push(zn(t,i)):Lt(zt.emptyFieldDef(t,i)),e),[]));else{if("tooltip"===i&&null===r)n[i]=null;else if(!yn(r)&&!xn(r)&&!mn(r))return Lt(zt.emptyFieldDef(r,i)),n;n[i]=Tn(r,i)}return n},{})}function Zn(e){const t=[];for(const n of Y(e))if(Vn(e,n)){const i=e[n];(o(i)?i:[i]).forEach(e=>{yn(e)?t.push(e):gn(e)&&t.push(e.condition)})}return t}function Kn(e,t,n){if(e)for(const i of Y(e)){const r=e[i];o(r)?r.forEach(e=>{t.call(n,e,i)}):t.call(n,r,i)}}function ei(e,t,n,i){return e?Y(e).reduce((n,r)=>{const a=e[r];return o(a)?a.reduce((e,n)=>t.call(i,e,n,r),n):t.call(i,n,a,r)},n):n}function ti(e,t){return Y(t).reduce((n,i)=>{switch(i){case"x":case"y":case"href":case"x2":case"y2":case"latitude":case"longitude":case"latitude2":case"longitude2":case"text":case"shape":case"tooltip":return n;case"order":if("line"===e||"trail"===e)return n;case"detail":case"key":{const e=t[i];return(o(e)||yn(e))&&(o(e)?e:[e]).forEach(e=>{e.aggregate||n.push(Cn(e,{}))}),n}case"size":if("trail"===e)return n;case"color":case"fill":case"stroke":case"opacity":case"fillOpacity":case"strokeOpacity":case"strokeWidth":{const e=_n(t[i]);return e&&!e.aggregate&&n.push(Cn(e,{})),n}}},[])}function ni(e,t,n,i=!0){if("tooltip"in n)return{tooltip:n.tooltip};return{tooltip:[...e.map(({fieldPrefix:e,titlePrefix:n})=>({field:e+t.field,type:t.type,title:n+(i?" of "+t.field:"")})),...Zn(n)]}}function ii(e,t,n,i,r){const{scale:o,axis:a}=n;return({partName:u,mark:c,positionPrefix:l,endPositionPrefix:f,extraEncoding:d={}})=>{const p=a&&void 0!==a.title?void 0:void 0!==n.title?n.title:n.field;return ri(e,u,r,{mark:c,encoding:Object.assign({[t]:Object.assign({field:l+"_"+n.field,type:n.type},p?{title:p}:{},o?{scale:o}:{},a?{axis:a}:{})},s(f)?{[t+"2"]:{field:f+"_"+n.field,type:n.type}}:{},i,d)})}}function ri(e,t,n,i){const{clip:r,color:o,opacity:a}=e,s=e.type;return e[t]||void 0===e[t]&&n[t]?[Object.assign({},i,{mark:Object.assign({},n[t],r?{clip:r}:{},o?{color:o}:{},a?{opacity:a}:{},Ae(i.mark)?i.mark:{type:i.mark},{style:`${s}-${t}`},b(e[t])?{}:e[t])})]:[]}function oi(e,t,n){const{encoding:i}=e,r="vertical"===t?"y":"x",o=i[r],a=i[r+"2"],s=i[r+"Error"],u=i[r+"Error2"];return{continuousAxisChannelDef:ai(o,n),continuousAxisChannelDef2:ai(a,n),continuousAxisChannelDefError:ai(s,n),continuousAxisChannelDefError2:ai(u,n),continuousAxis:r}}function ai(e,t){if(e&&e.aggregate){const{aggregate:n}=e,i=ke(e,["aggregate"]);return n!==t&&Lt(zt.errorBarContinuousAxisHasCustomizedAggregate(n,t)),i}return e}function si(e,t){const{mark:n,encoding:i}=e;if(yn(i.x)&&Fn(i.x)){if(yn(i.y)&&Fn(i.y)){if(void 0===i.x.aggregate&&i.y.aggregate===t)return"vertical";if(void 0===i.y.aggregate&&i.x.aggregate===t)return"horizontal";if(i.x.aggregate===t&&i.y.aggregate===t)throw new Error("Both x and y cannot have aggregate");return Ae(n)&&n.orient?n.orient:"vertical"}return"horizontal"}if(yn(i.y)&&Fn(i.y))return"vertical";throw new Error("Need a valid continuous axis for "+t+"s")}const ui="boxplot",ci=Y({box:1,median:1,outliers:1,rule:1,ticks:1}),li=new Se(ui,di);function fi(e){return v(e)?"tukey":e}function di(e,{config:t}){const{mark:n,encoding:i,selection:r,projection:s}=e,u=ke(e,["mark","encoding","selection","projection"]),c=Ae(n)?n:{type:n};r&&Lt(zt.selectionNotSupported("boxplot"));const l=c.extent||t.boxplot.extent,f=re(c.size,t.boxplot.size),d=fi(l),{transform:p,continuousAxisChannelDef:h,continuousAxis:m,groupby:g,aggregate:y,encodingWithoutContinuousAxis:b,ticksOrient:v,customTooltipWithoutAggregatedField:x}=function(e,t,n){const i=si(e,ui),{continuousAxisChannelDef:r,continuousAxis:a}=oi(e,i,ui),s=r.field,u=fi(t),c=[...pi(s),{op:"median",field:s,as:"mid_box_"+s},{op:"min",field:s,as:("min-max"===u?"lower_whisker_":"min_")+s},{op:"max",field:s,as:("min-max"===u?"upper_whisker_":"max_")+s}],l="min-max"===u||"tukey"===u?[]:[{calculate:`datum["upper_box_${s}"] - datum["lower_box_${s}"]`,as:"iqr_"+s},{calculate:`min(datum["upper_box_${s}"] + datum["iqr_${s}"] * ${t}, datum["max_${s}"])`,as:"upper_whisker_"+s},{calculate:`max(datum["lower_box_${s}"] - datum["iqr_${s}"] * ${t}, datum["min_${s}"])`,as:"lower_whisker_"+s}],f=e.encoding,d=a,p=(f[d],ke(f,["symbol"==typeof d?d:d+""])),{customTooltipWithoutAggregatedField:h,filteredEncoding:m}=function(e){const{tooltip:t}=e,n=ke(e,["tooltip"]);if(!t)return{filteredEncoding:e};let i,r;return o(t)?(t.forEach(e=>{e.aggregate?(i||(i=[]),i.push(e)):(r||(r=[]),r.push(e))}),i&&(n.tooltip=i)):t.aggregate?n.tooltip=t:r=t,o(r)&&1===r.length&&(r=r[0]),{customTooltipWithoutAggregatedField:r,filteredEncoding:n}}(p),{bins:g,timeUnits:y,aggregate:b,groupby:v,encoding:x}=Qn(m,n),A="vertical"===i?"horizontal":"vertical";return{transform:[...g,...y,{aggregate:[...b,...c],groupby:v},...l],groupby:v,aggregate:b,continuousAxisChannelDef:r,continuousAxis:a,encodingWithoutContinuousAxis:x,ticksOrient:A,customTooltipWithoutAggregatedField:h}}(e,l,t),{color:A,size:w}=b,C=ke(b,["color","size"]),F=e=>ii(c,m,h,e,t.boxplot),E=F(C),D=F(b),S=F(Object.assign({},C,w?{size:w}:{})),k=ni([{fieldPrefix:"min-max"===d?"upper_whisker_":"max_",titlePrefix:"Max"},{fieldPrefix:"upper_box_",titlePrefix:"Q3"},{fieldPrefix:"mid_box_",titlePrefix:"Median"},{fieldPrefix:"lower_box_",titlePrefix:"Q1"},{fieldPrefix:"min-max"===d?"lower_whisker_":"min_",titlePrefix:"Min"}],h,b),O={type:"tick",color:"black",opacity:1,orient:v},$="min-max"===d?k:ni([{fieldPrefix:"upper_whisker_",titlePrefix:"Upper Whisker"},{fieldPrefix:"lower_whisker_",titlePrefix:"Lower Whisker"}],h,b),B=[...E({partName:"rule",mark:"rule",positionPrefix:"lower_whisker",endPositionPrefix:"lower_box",extraEncoding:$}),...E({partName:"rule",mark:"rule",positionPrefix:"upper_box",endPositionPrefix:"upper_whisker",extraEncoding:$}),...E({partName:"ticks",mark:O,positionPrefix:"lower_whisker",extraEncoding:$}),...E({partName:"ticks",mark:O,positionPrefix:"upper_whisker",extraEncoding:$})],j=[..."tukey"!==d?B:[],...D({partName:"box",mark:Object.assign({type:"bar"},f?{size:f}:{}),positionPrefix:"lower_box",endPositionPrefix:"upper_box",extraEncoding:k}),...S({partName:"median",mark:Object.assign({type:"tick"},a(t.boxplot.median)&&t.boxplot.median.color?{color:t.boxplot.median.color}:{},f?{size:f}:{},{orient:v}),positionPrefix:"mid_box",extraEncoding:k})];let N;if("min-max"!==d){const e=`datum["lower_box_${h.field}"]`,n=`datum["upper_box_${h.field}"]`,i=`(${n} - ${e})`,r=`${e} - ${l} * ${i}`,o=`${n} + ${l} * ${i}`,a=`datum["${h.field}"]`,s={joinaggregate:pi(h.field),groupby:g};let u=void 0;"tukey"===d&&(u={transform:[{filter:`(${r} <= ${a}) && (${a} <= ${o})`},{aggregate:[{op:"min",field:h.field,as:"lower_whisker_"+h.field},{op:"max",field:h.field,as:"upper_whisker_"+h.field},{op:"min",field:"lower_box_"+h.field,as:"lower_box_"+h.field},{op:"max",field:"upper_box_"+h.field,as:"upper_box_"+h.field},...y],groupby:g}],layer:B});const f=ke(C,["tooltip"]),p=ri(c,"outliers",t.boxplot,{transform:[{filter:`(${a} < ${r}) || (${a} > ${o})`}],mark:"point",encoding:Object.assign({[m]:{field:h.field,type:h.type}},f,x?{tooltip:x}:{})})[0];p&&u?N={transform:[s],layer:[p,u]}:p?(N=p).transform.unshift(s):u&&(N=u).transform.unshift(s)}return N?Object.assign({},u,{layer:[...N?[N]:[],{transform:p,layer:j}]}):Object.assign({},u,{transform:(u.transform||[]).concat(p),layer:j})}function pi(e){return[{op:"q1",field:e,as:"lower_box_"+e},{op:"q3",field:e,as:"upper_box_"+e}]}const hi="errorbar",mi=Y({ticks:1,rule:1}),gi=new Se(hi,yi);function yi(e,{config:t}){const{transform:n,continuousAxisChannelDef:i,continuousAxis:r,encodingWithoutContinuousAxis:o,ticksOrient:a,markDef:s,outerSpec:u,tooltipEncoding:c}=vi(e,hi,t),l=ii(s,r,i,o,t.errorbar),f={type:"tick",orient:a};return Object.assign({},u,{transform:n,layer:[...l({partName:"ticks",mark:f,positionPrefix:"lower",extraEncoding:c}),...l({partName:"ticks",mark:f,positionPrefix:"upper",extraEncoding:c}),...l({partName:"rule",mark:"rule",positionPrefix:"lower",endPositionPrefix:"upper",extraEncoding:c})]})}function bi(e,t){const{encoding:n}=e;if(function(e){return(yn(e.x)||yn(e.y))&&!yn(e.x2)&&!yn(e.y2)&&!yn(e.xError)&&!yn(e.xError2)&&!yn(e.yError)&&!yn(e.yError2)}(n))return{orient:si(e,t),inputType:"raw"};const i=function(e){return yn(e.x2)||yn(e.y2)}(n),r=function(e){return yn(e.xError)||yn(e.xError2)||yn(e.yError)||yn(e.yError2)}(n),o=n.x,a=n.y;if(i){if(r)throw new Error(t+" cannot be both type aggregated-upper-lower and aggregated-error");const e=n.x2,i=n.y2;if(yn(e)&&yn(i))throw new Error(t+" cannot have both x2 and y2");if(yn(e)){if(yn(o)&&Fn(o))return{orient:"horizontal",inputType:"aggregated-upper-lower"};throw new Error("Both x and x2 have to be quantitative in "+t)}if(yn(i)){if(yn(a)&&Fn(a))return{orient:"vertical",inputType:"aggregated-upper-lower"};throw new Error("Both y and y2 have to be quantitative in "+t)}throw new Error("No ranged axis")}{const e=n.xError,i=n.xError2,r=n.yError,s=n.yError2;if(yn(i)&&!yn(e))throw new Error(t+" cannot have xError2 without xError");if(yn(s)&&!yn(r))throw new Error(t+" cannot have yError2 without yError");if(yn(e)&&yn(r))throw new Error(t+" cannot have both xError and yError with both are quantiative");if(yn(e)){if(yn(o)&&Fn(o))return{orient:"horizontal",inputType:"aggregated-error"};throw new Error("All x, xError, and xError2 (if exist) have to be quantitative")}if(yn(r)){if(yn(a)&&Fn(a))return{orient:"vertical",inputType:"aggregated-error"};throw new Error("All y, yError, and yError2 (if exist) have to be quantitative")}throw new Error("No ranged axis")}}function vi(e,t,n){const{mark:i,encoding:r,selection:o,projection:a}=e,s=ke(e,["mark","encoding","selection","projection"]),u=Ae(i)?i:{type:i};o&&Lt(zt.selectionNotSupported(t));const{orient:c,inputType:l}=bi(e,t),{continuousAxisChannelDef:f,continuousAxisChannelDef2:d,continuousAxisChannelDefError:p,continuousAxisChannelDefError2:h,continuousAxis:m}=oi(e,c,t),{errorBarSpecificAggregate:g,postAggregateCalculates:y,tooltipSummary:b,tooltipTitleWithFieldName:v}=function(e,t,n,i,r,o,a,s){let u=[],c=[];const l=t.field;let f,d=!1;if("raw"===o){const t=e.center?e.center:e.extent?"iqr"===e.extent?"median":"mean":s.errorbar.center,n=e.extent?e.extent:"mean"===t?"stderr":"iqr";if("median"===t!=("iqr"===n)&&Lt(zt.errorBarCenterIsUsedWithWrongExtent(t,n,a)),"stderr"===n||"stdev"===n)u=[{op:n,field:l,as:"extent_"+l},{op:t,field:l,as:"center_"+l}],c=[{calculate:`datum["center_${l}"] + datum["extent_${l}"]`,as:"upper_"+l},{calculate:`datum["center_${l}"] - datum["extent_${l}"]`,as:"lower_"+l}],f=[{fieldPrefix:"center_",titlePrefix:K(t)},{fieldPrefix:"upper_",titlePrefix:xi(t,n,"+")},{fieldPrefix:"lower_",titlePrefix:xi(t,n,"-")}],d=!0;else{let t,i,r;e.center&&e.extent&&Lt(zt.errorBarCenterIsNotNeeded(e.extent,a)),"ci"===n?(t="mean",i="ci0",r="ci1"):(t="median",i="q1",r="q3"),u=[{op:i,field:l,as:"lower_"+l},{op:r,field:l,as:"upper_"+l},{op:t,field:l,as:"center_"+l}],f=[{fieldPrefix:"upper_",titlePrefix:On({field:l,aggregate:r,type:"quantitative"},s,{allowDisabling:!1})},{fieldPrefix:"lower_",titlePrefix:On({field:l,aggregate:i,type:"quantitative"},s,{allowDisabling:!1})},{fieldPrefix:"center_",titlePrefix:On({field:l,aggregate:t,type:"quantitative"},s,{allowDisabling:!1})}]}}else{(e.center||e.extent)&&Lt(zt.errorBarCenterAndExtentAreNotNeeded(e.center,e.extent)),"aggregated-upper-lower"===o?(f=[],c=[{calculate:`datum["${n.field}"]`,as:"upper_"+l},{calculate:`datum["${l}"]`,as:"lower_"+l}]):"aggregated-error"===o&&(f=[{fieldPrefix:"",titlePrefix:l}],c=[{calculate:`datum["${l}"] + datum["${i.field}"]`,as:"upper_"+l}],r?c.push({calculate:`datum["${l}"] + datum["${r.field}"]`,as:"lower_"+l}):c.push({calculate:`datum["${l}"] - datum["${i.field}"]`,as:"lower_"+l}));for(const e of c)f.push({fieldPrefix:e.as.substring(0,6),titlePrefix:e.calculate.replace(new RegExp('datum\\[\\"',"g"),"").replace(new RegExp('\\"\\]',"g"),"")})}return{postAggregateCalculates:c,errorBarSpecificAggregate:u,tooltipSummary:f,tooltipTitleWithFieldName:d}}(u,f,d,p,h,l,t,n),x=m,A=(r[x],"x"===m?"x2":"y2"),w=(r[A],"x"===m?"xError":"yError"),C=(r[w],"x"===m?"xError2":"yError2"),F=(r[C],ke(r,["symbol"==typeof x?x:x+"","symbol"==typeof A?A:A+"","symbol"==typeof w?w:w+"","symbol"==typeof C?C:C+""])),{bins:E,timeUnits:D,aggregate:S,groupby:k,encoding:O}=Qn(F,n),$=[...S,...g],B="raw"!==l?[]:k,j=ni(b,f,O,v);return{transform:[...s.transform||[],...E,...D,...$.length?[{aggregate:$,groupby:B}]:[],...y],groupby:B,continuousAxisChannelDef:f,continuousAxis:m,encodingWithoutContinuousAxis:O,ticksOrient:"vertical"===c?"horizontal":"vertical",markDef:u,outerSpec:s,tooltipEncoding:j}}function xi(e,t,n){return K(e)+" "+n+" "+t}const Ai="errorband",wi=Y({band:1,borders:1}),Ci=new Se(Ai,Fi);function Fi(e,{config:t}){const{transform:n,continuousAxisChannelDef:i,continuousAxis:r,encodingWithoutContinuousAxis:o,markDef:a,outerSpec:s,tooltipEncoding:u}=vi(e,Ai,t),c=a,l=ii(c,r,i,o,t.errorband),f=void 0!==e.encoding.x&&void 0!==e.encoding.y;let d={type:f?"area":"rect"},p={type:f?"line":"rule"};const h=Object.assign({},c.interpolate?{interpolate:c.interpolate}:{},c.tension&&c.interpolate?{interpolate:c.tension}:{});return f?(d=Object.assign({},d,h),p=Object.assign({},p,h)):c.interpolate?Lt(zt.errorBand1DNotSupport("interpolate")):c.tension&&Lt(zt.errorBand1DNotSupport("tension")),Object.assign({},s,{transform:n,layer:[...l({partName:"band",mark:d,positionPrefix:"lower",endPositionPrefix:"upper",extraEncoding:u}),...l({partName:"borders",mark:p,positionPrefix:"lower",extraEncoding:u}),...l({partName:"borders",mark:p,positionPrefix:"upper",extraEncoding:u})]})}const Ei={};function Di(e,t,n){const i=new Se(e,t);Ei[e]={normalizer:i,parts:n}}Di(ui,di,ci),Di(hi,yi,mi),Di(Ai,Fi,wi);const Si=["shortTimeLabels"],ki=["gradientHorizontalMaxLength","gradientHorizontalMinLength","gradientVerticalMaxLength","gradientVerticalMinLength"],Oi={clipHeight:1,columnPadding:1,columns:1,cornerRadius:1,direction:1,fillColor:1,format:1,formatType:1,gradientLength:1,gradientOpacity:1,gradientStrokeColor:1,gradientStrokeWidth:1,gradientThickness:1,gridAlign:1,labelAlign:1,labelBaseline:1,labelColor:1,labelFont:1,labelFontSize:1,labelFontStyle:1,labelFontWeight:1,labelLimit:1,labelOffset:1,labelOpacity:1,labelOverlap:1,labelPadding:1,labelSeparation:1,legendX:1,legendY:1,offset:1,orient:1,padding:1,rowPadding:1,strokeColor:1,symbolDash:1,symbolDashOffset:1,symbolFillColor:1,symbolOffset:1,symbolOpacity:1,symbolSize:1,symbolStrokeColor:1,symbolStrokeWidth:1,symbolType:1,tickCount:1,tickMinStep:1,title:1,titleAlign:1,titleAnchor:1,titleBaseline:1,titleColor:1,titleFont:1,titleFontSize:1,titleFontStyle:1,titleFontWeight:1,titleLimit:1,titleOpacity:1,titleOrient:1,titlePadding:1,type:1,values:1,zindex:1},$i=Object.assign({},Oi,{opacity:1,shape:1,stroke:1,fill:1,size:1,strokeWidth:1,encode:1}),Bi=Y(Oi),ji=Y($i);var Ni;!function(e){e.LINEAR="linear",e.LOG="log",e.POW="pow",e.SQRT="sqrt",e.SYMLOG="symlog",e.TIME="time",e.UTC="utc",e.QUANTILE="quantile",e.QUANTIZE="quantize",e.THRESHOLD="threshold",e.BIN_ORDINAL="bin-ordinal",e.ORDINAL="ordinal",e.POINT="point",e.BAND="band"}(Ni||(Ni={}));const _i={linear:"numeric",log:"numeric",pow:"numeric",sqrt:"numeric",symlog:"numeric",time:"time",utc:"time",ordinal:"ordinal","bin-ordinal":"bin-ordinal",point:"ordinal-position",band:"ordinal-position",quantile:"discretizing",quantize:"discretizing",threshold:"discretizing"},Ti=Y(_i);function zi(e,t){const n=_i[e],i=_i[t];return n===i||"ordinal-position"===n&&"time"===i||"ordinal-position"===i&&"time"===n}const Ri={linear:0,log:1,pow:1,sqrt:1,symlog:1,time:0,utc:0,point:10,band:11,ordinal:0,"bin-ordinal":0,quantile:0,quantize:0,threshold:0};function Pi(e){return Ri[e]}const Ui=["linear","log","pow","sqrt","symlog","time","utc"],Mi=x(Ui),Li=x(["quantile","quantize","threshold"]),Ii=x(Ui.concat(["quantile","quantize","threshold"])),qi=x(["ordinal","bin-ordinal","point","band"]);function Wi(e){return e in qi}function Hi(e){return e in Ii}function Gi(e){return e in Mi}function Yi(e){return e in Li}const Vi={textXRangeStep:90,rangeStep:20,pointPadding:.5,barBandPaddingInner:.1,rectBandPaddingInner:0,minBandSize:2,minFontSize:8,maxFontSize:40,minOpacity:.3,maxOpacity:.8,minSize:9,minStrokeWidth:1,maxStrokeWidth:4,quantileCount:4,quantizeCount:4};function Ji(e){return e&&e.selection}const Qi=ke({type:1,domain:1,align:1,range:1,rangeStep:1,scheme:1,bins:1,reverse:1,round:1,clamp:1,nice:1,base:1,exponent:1,constant:1,interpolate:1,zero:1,padding:1,paddingInner:1,paddingOuter:1},["type","domain","range","rangeStep","scheme"]),Xi=Y(Qi);!function(){const e={};for(const t of gt)for(const n of Y(un))for(const i of Ti){const r=nr(t,n);tr(t,i)&&er(i,n)&&(e[r]=e[r]||[],e[r].push(i))}}();function Zi(e,t){switch(t){case"type":case"domain":case"reverse":case"range":return!0;case"scheme":case"interpolate":return!R(["point","band","identity"],e);case"bins":return!R(["point","band","identity","ordinal"],e);case"round":return Gi(e)||"band"===e||"point"===e;case"padding":return Gi(e)||R(["point","band"],e);case"paddingOuter":case"rangeStep":case"align":return R(["point","band"],e);case"paddingInner":return"band"===e;case"clamp":return Gi(e);case"nice":return Gi(e)||"quantize"===e||"threshold"===e;case"exponent":return"pow"===e;case"base":return"log"===e;case"constant":return"symlog"===e;case"zero":return Hi(e)&&!R(["log","time","utc","threshold","quantile"],e)}}function Ki(e,t){switch(t){case"interpolate":case"scheme":return dt(e)?void 0:zt.cannotUseScalePropertyWithNonColor(e);case"align":case"type":case"bins":case"domain":case"range":case"base":case"exponent":case"constant":case"nice":case"padding":case"paddingInner":case"paddingOuter":case"rangeStep":case"reverse":case"round":case"clamp":case"zero":return}}function er(e,t){return R([ln,dn],t)?void 0===e||Wi(e):t===fn?R([Ni.TIME,Ni.UTC,void 0],e):t!==cn||R([Ni.LOG,Ni.POW,Ni.SQRT,Ni.SYMLOG,Ni.QUANTILE,Ni.QUANTIZE,Ni.THRESHOLD,Ni.LINEAR,void 0],e)}function tr(e,t){switch(e){case Me:case Le:return Gi(t)||R(["band","point"],t);case Ze:case nt:case Ke:case et:case tt:return Gi(t)||Yi(t)||R(["band","point"],t);case Ve:case Je:case Qe:return"band"!==t;case Xe:return"ordinal"===t}return!1}function nr(e,t){return e+"_"+t}const ir="_vgsid_";function rr(e){return"interval"===e.type}const or={single:{on:"click",fields:[ir],resolve:"global",empty:"all",clear:"dblclick"},multi:{on:"click",fields:[ir],toggle:"event.shiftKey",resolve:"global",empty:"all",clear:"dblclick"},interval:{on:"[mousedown, window:mouseup] > window:mousemove!",encodings:["x","y"],translate:"[mousedown, window:mouseup] > window:mousemove!",zoom:"wheel!",mark:{fill:"#333",fillOpacity:.125,stroke:"white"},resolve:"global",clear:"dblclick"}};function ar(e){return void 0!==e.concat}function sr(e){return void 0!==e.vconcat}function ur(e){return void 0!==e.hconcat}function cr(e){return void 0!==e.repeat}const lr=Y({align:1,bounds:1,center:1,columns:1,spacing:1});function fr(e){const{anchor:t,frame:n,offset:i,orient:r,color:o}=e,a=ke(e,["anchor","frame","offset","orient","color"]);return{mark:Object.assign({},a,o?{fill:o}:{}),nonMark:Object.assign({},t?{anchor:t}:{},n?{frame:n}:{},i?{offset:i}:{},r?{orient:r}:{})}}const dr={padding:5,timeFormat:"%b %d, %Y",countTitle:"Count of Records",invalidValues:"filter",view:{width:200,height:200},mark:{color:"#4c78a8",tooltip:{content:"encoding"}},area:{},bar:Fe,circle:{},geoshape:{},line:{},point:{},rect:Ee,rule:{color:"black"},square:{},text:{color:"black"},tick:{thickness:1},trail:{},boxplot:{size:14,extent:1.5,box:{},median:{color:"white"},outliers:{},rule:{},ticks:null},errorbar:{center:"mean",rule:!0,ticks:!1},errorband:{band:{opacity:.3},borders:!1},scale:Vi,projection:{},axis:{},axisX:{},axisY:{},axisLeft:{},axisRight:{},axisTop:{},axisBottom:{},axisBand:{},legend:{gradientHorizontalMaxLength:200,gradientHorizontalMinLength:100,gradientVerticalMaxLength:200,gradientVerticalMinLength:64},header:{titlePadding:10,labelPadding:10},headerColumn:{},headerRow:{},headerFacet:{},selection:or,style:{},title:{},facet:{spacing:20},repeat:{spacing:20},concat:{spacing:20}};function pr(e){return L(B(dr),e)}const hr=["view",...xe],mr=["padding","facet","concat","repeat","numberFormat","timeFormat","countTitle","header","stack","scale","selection","invalidValues","overlay"],gr=Object.assign({view:["width","height"]},{area:["line","point"],bar:["binSpacing","continuousBandSize","discreteBandSize"],rect:["binSpacing","continuousBandSize","discreteBandSize"],line:["point"],text:["shortTimeLabels"],tick:["bandSize","thickness"]});function yr(e){e=B(e);for(const t of mr)delete e[t];if(e.axis)for(const t of Si)delete e.axis[t];if(e.legend){for(const t of Si)delete e.legend[t];for(const t of ki)delete e.legend[t]}if(e.mark)for(const t of Ce)delete e.mark[t];for(const t of hr){for(const n of Ce)delete e[t][n];const n=gr[t];if(n)for(const i of n)delete e[t][i];br(e,t)}for(const t of Y(Ei))delete e[t];br(e,"title","group-title");for(const t in e)a(e[t])&&0===Y(e[t]).length&&delete e[t];return Y(e).length>0?e:void 0}function br(e,t,n,i){const r="title"===t?fr(e.title).mark:i?e[t][i]:e[t];"view"===t&&(n="cell");const o=Object.assign({},r,e.style[t]);Y(o).length>0&&(e.style[n||t]=o),i||delete e[t]}function vr(e){return void 0!==e.layer}class xr{map(e,t){return Qt(e)?this.mapFacet(e,t):cr(e)?this.mapRepeat(e,t):ur(e)?this.mapHConcat(e,t):sr(e)?this.mapVConcat(e,t):ar(e)?this.mapConcat(e,t):this.mapLayerOrUnit(e,t)}mapLayerOrUnit(e,t){if(vr(e))return this.mapLayer(e,t);if(De(e))return this.mapUnit(e,t);throw new Error(zt.INVALID_SPEC)}mapLayer(e,t){return Object.assign({},e,{layer:e.layer.map(e=>this.mapLayerOrUnit(e,t))})}mapHConcat(e,t){return Object.assign({},e,{hconcat:e.hconcat.map(e=>this.map(e,t))})}mapVConcat(e,t){return Object.assign({},e,{vconcat:e.vconcat.map(e=>this.map(e,t))})}mapConcat(e,t){const{concat:n}=e,i=ke(e,["concat"]);return Object.assign({},i,{concat:n.map(e=>this.map(e,t))})}mapFacet(e,t){return Object.assign({},e,{spec:this.map(e.spec,t)})}mapRepeat(e,t){return Object.assign({},e,{spec:this.map(e.spec,t)})}}const Ar={zero:1,center:1,normalize:1};const wr=[ue,se,de,le,ge,ye,ce,pe,he],Cr=[ue,se];function Fr(e,t,n,i={}){const r=Ae(e)?e.type:e;if(!R(wr,r))return null;const a=function(e){const t=e.x,n=e.y;if(yn(t)&&yn(n))if("quantitative"===t.type&&"quantitative"===n.type){if(t.stack)return"x";if(n.stack)return"y";if(!!t.aggregate!=!!n.aggregate)return t.aggregate?"x":"y"}else{if("quantitative"===t.type)return"x";if("quantitative"===n.type)return"y"}else{if(yn(t)&&"quantitative"===t.type)return"x";if(yn(n)&&"quantitative"===n.type)return"y"}}(t);if(!a)return null;const s=t[a],u=vn(s)?Cn(s,{}):void 0,c="x"===a?"y":"x",l=t[c],f=vn(l)?Cn(l,{}):void 0,d=Ft.reduce((e,n)=>{if("tooltip"!==n&&Vn(t,n)){const i=t[n];(o(i)?i:[i]).forEach(t=>{const i=_n(t);if(i.aggregate)return;const r=vn(i)?Cn(i,{}):void 0;(!r||r!==f&&r!==u)&&e.push({channel:n,fieldDef:i})})}return e},[]);let p;if(void 0!==s.stack?p=b(s.stack)?s.stack?"zero":null:s.stack:d.length>0&&(p=R(Cr,r)?re(n,"zero"):n),!p||!Ar[p])return null;if(s.scale&&s.scale.type&&s.scale.type!==Ni.LINEAR){if(i.disallowNonLinearStack)return null;Lt(zt.cannotStackNonLinearScale(s.scale.type))}return Vn(t,a===Me?Ie:qe)?(void 0!==s.stack&&Lt(zt.cannotStackRangedMark(a)),null):(s.aggregate&&!R(Te,s.aggregate)&&Lt(zt.stackNonSummativeAggregate(s.aggregate)),{groupbyChannel:l?c:void 0,fieldChannel:a,impute:ve(r),stackBy:d,offset:p})}function Er(e){const t=ke(e,["point","line"]);return Y(t).length>1?t:t.type}function Dr(e){for(const t of["line","area","rule","trail"])e[t]&&(e=Object.assign({},e,{[t]:N(e[t],["point","line"])}));return e}function Sr(e,t={},n){return"transparent"===e.point?{opacity:0}:e.point?a(e.point)?e.point:{}:void 0!==e.point?null:t.point||n.shape?a(t.point)?t.point:{}:void 0}function kr(e,t={}){return e.line?!0===e.line?{}:e.line:void 0!==e.line?null:t.line?!0===t.line?{}:t.line:void 0}class Or{constructor(){this.name="path-overlay"}hasMatchingType(e,t){if(De(e)){const{mark:n,encoding:i}=e,r=Ae(n)?n:{type:n};switch(r.type){case"line":case"rule":case"trail":return!!Sr(r,t[r.type],i);case"area":return!!Sr(r,t[r.type],i)||!!kr(r,t[r.type])}}return!1}run(e,t,n){const{config:i}=t,{selection:r,projection:o,encoding:a,mark:s}=e,u=ke(e,["selection","projection","encoding","mark"]),c=Ae(s)?s:{type:s},l=Sr(c,i[c.type],a),f="area"===c.type&&kr(c,i[c.type]),d=[Object.assign({},r?{selection:r}:{},{mark:Er(Object.assign({},c,"area"===c.type?{opacity:.7}:{})),encoding:N(a,["shape"])})],p=Fr(c,a,i?i.stack:void 0);let h=a;if(p){const{fieldChannel:e,offset:t}=p;h=Object.assign({},a,{[e]:Object.assign({},a[e],t?{stack:t}:{})})}return f&&d.push(Object.assign({},o?{projection:o}:{},{mark:Object.assign({type:"line"},j(c,["clip","interpolate","tension","tooltip"]),f),encoding:h})),l&&d.push(Object.assign({},o?{projection:o}:{},{mark:Object.assign({type:"point",opacity:1,filled:!0},j(c,["clip","tooltip"]),l),encoding:h})),n(Object.assign({},u,{layer:d}),Object.assign({},t,{config:Dr(i)}))}}class $r{constructor(){this.name="RuleForRangedLine"}hasMatchingType(e){if(De(e)){const{encoding:t,mark:n}=e;if("line"===n)for(const e of xt){const n=t[wt(e)];if(t[e]&&yn(n)&&!Hn(n.bin))return!0}}return!1}run(e,t,n){const{encoding:i}=e;return Lt(zt.lineWithRange(!!i.x2,!!i.y2)),n(Object.assign({},e,{mark:"rule"}),t)}}function Br(e){const{parentEncoding:t,encoding:n}=e;if(t&&n){const e=Y(t).reduce((e,t)=>(n[t]&&e.push(t),e),[]);e.length>0&&Lt(zt.encodingOverridden(e))}const i=Object.assign({},t||{},n||{});return Y(i).length>0?i:void 0}function jr(e){const{parentProjection:t,projection:n}=e;return t&&n&&Lt(zt.projectionOverridden({parentProjection:t,projection:n})),n||t}function Nr(e,t){return void 0===t&&(t=pr(e.config)),function(e,t={}){return _r.map(e,{config:t})}(e,t)}const _r=new class extends xr{constructor(){super(...arguments),this.nonFacetUnitNormalizers=[li,gi,Ci,new Or,new $r]}map(e,t){if(De(e)){const n=Vn(e.encoding,Re),i=Vn(e.encoding,Pe),r=Vn(e.encoding,Ue);if(n||i||r)return this.mapFacetedUnit(e,t)}return super.map(e,t)}mapUnit(e,t){const{parentEncoding:n,parentProjection:i}=t;if(n||i)return this.mapUnitWithParentEncodingOrProjection(e,t);const r=this.mapLayerOrUnit.bind(this);for(const n of this.nonFacetUnitNormalizers)if(n.hasMatchingType(e,t.config))return n.run(e,t,r);return e}mapRepeat(e,t){const{repeat:n}=e;return!o(n)&&e.columns&&(e=N(e,["columns"]),Lt(zt.columnsNotSupportByRowCol("repeat"))),Object.assign({},e,{spec:this.map(e.spec,t)})}mapFacet(e,t){const{facet:n}=e;return Jt(n)&&e.columns&&(e=N(e,["columns"]),Lt(zt.columnsNotSupportByRowCol("facet"))),super.mapFacet(e,t)}mapUnitWithParentEncodingOrProjection(e,t){const{encoding:n,projection:i}=e,{parentEncoding:r,parentProjection:o,config:a}=t,s=jr({parentProjection:o,projection:i}),u=Br({parentEncoding:r,encoding:n});return this.mapUnit(Object.assign({},e,s?{projection:s}:{},u?{encoding:u}:{}),{config:a})}mapFacetedUnit(e,t){const n=e.encoding,{row:i,column:r,facet:o}=n,a=ke(n,["row","column","facet"]),{mark:s,width:u,projection:c,height:l,selection:f,encoding:d}=e,p=ke(e,["mark","width","projection","height","selection","encoding"]);return o&&(i||r)&&Lt(zt.facetChannelDropped([...i?[Re]:[],...r?[Pe]:[]])),this.mapFacet(Object.assign({},p,{facet:i||r?Object.assign({},i?{row:i}:{},r?{column:r}:{}):o,spec:Object.assign({},c?{projection:c}:{},{mark:s},u?{width:u}:{},l?{height:l}:{},{encoding:a},f?{selection:f}:{})}),t)}mapLayer(e,t){var{parentEncoding:n,parentProjection:i}=t,r=ke(t,["parentEncoding","parentProjection"]);const{encoding:o,projection:a}=e,s=ke(e,["encoding","projection"]),u=Object.assign({},r,{parentEncoding:Br({parentEncoding:n,encoding:o}),parentProjection:jr({parentProjection:i,projection:a})});return super.mapLayer(s,u)}};function Tr(e){return s(e)?{type:e}:e||{}}const zr=["background","padding"];function Rr(e){return zr.reduce((t,n)=>(e&&void 0!==e[n]&&(t[n]=e[n]),t),{})}function Pr(e){return!!e.url}function Ur(e){return!!e.values}function Mr(e){return!(!e.name||Pr(e)||Ur(e)||Lr(e))}function Lr(e){return e&&(Ir(e)||qr(e)||Wr(e))}function Ir(e){return!!e.sequence}function qr(e){return!!e.sphere}function Wr(e){return!!e.graticule}const Hr="main",Gr="raw";function Yr(e){return e&&!!e.field&&void 0!==e.equal}function Vr(e){return e&&!!e.field&&void 0!==e.lt}function Jr(e){return e&&!!e.field&&void 0!==e.lte}function Qr(e){return e&&!!e.field&&void 0!==e.gt}function Xr(e){return e&&!!e.field&&void 0!==e.gte}function Zr(e){return!!(e&&e.field&&o(e.range)&&2===e.range.length)}function Kr(e){return e&&!!e.field&&(o(e.oneOf)||o(e.in))}function eo(e){return Kr(e)||Yr(e)||Zr(e)||Vr(e)||Qr(e)||Jr(e)||Xr(e)}function to(e,t){return Mn(e,{timeUnit:t,time:!0})}function no(e,t=!0){const{field:n,timeUnit:i}=e,r=i?"time("+on(i,n)+")":Cn(e,{expr:"datum"});if(Yr(e))return r+"==="+to(e.equal,i);if(Vr(e)){return`${r}<${to(e.lt,i)}`}if(Qr(e)){return`${r}>${to(e.gt,i)}`}if(Jr(e)){return`${r}<=${to(e.lte,i)}`}if(Xr(e)){return`${r}>=${to(e.gte,i)}`}if(Kr(e))return`indexof([${function(e,t){return e.map(e=>to(e,t))}(e.oneOf,i).join(",")}], ${r}) !== -1`;if(function(e){return e&&!!e.field&&void 0!==e.valid}(e))return e.valid?`${r}!==null&&!isNaN(${r})`:`${r}===null||isNaN(${r})`;if(Zr(e)){const n=e.range[0],o=e.range[1];if(null!==n&&null!==o&&t)return"inrange("+r+", ["+to(n,i)+", "+to(o,i)+"])";const a=[];return null!==n&&a.push(`${r} >= ${to(n,i)}`),null!==o&&a.push(`${r} <= ${to(o,i)}`),a.length>0?a.join(" && "):"true"}throw new Error(`Invalid field predicate: ${JSON.stringify(e)}`)}function io(e){return eo(e)&&e.timeUnit?Object.assign({},e,{timeUnit:sn(e.timeUnit)}):e}function ro(e){return void 0!==e.filter}function oo(e){return void 0!==e.lookup}function ao(e){return void 0!==e.sample}function so(e){return void 0!==e.window}function uo(e){return void 0!==e.joinaggregate}function co(e){return void 0!==e.flatten}function lo(e){return void 0!==e.calculate}function fo(e){return!!e.bin}function po(e){return void 0!==e.impute}function ho(e){return void 0!==e.timeUnit}function mo(e){return void 0!==e.aggregate}function go(e){return void 0!==e.stack}function yo(e){return void 0!==e.fold}function bo(e){return!!e.signal}function vo(e){return!!e.step}function xo(e){return!o(e)&&("field"in e&&"data"in e)}const Ao=Y({opacity:1,fill:1,fillOpacity:1,stroke:1,strokeCap:1,strokeWidth:1,strokeOpacity:1,strokeDash:1,strokeDashOffset:1,strokeJoin:1,strokeMiterLimit:1,size:1,shape:1,interpolate:1,tension:1,orient:1,align:1,baseline:1,text:1,dir:1,dx:1,dy:1,ellipsis:1,limit:1,radius:1,theta:1,angle:1,font:1,fontSize:1,fontWeight:1,fontStyle:1,cursor:1,href:1,tooltip:1,cornerRadius:1,x:1,y:1,x2:1,y2:1,width:1,height:1}),wo=["domain","grid","labels","ticks","title"],Co={grid:"grid",gridColor:"grid",gridDash:"grid",gridOpacity:"grid",gridScale:"grid",gridWidth:"grid",orient:"main",bandPosition:"both",domain:"main",domainColor:"main",domainOpacity:"main",domainWidth:"main",format:"main",formatType:"main",labelAlign:"main",labelAngle:"main",labelBaseline:"main",labelBound:"main",labelColor:"main",labelFlush:"main",labelFlushOffset:"main",labelFont:"main",labelFontSize:"main",labelFontWeight:"main",labelLimit:"main",labelOpacity:"main",labelOverlap:"main",labelPadding:"main",labels:"main",maxExtent:"main",minExtent:"main",offset:"main",position:"main",tickColor:"main",tickExtra:"main",tickOffset:"both",tickOpacity:"main",tickRound:"main",ticks:"main",tickSize:"main",title:"main",titleAlign:"main",titleAngle:"main",titleBaseline:"main",titleColor:"main",titleFont:"main",titleFontSize:"main",titleFontWeight:"main",titleLimit:"main",titleOpacity:"main",titlePadding:"main",titleX:"main",titleY:"main",tickWidth:"both",tickCount:"both",values:"both",scale:"both",zindex:"both"},Fo={orient:1,bandPosition:1,domain:1,domainColor:1,domainDash:1,domainDashOffset:1,domainOpacity:1,domainWidth:1,format:1,formatType:1,grid:1,gridColor:1,gridDash:1,gridDashOffset:1,gridOpacity:1,gridWidth:1,labelAlign:1,labelAngle:1,labelBaseline:1,labelBound:1,labelColor:1,labelFlush:1,labelFlushOffset:1,labelFont:1,labelFontSize:1,labelFontStyle:1,labelFontWeight:1,labelLimit:1,labelOpacity:1,labelOverlap:1,labelPadding:1,labels:1,labelSeparation:1,maxExtent:1,minExtent:1,offset:1,position:1,tickColor:1,tickCount:1,tickDash:1,tickDashOffset:1,tickExtra:1,tickMinStep:1,tickOffset:1,tickOpacity:1,tickRound:1,ticks:1,tickSize:1,tickWidth:1,title:1,titleAlign:1,titleAnchor:1,titleAngle:1,titleBaseline:1,titleColor:1,titleFont:1,titleFontSize:1,titleFontStyle:1,titleFontWeight:1,titleLimit:1,titleOpacity:1,titlePadding:1,titleX:1,titleY:1,values:1,zindex:1},Eo=Object.assign({},Fo,{encoding:1}),Do=Object.assign({gridScale:1,scale:1},Fo,{encode:1});const So=Y(Do);function ko(e,t,n,i={header:!1}){const r=e.combine(),{orient:a,scale:s,title:u,zindex:c}=r,l=ke(r,["orient","scale","title","zindex"]);if(Y(l).forEach(e=>{const n=Co[e];n&&n!==t&&"both"!==n&&delete l[e]}),"grid"===t){if(!l.grid)return;if(l.encode){const{grid:e}=l.encode;l.encode=Object.assign({},e?{grid:e}:{}),0===Y(l.encode).length&&delete l.encode}return Object.assign({scale:s,orient:a},l,{domain:!1,labels:!1,maxExtent:0,minExtent:0,ticks:!1,zindex:re(c,0)})}{if(!i.header&&e.mainExtracted)return;if(l.encode){for(const t of wo)e.hasAxisPart(t)||delete l.encode[t];0===Y(l.encode).length&&delete l.encode}const t=function(e,t){return o(e)?e.map(e=>Bn(e,t)).join(", "):e}(u,n);return Object.assign({scale:s,orient:a,grid:!1},t?{title:t}:{},l,{zindex:re(c,1)})}}function Oo(e){const{axes:t}=e.component;for(const n of Dt)if(t[n])for(const i of t[n])if(!i.get("gridScale")){const t="x"===n?"height":"width";return[{name:t,update:e.getSizeSignalRef(t).signal}]}return[]}const $o={titleAlign:"align",titleAnchor:"anchor",titleAngle:"angle",titleBaseline:"baseline",titleColor:"color",titleFont:"font",titleFontSize:"fontSize",titleFontStyle:"fontStyle",titleFontWeight:"fontWeight",titleLimit:"limit",titleOrient:"orient",titlePadding:"offset"},Bo={labelAlign:"align",labelAnchor:"anchor",labelAngle:"angle",labelColor:"color",labelFont:"font",labelFontSize:"fontSize",labelFontStyle:"fontStyle",labelLimit:"limit",labelOrient:"orient",labelPadding:"offset"},jo=Y($o),No=Y(Bo),_o="mean";function To(e){return!(!e||"count"!==e.op&&!e.field)}function zo(e){return!!e&&o(e)}function Ro(e,t,n,i,r){const o=[..."band"===r?["axisBand"]:[],"x"===n?"axisX":"axisY",...i?["axis"+i.substr(0,1).toUpperCase()+i.substr(1)]:[],"axis"];for(const n of o)if(t[n]&&void 0!==t[n][e])return t[n][e]}function Po(e,t){if(void 0!==e)return e=ae(e),"top"===t||"bottom"===t?e<=45||315<=e?"top"===t?"bottom":"top":135<=e&&e<=225?"top"===t?"top":"bottom":"middle":e<=45||315<=e||135<=e&&e<=225?"middle":45<=e&&e<=135?"left"===t?"top":"bottom":"left"===t?"bottom":"top"}function Uo(e,t){if(void 0!==e)return e=ae(e),"top"===t||"bottom"===t?e%180==0?"center":0<e&&e<180?"top"===t?"right":"left":"top"===t?"left":"right":(e+90)%180==0?"center":90<=e&&e<270?"left"===t?"left":"right":"left"===t?"right":"left"}function Mo(e){switch(e){case Me:return"bottom";case Le:return"left"}throw new Error(zt.INVALID_CHANNEL_FOR_AXIS)}function Lo(e){return[].concat(e.type,e.style||[])}function Io(e,t,n,{vgChannel:i}={}){return re(i?qo(e,t,n.style):void 0,qo(e,t,n.style),i?n[t.type][i]:void 0,n[t.type][e],i?n.mark[i]:n.mark[e])}function qo(e,t,n){const i=Lo(t);let r;for(const t of i){const i=n[t],o=e;i&&void 0!==i[o]&&(r=i[o])}return r}function Wo(e,t,n,i){if(Un(e)){const r=An(e)&&e.scale&&e.scale.type===Ni.UTC;return{signal:Jo(Cn(e,{expr:n}),e.timeUnit,t,i.text.shortTimeLabels,i.timeFormat,r,!0)}}{const r=Ho(e,t,i);if(Wn(e.bin)){return{signal:Vo(Cn(e,{expr:n}),Cn(e,{expr:n,binSuffix:"end"}),r,i)}}return"quantitative"===e.type||r?{signal:`${Go(Cn(e,{expr:n,binSuffix:"range"}),r)}`}:{signal:`''+${Cn(e,{expr:n})}`}}}function Ho(e,t,n){return t||(e.type===cn?n.numberFormat:void 0)}function Go(e,t){return`format(${e}, "${t||""}")`}function Yo(e,t,n){return Go(e,t||n.numberFormat)}function Vo(e,t,n,i){return`${e} === null || isNaN(${e}) ? "null" : ${Yo(e,n,i)} + " - " + ${Yo(t,n,i)}`}function Jo(e,t,n,i,r,o,a=!1){return!t||n?(n=n||r)||a?`${o?"utc":"time"}Format(${e}, '${n}')`:void 0:function(e,t,n,i){if(!e)return;const r=an(e,n);let o="";return rn(e,Xt.QUARTER)&&(o=`'Q' + quarter(${t})`),r.length>0&&(o&&(o+=" + ' ' + "),o+=i?`utcFormat(${t}, '${r.join(" ")}')`:`timeFormat(${t}, '${r.join(" ")}')`),o||void 0}(t,e,i,o)}function Qo(e,t){return(o(e)?e:[e]).reduce((e,n)=>(e.field.push(Cn(n,t)),e.order.push(n.sort||"ascending"),e),{field:[],order:[]})}function Xo(e,t){const n=[...e];return t.forEach(e=>{for(const t of n)if(_(t)===_(e))return;n.push(e)}),n}function Zo(e,t){return e!==t&&t?e?e+", "+t:t:e}function Ko(e,t){if(o(e.value)&&o(t.value))return{explicit:e.explicit,value:Xo(e.value,t.value)};if(!o(e.value)&&!o(t.value))return{explicit:e.explicit,value:Zo(e.value,t.value)};throw new Error("It should never reach here")}class ea{constructor(e,t){this.debugName=t,this._children=[],this._parent=null,e&&(this.parent=e)}clone(){throw new Error("Cannot clone node")}hash(){return void 0===this._hash&&(this._hash=function(e){const t=++oe;return e?String(e)+t:t}()),this._hash}producedFields(){return new Set}dependentFields(){return new Set}get parent(){return this._parent}set parent(e){this._parent=e,e&&e.addChild(this)}get children(){return this._children}numChildren(){return this._children.length}addChild(e,t){this._children.indexOf(e)>-1?console.warn("Attempt to add the same child twice."):void 0!==t?this._children.splice(t,0,e):this._children.push(e)}removeChild(e){const t=this._children.indexOf(e);return this._children.splice(t,1),t}remove(){let e=this._parent.removeChild(this);for(const t of this._children)t._parent=this._parent,this._parent.addChild(t,e++)}insertAsParentOf(e){const t=e.parent;t.removeChild(this),this.parent=t,e.parent=this}swapWithParent(){const e=this._parent,t=e.parent;for(const t of this._children)t.parent=e;this._children=[],e.removeChild(this),e.parent.removeChild(e),this.parent=t,e.parent=this}}class ta extends ea{constructor(e,t,n,i){super(e,t),this.type=n,this.refCounts=i,this._source=this._name=t,!this.refCounts||this._name in this.refCounts||(this.refCounts[this._name]=0)}clone(){const e=new this.constructor;return e.debugName="clone_"+this.debugName,e._source=this._source,e._name="clone_"+this._name,e.type=this.type,e.refCounts=this.refCounts,e.refCounts[e._name]=0,e}getSource(){return this.refCounts[this._name]++,this._source}isRequired(){return!!this.refCounts[this._name]}setSource(e){this._source=e}}var na,ia,ra,oa,aa,sa="RawCode",ua="Literal",ca="Property",la="Identifier",fa="ArrayExpression",da="BinaryExpression",pa="CallExpression",ha="ConditionalExpression",ma="LogicalExpression",ga="MemberExpression",ya="ObjectExpression",ba="UnaryExpression";function va(e){this.type=e}va.prototype.visit=function(e){var t,n,i;if(e(this))return 1;for(n=0,i=(t=function(e){switch(e.type){case fa:return e.elements;case da:case ma:return[e.left,e.right];case pa:var t=e.arguments.slice();return t.unshift(e.callee),t;case ha:return[e.test,e.consequent,e.alternate];case ga:return[e.object,e.property];case ya:return e.properties;case ca:return[e.key,e.value];case ba:return[e.argument];case la:case ua:case sa:default:return[]}}(this)).length;n<i;++n)if(t[n].visit(e))return 1};var xa=1,Aa=2,wa=3,Ca=4,Fa=5,Ea=6,Da=7,Sa=8;(na={})[xa]="Boolean",na[Aa]="<end>",na[wa]="Identifier",na[Ca]="Keyword",na[Fa]="Null",na[Ea]="Numeric",na[Da]="Punctuator",na[Sa]="String",na[9]="RegularExpression";var ka="ArrayExpression",Oa="BinaryExpression",$a="CallExpression",Ba="ConditionalExpression",ja="Identifier",Na="Literal",_a="LogicalExpression",Ta="MemberExpression",za="ObjectExpression",Ra="Property",Pa="UnaryExpression",Ua="Unexpected token %0",Ma="Unexpected number",La="Unexpected string",Ia="Unexpected identifier",qa="Unexpected reserved word",Wa="Unexpected end of input",Ha="Invalid regular expression",Ga="Invalid regular expression: missing /",Ya="Octal literals are not allowed in strict mode.",Va="Duplicate data property in object literal not allowed in strict mode",Ja="ILLEGAL",Qa="Disabled.",Xa=new RegExp("[\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0620-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06E5\\u06E6\\u06EE\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u07F4\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\u08A0-\\u08B2\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C58\\u0C59\\u0C60\\u0C61\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D60\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u13A0-\\u13F4\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1877\\u1880-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19C1-\\u19C7\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1CE9-\\u1CEC\\u1CEE-\\u1CF1\\u1CF5\\u1CF6\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2071\\u207F\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2E2F\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FCC\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6EF\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA78E\\uA790-\\uA7AD\\uA7B0\\uA7B1\\uA7F7-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uA9E0-\\uA9E4\\uA9E6-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB5F\\uAB64\\uAB65\\uABC0-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]"),Za=new RegExp("[\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0300-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u0483-\\u0487\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0610-\\u061A\\u0620-\\u0669\\u066E-\\u06D3\\u06D5-\\u06DC\\u06DF-\\u06E8\\u06EA-\\u06FC\\u06FF\\u0710-\\u074A\\u074D-\\u07B1\\u07C0-\\u07F5\\u07FA\\u0800-\\u082D\\u0840-\\u085B\\u08A0-\\u08B2\\u08E4-\\u0963\\u0966-\\u096F\\u0971-\\u0983\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BC-\\u09C4\\u09C7\\u09C8\\u09CB-\\u09CE\\u09D7\\u09DC\\u09DD\\u09DF-\\u09E3\\u09E6-\\u09F1\\u0A01-\\u0A03\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A3C\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A59-\\u0A5C\\u0A5E\\u0A66-\\u0A75\\u0A81-\\u0A83\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABC-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0AD0\\u0AE0-\\u0AE3\\u0AE6-\\u0AEF\\u0B01-\\u0B03\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3C-\\u0B44\\u0B47\\u0B48\\u0B4B-\\u0B4D\\u0B56\\u0B57\\u0B5C\\u0B5D\\u0B5F-\\u0B63\\u0B66-\\u0B6F\\u0B71\\u0B82\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD0\\u0BD7\\u0BE6-\\u0BEF\\u0C00-\\u0C03\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C58\\u0C59\\u0C60-\\u0C63\\u0C66-\\u0C6F\\u0C81-\\u0C83\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBC-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5\\u0CD6\\u0CDE\\u0CE0-\\u0CE3\\u0CE6-\\u0CEF\\u0CF1\\u0CF2\\u0D01-\\u0D03\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4E\\u0D57\\u0D60-\\u0D63\\u0D66-\\u0D6F\\u0D7A-\\u0D7F\\u0D82\\u0D83\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DE6-\\u0DEF\\u0DF2\\u0DF3\\u0E01-\\u0E3A\\u0E40-\\u0E4E\\u0E50-\\u0E59\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB9\\u0EBB-\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EC8-\\u0ECD\\u0ED0-\\u0ED9\\u0EDC-\\u0EDF\\u0F00\\u0F18\\u0F19\\u0F20-\\u0F29\\u0F35\\u0F37\\u0F39\\u0F3E-\\u0F47\\u0F49-\\u0F6C\\u0F71-\\u0F84\\u0F86-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u1000-\\u1049\\u1050-\\u109D\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u135D-\\u135F\\u1380-\\u138F\\u13A0-\\u13F4\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1714\\u1720-\\u1734\\u1740-\\u1753\\u1760-\\u176C\\u176E-\\u1770\\u1772\\u1773\\u1780-\\u17D3\\u17D7\\u17DC\\u17DD\\u17E0-\\u17E9\\u180B-\\u180D\\u1810-\\u1819\\u1820-\\u1877\\u1880-\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1920-\\u192B\\u1930-\\u193B\\u1946-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u19D0-\\u19D9\\u1A00-\\u1A1B\\u1A20-\\u1A5E\\u1A60-\\u1A7C\\u1A7F-\\u1A89\\u1A90-\\u1A99\\u1AA7\\u1AB0-\\u1ABD\\u1B00-\\u1B4B\\u1B50-\\u1B59\\u1B6B-\\u1B73\\u1B80-\\u1BF3\\u1C00-\\u1C37\\u1C40-\\u1C49\\u1C4D-\\u1C7D\\u1CD0-\\u1CD2\\u1CD4-\\u1CF6\\u1CF8\\u1CF9\\u1D00-\\u1DF5\\u1DFC-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u200C\\u200D\\u203F\\u2040\\u2054\\u2071\\u207F\\u2090-\\u209C\\u20D0-\\u20DC\\u20E1\\u20E5-\\u20F0\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D7F-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2DE0-\\u2DFF\\u2E2F\\u3005-\\u3007\\u3021-\\u302F\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u3099\\u309A\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FCC\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA62B\\uA640-\\uA66F\\uA674-\\uA67D\\uA67F-\\uA69D\\uA69F-\\uA6F1\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA78E\\uA790-\\uA7AD\\uA7B0\\uA7B1\\uA7F7-\\uA827\\uA840-\\uA873\\uA880-\\uA8C4\\uA8D0-\\uA8D9\\uA8E0-\\uA8F7\\uA8FB\\uA900-\\uA92D\\uA930-\\uA953\\uA960-\\uA97C\\uA980-\\uA9C0\\uA9CF-\\uA9D9\\uA9E0-\\uA9FE\\uAA00-\\uAA36\\uAA40-\\uAA4D\\uAA50-\\uAA59\\uAA60-\\uAA76\\uAA7A-\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEF\\uAAF2-\\uAAF6\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB5F\\uAB64\\uAB65\\uABC0-\\uABEA\\uABEC\\uABED\\uABF0-\\uABF9\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE00-\\uFE0F\\uFE20-\\uFE2D\\uFE33\\uFE34\\uFE4D-\\uFE4F\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF10-\\uFF19\\uFF21-\\uFF3A\\uFF3F\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]");function Ka(e,t){if(!e)throw new Error("ASSERT: "+t)}function es(e){return e>=48&&e<=57}function ts(e){return"0123456789abcdefABCDEF".indexOf(e)>=0}function ns(e){return"01234567".indexOf(e)>=0}function is(e){return 32===e||9===e||11===e||12===e||160===e||e>=5760&&[5760,6158,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288,65279].indexOf(e)>=0}function rs(e){return 10===e||13===e||8232===e||8233===e}function os(e){return 36===e||95===e||e>=65&&e<=90||e>=97&&e<=122||92===e||e>=128&&Xa.test(String.fromCharCode(e))}function as(e){return 36===e||95===e||e>=65&&e<=90||e>=97&&e<=122||e>=48&&e<=57||92===e||e>=128&&Za.test(String.fromCharCode(e))}var ss={if:1,in:1,do:1,var:1,for:1,new:1,try:1,let:1,this:1,else:1,case:1,void:1,with:1,enum:1,while:1,break:1,catch:1,throw:1,const:1,yield:1,class:1,super:1,return:1,typeof:1,delete:1,switch:1,export:1,import:1,public:1,static:1,default:1,finally:1,extends:1,package:1,private:1,function:1,continue:1,debugger:1,interface:1,protected:1,instanceof:1,implements:1};function us(){for(var e;ra<oa&&(is(e=ia.charCodeAt(ra))||rs(e));)++ra}function cs(e){var t,n,i,r=0;for(n="u"===e?4:2,t=0;t<n;++t)ra<oa&&ts(ia[ra])?(i=ia[ra++],r=16*r+"0123456789abcdef".indexOf(i.toLowerCase())):Es({},Ua,Ja);return String.fromCharCode(r)}function ls(){var e,t,n,i;for(t=0,"}"===(e=ia[ra])&&Es({},Ua,Ja);ra<oa&&ts(e=ia[ra++]);)t=16*t+"0123456789abcdef".indexOf(e.toLowerCase());return(t>1114111||"}"!==e)&&Es({},Ua,Ja),t<=65535?String.fromCharCode(t):(n=55296+(t-65536>>10),i=56320+(t-65536&1023),String.fromCharCode(n,i))}function fs(){var e,t;for(e=ia.charCodeAt(ra++),t=String.fromCharCode(e),92===e&&(117!==ia.charCodeAt(ra)&&Es({},Ua,Ja),++ra,(e=cs("u"))&&"\\"!==e&&os(e.charCodeAt(0))||Es({},Ua,Ja),t=e);ra<oa&&as(e=ia.charCodeAt(ra));)++ra,t+=String.fromCharCode(e),92===e&&(t=t.substr(0,t.length-1),117!==ia.charCodeAt(ra)&&Es({},Ua,Ja),++ra,(e=cs("u"))&&"\\"!==e&&as(e.charCodeAt(0))||Es({},Ua,Ja),t+=e);return t}function ds(){var e,t;return e=ra,{type:1===(t=92===ia.charCodeAt(ra)?fs():function(){var e,t;for(e=ra++;ra<oa;){if(92===(t=ia.charCodeAt(ra)))return ra=e,fs();if(!as(t))break;++ra}return ia.slice(e,ra)}()).length?wa:ss.hasOwnProperty(t)?Ca:"null"===t?Fa:"true"===t||"false"===t?xa:wa,value:t,start:e,end:ra}}function ps(){var e,t,n,i,r=ra,o=ia.charCodeAt(ra),a=ia[ra];switch(o){case 46:case 40:case 41:case 59:case 44:case 123:case 125:case 91:case 93:case 58:case 63:case 126:return++ra,{type:Da,value:String.fromCharCode(o),start:r,end:ra};default:if(61===(e=ia.charCodeAt(ra+1)))switch(o){case 43:case 45:case 47:case 60:case 62:case 94:case 124:case 37:case 38:case 42:return ra+=2,{type:Da,value:String.fromCharCode(o)+String.fromCharCode(e),start:r,end:ra};case 33:case 61:return ra+=2,61===ia.charCodeAt(ra)&&++ra,{type:Da,value:ia.slice(r,ra),start:r,end:ra}}}return">>>="===(i=ia.substr(ra,4))?{type:Da,value:i,start:r,end:ra+=4}:">>>"===(n=i.substr(0,3))||"<<="===n||">>="===n?{type:Da,value:n,start:r,end:ra+=3}:a===(t=n.substr(0,2))[1]&&"+-<>&|".indexOf(a)>=0||"=>"===t?{type:Da,value:t,start:r,end:ra+=2}:"<>=!+-*%&|^/".indexOf(a)>=0?{type:Da,value:a,start:r,end:++ra}:void Es({},Ua,Ja)}function hs(){var e,t,n;if(Ka(es((n=ia[ra]).charCodeAt(0))||"."===n,"Numeric literal must start with a decimal digit or a decimal point"),t=ra,e="","."!==n){if(e=ia[ra++],n=ia[ra],"0"===e){if("x"===n||"X"===n)return++ra,function(e){for(var t="";ra<oa&&ts(ia[ra]);)t+=ia[ra++];return 0===t.length&&Es({},Ua,Ja),os(ia.charCodeAt(ra))&&Es({},Ua,Ja),{type:Ea,value:parseInt("0x"+t,16),start:e,end:ra}}(t);if(ns(n))return function(e){for(var t="0"+ia[ra++];ra<oa&&ns(ia[ra]);)t+=ia[ra++];return(os(ia.charCodeAt(ra))||es(ia.charCodeAt(ra)))&&Es({},Ua,Ja),{type:Ea,value:parseInt(t,8),octal:!0,start:e,end:ra}}(t);n&&es(n.charCodeAt(0))&&Es({},Ua,Ja)}for(;es(ia.charCodeAt(ra));)e+=ia[ra++];n=ia[ra]}if("."===n){for(e+=ia[ra++];es(ia.charCodeAt(ra));)e+=ia[ra++];n=ia[ra]}if("e"===n||"E"===n)if(e+=ia[ra++],"+"!==(n=ia[ra])&&"-"!==n||(e+=ia[ra++]),es(ia.charCodeAt(ra)))for(;es(ia.charCodeAt(ra));)e+=ia[ra++];else Es({},Ua,Ja);return os(ia.charCodeAt(ra))&&Es({},Ua,Ja),{type:Ea,value:parseFloat(e),start:t,end:ra}}function ms(){var e,t,n,i;return aa=null,us(),e=ra,t=function(){var e,t,n,i;for(Ka("/"===(e=ia[ra]),"Regular expression literal must start with a slash"),t=ia[ra++],n=!1,i=!1;ra<oa;)if(t+=e=ia[ra++],"\\"===e)rs((e=ia[ra++]).charCodeAt(0))&&Es({},Ga),t+=e;else if(rs(e.charCodeAt(0)))Es({},Ga);else if(n)"]"===e&&(n=!1);else{if("/"===e){i=!0;break}"["===e&&(n=!0)}return i||Es({},Ga),{value:t.substr(1,t.length-2),literal:t}}(),n=function(){var e,t,n;for(t="",n="";ra<oa&&as((e=ia[ra]).charCodeAt(0));)++ra,"\\"===e&&ra<oa?Es({},Ua,Ja):(n+=e,t+=e);return n.search(/[^gimuy]/g)>=0&&Es({},Ha,n),{value:n,literal:t}}(),i=function(e,t){var n=e;t.indexOf("u")>=0&&(n=n.replace(/\\u\{([0-9a-fA-F]+)\}/g,function(e,t){if(parseInt(t,16)<=1114111)return"x";Es({},Ha)}).replace(/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,"x"));try{new RegExp(n)}catch(e){Es({},Ha)}try{return new RegExp(e,t)}catch(e){return null}}(t.value,n.value),{literal:t.literal+n.literal,value:i,regex:{pattern:t.value,flags:n.value},start:e,end:ra}}function gs(){var e;return us(),ra>=oa?{type:Aa,start:ra,end:ra}:os(e=ia.charCodeAt(ra))?ds():40===e||41===e||59===e?ps():39===e||34===e?function(){var e,t,n,i,r="",o=!1;for(Ka("'"===(e=ia[ra])||'"'===e,"String literal must starts with a quote"),t=ra,++ra;ra<oa;){if((n=ia[ra++])===e){e="";break}if("\\"===n)if((n=ia[ra++])&&rs(n.charCodeAt(0)))"\r"===n&&"\n"===ia[ra]&&++ra;else switch(n){case"u":case"x":"{"===ia[ra]?(++ra,r+=ls()):r+=cs(n);break;case"n":r+="\n";break;case"r":r+="\r";break;case"t":r+="\t";break;case"b":r+="\b";break;case"f":r+="\f";break;case"v":r+="\v";break;default:ns(n)?(0!==(i="01234567".indexOf(n))&&(o=!0),ra<oa&&ns(ia[ra])&&(o=!0,i=8*i+"01234567".indexOf(ia[ra++]),"0123".indexOf(n)>=0&&ra<oa&&ns(ia[ra])&&(i=8*i+"01234567".indexOf(ia[ra++]))),r+=String.fromCharCode(i)):r+=n}else{if(rs(n.charCodeAt(0)))break;r+=n}}return""!==e&&Es({},Ua,Ja),{type:Sa,value:r,octal:o,start:t,end:ra}}():46===e?es(ia.charCodeAt(ra+1))?hs():ps():es(e)?hs():ps()}function ys(){var e;return ra=(e=aa).end,aa=gs(),ra=e.end,e}function bs(){var e;e=ra,aa=gs(),ra=e}function vs(e,t,n){var i=new va("||"===e||"&&"===e?_a:Oa);return i.operator=e,i.left=t,i.right=n,i}function xs(e,t){var n=new va($a);return n.callee=e,n.arguments=t,n}function As(e){var t=new va(ja);return t.name=e,t}function ws(e){var t=new va(Na);return t.value=e.value,t.raw=ia.slice(e.start,e.end),e.regex&&("//"===t.raw&&(t.raw="/(?:)/"),t.regex=e.regex),t}function Cs(e,t,n){var i=new va(Ta);return i.computed="["===e,i.object=t,i.property=n,i.computed||(n.member=!0),i}function Fs(e,t,n){var i=new va(Ra);return i.key=t,i.value=n,i.kind=e,i}function Es(e,t){var n,i=Array.prototype.slice.call(arguments,2),r=t.replace(/%(\d)/g,function(e,t){return Ka(t<i.length,"Message reference must be in range"),i[t]});throw(n=new Error(r)).index=ra,n.description=r,n}function Ds(e){e.type===Aa&&Es(e,Wa),e.type===Ea&&Es(e,Ma),e.type===Sa&&Es(e,La),e.type===wa&&Es(e,Ia),e.type===Ca&&Es(e,qa),Es(e,Ua,e.value)}function Ss(e){var t=ys();t.type===Da&&t.value===e||Ds(t)}function ks(e){return aa.type===Da&&aa.value===e}function Os(e){return aa.type===Ca&&aa.value===e}function $s(){var e=[];for(ra=aa.start,Ss("[");!ks("]");)ks(",")?(ys(),e.push(null)):(e.push(Is()),ks("]")||Ss(","));return ys(),function(e){var t=new va(ka);return t.elements=e,t}(e)}function Bs(){var e;return ra=aa.start,(e=ys()).type===Sa||e.type===Ea?(e.octal&&Es(e,Ya),ws(e)):As(e.value)}function js(){var e,t,n;return ra=aa.start,(e=aa).type===wa?(n=Bs(),Ss(":"),Fs("init",n,Is())):e.type!==Aa&&e.type!==Da?(t=Bs(),Ss(":"),Fs("init",t,Is())):void Ds(e)}function Ns(){var e,t,n=[],i={},r=String;for(ra=aa.start,Ss("{");!ks("}");)t="$"+((e=js()).key.type===ja?e.key.name:r(e.key.value)),Object.prototype.hasOwnProperty.call(i,t)?Es({},Va):i[t]=!0,n.push(e),ks("}")||Ss(",");return Ss("}"),function(e){var t=new va(za);return t.properties=e,t}(n)}var _s={if:1,this:1};function Ts(){var e,t,n;if(ks("("))return function(){var e;return Ss("("),e=qs(),Ss(")"),e}();if(ks("["))return $s();if(ks("{"))return Ns();if(e=aa.type,ra=aa.start,e===wa||_s[aa.value])n=As(ys().value);else if(e===Sa||e===Ea)aa.octal&&Es(aa,Ya),n=ws(ys());else{if(e===Ca)throw new Error(Qa);e===xa?((t=ys()).value="true"===t.value,n=ws(t)):e===Fa?((t=ys()).value=null,n=ws(t)):ks("/")||ks("/=")?(n=ws(ms()),bs()):Ds(ys())}return n}function zs(){var e=[];if(Ss("("),!ks(")"))for(;ra<oa&&(e.push(Is()),!ks(")"));)Ss(",");return Ss(")"),e}function Rs(){var e;return ra=aa.start,function(e){return e.type===wa||e.type===Ca||e.type===xa||e.type===Fa}(e=ys())||Ds(e),As(e.value)}function Ps(){var e;return Ss("["),e=qs(),Ss("]"),e}function Us(){var e=function(){var e;for(e=Ts();;)if(ks("."))Ss("."),e=Cs(".",e,Rs());else if(ks("("))e=xs(e,zs());else{if(!ks("["))break;e=Cs("[",e,Ps())}return e}();if(aa.type===Da&&(ks("++")||ks("--")))throw new Error(Qa);return e}function Ms(){var e,t,n,i,r;if(aa.type!==Da&&aa.type!==Ca)t=Us();else{if(ks("++")||ks("--"))throw new Error(Qa);if(ks("+")||ks("-")||ks("~")||ks("!"))e=ys(),t=Ms(),n=e.value,i=t,(r=new va(Pa)).operator=n,r.argument=i,r.prefix=!0,t=r;else{if(Os("delete")||Os("void")||Os("typeof"))throw new Error(Qa);t=Us()}}return t}function Ls(e){var t=0;if(e.type!==Da&&e.type!==Ca)return 0;switch(e.value){case"||":t=1;break;case"&&":t=2;break;case"|":t=3;break;case"^":t=4;break;case"&":t=5;break;case"==":case"!=":case"===":case"!==":t=6;break;case"<":case">":case"<=":case">=":case"instanceof":case"in":t=7;break;case"<<":case">>":case">>>":t=8;break;case"+":case"-":t=9;break;case"*":case"/":case"%":t=11}return t}function Is(){var e,t;return e=function(){var e,t,n,i,r,o,a,s,u,c;if(e=aa,u=Ms(),0===(r=Ls(i=aa)))return u;for(i.prec=r,ys(),t=[e,aa],o=[u,i,a=Ms()];(r=Ls(aa))>0;){for(;o.length>2&&r<=o[o.length-2].prec;)a=o.pop(),s=o.pop().value,u=o.pop(),t.pop(),n=vs(s,u,a),o.push(n);(i=ys()).prec=r,o.push(i),t.push(aa),n=Ms(),o.push(n)}for(n=o[c=o.length-1],t.pop();c>1;)t.pop(),n=vs(o[c-1].value,o[c-2],n),c-=2;return n}(),ks("?")&&(ys(),t=Is(),Ss(":"),e=function(e,t,n){var i=new va(Ba);return i.test=e,i.consequent=t,i.alternate=n,i}(e,t,Is())),e}function qs(){var e=Is();if(ks(","))throw new Error(Qa);return e}function Ws(e){const t=function(e){ra=0,oa=(ia=e).length,aa=null,bs();var t=qs();if(aa.type!==Aa)throw new Error("Unexpect token after expression.");return t}(e),n=new Set;return t.visit(e=>{"MemberExpression"===e.type&&function e(t){return"MemberExpression"===t.object.type?e(t.object):"datum"===t.object.name}(e)&&n.add(function e(t){const n=[];return"Identifier"===t.type?[t.name]:"Literal"===t.type?[t.value]:("MemberExpression"===t.type&&(n.push(...e(t.object)),n.push(...e(t.property))),n)}(e).slice(1).join("."))}),n}class Hs extends ea{constructor(e,t){super(e),this.transform=t,this._dependentFields=Ws(this.transform.calculate)}clone(){return new Hs(null,B(this.transform))}static parseAllForSortIndex(e,t){return t.forEachFieldDef((t,n)=>{if(An(t)&&zo(t.sort)){const{field:i,timeUnit:r}=t,o=t.sort,a=o.map((e,t)=>`${no({field:i,timeUnit:r,equal:e})} ? ${t} : `).join("")+o.length;e=new Hs(e,{calculate:a,as:Gs(t,n,{forAs:!0})})}}),e}producedFields(){return new Set([this.transform.as])}dependentFields(){return this._dependentFields}assemble(){return{type:"formula",expr:this.transform.calculate,as:this.transform.as}}hash(){return`Calculate ${T(this.transform)}`}}function Gs(e,t,n){return Cn(e,Object.assign({prefix:t,suffix:"sort_index"},n||{}))}function Ys(e,t){return R(["top","bottom"],t)?"column":R(["left","right"],t)?"row":"row"===e?"row":"column"}function Vs(e,t,n,i){const r="row"===i?n.headerRow:"column"===i?n.headerColumn:n.headerFacet;return re(t&&t.header?t.header[e]:void 0,r[e],n.header[e])}function Js(e,t,n,i){const r={};for(const o of e){const e=Vs(o,t,n,i);void 0!==e&&(r[o]=e)}return r}const Qs=["row","column"],Xs=["header","footer"];function Zs(e,t){const n=e.component.layoutHeaders[t].title,i=e.config?e.config:void 0,r=e.component.layoutHeaders[t].facetFieldDef?e.component.layoutHeaders[t].facetFieldDef:void 0,{titleAnchor:o,titleAngle:a,titleOrient:s}=Js(["titleAnchor","titleAngle","titleOrient"],r,i,t),u=Ys(t,s);return{name:`${t}-title`,type:"group",role:`${u}-title`,title:Object.assign({text:n},"row"===t?{orient:"left"}:{},{style:"guide-title"},eu(a,u),Ks(u,a,o),su(i,r,t,jo,$o))}}function Ks(e,t,n="middle"){switch(n){case"start":return{align:"left"};case"end":return{align:"right"}}const i=Uo(t,"row"===e?"left":"top");return i?{align:i}:{}}function eu(e,t){const n=Po(e,"row"===t?"left":"top");return n?{baseline:n}:{}}function tu(e,t){const n=e.component.layoutHeaders[t],i=[];for(const r of Xs)if(n[r])for(const o of n[r])i.push(ru(e,t,r,n,o));return i}function nu(e,t){const{sort:n}=e;return To(n)?{field:Cn(n,{expr:"datum"}),order:n.order||"ascending"}:o(n)?{field:Gs(e,t,{expr:"datum"}),order:"ascending"}:{field:Cn(e,{expr:"datum"}),order:n||"ascending"}}function iu(e,t,n){const{format:i,labelAngle:r,labelAnchor:o,labelOrient:a}=Js(["format","labelAngle","labelAnchor","labelOrient"],e,n,t),s=Ys(t,a);return Object.assign({text:Wo(e,i,"parent",n)},"row"===t?{orient:"left"}:{},{style:"guide-label",frame:"group"},eu(r,s),Ks(s,r,o),su(n,e,t,No,Bo))}function ru(e,t,n,i,r){if(r){let o=null;const{facetFieldDef:a}=i,s=e.config?e.config:void 0;if(a&&r.labels){const{labelOrient:e}=Js(["labelOrient"],a,s,t);("row"===t&&!R(["top","bottom"],e)||"column"===t&&!R(["left","right"],e))&&(o=iu(a,t,s))}const u=Of(e)&&!Jt(e.facet),c=r.axes,l=c&&c.length>0;if(o||l){const s="row"===t?"height":"width";return Object.assign({name:e.getName(`${t}_${n}`),type:"group",role:`${t}-${n}`},i.facetFieldDef?{from:{data:e.getName(t+"_domain")},sort:nu(a,t)}:{},l&&u?{from:{data:e.getName(`facet_domain_${t}`)}}:{},o?{title:o}:{},r.sizeSignal?{encode:{update:{[s]:r.sizeSignal}}}:{},l?{axes:c}:{})}}return null}const ou={column:{start:0,end:1},row:{start:1,end:0}};function au(e,t){return ou[t][e]}function su(e,t,n,i,r){const o={};for(const a of i){if(!r[a])continue;const i=Vs(a,t,e,n);void 0!==i&&(o[r[a]]=i)}return o}function uu(e){return[...cu(e,"width"),...cu(e,"height")]}function cu(e,t){const n="width"===t?"x":"y",i=e.component.layoutSize.get(t);if(!i||"merged"===i)return[];const r=e.getSizeSignalRef(t).signal;if("range-step"===i){const t=e.getScaleComponent(n);if(t){const i=t.get("type"),o=t.get("range");if(Wi(i)&&vo(o)){const i=e.scaleName(n);if(Of(e.parent)){if("independent"===e.parent.component.resolve.scale[n])return[lu(i,o)]}return[lu(i,o),{name:r,update:fu(i,t,`domain('${i}').length`)}]}}throw new Error("layout size is range step although there is no rangeStep.")}return[{name:r,value:i}]}function lu(e,t){return{name:e+"_step",value:t.step}}function fu(e,t,n){const i=t.get("type"),r=t.get("padding"),o=re(t.get("paddingOuter"),r);let a=t.get("paddingInner");return`bandspace(${n}, ${a="band"===i?void 0!==a?a:r:1}, ${o}) * ${e}_step`}function du(e,t,n){return pu=t||mu,hu=n||Eu,Su(e.trim()).map(ku)}var pu,hu,mu="view",gu="[",yu="]",bu="{",vu="}",xu=":",Au=",",wu="@",Cu=">",Fu=/[[\]{}]/,Eu={"*":1,arc:1,area:1,group:1,image:1,line:1,path:1,rect:1,rule:1,shape:1,symbol:1,text:1,trail:1};function Du(e,t,n,i,r){for(var o,a=0,s=e.length;t<s;++t){if(o=e[t],!a&&o===n)return t;r&&r.indexOf(o)>=0?--a:i&&i.indexOf(o)>=0&&++a}return t}function Su(e){for(var t=[],n=0,i=e.length,r=0;r<i;)r=Du(e,r,Au,gu+bu,yu+vu),t.push(e.substring(n,r).trim()),n=++r;if(0===t.length)throw"Empty event selector: "+e;return t}function ku(e){return"["===e[0]?function(e){var t,n,i=e.length,r=1;if((r=Du(e,r,yu,gu,yu))===i)throw"Empty between selector: "+e;if(2!==(t=Su(e.substring(1,r))).length)throw"Between selector must have two elements: "+e;if((e=e.slice(r+1).trim())[0]!==Cu)throw"Expected '>' after between selector: "+e;if(t=t.map(ku),(n=ku(e.slice(1).trim())).between)return{between:t,stream:n};n.between=t;return n}(e):function(e){var t,n,i={source:pu},r=[],o=[0,0],a=0,s=0,u=e.length,c=0;if(e[u-1]===vu){if(!((c=e.lastIndexOf(bu))>=0))throw"Unmatched right brace: "+e;try{o=function(e){var t=e.split(Au);if(!e.length||t.length>2)throw e;return t.map(function(t){var n=+t;if(n!=n)throw e;return n})}(e.substring(c+1,u-1))}catch(t){throw"Invalid throttle specification: "+e}e=e.slice(0,c).trim(),u=e.length,c=0}if(!u)throw e;e[0]===wu&&(a=++c);(t=Du(e,c,xu))<u&&(r.push(e.substring(s,t).trim()),s=c=++t);if((c=Du(e,c,gu))===u)r.push(e.substring(s,u).trim());else if(r.push(e.substring(s,c).trim()),n=[],(s=++c)===u)throw"Unmatched left bracket: "+e;for(;c<u;){if((c=Du(e,c,yu))===u)throw"Unmatched left bracket: "+e;if(n.push(e.substring(s,c).trim()),c<u-1&&e[++c]!==gu)throw"Expected left bracket: "+e;s=++c}if(!(u=r.length)||Fu.test(r[u-1]))throw"Invalid event selector: "+e;u>1?(i.type=r[1],a?i.markname=r[0].slice(1):!function(e){return hu.hasOwnProperty(e)}(r[0])?i.source=r[0]:i.marktype=r[0]):i.type=r[0];"!"===i.type.slice(-1)&&(i.consume=!0,i.type=i.type.slice(0,-1));null!=n&&(i.filter=n);o[0]&&(i.throttle=o[0]);o[1]&&(i.debounce=o[1]);return i}(e)}class Ou extends ea{constructor(e,t){super(e),this.formula=t}clone(){return new Ou(null,B(this.formula))}static makeFromEncoding(e,t){const n=t.reduceFieldDef((e,t)=>{const{timeUnit:n,field:i}=t;if(n){const r={as:Cn(t,{forAs:!0}),timeUnit:n,field:i};e[T(r)]=r}return e},{});return 0===Y(n).length?null:new Ou(e,n)}static makeFromTransform(e,t){const n=Object.assign({},t);return new Ou(e,{[T(n)]:n})}merge(e){this.formula=Object.assign({},this.formula,e.formula);for(const t of e.children)e.removeChild(t),t.parent=this;e.remove()}producedFields(){return new Set(V(this.formula).map(e=>e.as))}dependentFields(){return new Set(V(this.formula).map(e=>e.field))}hash(){return`TimeUnit ${T(this.formula)}`}assemble(){return V(this.formula).map(e=>({type:"formula",as:e.as,expr:on(e.timeUnit,e.field)}))}}const $u={has:e=>"interval"===e.type&&"global"===e.resolve&&e.bind&&"scales"===e.bind,parse:(e,t,n)=>{const i=Q(n.name),r=n.scales=[];for(const t of n.project.items){const n=t.channel;if(!Bt(n))continue;const o=e.getScaleComponent(n),a=o?o.get("type"):void 0;if(o&&Hi(a)){if(o.set("domainRaw",{signal:ee(t.field,i)},!0),r.push(t),e.repeater&&e.repeater.row===e.repeater.column){e.getScaleComponent(n===Me?Le:Me).set("domainRaw",{signal:ee(t.field,i)},!0)}}else Lt(zt.SCALE_BINDINGS_CONTINUOUS)}},topLevelSignals:(e,t,n)=>{const i=t.scales.filter(e=>!n.filter(t=>t.name===e.signals.data).length);if(!e.parent||!i.length)return n;const r=n.filter(e=>e.name===t.name)[0],o=r.update;if(o.indexOf(Wu)>=0)r.update=`{${i.map(e=>`${u(e.field)}: ${e.signals.data}`).join(", ")}}`;else for(const e of i){const t=`, ${u(e.field)}: ${e.signals.data}`;o.indexOf(t)<0&&(r.update=o.substring(0,o.length-1)+t+"}")}return n.concat(i.map(e=>({name:e.signals.data})))},signals:(e,t,n)=>{if(e.parent)for(const e of t.scales){const t=n.filter(t=>t.name===e.signals.data)[0];t.push="outer",delete t.value,delete t.update}return n}};function Bu(e,t){return`domain(${u(e.scaleName(t))})`}const ju="_tuple_fields";class Nu{constructor(...e){this.items=e,this.has={}}}const _u="_scale_trigger",Tu={signals:(e,t)=>{const n=t.name,i=n+ju,r=$u.has(t),o=[],a=[],s=[];if(t.translate&&!r){const e=`!event.item || event.item.mark.name !== ${u(n+"_brush")}`;zu(t,(t,n)=>{const i=n.between[0].filter||(n.between[0].filter=[]);i.indexOf(e)<0&&i.push(e)})}t.project.items.forEach((n,i)=>{const r=n.channel;if(r!==Me&&r!==Le)return void Lt("Interval selections only support x and y encoding channels.");const c=t.init?t.init[i]:null,l=function(e,t,n,i){const r=n.channel,o=n.signals.visual,a=n.signals.data,s=$u.has(t),c=u(e.scaleName(r)),l=e.getScaleComponent(r),f=l?l.get("type"):void 0,d=e=>`scale(${c}, ${e})`,p=e.getSizeSignalRef(r===Me?"width":"height").signal,h=`${r}(unit)`,m=zu(t,(e,t)=>[...e,{events:t.between[0],update:`[${h}, ${h}]`},{events:t,update:`[${o}[0], clamp(${h}, 0, ${p})]`}]);return m.push({events:{signal:t.name+_u},update:Hi(f)?`[${d(`${a}[0]`)}, ${d(`${a}[1]`)}]`:"[0, 0]"}),s?[{name:a,on:[]}]:[Object.assign({name:o},i?{init:cc(i,d)}:{value:[]},{on:m}),Object.assign({name:a},i?{init:cc(i)}:{},{on:[{events:{signal:o},update:`${o}[0] === ${o}[1] ? null : invert(${c}, ${o})`}]})]}(e,t,n,c),f=n.signals.data,d=n.signals.visual,p=u(e.scaleName(r)),h=Hi(e.getScaleComponent(r).get("type"))?"+":"";o.push(...l),a.push(f),s.push({scaleName:e.scaleName(r),expr:`(!isArray(${f}) || `+`(${h}invert(${p}, ${d})[0] === ${h}${f}[0] && `+`${h}invert(${p}, ${d})[1] === ${h}${f}[1]))`})}),r||o.push({name:n+_u,value:{},on:[{events:s.map(e=>({scale:e.scaleName})),update:s.map(e=>e.expr).join(" && ")+` ? ${n+_u} : {}`}]});const c=t.init,l=`unit: ${Yu(e)}, fields: ${i}, values`;return o.concat(Object.assign({name:n+Lu},c?{init:`{${l}: ${cc(c)}}`}:{},{on:[{events:[{signal:a.join(" || ")}],update:a.join(" && ")+` ? {${l}: [${a}]} : null`}]}))},modifyExpr:(e,t)=>{return t.name+Lu+", "+("global"===t.resolve?"true":`{unit: ${Yu(e)}}`)},marks:(e,t,n)=>{const i=t.name,{x:r,y:o}=t.project.has,a=r&&r.signals.visual,s=o&&o.signals.visual,c=`data(${u(t.name+Mu)})`;if($u.has(t))return n;const l={x:void 0!==r?{signal:`${a}[0]`}:{value:0},y:void 0!==o?{signal:`${s}[0]`}:{value:0},x2:void 0!==r?{signal:`${a}[1]`}:{field:{group:"width"}},y2:void 0!==o?{signal:`${s}[1]`}:{field:{group:"height"}}};if("global"===t.resolve)for(const t of Y(l))l[t]=[Object.assign({test:`${c}.length && ${c}[0].unit === ${Yu(e)}`},l[t]),{value:0}];const f=t.mark,{fill:d,fillOpacity:p}=f,h=ke(f,["fill","fillOpacity"]),m=Y(h).reduce((e,t)=>(e[t]=[{test:[void 0!==r&&`${a}[0] !== ${a}[1]`,void 0!==o&&`${s}[0] !== ${s}[1]`].filter(e=>e).join(" && "),value:h[t]},{value:null}],e),{});return[{name:i+"_brush_bg",type:"rect",clip:!0,encode:{enter:{fill:{value:d},fillOpacity:{value:p}},update:l}},...n,{name:i+"_brush",type:"rect",clip:!0,encode:{enter:{fill:{value:"transparent"}},update:Object.assign({},l,m)}}]}};function zu(e,t){return e.events.reduce((e,n)=>n.between?t(e,n):(Lt(`${n} is not an ordered event stream for interval selections`),e),[])}function Ru(e,t){const n=t.name,i=n+ju,r=t.project,o="(item().isVoronoi ? datum.datum : datum)",a=r.items.map(t=>{const n=e.fieldDef(t.channel);return n&&n.bin?`[${ee(e.vgField(t.channel,{}),o)}, `+`${ee(e.vgField(t.channel,{binSuffix:"end"}),o)}]`:`${ee(t.field,o)}`}).join(", "),s=`unit: ${Yu(e)}, fields: ${i}, values`;return[{name:n+Lu,on:[{events:t.events,update:`datum && item().mark.marktype !== 'group' ? {${s}: [${a}]} : null`,force:!0}]}]}const Pu={signals:Ru,modifyExpr:(e,t)=>{return t.name+Lu+", "+("global"===t.resolve?"null":`{unit: ${Yu(e)}}`)}},Uu={signals:Ru,modifyExpr:(e,t)=>{return t.name+Lu+", "+("global"===t.resolve?"true":`{unit: ${Yu(e)}}`)}},Mu="_store",Lu="_tuple",Iu="_modify",qu="_selection_domain_",Wu="vlSelectionResolve",Hu={single:Uu,multi:Pu,interval:Tu};function Gu(e,t){const n=e.component.selection;for(const e in n)if(n.hasOwnProperty(e)){const i=n[e];t(i,Hu[i.type])}}function Yu(e){let t=u(e.name);const n=function(e){let t=e.parent;for(;t&&!Of(t);)t=t.parent;return t}(e);if(n){const{facet:e}=n;for(const i of ht)e[i]&&(t+=` + '__facet_${i}_' + (${ee(n.vgField(i),"facet")})`)}return t}function Vu(e){let t=!1;return Gu(e,e=>{t=t||e.project.items.some(e=>e.field===ir)}),t}const Ju={has:e=>"interval"!==e.type&&e.nearest,marks:(e,t,n)=>{const{x:i,y:r}=t.project.has,o=e.mark;if(ve(o))return Lt(zt.nearestNotSupportForContinuous(o)),n;const a={name:e.getName("voronoi"),type:"path",from:{data:e.getName("marks")},encode:{update:Object.assign({fill:{value:"transparent"},strokeWidth:{value:.35},stroke:{value:"transparent"},isVoronoi:{value:!0}},Pc(e,{reactiveGeom:!0}))},transform:[{type:"voronoi",x:{expr:i||!i&&!r?"datum.datum.x || 0":"0"},y:{expr:r||!i&&!r?"datum.datum.y || 0":"0"},size:[e.getSizeSignalRef("width"),e.getSizeSignalRef("height")]}]};let s=0,u=!1;return n.forEach((t,n)=>{const i=t.name||"";i===e.component.mark[0].name?s=n:i.indexOf("voronoi")>=0&&(u=!0)}),u||n.splice(s+1,0,a),n}},Qu={has:e=>"single"===e.type&&"global"===e.resolve&&e.bind&&"scales"!==e.bind,topLevelSignals:(e,t,n)=>{const i=t.name,r=t.project,o=t.bind,a=t.init&&t.init[0],s=Ju.has(t)?"(item().isVoronoi ? datum.datum : datum)":"datum";return r.items.forEach((e,r)=>{const u=Q(`${i}_${e.field}`);n.filter(e=>e.name===u).length||n.unshift(Object.assign({name:u},a?{init:cc(a[r])}:{value:null},{on:[{events:t.events,update:`datum && item().mark.marktype !== 'group' ? ${ee(e.field,s)} : null`}],bind:o[e.field]||o[e.channel]||o}))}),n},signals:(e,t,n)=>{const i=t.name,r=t.project,o=n.filter(e=>e.name===i+Lu)[0],a=i+ju,s=r.items.map(e=>Q(`${i}_${e.field}`)),u=s.map(e=>`${e} !== null`).join(" && ");return s.length&&(o.update=`${u} ? {fields: ${a}, values: [${s.join(", ")}]} : null`),delete o.value,delete o.on,n}},Xu={has:e=>"multi"===e.type&&e.toggle,signals:(e,t,n)=>n.concat({name:t.name+"_toggle",value:!1,on:[{events:t.events,update:t.toggle}]}),modifyExpr:(e,t)=>{const n=t.name+Lu,i=t.name+"_toggle";return`${i} ? null : ${n}, `+("global"===t.resolve?`${i} ? null : true, `:`${i} ? null : {unit: ${Yu(e)}}, `)+`${i} ? ${n} : null`}},Zu={has:e=>!1!==e.clear,parse:(e,t,n)=>{t.clear&&(n.clear=du(t.clear,"scope"))},topLevelSignals:(e,t,n)=>(Qu.has(t)&&t.project.items.forEach(e=>{const i=n.findIndex(n=>n.name===Q(`${t.name}_${e.field}`));-1!==i&&n[i].on.push({events:t.clear,update:"null"})}),n),signals:(e,t,n)=>{function i(e,i){-1!==e&&n[e].on&&n[e].on.push({events:t.clear,update:i})}if("interval"===t.type)t.project.items.forEach(e=>{const t=n.findIndex(t=>t.name===e.signals.visual);if(i(t,"[0, 0]"),-1===t){i(n.findIndex(t=>t.name===e.signals.data),"null")}});else{let e=n.findIndex(e=>e.name===t.name+Lu);i(e,"null"),Xu.has(t)&&i(e=n.findIndex(e=>e.name===t.name+"_toggle"),"false")}return n}},Ku="_translate_anchor",ec="_translate_delta",tc={has:e=>"interval"===e.type&&e.translate,signals:(e,t,n)=>{const i=t.name,r=$u.has(t),o=i+Ku,{x:a,y:s}=t.project.has;let u=du(t.translate,"scope");return r||(u=u.map(e=>(e.between[0].markname=i+"_brush",e))),n.push({name:o,value:{},on:[{events:u.map(e=>e.between[0]),update:"{x: x(unit), y: y(unit)"+(void 0!==a?", extent_x: "+(r?Bu(e,Me):`slice(${a.signals.visual})`):"")+(void 0!==s?", extent_y: "+(r?Bu(e,Le):`slice(${s.signals.visual})`):"")+"}"}]},{name:i+ec,value:{},on:[{events:u,update:`{x: ${o}.x - x(unit), y: ${o}.y - y(unit)}`}]}),void 0!==a&&nc(e,t,a,"width",n),void 0!==s&&nc(e,t,s,"height",n),n}};function nc(e,t,n,i,r){const o=t.name,a=o+Ku,s=o+ec,u=n.channel,c=$u.has(t),l=r.filter(e=>e.name===n.signals[c?"data":"visual"])[0],f=e.getSizeSignalRef(i).signal,d=e.getScaleComponent(u),p=d.get("type"),h=`${a}.extent_${u}`,m=`${c?"log"===p?"panLog":"pow"===p?"panPow":"panLinear":"panLinear"}(${h}, ${`${c&&u===Me?"-":""}${s}.${u} / `+(c?`${f}`:`span(${h})`)}`+(c&&"pow"===p?`, ${d.get("exponent")||1}`:"")+")";l.on.push({events:{signal:s},update:c?m:`clampRange(${m}, 0, ${f})`})}const ic="_zoom_anchor",rc="_zoom_delta",oc={has:e=>"interval"===e.type&&e.zoom,signals:(e,t,n)=>{const i=t.name,r=$u.has(t),o=i+rc,{x:a,y:s}=t.project.has,c=u(e.scaleName(Me)),l=u(e.scaleName(Le));let f=du(t.zoom,"scope");return r||(f=f.map(e=>(e.markname=i+"_brush",e))),n.push({name:i+ic,on:[{events:f,update:r?"{"+[c?`x: invert(${c}, x(unit))`:"",l?`y: invert(${l}, y(unit))`:""].filter(e=>!!e).join(", ")+"}":"{x: x(unit), y: y(unit)}"}]},{name:o,on:[{events:f,force:!0,update:"pow(1.001, event.deltaY * pow(16, event.deltaMode))"}]}),void 0!==a&&ac(e,t,a,"width",n),void 0!==s&&ac(e,t,s,"height",n),n}};function ac(e,t,n,i,r){const o=t.name,a=n.channel,s=$u.has(t),u=r.filter(e=>e.name===n.signals[s?"data":"visual"])[0],c=e.getSizeSignalRef(i).signal,l=e.getScaleComponent(a),f=l.get("type"),d=s?Bu(e,a):u.name,p=o+rc,h=`${s?"log"===f?"zoomLog":"pow"===f?"zoomPow":"zoomLinear":"zoomLinear"}(${d}, ${`${o}${ic}.${a}`}, ${p}`+(s&&"pow"===f?`, ${l.get("exponent")||1}`:"")+")";u.on.push({events:{signal:p},update:s?h:`clampRange(${h}, 0, ${c})`})}const sc=[{has:()=>!0,parse:(e,t,n)=>{const i=n.name,r=n.project||(n.project=new Nu),a={},s={},u=new Set,c=(e,t)=>{const n="visual"===t?e.channel:e.field;let r=Q(`${i}_${n}`);for(let e=1;u.has(r);e++)r=Q(`${i}_${n}_${e}`);return u.add(r),{[t]:r}};if(!t.fields&&!t.encodings){const n=e.config.selection[t.type];if(t.init)for(const e of y(t.init))for(const i of Y(e))bt(i)?(t.encodings||(t.encodings=[])).push(i):rr(t)?(Lt('Interval selections should be initialized using "x" and/or "y" keys.'),t.encodings=n.encodings):(t.fields||(t.fields=[])).push(i);else t.encodings=n.encodings,t.fields=n.fields}for(const e of t.fields||[]){const t={type:"E",field:e};t.signals=Object.assign({},c(t,"data")),r.items.push(t)}for(const i of t.encodings||[]){const t=e.fieldDef(i);if(t){let o=t.field;if(t.timeUnit){const n={as:o=e.vgField(i),field:t.field,timeUnit:t.timeUnit};s[T(n)]=n}if(!a[o]){let s="E";if("interval"===n.type){Hi(e.getScaleComponent(i).get("type"))&&(s="R")}else t.bin&&(s="R-RE");const u={field:o,channel:i,type:s};u.signals=Object.assign({},c(u,"data"),c(u,"visual")),r.items.push(a[o]=u),r.has[i]=a[o]}}else Lt(zt.cannotProjectOnChannelWithoutField(i))}if(t.init)if($u.has(n))Lt(zt.NO_INIT_SCALE_BINDINGS);else{const e=e=>r.items.map(t=>void 0!==e[t.channel]?e[t.channel]:e[t.field]);if(rr(t))n.init=e(t.init);else{const i=o(t.init)?t.init:[t.init];n.init=i.map(e)}}Y(s).length&&(r.timeUnit=new Ou(null,s))},signals:(e,t,n)=>{const i=t.name+ju;return n.filter(e=>e.name===i).length?n:n.concat({name:i,value:t.project.items.map(e=>{return ke(e,["signals"])})})}},Xu,$u,tc,oc,Qu,Ju,Zu];function uc(e,t){for(const n of sc)n.has(e)&&t(n)}function cc(e,t=l){if(o(e)){return`[${e.map(e=>cc(e,t)).join(", ")}]`}return qt(e)?t(Vt(e)):t(JSON.stringify(e))}function lc(e,t){return Gu(e,n=>{const i={name:n.name+Mu};if(n.init){const t=n.project.items.map(e=>{return ke(e,["signals"])}),r=n.init.map(e=>(function e(t){return o(t)?t.map(t=>e(t)):qt(t)?Vt(t,!1,!0):t})(e));i.values="interval"===n.type?[{unit:Yu(e),fields:t,values:r}]:r.map(n=>({unit:Yu(e),fields:t,values:n}))}t.filter(e=>e.name===n.name+Mu).length||t.push(i)}),t}function fc(e,t){return Gu(e,(n,i)=>{t=i.marks?i.marks(e,n,t):t,uc(n,i=>{i.marks&&(t=i.marks(e,n,t))})}),t}function dc(e,t,n){const i=[];const r=X(t,function(t){const r=Q(t),o=e.getSelectionComponent(r,t),a=u(r+Mu);if(o.project.timeUnit){const t=n||e.component.data.raw,i=o.project.timeUnit.clone();t.parent?i.insertAsParentOf(t):t.parent=i}return"none"!==o.empty&&i.push(a),`vlSelectionTest(${a}, datum`+("global"===o.resolve?")":`, ${u(o.resolve)})`)});return(i.length?"!("+i.map(e=>`length(data(${e}))`).join(" || ")+") || ":"")+`(${r})`}function pc(e,t,n){return X(t,t=>s(t)?t:function(e){return e&&e.selection}(t)?dc(e,t.selection,n):no(t))}function hc(e){const{channel:t,channelDef:n,mark:i,scale:r}=e,o=Cc(e);return yn(n)&&!_e(n.aggregate)&&r&&Gi(r.get("type"))&&!1===r.get("zero")?mc({fieldDef:n,channel:t,mark:i,ref:o}):o}function mc({fieldDef:e,channel:t,mark:n,ref:i}){return ve(n)?i:[gc(e,t),i]}function gc(e,t){const n=yc(e,!0),i="x"===wt(t)?{value:0}:{field:{group:"height"}};return Object.assign({test:n},i)}function yc(e,t=!0){return`${e=s(e)?e:Cn(e,{expr:"datum"})} ${t?"===":"!=="} null ${t?"||":"&&"} ${t?"":"!"}isNaN(${e})`}function bc(e,t){const n=t[e+"Offset"];if(n)return n}function vc({channel:e,fieldDef:t,scaleName:n,mark:i,side:r,offset:o}){return mc({fieldDef:t,channel:e,mark:i,ref:xc(t,n,{binSuffix:"start"===r?void 0:"end"},o?{offset:o}:{})})}function xc(e,t,n,i){const r=Object.assign({},t?{scale:t}:{},{field:Cn(e,n)});if(i){const{offset:e,band:t}=i;return Object.assign({},r,e?{offset:e}:{},t?{band:t}:{})}return r}function Ac(e,t=!0){return{scale:e,band:t}}function wc({scaleName:e,fieldDef:t,fieldDef2:n,offset:i,band:r}){r=re(r,.5);const o=Cn(t,{expr:"datum"}),a=void 0!==n?Cn(n,{expr:"datum"}):Cn(t,{binSuffix:"end",expr:"datum"});return Object.assign({signal:`scale("${e}", ${r} * ${o} + ${1-r} * ${a})`},i?{offset:i}:{})}function Cc({channel:e,channelDef:t,channel2Def:n,scaleName:i,scale:r,stack:o,offset:a,defaultRef:s}){if(t){if(yn(t)){if(bn(t)){if(Wn(t.bin))return R([Me,Le],e)&&t.type===cn?o&&o.impute?xc(t,i,{binSuffix:"mid"},{offset:a}):wc({scaleName:i,fieldDef:t,offset:a}):xc(t,i,In(t,e)?{binSuffix:"range"}:{},{offset:a});if(Hn(t.bin)){if(yn(n))return wc({scaleName:i,fieldDef:t,fieldDef2:n,offset:a});{const t=e===Me?Ie:qe;Lt(zt.channelRequiredForBinned(t))}}}if(r){const e=r.get("type");if(Wi(e))return xc(t,i,{binSuffix:"range"},"band"===e?{band:.5,offset:a}:{offset:a})}return xc(t,i,{},{offset:a})}if(xn(t)){const n=t.value,i=a?{offset:a}:{};return Object.assign({},Fc(e,n),i)}}return function(e){return"function"==typeof e}(s)?s():s}function Fc(e,t){return R(["x","x2"],e)&&"width"===t?{field:{group:"width"}}:R(["y","y2"],e)&&"height"===t?{field:{group:"height"}}:{value:t}}function Ec(e,t,{reactiveGeom:n}={}){const i=[],r={},o={},a=n?"datum.datum":"datum",s=[];function c(n,i){const r=wt(i),u=bn(n)?n:Object.assign({},n,{type:e[r].type}),c=On(u,t,{allowDisabling:!1});let l=Dc(u,t,a).signal;if("x"===i||"y"===i){const n="x"===i?"x2":"y2",r=Nn(e[n]);if(Hn(u.bin)&&r){l=Vo(Cn(u,{expr:a}),Cn(r,{expr:a}),jn(u),t),o[n]=!0}}s.push({channel:i,key:c,value:l})}Kn(e,(e,t)=>{yn(e)?c(e,t):gn(e)&&c(e.condition,t)});for(const{channel:e,key:t,value:n}of s)o[e]||r[t]||(i.push(`${u(t)}: ${n}`),r[t]=!0);return i.length?{signal:`{${i.join(", ")}}`}:void 0}function Dc(e,t,n="datum"){if(e){if(xn(e))return{value:e.value};if(bn(e))return Wo(e,jn(e),n,t)}}function Sc(e){return Object.assign({},e,{mult:.5})}function kc({markDef:e,config:t,defaultRef:n,channel:i,scaleName:r,scale:o,mark:a,checkBarAreaWithoutZero:u}){return()=>{const c=wt(i),l=re(e[i],Io(i,e,t));if(void 0!==l)return Fc(i,l);if(s(n)){if(r){const e=o.get("type");if(R([Ni.LOG,Ni.TIME,Ni.UTC],e))!u||"bar"!==a&&"area"!==a||Lt(zt.nonZeroScaleUsedWithLengthMark(a,c,{scaleType:e}));else{if(o.domainDefinitelyIncludesZero())return{scale:r,value:0};!u||"bar"!==a&&"area"!==a||Lt(zt.nonZeroScaleUsedWithLengthMark(a,c,{zeroFalse:!1===o.explicit.zero}))}}return"zeroOrMin"===n?"x"===c?{value:0}:{field:{group:"height"}}:"x"===c?{field:{group:"width"}}:{value:0}}return n}}function Oc(e){return"transparent"!==e&&null!=e}function $c(e){const{markDef:t,encoding:n,config:i}=e,{filled:r,type:o}=t,a={fill:Io("fill",t,i),stroke:Io("stroke",t,i),color:Io("color",t,i)},s=R(["bar","point","circle","square","geoshape"],o)?"transparent":void 0,u=re(t.fill,a.fill,s),c=re(t.stroke,a.stroke),l=r?"fill":"stroke",f=Object.assign({},u?{fill:{value:u}}:{},c?{stroke:{value:c}}:{});return n.fill||n.stroke?(t.color&&Lt(zt.droppingColor("property",{fill:"fill"in n,stroke:"stroke"in n})),Object.assign({},zc("fill",e,{defaultValue:re(u,s)}),zc("stroke",e,{defaultValue:c}))):n.color?Object.assign({},f,zc("color",e,{vgChannel:l,defaultValue:re(t[l],t.color,a[l],a.color,r?s:void 0)})):Oc(t.fill)||Oc(t.stroke)?(t.color&&Lt(zt.droppingColor("property",{fill:"fill"in t,stroke:"stroke"in t})),f):t.color?Object.assign({},f,{[l]:{value:t.color}}):Oc(a.fill)||Oc(a.stroke)?f:a.color?Object.assign({},s?{fill:{value:"transparent"}}:{},{[l]:{value:a.color}}):{}}function Bc(e,t){const{fill:n,stroke:i}=$c(e);return Object.assign({},function(e,t){return Ao.reduce((n,i)=>(void 0!==e[i]&&"ignore"!==t[i]&&(n[i]={value:e[i]}),n),{})}(e.markDef,t),jc(e,"fill",n),jc(e,"stroke",i),zc("opacity",e),zc("fillOpacity",e),zc("strokeOpacity",e),zc("strokeWidth",e),Pc(e),Uc(e,"href"))}function jc(e,t,n){const{config:i,mark:r}=e;if("hide"===i.invalidValues&&n&&!ve(r)){const i=_c(e,{invalid:!0,channels:$t});if(i)return{[t]:[{test:i,value:null},...y(n)]}}return n?{[t]:n}:{}}function Nc(e,t){if(void 0!==t)return{[e]:{value:t}}}function _c(e,{invalid:t=!1,channels:n}){const i=n.reduce((t,n)=>{const i=e.getScaleComponent(n);if(i){const r=i.get("type"),o=e.vgField(n,{expr:"datum"});o&&Hi(r)&&(t[o]=!0)}return t},{}),r=Y(i);if(r.length>0){const e=t?"||":"&&";return r.map(e=>yc(e,t)).join(` ${e} `)}}function Tc(e){if(e.config.invalidValues){const t=_c(e,{channels:["x","y"]});if(t)return{defined:{signal:t}}}return{}}function zc(e,t,n={}){const{markDef:i,encoding:r,config:o}=t,{vgChannel:a=e}=n;let{defaultRef:s,defaultValue:u}=n;void 0===s&&(u=u||(a===e?i[e]:re(i[e],i[a],Io(e,i,o,{vgChannel:a}))),s=u?{value:u}:void 0);const c=r[e];return Rc(t,c,a,n=>Cc({channel:e,channelDef:n,scaleName:t.scaleName(e),scale:t.getScaleComponent(e),stack:null,defaultRef:s}))}function Rc(e,t,n,i){const r=t&&t.condition,a=i(t);if(r){return{[n]:[...(o(r)?r:[r]).map(t=>{const n=i(t),r=function(e){return e.selection}(t)?dc(e,t.selection):pc(e,t.test);return Object.assign({test:r},n)}),...void 0!==a?[a]:[]]}}return void 0!==a?{[n]:a}:{}}function Pc(e,t={}){const{encoding:n,markDef:i,config:r}=e,u=n.tooltip;return o(u)?{tooltip:Ec({tooltip:u},r,t)}:Rc(e,u,"tooltip",o=>{const u=Dc(o,e.config,t.reactiveGeom?"datum.datum":"datum");if(u)return u;if(null===o)return;const c=re(i.tooltip,Io("tooltip",i,r));return s(c)?{value:c}:a(c)?"encoding"===c.content?Ec(n,r,t):{signal:"datum"}:void 0})}function Uc(e,t="text"){const n=e.encoding[t];return Rc(e,n,t,t=>Dc(t,e.config))}function Mc(e,t,n,i){const{encoding:r,mark:o,markDef:a,config:s,stack:u}=t,c=r[e],l=r[e===Me?Ie:qe],f=t.scaleName(e),d=t.getScaleComponent(e),p=bc(e,t.markDef);return{[i||e]:c||!r.latitude&&!r.longitude?function(e){const{channel:t,channelDef:n,scaleName:i,stack:r,offset:o}=e;return yn(n)&&r&&t===r.fieldChannel?xc(n,i,{suffix:"end"},{offset:o}):hc(e)}({channel:e,channelDef:c,channel2Def:l,scaleName:f,scale:d,stack:u,mark:o,offset:p,defaultRef:kc({markDef:a,config:s,defaultRef:n,channel:e,scaleName:f,scale:d,mark:o,checkBarAreaWithoutZero:!l})}):{field:t.getName(e)}}}function Lc(e,t,n){const{encoding:i,mark:r,markDef:o,stack:a,config:s}=e,u="x2"===n?"x":"y",c="x2"===n?"width":"height",l=i[u],f=e.scaleName(u),d=e.getScaleComponent(u),p=bc(n,e.markDef);if(!l&&(i.latitude||i.longitude))return{[n]:{field:e.getName(n)}};const h=function({channel:e,channelDef:t,channel2Def:n,scaleName:i,scale:r,stack:o,mark:a,offset:s,defaultRef:u}){return yn(t)&&o&&e.charAt(0)===o.fieldChannel.charAt(0)?xc(t,i,{suffix:"start"},{offset:s}):hc({channel:e,channelDef:n,scaleName:i,scale:r,stack:o,mark:a,offset:s,defaultRef:u})}({channel:n,channelDef:l,channel2Def:i[n],scaleName:f,scale:d,stack:a,mark:r,offset:p,defaultRef:void 0});return void 0!==h?{[n]:h}:re(Ic(n,o),Ic(n,{[n]:qo(n,o,s.style),[c]:qo(c,o,s.style)}),Ic(n,s[r]),Ic(n,s.mark),{[n]:kc({markDef:o,config:s,defaultRef:t,channel:n,scaleName:f,scale:d,mark:r,checkBarAreaWithoutZero:!i[n]})()})}function Ic(e,t){const n="x2"===e?"width":"height";return t[e]?{[e]:Fc(e,t[e])}:t[n]?{[n]:{value:t[n]}}:void 0}function qc(e,t){return Y(e).reduce((n,i)=>{const r=e[i];return Object.assign({},n,Rc(t,r,i,e=>({value:e.value})))},{})}function Wc(e,t){if(jf(t)||Of(t))return"shared";if(Bf(t)||$f(t))return R(Dt,e)?"independent":"shared";throw new Error("invalid model type for resolve")}function Hc(e,t){const n=e.scale[t],i=R(Dt,t)?"axis":"legend";return"independent"===n?("shared"===e[i][t]&&Lt(zt.independentScaleMeansIndependentGuide(t)),"independent"):e[i][t]||"shared"}class Gc{constructor(e={},t={}){this.explicit=e,this.implicit=t}clone(){return new Gc(B(this.explicit),B(this.implicit))}combine(){return Object.assign({},this.explicit,this.implicit)}get(e){return re(this.explicit[e],this.implicit[e])}getWithExplicit(e){return void 0!==this.explicit[e]?{explicit:!0,value:this.explicit[e]}:void 0!==this.implicit[e]?{explicit:!1,value:this.implicit[e]}:{explicit:!1,value:void 0}}setWithExplicit(e,t){void 0!==t.value&&this.set(e,t.value,t.explicit)}set(e,t,n){return delete this[n?"implicit":"explicit"][e],this[n?"explicit":"implicit"][e]=t,this}copyKeyFromSplit(e,t){void 0!==t.explicit[e]?this.set(e,t.explicit[e],!0):void 0!==t.implicit[e]&&this.set(e,t.implicit[e],!1)}copyKeyFromObject(e,t){void 0!==t[e]&&this.set(e,t[e],!0)}copyAll(e){for(const t of Y(e.combine())){const n=e.getWithExplicit(t);this.setWithExplicit(t,n)}}}function Yc(e){return{explicit:!0,value:e}}function Vc(e){return{explicit:!1,value:e}}function Jc(e){return(t,n,i,r)=>{const o=e(t.value,n.value);return o>0?t:o<0?n:Qc(t,n,i,r)}}function Qc(e,t,n,i){return e.explicit&&t.explicit&&Lt(zt.mergeConflictingProperty(n,i,e.value,t.value)),e}function Xc(e,t,n,i,r=Qc){return void 0===e||void 0===e.value?t:e.explicit&&!t.explicit?e:t.explicit&&!e.explicit?t:_(e.value)===_(t.value)?e:r(e,t,n,i)}class Zc extends Gc{}function Kc(e){const{legend:t}=e;return re(t.type,el(e))}function el({channel:e,timeUnit:t,scaleType:n,alwaysReturn:i}){if(dt(e)){if(R(["quarter","month","day"],t))return"symbol";if(Gi(n))return i?"gradient":void 0}return i?"symbol":void 0}function tl({legend:e,legendConfig:t,timeUnit:n,channel:i,scaleType:r}){const o=re(e.orient,t.orient,"right"),a=Kc({legend:e,channel:i,timeUnit:n,scaleType:r,alwaysReturn:!0});return re(e.direction,t[a?"gradientDirection":"symbolDirection"],function(e,t){switch(e){case"top":case"bottom":return"horizontal";case"left":case"right":case"none":case void 0:return;default:return"gradient"===t?"horizontal":void 0}}(o,a))}function nl(e,t,n,i){return{signal:`clamp(${e.getSizeSignalRef(t).signal}, ${n}, ${i})`}}function il(e,t,n){const i=t.getScaleComponent(n).get("type");return re(e.get("type"),el({channel:n,scaleType:i,alwaysReturn:!0}))}function rl(e){return al(e,(e,t)=>Math.max(e,t.value))}function ol(e){return al(e,(e,t)=>re(e,t.value))}function al(e,t){return function(e){return!!e&&!!e.condition&&(o(e.condition)||xn(e.condition))}(e)?(o(e.condition)?e.condition:[e.condition]).reduce(t,e.value):xn(e)?e.value:void 0}var sl=Object.freeze({symbols:function(e,t,n,i,r){if("symbol"!==il(r,n,i))return;let a=Object.assign({},function(e,t,n){for(const i of n){const n=Io(i,t.markDef,t.config);void 0!==n&&(e[i]={value:n})}return e}({},n,we),$c(n));const{markDef:s,encoding:u,config:c}=n,l=s.filled,f=rl(u.opacity)||s.opacity;if(a.fill)if("fill"===i||l&&i===Ve)delete a.fill;else if(a.fill.field)r.get("symbolFillColor")?delete a.fill:(a.fill={value:c.legend.symbolBaseFillColor||"black"},a.fillOpacity={value:f||1});else if(o(a.fill)){const e=ol(u.fill||u.color)||s.fill||l&&s.color;e&&(a.fill={value:e})}if(a.stroke)if("stroke"===i||!l&&i===Ve)delete a.stroke;else if(a.stroke.field)delete a.stroke;else if(o(a.stroke)){const e=re(ol(u.stroke||u.color),s.stroke,l?s.color:void 0);e&&(a.stroke={value:e})}return i!==Ke&&f&&(a.opacity={value:f}),a=Object.assign({},a,t),Y(a).length>0?a:void 0},gradient:function(e,t,n,i,r){if("gradient"!==il(r,n,i))return;let o={};const a=rl(n.encoding.opacity)||n.markDef.opacity;return a&&(o.opacity={value:a}),o=Object.assign({},o,t),Y(o).length>0?o:void 0},labels:function(e,t,n,i){const r=n.legend(i),o=n.config;let a={};if(Un(e)){const a=n.getScaleComponent(i).get("type")===Ni.UTC,s=Jo("datum.value",e.timeUnit,r.format,o.legend.shortTimeLabels,o.timeFormat,a);t=Object.assign({},s?{text:{signal:s}}:{},t)}return a=Object.assign({},a,t),Y(a).length>0?a:void 0},getFirstConditionValue:ol});function ul(e){kf(e)?e.component.legends=function(e){const{encoding:t}=e;return[Ve,Je,Qe,nt,Ze,Xe,Ke,et,tt].reduce((n,i)=>{const r=t[i];return!e.legend(i)||!e.getScaleComponent(i)||yn(r)&&i===Xe&&r.type===pn||(n[i]=function(e,t){const n=e.fieldDef(t),i=e.legend(t),r=new Zc({},function(e,t){const n=e.scaleName(Ve);if("color"===t)return e.markDef.filled?{fill:n}:{stroke:n};return{[t]:e.scaleName(t)}}(e,t));for(const o of Bi){const a=ll(o,i,t,e);if(void 0!==a){const t=cl(a,o,i,n);(t||void 0===e.config.legend[o])&&r.set(o,a,t)}}const o=i.encoding||{},a=["labels","legend","title","symbols","gradient"].reduce((i,a)=>{const s=qc(o[a]||{},e),u=sl[a]?sl[a](n,s,e,t,r):s;return void 0!==u&&Y(u).length>0&&(i[a]={update:u}),i},{});Y(a).length>0&&r.set("encode",a,!!i.encoding);return r}(e,i)),n},{})}(e):e.component.legends=function(e){const{legends:t,resolve:n}=e.component;for(const i of e.children)ul(i),Y(i.component.legends).forEach(r=>{n.legend[r]=Hc(e.component.resolve,r),"shared"===n.legend[r]&&(t[r]=fl(t[r],i.component.legends[r]),t[r]||(n.legend[r]="independent",delete t[r]))});return Y(t).forEach(t=>{for(const i of e.children)i.component.legends[t]&&"shared"===n.legend[t]&&delete i.component.legends[t]}),t}(e)}function cl(e,t,n,i){switch(t){case"values":return!!n.values;case"title":if("title"===t&&e===i.title)return!0}return e===n[t]}function ll(e,t,n,i){const{encoding:r,mark:o}=i,a=_n(r[n]),s=i.config.legend,{timeUnit:u}=a,c=i.getScaleComponent(n).get("type");switch(e){case"direction":return tl({legend:t,legendConfig:s,timeUnit:u,channel:n,scaleType:c});case"format":if(Un(a))return;return Ho(a,t.format,i.config);case"formatType":if(Un(a))return;return t.formatType;case"gradientLength":return re(t.gradientLength,s.gradientLength,function({legend:e,legendConfig:t,model:n,channel:i,scaleType:r}){const{gradientHorizontalMaxLength:o,gradientHorizontalMinLength:a,gradientVerticalMaxLength:s,gradientVerticalMinLength:u}=t;if("horizontal"===tl({legend:e,legendConfig:t,channel:i,scaleType:r})){const i=re(e.orient,t.orient);return"top"===i||"bottom"===i?nl(n,"width",a,o):a}return nl(n,"height",u,s)}({model:i,legend:t,legendConfig:s,channel:n,scaleType:c}));case"labelOverlap":return re(t.labelOverlap,function(e){if(R(["quantile","threshold","log"],e))return"greedy"}(c));case"symbolType":return re(t.symbolType,function(e,t,n,i){if("shape"!==t){const e=ol(n)||i;if(e)return e}switch(e){case"bar":case"rect":case"square":return"square";case"line":case"trail":case"rule":return"stroke";case"point":case"circle":case"tick":case"geoshape":case"area":case"text":return"circle"}}(o,n,r.shape,i.markDef.shape));case"title":return On(a,i.config,{allowDisabling:!0})||void 0;case"type":return Kc({legend:t,channel:n,timeUnit:u,scaleType:c,alwaysReturn:!1});case"values":return function(e,t){const n=e.values;if(n)return Ln(t,n)}(t,a)}return t[e]}function fl(e,t){if(!e)return t.clone();const n=e.getWithExplicit("orient"),i=t.getWithExplicit("orient");if(n.explicit&&i.explicit&&n.value!==i.value)return;let r=!1;for(const n of ji){const i=Xc(e.getWithExplicit(n),t.getWithExplicit(n),n,"legend",(e,t)=>{switch(n){case"symbolType":return dl(e,t);case"title":return Ko(e,t);case"type":return r=!0,Vc("symbol")}return Qc(e,t,n,"legend")});e.setWithExplicit(n,i)}return r&&(((e.implicit||{}).encode||{}).gradient&&Z(e.implicit,["encode","gradient"]),((e.explicit||{}).encode||{}).gradient&&Z(e.explicit,["encode","gradient"])),e}function dl(e,t){return"circle"===t.value?t:e}function pl(e){const t=e.component.legends,n={};for(const i of Y(t)){const r=e.getScaleComponent(i),o=_(r.get("domains"));if(n[o])for(const e of n[o]){fl(e,t[i])||n[o].push(t[i])}else n[o]=[t[i].clone()]}return M(V(n)).map(e=>{const t=e.combine();if(t.encode&&t.encode.symbols){const e=t.encode.symbols.update;!e.fill||"transparent"===e.fill.value||e.stroke||t.stroke||(e.stroke={value:"transparent"}),t.fill&&delete e.fill}return t})}function hl(e){return jf(e)||Bf(e)||$f(e)?function(e){return e.children.reduce((e,t)=>e.concat(t.assembleProjections()),ml(e))}(e):ml(e)}function ml(e){const t=e.component.projection;if(!t||t.merged)return[];const n=t.combine(),{name:i}=n,r=ke(n,["name"]);if(t.data){const n={signal:`[${t.size.map(e=>e.signal).join(", ")}]`},o=t.data.reduce((t,n)=>{const i=bo(n)?n.signal:`data('${e.lookupDataSource(n)}')`;return R(t,i)||t.push(i),t},[]);if(o.length<=0)throw new Error("Projection's fit didn't find any data sources");return[Object.assign({name:i,size:n,fit:{signal:o.length>1?`[${o.join(", ")}]`:o[0]}},r)]}return[Object.assign({name:i},{translate:{signal:"[width / 2, height / 2]"}},r)]}const gl=["type","clipAngle","clipExtent","center","rotate","precision","reflectX","reflectY","coefficient","distance","fraction","lobes","parallel","radius","ratio","spacing","tilt"];class yl extends Gc{constructor(e,t,n,i){super(Object.assign({},t),{name:e}),this.specifiedProjection=t,this.size=n,this.data=i,this.merged=!1}get isFit(){return!!this.data}}function bl(e){e.component.projection=kf(e)?function(e){if(e.hasProjection){const t=e.specifiedProjection,n=!(t&&(null!=t.scale||null!=t.translate)),i=n?[e.getSizeSignalRef("width"),e.getSizeSignalRef("height")]:void 0,r=n?function(e){const t=[];[[He,We],[Ye,Ge]].forEach(n=>{(e.channelHasField(n[0])||e.channelHasField(n[1]))&&t.push({signal:e.getName(`geojson_${t.length}`)})}),e.channelHasField(Xe)&&e.fieldDef(Xe).type===pn&&t.push({signal:e.getName(`geojson_${t.length}`)});0===t.length&&t.push(e.requestDataName(Hr));return t}(e):void 0;return new yl(e.projectionName(!0),Object.assign({},e.config.projection||{},t||{}),i,r)}return}(e):function(e){if(0===e.children.length)return;let t;e.children.forEach(e=>bl(e));const n=U(e.children,e=>{const n=e.component.projection;if(n){if(t){const e=function(e,t){const n=U(gl,n=>!e.explicit.hasOwnProperty(n)&&!t.explicit.hasOwnProperty(n)||!(!e.explicit.hasOwnProperty(n)||!t.explicit.hasOwnProperty(n)||_(e.get(n))!==_(t.get(n))));if(_(e.size)===_(t.size)){if(n)return e;if(_(e.explicit)===_({}))return t;if(_(t.explicit)===_({}))return e}return null}(t,n);return e&&(t=e),!!e}return t=n,!0}return!0});if(t&&n){const n=e.projectionName(!0),i=new yl(n,t.specifiedProjection,t.size,B(t.data));return e.children.forEach(e=>{const t=e.component.projection;t&&(t.isFit&&i.data.push(...e.component.projection.data),e.renameProjection(t.get("name"),n),t.merged=!0)}),i}return}(e)}function vl(e,t){return`${qn(e)}_${t}`}function xl(e,t,n){const i=vl(Rn(n,void 0)||{},t);return e.getName(`${i}_bins`)}function Al(e,t,n){let i;i=function(e){return"as"in e}(e)?s(e.as)?[e.as,`${e.as}_end`]:[e.as[0],e.as[1]]:[Cn(e,{forAs:!0}),Cn(e,{binSuffix:"end",forAs:!0})];const r=Rn(t,void 0)||{},o=vl(r,e.field),{signal:a,extentSignal:u}=function(e,t){return{signal:e.getName(`${t}_bins`),extentSignal:e.getName(`${t}_extent`)}}(n,o);return{key:o,binComponent:Object.assign({bin:r,field:e.field,as:[i]},a?{signal:a}:{},u?{extentSignal:u}:{})}}class wl extends ea{constructor(e,t){super(e),this.bins=t}clone(){return new wl(null,B(this.bins))}static makeFromEncoding(e,t){const n=t.reduceFieldDef((e,n,i)=>{if(bn(n)&&Wn(n.bin)){const{key:r,binComponent:o}=Al(n,n.bin,t);e[r]=Object.assign({},o,e[r],function(e,t,n,i){if(In(t,n)){const r=kf(e)&&(e.axis(n)||e.legend(n))||{},o=Cn(t,{expr:"datum"}),a=Cn(t,{expr:"datum",binSuffix:"end"});return{formulaAs:Cn(t,{binSuffix:"range",forAs:!0}),formula:Vo(o,a,r.format,i)}}return{}}(t,n,i,t.config))}return e},{});return 0===Y(n).length?null:new wl(e,n)}static makeFromTransform(e,t,n){const{key:i,binComponent:r}=Al(t,t.bin,n);return new wl(e,{[i]:r})}merge(e,t){for(const n of Y(e.bins))n in this.bins?(t(e.bins[n].signal,this.bins[n].signal),this.bins[n].as=q([...this.bins[n].as,...e.bins[n].as],T)):this.bins[n]=e.bins[n];for(const t of e.children)e.removeChild(t),t.parent=this;e.remove()}producedFields(){return new Set(M(M(V(this.bins).map(e=>e.as))))}dependentFields(){return new Set(V(this.bins).map(e=>e.field))}hash(){return`Bin ${T(this.bins)}`}assemble(){return M(V(this.bins).map(e=>{const t=[],[n,...i]=e.as,r=Object.assign({type:"bin",field:te(e.field),as:n,signal:e.signal},e.bin);!e.bin.extent&&e.extentSignal&&(t.push({type:"extent",field:te(e.field),signal:e.extentSignal}),r.extent={signal:e.extentSignal}),t.push(r);for(const e of i)for(let i=0;i<2;i++)t.push({type:"formula",expr:Cn({field:n[i]},{expr:"datum"}),as:e[i]});return e.formula&&t.push({type:"formula",expr:e.formula,as:e.formulaAs}),t}))}}class Cl extends ea{constructor(e){let t;if(super(null),Lr(e=e||{name:"source"})||(t=e.format?Object.assign({},N(e.format,["parse"])):{}),Ur(e))this._data={values:e.values};else if(Pr(e)){if(this._data={url:e.url},!t.type){let n=/(?:\.([^.]+))?$/.exec(e.url)[1];R(["json","csv","tsv","dsv","topojson"],n)||(n="json"),t.type=n}}else qr(e)?this._data={values:[{type:"Sphere"}]}:(Mr(e)||Lr(e))&&(this._data={});this._generator=Lr(e),e.name&&(this._name=e.name),t&&Y(t).length>0&&(this._data.format=t)}get data(){return this._data}hasName(){return!!this._name}get isGenerator(){return this._generator}get dataName(){return this._name}set dataName(e){this._name=e}set parent(e){throw new Error("Source nodes have to be roots.")}remove(){throw new Error("Source nodes are roots and cannot be removed.")}hash(){throw new Error("Cannot hash sources")}assemble(){return Object.assign({name:this._name},this._data,{transform:[]})}}function Fl(e){for(const t of e){for(const e of t.children)if(e.parent!==t)return console.error("Dataflow graph is inconsistent.",t,e),!1;if(!Fl(t.children))return!1}return!0}class El extends ea{constructor(e,t){super(e),this.params=t}clone(){return new El(null,this.params)}assemble(){return Object.assign({type:"graticule"},!0===this.params?{}:this.params)}}class Dl extends ea{constructor(e,t){super(e),this.params=t}clone(){return new Dl(null,this.params)}producedFields(){return new Set([this.params.as||"data"])}assemble(){return Object.assign({type:"sequence"},this.params)}}function Sl(e){return e instanceof Cl||e instanceof El||e instanceof Dl}class kl{constructor(){this._mutated=!1}setMutated(){this._mutated=!0}get mutatedFlag(){return this._mutated}}class Ol extends kl{constructor(){super(),this._continue=!1}setContinue(){this._continue=!0}get continueFlag(){return this._continue}get flags(){return{continueFlag:this.continueFlag,mutatedFlag:this.mutatedFlag}}set flags({continueFlag:e,mutatedFlag:t}){e&&this.setContinue(),t&&this.setMutated()}reset(){}optimizeNextFromLeaves(e){if(Sl(e))return!1;const t=e.parent,{continueFlag:n}=this.run(e);return n&&this.optimizeNextFromLeaves(t),this.mutatedFlag}}class $l extends kl{}function Bl(e,t,n,i){if(bn(n)&&Wn(n.bin))e.add(Cn(n,{})),e.add(Cn(n,{binSuffix:"end"})),In(n,t)&&e.add(Cn(n,{binSuffix:"range"}));else if(t in ct){const n=function(e){switch(e){case We:return"y";case Ge:return"y2";case He:return"x";case Ye:return"x2"}}(t);e.add(i.getName(n))}else e.add(Cn(n));return e}class jl extends ea{constructor(e,t,n){super(e),this.dimensions=t,this.measures=n}clone(){return new jl(null,new Set(this.dimensions),B(this.measures))}get groupBy(){return this.dimensions}static makeFromEncoding(e,t){let n=!1;t.forEachFieldDef(e=>{e.aggregate&&(n=!0)});const i={},r=new Set;return n?(t.forEachFieldDef((e,n)=>{const{aggregate:o,field:a}=e;if(o)if("count"===o)i["*"]=i["*"]||{},i["*"].count=new Set([Cn(e,{forAs:!0})]);else{if($e(o)||Be(o)){const e=$e(o)?"argmin":"argmax",t=o[e];i[t]=i[t]||{},i[t][e]=new Set([Cn({op:e,field:t},{forAs:!0})])}else i[a]=i[a]||{},i[a][o]=new Set([Cn(e,{forAs:!0})]);Bt(n)&&"unaggregated"===t.scaleDomain(n)&&(i[a]=i[a]||{},i[a].min=new Set([Cn({field:a,aggregate:"min"},{forAs:!0})]),i[a].max=new Set([Cn({field:a,aggregate:"max"},{forAs:!0})]))}else Bl(r,n,e,t)}),r.size+Y(i).length===0?null:new jl(e,r,i)):null}static makeFromTransform(e,t){const n=new Set,i={};for(const e of t.aggregate){const{op:t,field:n,as:r}=e;t&&("count"===t?(i["*"]=i["*"]||{},i["*"].count=new Set([r||Cn(e,{forAs:!0})])):(i[n]=i[n]||{},i[n][t]=new Set([r||Cn(e,{forAs:!0})])))}for(const e of t.groupby||[])n.add(e);return n.size+Y(i).length===0?null:new jl(e,n,i)}merge(e){return function(e,t){if(e.size!==t.size)return!1;for(const n of e)if(!t.has(n))return!1;return!0}(this.dimensions,e.dimensions)?(function(e,t){for(const n of Y(t)){const i=t[n];for(const t of Y(i))n in e?e[n][t]=new Set([...e[n][t]||[],...i[t]]):e[n]={[t]:i[t]}}}(this.measures,e.measures),!0):(function(...e){Mt.debug.apply(Mt,arguments)}("different dimensions, cannot merge"),!1)}addDimensions(e){e.forEach(this.dimensions.add,this.dimensions)}dependentFields(){return new Set([...this.dimensions,...Y(this.measures)])}producedFields(){const e=new Set;for(const t of Y(this.measures))for(const n of Y(this.measures[t])){const i=this.measures[t][n];0===i.size?e.add(`${n}_${t}`):i.forEach(e.add,e)}return e}hash(){return`Aggregate ${T({dimensions:this.dimensions,measures:this.measures})}`}assemble(){const e=[],t=[],n=[];for(const i of Y(this.measures))for(const r of Y(this.measures[i]))for(const o of this.measures[i][r])n.push(o),e.push(r),t.push("*"===i?null:te(i));return{type:"aggregate",groupby:[...this.dimensions],ops:e,fields:t,as:n}}}class Nl extends ea{constructor(e,t,n,i){super(e),this.model=t,this.name=n,this.data=i;for(const e of ht){const n=t.facet[e];if(n){const{bin:i,sort:r}=n;this[e]=Object.assign({name:t.getName(`${e}_domain`),fields:[Cn(n),...Wn(i)?[Cn(n,{binSuffix:"end"})]:[]]},To(r)?{sortField:r}:o(r)?{sortIndexField:Gs(n,e)}:{})}}this.childModel=t.child}hash(){let e="Facet";for(const t of ht)this[t]&&(e+=` ${t.charAt(0)}:${T(this[t])}`);return e}get fields(){const e=[];for(const t of ht)this[t]&&this[t].fields&&e.push(...this[t].fields);return e}getSource(){return this.name}getChildIndependentFieldsWithStep(){const e={};for(const t of["x","y"]){const n=this.childModel.component.scales[t];if(n&&!n.merged){const i=n.get("type"),r=n.get("range");if(Wi(i)&&vo(r)){const n=lf(ff(this.childModel,t));n?e[t]=n:Lt("Unknown field for ${channel}.  Cannot calculate view size.")}}}return e}assembleRowColumnHeaderData(e,t,n){const i={row:"y",column:"x"}[e],r=[],o=[],a=[];n&&n[i]&&(t?(r.push(`distinct_${n[i]}`),o.push("max")):(r.push(n[i]),o.push("distinct")),a.push(`distinct_${n[i]}`));const{sortField:s,sortIndexField:u}=this[e];if(s){const{op:e=_o,field:t}=s;r.push(t),o.push(e),a.push(Cn(s,{forAs:!0}))}else u&&(r.push(u),o.push("max"),a.push(u));return{name:this[e].name,source:t||this.data,transform:[Object.assign({type:"aggregate",groupby:this[e].fields},r.length?{fields:r,ops:o,as:a}:{})]}}assembleFacetHeaderData(e){const{columns:t}=this.model.layout,{layoutHeaders:n}=this.model.component,i=[],r={};for(const e of Qs){for(const t of Xs){const i=n[e]&&n[e][t]||[];for(const t of i)if(t.axes&&t.axes.length>0){r[e]=!0;break}}if(r[e]){const n=`length(data("${this.facet.name}"))`,r="row"===e?t?{signal:`ceil(${n} / ${t})`}:1:t?{signal:`min(${n}, ${t})`}:{signal:n};i.push({name:`${this.facet.name}_${e}`,transform:[{type:"sequence",start:0,stop:r}]})}}const{row:o,column:a}=r;return(o||a)&&i.unshift(this.assembleRowColumnHeaderData("facet",null,e)),i}assemble(){const e=[];let t=null;const n=this.getChildIndependentFieldsWithStep(),{column:i,row:r,facet:o}=this;if(i&&r&&(n.x||n.y)){t=`cross_${this.column.name}_${this.row.name}`;const i=[].concat(n.x||[],n.y||[]),r=i.map(()=>"distinct");e.push({name:t,source:this.data,transform:[{type:"aggregate",groupby:this.fields,fields:i,ops:r}]})}for(const i of[Pe,Re])this[i]&&e.push(this.assembleRowColumnHeaderData(i,t,n));if(o){const t=this.assembleFacetHeaderData(n);t&&e.push(...t)}return e}}class _l extends ea{constructor(e,t,n){super(e),this.model=t,this.filter=n,this.expr=pc(this.model,this.filter,this),this._dependentFields=Ws(this.expr)}clone(){return new _l(null,this.model,B(this.filter))}dependentFields(){return this._dependentFields}assemble(){return{type:"filter",expr:this.expr}}hash(){return`Filter ${this.expr}`}}function Tl(e){return"'"===e[0]&&"'"===e[e.length-1]||'"'===e[0]&&'"'===e[e.length-1]?e.slice(1,-1):e}class zl extends ea{clone(){return new zl(null,B(this._parse))}constructor(e,t){super(e),this._parse=t}hash(){return`Parse ${T(this._parse)}`}static makeExplicit(e,t,n){let i={};const r=t.data;return!Lr(r)&&r&&r.format&&r.format.parse&&(i=r.format.parse),this.makeWithAncestors(e,i,{},n)}static makeImplicitFromFilterTransform(e,t,n){const i={};return function e(t,n){if(k(t))e(t.not,n);else if(S(t))for(const i of t.and)e(i,n);else if(D(t))for(const i of t.or)e(i,n);else n(t)}(t.filter,e=>{if(eo(e)){let t=null;Yr(e)?t=e.equal:Zr(e)?t=e.range[0]:Kr(e)&&(t=(e.oneOf||e.in)[0]),t&&(qt(t)?i[e.field]="date":v(t)?i[e.field]="number":s(t)&&(i[e.field]="string")),e.timeUnit&&(i[e.field]="date")}}),0===Y(i).length?null:this.makeWithAncestors(e,{},i,n)}static makeImplicitFromEncoding(e,t,n){const i={};function r(e){var t;Un(e)?i[e.field]="date":"quantitative"===e.type&&((t=e.aggregate)&&s(t)&&R(["min","max"],t))?i[e.field]="number":ie(e.field)>1?e.field in i||(i[e.field]="flatten"):An(e)&&To(e.sort)&&ie(e.sort.field)>1&&(e.sort.field in i||(i[e.sort.field]="flatten"))}if((kf(t)||Of(t))&&t.forEachFieldDef((e,n)=>{if(bn(e))r(e);else{const i=wt(n),o=t.fieldDef(i);r(Object.assign({},e,{type:o.type}))}}),kf(t)){const{mark:e,markDef:n,encoding:r}=t;if(ve(e)&&!t.encoding.order){const e=r["horizontal"===n.orient?"y":"x"];!yn(e)||"quantitative"!==e.type||e.field in i||(i[e.field]="number")}}return this.makeWithAncestors(e,{},i,n)}static makeWithAncestors(e,t,n,i){for(const e of Y(n)){const t=i.getWithExplicit(e);void 0!==t.value&&(t.explicit||t.value===n[e]||"derived"===t.value||"flatten"===n[e]?delete n[e]:Lt(zt.differentParse(e,n[e],t.value)))}for(const e of Y(t)){const n=i.get(e);void 0!==n&&(n===t[e]?delete t[e]:Lt(zt.differentParse(e,t[e],n)))}const r=new Gc(t,n);i.copyAll(r);const o={};for(const e of Y(r.combine())){const t=r.get(e);null!==t&&(o[e]=t)}return 0===Y(o).length||i.parseNothing?null:new zl(e,o)}get parse(){return this._parse}merge(e){this._parse=Object.assign({},this._parse,e.parse),e.remove()}assembleFormatParse(){const e={};for(const t of Y(this._parse)){const n=this._parse[t];1===ie(t)&&(e[t]=n)}return e}producedFields(){return new Set(Y(this._parse))}dependentFields(){return new Set(Y(this._parse))}assembleTransforms(e=!1){return Y(this._parse).filter(t=>!e||ie(t)>1).map(e=>{const t=function(e,t){const n=ee(e);if("number"===t)return`toNumber(${n})`;if("boolean"===t)return`toBoolean(${n})`;if("string"===t)return`toString(${n})`;if("date"===t)return`toDate(${n})`;if("flatten"===t)return n;if(0===t.indexOf("date:"))return`timeParse(${n},'${Tl(t.slice(5,t.length))}')`;if(0===t.indexOf("utc:"))return`utcParse(${n},'${Tl(t.slice(4,t.length))}')`;return Lt(zt.unrecognizedParse(t)),null}(e,this._parse[e]);return t?{type:"formula",expr:t,as:ne(e)}:null}).filter(e=>null!==e)}}class Rl extends ea{constructor(e,t){super(e),this.transform=t}clone(){return new Rl(null,B(this.transform))}addDimensions(e){this.transform.groupby=q(this.transform.groupby.concat(e),e=>e)}dependentFields(){const e=new Set;return this.transform.groupby&&this.transform.groupby.forEach(t=>e.add(t)),this.transform.joinaggregate.map(e=>e.field).filter(e=>void 0!==e).forEach(t=>e.add(t)),e}producedFields(){return new Set(this.transform.joinaggregate.map(this.getDefaultName))}getDefaultName(e){return e.as||Cn(e)}hash(){return`JoinAggregateTransform ${T(this.transform)}`}assemble(){const e=[],t=[],n=[];for(const i of this.transform.joinaggregate)t.push(i.op),n.push(this.getDefaultName(i)),e.push(void 0===i.field?null:i.field);const i=this.transform.groupby;return Object.assign({type:"joinaggregate",as:n,ops:t,fields:e},void 0!==i?{groupby:i}:{})}}class Pl extends ea{clone(){return new Pl(null,B(this._stack))}constructor(e,t){super(e),this._stack=t}static makeFromTransform(e,t){const{stack:n,groupby:i,as:r,offset:a="zero"}=t,u=[],c=[];if(void 0!==t.sort)for(const e of t.sort)u.push(e.field),c.push(re(e.order,"ascending"));const l={field:u,order:c};let f;return f=function(e){return o(e)&&e.every(e=>s(e))&&e.length>1}(r)?r:s(r)?[r,r+"_end"]:[t.stack+"_start",t.stack+"_end"],new Pl(e,{stackField:n,groupby:i,offset:a,sort:l,facetby:[],as:f})}static makeFromEncoding(e,t){const n=t.stack,{encoding:i}=t;if(!n)return null;let r;if(n.groupbyChannel){r=_n(i[n.groupbyChannel])}const a=function(e){return e.stack.stackBy.reduce((e,t)=>{const n=Cn(t.fieldDef);return n&&e.push(n),e},[])}(t),s=t.encoding.order;let u;return u=o(s)||yn(s)?Qo(s):a.reduce((e,t)=>(e.field.push(t),e.order.push("descending"),e),{field:[],order:[]}),new Pl(e,{dimensionFieldDef:r,stackField:t.vgField(n.fieldChannel),facetby:[],stackby:a,sort:u,offset:n.offset,impute:n.impute,as:[t.vgField(n.fieldChannel,{suffix:"start",forAs:!0}),t.vgField(n.fieldChannel,{suffix:"end",forAs:!0})]})}get stack(){return this._stack}addDimensions(e){this._stack.facetby.push(...e)}dependentFields(){const e=new Set;return e.add(this._stack.stackField),this.getGroupbyFields().forEach(t=>e.add(t)),this._stack.facetby.forEach(t=>e.add(t)),this._stack.sort.field.forEach(t=>e.add(t)),e}producedFields(){return new Set(this._stack.as)}hash(){return`Stack ${T(this._stack)}`}getGroupbyFields(){const{dimensionFieldDef:e,impute:t,groupby:n}=this._stack;return e?e.bin?t?[Cn(e,{binSuffix:"mid"})]:[Cn(e,{}),Cn(e,{binSuffix:"end"})]:[Cn(e)]:n||[]}assemble(){const e=[],{facetby:t,dimensionFieldDef:n,stackField:i,stackby:r,sort:o,offset:a,impute:s,as:u}=this._stack;return s&&n&&(n.bin&&e.push({type:"formula",expr:"0.5*"+Cn(n,{expr:"datum"})+"+0.5*"+Cn(n,{expr:"datum",binSuffix:"end"}),as:Cn(n,{binSuffix:"mid",forAs:!0})}),e.push({type:"impute",field:i,groupby:[...r,...t],key:Cn(n,{binSuffix:"mid"}),method:"value",value:0})),e.push({type:"stack",groupby:[...this.getGroupbyFields(),...t],field:i,sort:o,as:u,offset:a}),e}}class Ul extends ea{constructor(e,t){super(e),this.transform=t}clone(){return new Ul(null,B(this.transform))}addDimensions(e){this.transform.groupby=q(this.transform.groupby.concat(e),e=>e)}dependentFields(){const e=new Set;return(this.transform.groupby||[]).forEach(t=>e.add(t)),(this.transform.sort||[]).forEach(t=>e.add(t.field)),this.transform.window.map(e=>e.field).filter(e=>void 0!==e).forEach(t=>e.add(t)),e}producedFields(){return new Set(this.transform.window.map(this.getDefaultName))}getDefaultName(e){return e.as||Cn(e)}hash(){return`WindowTransform ${T(this.transform)}`}assemble(){const e=[],t=[],n=[],i=[];for(const r of this.transform.window)t.push(r.op),n.push(this.getDefaultName(r)),i.push(void 0===r.param?null:r.param),e.push(void 0===r.field?null:r.field);const r=this.transform.frame,o=this.transform.groupby;if(r&&null===r[0]&&null===r[1]&&t.every(e=>je(e)))return Object.assign({type:"joinaggregate",as:n,ops:t,fields:e},void 0!==o?{groupby:o}:{});const a=[],s=[];if(void 0!==this.transform.sort)for(const e of this.transform.sort)a.push(e.field),s.push(e.order||"ascending");const u={field:a,order:s},c=this.transform.ignorePeers;return Object.assign({type:"window",params:i,as:n,ops:t,fields:e,sort:u},void 0!==c?{ignorePeers:c}:{},void 0!==o?{groupby:o}:{},void 0!==r?{frame:r}:{})}}class Ml extends Ol{run(e){const t=e.parent;if(e instanceof zl){if(Sl(t))return this.flags;if(t.numChildren()>1)return this.setContinue(),this.flags;if(t instanceof zl)this.setMutated(),t.merge(e);else{if(G(t.producedFields(),e.dependentFields()))return this.setContinue(),this.flags;this.setMutated(),e.swapWithParent()}}return this.setContinue(),this.flags}}class Ll extends $l{mergeNodes(e,t){const n=t.shift();for(const i of t)e.removeChild(i),i.parent=n,i.remove()}run(e){const t=e.children.map(e=>e.hash()),n={};for(let i=0;i<t.length;i++)void 0===n[t[i]]?n[t[i]]=[e.children[i]]:n[t[i]].push(e.children[i]);for(const t of Y(n))n[t].length>1&&(this.setMutated(),this.mergeNodes(e,n[t]));for(const t of e.children)this.run(t);return this.mutatedFlag}}class Il extends Ol{run(e){return e instanceof ta||e.numChildren()>0||e instanceof Nl?this.flags:(this.setMutated(),e.remove(),this.flags)}}class ql extends Ol{constructor(){super(...arguments),this.fields=new Set}run(e){if(this.setContinue(),e instanceof Ou){const t=e.producedFields();W(t,this.fields)?(this.setMutated(),e.remove()):this.fields=new Set([...this.fields,...t])}return this.flags}reset(){this.fields.clear()}}class Wl extends Ol{run(e){this.setContinue();const t=e.parent.children.filter(e=>e instanceof Ou),n=t.pop();for(const e of t)this.setMutated(),n.merge(e);return this.flags}}function Hl(e){if(e instanceof Nl)if(1!==e.numChildren()||e.children[0]instanceof ta){const n=e.model.component.data.main;!function e(t){if(t instanceof ta&&t.type===Hr&&1===t.numChildren()){const n=t.children[0];n instanceof Nl||(n.swapWithParent(),e(t))}}(n);const i=(t=e,function e(n){if(!(n instanceof Nl)){const i=n.clone();if(i instanceof ta){const e=Xl+i.getSource();i.setSource(e),t.model.component.data.outputNodes[e]=i}else(i instanceof jl||i instanceof Pl||i instanceof Ul||i instanceof Rl)&&i.addDimensions(t.fields);return M(n.children.map(e)).forEach(e=>e.parent=i),[i]}return M(n.children.map(e))}),r=M(e.children.map(i));for(const e of r)e.parent=n}else{const t=e.children[0];(t instanceof jl||t instanceof Pl||t instanceof Ul||t instanceof Rl)&&t.addDimensions(e.fields),t.swapWithParent(),Hl(e)}else e.children.map(Hl);var t}class Gl extends $l{run(e){e instanceof ta&&!e.isRequired()&&(this.setMutated(),e.remove());for(const t of e.children)this.run(t);return this.mutatedFlag}}class Yl extends Ol{run(e){const t=e.parent,n=[...t.children],i=t.children.filter(e=>e instanceof zl);if(t.numChildren()>1&&i.length>=1){const e={},r=new Set;for(const t of i){const n=t.parse;for(const t of Y(n))t in e?e[t]!==n[t]&&r.add(t):e[t]=n[t]}for(const t of r)delete e[t];if(0!==Y(e).length){this.setMutated();const i=new zl(t,e);for(const r of n){if(r instanceof zl)for(const t of Y(e))delete r.parse[t];t.removeChild(r),r.parent=i,r instanceof zl&&0===Y(r.parse).length&&r.remove()}}}return this.setContinue(),this.flags}}class Vl extends Ol{run(e){const t=e.parent,n=t.children.filter(e=>e instanceof jl),i={};for(const e of n){const t=T(e.groupBy);t in i||(i[t]=[]),i[t].push(e)}for(const e of Y(i)){const n=i[e];if(n.length>1){const e=n.pop();for(const i of n)e.merge(i)&&(t.removeChild(i),i.parent=e,i.remove(),this.setMutated())}}return this.setContinue(),this.flags}}class Jl extends Ol{constructor(e){super(),this.model=e}run(e){const t=e.parent,n=!(Sl(t)||t instanceof _l||t instanceof zl),i=[],r=[];for(const e of t.children)e instanceof wl&&(n&&!G(t.producedFields(),e.dependentFields())?i.push(e):r.push(e));if(i.length>0){const e=i.pop();for(const t of i)e.merge(t,this.model.renameSignal.bind(this.model));this.setMutated(),t instanceof wl?t.merge(e,this.model.renameSignal.bind(this.model)):e.swapWithParent()}if(r.length>1){const e=r.pop();for(const t of r)e.merge(t,this.model.renameSignal.bind(this.model));this.setMutated()}return this.setContinue(),this.flags}}class Ql extends Ol{run(e){const t=e.parent,n=[...t.children];if(!P(n,e=>e instanceof ta)||t.numChildren()<=1)return this.setContinue(),this.flags;const i=[];let r;for(const e of n)if(e instanceof ta){let n=e;for(;1===n.numChildren();){const e=n.children[0];if(!(e instanceof ta))break;n=e}i.push(...n.children),r?(t.removeChild(e),e.parent=r.parent,r.parent.removeChild(r),r.parent=n,this.setMutated()):r=n}else i.push(e);if(i.length){this.setMutated();for(const e of i)e.parent.removeChild(e),e.parent=r}return this.setContinue(),this.flags}}const Xl="scale_",Zl=5;function Kl(e){const t=[];return e.forEach(function e(n){0===n.numChildren()?t.push(n):n.children.forEach(e)}),t}function ef(e){return e}function tf(e,t){return t.map(t=>{if(e instanceof Ol){const n=e.optimizeNextFromLeaves(t);return e.reset(),n}return e.run(t)}).some(ef)}function nf(e,t){let n=e.sources;const i=new Set;return i.add(tf(new Gl,n)),n=n.filter(e=>e.numChildren()>0),i.add(tf(new Il,Kl(n))),n=n.filter(e=>e.numChildren()>0),i.add(tf(new Ml,Kl(n))),i.add(tf(new Jl(t),Kl(n))),i.add(tf(new ql,Kl(n))),i.add(tf(new Yl,Kl(n))),i.add(tf(new Vl,Kl(n))),i.add(tf(new Wl,Kl(n))),i.add(tf(new Ll,n)),i.add(tf(new Ql,Kl(n))),e.sources=n,i.has(!0)}class rf{constructor(e){Object.defineProperty(this,"signal",{enumerable:!0,get:e})}static fromName(e,t){return new rf(()=>e(t))}}function of(e){kf(e)?function(e){const t=e.specifiedScales,n=e.component.scales;Y(n).forEach(i=>{const r=t[i],o=r?r.domain:void 0,a=function(e,t){const n=e.getScaleComponent(t).get("type"),i=function(e,t,n,i){if("unaggregated"===e){const{valid:e,reason:i}=uf(t,n);if(!e)return void Lt(i)}else if(void 0===e&&i.useUnaggregatedDomain){const{valid:e}=uf(t,n);if(e)return"unaggregated"}return e}(e.scaleDomain(t),e.fieldDef(t),n,e.config.scale);i!==e.scaleDomain(t)&&(e.specifiedScales[t]=Object.assign({},e.specifiedScales[t],{domain:i}));if("x"===t&&e.channelHasField("x2"))return e.channelHasField("x")?Xc(af(n,i,e,"x"),af(n,i,e,"x2"),"domain","scale",cf):af(n,i,e,"x2");if("y"===t&&e.channelHasField("y2"))return e.channelHasField("y")?Xc(af(n,i,e,"y"),af(n,i,e,"y2"),"domain","scale",cf):af(n,i,e,"y2");return af(n,i,e,t)}(e,i),s=n[i];if(s.setWithExplicit("domains",a),Ji(o)&&s.set("domainRaw",{signal:qu+T(o)},!0),e.component.data.isFaceted){let t=e;for(;!Of(t)&&t.parent;)t=t.parent;const n=t.component.resolve.scale[i];if("shared"===n)for(const e of a.value)xo(e)&&(e.data=Xl+e.data.replace(Xl,""))}})}(e):function(e){for(const t of e.children)of(t);const t=e.component.scales;Y(t).forEach(n=>{let i,r=null;for(const t of e.children){const e=t.component.scales[n];if(e){i=void 0===i?e.getWithExplicit("domains"):Xc(i,e.getWithExplicit("domains"),"domains","scale",cf);const t=e.get("domainRaw");r&&t&&r.signal!==t.signal&&Lt("The same selection must be used to override scale domains in a layered view."),r=t}}t[n].setWithExplicit("domains",i),r&&t[n].set("domainRaw",r,!0)})}(e)}function af(e,t,n,i){const r=n.fieldDef(i);if(t&&"unaggregated"!==t&&!Ji(t)){const{type:e,timeUnit:n}=r;return Yc("temporal"===e||n?function(e,t,n){return e.map(e=>({signal:`{data: ${Mn(e,{timeUnit:n,type:t})}}`}))}(t,e,n):[t])}const o=n.stack;if(o&&i===o.fieldChannel){if("normalize"===o.offset)return Vc([[0,1]]);const e=n.requestDataName(Hr);return Vc([{data:e,field:n.vgField(i,{suffix:"start"})},{data:e,field:n.vgField(i,{suffix:"end"})}])}const s=Bt(i)?function(e,t,n){if(!Wi(n))return;const i=e.fieldDef(t),r=i.sort;if(zo(r))return{op:"min",field:Gs(i,t),order:"ascending"};const o=null!==e.stack;if(To(r))return sf(r,o);if(function(e){return!!e&&!!e.encoding}(r)){const{encoding:t,order:n}=r,{aggregate:i,field:a}=e.fieldDef(t),s={op:i,field:a,order:n};return sf(s,o)}if("descending"===r)return{op:"min",field:e.vgField(t),order:"descending"};if(R(["ascending",void 0],r))return!0;return}(n,i,e):void 0;if("unaggregated"===t){const e=n.requestDataName(Hr),{field:t}=r;return Vc([{data:e,field:Cn({field:t,aggregate:"min"})},{data:e,field:Cn({field:t,aggregate:"max"})}])}if(Wn(r.bin)){if(Wi(e))return Vc("bin-ordinal"===e?[]:[{data:J(s)?n.requestDataName(Hr):n.requestDataName(Gr),field:n.vgField(i,In(r,i)?{binSuffix:"range"}:{}),sort:!0!==s&&a(s)?s:{field:n.vgField(i,{}),op:"min"}}]);{const{bin:e}=r;if(Wn(e)){const t=xl(n,r.field,e);return Vc([new rf(()=>{const e=n.getSignalName(t);return`[${e}.start, ${e}.stop]`})])}return Vc([{data:n.requestDataName(Hr),field:n.vgField(i,{})}])}}return Vc(s?[{data:J(s)?n.requestDataName(Hr):n.requestDataName(Gr),field:n.vgField(i),sort:s}]:[{data:n.requestDataName(Hr),field:n.vgField(i)}])}function sf(e,t){const{op:n,field:i,order:r}=e;return Object.assign({op:n||(t?"sum":_o)},i?{field:te(i)}:{},r?{order:r}:{})}function uf(e,t){const{aggregate:n,type:i}=e;return n?s(n)&&!ze[n]?{valid:!1,reason:zt.unaggregateDomainWithNonSharedDomainOp(n)}:"quantitative"===i&&"log"===t?{valid:!1,reason:zt.unaggregatedDomainWithLogScale(e)}:{valid:!0}:{valid:!1,reason:zt.unaggregateDomainHasNoEffectForRawField(e)}}function cf(e,t,n,i){return e.explicit&&t.explicit&&Lt(zt.mergeConflictingDomainProperty(n,i,e.value,t.value)),{explicit:e.explicit,value:[...e.value,...t.value]}}function lf(e){if(xo(e)&&s(e.field))return e.field;if(function(e){return!o(e)&&"fields"in e&&!("data"in e)}(e)){let t;for(const n of e.fields)if(xo(n)&&s(n.field))if(t){if(t!==n.field)return Lt("Detected faceted independent scales that union domain of multiple fields from different data sources.  We will use the first field.  The result view size may be incorrect."),t}else t=n.field;return Lt("Detected faceted independent scales that union domain of identical fields from different source detected.  We will assume that this is the same field from a different fork of the same data source.  However, if this is not case, the result view size maybe incorrect."),t}if(function(e){return!o(e)&&"fields"in e&&"data"in e}(e)){Lt("Detected faceted independent scales that union domain of multiple fields from the same data source.  We will use the first field.  The result view size may be incorrect.");const t=e.fields[0];return s(t)?t:void 0}}function ff(e,t){return function(e){const t=q(e.map(e=>xo(e)?ke(e,["sort"]):e),T),n=q(e.map(e=>{if(xo(e)){const t=e.sort;return void 0===t||J(t)||("count"===t.op&&delete t.field,"ascending"===t.order&&delete t.order),t}}).filter(e=>void 0!==e),T);if(0===t.length)return;if(1===t.length){const t=e[0];if(xo(t)&&n.length>0){let e=n[0];return n.length>1&&(Lt(zt.MORE_THAN_ONE_SORT),e=!0),Object.assign({},t,{sort:e})}return t}const i=q(n.map(e=>J(e)||"count"===e.op?e:(Lt(zt.domainSortDropped(e)),!0)),T);let r;1===i.length?r=i[0]:i.length>1&&(Lt(zt.MORE_THAN_ONE_SORT),r=!0);const o=q(e.map(e=>xo(e)?e.data:null),e=>e);if(1===o.length&&null!==o[0])return Object.assign({data:o[0],fields:t.map(e=>e.field)},r?{sort:r}:{});return Object.assign({fields:t},r?{sort:r}:{})}(e.component.scales[t].get("domains").map(t=>(xo(t)&&(t.data=e.lookupDataSource(t.data)),t)))}function df(e){return Y(e.component.scales).reduce((t,n)=>{const i=e.component.scales[n];if(i.merged)return t;const r=i.combine();let{domainRaw:o}=r;const{name:a,type:s,domains:c,domainRaw:l,range:f}=r,d=ke(r,["name","type","domains","domainRaw","range"]),p=function(e,t,n){if(("x"===n||"y"===n)&&vo(e))return{step:{signal:t+"_step"}};return e}(r.range,a,n);o&&function(e){return e.signal.indexOf(qu)>=0}(o)&&(o=function(e,t){const n=JSON.parse(t.signal.replace(qu,"")),i=Q(n.selection),r=n.encoding;let o=n.field,a=e.component.selection&&e.component.selection[i];if(!a){if(a=e.getSelectionComponent(i,n.selection),r||o){if(r&&!o){const e=a.project.items.filter(e=>e.channel===r);!e.length||e.length>1?(o=a.project.items[0].field,Lt((e.length?"Multiple ":"No ")+`matching ${u(r)} encoding found for selection ${u(n.selection)}. `+`Using "field": ${u(o)}.`)):o=e[0].field}}else o=a.project.items[0].field,a.project.items.length>1&&Lt('A "field" or "encoding" must be specified when using a selection as a scale domain. '+`Using "field": ${u(o)}.`);return{signal:ee(o,i)}}return Lt('Use "bind": "scales" to setup a binding for scales and selections within the same view.'),{signal:"null"}}(e,o));const h=ff(e,n);return t.push(Object.assign({name:a,type:s},h?{domain:h}:{},o?{domainRaw:o}:{},{range:p},d)),t},[])}class pf extends Gc{constructor(e,t){super({},{name:e}),this.merged=!1,this.setWithExplicit("type",t)}domainDefinitelyIncludesZero(){return!1!==this.get("zero")||P(this.get("domains"),e=>o(e)&&2===e.length&&e[0]<=0&&e[1]>=0)}}const hf=["range","rangeStep","scheme"];function mf(e){return"x"===e?"width":"y"===e?"height":void 0}function gf(e){const t=e.component.scales;$t.forEach(n=>{const i=t[n];if(!i)return;const r=e.getScaleComponent(n),a=e.specifiedScales[n],s=e.fieldDef(n),u=mf(n);let c=u?!!e.component.layoutSize.get(u):void 0;const l=r.get("type"),f=R(["point","band"],l)||!!a.rangeStep;u&&e.fit&&!c&&f&&(Lt(zt.CANNOT_FIX_RANGE_STEP_WITH_FIT),c=!0);const d=function(e){const t=[];for(const n of Dt){const i=yf(e,n);void 0!==i&&t.push(i)}return t}(e),p=function(e,t,n,i,r,a,s,u,c,l,f){const d=c||null===r.rangeStep;for(const t of hf)if(void 0!==r[t]){const i=Zi(n,t),o=Ki(e,t);if(i)if(o)Lt(o);else switch(t){case"range":return Yc(r[t]);case"scheme":return Yc(bf(r[t]));case"rangeStep":{const n=r[t];if(null!==n){if(!c)return Yc({step:n});Lt(zt.rangeStepDropped(e))}}}else Lt(zt.scalePropertyNotWorkWithScaleType(n,t,e))}return Vc(function(e,t,n,i,r,a,s,u,c,l,f){switch(e){case Me:case Le:if(R(["point","band"],n)&&!l)if(e===Me&&"text"===s){if(r.scale.textXRangeStep)return{step:r.scale.textXRangeStep}}else if(r.scale.rangeStep)return{step:r.scale.rangeStep};return e===Le&&Hi(n)?[rf.fromName(t,u),0]:[0,rf.fromName(t,u)];case Ze:{const t=function(e,t,n){if(t)return 0;switch(e){case"bar":case"tick":return n.scale.minBandSize;case"line":case"trail":case"rule":return n.scale.minStrokeWidth;case"text":return n.scale.minFontSize;case"point":case"square":case"circle":return n.scale.minSize}throw new Error(zt.incompatibleChannel("size",e))}(s,a,r),i=function(e,t,n){const i=n.scale;switch(e){case"bar":case"tick":{if(void 0!==n.scale.maxBandSize)return n.scale.maxBandSize;const e=xf(t,n.scale);return v(e)?e-1:new rf(()=>`${e.signal} - 1`)}case"line":case"trail":case"rule":return n.scale.maxStrokeWidth;case"text":return n.scale.maxFontSize;case"point":case"square":case"circle":{if(n.scale.maxSize)return n.scale.maxSize;const e=xf(t,i);return v(e)?Math.pow(vf*e,2):new rf(()=>`pow(${vf} * ${e.signal}, 2)`)}}throw new Error(zt.incompatibleChannel("size",e))}(s,c,r);return Yi(n)?function(e,t,n){const i=()=>{const i=bo(t)?t.signal:t,r=`(${i} - ${e}) / (${n} - 1)`;return`sequence(${e}, ${t} + ${r}, ${r})`};return bo(t)?new rf(i):{signal:i()}}(t,i,function(e,t,n,i){switch(e){case"quantile":return t.scale.quantileCount;case"quantize":return t.scale.quantizeCount;case"threshold":return void 0!==n&&o(n)?n.length+1:(Lt(zt.domainRequiredForThresholdScale(i)),3)}}(n,r,f,e)):[t,i]}case nt:return[r.scale.minStrokeWidth,r.scale.maxStrokeWidth];case Xe:return"symbol";case Ve:case Je:case Qe:return"ordinal"===n?"nominal"===i?"category":"ordinal":"rect"===s||"geoshape"===s?"heatmap":"ramp";case Ke:case et:case tt:return[r.scale.minOpacity,r.scale.maxOpacity]}throw new Error(`Scale range undefined for channel ${e}`)}(e,t,n,i,a,s,u,l,f,d,r.domain))}(n,e.getSignalName.bind(e),l,s.type,a,e.config,i.get("zero"),e.mark,c,e.getName(u),d);i.setWithExplicit("range",p)})}function yf(e,t){const n=e.getScaleComponent(t);if(!n)return;const i=n.get("type"),r=e.fieldDef(t);if(Wi(i)){const e=n&&n.get("range");if(e&&vo(e)&&v(e.step))return e.step}else if(r&&r.bin&&Wn(r.bin)){const n=xl(e,r.field,r.bin),i=mf(t),o=e.getName(i);return new rf(()=>{const t=e.getSignalName(n),i=`(${t}.stop - ${t}.start) / ${t}.step`;return`${e.getSignalName(o)} / (${i})`})}}function bf(e){return function(e){return e&&!!e.name}(e)?Object.assign({scheme:e.name},N(e,["name"])):{scheme:e}}const vf=.95;function xf(e,t){if(e.length>0){let t=1/0;for(const n of e)bo(n)?t=void 0:void 0!==t&&n<t&&(t=n);return void 0!==t?t:new rf(()=>{return`min(${e.map(e=>bo(e)?e.signal:e).join(", ")})`})}return t.rangeStep?t.rangeStep:21}function Af(e,t){kf(e)?function(e,t){const n=e.component.scales;Y(n).forEach(i=>{const r=e.specifiedScales[i],a=n[i],s=e.getScaleComponent(i),u=e.fieldDef(i),c=e.config,l=r[t],f=s.get("type"),d=Zi(f,t),p=Ki(i,t);if(void 0!==l&&(d?p&&Lt(p):Lt(zt.scalePropertyNotWorkWithScaleType(f,t,i))),d&&void 0===p)if(void 0!==l)a.copyKeyFromObject(t,r);else{const n=function(e,t,n,i,r,a,s,u,c,l){const f=l.scale,{type:d,sort:p}=i;switch(e){case"bins":return function(e,t){const n=t.bin;if(Wn(n)){const i=xl(e,t.field,n);return new rf(()=>e.getSignalName(i))}if(Hn(n)&&Gn(n)&&void 0!==n.step)return{step:n.step};return}(t,i);case"interpolate":return function(e,t){if(R([Ve,Je,Qe],e)&&"nominal"!==t)return"hcl";return}(n,d);case"nice":return function(e,t,n){if(n.bin||R([Ni.TIME,Ni.UTC],e))return;return!!R([Me,Le],t)||void 0}(r,n,i);case"padding":return function(e,t,n,i,r,o){if(R([Me,Le],e)){if(Gi(t)){if(void 0!==n.continuousPadding)return n.continuousPadding;const{type:t,orient:a}=r;if("bar"===t&&!i.bin&&("vertical"===a&&"x"===e||"horizontal"===a&&"y"===e))return o.continuousBandSize}if(t===Ni.POINT)return n.pointPadding}return}(n,r,f,i,c,l.bar);case"paddingInner":return function(e,t,n,i){if(void 0!==e)return;if(R([Me,Le],t)){const{bandPaddingInner:e,barBandPaddingInner:t,rectBandPaddingInner:r}=i;return re(e,"bar"===n?t:r)}return}(a,n,c.type,f);case"paddingOuter":return function(e,t,n,i,r,o){if(void 0!==e)return;if(R([Me,Le],t)&&n===Ni.BAND){const{bandPaddingOuter:e,barBandPaddingOuter:t,rectBandPaddingOuter:n}=o;return re(e,"bar"===i?t:n,r/2)}return}(a,n,r,c.type,s,f);case"reverse":return function(e,t){if(Hi(e)&&"descending"===t)return!0;return}(r,p);case"zero":return function(e,t,n,i,r){if(n&&"unaggregated"!==n&&Hi(r)){if(o(n)){const e=n[0],t=n[n.length-1];if(e<=0&&t>=0)return!0}return!1}if("size"===e&&"quantitative"===t.type&&!Yi(r))return!0;if(!t.bin&&R([Me,Le],e)){const{orient:t,type:n}=i;return!R(["bar","area","line","trail"],n)||!("horizontal"===t&&"y"===e||"vertical"===t&&"x"===e)}return!1}(n,i,u,c,r)}return f[e]}(t,e,i,u,s.get("type"),s.get("padding"),s.get("paddingInner"),r.domain,e.markDef,c);void 0!==n&&a.set(t,n,!1)}})}(e,t):Cf(e,t)}function wf(e){kf(e)?gf(e):Cf(e,"range")}function Cf(e,t){const n=e.component.scales;for(const n of e.children)"range"===t?wf(n):Af(n,t);Y(n).forEach(i=>{let r;for(const n of e.children){const e=n.component.scales[i];if(e){r=Xc(r,e.getWithExplicit(t),t,"scale",Jc((e,n)=>{switch(t){case"range":return e.step&&n.step?e.step-n.step:0}return 0}))}}n[i].setWithExplicit(t,r)})}function Ff(e,t,n,i){const r=function(e,t,n){switch(t.type){case"nominal":case"ordinal":if(dt(e)||"discrete"===Tt(e))return"shape"===e&&"ordinal"===t.type&&Lt(zt.discreteChannelCannotEncode(e,"ordinal")),"ordinal";if(R(["x","y"],e)){if(R(["rect","bar","rule"],n))return"band";if("bar"===n)return"band"}return"point";case"temporal":return dt(e)?"time":"discrete"===Tt(e)?(Lt(zt.discreteChannelCannotEncode(e,"temporal")),"ordinal"):"time";case"quantitative":return dt(e)?Wn(t.bin)?"bin-ordinal":"linear":"discrete"===Tt(e)?(Lt(zt.discreteChannelCannotEncode(e,"quantitative")),"ordinal"):"linear";case"geojson":return}throw new Error(zt.invalidFieldType(t.type))}(t,n,i),{type:o}=e;return Bt(t)?void 0!==o?tr(t,o)?er(o,n.type)?o:(Lt(zt.scaleTypeNotWorkWithFieldDef(o,r)),r):(Lt(zt.scaleTypeNotWorkWithChannel(t,o,r)),r):r:null}function Ef(e){kf(e)?e.component.scales=function(e){const{encoding:t,mark:n}=e;return $t.reduce((i,r)=>{let o,a;const s=t[r];if(yn(s)&&n===be&&r===Xe&&s.type===pn)return i;if(yn(s)?(o=s,a=s.scale):gn(s)&&(o=s.condition,a=s.condition.scale),o&&null!==a&&!1!==a){const t=Ff(a=a||{},r,o,n);i[r]=new pf(e.scaleName(r+"",!0),{value:t,explicit:a.type===t})}return i},{})}(e):e.component.scales=function(e){const t=e.component.scales={},n={},i=e.component.resolve;for(const t of e.children)Ef(t),Y(t.component.scales).forEach(r=>{if(i.scale[r]=i.scale[r]||Wc(r,e),"shared"===i.scale[r]){const e=n[r],o=t.component.scales[r].getWithExplicit("type");e?zi(e.value,o.value)?n[r]=Xc(e,o,"type","scale",Df):(i.scale[r]="independent",delete n[r]):n[r]=o}});return Y(n).forEach(i=>{const r=e.scaleName(i,!0),o=n[i];t[i]=new pf(r,o);for(const t of e.children){const e=t.component.scales[i];e&&(t.renameScale(e.get("name"),r),e.merged=!0)}}),t}(e)}const Df=Jc((e,t)=>Pi(e)-Pi(t));class Sf{constructor(){this.nameMap={}}rename(e,t){this.nameMap[e]=t}has(e){return void 0!==this.nameMap[e]}get(e){for(;this.nameMap[e]&&e!==this.nameMap[e];)e=this.nameMap[e];return e}}function kf(e){return e&&"unit"===e.type}function Of(e){return e&&"facet"===e.type}function $f(e){return e&&"repeat"===e.type}function Bf(e){return e&&"concat"===e.type}function jf(e){return e&&"layer"===e.type}class Nf{constructor(e,t,n,i,r,a,u,c){this.type=t,this.parent=n,this.config=r,this.repeater=a,this.view=c,this.children=[],this.correctDataNames=e=>(e.from&&e.from.data&&(e.from.data=this.lookupDataSource(e.from.data)),e.from&&e.from.facet&&e.from.facet.data&&(e.from.facet.data=this.lookupDataSource(e.from.facet.data)),e),this.parent=n,this.config=r,this.repeater=a,this.name=e.name||i,this.title=s(e.title)?{text:e.title}:e.title,this.scaleNameMap=n?n.scaleNameMap:new Sf,this.projectionNameMap=n?n.projectionNameMap:new Sf,this.signalNameMap=n?n.signalNameMap:new Sf,this.data=e.data,this.description=e.description,this.transforms=(e.transform||[]).map(e=>ro(e)?{filter:O(e.filter,io)}:e),this.layout=De(e)||vr(e)?{}:function(e,t,n){const i=n[t],r={},{spacing:a,columns:s}=i;void 0!==a&&(r.spacing=a),void 0!==s&&(Qt(e)&&!Jt(e.facet)||cr(e)&&o(e.repeat)||ar(e))&&(r.columns=s);for(const t of lr)if(void 0!==e[t])if("spacing"===t){const n=e[t];r[t]=v(n)?n:{row:n.row||a,column:n.column||a}}else r[t]=e[t];return r}(e,t,r),this.component={data:{sources:n?n.component.data.sources:[],outputNodes:n?n.component.data.outputNodes:{},outputNodeRefCounts:n?n.component.data.outputNodeRefCounts:{},isFaceted:Qt(e)||n&&n.component.data.isFaceted&&void 0===e.data},layoutSize:new Gc,layoutHeaders:{row:{},column:{},facet:{}},mark:null,resolve:Object.assign({scale:{},axis:{},legend:{}},u?B(u):{}),selection:null,scales:null,projection:null,axes:{},legends:{}}}get width(){return this.getSizeSignalRef("width")}get height(){return this.getSizeSignalRef("height")}initSize(e){const{width:t,height:n}=e;t&&this.component.layoutSize.set("width",t,!0),n&&this.component.layoutSize.set("height",n,!0)}parse(){this.parseScale(),this.parseLayoutSize(),this.renameTopLevelLayoutSizeSignal(),this.parseSelections(),this.parseProjection(),this.parseData(),this.parseAxesAndHeaders(),this.parseLegends(),this.parseMarkGroup()}parseScale(){!function(e){Ef(e),of(e);for(const t of Xi)Af(e,t);wf(e)}(this)}parseProjection(){bl(this)}renameTopLevelLayoutSizeSignal(){"width"!==this.getName("width")&&this.renameSignal(this.getName("width"),"width"),"height"!==this.getName("height")&&this.renameSignal(this.getName("height"),"height")}parseLegends(){ul(this)}assembleGroupStyle(){if("unit"===this.type||"layer"===this.type)return this.view&&this.view.style||"cell"}assembleEncodeFromView(e){const t=ke(e,["style"]),n={};for(const e in t)if(t.hasOwnProperty(e)){const i=t[e];void 0!==i&&(n[e]={value:i})}return n}assembleGroupEncodeEntry(e){let t=void 0;return this.view&&(t=this.assembleEncodeFromView(this.view)),e||"unit"!==this.type&&"layer"!==this.type?t:Object.assign({width:this.getSizeSignalRef("width"),height:this.getSizeSignalRef("height")},t||{})}assembleLayout(){if(!this.layout)return;const e=this.layout,{spacing:t}=e,n=ke(e,["spacing"]),{component:i,config:r}=this,o=function(e,t){const n={};for(const i of ht){const r=e[i];if(r&&r.facetFieldDef){const{titleAnchor:e,titleOrient:o}=Js(["titleAnchor","titleOrient"],r.facetFieldDef,t,i),a=Ys(i,o),s=au(e,a);void 0!==s&&(n[a]=s)}}return Y(n).length>0?n:void 0}(i.layoutHeaders,r);return Object.assign({padding:t},this.assembleDefaultLayout(),n,o?{titleBand:o}:{})}assembleDefaultLayout(){return{}}assembleHeaderMarks(){const{layoutHeaders:e}=this.component;let t=[];for(const n of ht)e[n].title&&t.push(Zs(this,n));for(const e of Qs)t=t.concat(tu(this,e));return t}assembleAxes(){return function(e,t){const{x:n=[],y:i=[]}=e;return[...n.map(e=>ko(e,"main",t)),...n.map(e=>ko(e,"grid",t)),...i.map(e=>ko(e,"main",t)),...i.map(e=>ko(e,"grid",t))].filter(e=>e)}(this.component.axes,this.config)}assembleLegends(){return pl(this)}assembleProjections(){return hl(this)}assembleTitle(){const e=this.title||{},{encoding:t}=e,n=ke(e,["encoding"]),i=Object.assign({},fr(this.config.title).nonMark,n,t?{encode:{update:t}}:{});if(i.text)return R(["unit","layer"],this.type)?R(["middle",void 0],i.anchor)&&(i.frame=i.frame||"group"):i.anchor=i.anchor||"start",Y(i).length>0?i:void 0}assembleGroup(e=[]){const t={};(e=e.concat(this.assembleSignals())).length>0&&(t.signals=e);const n=this.assembleLayout();n&&(t.layout=n),t.marks=[].concat(this.assembleHeaderMarks(),this.assembleMarks());const i=!this.parent||Of(this.parent)?function e(t){return jf(t)||Bf(t)||$f(t)?t.children.reduce((t,n)=>t.concat(e(n)),df(t)):df(t)}(this):[];i.length>0&&(t.scales=i);const r=this.assembleAxes();r.length>0&&(t.axes=r);const o=this.assembleLegends();return o.length>0&&(t.legends=o),t}hasDescendantWithFieldOnChannel(e){for(const t of this.children)if(kf(t)){if(t.channelHasField(e))return!0}else if(t.hasDescendantWithFieldOnChannel(e))return!0;return!1}getName(e){return Q((this.name?this.name+"_":"")+e)}requestDataName(e){const t=this.getName(e),n=this.component.data.outputNodeRefCounts;return n[t]=(n[t]||0)+1,t}getSizeSignalRef(e){if(Of(this.parent)){const t="width"===e?"x":"y",n=this.component.scales[t];if(n&&!n.merged){const e=n.get("type"),i=n.get("range");if(Wi(e)&&vo(i)){const e=n.get("name"),i=lf(ff(this,t));if(i){return{signal:fu(e,n,Cn({aggregate:"distinct",field:i},{expr:"datum"}))}}return Lt("Unknown field for ${channel}.  Cannot calculate view size."),null}}}return{signal:this.signalNameMap.get(this.getName(e))}}lookupDataSource(e){const t=this.component.data.outputNodes[e];return t?t.getSource():e}getSignalName(e){return this.signalNameMap.get(e)}renameSignal(e,t){this.signalNameMap.rename(e,t)}renameScale(e,t){this.scaleNameMap.rename(e,t)}renameProjection(e,t){this.projectionNameMap.rename(e,t)}scaleName(e,t){return t?this.getName(e):vt(e)&&Bt(e)&&this.component.scales[e]||this.scaleNameMap.has(this.getName(e))?this.scaleNameMap.get(this.getName(e)):void 0}projectionName(e){return e?this.getName("projection"):this.component.projection&&!this.component.projection.merged||this.projectionNameMap.has(this.getName("projection"))?this.projectionNameMap.get(this.getName("projection")):void 0}getScaleComponent(e){if(!this.component.scales)throw new Error("getScaleComponent cannot be called before parseScale().  Make sure you have called parseScale or use parseUnitModelWithScale().");const t=this.component.scales[e];return t&&!t.merged?t:this.parent?this.parent.getScaleComponent(e):void 0}getSelectionComponent(e,t){let n=this.component.selection[e];if(!n&&this.parent&&(n=this.parent.getSelectionComponent(e,t)),!n)throw new Error(zt.selectionNotFound(t));return n}}class _f extends Nf{vgField(e,t={}){const n=this.fieldDef(e);if(n)return Cn(n,t)}reduceFieldDef(e,t,n){return ei(this.getMapping(),(t,n,i)=>{const r=Nn(n);return r?e(t,r,i):t},t,n)}forEachFieldDef(e,t){Kn(this.getMapping(),(t,n)=>{const i=Nn(t);i&&e(i,n)},t)}}class Tf extends ea{constructor(e,t){super(e),this.filter=t}clone(){return new Tf(null,Object.assign({},this.filter))}static make(e,t){const{config:n,mark:i}=t;if("filter"!==n.invalidValues)return null;const r=t.reduceFieldDef((e,n,r)=>{const o=Bt(r)&&t.getScaleComponent(r);if(o){!Hi(o.get("type"))||n.aggregate||ve(i)||(e[n.field]=n)}return e},{});return Y(r).length?new Tf(e,r):null}dependentFields(){return new Set(Y(this.filter))}assemble(){const e=Y(this.filter).reduce((e,t)=>{const n=this.filter[t],i=Cn(n,{expr:"datum"});return null!==n&&(e.push(`${i} !== null`),e.push(`!isNaN(${i})`)),e},[]);return e.length>0?{type:"filter",expr:e.join(" && ")}:null}}class zf extends ea{constructor(e,t){super(e),this.transform=t,this.transform=B(t);const{flatten:n,as:i=[]}=this.transform;this.transform.as=n.map((e,t)=>i[t]||e)}clone(){return new zf(this.parent,B(this.transform))}producedFields(){return new Set(this.transform.as)}hash(){return`FlattenTransform ${T(this.transform)}`}assemble(){const{flatten:e,as:t}=this.transform;return{type:"flatten",fields:e,as:t}}}class Rf extends ea{constructor(e,t){super(e),this.transform=t,this.transform=B(t);const n=this.transform.as||[void 0,void 0];this.transform.as=[n[0]||"key",n[1]||"value"]}clone(){return new Rf(null,B(this.transform))}producedFields(){return new Set(this.transform.as)}hash(){return`FoldTransform ${T(this.transform)}`}assemble(){const{fold:e,as:t}=this.transform;return{type:"fold",fields:e,as:t}}}class Pf extends ea{constructor(e,t,n,i){super(e),this.fields=t,this.geojson=n,this.signal=i}clone(){return new Pf(null,B(this.fields),this.geojson,this.signal)}static parseAll(e,t){if(t.component.projection&&!t.component.projection.isFit)return e;let n=0;if([[He,We],[Ye,Ge]].forEach(i=>{const r=i.map(e=>t.channelHasField(e)?t.fieldDef(e).field:xn(t.encoding[e])?{expr:t.encoding[e].value+""}:void 0);(r[0]||r[1])&&(e=new Pf(e,r,null,t.getName(`geojson_${n++}`)))}),t.channelHasField(Xe)){const i=t.fieldDef(Xe);i.type===pn&&(e=new Pf(e,null,i.field,t.getName(`geojson_${n++}`)))}return e}assemble(){return Object.assign({type:"geojson"},this.fields?{fields:this.fields}:{},this.geojson?{geojson:this.geojson}:{},{signal:this.signal})}}class Uf extends ea{constructor(e,t,n,i){super(e),this.projection=t,this.fields=n,this.as=i}clone(){return new Uf(null,this.projection,B(this.fields),B(this.as))}static parseAll(e,t){return t.projectionName()?([[He,We],[Ye,Ge]].forEach(n=>{const i=n.map(e=>t.channelHasField(e)?t.fieldDef(e).field:xn(t.encoding[e])?{expr:t.encoding[e].value+""}:void 0),r=n[0]===Ye?"2":"";(i[0]||i[1])&&(e=new Uf(e,t.projectionName(),i,[t.getName("x"+r),t.getName("y"+r)]))}),e):e}assemble(){return{type:"geopoint",projection:this.projection,fields:this.fields,as:this.as}}}class Mf extends ea{clone(){return new Mf(null)}constructor(e){super(e)}producedFields(){return new Set([ir])}hash(){return"Identifier"}assemble(){return{type:"identifier",as:ir}}}class Lf extends ea{constructor(e,t){super(e),this.transform=t}clone(){return new Lf(null,B(this.transform))}producedFields(){return new Set([this.transform.impute])}processSequence(e){const{start:t=0,stop:n,step:i}=e;return{signal:`sequence(${[t,n,...i?[i]:[]].join(",")})`}}static makeFromTransform(e,t){return new Lf(e,t)}static makeFromEncoding(e,t){const n=t.encoding,i=n.x,r=n.y;if(yn(i)&&yn(r)){const o=i.impute?i:r.impute?r:void 0;if(void 0===o)return;const a=i.impute?r:r.impute?i:void 0,{method:s,value:u,frame:c,keyvals:l}=o.impute,f=ti(t.mark,n);return new Lf(e,Object.assign({impute:o.field,key:a.field},s?{method:s}:{},void 0!==u?{value:u}:{},c?{frame:c}:{},void 0!==l?{keyvals:l}:{},f.length?{groupby:f}:{}))}return null}hash(){return`Impute ${T(this.transform)}`}assemble(){const{impute:e,key:t,keyvals:n,method:i,groupby:r,value:o,frame:a=[null,null]}=this.transform,s=Object.assign({type:"impute",field:e,key:t},n?{keyvals:(u=n,u&&void 0!==u.stop?this.processSequence(n):n)}:{},{method:"value"},r?{groupby:r}:{},{value:null});var u;let c;if(i&&"value"!==i){c=[Object.assign({type:"window",as:[`imputed_${e}_value`],ops:[i],fields:[e],frame:a,ignorePeers:!1},r?{groupby:r}:{}),{type:"formula",expr:`datum.${e} === null ? datum.imputed_${e}_value : datum.${e}`,as:e}]}else{c=[{type:"formula",expr:`datum.${e} === null ? ${o} : datum.${e}`,as:e}]}return[s,...c]}}class If extends Gc{constructor(e={},t={},n=!1){super(e,t),this.explicit=e,this.implicit=t,this.parseNothing=n}clone(){const e=super.clone();return e.parseNothing=this.parseNothing,e}}class qf extends ea{constructor(e,t,n){super(e),this.transform=t,this.secondary=n}clone(){return new qf(null,B(this.transform),this.secondary)}static make(e,t,n,i){const r=t.component.data.sources;let o=ud(n.from.data,r);o||(o=new Cl(n.from.data),r.push(o));const a=t.getName(`lookup_${i}`),s=new ta(o,a,"lookup",t.component.data.outputNodeRefCounts);return t.component.data.outputNodes[a]=s,new qf(e,n,s.getSource())}producedFields(){return new Set(this.transform.from.fields||(this.transform.as instanceof Array?this.transform.as:[this.transform.as]))}hash(){return`Lookup ${T({transform:this.transform,secondary:this.secondary})}`}assemble(){let e;if(this.transform.from.fields)e=Object.assign({values:this.transform.from.fields},this.transform.as?{as:this.transform.as instanceof Array?this.transform.as:[this.transform.as]}:{});else{let t=this.transform.as;s(t)||(Lt(zt.NO_FIELDS_NEEDS_AS),t="_lookup"),e={as:[t]}}return Object.assign({type:"lookup",from:this.secondary,key:this.transform.from.key,fields:[this.transform.lookup]},e,this.transform.default?{default:this.transform.default}:{})}}class Wf extends ea{constructor(e,t){super(e),this.transform=t}clone(){return new Wf(null,B(this.transform))}hash(){return`SampleTransform ${T(this.transform)}`}assemble(){return{type:"sample",size:this.transform.sample}}}function Hf(e){let t=0;return function n(i,r){i instanceof Cl&&!i.isGenerator&&!Pr(i.data)&&(e.push(r),r={name:null,source:r.name,transform:[]});if(i instanceof zl&&(i.parent instanceof Cl&&!r.source?(r.format=Object.assign({},r.format||{},{parse:i.assembleFormatParse()}),r.transform.push(...i.assembleTransforms(!0))):r.transform.push(...i.assembleTransforms())),i instanceof Nl)return r.name||(r.name=`data_${t++}`),!r.source||r.transform.length>0?(e.push(r),i.data=r.name):i.data=r.source,void i.assemble().forEach(t=>e.push(t));(i instanceof El||i instanceof Dl||i instanceof Tf||i instanceof _l||i instanceof Hs||i instanceof Uf||i instanceof Pf||i instanceof jl||i instanceof qf||i instanceof Ul||i instanceof Rl||i instanceof Rf||i instanceof zf||i instanceof Mf||i instanceof Wf)&&r.transform.push(i.assemble()),(i instanceof wl||i instanceof Ou||i instanceof Lf||i instanceof Pl)&&r.transform.push(...i.assemble()),i instanceof ta&&(r.source&&0===r.transform.length?i.setSource(r.source):i.parent instanceof ta?i.setSource(r.name):(r.name||(r.name=`data_${t++}`),i.setSource(r.name),1===i.numChildren()&&(e.push(r),r={name:null,source:r.name,transform:[]})));switch(i.numChildren()){case 0:i instanceof ta&&(!r.source||r.transform.length>0)&&e.push(r);break;case 1:n(i.children[0],r);break;default:{r.name||(r.name=`data_${t++}`);let o=r.name;!r.source||r.transform.length>0?e.push(r):o=r.source,i.children.forEach(e=>{n(e,{name:null,source:o,transform:[]})});break}}}}function Gf(e){return"top"===e||"left"===e?"header":"footer"}function Yf(e,t){if(e.channelHasField(t)){const n=e.facet[t],i=Vs("title",null,e.config,t);let r=On(n,e.config,{allowDisabling:!0,includeDefault:void 0===i||!!i});e.child.component.layoutHeaders[t].title&&(r+=" / "+e.child.component.layoutHeaders[t].title,e.child.component.layoutHeaders[t].title=null);const o=Vs("labelOrient",n,e.config,t),a=re((n.header||{}).labels,!0),s=R(["bottom","right"],o)?"footer":"header";e.component.layoutHeaders[t]={title:r,facetFieldDef:n,[s]:"facet"===t?[]:[Vf(e,t,a)]}}}function Vf(e,t,n){const i="row"===t?"height":"width";return{labels:n,sizeSignal:e.child.component.layoutSize.get(i)?e.child.getSizeSignalRef(i):void 0,axes:[]}}function Jf(e,t){const{child:n}=e;if(n.component.axes[t]){const{layoutHeaders:i,resolve:r}=e.component;if(r.axis[t]=Hc(r,t),"shared"===r.axis[t]){const r="x"===t?"column":"row",o=i[r];for(const i of n.component.axes[t]){const t=Gf(i.get("orient"));o[t]=o[t]||[Vf(e,r,!1)];const n=ko(i,"main",e.config,{header:!0});o[t][0].axes.push(n),i.mainExtracted=!0}}}}function Qf(e){Kf(e);const t=e.component.layoutSize;t.setWithExplicit("width",ed(e,"width")),t.setWithExplicit("height",ed(e,"height"))}const Xf=Qf,Zf={vconcat:"width",hconcat:"height"};function Kf(e){for(const t of e.children)t.parseLayoutSize()}function ed(e,t){const n="width"===t?"x":"y",i=e.component.resolve;let r;for(const o of e.children){const e=o.component.layoutSize.getWithExplicit(t),a=i.scale[n];if("independent"===a&&"range-step"===e.value){r=void 0;break}if(r){if("independent"===a&&r.value!==e.value){r=void 0;break}r=Xc(r,e,t,"")}else r=e}if(r){for(const n of e.children)e.renameSignal(n.getName(t),e.getName(t)),n.component.layoutSize.set(t,"merged",!1);return r}return{explicit:!1,value:void 0}}function td(e,t){const n="width"===t?"x":"y",i=e.config,r=e.getScaleComponent(n);if(r){const e=r.get("type"),n=r.get("range");return Wi(e)&&vo(n)?"range-step":i.view[t]}return e.hasProjection?i.view[t]:"width"===t&&"text"===e.mark?i.scale.textXRangeStep:i.scale.rangeStep||Vi.rangeStep}function nd(e,t){return function(e){return e&&!s(e)&&"repeat"in e}(e.field)?e.field.repeat in t?Object.assign({},e,{field:t[e.field.repeat]}):void Lt(zt.noSuchRepeatedValue(e.field.repeat)):e}function id(e,t){if(void 0!==(e=nd(e,t))){if(null===e)return null;if(function(e){return bn(e)&&!!e.sort}(e)&&To(e.sort)){const n=nd(e.sort,t);e=Object.assign({},e,n?{sort:n}:{})}return e}}function rd(e,t){if(!yn(e)){if(gn(e)){const n=id(e.condition,t);if(n)return Object.assign({},e,{condition:n});return ke(e,["condition"])}return e}{const n=id(e,t);if(n)return n;if(mn(e))return{condition:e.condition}}}function od(e,t){const n={};for(const i in e)if(e.hasOwnProperty(i)){const r=e[i];if(o(r))n[i]=r.map(e=>rd(e,t)).filter(e=>e);else{const e=rd(r,t);void 0!==e&&(n[i]=e)}}return n}function ad(e,t,n){return Cn(t,Object.assign({suffix:`by_${Cn(e)}`},n||{}))}class sd extends _f{constructor(e,t,n,i,r){super(e,"facet",t,n,r,i,e.resolve),this.child=$d(e.spec,this,this.getName("child"),void 0,i,r,!1),this.children=[this.child];const o=function(e,t){return Jt(e)?od(e,t):id(e,t)}(e.facet,i);this.facet=this.initFacet(o)}initFacet(e){return Jt(e)?ei(e,(e,t,n)=>R([Re,Pe],n)?void 0===t.field?(Lt(zt.emptyFieldDef(t,n)),e):(e[n]=Tn(t,n),e):(Lt(zt.incompatibleChannel(n,"facet")),e),{}):{facet:Tn(e,"facet")}}channelHasField(e){return!!this.facet[e]}fieldDef(e){return this.facet[e]}parseData(){this.component.data=cd(this),this.child.parseData()}parseLayoutSize(){Kf(this)}parseSelections(){this.child.parseSelections(),this.component.selection=this.child.component.selection}parseMarkGroup(){this.child.parseMarkGroup()}parseAxesAndHeaders(){this.child.parseAxesAndHeaders(),function(e){for(const t of ht)Yf(e,t);Jf(e,"x"),Jf(e,"y")}(this)}assembleSelectionTopLevelSignals(e){return this.child.assembleSelectionTopLevelSignals(e)}assembleSignals(){return this.child.assembleSignals(),[]}assembleSelectionData(e){return this.child.assembleSelectionData(e)}getHeaderLayoutMixins(){const e={};for(const t of ht)for(const n of Xs){const i=this.component.layoutHeaders[t],r=i[n],{facetFieldDef:o}=i;if(o){const n=Vs("titleOrient",o,this.config,t);if(R(["right","bottom"],n)){const i=Ys(t,n);e.titleAnchor=e.titleAnchor||{},e.titleAnchor[i]="end"}}if(r&&r[0]){const r="row"===t?"height":"width",o="header"===n?"headerBand":"footerBand";"facet"===t||this.child.component.layoutSize.get(r)||(e[o]=e[o]||{},e[o][t]=.5),i.title&&(e.offset=e.offset||{},e.offset["row"===t?"rowTitle":"columnTitle"]=10)}}return e}assembleDefaultLayout(){const{column:e,row:t}=this.facet,n=e?this.columnDistinctSignal():t?1:void 0;let i="all";return(t||"independent"!==this.component.resolve.scale.x)&&(e||"independent"!==this.component.resolve.scale.y)||(i="none"),Object.assign({},this.getHeaderLayoutMixins(),n?{columns:n}:{},{bounds:"full",align:i})}assembleLayoutSignals(){return this.child.assembleLayoutSignals()}columnDistinctSignal(){if(!(this.parent&&this.parent instanceof sd)){return{signal:`length(data('${this.getName("column_domain")}'))`}}}assembleGroup(e){return this.parent&&this.parent instanceof sd?Object.assign({},this.channelHasField("column")?{encode:{update:{columns:{field:Cn(this.facet.column,{prefix:"distinct"})}}}}:{},super.assembleGroup(e)):super.assembleGroup(e)}getCardinalityAggregateForChild(){const e=[],t=[],n=[];if(this.child instanceof sd){if(this.child.channelHasField("column")){const i=Cn(this.child.facet.column);e.push(i),t.push("distinct"),n.push(`distinct_${i}`)}}else for(const i of["x","y"]){const r=this.child.component.scales[i];if(r&&!r.merged){const o=r.get("type"),a=r.get("range");if(Wi(o)&&vo(a)){const r=lf(ff(this.child,i));r?(e.push(r),t.push("distinct"),n.push(`distinct_${r}`)):Lt("Unknown field for ${channel}.  Cannot calculate view size.")}}}return{fields:e,ops:t,as:n}}assembleFacet(){const{name:e,data:t}=this.component.data.facetRoot,{row:n,column:i}=this.facet,{fields:r,ops:a,as:s}=this.getCardinalityAggregateForChild(),u=[];for(const e of ht){const t=this.facet[e];if(t){u.push(Cn(t));const{bin:c,sort:l}=t;if(Wn(c)&&u.push(Cn(t,{binSuffix:"end"})),To(l)){const{field:e,op:o=_o}=l,u=ad(t,l);n&&i?(r.push(u),a.push("max"),s.push(u)):(r.push(e),a.push(o),s.push(u))}else if(o(l)){const n=Gs(t,e);r.push(n),a.push("max"),s.push(n)}}}const c=!!n&&!!i;return Object.assign({name:e,data:t,groupby:u},c||r.length?{aggregate:Object.assign({},c?{cross:c}:{},r.length?{fields:r,ops:a,as:s}:{})}:{})}facetSortFields(e){const{facet:t}=this,n=t[e];return n?To(n.sort)?[ad(n,n.sort,{expr:"datum"})]:o(n.sort)?[Gs(n,e,{expr:"datum"})]:[Cn(n,{expr:"datum"})]:[]}facetSortOrder(e){const{facet:t}=this,n=t[e];if(n){const{sort:e}=n;return[(To(e)?e.order:!o(e)&&e)||"ascending"]}return[]}assembleLabelTitle(){const{facet:e,config:t}=this;if(e.facet)return iu(e.facet,"facet",t);const n={row:["top","bottom"],column:["left","right"]};for(const i of Qs)if(e[i]){const r=Vs("labelOrient",e[i],t,i);if(R(n[i],r))return iu(e[i],i,t)}}assembleMarks(){const{child:e}=this,t=function(e){const t=[],n=Hf(t);return e.children.forEach(t=>n(t,{source:e.name,name:null,transform:[]})),t}(this.component.data.facetRoot),n=e.assembleGroupEncodeEntry(!1),i=this.assembleLabelTitle()||e.assembleTitle(),r=e.assembleGroupStyle();return[Object.assign({name:this.getName("cell"),type:"group"},i?{title:i}:{},r?{style:r}:{},{from:{facet:this.assembleFacet()},sort:{field:M(ht.map(e=>this.facetSortFields(e))),order:M(ht.map(e=>this.facetSortOrder(e)))}},t.length>0?{data:t}:{},n?{encode:{update:n}}:{},e.assembleGroup(function(e,t){if(e.component.selection&&Y(e.component.selection).length){const n=u(e.getName("cell"));t.unshift({name:"facet",value:{},on:[{events:du("mousemove","scope"),update:`isTuple(facet) ? facet : group(${n}).datum`}]})}return t}(this,[])))]}getMapping(){return this.facet}}function ud(e,t){for(const n of t){const t=n.data;if((!e.name||!n.hasName()||e.name===n.dataName)&&!(e.format&&e.format.mesh&&t.format&&t.format.feature))if(Ur(e)&&Ur(t)){if($(e.values,t.values))return n}else if(Pr(e)&&Pr(t)){if(e.url===t.url)return n}else if(Mr(e)&&e.name===n.dataName)return n}return null}function cd(e){let t=function(e,t){if(void 0===e.data&&e.parent)return e.parent.component.data.facetRoot?e.parent.component.data.facetRoot:e.parent.component.data.main;{if(null===e.data){const e=new Cl([]);return t.push(e),e}const n=ud(e.data,t);if(n)return Lr(e.data)||(n.data.format=L({},e.data.format,n.data.format)),!n.hasName()&&e.data.name&&(n.dataName=e.data.name),n;{const n=new Cl(e.data);return t.push(n),n}}}(e,e.component.data.sources);const{outputNodes:n,outputNodeRefCounts:i}=e.component.data,r=e.parent?e.parent.component.data.ancestorParse.clone():new If,o=e.data;Lr(o)?(Ir(o)?t=new Dl(t,o.sequence):Wr(o)&&(t=new El(t,o.graticule)),r.parseNothing=!0):o&&o.format&&null===o.format.parse&&(r.parseNothing=!0),t=zl.makeExplicit(t,e,r)||t,!Vu(e)||!kf(e)&&!jf(e)||e.parent&&jf(e.parent)||(t=new Mf(t));const a=e.parent&&jf(e.parent);(kf(e)||Of(e))&&a&&(t=wl.makeFromEncoding(t,e)||t),e.transforms.length>0&&(t=function(e,t,n){let i=0;for(const r of t.transforms){let o,a=void 0;if(lo(r))o=e=new Hs(e,r),a="derived";else if(ro(r))o=e=zl.makeImplicitFromFilterTransform(e,r,n)||e,e=new _l(e,t,r.filter);else if(fo(r))o=e=wl.makeFromTransform(e,r,t),a="number";else if(ho(r))a="date",void 0===n.getWithExplicit(r.field).value&&(e=new zl(e,{[r.field]:a}),n.set(r.field,a,!1)),o=e=Ou.makeFromTransform(e,r);else if(mo(r))o=e=jl.makeFromTransform(e,r),a="number",Vu(t)&&(e=new Mf(e));else if(oo(r))o=e=qf.make(e,t,r,i++),a="derived";else if(so(r))o=e=new Ul(e,r),a="number";else if(uo(r))o=e=new Rl(e,r),a="number";else if(go(r))o=e=Pl.makeFromTransform(e,r),a="derived";else if(yo(r))o=e=new Rf(e,r),a="derived";else if(co(r))o=e=new zf(e,r),a="derived";else if(ao(r))e=new Wf(e,r);else{if(!po(r)){Lt(zt.invalidTransformIgnored(r));continue}o=e=Lf.makeFromTransform(e,r),a="derived"}if(o&&void 0!==a)for(const e of o.producedFields())n.set(e,a,!1)}return e}(t,e,r)),t=zl.makeImplicitFromEncoding(t,e,r)||t,kf(e)&&(t=Pf.parseAll(t,e),t=Uf.parseAll(t,e)),(kf(e)||Of(e))&&(a||(t=wl.makeFromEncoding(t,e)||t),t=Ou.makeFromEncoding(t,e)||t,t=Hs.parseAllForSortIndex(t,e));const s=e.getName(Gr),u=new ta(t,s,Gr,i);if(n[s]=u,t=u,kf(e)){const n=jl.makeFromEncoding(t,e);n&&(t=n,Vu(e)&&(t=new Mf(t))),t=Lf.makeFromEncoding(t,e)||t,t=Pl.makeFromEncoding(t,e)||t}kf(e)&&(t=Tf.make(t,e)||t);const c=e.getName(Hr),l=new ta(t,c,Hr,i);n[c]=l,t=l;let f=null;if(Of(e)){const i=e.getName("facet");t=function(e,t){const{row:n,column:i}=t;if(n&&i){let t=null;for(const r of[n,i])if(To(r.sort)){const{field:n,op:i=_o}=r.sort;e=t=new Rl(e,{joinaggregate:[{op:i,field:n,as:ad(r,r.sort,{forAs:!0})}],groupby:[Cn(r)]})}return t}return null}(t=Hs.parseAllForSortIndex(t,e),e.facet)||t,f=new Nl(t,e,i,l.getSource()),n[i]=f,t=f}return Object.assign({},e.component.data,{outputNodes:n,outputNodeRefCounts:i,raw:u,main:l,facetRoot:f,ancestorParse:r})}class ld extends Nf{constructor(e,t,n,i,r,o,a){super(e,t,n,i,r,o,a)}parseData(){this.component.data=cd(this),this.children.forEach(e=>{e.parseData()})}parseSelections(){this.component.selection={};for(const e of this.children)e.parseSelections(),Y(e.component.selection).forEach(t=>{this.component.selection[t]=e.component.selection[t]})}parseMarkGroup(){for(const e of this.children)e.parseMarkGroup()}parseAxesAndHeaders(){for(const e of this.children)e.parseAxesAndHeaders()}assembleSelectionTopLevelSignals(e){return this.children.reduce((e,t)=>t.assembleSelectionTopLevelSignals(e),e)}assembleSignals(){return this.children.forEach(e=>e.assembleSignals()),[]}assembleLayoutSignals(){return this.children.reduce((e,t)=>[...e,...t.assembleLayoutSignals()],uu(this))}assembleSelectionData(e){return this.children.reduce((e,t)=>t.assembleSelectionData(e),e)}assembleMarks(){return this.children.map(e=>{const t=e.assembleTitle(),n=e.assembleGroupStyle(),i=e.assembleGroupEncodeEntry(!1);return Object.assign({type:"group",name:e.getName("group")},t?{title:t}:{},n?{style:n}:{},i?{encode:{update:i}}:{},e.assembleGroup())})}}class fd extends ld{constructor(e,t,n,i,r){super(e,"concat",t,n,r,i,e.resolve),e.resolve&&e.resolve.axis&&("shared"===e.resolve.axis.x||"shared"===e.resolve.axis.y)&&Lt(zt.CONCAT_CANNOT_SHARE_AXIS),this.concatType=sr(e)?"vconcat":ur(e)?"hconcat":"concat",this.children=this.getChildren(e).map((e,t)=>$d(e,this,this.getName("concat_"+t),void 0,i,r,!1))}getChildren(e){return sr(e)?e.vconcat:ur(e)?e.hconcat:e.concat}parseLayoutSize(){!function(e){Kf(e);const t=e.component.layoutSize,n=Zf[e.concatType];n&&t.setWithExplicit(n,ed(e,n))}(this)}parseAxisGroup(){return null}assembleDefaultLayout(){return Object.assign({},"vconcat"===this.concatType?{columns:1}:{},{bounds:"full",align:"each"})}}class dd extends Gc{constructor(e={},t={},n=!1){super(),this.explicit=e,this.implicit=t,this.mainExtracted=n}clone(){return new dd(B(this.explicit),B(this.implicit),this.mainExtracted)}hasAxisPart(e){return"axis"===e||("grid"===e||"title"===e?!!this.get(e):!(!1===(t=this.get(e))||null===t));var t}}const pd={bottom:"top",top:"bottom",left:"right",right:"left"};function hd(e,t){if(!e)return t.map(e=>e.clone());{if(e.length!==t.length)return;const n=e.length;for(let i=0;i<n;i++){const n=e[i],r=t[i];if(!!n!=!!r)return;if(n&&r){const t=n.getWithExplicit("orient"),o=r.getWithExplicit("orient");if(t.explicit&&o.explicit&&t.value!==o.value)return;e[i]=md(n,r)}}}return e}function md(e,t){for(const n of So){const i=Xc(e.getWithExplicit(n),t.getWithExplicit(n),n,"axis",(e,t)=>{switch(n){case"title":return Ko(e,t);case"gridScale":return{explicit:e.explicit,value:re(e.value,t.value)}}return Qc(e,t,n,"axis")});e.setWithExplicit(n,i)}return e}function gd(e,t){const n="x"===t?"x2":"y2",i=e.fieldDef(t),r=e.fieldDef(n),o=i?i.title:void 0,a=r?r.title:void 0;return o&&a?Zo(o,a):o||(a||(void 0!==o?o:void 0!==a?a:void 0))}function yd(e,t){const n=t.axis(e),i=new dd;So.forEach(r=>{const o=function(e,t,n,i){const r=i.fieldDef(n),o=function(e,t,n,i){if(void 0!==t.labelAngle)return ae(t.labelAngle);{const t=Ro("labelAngle",e.config,n,Mo(n),e.getScaleComponent(n).get("type"));return void 0!==t?ae(t):n===Me&&R([dn,ln],i.type)?270:void 0}}(i,t,n,r),a=re(t.orient,Mo(n));switch(e){case"scale":return i.scaleName(n);case"gridScale":return function(e,t){const n="x"===t?"y":"x";if(e.getScaleComponent(n))return e.scaleName(n)}(i,n);case"format":if(Un(r))return;return Ho(r,t.format,i.config);case"formatType":if(Un(r))return;return t.formatType;case"grid":if(Hn(i.fieldDef(n).bin))return!1;{const e=i.getScaleComponent(n).get("type");return re(t.grid,function(e,t){return!Wi(e)&&!Wn(t.bin)}(e,r))}case"labelAlign":return re(t.labelAlign,Uo(o,a));case"labelAngle":return o;case"labelBaseline":return re(t.labelBaseline,Po(o,a));case"labelFlush":return re(t.labelFlush,function(e,t){if("x"===t&&R(["quantitative","temporal"],e.type))return!0}(r,n));case"labelOverlap":{const e=i.getScaleComponent(n).get("type");return re(t.labelOverlap,function(e,t){if("nominal"!==e.type)return"log"!==t||"greedy"}(r,e))}case"orient":return a;case"tickCount":{const e=i.getScaleComponent(n).get("type"),o="x"===n?"width":"y"===n?"height":void 0,a=o?i.getSizeSignalRef(o):void 0;return re(t.tickCount,function({fieldDef:e,scaleType:t,size:n}){if(!Wi(t)&&"log"!==t&&!R(["month","hours","day","quarter"],e.timeUnit))return Wn(e.bin)?{signal:`ceil(${n.signal}/10)`}:{signal:`ceil(${n.signal}/40)`}}({fieldDef:r,scaleType:e,size:a}))}case"title":{const e="x"===n?"x2":"y2",o=i.fieldDef(e);return re(t.title,gd(i,n),Xo([hn(r)],o?[hn(o)]:[]))}case"values":return function(e,t,n){const i=e.values;if(i)return Ln(n,i)}(t,0,r)}return s=e,Eo[s]?t[e]:void 0;var s}(r,n,e,t);if(void 0!==o){const a=function(e,t,n,i,r){switch(t){case"titleAngle":case"labelAngle":return e===ae(n[t]);case"values":return!!n.values;case"encode":return!!n.encoding||!!n.labelAngle;case"title":if(e===gd(i,r))return!0}return e===n[t]}(o,r,n,t,e),s=Ro(r,t.config,e,i.get("orient"),t.getScaleComponent(e).get("type"));a||void 0===s?i.set(r,o,a):R(["grid","orient"],r)&&s&&i.set(r,s,!1)}});const r=n.encoding||{},o=wo.reduce((n,o)=>{if(!i.hasAxisPart(o))return n;const a=qc(r[o]||{},t),s="labels"===o?function(e,t,n){const i=e.fieldDef(t)||("x"===t?e.fieldDef("x2"):"y"===t?e.fieldDef("y2"):void 0),r=e.axis(t),o=e.config;let a={};if(Un(i)){const n=e.getScaleComponent(t).get("type")===Ni.UTC,s=Jo("datum.value",i.timeUnit,r.format,o.axis.shortTimeLabels,null,n);s&&(a.text={signal:s})}return a=Object.assign({},a,n),0===Y(a).length?void 0:a}(t,e,a):a;return void 0!==s&&Y(s).length>0&&(n[o]={update:s}),n},{});return Y(o).length>0&&i.set("encode",o,!!n.encoding||void 0!==n.labelAngle),i}function bd(e,t,n){const i=Ae(e)?Object.assign({},e):{type:e},r=i.orient||Io("orient",i,n);return i.orient=function(e,t,n){switch(e){case le:case ge:case ye:case pe:case fe:return}const{x:i,y:r,x2:o,y2:a}=t;switch(e){case ue:if(yn(i)&&Hn(i.bin))return"vertical";if(yn(r)&&Hn(r.bin))return"horizontal";if(a||o){if(n)return n;if(!o&&yn(i)&&i.type===cn&&!Wn(i.bin))return"horizontal";if(!a&&yn(r)&&r.type===cn&&!Wn(r.bin))return"vertical"}case de:if(o&&a)return;case se:if(a)return yn(r)&&Hn(r.bin)?"horizontal":"vertical";if(o)return yn(i)&&Hn(i.bin)?"vertical":"horizontal";if(e===de){if(t.x&&!t.y)return"vertical";if(t.y&&!t.x)return"horizontal"}case ce:case he:{const i=yn(t.x)&&Fn(t.x),r=yn(t.y)&&Fn(t.y);if(i&&!r)return"tick"!==e?"horizontal":"vertical";if(!i&&r)return"tick"!==e?"vertical":"horizontal";if(i&&r){const i=t.x,r=t.y,o=i.type===fn,a=r.type===fn;return o&&!a?"tick"!==e?"vertical":"horizontal":!o&&a?"tick"!==e?"horizontal":"vertical":!i.aggregate&&r.aggregate?"tick"!==e?"vertical":"horizontal":i.aggregate&&!r.aggregate?"tick"!==e?"horizontal":"vertical":n||"vertical"}return n||void 0}}return"vertical"}(i.type,t,r),void 0!==r&&r!==i.orient&&Lt(zt.orientOverridden(i.orient,r)),void 0===re(i.opacity,Io("opacity",i,n))&&(i.opacity=function(e,t){if(R([le,he,ge,ye],e)&&!Jn(t))return.7;return}(i.type,t)),void 0===i.filled&&(i.filled=function(e,t){const n=Io("filled",e,t),i=e.type;return re(n,i!==le&&i!==ce&&i!==de)}(i,n)),void 0===(i.cursor||Io("cursor",i,n))&&(i.cursor=function(e,t,n){if(t.href||e.href||Io("href",e,n))return"pointer";return e.cursor}(i,t,n)),i}function vd(e,t,n){const{config:i,encoding:r,markDef:o}=e,a="x"===t?"x2":"y2",s="x"===t?"width":"height",u=r[t],c=r[a],l=e.getScaleComponent(t),f=l?l.get("type"):void 0,d=e.scaleName(t),p=o.orient,h=r[s]||r.size||o[s]||o.size||Io("size",o,i,{vgChannel:s}),m="x"===t?"vertical"===p:"horizontal"===p;return!yn(u)||!Wn(u.bin)&&!Hn(u.bin)||h||Wi(f)?(yn(u)&&Wi(f)||m)&&!c?yn(u)&&f===Ni.BAND?function(e,t,n,i){const r=n.scaleName(t),o="x"===t?"width":"height";if(n.encoding.size||void 0!==n.markDef.size||i&&void 0!==i.value)if(n.markDef.orient){const a={[t+"c"]:xc(e,r,{},{band:.5})};if(_n(n.encoding.size))return Object.assign({},a,zc("size",n,{vgChannel:o}));if(xn(n.encoding.size))return Object.assign({},a,zc("size",n,{vgChannel:o}));if(void 0!==n.markDef.size)return Object.assign({},a,{[o]:{value:n.markDef.size}});if(i&&void 0!==i.value)return Object.assign({},a,{[o]:i})}else Lt(zt.cannotApplySizeToNonOrientedMark(n.markDef.type));return{[t]:xc(e,r,{binSuffix:"range"},{}),[o]:i||Ac(r)}}(u,t,e,xd(n,o,s,d,l,i)):function(e,t,n,i){const r="x"===e?"xc":"yc",o="x"===e?"width":"height";return Object.assign({},Mc(e,t,n,r),zc("size",t,{defaultRef:i,vgChannel:o}))}(t,e,Sc(e[s]),xd(n,o,s,d,l,i)):Object.assign({},Mc(t,e,"zeroOrMax"),Lc(e,"zeroOrMin",a)):function({fieldDef:e,fieldDef2:t,channel:n,scaleName:i,mark:r,spacing:o=0,reverse:a}){const s={x:a?o:0,x2:a?0:o,y:a?0:o,y2:a?o:0},u=n===Me?Ie:qe;return Wn(e.bin)?{[u]:vc({channel:n,fieldDef:e,scaleName:i,mark:r,side:"start",offset:s[`${n}2`]}),[n]:vc({channel:n,fieldDef:e,scaleName:i,mark:r,side:"end",offset:s[n]})}:Hn(e.bin)&&yn(t)?{[u]:xc(e,i,{},{offset:s[`${n}2`]}),[n]:xc(t,i,{},{offset:s[n]})}:void Lt(zt.channelRequiredForBinned(u))}({fieldDef:u,fieldDef2:c,channel:t,mark:n,scaleName:d,spacing:re(o.binSpacing,i[n].binSpacing),reverse:l.get("reverse")})}function xd(e,t,n,i,r,o){const a=re(t[n],t.size,Io("size",t,o,{vgChannel:n}));if(void 0!==a)return{value:a};if(r){const t=r.get("type");if("point"!==t&&"band"!==t)return{value:o[e].continuousBandSize};if(void 0!==o[e].discreteBandSize)return{value:o[e].discreteBandSize};if(t!==Ni.POINT)return Ac(i);{const e=r.get("range");if(vo(e)&&v(e.step))return{value:e.step-1};Lt(zt.BAR_WITH_POINT_SCALE_AND_RANGESTEP_NULL)}}return{value:re(o[e].discreteBandSize,o.scale.rangeStep?o.scale.rangeStep-1:void 0,20)}}function Ad(e,t){const{config:n,width:i,height:r}=e;return Object.assign({},Bc(e,{size:"include",orient:"ignore"}),Mc("x",e,Sc(i)),Mc("y",e,Sc(r)),zc("size",e),function(e,t,n){if(n)return{shape:{value:n}};return zc("shape",e)}(e,0,t))}function wd(e){const{config:t,markDef:n}=e,{orient:i}=n,r="horizontal"===i?"width":"height",o=e.getScaleComponent("horizontal"===i?"x":"y"),a=re(n[r],n.size,Io("size",n,t,{vgChannel:r}),t.tick.bandSize);if(void 0!==a)return a;{const e=o?o.get("range"):void 0,n=e&&vo(e)?e.step:t.scale.rangeStep;if("number"!=typeof n)throw new Error("Function does not handle non-numeric rangeStep");return 3*n/4}}const Cd={area:{vgMark:"area",encodeEntry:e=>Object.assign({},Bc(e,{size:"ignore",orient:"include"}),Mc("x",e,"zeroOrMin"),Mc("y",e,"zeroOrMin"),Lc(e,"zeroOrMin","horizontal"===e.markDef.orient?"x2":"y2"),Tc(e))},bar:{vgMark:"rect",encodeEntry:e=>Object.assign({},Bc(e,{size:"ignore",orient:"ignore"}),vd(e,"x","bar"),vd(e,"y","bar"))},circle:{vgMark:"symbol",encodeEntry:e=>Ad(e,"circle")},geoshape:{vgMark:"shape",encodeEntry:e=>Object.assign({},Bc(e,{size:"ignore",orient:"ignore"})),postEncodingTransform:e=>{const{encoding:t}=e,n=t.shape;return[Object.assign({type:"geoshape",projection:e.projectionName()},n&&yn(n)&&n.type===pn?{field:Cn(n,{expr:"datum"})}:{})]}},line:{vgMark:"line",encodeEntry:e=>{const{width:t,height:n}=e;return Object.assign({},Bc(e,{size:"ignore",orient:"ignore"}),Mc("x",e,Sc(t)),Mc("y",e,Sc(n)),zc("size",e,{vgChannel:"strokeWidth"}),Tc(e))}},point:{vgMark:"symbol",encodeEntry:e=>Ad(e)},rect:{vgMark:"rect",encodeEntry:e=>Object.assign({},Bc(e,{size:"ignore",orient:"ignore"}),vd(e,"x","rect"),vd(e,"y","rect"))},rule:{vgMark:"rule",encodeEntry:e=>{const{markDef:t,width:n,height:i}=e,r=t.orient;return e.encoding.x||e.encoding.y||e.encoding.latitude||e.encoding.longitude?Object.assign({},Bc(e,{size:"ignore",orient:"ignore"}),Mc("x",e,"horizontal"===r?"zeroOrMin":Sc(n)),Mc("y",e,"vertical"===r?"zeroOrMin":Sc(i)),"vertical"!==r?Lc(e,"zeroOrMax","x2"):{},"horizontal"!==r?Lc(e,"zeroOrMax","y2"):{},zc("size",e,{vgChannel:"strokeWidth"})):{}}},square:{vgMark:"symbol",encodeEntry:e=>Ad(e,"square")},text:{vgMark:"text",encodeEntry:e=>{const{config:t,encoding:n,width:i,height:r}=e;return Object.assign({},Bc(e,{size:"ignore",orient:"ignore"}),Mc("x",e,Sc(i)),Mc("y",e,Sc(r)),Uc(e),zc("size",e,{vgChannel:"fontSize"}),Nc("align",function(e,t,n){if(void 0===(e.align||Io("align",e,n)))return"center";return}(e.markDef,0,t)),Nc("baseline",function(e,t,n){if(void 0===(e.baseline||Io("baseline",e,n)))return"middle";return}(e.markDef,0,t)))}},tick:{vgMark:"rect",encodeEntry:e=>{const{config:t,markDef:n,width:i,height:r}=e,o=n.orient,a="horizontal"===o?"width":"height",s="horizontal"===o?"height":"width";return Object.assign({},Bc(e,{size:"ignore",orient:"ignore"}),Mc("x",e,Sc(i),"xc"),Mc("y",e,Sc(r),"yc"),zc("size",e,{defaultValue:wd(e),vgChannel:a}),{[s]:{value:re(n.thickness,t.tick.thickness)}})}},trail:{vgMark:"trail",encodeEntry:e=>{const{width:t,height:n}=e;return Object.assign({},Bc(e,{size:"include",orient:"ignore"}),Mc("x",e,Sc(t)),Mc("y",e,Sc(n)),zc("size",e),Tc(e))}}};function Fd(e){return R([ce,se,me],e.mark)?function(e){const t=ti(e.mark,e.encoding),n=Dd(e,{fromPrefix:t.length>0?Ed:""});return t.length>0?[{name:e.getName("pathgroup"),type:"group",from:{facet:{name:Ed+e.requestDataName(Hr),data:e.requestDataName(Hr),groupby:t}},encode:{update:{width:{field:{group:"width"}},height:{field:{group:"height"}}}},marks:n}]:n}(e):Dd(e)}const Ed="faceted_path_";function Dd(e,t={fromPrefix:""}){const n=e.mark,i=re(e.markDef.clip,function(e){const t=e.getScaleComponent("x"),n=e.getScaleComponent("y");return!!(t&&t.get("domainRaw")||n&&n.get("domainRaw"))||void 0}(e),function(e){const t=e.component.projection;return!(!t||t.isFit)||void 0}(e)),r=Lo(e.markDef),a=e.encoding.key,s=function(e){const{encoding:t,stack:n,mark:i,markDef:r,config:a}=e,s=t.order;if(!(!o(s)&&xn(s)&&z(s.value)||!s&&z(r.order)||z(Io("order",r,a)))){if((o(s)||yn(s))&&!n)return Qo(s,{expr:"datum"});if(ve(i)){const n="horizontal"===r.orient?"y":"x",i=t[n];if(yn(i)){const t=i.sort;return o(t)?{field:Cn(i,{prefix:n,suffix:"sort_index",expr:"datum"})}:To(t)?{field:Cn({aggregate:Jn(e.encoding)?t.op:void 0,field:t.field},{expr:"datum"})}:{field:Cn(i,{binSuffix:e.stack&&e.stack.impute?"mid":void 0,expr:"datum"})}}}}}(e),u=Cd[n].postEncodingTransform?Cd[n].postEncodingTransform(e):null;return[Object.assign({name:e.getName("marks"),type:Cd[n].vgMark},i?{clip:!0}:{},r?{style:r}:{},a?{key:{field:a.field}}:{},s?{sort:s}:{},{from:{data:t.fromPrefix+e.requestDataName(Hr)},encode:{update:Cd[n].encodeEntry(e)}},u?{transform:u}:{})]}class Sd extends _f{constructor(e,t,n,i={},r,o,a){super(e,"unit",t,n,o,r,void 0,e.view),this.fit=a,this.specifiedScales={},this.specifiedAxes={},this.specifiedLegends={},this.specifiedProjection={},this.selection={},this.children=[],this.initSize(Object.assign({},i,e.width?{width:e.width}:{},e.height?{height:e.height}:{}));const s=Ae(e.mark)?e.mark.type:e.mark,u=this.encoding=Xn(function(e,t){return od(e,t)}(e.encoding||{},r),s);this.markDef=bd(e.mark,u,o),this.stack=Fr(s,u,this.config.stack),this.specifiedScales=this.initScales(s,u),this.specifiedAxes=this.initAxes(u),this.specifiedLegends=this.initLegend(u),this.specifiedProjection=e.projection,this.selection=e.selection}get hasProjection(){const{encoding:e}=this,t=this.mark===be,n=e&&lt.some(t=>yn(e[t]));return t||n}scaleDomain(e){const t=this.specifiedScales[e];return t?t.domain:void 0}axis(e){return this.specifiedAxes[e]}legend(e){return this.specifiedLegends[e]}initScales(e,t){return $t.reduce((e,n)=>{let i,r;const o=t[n];return yn(o)?(i=o,r=o.scale):gn(o)&&(i=o.condition,r=o.condition.scale),i&&(e[n]=r||{}),e},{})}initAxes(e){return[Me,Le].reduce((t,n)=>{const i=e[n];if(yn(i)||n===Me&&yn(e.x2)||n===Le&&yn(e.y2)){const e=yn(i)?i.axis:null;null!==e&&(t[n]=Object.assign({},e))}return t},{})}initLegend(e){return kt.reduce((t,n)=>{const i=e[n];if(i){const e=yn(i)?i.legend:gn(i)?i.condition.legend:null;null!==e&&!1!==e&&function(e){switch(e){case Ve:case Je:case Qe:case Ze:case Xe:case Ke:case nt:return!0;case et:case tt:return!1}}(n)&&(t[n]=Object.assign({},e))}return t},{})}parseData(){this.component.data=cd(this)}parseLayoutSize(){!function(e){const t=e.component.layoutSize;if(!t.explicit.width){const n=td(e,"width");t.set("width",n,!1)}if(!t.explicit.height){const n=td(e,"height");t.set("height",n,!1)}}(this)}parseSelections(){this.component.selection=function(e,t){const n={},i=e.config.selection;t&&(t=B(t));for(let r in t){if(!t.hasOwnProperty(r))continue;const o=t[r],a=ke(i[o.type],["fields","encodings"]);for(const e in a)"encodings"===e&&o.fields||"fields"===e&&o.encodings||("mark"===e&&(o[e]=Object.assign({},a[e],o[e])),void 0!==o[e]&&!0!==o[e]||(o[e]=a[e]||o[e]));const u=n[r=Q(r)]=Object.assign({},o,{name:r,events:s(o.on)?du(o.on,"scope"):o.on});uc(u,t=>{t.parse&&t.parse(e,o,u)})}return n}(this,this.selection)}parseMarkGroup(){this.component.mark=Fd(this)}parseAxesAndHeaders(){var e;this.component.axes=(e=this,Dt.reduce((t,n)=>(e.component.scales[n]&&e.axis(n)&&(t[n]=[yd(n,e)]),t),{}))}assembleSelectionTopLevelSignals(e){return function(e,t){let n=!1;Gu(e,(i,r)=>{const o=i.name,a=u(o+Mu);t.filter(e=>e.name===o).length||t.push({name:i.name,update:`${Wu}(${a}`+("global"===i.resolve?")":`, ${u(i.resolve)})`)}),n=!0,r.topLevelSignals&&(t=r.topLevelSignals(e,i,t)),uc(i,n=>{n.topLevelSignals&&(t=n.topLevelSignals(e,i,t))})}),n&&(t.filter(e=>"unit"===e.name).length||t.unshift({name:"unit",value:{},on:[{events:"mousemove",update:"isTuple(group()) ? group() : unit"}]}));return t}(this,e)}assembleSignals(){return[...Oo(this),...(e=this,t=[],Gu(e,(n,i)=>{const r=n.name;let o=i.modifyExpr(e,n);t.push(...i.signals(e,n)),uc(n,i=>{i.signals&&(t=i.signals(e,n,t)),i.modifyExpr&&(o=i.modifyExpr(e,n,o))}),t.push({name:r+Iu,update:`modify(${u(n.name+Mu)}, ${o})`})}),t)];var e,t}assembleSelectionData(e){return lc(this,e)}assembleLayout(){return null}assembleLayoutSignals(){return uu(this)}assembleMarks(){let e=this.component.mark||[];return this.parent&&jf(this.parent)||(e=fc(this,e)),e.map(this.correctDataNames)}getMapping(){return this.encoding}get mark(){return this.markDef.type}channelHasField(e){return Vn(this.encoding,e)}fieldDef(e){return _n(this.encoding[e])}}class kd extends Nf{constructor(e,t,n,i,r,o,a){super(e,"layer",t,n,o,r,e.resolve,e.view);const s=Object.assign({},i,e.width?{width:e.width}:{},e.height?{height:e.height}:{});this.initSize(s),this.children=e.layer.map((e,t)=>{if(vr(e))return new kd(e,this,this.getName("layer_"+t),s,r,o,a);if(De(e))return new Sd(e,this,this.getName("layer_"+t),s,r,o,a);throw new Error(zt.INVALID_SPEC)})}parseData(){this.component.data=cd(this);for(const e of this.children)e.parseData()}parseLayoutSize(){Qf(this)}parseSelections(){this.component.selection={};for(const e of this.children)e.parseSelections(),Y(e.component.selection).forEach(t=>{this.component.selection[t]=e.component.selection[t]})}parseMarkGroup(){for(const e of this.children)e.parseMarkGroup()}parseAxesAndHeaders(){!function(e){const{axes:t,resolve:n}=e.component,i={top:0,bottom:0,right:0,left:0};for(const i of e.children){i.parseAxesAndHeaders();for(const r of Y(i.component.axes))n.axis[r]=Hc(e.component.resolve,r),"shared"===n.axis[r]&&(t[r]=hd(t[r],i.component.axes[r]),t[r]||(n.axis[r]="independent",delete t[r]))}for(const r of[Me,Le]){for(const o of e.children)if(o.component.axes[r]){if("independent"===n.axis[r]){t[r]=(t[r]||[]).concat(o.component.axes[r]);for(const e of o.component.axes[r]){const{value:t,explicit:n}=e.getWithExplicit("orient");if(i[t]>0&&!n){const n=pd[t];i[t]>i[n]&&e.set("orient",n,!1)}i[t]++}}delete o.component.axes[r]}if("independent"===n.axis[r]&&t[r]&&t[r].length>1)for(const e of t[r])e.get("grid")&&!e.explicit.grid&&(e.implicit.grid=!1)}}(this)}assembleSelectionTopLevelSignals(e){return this.children.reduce((e,t)=>t.assembleSelectionTopLevelSignals(e),e)}assembleSignals(){return this.children.reduce((e,t)=>e.concat(t.assembleSignals()),Oo(this))}assembleLayoutSignals(){return this.children.reduce((e,t)=>e.concat(t.assembleLayoutSignals()),uu(this))}assembleSelectionData(e){return this.children.reduce((e,t)=>t.assembleSelectionData(e),e)}assembleTitle(){let e=super.assembleTitle();if(e)return e;for(const t of this.children)if(e=t.assembleTitle())return e}assembleLayout(){return null}assembleMarks(){return function(e,t){for(const n of e.children)kf(n)&&(t=fc(n,t));return t}(this,M(this.children.map(e=>e.assembleMarks())))}assembleLegends(){return this.children.reduce((e,t)=>e.concat(t.assembleLegends()),pl(this))}}class Od extends ld{constructor(e,t,n,i,r){super(e,"repeat",t,n,r,i,e.resolve),e.resolve&&e.resolve.axis&&("shared"===e.resolve.axis.x||"shared"===e.resolve.axis.y)&&Lt(zt.REPEAT_CANNOT_SHARE_AXIS),this.repeat=e.repeat,this.children=this._initChildren(e,this.repeat,i,r)}_initChildren(e,t,n,i){const r=[],a=!o(t)&&t.row||[n?n.row:null],s=!o(t)&&t.column||[n?n.column:null],u=o(t)&&t||[n?n.repeat:null];for(const t of u)for(const n of a)for(const o of s){const a=(t?`__repeat_repeat_${t}`:"")+(n?`__repeat_row_${n}`:"")+(o?`__repeat_column_${o}`:""),s={repeat:t,row:n,column:o};r.push($d(e.spec,this,this.getName("child"+a),void 0,s,i,!1))}return r}parseLayoutSize(){Xf(this)}assembleDefaultLayout(){const{repeat:e}=this,t=o(e)?void 0:e.column?e.column.length:1;return Object.assign({},t?{columns:t}:{},{bounds:"full",align:"all"})}}function $d(e,t,n,i,r,o,a){if(Qt(e))return new sd(e,t,n,r,o);if(vr(e))return new kd(e,t,n,i,r,o,a);if(De(e))return new Sd(e,t,n,i,r,o,a);if(cr(e))return new Od(e,t,n,r,o);if(function(e){return sr(e)||ur(e)||ar(e)}(e))return new fd(e,t,n,r,o);throw new Error(zt.INVALID_SPEC)}const Bd=new class extends xr{mapUnit(e,{config:t}){if(e.encoding){const{encoding:n,transform:i}=e,{bins:r,timeUnits:o,aggregate:a,groupby:s,encoding:u}=Qn(n,t),c=[...i||[],...r,...o,...a.length?[{aggregate:a,groupby:s}]:[]];return Object.assign({},e,c.length>0?{transform:c}:{},{encoding:u})}return e}};const jd=t;e.compile=function(e,t={}){var n;t.logger&&(n=t.logger,Mt=n),t.fieldTitle&&kn(t.fieldTitle);try{const n=pr(L({},t.config,e.config)),i=Nr(e,n),r=function(e,t,n=!0){const i=Object.assign({type:"pad"},Tr(t),Tr(e));return"fit"===i.type&&(n||(Lt(zt.FIT_NON_SINGLE),i.type="pad")),i}(e.autosize,n.autosize,vr(i)||De(i)),o=$d(i,null,"",void 0,void 0,n,"fit"===r.type);return o.parse(),function(e,t){Fl(e.sources);let n=0,i=0;for(let i=0;i<Zl&&nf(e,t);i++)n++;e.sources.map(Hl);for(let n=0;n<Zl&&nf(e,t);n++)i++;Fl(e.sources),Math.max(n,i)===Zl&&Lt(`Maximum optimization runs(${Zl}) reached.`)}(o.component.data,o),function(e,t,n={},i){const r=e.config?yr(e.config):void 0,o=[].concat(e.assembleSelectionData([]),function(e,t){const n=[],i=Hf(n);let r=0;e.sources.forEach(e=>{e.hasName()||(e.dataName=`source_${r++}`);const t=e.assemble();i(e,t)}),n.forEach(e=>{0===e.transform.length&&delete e.transform});let o=0;for(const[e,t]of n.entries())0!==(t.transform||[]).length||t.source||n.splice(o++,0,n.splice(e,1)[0]);for(const t of n)for(const n of t.transform||[])"lookup"===n.type&&(n.from=e.outputNodes[n.from].getSource());for(const e of n)e.name in t&&(e.values=t[e.name]);return n}(e.component.data,n)),a=e.assembleProjections(),s=e.assembleTitle(),u=e.assembleGroupStyle(),c=e.assembleGroupEncodeEntry(!0);let l=e.assembleLayoutSignals();return l=l.filter(e=>"width"!==e.name&&"height"!==e.name||void 0===e.value||(t[e.name]=+e.value,!1)),{spec:Object.assign({$schema:"https://vega.github.io/schema/vega/v5.json"},e.description?{description:e.description}:{},t,s?{title:s}:{},u?{style:u}:{},c?{encode:{update:c}}:{},{data:o},a.length>0?{projections:a}:{},e.assembleGroup([...l,...e.assembleSelectionTopLevelSignals([])]),r?{config:r}:{},i?{usermeta:i}:{})}}(o,function(e,t,n){return Object.assign({autosize:1===Y(n).length&&n.type?n.type:n},Rr(t),Rr(e))}(e,n,r),e.datasets,e.usermeta)}finally{t.logger&&(Mt=Rt),t.fieldTitle&&kn(Dn)}},e.extractTransforms=function(e,t){return Bd.map(e,{config:t})},e.normalize=Nr,e.version=jd,Object.defineProperty(e,"__esModule",{value:!0})});</script>
-    <script>!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("vega"),require("vega-lite")):"function"==typeof define&&define.amd?define(["vega","vega-lite"],t):(e=e||self).vegaEmbed=t(e.vega,e.vegaLite)}(this,(function(e,t){"use strict";var n="http://www.w3.org/1999/xhtml",r={svg:"http://www.w3.org/2000/svg",xhtml:n,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function i(e){var t=e+="",n=t.indexOf(":");return n>=0&&"xmlns"!==(t=e.slice(0,n))&&(e=e.slice(n+1)),r.hasOwnProperty(t)?{space:r[t],local:e}:e}function o(e){return function(){var t=this.ownerDocument,r=this.namespaceURI;return r===n&&t.documentElement.namespaceURI===n?t.createElement(e):t.createElementNS(r,e)}}function a(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function s(e){var t=i(e);return(t.local?a:o)(t)}function l(){}function c(e){return null==e?l:function(){return this.querySelector(e)}}function u(){return[]}function f(e){return new Array(e.length)}function p(e,t){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=t}p.prototype={constructor:p,appendChild:function(e){return this._parent.insertBefore(e,this._next)},insertBefore:function(e,t){return this._parent.insertBefore(e,t)},querySelector:function(e){return this._parent.querySelector(e)},querySelectorAll:function(e){return this._parent.querySelectorAll(e)}};var h="$";function d(e,t,n,r,i,o){for(var a,s=0,l=t.length,c=o.length;s<c;++s)(a=t[s])?(a.__data__=o[s],r[s]=a):n[s]=new p(e,o[s]);for(;s<l;++s)(a=t[s])&&(i[s]=a)}function g(e,t,n,r,i,o,a){var s,l,c,u={},f=t.length,d=o.length,g=new Array(f);for(s=0;s<f;++s)(l=t[s])&&(g[s]=c=h+a.call(l,l.__data__,s,t),c in u?i[s]=l:u[c]=l);for(s=0;s<d;++s)(l=u[c=h+a.call(e,o[s],s,o)])?(r[s]=l,l.__data__=o[s],u[c]=null):n[s]=new p(e,o[s]);for(s=0;s<f;++s)(l=t[s])&&u[g[s]]===l&&(i[s]=l)}function m(e,t){return e<t?-1:e>t?1:e>=t?0:NaN}function v(e){return function(){this.removeAttribute(e)}}function E(e){return function(){this.removeAttributeNS(e.space,e.local)}}function y(e,t){return function(){this.setAttribute(e,t)}}function b(e,t){return function(){this.setAttributeNS(e.space,e.local,t)}}function I(e,t){return function(){var n=t.apply(this,arguments);null==n?this.removeAttribute(e):this.setAttribute(e,n)}}function O(e,t){return function(){var n=t.apply(this,arguments);null==n?this.removeAttributeNS(e.space,e.local):this.setAttributeNS(e.space,e.local,n)}}function R(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView}function w(e){return function(){this.style.removeProperty(e)}}function N(e,t,n){return function(){this.style.setProperty(e,t,n)}}function A(e,t,n){return function(){var r=t.apply(this,arguments);null==r?this.style.removeProperty(e):this.style.setProperty(e,r,n)}}function S(e){return function(){delete this[e]}}function L(e,t){return function(){this[e]=t}}function T(e,t){return function(){var n=t.apply(this,arguments);null==n?delete this[e]:this[e]=n}}function x(e){return e.trim().split(/^|\s+/)}function _(e){return e.classList||new C(e)}function C(e){this._node=e,this._names=x(e.getAttribute("class")||"")}function P(e,t){for(var n=_(e),r=-1,i=t.length;++r<i;)n.add(t[r])}function D(e,t){for(var n=_(e),r=-1,i=t.length;++r<i;)n.remove(t[r])}function k(e){return function(){P(this,e)}}function F(e){return function(){D(this,e)}}function M(e,t){return function(){(t.apply(this,arguments)?P:D)(this,e)}}function j(){this.textContent=""}function $(e){return function(){this.textContent=e}}function G(e){return function(){var t=e.apply(this,arguments);this.textContent=null==t?"":t}}function z(){this.innerHTML=""}function U(e){return function(){this.innerHTML=e}}function B(e){return function(){var t=e.apply(this,arguments);this.innerHTML=null==t?"":t}}function X(){this.nextSibling&&this.parentNode.appendChild(this)}function V(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function W(){return null}function H(){var e=this.parentNode;e&&e.removeChild(this)}function q(){return this.parentNode.insertBefore(this.cloneNode(!1),this.nextSibling)}function Y(){return this.parentNode.insertBefore(this.cloneNode(!0),this.nextSibling)}C.prototype={add:function(e){this._names.indexOf(e)<0&&(this._names.push(e),this._node.setAttribute("class",this._names.join(" ")))},remove:function(e){var t=this._names.indexOf(e);t>=0&&(this._names.splice(t,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(e){return this._names.indexOf(e)>=0}};var J={},Z=null;"undefined"!=typeof document&&("onmouseenter"in document.documentElement||(J={mouseenter:"mouseover",mouseleave:"mouseout"}));function K(e,t,n){return e=Q(e,t,n),function(t){var n=t.relatedTarget;n&&(n===this||8&n.compareDocumentPosition(this))||e.call(this,t)}}function Q(e,t,n){return function(r){var i=Z;Z=r;try{e.call(this,this.__data__,t,n)}finally{Z=i}}}function ee(e){return function(){var t=this.__on;if(t){for(var n,r=0,i=-1,o=t.length;r<o;++r)n=t[r],e.type&&n.type!==e.type||n.name!==e.name?t[++i]=n:this.removeEventListener(n.type,n.listener,n.capture);++i?t.length=i:delete this.__on}}}function te(e,t,n){var r=J.hasOwnProperty(e.type)?K:Q;return function(i,o,a){var s,l=this.__on,c=r(t,o,a);if(l)for(var u=0,f=l.length;u<f;++u)if((s=l[u]).type===e.type&&s.name===e.name)return this.removeEventListener(s.type,s.listener,s.capture),this.addEventListener(s.type,s.listener=c,s.capture=n),void(s.value=t);this.addEventListener(e.type,c,n),s={type:e.type,name:e.name,value:t,listener:c,capture:n},l?l.push(s):this.__on=[s]}}function ne(e,t,n){var r=R(e),i=r.CustomEvent;"function"==typeof i?i=new i(t,n):(i=r.document.createEvent("Event"),n?(i.initEvent(t,n.bubbles,n.cancelable),i.detail=n.detail):i.initEvent(t,!1,!1)),e.dispatchEvent(i)}function re(e,t){return function(){return ne(this,e,t)}}function ie(e,t){return function(){return ne(this,e,t.apply(this,arguments))}}var oe=[null];function ae(e,t){this._groups=e,this._parents=t}function se(){return new ae([[document.documentElement]],oe)}ae.prototype=se.prototype={constructor:ae,select:function(e){"function"!=typeof e&&(e=c(e));for(var t=this._groups,n=t.length,r=new Array(n),i=0;i<n;++i)for(var o,a,s=t[i],l=s.length,u=r[i]=new Array(l),f=0;f<l;++f)(o=s[f])&&(a=e.call(o,o.__data__,f,s))&&("__data__"in o&&(a.__data__=o.__data__),u[f]=a);return new ae(r,this._parents)},selectAll:function(e){"function"!=typeof e&&(e=function(e){return null==e?u:function(){return this.querySelectorAll(e)}}(e));for(var t=this._groups,n=t.length,r=[],i=[],o=0;o<n;++o)for(var a,s=t[o],l=s.length,c=0;c<l;++c)(a=s[c])&&(r.push(e.call(a,a.__data__,c,s)),i.push(a));return new ae(r,i)},filter:function(e){"function"!=typeof e&&(e=function(e){return function(){return this.matches(e)}}(e));for(var t=this._groups,n=t.length,r=new Array(n),i=0;i<n;++i)for(var o,a=t[i],s=a.length,l=r[i]=[],c=0;c<s;++c)(o=a[c])&&e.call(o,o.__data__,c,a)&&l.push(o);return new ae(r,this._parents)},data:function(e,t){if(!e)return m=new Array(this.size()),u=-1,this.each((function(e){m[++u]=e})),m;var n,r=t?g:d,i=this._parents,o=this._groups;"function"!=typeof e&&(n=e,e=function(){return n});for(var a=o.length,s=new Array(a),l=new Array(a),c=new Array(a),u=0;u<a;++u){var f=i[u],p=o[u],h=p.length,m=e.call(f,f&&f.__data__,u,i),v=m.length,E=l[u]=new Array(v),y=s[u]=new Array(v);r(f,p,E,y,c[u]=new Array(h),m,t);for(var b,I,O=0,R=0;O<v;++O)if(b=E[O]){for(O>=R&&(R=O+1);!(I=y[R])&&++R<v;);b._next=I||null}}return(s=new ae(s,i))._enter=l,s._exit=c,s},enter:function(){return new ae(this._enter||this._groups.map(f),this._parents)},exit:function(){return new ae(this._exit||this._groups.map(f),this._parents)},join:function(e,t,n){var r=this.enter(),i=this,o=this.exit();return r="function"==typeof e?e(r):r.append(e+""),null!=t&&(i=t(i)),null==n?o.remove():n(o),r&&i?r.merge(i).order():i},merge:function(e){for(var t=this._groups,n=e._groups,r=t.length,i=n.length,o=Math.min(r,i),a=new Array(r),s=0;s<o;++s)for(var l,c=t[s],u=n[s],f=c.length,p=a[s]=new Array(f),h=0;h<f;++h)(l=c[h]||u[h])&&(p[h]=l);for(;s<r;++s)a[s]=t[s];return new ae(a,this._parents)},order:function(){for(var e=this._groups,t=-1,n=e.length;++t<n;)for(var r,i=e[t],o=i.length-1,a=i[o];--o>=0;)(r=i[o])&&(a&&4^r.compareDocumentPosition(a)&&a.parentNode.insertBefore(r,a),a=r);return this},sort:function(e){function t(t,n){return t&&n?e(t.__data__,n.__data__):!t-!n}e||(e=m);for(var n=this._groups,r=n.length,i=new Array(r),o=0;o<r;++o){for(var a,s=n[o],l=s.length,c=i[o]=new Array(l),u=0;u<l;++u)(a=s[u])&&(c[u]=a);c.sort(t)}return new ae(i,this._parents).order()},call:function(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this},nodes:function(){var e=new Array(this.size()),t=-1;return this.each((function(){e[++t]=this})),e},node:function(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var r=e[t],i=0,o=r.length;i<o;++i){var a=r[i];if(a)return a}return null},size:function(){var e=0;return this.each((function(){++e})),e},empty:function(){return!this.node()},each:function(e){for(var t=this._groups,n=0,r=t.length;n<r;++n)for(var i,o=t[n],a=0,s=o.length;a<s;++a)(i=o[a])&&e.call(i,i.__data__,a,o);return this},attr:function(e,t){var n=i(e);if(arguments.length<2){var r=this.node();return n.local?r.getAttributeNS(n.space,n.local):r.getAttribute(n)}return this.each((null==t?n.local?E:v:"function"==typeof t?n.local?O:I:n.local?b:y)(n,t))},style:function(e,t,n){return arguments.length>1?this.each((null==t?w:"function"==typeof t?A:N)(e,t,null==n?"":n)):function(e,t){return e.style.getPropertyValue(t)||R(e).getComputedStyle(e,null).getPropertyValue(t)}(this.node(),e)},property:function(e,t){return arguments.length>1?this.each((null==t?S:"function"==typeof t?T:L)(e,t)):this.node()[e]},classed:function(e,t){var n=x(e+"");if(arguments.length<2){for(var r=_(this.node()),i=-1,o=n.length;++i<o;)if(!r.contains(n[i]))return!1;return!0}return this.each(("function"==typeof t?M:t?k:F)(n,t))},text:function(e){return arguments.length?this.each(null==e?j:("function"==typeof e?G:$)(e)):this.node().textContent},html:function(e){return arguments.length?this.each(null==e?z:("function"==typeof e?B:U)(e)):this.node().innerHTML},raise:function(){return this.each(X)},lower:function(){return this.each(V)},append:function(e){var t="function"==typeof e?e:s(e);return this.select((function(){return this.appendChild(t.apply(this,arguments))}))},insert:function(e,t){var n="function"==typeof e?e:s(e),r=null==t?W:"function"==typeof t?t:c(t);return this.select((function(){return this.insertBefore(n.apply(this,arguments),r.apply(this,arguments)||null)}))},remove:function(){return this.each(H)},clone:function(e){return this.select(e?Y:q)},datum:function(e){return arguments.length?this.property("__data__",e):this.node().__data__},on:function(e,t,n){var r,i,o=function(e){return e.trim().split(/^|\s+/).map((function(e){var t="",n=e.indexOf(".");return n>=0&&(t=e.slice(n+1),e=e.slice(0,n)),{type:e,name:t}}))}(e+""),a=o.length;if(!(arguments.length<2)){for(s=t?te:ee,null==n&&(n=!1),r=0;r<a;++r)this.each(s(o[r],t,n));return this}var s=this.node().__on;if(s)for(var l,c=0,u=s.length;c<u;++c)for(r=0,l=s[c];r<a;++r)if((i=o[r]).type===l.type&&i.name===l.name)return l.value},dispatch:function(e,t){return this.each(("function"==typeof t?ie:re)(e,t))}};var le="5.1.3";function ce(e,t,n,r){return new(n||(n=Promise))((function(i,o){function a(e){try{l(r.next(e))}catch(e){o(e)}}function s(e){try{l(r.throw(e))}catch(e){o(e)}}function l(e){e.done?i(e.value):new n((function(t){t(e.value)})).then(a,s)}l((r=r.apply(e,t||[])).next())}))}var ue=function(e){return function(e){return!!e&&"object"==typeof e}(e)&&!function(e){var t=Object.prototype.toString.call(e);return"[object RegExp]"===t||"[object Date]"===t||function(e){return e.$$typeof===fe}(e)}(e)};var fe="function"==typeof Symbol&&Symbol.for?Symbol.for("react.element"):60103;function pe(e,t){return!1!==t.clone&&t.isMergeableObject(e)?me((n=e,Array.isArray(n)?[]:{}),e,t):e;var n}function he(e,t,n){return e.concat(t).map((function(e){return pe(e,n)}))}function de(e){return Object.keys(e).concat(function(e){return Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(e).filter((function(t){return e.propertyIsEnumerable(t)})):[]}(e))}function ge(e,t,n){var r={};return n.isMergeableObject(e)&&de(e).forEach((function(t){r[t]=pe(e[t],n)})),de(t).forEach((function(i){n.isMergeableObject(t[i])&&e[i]?r[i]=function(e,t){if(!t.customMerge)return me;var n=t.customMerge(e);return"function"==typeof n?n:me}(i,n)(e[i],t[i],n):r[i]=pe(t[i],n)})),r}function me(e,t,n){(n=n||{}).arrayMerge=n.arrayMerge||he,n.isMergeableObject=n.isMergeableObject||ue;var r=Array.isArray(t);return r===Array.isArray(e)?r?n.arrayMerge(e,t,n):ge(e,t,n):pe(t,n)}me.all=function(e,t){if(!Array.isArray(e))throw new Error("first argument should be an array");return e.reduce((function(e,n){return me(e,n,t)}),{})};var ve=me,Ee=/("(?:[^\\"]|\\.)*")|[:,]/g,ye=function(e,t){var n,r,i;return t=t||{},n=JSON.stringify([1],void 0,void 0===t.indent?2:t.indent).slice(2,-3),r=""===n?1/0:void 0===t.maxLength?80:t.maxLength,i=t.replacer,function e(t,o,a){var s,l,c,u,f,p,h,d,g,m,v,E;if(t&&"function"==typeof t.toJSON&&(t=t.toJSON()),void 0===(v=JSON.stringify(t,i)))return v;if(h=r-o.length-a,v.length<=h&&(g=v.replace(Ee,(function(e,t){return t||e+" "}))).length<=h)return g;if(null!=i&&(t=JSON.parse(v),i=void 0),"object"==typeof t&&null!==t){if(d=o+n,c=[],l=0,Array.isArray(t))for(m="[",s="]",h=t.length;l<h;l++)c.push(e(t[l],d,l===h-1?0:1)||"null");else for(m="{",s="}",h=(p=Object.keys(t)).length;l<h;l++)u=p[l],f=JSON.stringify(u)+": ",void 0!==(E=e(t[u],d,f.length+(l===h-1?0:1)))&&c.push(f+E);if(c.length>0)return[m,n+c.join(",\n"+d),s].join("\n"+o)}return v}(e,"",0)};function be(e,t){return e(t={exports:{}},t.exports),t.exports}var Ie,Oe=be((function(e,t){var n;t=e.exports=p,n="object"==typeof process&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?function(){var e=Array.prototype.slice.call(arguments,0);e.unshift("SEMVER"),console.log.apply(console,e)}:function(){},t.SEMVER_SPEC_VERSION="2.0.0";var r=256,i=Number.MAX_SAFE_INTEGER||9007199254740991,o=t.re=[],a=t.src=[],s=t.tokens={},l=0;function c(e){s[e]=l++}c("NUMERICIDENTIFIER"),a[s.NUMERICIDENTIFIER]="0|[1-9]\\d*",c("NUMERICIDENTIFIERLOOSE"),a[s.NUMERICIDENTIFIERLOOSE]="[0-9]+",c("NONNUMERICIDENTIFIER"),a[s.NONNUMERICIDENTIFIER]="\\d*[a-zA-Z-][a-zA-Z0-9-]*",c("MAINVERSION"),a[s.MAINVERSION]="("+a[s.NUMERICIDENTIFIER]+")\\.("+a[s.NUMERICIDENTIFIER]+")\\.("+a[s.NUMERICIDENTIFIER]+")",c("MAINVERSIONLOOSE"),a[s.MAINVERSIONLOOSE]="("+a[s.NUMERICIDENTIFIERLOOSE]+")\\.("+a[s.NUMERICIDENTIFIERLOOSE]+")\\.("+a[s.NUMERICIDENTIFIERLOOSE]+")",c("PRERELEASEIDENTIFIER"),a[s.PRERELEASEIDENTIFIER]="(?:"+a[s.NUMERICIDENTIFIER]+"|"+a[s.NONNUMERICIDENTIFIER]+")",c("PRERELEASEIDENTIFIERLOOSE"),a[s.PRERELEASEIDENTIFIERLOOSE]="(?:"+a[s.NUMERICIDENTIFIERLOOSE]+"|"+a[s.NONNUMERICIDENTIFIER]+")",c("PRERELEASE"),a[s.PRERELEASE]="(?:-("+a[s.PRERELEASEIDENTIFIER]+"(?:\\."+a[s.PRERELEASEIDENTIFIER]+")*))",c("PRERELEASELOOSE"),a[s.PRERELEASELOOSE]="(?:-?("+a[s.PRERELEASEIDENTIFIERLOOSE]+"(?:\\."+a[s.PRERELEASEIDENTIFIERLOOSE]+")*))",c("BUILDIDENTIFIER"),a[s.BUILDIDENTIFIER]="[0-9A-Za-z-]+",c("BUILD"),a[s.BUILD]="(?:\\+("+a[s.BUILDIDENTIFIER]+"(?:\\."+a[s.BUILDIDENTIFIER]+")*))",c("FULL"),c("FULLPLAIN"),a[s.FULLPLAIN]="v?"+a[s.MAINVERSION]+a[s.PRERELEASE]+"?"+a[s.BUILD]+"?",a[s.FULL]="^"+a[s.FULLPLAIN]+"$",c("LOOSEPLAIN"),a[s.LOOSEPLAIN]="[v=\\s]*"+a[s.MAINVERSIONLOOSE]+a[s.PRERELEASELOOSE]+"?"+a[s.BUILD]+"?",c("LOOSE"),a[s.LOOSE]="^"+a[s.LOOSEPLAIN]+"$",c("GTLT"),a[s.GTLT]="((?:<|>)?=?)",c("XRANGEIDENTIFIERLOOSE"),a[s.XRANGEIDENTIFIERLOOSE]=a[s.NUMERICIDENTIFIERLOOSE]+"|x|X|\\*",c("XRANGEIDENTIFIER"),a[s.XRANGEIDENTIFIER]=a[s.NUMERICIDENTIFIER]+"|x|X|\\*",c("XRANGEPLAIN"),a[s.XRANGEPLAIN]="[v=\\s]*("+a[s.XRANGEIDENTIFIER]+")(?:\\.("+a[s.XRANGEIDENTIFIER]+")(?:\\.("+a[s.XRANGEIDENTIFIER]+")(?:"+a[s.PRERELEASE]+")?"+a[s.BUILD]+"?)?)?",c("XRANGEPLAINLOOSE"),a[s.XRANGEPLAINLOOSE]="[v=\\s]*("+a[s.XRANGEIDENTIFIERLOOSE]+")(?:\\.("+a[s.XRANGEIDENTIFIERLOOSE]+")(?:\\.("+a[s.XRANGEIDENTIFIERLOOSE]+")(?:"+a[s.PRERELEASELOOSE]+")?"+a[s.BUILD]+"?)?)?",c("XRANGE"),a[s.XRANGE]="^"+a[s.GTLT]+"\\s*"+a[s.XRANGEPLAIN]+"$",c("XRANGELOOSE"),a[s.XRANGELOOSE]="^"+a[s.GTLT]+"\\s*"+a[s.XRANGEPLAINLOOSE]+"$",c("COERCE"),a[s.COERCE]="(^|[^\\d])(\\d{1,16})(?:\\.(\\d{1,16}))?(?:\\.(\\d{1,16}))?(?:$|[^\\d])",c("COERCERTL"),o[s.COERCERTL]=new RegExp(a[s.COERCE],"g"),c("LONETILDE"),a[s.LONETILDE]="(?:~>?)",c("TILDETRIM"),a[s.TILDETRIM]="(\\s*)"+a[s.LONETILDE]+"\\s+",o[s.TILDETRIM]=new RegExp(a[s.TILDETRIM],"g");c("TILDE"),a[s.TILDE]="^"+a[s.LONETILDE]+a[s.XRANGEPLAIN]+"$",c("TILDELOOSE"),a[s.TILDELOOSE]="^"+a[s.LONETILDE]+a[s.XRANGEPLAINLOOSE]+"$",c("LONECARET"),a[s.LONECARET]="(?:\\^)",c("CARETTRIM"),a[s.CARETTRIM]="(\\s*)"+a[s.LONECARET]+"\\s+",o[s.CARETTRIM]=new RegExp(a[s.CARETTRIM],"g");c("CARET"),a[s.CARET]="^"+a[s.LONECARET]+a[s.XRANGEPLAIN]+"$",c("CARETLOOSE"),a[s.CARETLOOSE]="^"+a[s.LONECARET]+a[s.XRANGEPLAINLOOSE]+"$",c("COMPARATORLOOSE"),a[s.COMPARATORLOOSE]="^"+a[s.GTLT]+"\\s*("+a[s.LOOSEPLAIN]+")$|^$",c("COMPARATOR"),a[s.COMPARATOR]="^"+a[s.GTLT]+"\\s*("+a[s.FULLPLAIN]+")$|^$",c("COMPARATORTRIM"),a[s.COMPARATORTRIM]="(\\s*)"+a[s.GTLT]+"\\s*("+a[s.LOOSEPLAIN]+"|"+a[s.XRANGEPLAIN]+")",o[s.COMPARATORTRIM]=new RegExp(a[s.COMPARATORTRIM],"g");c("HYPHENRANGE"),a[s.HYPHENRANGE]="^\\s*("+a[s.XRANGEPLAIN]+")\\s+-\\s+("+a[s.XRANGEPLAIN]+")\\s*$",c("HYPHENRANGELOOSE"),a[s.HYPHENRANGELOOSE]="^\\s*("+a[s.XRANGEPLAINLOOSE]+")\\s+-\\s+("+a[s.XRANGEPLAINLOOSE]+")\\s*$",c("STAR"),a[s.STAR]="(<|>)?=?\\s*\\*";for(var u=0;u<l;u++)n(u,a[u]),o[u]||(o[u]=new RegExp(a[u]));function f(e,t){if(t&&"object"==typeof t||(t={loose:!!t,includePrerelease:!1}),e instanceof p)return e;if("string"!=typeof e)return null;if(e.length>r)return null;if(!(t.loose?o[s.LOOSE]:o[s.FULL]).test(e))return null;try{return new p(e,t)}catch(e){return null}}function p(e,t){if(t&&"object"==typeof t||(t={loose:!!t,includePrerelease:!1}),e instanceof p){if(e.loose===t.loose)return e;e=e.version}else if("string"!=typeof e)throw new TypeError("Invalid Version: "+e);if(e.length>r)throw new TypeError("version is longer than "+r+" characters");if(!(this instanceof p))return new p(e,t);n("SemVer",e,t),this.options=t,this.loose=!!t.loose;var a=e.trim().match(t.loose?o[s.LOOSE]:o[s.FULL]);if(!a)throw new TypeError("Invalid Version: "+e);if(this.raw=e,this.major=+a[1],this.minor=+a[2],this.patch=+a[3],this.major>i||this.major<0)throw new TypeError("Invalid major version");if(this.minor>i||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>i||this.patch<0)throw new TypeError("Invalid patch version");a[4]?this.prerelease=a[4].split(".").map((function(e){if(/^[0-9]+$/.test(e)){var t=+e;if(t>=0&&t<i)return t}return e})):this.prerelease=[],this.build=a[5]?a[5].split("."):[],this.format()}t.parse=f,t.valid=function(e,t){var n=f(e,t);return n?n.version:null},t.clean=function(e,t){var n=f(e.trim().replace(/^[=v]+/,""),t);return n?n.version:null},t.SemVer=p,p.prototype.format=function(){return this.version=this.major+"."+this.minor+"."+this.patch,this.prerelease.length&&(this.version+="-"+this.prerelease.join(".")),this.version},p.prototype.toString=function(){return this.version},p.prototype.compare=function(e){return n("SemVer.compare",this.version,this.options,e),e instanceof p||(e=new p(e,this.options)),this.compareMain(e)||this.comparePre(e)},p.prototype.compareMain=function(e){return e instanceof p||(e=new p(e,this.options)),d(this.major,e.major)||d(this.minor,e.minor)||d(this.patch,e.patch)},p.prototype.comparePre=function(e){if(e instanceof p||(e=new p(e,this.options)),this.prerelease.length&&!e.prerelease.length)return-1;if(!this.prerelease.length&&e.prerelease.length)return 1;if(!this.prerelease.length&&!e.prerelease.length)return 0;var t=0;do{var r=this.prerelease[t],i=e.prerelease[t];if(n("prerelease compare",t,r,i),void 0===r&&void 0===i)return 0;if(void 0===i)return 1;if(void 0===r)return-1;if(r!==i)return d(r,i)}while(++t)},p.prototype.compareBuild=function(e){e instanceof p||(e=new p(e,this.options));var t=0;do{var r=this.build[t],i=e.build[t];if(n("prerelease compare",t,r,i),void 0===r&&void 0===i)return 0;if(void 0===i)return 1;if(void 0===r)return-1;if(r!==i)return d(r,i)}while(++t)},p.prototype.inc=function(e,t){switch(e){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",t);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",t);break;case"prepatch":this.prerelease.length=0,this.inc("patch",t),this.inc("pre",t);break;case"prerelease":0===this.prerelease.length&&this.inc("patch",t),this.inc("pre",t);break;case"major":0===this.minor&&0===this.patch&&0!==this.prerelease.length||this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":0===this.patch&&0!==this.prerelease.length||this.minor++,this.patch=0,this.prerelease=[];break;case"patch":0===this.prerelease.length&&this.patch++,this.prerelease=[];break;case"pre":if(0===this.prerelease.length)this.prerelease=[0];else{for(var n=this.prerelease.length;--n>=0;)"number"==typeof this.prerelease[n]&&(this.prerelease[n]++,n=-2);-1===n&&this.prerelease.push(0)}t&&(this.prerelease[0]===t?isNaN(this.prerelease[1])&&(this.prerelease=[t,0]):this.prerelease=[t,0]);break;default:throw new Error("invalid increment argument: "+e)}return this.format(),this.raw=this.version,this},t.inc=function(e,t,n,r){"string"==typeof n&&(r=n,n=void 0);try{return new p(e,n).inc(t,r).version}catch(e){return null}},t.diff=function(e,t){if(E(e,t))return null;var n=f(e),r=f(t),i="";if(n.prerelease.length||r.prerelease.length){i="pre";var o="prerelease"}for(var a in n)if(("major"===a||"minor"===a||"patch"===a)&&n[a]!==r[a])return i+a;return o},t.compareIdentifiers=d;var h=/^[0-9]+$/;function d(e,t){var n=h.test(e),r=h.test(t);return n&&r&&(e=+e,t=+t),e===t?0:n&&!r?-1:r&&!n?1:e<t?-1:1}function g(e,t,n){return new p(e,n).compare(new p(t,n))}function m(e,t,n){return g(e,t,n)>0}function v(e,t,n){return g(e,t,n)<0}function E(e,t,n){return 0===g(e,t,n)}function y(e,t,n){return 0!==g(e,t,n)}function b(e,t,n){return g(e,t,n)>=0}function I(e,t,n){return g(e,t,n)<=0}function O(e,t,n,r){switch(t){case"===":return"object"==typeof e&&(e=e.version),"object"==typeof n&&(n=n.version),e===n;case"!==":return"object"==typeof e&&(e=e.version),"object"==typeof n&&(n=n.version),e!==n;case"":case"=":case"==":return E(e,n,r);case"!=":return y(e,n,r);case">":return m(e,n,r);case">=":return b(e,n,r);case"<":return v(e,n,r);case"<=":return I(e,n,r);default:throw new TypeError("Invalid operator: "+t)}}function R(e,t){if(t&&"object"==typeof t||(t={loose:!!t,includePrerelease:!1}),e instanceof R){if(e.loose===!!t.loose)return e;e=e.value}if(!(this instanceof R))return new R(e,t);n("comparator",e,t),this.options=t,this.loose=!!t.loose,this.parse(e),this.semver===w?this.value="":this.value=this.operator+this.semver.version,n("comp",this)}t.rcompareIdentifiers=function(e,t){return d(t,e)},t.major=function(e,t){return new p(e,t).major},t.minor=function(e,t){return new p(e,t).minor},t.patch=function(e,t){return new p(e,t).patch},t.compare=g,t.compareLoose=function(e,t){return g(e,t,!0)},t.compareBuild=function(e,t,n){var r=new p(e,n),i=new p(t,n);return r.compare(i)||r.compareBuild(i)},t.rcompare=function(e,t,n){return g(t,e,n)},t.sort=function(e,n){return e.sort((function(e,r){return t.compareBuild(e,r,n)}))},t.rsort=function(e,n){return e.sort((function(e,r){return t.compareBuild(r,e,n)}))},t.gt=m,t.lt=v,t.eq=E,t.neq=y,t.gte=b,t.lte=I,t.cmp=O,t.Comparator=R;var w={};function N(e,t){if(t&&"object"==typeof t||(t={loose:!!t,includePrerelease:!1}),e instanceof N)return e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease?e:new N(e.raw,t);if(e instanceof R)return new N(e.value,t);if(!(this instanceof N))return new N(e,t);if(this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease,this.raw=e,this.set=e.split(/\s*\|\|\s*/).map((function(e){return this.parseRange(e.trim())}),this).filter((function(e){return e.length})),!this.set.length)throw new TypeError("Invalid SemVer Range: "+e);this.format()}function A(e,t){for(var n=!0,r=e.slice(),i=r.pop();n&&r.length;)n=r.every((function(e){return i.intersects(e,t)})),i=r.pop();return n}function S(e){return!e||"x"===e.toLowerCase()||"*"===e}function L(e,t,n,r,i,o,a,s,l,c,u,f,p){return((t=S(n)?"":S(r)?">="+n+".0.0":S(i)?">="+n+"."+r+".0":">="+t)+" "+(s=S(l)?"":S(c)?"<"+(+l+1)+".0.0":S(u)?"<"+l+"."+(+c+1)+".0":f?"<="+l+"."+c+"."+u+"-"+f:"<="+s)).trim()}function T(e,t,r){for(var i=0;i<e.length;i++)if(!e[i].test(t))return!1;if(t.prerelease.length&&!r.includePrerelease){for(i=0;i<e.length;i++)if(n(e[i].semver),e[i].semver!==w&&e[i].semver.prerelease.length>0){var o=e[i].semver;if(o.major===t.major&&o.minor===t.minor&&o.patch===t.patch)return!0}return!1}return!0}function x(e,t,n){try{t=new N(t,n)}catch(e){return!1}return t.test(e)}function _(e,t,n,r){var i,o,a,s,l;switch(e=new p(e,r),t=new N(t,r),n){case">":i=m,o=I,a=v,s=">",l=">=";break;case"<":i=v,o=b,a=m,s="<",l="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(x(e,t,r))return!1;for(var c=0;c<t.set.length;++c){var u=t.set[c],f=null,h=null;if(u.forEach((function(e){e.semver===w&&(e=new R(">=0.0.0")),f=f||e,h=h||e,i(e.semver,f.semver,r)?f=e:a(e.semver,h.semver,r)&&(h=e)})),f.operator===s||f.operator===l)return!1;if((!h.operator||h.operator===s)&&o(e,h.semver))return!1;if(h.operator===l&&a(e,h.semver))return!1}return!0}R.prototype.parse=function(e){var t=this.options.loose?o[s.COMPARATORLOOSE]:o[s.COMPARATOR],n=e.match(t);if(!n)throw new TypeError("Invalid comparator: "+e);this.operator=void 0!==n[1]?n[1]:"","="===this.operator&&(this.operator=""),n[2]?this.semver=new p(n[2],this.options.loose):this.semver=w},R.prototype.toString=function(){return this.value},R.prototype.test=function(e){if(n("Comparator.test",e,this.options.loose),this.semver===w||e===w)return!0;if("string"==typeof e)try{e=new p(e,this.options)}catch(e){return!1}return O(e,this.operator,this.semver,this.options)},R.prototype.intersects=function(e,t){if(!(e instanceof R))throw new TypeError("a Comparator is required");var n;if(t&&"object"==typeof t||(t={loose:!!t,includePrerelease:!1}),""===this.operator)return""===this.value||(n=new N(e.value,t),x(this.value,n,t));if(""===e.operator)return""===e.value||(n=new N(this.value,t),x(e.semver,n,t));var r=!(">="!==this.operator&&">"!==this.operator||">="!==e.operator&&">"!==e.operator),i=!("<="!==this.operator&&"<"!==this.operator||"<="!==e.operator&&"<"!==e.operator),o=this.semver.version===e.semver.version,a=!(">="!==this.operator&&"<="!==this.operator||">="!==e.operator&&"<="!==e.operator),s=O(this.semver,"<",e.semver,t)&&(">="===this.operator||">"===this.operator)&&("<="===e.operator||"<"===e.operator),l=O(this.semver,">",e.semver,t)&&("<="===this.operator||"<"===this.operator)&&(">="===e.operator||">"===e.operator);return r||i||o&&a||s||l},t.Range=N,N.prototype.format=function(){return this.range=this.set.map((function(e){return e.join(" ").trim()})).join("||").trim(),this.range},N.prototype.toString=function(){return this.range},N.prototype.parseRange=function(e){var t=this.options.loose;e=e.trim();var r=t?o[s.HYPHENRANGELOOSE]:o[s.HYPHENRANGE];e=e.replace(r,L),n("hyphen replace",e),e=e.replace(o[s.COMPARATORTRIM],"$1$2$3"),n("comparator trim",e,o[s.COMPARATORTRIM]),e=(e=(e=e.replace(o[s.TILDETRIM],"$1~")).replace(o[s.CARETTRIM],"$1^")).split(/\s+/).join(" ");var i=t?o[s.COMPARATORLOOSE]:o[s.COMPARATOR],a=e.split(" ").map((function(e){return function(e,t){return n("comp",e,t),e=function(e,t){return e.trim().split(/\s+/).map((function(e){return function(e,t){n("caret",e,t);var r=t.loose?o[s.CARETLOOSE]:o[s.CARET];return e.replace(r,(function(t,r,i,o,a){var s;return n("caret",e,t,r,i,o,a),S(r)?s="":S(i)?s=">="+r+".0.0 <"+(+r+1)+".0.0":S(o)?s="0"===r?">="+r+"."+i+".0 <"+r+"."+(+i+1)+".0":">="+r+"."+i+".0 <"+(+r+1)+".0.0":a?(n("replaceCaret pr",a),s="0"===r?"0"===i?">="+r+"."+i+"."+o+"-"+a+" <"+r+"."+i+"."+(+o+1):">="+r+"."+i+"."+o+"-"+a+" <"+r+"."+(+i+1)+".0":">="+r+"."+i+"."+o+"-"+a+" <"+(+r+1)+".0.0"):(n("no pr"),s="0"===r?"0"===i?">="+r+"."+i+"."+o+" <"+r+"."+i+"."+(+o+1):">="+r+"."+i+"."+o+" <"+r+"."+(+i+1)+".0":">="+r+"."+i+"."+o+" <"+(+r+1)+".0.0"),n("caret return",s),s}))}(e,t)})).join(" ")}(e,t),n("caret",e),e=function(e,t){return e.trim().split(/\s+/).map((function(e){return function(e,t){var r=t.loose?o[s.TILDELOOSE]:o[s.TILDE];return e.replace(r,(function(t,r,i,o,a){var s;return n("tilde",e,t,r,i,o,a),S(r)?s="":S(i)?s=">="+r+".0.0 <"+(+r+1)+".0.0":S(o)?s=">="+r+"."+i+".0 <"+r+"."+(+i+1)+".0":a?(n("replaceTilde pr",a),s=">="+r+"."+i+"."+o+"-"+a+" <"+r+"."+(+i+1)+".0"):s=">="+r+"."+i+"."+o+" <"+r+"."+(+i+1)+".0",n("tilde return",s),s}))}(e,t)})).join(" ")}(e,t),n("tildes",e),e=function(e,t){return n("replaceXRanges",e,t),e.split(/\s+/).map((function(e){return function(e,t){e=e.trim();var r=t.loose?o[s.XRANGELOOSE]:o[s.XRANGE];return e.replace(r,(function(r,i,o,a,s,l){n("xRange",e,r,i,o,a,s,l);var c=S(o),u=c||S(a),f=u||S(s),p=f;return"="===i&&p&&(i=""),l=t.includePrerelease?"-0":"",c?r=">"===i||"<"===i?"<0.0.0-0":"*":i&&p?(u&&(a=0),s=0,">"===i?(i=">=",u?(o=+o+1,a=0,s=0):(a=+a+1,s=0)):"<="===i&&(i="<",u?o=+o+1:a=+a+1),r=i+o+"."+a+"."+s+l):u?r=">="+o+".0.0"+l+" <"+(+o+1)+".0.0"+l:f&&(r=">="+o+"."+a+".0"+l+" <"+o+"."+(+a+1)+".0"+l),n("xRange return",r),r}))}(e,t)})).join(" ")}(e,t),n("xrange",e),e=function(e,t){return n("replaceStars",e,t),e.trim().replace(o[s.STAR],"")}(e,t),n("stars",e),e}(e,this.options)}),this).join(" ").split(/\s+/);return this.options.loose&&(a=a.filter((function(e){return!!e.match(i)}))),a=a.map((function(e){return new R(e,this.options)}),this)},N.prototype.intersects=function(e,t){if(!(e instanceof N))throw new TypeError("a Range is required");return this.set.some((function(n){return A(n,t)&&e.set.some((function(e){return A(e,t)&&n.every((function(n){return e.every((function(e){return n.intersects(e,t)}))}))}))}))},t.toComparators=function(e,t){return new N(e,t).set.map((function(e){return e.map((function(e){return e.value})).join(" ").trim().split(" ")}))},N.prototype.test=function(e){if(!e)return!1;if("string"==typeof e)try{e=new p(e,this.options)}catch(e){return!1}for(var t=0;t<this.set.length;t++)if(T(this.set[t],e,this.options))return!0;return!1},t.satisfies=x,t.maxSatisfying=function(e,t,n){var r=null,i=null;try{var o=new N(t,n)}catch(e){return null}return e.forEach((function(e){o.test(e)&&(r&&-1!==i.compare(e)||(i=new p(r=e,n)))})),r},t.minSatisfying=function(e,t,n){var r=null,i=null;try{var o=new N(t,n)}catch(e){return null}return e.forEach((function(e){o.test(e)&&(r&&1!==i.compare(e)||(i=new p(r=e,n)))})),r},t.minVersion=function(e,t){e=new N(e,t);var n=new p("0.0.0");if(e.test(n))return n;if(n=new p("0.0.0-0"),e.test(n))return n;n=null;for(var r=0;r<e.set.length;++r){e.set[r].forEach((function(e){var t=new p(e.semver.version);switch(e.operator){case">":0===t.prerelease.length?t.patch++:t.prerelease.push(0),t.raw=t.format();case"":case">=":n&&!m(n,t)||(n=t);break;case"<":case"<=":break;default:throw new Error("Unexpected operation: "+e.operator)}}))}if(n&&e.test(n))return n;return null},t.validRange=function(e,t){try{return new N(e,t).range||"*"}catch(e){return null}},t.ltr=function(e,t,n){return _(e,t,"<",n)},t.gtr=function(e,t,n){return _(e,t,">",n)},t.outside=_,t.prerelease=function(e,t){var n=f(e,t);return n&&n.prerelease.length?n.prerelease:null},t.intersects=function(e,t,n){return e=new N(e,n),t=new N(t,n),e.intersects(t)},t.coerce=function(e,t){if(e instanceof p)return e;"number"==typeof e&&(e=String(e));if("string"!=typeof e)return null;var n=null;if((t=t||{}).rtl){for(var r;(r=o[s.COERCERTL].exec(e))&&(!n||n.index+n[0].length!==e.length);)n&&r.index+r[0].length===n.index+n[0].length||(n=r),o[s.COERCERTL].lastIndex=r.index+r[1].length+r[2].length;o[s.COERCERTL].lastIndex=-1}else n=e.match(o[s.COERCE]);if(null===n)return null;return f(n[2]+"."+(n[3]||"0")+"."+(n[4]||"0"),t)}})),Re=(Oe.SEMVER_SPEC_VERSION,Oe.re,Oe.src,Oe.tokens,Oe.parse,Oe.valid,Oe.clean,Oe.SemVer,Oe.inc,Oe.diff,Oe.compareIdentifiers,Oe.rcompareIdentifiers,Oe.major,Oe.minor,Oe.patch,Oe.compare,Oe.compareLoose,Oe.compareBuild,Oe.rcompare,Oe.sort,Oe.rsort,Oe.gt,Oe.lt,Oe.eq,Oe.neq,Oe.gte,Oe.lte,Oe.cmp,Oe.Comparator,Oe.Range,Oe.toComparators,Oe.satisfies),we=(Oe.maxSatisfying,Oe.minSatisfying,Oe.minVersion,Oe.validRange,Oe.ltr,Oe.gtr,Oe.outside,Oe.prerelease,Oe.intersects,Oe.coerce,be((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){var t=/\/schema\/([\w-]+)\/([\w\.\-]+)\.json$/g.exec(e).slice(1,3);return{library:t[0],version:t[1]}}}))),Ne=(Ie=we)&&Ie.__esModule&&Object.prototype.hasOwnProperty.call(Ie,"default")?Ie.default:Ie;const Ae={background:"#333",title:{color:"#fff"},style:{"guide-label":{fill:"#fff"},"guide-title":{fill:"#fff"}},axis:{domainColor:"#fff",gridColor:"#888",tickColor:"#fff"}},Se={background:"#fff",arc:{fill:"#4572a7"},area:{fill:"#4572a7"},line:{stroke:"#4572a7",strokeWidth:2},path:{stroke:"#4572a7"},rect:{fill:"#4572a7"},shape:{stroke:"#4572a7"},symbol:{fill:"#4572a7",strokeWidth:1.5,size:50},axis:{bandPosition:.5,grid:!0,gridColor:"#000000",gridOpacity:1,gridWidth:.5,labelPadding:10,tickSize:5,tickWidth:.5},axisBand:{grid:!1,tickExtra:!0},legend:{labelBaseline:"middle",labelFontSize:11,symbolSize:50,symbolType:"square"},range:{category:["#4572a7","#aa4643","#8aa453","#71598e","#4598ae","#d98445","#94aace","#d09393","#b9cc98","#a99cbc"]}},Le={arc:{fill:"#30a2da"},area:{fill:"#30a2da"},axis:{domainColor:"#cbcbcb",grid:!0,gridColor:"#cbcbcb",gridWidth:1,labelColor:"#999",labelFontSize:10,titleColor:"#333",tickColor:"#cbcbcb",tickSize:10,titleFontSize:14,titlePadding:10,labelPadding:4},axisBand:{grid:!1},background:"#f0f0f0",group:{fill:"#f0f0f0"},legend:{labelColor:"#333",labelFontSize:11,padding:1,symbolSize:30,symbolType:"square",titleColor:"#333",titleFontSize:14,titlePadding:10},line:{stroke:"#30a2da",strokeWidth:2},path:{stroke:"#30a2da",strokeWidth:.5},rect:{fill:"#30a2da"},range:{category:["#30a2da","#fc4f30","#e5ae38","#6d904f","#8b8b8b","#b96db8","#ff9e27","#56cc60","#52d2ca","#52689e","#545454","#9fe4f8"],diverging:["#cc0020","#e77866","#f6e7e1","#d6e8ed","#91bfd9","#1d78b5"],heatmap:["#d6e8ed","#cee0e5","#91bfd9","#549cc6","#1d78b5"]},point:{filled:!0,shape:"circle"},shape:{stroke:"#30a2da"},style:{bar:{binSpacing:2,fill:"#30a2da",stroke:null}},title:{anchor:"start",fontSize:24,fontWeight:600,offset:20}},Te={group:{fill:"#e5e5e5"},arc:{fill:"#000"},area:{fill:"#000"},line:{stroke:"#000"},path:{stroke:"#000"},rect:{fill:"#000"},shape:{stroke:"#000"},symbol:{fill:"#000",size:40},axis:{domain:!1,grid:!0,gridColor:"#FFFFFF",gridOpacity:1,labelColor:"#7F7F7F",labelPadding:4,tickColor:"#7F7F7F",tickSize:5.67,titleFontSize:16,titleFontWeight:"normal"},legend:{labelBaseline:"middle",labelFontSize:11,symbolSize:40},range:{category:["#000000","#7F7F7F","#1A1A1A","#999999","#333333","#B0B0B0","#4D4D4D","#C9C9C9","#666666","#DCDCDC"]}},xe="Benton Gothic Bold, sans-serif",_e={"category-6":["#ec8431","#829eb1","#c89d29","#3580b1","#adc839","#ab7fb4"],"fire-7":["#fbf2c7","#f9e39c","#f8d36e","#f4bb6a","#e68a4f","#d15a40","#ab4232"],"fireandice-6":["#e68a4f","#f4bb6a","#f9e39c","#dadfe2","#a6b7c6","#849eae"],"ice-7":["#edefee","#dadfe2","#c4ccd2","#a6b7c6","#849eae","#607785","#47525d"]},Ce={background:"#ffffff",title:{anchor:"start",color:"#000000",font:xe,fontSize:22,fontWeight:"normal"},arc:{fill:"#82c6df"},area:{fill:"#82c6df"},line:{stroke:"#82c6df",strokeWidth:2},path:{stroke:"#82c6df"},rect:{fill:"#82c6df"},shape:{stroke:"#82c6df"},symbol:{fill:"#82c6df",size:30},axis:{labelFont:"Benton Gothic, sans-serif",labelFontSize:11.5,labelFontWeight:"normal",titleFont:xe,titleFontSize:13,titleFontWeight:"normal"},axisX:{labelAngle:0,labelPadding:4,tickSize:3},axisY:{labelBaseline:"middle",maxExtent:45,minExtent:45,tickSize:2,titleAlign:"left",titleAngle:0,titleX:-45,titleY:-11},legend:{labelFont:"Benton Gothic, sans-serif",labelFontSize:11.5,symbolType:"square",titleFont:xe,titleFontSize:13,titleFontWeight:"normal"},range:{category:_e["category-6"],diverging:_e["fireandice-6"],heatmap:_e["fire-7"],ordinal:_e["fire-7"],ramp:_e["fire-7"]}},Pe={background:"#f9f9f9",arc:{fill:"#ab5787"},area:{fill:"#ab5787"},line:{stroke:"#ab5787"},path:{stroke:"#ab5787"},rect:{fill:"#ab5787"},shape:{stroke:"#ab5787"},symbol:{fill:"#ab5787",size:30},axis:{domainColor:"#979797",domainWidth:.5,gridWidth:.2,labelColor:"#979797",tickColor:"#979797",tickWidth:.2,titleColor:"#979797"},axisBand:{grid:!1},axisX:{grid:!0,tickSize:10},axisY:{domain:!1,grid:!0,tickSize:0},legend:{labelFontSize:11,padding:1,symbolSize:30,symbolType:"square"},range:{category:["#ab5787","#51b2e5","#703c5c","#168dd9","#d190b6","#00609f","#d365ba","#154866","#666666","#c4c4c4"]}},De={background:"#fff",arc:{fill:"#3e5c69"},area:{fill:"#3e5c69"},line:{stroke:"#3e5c69"},path:{stroke:"#3e5c69"},rect:{fill:"#3e5c69"},shape:{stroke:"#3e5c69"},symbol:{fill:"#3e5c69"},axis:{domainWidth:.5,grid:!0,labelPadding:2,tickSize:5,tickWidth:.5,titleFontWeight:"normal"},axisBand:{grid:!1},axisX:{gridWidth:.2},axisY:{gridDash:[3],gridWidth:.4},legend:{labelFontSize:11,padding:1,symbolType:"square"},range:{category:["#3e5c69","#6793a6","#182429","#0570b0","#3690c0","#74a9cf","#a6bddb","#e2ddf2"]}},ke="2.4.0";var Fe=Object.freeze({version:ke,dark:Ae,excel:Se,fivethirtyeight:Le,ggplot2:Te,latimes:Ce,quartz:Pe,vox:De}),Me="#vg-tooltip-element {\n  visibility: hidden;\n  padding: 8px;\n  position: fixed;\n  z-index: 1000;\n  font-family: sans-serif;\n  font-size: 11px;\n  border-radius: 3px;\n  box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.1);\n  /* The default theme is the light theme. */\n  background-color: rgba(255, 255, 255, 0.95);\n  border: 1px solid #d9d9d9;\n  color: black; }\n  #vg-tooltip-element.visible {\n    visibility: visible; }\n  #vg-tooltip-element h2 {\n    margin-top: 0;\n    margin-bottom: 10px;\n    font-size: 13px; }\n  #vg-tooltip-element table {\n    border-spacing: 0; }\n    #vg-tooltip-element table tr {\n      border: none; }\n      #vg-tooltip-element table tr td {\n        overflow: hidden;\n        text-overflow: ellipsis;\n        padding-top: 2px;\n        padding-bottom: 2px; }\n        #vg-tooltip-element table tr td.key {\n          color: #808080;\n          max-width: 150px;\n          text-align: right;\n          padding-right: 4px; }\n        #vg-tooltip-element table tr td.value {\n          display: block;\n          max-width: 300px;\n          max-height: 7em;\n          text-align: left; }\n  #vg-tooltip-element.dark-theme {\n    background-color: rgba(32, 32, 32, 0.9);\n    border: 1px solid #f5f5f5;\n    color: white; }\n    #vg-tooltip-element.dark-theme td.key {\n      color: #bfbfbf; }\n";const je="vg-tooltip-element",$e={offsetX:10,offsetY:10,id:je,styleId:"vega-tooltip-style",theme:"light",disableDefaultStyle:!1,sanitize:function(e){return String(e).replace(/&/g,"&amp;").replace(/</g,"&lt;")},maxDepth:2};function Ge(e,t,n){return e.fields=t||[],e.fname=n,e}function ze(e){throw Error(e)}var Ue=Array.isArray;function Be(e){return e===Object(e)}function Xe(e){return"string"==typeof e}function Ve(e){return Ue(e)?"["+e.map(Ve)+"]":Be(e)||Xe(e)?JSON.stringify(e).replace("\u2028","\\u2028").replace("\u2029","\\u2029"):e}var We=[],He=(function(e,t){var n=function(e){var t,n,r,i=[],o=null,a=0,s=e.length,l="";function c(){i.push(l+e.substring(t,n)),l="",t=n+1}for(e+="",t=n=0;n<s;++n)if("\\"===(r=e[n]))l+=e.substring(t,n),t=++n;else if(r===o)c(),o=null,a=-1;else{if(o)continue;t===a&&'"'===r?(t=n+1,o=r):t===a&&"'"===r?(t=n+1,o=r):"."!==r||a?"["===r?(n>t&&c(),a=t=n+1):"]"===r&&(a||ze("Access path missing open bracket: "+e),a>0&&c(),a=0,t=n+1):n>t?c():t=n+1}return a&&ze("Access path missing closing bracket: "+e),o&&ze("Access path missing closing quote: "+e),n>t&&(n++,c()),i}(e),r="return _["+n.map(Ve).join("][")+"];";Ge(Function("_",r),[e=1===n.length?n[0]:e],t||e)}("id"),Ge((function(e){return e}),We,"identity"),Ge((function(){return 0}),We,"zero"),Ge((function(){return 1}),We,"one"),Ge((function(){return!0}),We,"true"),Ge((function(){return!1}),We,"false"),function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var i=0;for(r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]])}return n});function qe(e,t){return JSON.stringify(e,function(e){const t=[];return function(n,r){if("object"!=typeof r||null===r)return r;const i=t.indexOf(this)+1;return t.length=i,t.length>e?"[Object]":t.indexOf(r)>=0?"[Circular]":(t.push(r),r)}}(t))}class Ye{constructor(e){this.options=Object.assign(Object.assign({},$e),e);const t=this.options.id;if(this.call=this.tooltipHandler.bind(this),!this.options.disableDefaultStyle&&!document.getElementById(this.options.styleId)){const e=document.createElement("style");e.setAttribute("id",this.options.styleId),e.innerHTML=function(e){if(!/^[A-Za-z]+[-:.\w]*$/.test(e))throw new Error("Invalid HTML ID");return Me.toString().replace(je,e)}(t);const n=document.head;n.childNodes.length>0?n.insertBefore(e,n.childNodes[0]):n.appendChild(e)}this.el=document.getElementById(t),this.el||(this.el=document.createElement("div"),this.el.setAttribute("id",t),this.el.classList.add("vg-tooltip"),document.body.appendChild(this.el))}tooltipHandler(e,t,n,r){if(null==r||""===r)return void this.el.classList.remove("visible",`${this.options.theme}-theme`);this.el.innerHTML=function(e,t,n){if(Ue(e))return`[${e.map(e=>t(Xe(e)?e:qe(e,n))).join(", ")}]`;if(Be(e)){let r="";const i=e,{title:o}=i,a=He(i,["title"]);o&&(r+=`<h2>${t(o)}</h2>`);const s=Object.keys(a);if(s.length>0){r+="<table>";for(const e of s){let i=a[e];void 0!==i&&(Be(i)&&(i=qe(i,n)),r+=`<tr><td class="key">${t(e)}:</td><td class="value">${t(i)}</td></tr>`)}r+="</table>"}return r||"{}"}return t(e)}(r,this.options.sanitize,this.options.maxDepth),this.el.classList.add("visible",`${this.options.theme}-theme`);const{x:i,y:o}=function(e,t,n,r){let i=e.clientX+n;i+t.width>window.innerWidth&&(i=+e.clientX-n-t.width);let o=e.clientY+r;return o+t.height>window.innerHeight&&(o=+e.clientY-r-t.height),{x:i,y:o}}(t,this.el.getBoundingClientRect(),this.options.offsetX,this.options.offsetY);this.el.setAttribute("style",`top: ${o}px; left: ${i}px`)}}var Je='.vega-embed {\n  position: relative;\n  display: inline-block;\n  padding-right: 38px; }\n  .vega-embed details:not([open]) > :not(summary) {\n    display: none !important; }\n  .vega-embed summary {\n    list-style: none;\n    position: absolute;\n    top: 0;\n    right: 0;\n    padding: 6px;\n    z-index: 1000;\n    background: white;\n    box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.1);\n    color: #1b1e23;\n    border: 1px solid #aaa;\n    border-radius: 999px;\n    opacity: 0.2;\n    transition: opacity 0.4s ease-in;\n    outline: none;\n    cursor: pointer;\n    line-height: 0px; }\n    .vega-embed summary::-webkit-details-marker {\n      display: none; }\n    .vega-embed summary:active {\n      box-shadow: #aaa 0px 0px 0px 1px inset; }\n    .vega-embed summary svg {\n      width: 14px;\n      height: 14px; }\n  .vega-embed details[open] summary {\n    opacity: 0.7; }\n  .vega-embed:hover summary,\n  .vega-embed:focus summary {\n    opacity: 1 !important;\n    transition: opacity 0.2s ease; }\n  .vega-embed .vega-actions {\n    position: absolute;\n    top: 35px;\n    right: -9px;\n    display: flex;\n    flex-direction: column;\n    padding-bottom: 8px;\n    padding-top: 8px;\n    border-radius: 4px;\n    box-shadow: 0 2px 8px 0 rgba(0, 0, 0, 0.2);\n    border: 1px solid #d9d9d9;\n    background: white;\n    animation-duration: 0.15s;\n    animation-name: scale-in;\n    animation-timing-function: cubic-bezier(0.2, 0, 0.13, 1.5); }\n    .vega-embed .vega-actions a {\n      padding: 8px 16px;\n      font-family: sans-serif;\n      font-size: 14px;\n      font-weight: 600;\n      white-space: nowrap;\n      color: #434a56;\n      text-decoration: none; }\n      .vega-embed .vega-actions a:hover {\n        background-color: #f7f7f9;\n        color: black; }\n    .vega-embed .vega-actions::before, .vega-embed .vega-actions::after {\n      content: "";\n      display: inline-block;\n      position: absolute; }\n    .vega-embed .vega-actions::before {\n      left: auto;\n      right: 14px;\n      top: -16px;\n      border: 8px solid #0000;\n      border-bottom-color: #d9d9d9; }\n    .vega-embed .vega-actions::after {\n      left: auto;\n      right: 15px;\n      top: -14px;\n      border: 7px solid #0000;\n      border-bottom-color: #fff; }\n\n.vega-embed-wrapper {\n  max-width: 100%;\n  overflow: scroll;\n  padding-right: 14px; }\n\n@keyframes scale-in {\n  from {\n    opacity: 0;\n    transform: scale(0.6); }\n  to {\n    opacity: 1;\n    transform: scale(1); } }\n';const Ze=e;let Ke=t;const Qe=window;void 0===Ke&&Qe.vl&&Qe.vl.compile&&(Ke=Qe.vl);const et={CLICK_TO_VIEW_ACTIONS:"Click to view actions",COMPILED_ACTION:"View Compiled Vega",EDITOR_ACTION:"Open in Vega Editor",PNG_ACTION:"Save as PNG",SOURCE_ACTION:"View Source",SVG_ACTION:"Save as SVG"},tt={vega:"Vega","vega-lite":"Vega-Lite"},nt={vega:Ze.version,"vega-lite":Ke?Ke.version:"not available"},rt={vega:e=>e,"vega-lite":(e,t)=>Ke.compile(e,{config:t}).spec},it='\n<svg viewBox="0 0 16 16" fill="currentColor" stroke="none" stroke-width="1" stroke-linecap="round" stroke-linejoin="round">\n  <circle r="2" cy="8" cx="2"></circle>\n  <circle r="2" cy="8" cx="8"></circle>\n  <circle r="2" cy="8" cx="14"></circle>\n</svg>';function ot(e,t,n,r){const i=`<html><head>${t}</head><body><pre><code class="json">`,o=`</code></pre>${n}</body></html>`,a=window.open("");a.document.write(i+e+o),a.document.title=`${tt[r]} JSON Source`}function at(t,n,r={}){return ce(this,void 0,void 0,(function*(){const i=(o=r.loader)&&"load"in o?r.loader:Ze.loader(r.loader);var o;if(Ze.isString(n)){const e=yield i.load(n);return at(t,JSON.parse(e),r)}let a=(r=ve(r,n.usermeta&&n.usermeta.embedOptions||{})).config||{};if(Ze.isString(a)){const e=yield i.load(a);return at(t,n,Object.assign(Object.assign({},r),{config:JSON.parse(e)}))}const s=e.isBoolean(r.actions)?r.actions:ve({export:{svg:!0,png:!0},source:!0,compiled:!0,editor:!0},r.actions||{}),l=Object.assign(Object.assign({},et),r.i18n),c=r.renderer||"canvas",u=r.logLevel||Ze.Warn,f=r.downloadFileName||"visualization";if(!1!==r.defaultStyle){const e="vega-embed-style";if(!document.getElementById(e)){const t=document.createElement("style");t.id=e,t.innerText=void 0===r.defaultStyle||!0===r.defaultStyle?Je.toString():r.defaultStyle,document.head.appendChild(t)}}r.theme&&(a=ve(Fe[r.theme],a));const p=function(e,t){if(e.$schema){const n=Ne(e.$schema);t&&t!==n.library&&console.warn(`The given visualization spec is written in ${tt[n.library]}, but mode argument sets ${tt[t]||t}.`);const r=n.library;return Re(nt[r],`^${n.version.slice(1)}`)||console.warn(`The input spec uses ${tt[r]} ${n.version}, but the current version of ${tt[r]} is v${nt[r]}.`),r}return"mark"in e||"encoding"in e||"layer"in e||"hconcat"in e||"vconcat"in e||"facet"in e||"repeat"in e?"vega-lite":"marks"in e||"signals"in e||"scales"in e||"axes"in e?"vega":t||"vega"}(n,r.mode);let h=rt[p](n,a);if("vega-lite"===p&&h.$schema){const e=Ne(h.$schema);Re(nt.vega,`^${e.version.slice(1)}`)||console.warn(`The compiled spec uses Vega ${e.version}, but current version is v${nt.vega}.`)}const d=function(e){return"string"==typeof e?new ae([[document.querySelector(e)]],[document.documentElement]):new ae([[e]],oe)}(t).classed("vega-embed",!0).html(""),g=r.patch;if(g)if(g instanceof Function)h=g(h);else if(Ze.isString(g)){const e=yield i.load(g);h=ve(h,JSON.parse(e))}else h=ve(h,g);const m=Ze.parse(h,"vega-lite"===p?{}:a),v=new Ze.View(m,{loader:i,logLevel:u,renderer:c});if(!1!==r.tooltip){let e;e="function"==typeof r.tooltip?r.tooltip:new Ye(!0===r.tooltip?{}:r.tooltip).call,v.tooltip(e)}let{hover:E}=r;if(void 0===E&&(E="vega"===p),E){const{hoverSet:e,updateSet:t}="boolean"==typeof E?{}:E;v.hover(e,t)}if(r&&(r.width&&v.width(r.width),r.height&&v.height(r.height),r.padding&&v.padding(r.padding)),yield v.initialize(t).runAsync(),!1!==s){let e=d;if(!1!==r.defaultStyle){const t=d.append("details").attr("title",l.CLICK_TO_VIEW_ACTIONS);e=t,t.insert("summary").html(it);const n=t.node();document.addEventListener("click",e=>{n.contains(e.target)||n.removeAttribute("open")})}const t=e.insert("div").attr("class","vega-actions");if(!0===s||!1!==s.export)for(const e of["svg","png"])if(!0===s||!0===s.export||s.export[e]){const n=l[`${e.toUpperCase()}_ACTION`];t.append("a").text(n).attr("href","#").attr("target","_blank").attr("download",`${f}.${e}`).on("mousedown",(function(){v.toImageURL(e,r.scaleFactor).then(e=>{this.href=e}).catch(e=>{throw e}),Z.preventDefault()}))}if(!0!==s&&!1===s.source||t.append("a").text(l.SOURCE_ACTION).attr("href","#").on("mousedown",()=>{ot(ye(n),r.sourceHeader||"",r.sourceFooter||"",p),Z.preventDefault()}),"vega-lite"!==p||!0!==s&&!1===s.compiled||t.append("a").text(l.COMPILED_ACTION).attr("href","#").on("mousedown",()=>{ot(ye(h),r.sourceHeader||"",r.sourceFooter||"","vega"),Z.preventDefault()}),!0===s||!1!==s.editor){const e=r.editorUrl||"https://vega.github.io/editor/";t.append("a").text(l.EDITOR_ACTION).attr("href","#").on("mousedown",()=>{!function(e,t,n){const r=e.open(t),i=250;let o=~~(1e4/i);e.addEventListener("message",(function t(n){n.source===r&&(o=0,e.removeEventListener("message",t,!1))}),!1),setTimeout((function e(){o<=0||(r.postMessage(n,"*"),setTimeout(e,i),o-=1)}),i)}(window,e,{config:a,mode:p,renderer:c,spec:ye(n)}),Z.preventDefault()})}}return{view:v,spec:n,vgSpec:h}}))}function st(e,t={}){return ce(this,void 0,void 0,(function*(){const n=document.createElement("div");n.classList.add("vega-embed-wrapper");const r=document.createElement("div");n.appendChild(r);const i=!0===t.actions||!1===t.actions?t.actions:Object.assign({export:!0,source:!1,compiled:!0,editor:!0},t.actions||{}),o=yield at(r,e,Object.assign({actions:i},t||{}));return n.value=o.view,n}))}String.prototype.startsWith||(String.prototype.startsWith=function(e,t){return this.substr(!t||t<0?0:+t,e.length)===e});const lt=(...t)=>t.length>1&&(e.isString(t[0])&&!function(e){return e.startsWith("http://")||e.startsWith("https://")||e.startsWith("//")}(t[0])||function(e){return e instanceof se||"object"==typeof HTMLElement?e instanceof HTMLElement:e&&"object"==typeof e&&null!==e&&1===e.nodeType&&"string"==typeof e.nodeName}(t[0])||3===t.length)?at(t[0],t[1],t[2]):st(t[0],t[1]);return lt.vegaLite=Ke,lt.vl=Ke,lt.container=st,lt.embed=at,lt.vega=Ze,lt.default=at,lt.version=le,lt}));
-</script>
-    <script>!function(e,n){"object"==typeof exports&&"object"==typeof module?module.exports=n():"function"==typeof define&&define.amd?define([],n):"object"==typeof exports?exports.feather=n():e.feather=n()}("undefined"!=typeof self?self:this,function(){return function(e){var n={};function i(l){if(n[l])return n[l].exports;var t=n[l]={i:l,l:!1,exports:{}};return e[l].call(t.exports,t,t.exports,i),t.l=!0,t.exports}return i.m=e,i.c=n,i.d=function(e,n,l){i.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:l})},i.r=function(e){Object.defineProperty(e,"__esModule",{value:!0})},i.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(n,"a",n),n},i.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},i.p="",i(i.s=61)}([function(e,n,i){var l=i(20)("wks"),t=i(11),r=i(1).Symbol,o="function"==typeof r;(e.exports=function(e){return l[e]||(l[e]=o&&r[e]||(o?r:t)("Symbol."+e))}).store=l},function(e,n){var i=e.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=i)},function(e,n){var i={}.hasOwnProperty;e.exports=function(e,n){return i.call(e,n)}},function(e,n,i){e.exports=!i(27)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},function(e,n,i){var l=i(13);e.exports=function(e){if(!l(e))throw TypeError(e+" is not an object!");return e}},function(e,n,i){var l=i(4),t=i(55),r=i(54),o=Object.defineProperty;n.f=i(3)?Object.defineProperty:function(e,n,i){if(l(e),n=r(n,!0),l(i),t)try{return o(e,n,i)}catch(e){}if("get"in i||"set"in i)throw TypeError("Accessors not supported!");return"value"in i&&(e[n]=i.value),e}},function(e,n,i){var l=i(5),t=i(12);e.exports=i(3)?function(e,n,i){return l.f(e,n,t(1,i))}:function(e,n,i){return e[n]=i,e}},function(e,n){var i=e.exports={version:"2.5.3"};"number"==typeof __e&&(__e=i)},function(e,n,i){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var l=o(i(34)),t=o(i(32)),r=o(i(31));function o(e){return e&&e.__esModule?e:{default:e}}n.default=Object.keys(t.default).map(function(e){return new l.default(e,t.default[e],r.default[e])}).reduce(function(e,n){return e[n.name]=n,e},{})},function(e,n,i){var l=i(20)("keys"),t=i(11);e.exports=function(e){return l[e]||(l[e]=t(e))}},function(e,n){e.exports={}},function(e,n){var i=0,l=Math.random();e.exports=function(e){return"Symbol(".concat(void 0===e?"":e,")_",(++i+l).toString(36))}},function(e,n){e.exports=function(e,n){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:n}}},function(e,n){e.exports=function(e){return"object"==typeof e?null!==e:"function"==typeof e}},function(e,n){e.exports=function(e){if(void 0==e)throw TypeError("Can't call method on  "+e);return e}},function(e,n){var i=Math.ceil,l=Math.floor;e.exports=function(e){return isNaN(e=+e)?0:(e>0?l:i)(e)}},function(e,n,i){var l;
-/*!
-  Copyright (c) 2016 Jed Watson.
-  Licensed under the MIT License (MIT), see
-  http://jedwatson.github.io/classnames
-*/
-/*!
-  Copyright (c) 2016 Jed Watson.
-  Licensed under the MIT License (MIT), see
-  http://jedwatson.github.io/classnames
-*/
-!function(){"use strict";var i=function(){function e(){}function n(e,n){for(var i=n.length,l=0;l<i;++l)t(e,n[l])}e.prototype=Object.create(null);var i={}.hasOwnProperty;var l=/\s+/;function t(e,t){if(t){var r=typeof t;"string"===r?function(e,n){for(var i=n.split(l),t=i.length,r=0;r<t;++r)e[i[r]]=!0}(e,t):Array.isArray(t)?n(e,t):"object"===r?function(e,n){for(var l in n)i.call(n,l)&&(e[l]=!!n[l])}(e,t):"number"===r&&function(e,n){e[n]=!0}(e,t)}}return function(){for(var i=arguments.length,l=Array(i),t=0;t<i;t++)l[t]=arguments[t];var r=new e;n(r,l);var o=[];for(var a in r)r[a]&&o.push(a);return o.join(" ")}}();void 0!==e&&e.exports?e.exports=i:void 0===(l=function(){return i}.apply(n,[]))||(e.exports=l)}()},function(e,n,i){var l=i(14);e.exports=function(e){return Object(l(e))}},function(e,n,i){var l=i(5).f,t=i(2),r=i(0)("toStringTag");e.exports=function(e,n,i){e&&!t(e=i?e:e.prototype,r)&&l(e,r,{configurable:!0,value:n})}},function(e,n){e.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(e,n,i){var l=i(1),t=l["__core-js_shared__"]||(l["__core-js_shared__"]={});e.exports=function(e){return t[e]||(t[e]={})}},function(e,n,i){var l=i(15),t=Math.min;e.exports=function(e){return e>0?t(l(e),9007199254740991):0}},function(e,n){var i={}.toString;e.exports=function(e){return i.call(e).slice(8,-1)}},function(e,n,i){var l=i(47),t=i(14);e.exports=function(e){return l(t(e))}},function(e,n,i){var l=i(53);e.exports=function(e,n,i){if(l(e),void 0===n)return e;switch(i){case 1:return function(i){return e.call(n,i)};case 2:return function(i,l){return e.call(n,i,l)};case 3:return function(i,l,t){return e.call(n,i,l,t)}}return function(){return e.apply(n,arguments)}}},function(e,n,i){var l=i(1),t=i(6),r=i(2),o=i(11)("src"),a=Function.toString,c=(""+a).split("toString");i(7).inspectSource=function(e){return a.call(e)},(e.exports=function(e,n,i,a){var y="function"==typeof i;y&&(r(i,"name")||t(i,"name",n)),e[n]!==i&&(y&&(r(i,o)||t(i,o,e[n]?""+e[n]:c.join(String(n)))),e===l?e[n]=i:a?e[n]?e[n]=i:t(e,n,i):(delete e[n],t(e,n,i)))})(Function.prototype,"toString",function(){return"function"==typeof this&&this[o]||a.call(this)})},function(e,n,i){var l=i(13),t=i(1).document,r=l(t)&&l(t.createElement);e.exports=function(e){return r?t.createElement(e):{}}},function(e,n){e.exports=function(e){try{return!!e()}catch(e){return!0}}},function(e,n,i){var l=i(1),t=i(7),r=i(6),o=i(25),a=i(24),c=function(e,n,i){var y,p,h,x,s=e&c.F,u=e&c.G,d=e&c.S,f=e&c.P,v=e&c.B,g=u?l:d?l[n]||(l[n]={}):(l[n]||{}).prototype,m=u?t:t[n]||(t[n]={}),M=m.prototype||(m.prototype={});for(y in u&&(i=n),i)h=((p=!s&&g&&void 0!==g[y])?g:i)[y],x=v&&p?a(h,l):f&&"function"==typeof h?a(Function.call,h):h,g&&o(g,y,h,e&c.U),m[y]!=h&&r(m,y,x),f&&M[y]!=h&&(M[y]=h)};l.core=t,c.F=1,c.G=2,c.S=4,c.P=8,c.B=16,c.W=32,c.U=64,c.R=128,e.exports=c},function(e,n,i){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var l=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var i=arguments[n];for(var l in i)Object.prototype.hasOwnProperty.call(i,l)&&(e[l]=i[l])}return e},t=o(i(16)),r=o(i(8));function o(e){return e&&e.__esModule?e:{default:e}}n.default=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if("undefined"==typeof document)throw new Error("`feather.replace()` only works in a browser environment.");var n=document.querySelectorAll("[data-feather]");Array.from(n).forEach(function(n){return function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=function(e){return Array.from(e.attributes).reduce(function(e,n){return e[n.name]=n.value,e},{})}(e),o=i["data-feather"];delete i["data-feather"];var a=r.default[o].toSvg(l({},n,i,{class:(0,t.default)(n.class,i.class)})),c=(new DOMParser).parseFromString(a,"image/svg+xml").querySelector("svg");e.parentNode.replaceChild(c,e)}(n,e)})}},function(e,n,i){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var l,t=i(8),r=(l=t)&&l.__esModule?l:{default:l};n.default=function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(console.warn("feather.toSvg() is deprecated. Please use feather.icons[name].toSvg() instead."),!e)throw new Error("The required `key` (icon name) parameter is missing.");if(!r.default[e])throw new Error("No icon matching '"+e+"'. See the complete list of icons at https://feathericons.com");return r.default[e].toSvg(n)}},function(e){e.exports={activity:["pulse","health","action","motion"],airplay:["stream","cast","mirroring"],"alert-circle":["warning"],"alert-octagon":["warning"],"alert-triangle":["warning"],"at-sign":["mention"],award:["achievement","badge"],aperture:["camera","photo"],bell:["alarm","notification"],"bell-off":["alarm","notification","silent"],bluetooth:["wireless"],"book-open":["read"],book:["read","dictionary","booklet","magazine"],bookmark:["read","clip","marker","tag"],briefcase:["work","bag","baggage","folder"],clipboard:["copy"],clock:["time","watch","alarm"],"cloud-drizzle":["weather","shower"],"cloud-lightning":["weather","bolt"],"cloud-rain":["weather"],"cloud-snow":["weather","blizzard"],cloud:["weather"],codepen:["logo"],command:["keyboard","cmd"],compass:["navigation","safari","travel"],copy:["clone","duplicate"],"corner-down-left":["arrow"],"corner-down-right":["arrow"],"corner-left-down":["arrow"],"corner-left-up":["arrow"],"corner-right-down":["arrow"],"corner-right-up":["arrow"],"corner-up-left":["arrow"],"corner-up-right":["arrow"],"credit-card":["purchase","payment","cc"],crop:["photo","image"],crosshair:["aim","target"],database:["storage"],delete:["remove"],disc:["album","cd","dvd","music"],"dollar-sign":["currency","money","payment"],droplet:["water"],edit:["pencil","change"],"edit-2":["pencil","change"],"edit-3":["pencil","change"],eye:["view","watch"],"eye-off":["view","watch"],"external-link":["outbound"],facebook:["logo"],"fast-forward":["music"],film:["movie","video"],"folder-minus":["directory"],"folder-plus":["directory"],folder:["directory"],gift:["present","box","birthday","party"],"git-branch":["code","version control"],"git-commit":["code","version control"],"git-merge":["code","version control"],"git-pull-request":["code","version control"],github:["logo","version control"],gitlab:["logo","version control"],global:["world","browser","language","translate"],"hard-drive":["computer","server"],hash:["hashtag","number","pound"],headphones:["music","audio"],heart:["like","love"],"help-circle":["question mark"],home:["house"],image:["picture"],inbox:["email"],instagram:["logo","camera"],"life-bouy":["help","life ring","support"],linkedin:["logo"],lock:["security","password"],"log-in":["sign in","arrow"],"log-out":["sign out","arrow"],mail:["email"],"map-pin":["location","navigation","travel","marker"],map:["location","navigation","travel"],maximize:["fullscreen"],"maximize-2":["fullscreen","arrows"],menu:["bars","navigation","hamburger"],"message-circle":["comment","chat"],"message-square":["comment","chat"],"mic-off":["record"],mic:["record"],minimize:["exit fullscreen"],"minimize-2":["exit fullscreen","arrows"],monitor:["tv"],moon:["dark","night"],"more-horizontal":["ellipsis"],"more-vertical":["ellipsis"],move:["arrows"],navigation:["location","travel"],"navigation-2":["location","travel"],octagon:["stop"],package:["box"],paperclip:["attachment"],pause:["music","stop"],"pause-circle":["music","stop"],play:["music","start"],"play-circle":["music","start"],plus:["add","new"],"plus-circle":["add","new"],"plus-square":["add","new"],pocket:["logo","save"],power:["on","off"],radio:["signal"],rewind:["music"],rss:["feed","subscribe"],save:["floppy disk"],send:["message","mail","paper airplane"],settings:["cog","edit","gear","preferences"],shield:["security"],"shield-off":["security"],"shopping-bag":["ecommerce","cart","purchase","store"],"shopping-cart":["ecommerce","cart","purchase","store"],shuffle:["music"],"skip-back":["music"],"skip-forward":["music"],slash:["ban","no"],sliders:["settings","controls"],speaker:["music"],star:["bookmark","favorite","like"],sun:["brightness","weather","light"],sunrise:["weather"],sunset:["weather"],tag:["label"],target:["bullseye"],terminal:["code","command line"],"thumbs-down":["dislike","bad"],"thumbs-up":["like","good"],"toggle-left":["on","off","switch"],"toggle-right":["on","off","switch"],trash:["garbage","delete","remove"],"trash-2":["garbage","delete","remove"],triangle:["delta"],truck:["delivery","van","shipping"],twitter:["logo"],umbrella:["rain","weather"],"video-off":["camera","movie","film"],video:["camera","movie","film"],voicemail:["phone"],volume:["music","sound","mute"],"volume-1":["music","sound"],"volume-2":["music","sound"],"volume-x":["music","sound","mute"],watch:["clock","time"],wind:["weather","air"],"x-circle":["cancel","close","delete","remove","times"],"x-square":["cancel","close","delete","remove","times"],x:["cancel","close","delete","remove","times"],youtube:["logo","video","play"],"zap-off":["flash","camera","lightning"],zap:["flash","camera","lightning"]}},function(e){e.exports={activity:'<polyline points="22 12 18 12 15 21 9 3 6 12 2 12"></polyline>',airplay:'<path d="M5 17H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2h-1"></path><polygon points="12 15 17 21 7 21 12 15"></polygon>',"alert-circle":'<circle cx="12" cy="12" r="10"></circle><line x1="12" y1="8" x2="12" y2="12"></line><line x1="12" y1="16" x2="12" y2="16"></line>',"alert-octagon":'<polygon points="7.86 2 16.14 2 22 7.86 22 16.14 16.14 22 7.86 22 2 16.14 2 7.86 7.86 2"></polygon><line x1="12" y1="8" x2="12" y2="12"></line><line x1="12" y1="16" x2="12" y2="16"></line>',"alert-triangle":'<path d="M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"></path><line x1="12" y1="9" x2="12" y2="13"></line><line x1="12" y1="17" x2="12" y2="17"></line>',"align-center":'<line x1="18" y1="10" x2="6" y2="10"></line><line x1="21" y1="6" x2="3" y2="6"></line><line x1="21" y1="14" x2="3" y2="14"></line><line x1="18" y1="18" x2="6" y2="18"></line>',"align-justify":'<line x1="21" y1="10" x2="3" y2="10"></line><line x1="21" y1="6" x2="3" y2="6"></line><line x1="21" y1="14" x2="3" y2="14"></line><line x1="21" y1="18" x2="3" y2="18"></line>',"align-left":'<line x1="17" y1="10" x2="3" y2="10"></line><line x1="21" y1="6" x2="3" y2="6"></line><line x1="21" y1="14" x2="3" y2="14"></line><line x1="17" y1="18" x2="3" y2="18"></line>',"align-right":'<line x1="21" y1="10" x2="7" y2="10"></line><line x1="21" y1="6" x2="3" y2="6"></line><line x1="21" y1="14" x2="3" y2="14"></line><line x1="21" y1="18" x2="7" y2="18"></line>',anchor:'<circle cx="12" cy="5" r="3"></circle><line x1="12" y1="22" x2="12" y2="8"></line><path d="M5 12H2a10 10 0 0 0 20 0h-3"></path>',aperture:'<circle cx="12" cy="12" r="10"></circle><line x1="14.31" y1="8" x2="20.05" y2="17.94"></line><line x1="9.69" y1="8" x2="21.17" y2="8"></line><line x1="7.38" y1="12" x2="13.12" y2="2.06"></line><line x1="9.69" y1="16" x2="3.95" y2="6.06"></line><line x1="14.31" y1="16" x2="2.83" y2="16"></line><line x1="16.62" y1="12" x2="10.88" y2="21.94"></line>',archive:'<polyline points="21 8 21 21 3 21 3 8"></polyline><rect x="1" y="3" width="22" height="5"></rect><line x1="10" y1="12" x2="14" y2="12"></line>',"arrow-down-circle":'<circle cx="12" cy="12" r="10"></circle><polyline points="8 12 12 16 16 12"></polyline><line x1="12" y1="8" x2="12" y2="16"></line>',"arrow-down-left":'<line x1="17" y1="7" x2="7" y2="17"></line><polyline points="17 17 7 17 7 7"></polyline>',"arrow-down-right":'<line x1="7" y1="7" x2="17" y2="17"></line><polyline points="17 7 17 17 7 17"></polyline>',"arrow-down":'<line x1="12" y1="5" x2="12" y2="19"></line><polyline points="19 12 12 19 5 12"></polyline>',"arrow-left-circle":'<circle cx="12" cy="12" r="10"></circle><polyline points="12 8 8 12 12 16"></polyline><line x1="16" y1="12" x2="8" y2="12"></line>',"arrow-left":'<line x1="19" y1="12" x2="5" y2="12"></line><polyline points="12 19 5 12 12 5"></polyline>',"arrow-right-circle":'<circle cx="12" cy="12" r="10"></circle><polyline points="12 16 16 12 12 8"></polyline><line x1="8" y1="12" x2="16" y2="12"></line>',"arrow-right":'<line x1="5" y1="12" x2="19" y2="12"></line><polyline points="12 5 19 12 12 19"></polyline>',"arrow-up-circle":'<circle cx="12" cy="12" r="10"></circle><polyline points="16 12 12 8 8 12"></polyline><line x1="12" y1="16" x2="12" y2="8"></line>',"arrow-up-left":'<line x1="17" y1="17" x2="7" y2="7"></line><polyline points="7 17 7 7 17 7"></polyline>',"arrow-up-right":'<line x1="7" y1="17" x2="17" y2="7"></line><polyline points="7 7 17 7 17 17"></polyline>',"arrow-up":'<line x1="12" y1="19" x2="12" y2="5"></line><polyline points="5 12 12 5 19 12"></polyline>',"at-sign":'<circle cx="12" cy="12" r="4"></circle><path d="M16 8v5a3 3 0 0 0 6 0v-1a10 10 0 1 0-3.92 7.94"></path>',award:'<circle cx="12" cy="8" r="7"></circle><polyline points="8.21 13.89 7 23 12 20 17 23 15.79 13.88"></polyline>',"bar-chart-2":'<line x1="18" y1="20" x2="18" y2="10"></line><line x1="12" y1="20" x2="12" y2="4"></line><line x1="6" y1="20" x2="6" y2="14"></line>',"bar-chart":'<line x1="12" y1="20" x2="12" y2="10"></line><line x1="18" y1="20" x2="18" y2="4"></line><line x1="6" y1="20" x2="6" y2="16"></line>',"battery-charging":'<path d="M5 18H3a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h3.19M15 6h2a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2h-3.19"></path><line x1="23" y1="13" x2="23" y2="11"></line><polyline points="11 6 7 12 13 12 9 18"></polyline>',battery:'<rect x="1" y="6" width="18" height="12" rx="2" ry="2"></rect><line x1="23" y1="13" x2="23" y2="11"></line>',"bell-off":'<path d="M8.56 2.9A7 7 0 0 1 19 9v4m-2 4H2a3 3 0 0 0 3-3V9a7 7 0 0 1 .78-3.22M13.73 21a2 2 0 0 1-3.46 0"></path><line x1="1" y1="1" x2="23" y2="23"></line>',bell:'<path d="M22 17H2a3 3 0 0 0 3-3V9a7 7 0 0 1 14 0v5a3 3 0 0 0 3 3zm-8.27 4a2 2 0 0 1-3.46 0"></path>',bluetooth:'<polyline points="6.5 6.5 17.5 17.5 12 23 12 1 17.5 6.5 6.5 17.5"></polyline>',bold:'<path d="M6 4h8a4 4 0 0 1 4 4 4 4 0 0 1-4 4H6z"></path><path d="M6 12h9a4 4 0 0 1 4 4 4 4 0 0 1-4 4H6z"></path>',"book-open":'<path d="M2 3h6a4 4 0 0 1 4 4v14a3 3 0 0 0-3-3H2z"></path><path d="M22 3h-6a4 4 0 0 0-4 4v14a3 3 0 0 1 3-3h7z"></path>',book:'<path d="M4 19.5A2.5 2.5 0 0 1 6.5 17H20"></path><path d="M6.5 2H20v20H6.5A2.5 2.5 0 0 1 4 19.5v-15A2.5 2.5 0 0 1 6.5 2z"></path>',bookmark:'<path d="M19 21l-7-5-7 5V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2z"></path>',box:'<path d="M12.89 1.45l8 4A2 2 0 0 1 22 7.24v9.53a2 2 0 0 1-1.11 1.79l-8 4a2 2 0 0 1-1.79 0l-8-4a2 2 0 0 1-1.1-1.8V7.24a2 2 0 0 1 1.11-1.79l8-4a2 2 0 0 1 1.78 0z"></path><polyline points="2.32 6.16 12 11 21.68 6.16"></polyline><line x1="12" y1="22.76" x2="12" y2="11"></line>',briefcase:'<rect x="2" y="7" width="20" height="14" rx="2" ry="2"></rect><path d="M16 21V5a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v16"></path>',calendar:'<rect x="3" y="4" width="18" height="18" rx="2" ry="2"></rect><line x1="16" y1="2" x2="16" y2="6"></line><line x1="8" y1="2" x2="8" y2="6"></line><line x1="3" y1="10" x2="21" y2="10"></line>',"camera-off":'<line x1="1" y1="1" x2="23" y2="23"></line><path d="M21 21H3a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h3m3-3h6l2 3h4a2 2 0 0 1 2 2v9.34m-7.72-2.06a4 4 0 1 1-5.56-5.56"></path>',camera:'<path d="M23 19a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h4l2-3h6l2 3h4a2 2 0 0 1 2 2z"></path><circle cx="12" cy="13" r="4"></circle>',cast:'<path d="M2 16.1A5 5 0 0 1 5.9 20M2 12.05A9 9 0 0 1 9.95 20M2 8V6a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2h-6"></path><line x1="2" y1="20" x2="2" y2="20"></line>',"check-circle":'<path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"></path><polyline points="22 4 12 14.01 9 11.01"></polyline>',"check-square":'<polyline points="9 11 12 14 22 4"></polyline><path d="M21 12v7a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11"></path>',check:'<polyline points="20 6 9 17 4 12"></polyline>',"chevron-down":'<polyline points="6 9 12 15 18 9"></polyline>',"chevron-left":'<polyline points="15 18 9 12 15 6"></polyline>',"chevron-right":'<polyline points="9 18 15 12 9 6"></polyline>',"chevron-up":'<polyline points="18 15 12 9 6 15"></polyline>',"chevrons-down":'<polyline points="7 13 12 18 17 13"></polyline><polyline points="7 6 12 11 17 6"></polyline>',"chevrons-left":'<polyline points="11 17 6 12 11 7"></polyline><polyline points="18 17 13 12 18 7"></polyline>',"chevrons-right":'<polyline points="13 17 18 12 13 7"></polyline><polyline points="6 17 11 12 6 7"></polyline>',"chevrons-up":'<polyline points="17 11 12 6 7 11"></polyline><polyline points="17 18 12 13 7 18"></polyline>',chrome:'<circle cx="12" cy="12" r="10"></circle><circle cx="12" cy="12" r="4"></circle><line x1="21.17" y1="8" x2="12" y2="8"></line><line x1="3.95" y1="6.06" x2="8.54" y2="14"></line><line x1="10.88" y1="21.94" x2="15.46" y2="14"></line>',circle:'<circle cx="12" cy="12" r="10"></circle>',clipboard:'<path d="M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2"></path><rect x="8" y="2" width="8" height="4" rx="1" ry="1"></rect>',clock:'<circle cx="12" cy="12" r="10"></circle><polyline points="12 6 12 12 16 14"></polyline>',"cloud-drizzle":'<line x1="8" y1="19" x2="8" y2="21"></line><line x1="8" y1="13" x2="8" y2="15"></line><line x1="16" y1="19" x2="16" y2="21"></line><line x1="16" y1="13" x2="16" y2="15"></line><line x1="12" y1="21" x2="12" y2="23"></line><line x1="12" y1="15" x2="12" y2="17"></line><path d="M20 16.58A5 5 0 0 0 18 7h-1.26A8 8 0 1 0 4 15.25"></path>',"cloud-lightning":'<path d="M19 16.9A5 5 0 0 0 18 7h-1.26a8 8 0 1 0-11.62 9"></path><polyline points="13 11 9 17 15 17 11 23"></polyline>',"cloud-off":'<path d="M22.61 16.95A5 5 0 0 0 18 10h-1.26a8 8 0 0 0-7.05-6M5 5a8 8 0 0 0 4 15h9a5 5 0 0 0 1.7-.3"></path><line x1="1" y1="1" x2="23" y2="23"></line>',"cloud-rain":'<line x1="16" y1="13" x2="16" y2="21"></line><line x1="8" y1="13" x2="8" y2="21"></line><line x1="12" y1="15" x2="12" y2="23"></line><path d="M20 16.58A5 5 0 0 0 18 7h-1.26A8 8 0 1 0 4 15.25"></path>',"cloud-snow":'<path d="M20 17.58A5 5 0 0 0 18 8h-1.26A8 8 0 1 0 4 16.25"></path><line x1="8" y1="16" x2="8" y2="16"></line><line x1="8" y1="20" x2="8" y2="20"></line><line x1="12" y1="18" x2="12" y2="18"></line><line x1="12" y1="22" x2="12" y2="22"></line><line x1="16" y1="16" x2="16" y2="16"></line><line x1="16" y1="20" x2="16" y2="20"></line>',cloud:'<path d="M18 10h-1.26A8 8 0 1 0 9 20h9a5 5 0 0 0 0-10z"></path>',code:'<polyline points="16 18 22 12 16 6"></polyline><polyline points="8 6 2 12 8 18"></polyline>',codepen:'<polygon points="12 2 22 8.5 22 15.5 12 22 2 15.5 2 8.5 12 2"></polygon><line x1="12" y1="22" x2="12" y2="15.5"></line><polyline points="22 8.5 12 15.5 2 8.5"></polyline><polyline points="2 15.5 12 8.5 22 15.5"></polyline><line x1="12" y1="2" x2="12" y2="8.5"></line>',command:'<path d="M18 3a3 3 0 0 0-3 3v12a3 3 0 0 0 3 3 3 3 0 0 0 3-3 3 3 0 0 0-3-3H6a3 3 0 0 0-3 3 3 3 0 0 0 3 3 3 3 0 0 0 3-3V6a3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3h12a3 3 0 0 0 3-3 3 3 0 0 0-3-3z"></path>',compass:'<circle cx="12" cy="12" r="10"></circle><polygon points="16.24 7.76 14.12 14.12 7.76 16.24 9.88 9.88 16.24 7.76"></polygon>',copy:'<rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path>',"corner-down-left":'<polyline points="9 10 4 15 9 20"></polyline><path d="M20 4v7a4 4 0 0 1-4 4H4"></path>',"corner-down-right":'<polyline points="15 10 20 15 15 20"></polyline><path d="M4 4v7a4 4 0 0 0 4 4h12"></path>',"corner-left-down":'<polyline points="14 15 9 20 4 15"></polyline><path d="M20 4h-7a4 4 0 0 0-4 4v12"></path>',"corner-left-up":'<polyline points="14 9 9 4 4 9"></polyline><path d="M20 20h-7a4 4 0 0 1-4-4V4"></path>',"corner-right-down":'<polyline points="10 15 15 20 20 15"></polyline><path d="M4 4h7a4 4 0 0 1 4 4v12"></path>',"corner-right-up":'<polyline points="10 9 15 4 20 9"></polyline><path d="M4 20h7a4 4 0 0 0 4-4V4"></path>',"corner-up-left":'<polyline points="9 14 4 9 9 4"></polyline><path d="M20 20v-7a4 4 0 0 0-4-4H4"></path>',"corner-up-right":'<polyline points="15 14 20 9 15 4"></polyline><path d="M4 20v-7a4 4 0 0 1 4-4h12"></path>',cpu:'<rect x="4" y="4" width="16" height="16" rx="2" ry="2"></rect><rect x="9" y="9" width="6" height="6"></rect><line x1="9" y1="1" x2="9" y2="4"></line><line x1="15" y1="1" x2="15" y2="4"></line><line x1="9" y1="20" x2="9" y2="23"></line><line x1="15" y1="20" x2="15" y2="23"></line><line x1="20" y1="9" x2="23" y2="9"></line><line x1="20" y1="14" x2="23" y2="14"></line><line x1="1" y1="9" x2="4" y2="9"></line><line x1="1" y1="14" x2="4" y2="14"></line>',"credit-card":'<rect x="1" y="4" width="22" height="16" rx="2" ry="2"></rect><line x1="1" y1="10" x2="23" y2="10"></line>',crop:'<path d="M6.13 1L6 16a2 2 0 0 0 2 2h15"></path><path d="M1 6.13L16 6a2 2 0 0 1 2 2v15"></path>',crosshair:'<circle cx="12" cy="12" r="10"></circle><line x1="22" y1="12" x2="18" y2="12"></line><line x1="6" y1="12" x2="2" y2="12"></line><line x1="12" y1="6" x2="12" y2="2"></line><line x1="12" y1="22" x2="12" y2="18"></line>',database:'<ellipse cx="12" cy="5" rx="9" ry="3"></ellipse><path d="M21 12c0 1.66-4 3-9 3s-9-1.34-9-3"></path><path d="M3 5v14c0 1.66 4 3 9 3s9-1.34 9-3V5"></path>',delete:'<path d="M21 4H8l-7 8 7 8h13a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2z"></path><line x1="18" y1="9" x2="12" y2="15"></line><line x1="12" y1="9" x2="18" y2="15"></line>',disc:'<circle cx="12" cy="12" r="10"></circle><circle cx="12" cy="12" r="3"></circle>',"dollar-sign":'<line x1="12" y1="1" x2="12" y2="23"></line><path d="M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"></path>',"download-cloud":'<polyline points="8 17 12 21 16 17"></polyline><line x1="12" y1="12" x2="12" y2="21"></line><path d="M20.88 18.09A5 5 0 0 0 18 9h-1.26A8 8 0 1 0 3 16.29"></path>',download:'<path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"></path><polyline points="7 10 12 15 17 10"></polyline><line x1="12" y1="15" x2="12" y2="3"></line>',droplet:'<path d="M12 2.69l5.66 5.66a8 8 0 1 1-11.31 0z"></path>',"edit-2":'<polygon points="16 3 21 8 8 21 3 21 3 16 16 3"></polygon>',"edit-3":'<polygon points="14 2 18 6 7 17 3 17 3 13 14 2"></polygon><line x1="3" y1="22" x2="21" y2="22"></line>',edit:'<path d="M20 14.66V20a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h5.34"></path><polygon points="18 2 22 6 12 16 8 16 8 12 18 2"></polygon>',"external-link":'<path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"></path><polyline points="15 3 21 3 21 9"></polyline><line x1="10" y1="14" x2="21" y2="3"></line>',"eye-off":'<path d="M17.94 17.94A10.07 10.07 0 0 1 12 20c-7 0-11-8-11-8a18.45 18.45 0 0 1 5.06-5.94M9.9 4.24A9.12 9.12 0 0 1 12 4c7 0 11 8 11 8a18.5 18.5 0 0 1-2.16 3.19m-6.72-1.07a3 3 0 1 1-4.24-4.24"></path><line x1="1" y1="1" x2="23" y2="23"></line>',eye:'<path d="M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z"></path><circle cx="12" cy="12" r="3"></circle>',facebook:'<path d="M18 2h-3a5 5 0 0 0-5 5v3H7v4h3v8h4v-8h3l1-4h-4V7a1 1 0 0 1 1-1h3z"></path>',"fast-forward":'<polygon points="13 19 22 12 13 5 13 19"></polygon><polygon points="2 19 11 12 2 5 2 19"></polygon>',feather:'<path d="M20.24 12.24a6 6 0 0 0-8.49-8.49L5 10.5V19h8.5z"></path><line x1="16" y1="8" x2="2" y2="22"></line><line x1="17" y1="15" x2="9" y2="15"></line>',"file-minus":'<path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"></path><polyline points="14 2 14 8 20 8"></polyline><line x1="9" y1="15" x2="15" y2="15"></line>',"file-plus":'<path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"></path><polyline points="14 2 14 8 20 8"></polyline><line x1="12" y1="18" x2="12" y2="12"></line><line x1="9" y1="15" x2="15" y2="15"></line>',"file-text":'<path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"></path><polyline points="14 2 14 8 20 8"></polyline><line x1="16" y1="13" x2="8" y2="13"></line><line x1="16" y1="17" x2="8" y2="17"></line><polyline points="10 9 9 9 8 9"></polyline>',file:'<path d="M13 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V9z"></path><polyline points="13 2 13 9 20 9"></polyline>',film:'<rect x="2" y="2" width="20" height="20" rx="2.18" ry="2.18"></rect><line x1="7" y1="2" x2="7" y2="22"></line><line x1="17" y1="2" x2="17" y2="22"></line><line x1="2" y1="12" x2="22" y2="12"></line><line x1="2" y1="7" x2="7" y2="7"></line><line x1="2" y1="17" x2="7" y2="17"></line><line x1="17" y1="17" x2="22" y2="17"></line><line x1="17" y1="7" x2="22" y2="7"></line>',filter:'<polygon points="22 3 2 3 10 12.46 10 19 14 21 14 12.46 22 3"></polygon>',flag:'<path d="M4 15s1-1 4-1 5 2 8 2 4-1 4-1V3s-1 1-4 1-5-2-8-2-4 1-4 1z"></path><line x1="4" y1="22" x2="4" y2="15"></line>',"folder-minus":'<path d="M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z"></path><line x1="9" y1="14" x2="15" y2="14"></line>',"folder-plus":'<path d="M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z"></path><line x1="12" y1="11" x2="12" y2="17"></line><line x1="9" y1="14" x2="15" y2="14"></line>',folder:'<path d="M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z"></path>',gift:'<polyline points="20 12 20 22 4 22 4 12"></polyline><rect x="2" y="7" width="20" height="5"></rect><line x1="12" y1="22" x2="12" y2="7"></line><path d="M12 7H7.5a2.5 2.5 0 0 1 0-5C11 2 12 7 12 7z"></path><path d="M12 7h4.5a2.5 2.5 0 0 0 0-5C13 2 12 7 12 7z"></path>',"git-branch":'<line x1="6" y1="3" x2="6" y2="15"></line><circle cx="18" cy="6" r="3"></circle><circle cx="6" cy="18" r="3"></circle><path d="M18 9a9 9 0 0 1-9 9"></path>',"git-commit":'<circle cx="12" cy="12" r="4"></circle><line x1="1.05" y1="12" x2="7" y2="12"></line><line x1="17.01" y1="12" x2="22.96" y2="12"></line>',"git-merge":'<circle cx="18" cy="18" r="3"></circle><circle cx="6" cy="6" r="3"></circle><path d="M6 21V9a9 9 0 0 0 9 9"></path>',"git-pull-request":'<circle cx="18" cy="18" r="3"></circle><circle cx="6" cy="6" r="3"></circle><path d="M13 6h3a2 2 0 0 1 2 2v7"></path><line x1="6" y1="9" x2="6" y2="21"></line>',github:'<path d="M9 19c-5 1.5-5-2.5-7-3m14 6v-3.87a3.37 3.37 0 0 0-.94-2.61c3.14-.35 6.44-1.54 6.44-7A5.44 5.44 0 0 0 20 4.77 5.07 5.07 0 0 0 19.91 1S18.73.65 16 2.48a13.38 13.38 0 0 0-7 0C6.27.65 5.09 1 5.09 1A5.07 5.07 0 0 0 5 4.77a5.44 5.44 0 0 0-1.5 3.78c0 5.42 3.3 6.61 6.44 7A3.37 3.37 0 0 0 9 18.13V22"></path>',gitlab:'<path d="M22.65 14.39L12 22.13 1.35 14.39a.84.84 0 0 1-.3-.94l1.22-3.78 2.44-7.51A.42.42 0 0 1 4.82 2a.43.43 0 0 1 .58 0 .42.42 0 0 1 .11.18l2.44 7.49h8.1l2.44-7.51A.42.42 0 0 1 18.6 2a.43.43 0 0 1 .58 0 .42.42 0 0 1 .11.18l2.44 7.51L23 13.45a.84.84 0 0 1-.35.94z"></path>',globe:'<circle cx="12" cy="12" r="10"></circle><line x1="2" y1="12" x2="22" y2="12"></line><path d="M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z"></path>',grid:'<rect x="3" y="3" width="7" height="7"></rect><rect x="14" y="3" width="7" height="7"></rect><rect x="14" y="14" width="7" height="7"></rect><rect x="3" y="14" width="7" height="7"></rect>',"hard-drive":'<line x1="22" y1="12" x2="2" y2="12"></line><path d="M5.45 5.11L2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z"></path><line x1="6" y1="16" x2="6" y2="16"></line><line x1="10" y1="16" x2="10" y2="16"></line>',hash:'<line x1="4" y1="9" x2="20" y2="9"></line><line x1="4" y1="15" x2="20" y2="15"></line><line x1="10" y1="3" x2="8" y2="21"></line><line x1="16" y1="3" x2="14" y2="21"></line>',headphones:'<path d="M3 18v-6a9 9 0 0 1 18 0v6"></path><path d="M21 19a2 2 0 0 1-2 2h-1a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2h3zM3 19a2 2 0 0 0 2 2h1a2 2 0 0 0 2-2v-3a2 2 0 0 0-2-2H3z"></path>',heart:'<path d="M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z"></path>',"help-circle":'<circle cx="12" cy="12" r="10"></circle><path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path><line x1="12" y1="17" x2="12" y2="17"></line>',home:'<path d="M3 9l9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"></path><polyline points="9 22 9 12 15 12 15 22"></polyline>',image:'<rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect><circle cx="8.5" cy="8.5" r="1.5"></circle><polyline points="21 15 16 10 5 21"></polyline>',inbox:'<polyline points="22 12 16 12 14 15 10 15 8 12 2 12"></polyline><path d="M5.45 5.11L2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z"></path>',info:'<circle cx="12" cy="12" r="10"></circle><line x1="12" y1="16" x2="12" y2="12"></line><line x1="12" y1="8" x2="12" y2="8"></line>',instagram:'<rect x="2" y="2" width="20" height="20" rx="5" ry="5"></rect><path d="M16 11.37A4 4 0 1 1 12.63 8 4 4 0 0 1 16 11.37z"></path><line x1="17.5" y1="6.5" x2="17.5" y2="6.5"></line>',italic:'<line x1="19" y1="4" x2="10" y2="4"></line><line x1="14" y1="20" x2="5" y2="20"></line><line x1="15" y1="4" x2="9" y2="20"></line>',layers:'<polygon points="12 2 2 7 12 12 22 7 12 2"></polygon><polyline points="2 17 12 22 22 17"></polyline><polyline points="2 12 12 17 22 12"></polyline>',layout:'<rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect><line x1="3" y1="9" x2="21" y2="9"></line><line x1="9" y1="21" x2="9" y2="9"></line>',"life-buoy":'<circle cx="12" cy="12" r="10"></circle><circle cx="12" cy="12" r="4"></circle><line x1="4.93" y1="4.93" x2="9.17" y2="9.17"></line><line x1="14.83" y1="14.83" x2="19.07" y2="19.07"></line><line x1="14.83" y1="9.17" x2="19.07" y2="4.93"></line><line x1="14.83" y1="9.17" x2="18.36" y2="5.64"></line><line x1="4.93" y1="19.07" x2="9.17" y2="14.83"></line>',"link-2":'<path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"></path><line x1="8" y1="12" x2="16" y2="12"></line>',link:'<path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path>',linkedin:'<path d="M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6z"></path><rect x="2" y="9" width="4" height="12"></rect><circle cx="4" cy="4" r="2"></circle>',list:'<line x1="8" y1="6" x2="21" y2="6"></line><line x1="8" y1="12" x2="21" y2="12"></line><line x1="8" y1="18" x2="21" y2="18"></line><line x1="3" y1="6" x2="3" y2="6"></line><line x1="3" y1="12" x2="3" y2="12"></line><line x1="3" y1="18" x2="3" y2="18"></line>',loader:'<line x1="12" y1="2" x2="12" y2="6"></line><line x1="12" y1="18" x2="12" y2="22"></line><line x1="4.93" y1="4.93" x2="7.76" y2="7.76"></line><line x1="16.24" y1="16.24" x2="19.07" y2="19.07"></line><line x1="2" y1="12" x2="6" y2="12"></line><line x1="18" y1="12" x2="22" y2="12"></line><line x1="4.93" y1="19.07" x2="7.76" y2="16.24"></line><line x1="16.24" y1="7.76" x2="19.07" y2="4.93"></line>',lock:'<rect x="3" y="11" width="18" height="11" rx="2" ry="2"></rect><path d="M7 11V7a5 5 0 0 1 10 0v4"></path>',"log-in":'<path d="M15 3h4a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-4"></path><polyline points="10 17 15 12 10 7"></polyline><line x1="15" y1="12" x2="3" y2="12"></line>',"log-out":'<path d="M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4"></path><polyline points="16 17 21 12 16 7"></polyline><line x1="21" y1="12" x2="9" y2="12"></line>',mail:'<path d="M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z"></path><polyline points="22,6 12,13 2,6"></polyline>',"map-pin":'<path d="M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z"></path><circle cx="12" cy="10" r="3"></circle>',map:'<polygon points="1 6 1 22 8 18 16 22 23 18 23 2 16 6 8 2 1 6"></polygon><line x1="8" y1="2" x2="8" y2="18"></line><line x1="16" y1="6" x2="16" y2="22"></line>',"maximize-2":'<polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" y1="3" x2="14" y2="10"></line><line x1="3" y1="21" x2="10" y2="14"></line>',maximize:'<path d="M8 3H5a2 2 0 0 0-2 2v3m18 0V5a2 2 0 0 0-2-2h-3m0 18h3a2 2 0 0 0 2-2v-3M3 16v3a2 2 0 0 0 2 2h3"></path>',menu:'<line x1="3" y1="12" x2="21" y2="12"></line><line x1="3" y1="6" x2="21" y2="6"></line><line x1="3" y1="18" x2="21" y2="18"></line>',"message-circle":'<path d="M21 11.5a8.38 8.38 0 0 1-.9 3.8 8.5 8.5 0 0 1-7.6 4.7 8.38 8.38 0 0 1-3.8-.9L3 21l1.9-5.7a8.38 8.38 0 0 1-.9-3.8 8.5 8.5 0 0 1 4.7-7.6 8.38 8.38 0 0 1 3.8-.9h.5a8.48 8.48 0 0 1 8 8v.5z"></path>',"message-square":'<path d="M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"></path>',"mic-off":'<line x1="1" y1="1" x2="23" y2="23"></line><path d="M9 9v3a3 3 0 0 0 5.12 2.12M15 9.34V4a3 3 0 0 0-5.94-.6"></path><path d="M17 16.95A7 7 0 0 1 5 12v-2m14 0v2a7 7 0 0 1-.11 1.23"></path><line x1="12" y1="19" x2="12" y2="23"></line><line x1="8" y1="23" x2="16" y2="23"></line>',mic:'<path d="M12 1a3 3 0 0 0-3 3v8a3 3 0 0 0 6 0V4a3 3 0 0 0-3-3z"></path><path d="M19 10v2a7 7 0 0 1-14 0v-2"></path><line x1="12" y1="19" x2="12" y2="23"></line><line x1="8" y1="23" x2="16" y2="23"></line>',"minimize-2":'<polyline points="4 14 10 14 10 20"></polyline><polyline points="20 10 14 10 14 4"></polyline><line x1="14" y1="10" x2="21" y2="3"></line><line x1="3" y1="21" x2="10" y2="14"></line>',minimize:'<path d="M8 3v3a2 2 0 0 1-2 2H3m18 0h-3a2 2 0 0 1-2-2V3m0 18v-3a2 2 0 0 1 2-2h3M3 16h3a2 2 0 0 1 2 2v3"></path>',"minus-circle":'<circle cx="12" cy="12" r="10"></circle><line x1="8" y1="12" x2="16" y2="12"></line>',"minus-square":'<rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect><line x1="8" y1="12" x2="16" y2="12"></line>',minus:'<line x1="5" y1="12" x2="19" y2="12"></line>',monitor:'<rect x="2" y="3" width="20" height="14" rx="2" ry="2"></rect><line x1="8" y1="21" x2="16" y2="21"></line><line x1="12" y1="17" x2="12" y2="21"></line>',moon:'<path d="M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"></path>',"more-horizontal":'<circle cx="12" cy="12" r="1"></circle><circle cx="19" cy="12" r="1"></circle><circle cx="5" cy="12" r="1"></circle>',"more-vertical":'<circle cx="12" cy="12" r="1"></circle><circle cx="12" cy="5" r="1"></circle><circle cx="12" cy="19" r="1"></circle>',move:'<polyline points="5 9 2 12 5 15"></polyline><polyline points="9 5 12 2 15 5"></polyline><polyline points="15 19 12 22 9 19"></polyline><polyline points="19 9 22 12 19 15"></polyline><line x1="2" y1="12" x2="22" y2="12"></line><line x1="12" y1="2" x2="12" y2="22"></line>',music:'<path d="M9 17H5a2 2 0 0 0-2 2 2 2 0 0 0 2 2h2a2 2 0 0 0 2-2zm12-2h-4a2 2 0 0 0-2 2 2 2 0 0 0 2 2h2a2 2 0 0 0 2-2z"></path><polyline points="9 17 9 5 21 3 21 15"></polyline>',"navigation-2":'<polygon points="12 2 19 21 12 17 5 21 12 2"></polygon>',navigation:'<polygon points="3 11 22 2 13 21 11 13 3 11"></polygon>',octagon:'<polygon points="7.86 2 16.14 2 22 7.86 22 16.14 16.14 22 7.86 22 2 16.14 2 7.86 7.86 2"></polygon>',package:'<path d="M12.89 1.45l8 4A2 2 0 0 1 22 7.24v9.53a2 2 0 0 1-1.11 1.79l-8 4a2 2 0 0 1-1.79 0l-8-4a2 2 0 0 1-1.1-1.8V7.24a2 2 0 0 1 1.11-1.79l8-4a2 2 0 0 1 1.78 0z"></path><polyline points="2.32 6.16 12 11 21.68 6.16"></polyline><line x1="12" y1="22.76" x2="12" y2="11"></line><line x1="7" y1="3.5" x2="17" y2="8.5"></line>',paperclip:'<path d="M21.44 11.05l-9.19 9.19a6 6 0 0 1-8.49-8.49l9.19-9.19a4 4 0 0 1 5.66 5.66l-9.2 9.19a2 2 0 0 1-2.83-2.83l8.49-8.48"></path>',"pause-circle":'<circle cx="12" cy="12" r="10"></circle><line x1="10" y1="15" x2="10" y2="9"></line><line x1="14" y1="15" x2="14" y2="9"></line>',pause:'<rect x="6" y="4" width="4" height="16"></rect><rect x="14" y="4" width="4" height="16"></rect>',percent:'<line x1="19" y1="5" x2="5" y2="19"></line><circle cx="6.5" cy="6.5" r="2.5"></circle><circle cx="17.5" cy="17.5" r="2.5"></circle>',"phone-call":'<path d="M15.05 5A5 5 0 0 1 19 8.95M15.05 1A9 9 0 0 1 23 8.94m-1 7.98v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z"></path>',"phone-forwarded":'<polyline points="19 1 23 5 19 9"></polyline><line x1="15" y1="5" x2="23" y2="5"></line><path d="M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z"></path>',"phone-incoming":'<polyline points="16 2 16 8 22 8"></polyline><line x1="23" y1="1" x2="16" y2="8"></line><path d="M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z"></path>',"phone-missed":'<line x1="23" y1="1" x2="17" y2="7"></line><line x1="17" y1="1" x2="23" y2="7"></line><path d="M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z"></path>',"phone-off":'<path d="M10.68 13.31a16 16 0 0 0 3.41 2.6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7 2 2 0 0 1 1.72 2v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.42 19.42 0 0 1-3.33-2.67m-2.67-3.34a19.79 19.79 0 0 1-3.07-8.63A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91"></path><line x1="23" y1="1" x2="1" y2="23"></line>',"phone-outgoing":'<polyline points="23 7 23 1 17 1"></polyline><line x1="16" y1="8" x2="23" y2="1"></line><path d="M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z"></path>',phone:'<path d="M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z"></path>',"pie-chart":'<path d="M21.21 15.89A10 10 0 1 1 8 2.83"></path><path d="M22 12A10 10 0 0 0 12 2v10z"></path>',"play-circle":'<circle cx="12" cy="12" r="10"></circle><polygon points="10 8 16 12 10 16 10 8"></polygon>',play:'<polygon points="5 3 19 12 5 21 5 3"></polygon>',"plus-circle":'<circle cx="12" cy="12" r="10"></circle><line x1="12" y1="8" x2="12" y2="16"></line><line x1="8" y1="12" x2="16" y2="12"></line>',"plus-square":'<rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect><line x1="12" y1="8" x2="12" y2="16"></line><line x1="8" y1="12" x2="16" y2="12"></line>',plus:'<line x1="12" y1="5" x2="12" y2="19"></line><line x1="5" y1="12" x2="19" y2="12"></line>',pocket:'<path d="M4 3h16a2 2 0 0 1 2 2v6a10 10 0 0 1-10 10A10 10 0 0 1 2 11V5a2 2 0 0 1 2-2z"></path><polyline points="8 10 12 14 16 10"></polyline>',power:'<path d="M18.36 6.64a9 9 0 1 1-12.73 0"></path><line x1="12" y1="2" x2="12" y2="12"></line>',printer:'<polyline points="6 9 6 2 18 2 18 9"></polyline><path d="M6 18H4a2 2 0 0 1-2-2v-5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2h-2"></path><rect x="6" y="14" width="12" height="8"></rect>',radio:'<circle cx="12" cy="12" r="2"></circle><path d="M16.24 7.76a6 6 0 0 1 0 8.49m-8.48-.01a6 6 0 0 1 0-8.49m11.31-2.82a10 10 0 0 1 0 14.14m-14.14 0a10 10 0 0 1 0-14.14"></path>',"refresh-ccw":'<polyline points="1 4 1 10 7 10"></polyline><polyline points="23 20 23 14 17 14"></polyline><path d="M20.49 9A9 9 0 0 0 5.64 5.64L1 10m22 4l-4.64 4.36A9 9 0 0 1 3.51 15"></path>',"refresh-cw":'<polyline points="23 4 23 10 17 10"></polyline><polyline points="1 20 1 14 7 14"></polyline><path d="M3.51 9a9 9 0 0 1 14.85-3.36L23 10M1 14l4.64 4.36A9 9 0 0 0 20.49 15"></path>',repeat:'<polyline points="17 1 21 5 17 9"></polyline><path d="M3 11V9a4 4 0 0 1 4-4h14"></path><polyline points="7 23 3 19 7 15"></polyline><path d="M21 13v2a4 4 0 0 1-4 4H3"></path>',rewind:'<polygon points="11 19 2 12 11 5 11 19"></polygon><polygon points="22 19 13 12 22 5 22 19"></polygon>',"rotate-ccw":'<polyline points="1 4 1 10 7 10"></polyline><path d="M3.51 15a9 9 0 1 0 2.13-9.36L1 10"></path>',"rotate-cw":'<polyline points="23 4 23 10 17 10"></polyline><path d="M20.49 15a9 9 0 1 1-2.12-9.36L23 10"></path>',rss:'<path d="M4 11a9 9 0 0 1 9 9"></path><path d="M4 4a16 16 0 0 1 16 16"></path><circle cx="5" cy="19" r="1"></circle>',save:'<path d="M19 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11l5 5v11a2 2 0 0 1-2 2z"></path><polyline points="17 21 17 13 7 13 7 21"></polyline><polyline points="7 3 7 8 15 8"></polyline>',scissors:'<circle cx="6" cy="6" r="3"></circle><circle cx="6" cy="18" r="3"></circle><line x1="20" y1="4" x2="8.12" y2="15.88"></line><line x1="14.47" y1="14.48" x2="20" y2="20"></line><line x1="8.12" y1="8.12" x2="12" y2="12"></line>',search:'<circle cx="11" cy="11" r="8"></circle><line x1="21" y1="21" x2="16.65" y2="16.65"></line>',send:'<line x1="22" y1="2" x2="11" y2="13"></line><polygon points="22 2 15 22 11 13 2 9 22 2"></polygon>',server:'<rect x="2" y="2" width="20" height="8" rx="2" ry="2"></rect><rect x="2" y="14" width="20" height="8" rx="2" ry="2"></rect><line x1="6" y1="6" x2="6" y2="6"></line><line x1="6" y1="18" x2="6" y2="18"></line>',settings:'<circle cx="12" cy="12" r="3"></circle><path d="M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 0 1 0 2.83 2 2 0 0 1-2.83 0l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-2 2 2 2 0 0 1-2-2v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 0 1-2.83 0 2 2 0 0 1 0-2.83l.06-.06a1.65 1.65 0 0 0 .33-1.82 1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1-2-2 2 2 0 0 1 2-2h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 0 1 0-2.83 2 2 0 0 1 2.83 0l.06.06a1.65 1.65 0 0 0 1.82.33H9a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 2-2 2 2 0 0 1 2 2v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 0 1 2.83 0 2 2 0 0 1 0 2.83l-.06.06a1.65 1.65 0 0 0-.33 1.82V9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 2 2 2 2 0 0 1-2 2h-.09a1.65 1.65 0 0 0-1.51 1z"></path>',"share-2":'<circle cx="18" cy="5" r="3"></circle><circle cx="6" cy="12" r="3"></circle><circle cx="18" cy="19" r="3"></circle><line x1="8.59" y1="13.51" x2="15.42" y2="17.49"></line><line x1="15.41" y1="6.51" x2="8.59" y2="10.49"></line>',share:'<path d="M4 12v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-8"></path><polyline points="16 6 12 2 8 6"></polyline><line x1="12" y1="2" x2="12" y2="15"></line>',"shield-off":'<path d="M19.69 14a6.9 6.9 0 0 0 .31-2V5l-8-3-3.16 1.18"></path><path d="M4.73 4.73L4 5v7c0 6 8 10 8 10a20.29 20.29 0 0 0 5.62-4.38"></path><line x1="1" y1="1" x2="23" y2="23"></line>',shield:'<path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"></path>',"shopping-bag":'<path d="M6 2L3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6l-3-4z"></path><line x1="3" y1="6" x2="21" y2="6"></line><path d="M16 10a4 4 0 0 1-8 0"></path>',"shopping-cart":'<circle cx="9" cy="21" r="1"></circle><circle cx="20" cy="21" r="1"></circle><path d="M1 1h4l2.68 13.39a2 2 0 0 0 2 1.61h9.72a2 2 0 0 0 2-1.61L23 6H6"></path>',shuffle:'<polyline points="16 3 21 3 21 8"></polyline><line x1="4" y1="20" x2="21" y2="3"></line><polyline points="21 16 21 21 16 21"></polyline><line x1="15" y1="15" x2="21" y2="21"></line><line x1="4" y1="4" x2="9" y2="9"></line>',sidebar:'<rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect><line x1="9" y1="3" x2="9" y2="21"></line>',"skip-back":'<polygon points="19 20 9 12 19 4 19 20"></polygon><line x1="5" y1="19" x2="5" y2="5"></line>',"skip-forward":'<polygon points="5 4 15 12 5 20 5 4"></polygon><line x1="19" y1="5" x2="19" y2="19"></line>',slack:'<path d="M22.08 9C19.81 1.41 16.54-.35 9 1.92S-.35 7.46 1.92 15 7.46 24.35 15 22.08 24.35 16.54 22.08 9z"></path><line x1="12.57" y1="5.99" x2="16.15" y2="16.39"></line><line x1="7.85" y1="7.61" x2="11.43" y2="18.01"></line><line x1="16.39" y1="7.85" x2="5.99" y2="11.43"></line><line x1="18.01" y1="12.57" x2="7.61" y2="16.15"></line>',slash:'<circle cx="12" cy="12" r="10"></circle><line x1="4.93" y1="4.93" x2="19.07" y2="19.07"></line>',sliders:'<line x1="4" y1="21" x2="4" y2="14"></line><line x1="4" y1="10" x2="4" y2="3"></line><line x1="12" y1="21" x2="12" y2="12"></line><line x1="12" y1="8" x2="12" y2="3"></line><line x1="20" y1="21" x2="20" y2="16"></line><line x1="20" y1="12" x2="20" y2="3"></line><line x1="1" y1="14" x2="7" y2="14"></line><line x1="9" y1="8" x2="15" y2="8"></line><line x1="17" y1="16" x2="23" y2="16"></line>',smartphone:'<rect x="5" y="2" width="14" height="20" rx="2" ry="2"></rect><line x1="12" y1="18" x2="12" y2="18"></line>',speaker:'<rect x="4" y="2" width="16" height="20" rx="2" ry="2"></rect><circle cx="12" cy="14" r="4"></circle><line x1="12" y1="6" x2="12" y2="6"></line>',square:'<rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect>',star:'<polygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2"></polygon>',"stop-circle":'<circle cx="12" cy="12" r="10"></circle><rect x="9" y="9" width="6" height="6"></rect>',sun:'<circle cx="12" cy="12" r="5"></circle><line x1="12" y1="1" x2="12" y2="3"></line><line x1="12" y1="21" x2="12" y2="23"></line><line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line><line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line><line x1="1" y1="12" x2="3" y2="12"></line><line x1="21" y1="12" x2="23" y2="12"></line><line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line><line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line>',sunrise:'<path d="M17 18a5 5 0 0 0-10 0"></path><line x1="12" y1="2" x2="12" y2="9"></line><line x1="4.22" y1="10.22" x2="5.64" y2="11.64"></line><line x1="1" y1="18" x2="3" y2="18"></line><line x1="21" y1="18" x2="23" y2="18"></line><line x1="18.36" y1="11.64" x2="19.78" y2="10.22"></line><line x1="23" y1="22" x2="1" y2="22"></line><polyline points="8 6 12 2 16 6"></polyline>',sunset:'<path d="M17 18a5 5 0 0 0-10 0"></path><line x1="12" y1="9" x2="12" y2="2"></line><line x1="4.22" y1="10.22" x2="5.64" y2="11.64"></line><line x1="1" y1="18" x2="3" y2="18"></line><line x1="21" y1="18" x2="23" y2="18"></line><line x1="18.36" y1="11.64" x2="19.78" y2="10.22"></line><line x1="23" y1="22" x2="1" y2="22"></line><polyline points="16 5 12 9 8 5"></polyline>',tablet:'<rect x="4" y="2" width="16" height="20" rx="2" ry="2" transform="rotate(180 12 12)"></rect><line x1="12" y1="18" x2="12" y2="18"></line>',tag:'<path d="M20.59 13.41l-7.17 7.17a2 2 0 0 1-2.83 0L2 12V2h10l8.59 8.59a2 2 0 0 1 0 2.82z"></path><line x1="7" y1="7" x2="7" y2="7"></line>',target:'<circle cx="12" cy="12" r="10"></circle><circle cx="12" cy="12" r="6"></circle><circle cx="12" cy="12" r="2"></circle>',terminal:'<polyline points="4 17 10 11 4 5"></polyline><line x1="12" y1="19" x2="20" y2="19"></line>',thermometer:'<path d="M14 14.76V3.5a2.5 2.5 0 0 0-5 0v11.26a4.5 4.5 0 1 0 5 0z"></path>',"thumbs-down":'<path d="M10 15v4a3 3 0 0 0 3 3l4-9V2H5.72a2 2 0 0 0-2 1.7l-1.38 9a2 2 0 0 0 2 2.3zm7-13h2.67A2.31 2.31 0 0 1 22 4v7a2.31 2.31 0 0 1-2.33 2H17"></path>',"thumbs-up":'<path d="M14 9V5a3 3 0 0 0-3-3l-4 9v11h11.28a2 2 0 0 0 2-1.7l1.38-9a2 2 0 0 0-2-2.3zM7 22H4a2 2 0 0 1-2-2v-7a2 2 0 0 1 2-2h3"></path>',"toggle-left":'<rect x="1" y="5" width="22" height="14" rx="7" ry="7"></rect><circle cx="8" cy="12" r="3"></circle>',"toggle-right":'<rect x="1" y="5" width="22" height="14" rx="7" ry="7"></rect><circle cx="16" cy="12" r="3"></circle>',"trash-2":'<polyline points="3 6 5 6 21 6"></polyline><path d="M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2"></path><line x1="10" y1="11" x2="10" y2="17"></line><line x1="14" y1="11" x2="14" y2="17"></line>',trash:'<polyline points="3 6 5 6 21 6"></polyline><path d="M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2"></path>',"trending-down":'<polyline points="23 18 13.5 8.5 8.5 13.5 1 6"></polyline><polyline points="17 18 23 18 23 12"></polyline>',"trending-up":'<polyline points="23 6 13.5 15.5 8.5 10.5 1 18"></polyline><polyline points="17 6 23 6 23 12"></polyline>',triangle:'<path d="M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"></path>',truck:'<rect x="1" y="3" width="15" height="13"></rect><polygon points="16 8 20 8 23 11 23 16 16 16 16 8"></polygon><circle cx="5.5" cy="18.5" r="2.5"></circle><circle cx="18.5" cy="18.5" r="2.5"></circle>',tv:'<rect x="2" y="7" width="20" height="15" rx="2" ry="2"></rect><polyline points="17 2 12 7 7 2"></polyline>',twitter:'<path d="M23 3a10.9 10.9 0 0 1-3.14 1.53 4.48 4.48 0 0 0-7.86 3v1A10.66 10.66 0 0 1 3 4s-4 9 5 13a11.64 11.64 0 0 1-7 2c9 5 20 0 20-11.5a4.5 4.5 0 0 0-.08-.83A7.72 7.72 0 0 0 23 3z"></path>',type:'<polyline points="4 7 4 4 20 4 20 7"></polyline><line x1="9" y1="20" x2="15" y2="20"></line><line x1="12" y1="4" x2="12" y2="20"></line>',umbrella:'<path d="M23 12a11.05 11.05 0 0 0-22 0zm-5 7a3 3 0 0 1-6 0v-7"></path>',underline:'<path d="M6 3v7a6 6 0 0 0 6 6 6 6 0 0 0 6-6V3"></path><line x1="4" y1="21" x2="20" y2="21"></line>',unlock:'<rect x="3" y="11" width="18" height="11" rx="2" ry="2"></rect><path d="M7 11V7a5 5 0 0 1 9.9-1"></path>',"upload-cloud":'<polyline points="16 16 12 12 8 16"></polyline><line x1="12" y1="12" x2="12" y2="21"></line><path d="M20.39 18.39A5 5 0 0 0 18 9h-1.26A8 8 0 1 0 3 16.3"></path><polyline points="16 16 12 12 8 16"></polyline>',upload:'<path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"></path><polyline points="17 8 12 3 7 8"></polyline><line x1="12" y1="3" x2="12" y2="15"></line>',"user-check":'<path d="M16 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2"></path><circle cx="8.5" cy="7" r="4"></circle><polyline points="17 11 19 13 23 9"></polyline>',"user-minus":'<path d="M16 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2"></path><circle cx="8.5" cy="7" r="4"></circle><line x1="23" y1="11" x2="17" y2="11"></line>',"user-plus":'<path d="M16 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2"></path><circle cx="8.5" cy="7" r="4"></circle><line x1="20" y1="8" x2="20" y2="14"></line><line x1="23" y1="11" x2="17" y2="11"></line>',"user-x":'<path d="M16 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2"></path><circle cx="8.5" cy="7" r="4"></circle><line x1="18" y1="8" x2="23" y2="13"></line><line x1="23" y1="8" x2="18" y2="13"></line>',user:'<path d="M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2"></path><circle cx="12" cy="7" r="4"></circle>',users:'<path d="M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2"></path><circle cx="9" cy="7" r="4"></circle><path d="M23 21v-2a4 4 0 0 0-3-3.87"></path><path d="M16 3.13a4 4 0 0 1 0 7.75"></path>',"video-off":'<path d="M16 16v1a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V7a2 2 0 0 1 2-2h2m5.66 0H14a2 2 0 0 1 2 2v3.34l1 1L23 7v10"></path><line x1="1" y1="1" x2="23" y2="23"></line>',video:'<polygon points="23 7 16 12 23 17 23 7"></polygon><rect x="1" y="5" width="15" height="14" rx="2" ry="2"></rect>',voicemail:'<circle cx="5.5" cy="11.5" r="4.5"></circle><circle cx="18.5" cy="11.5" r="4.5"></circle><line x1="5.5" y1="16" x2="18.5" y2="16"></line>',"volume-1":'<polygon points="11 5 6 9 2 9 2 15 6 15 11 19 11 5"></polygon><path d="M15.54 8.46a5 5 0 0 1 0 7.07"></path>',"volume-2":'<polygon points="11 5 6 9 2 9 2 15 6 15 11 19 11 5"></polygon><path d="M19.07 4.93a10 10 0 0 1 0 14.14M15.54 8.46a5 5 0 0 1 0 7.07"></path>',"volume-x":'<polygon points="11 5 6 9 2 9 2 15 6 15 11 19 11 5"></polygon><line x1="23" y1="9" x2="17" y2="15"></line><line x1="17" y1="9" x2="23" y2="15"></line>',volume:'<polygon points="11 5 6 9 2 9 2 15 6 15 11 19 11 5"></polygon>',watch:'<circle cx="12" cy="12" r="7"></circle><polyline points="12 9 12 12 13.5 13.5"></polyline><path d="M16.51 17.35l-.35 3.83a2 2 0 0 1-2 1.82H9.83a2 2 0 0 1-2-1.82l-.35-3.83m.01-10.7l.35-3.83A2 2 0 0 1 9.83 1h4.35a2 2 0 0 1 2 1.82l.35 3.83"></path>',"wifi-off":'<line x1="1" y1="1" x2="23" y2="23"></line><path d="M16.72 11.06A10.94 10.94 0 0 1 19 12.55"></path><path d="M5 12.55a10.94 10.94 0 0 1 5.17-2.39"></path><path d="M10.71 5.05A16 16 0 0 1 22.58 9"></path><path d="M1.42 9a15.91 15.91 0 0 1 4.7-2.88"></path><path d="M8.53 16.11a6 6 0 0 1 6.95 0"></path><line x1="12" y1="20" x2="12" y2="20"></line>',wifi:'<path d="M5 12.55a11 11 0 0 1 14.08 0"></path><path d="M1.42 9a16 16 0 0 1 21.16 0"></path><path d="M8.53 16.11a6 6 0 0 1 6.95 0"></path><line x1="12" y1="20" x2="12" y2="20"></line>',wind:'<path d="M9.59 4.59A2 2 0 1 1 11 8H2m10.59 11.41A2 2 0 1 0 14 16H2m15.73-8.27A2.5 2.5 0 1 1 19.5 12H2"></path>',"x-circle":'<circle cx="12" cy="12" r="10"></circle><line x1="15" y1="9" x2="9" y2="15"></line><line x1="9" y1="9" x2="15" y2="15"></line>',"x-square":'<rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect><line x1="9" y1="9" x2="15" y2="15"></line><line x1="15" y1="9" x2="9" y2="15"></line>',x:'<line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line>',youtube:'<path d="M22.54 6.42a2.78 2.78 0 0 0-1.94-2C18.88 4 12 4 12 4s-6.88 0-8.6.46a2.78 2.78 0 0 0-1.94 2A29 29 0 0 0 1 11.75a29 29 0 0 0 .46 5.33A2.78 2.78 0 0 0 3.4 19c1.72.46 8.6.46 8.6.46s6.88 0 8.6-.46a2.78 2.78 0 0 0 1.94-2 29 29 0 0 0 .46-5.25 29 29 0 0 0-.46-5.33z"></path><polygon points="9.75 15.02 15.5 11.75 9.75 8.48 9.75 15.02"></polygon>',"zap-off":'<polyline points="12.41 6.75 13 2 10.57 4.92"></polyline><polyline points="18.57 12.91 21 10 15.66 10"></polyline><polyline points="8 8 3 14 12 14 11 22 16 16"></polyline><line x1="1" y1="1" x2="23" y2="23"></line>',zap:'<polygon points="13 2 3 14 12 14 11 22 21 10 12 10 13 2"></polygon>',"zoom-in":'<circle cx="11" cy="11" r="8"></circle><line x1="21" y1="21" x2="16.65" y2="16.65"></line><line x1="11" y1="8" x2="11" y2="14"></line><line x1="8" y1="11" x2="14" y2="11"></line>',"zoom-out":'<circle cx="11" cy="11" r="8"></circle><line x1="21" y1="21" x2="16.65" y2="16.65"></line><line x1="8" y1="11" x2="14" y2="11"></line>'}},function(e){e.exports={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":2,"stroke-linecap":"round","stroke-linejoin":"round"}},function(e,n,i){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var l=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var i=arguments[n];for(var l in i)Object.prototype.hasOwnProperty.call(i,l)&&(e[l]=i[l])}return e},t=function(){function e(e,n){for(var i=0;i<n.length;i++){var l=n[i];l.enumerable=l.enumerable||!1,l.configurable=!0,"value"in l&&(l.writable=!0),Object.defineProperty(e,l.key,l)}}return function(n,i,l){return i&&e(n.prototype,i),l&&e(n,l),n}}(),r=a(i(16)),o=a(i(33));function a(e){return e&&e.__esModule?e:{default:e}}var c=function(){function e(n,i){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];!function(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this,e),this.name=n,this.contents=i,this.tags=t,this.attrs=l({},o.default,{class:"feather feather-"+n})}return t(e,[{key:"toSvg",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return"<svg "+function(e){return Object.keys(e).map(function(n){return n+'="'+e[n]+'"'}).join(" ")}(l({},this.attrs,e,{class:(0,r.default)(this.attrs.class,e.class)}))+">"+this.contents+"</svg>"}},{key:"toString",value:function(){return this.contents}}]),e}();n.default=c},function(e,n,i){"use strict";var l=o(i(8)),t=o(i(30)),r=o(i(29));function o(e){return e&&e.__esModule?e:{default:e}}e.exports={icons:l.default,toSvg:t.default,replace:r.default}},function(e,n,i){var l=i(0)("iterator"),t=!1;try{var r=[7][l]();r.return=function(){t=!0},Array.from(r,function(){throw 2})}catch(e){}e.exports=function(e,n){if(!n&&!t)return!1;var i=!1;try{var r=[7],o=r[l]();o.next=function(){return{done:i=!0}},r[l]=function(){return o},e(r)}catch(e){}return i}},function(e,n,i){var l=i(22),t=i(0)("toStringTag"),r="Arguments"==l(function(){return arguments}());e.exports=function(e){var n,i,o;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(i=function(e,n){try{return e[n]}catch(e){}}(n=Object(e),t))?i:r?l(n):"Object"==(o=l(n))&&"function"==typeof n.callee?"Arguments":o}},function(e,n,i){var l=i(37),t=i(0)("iterator"),r=i(10);e.exports=i(7).getIteratorMethod=function(e){if(void 0!=e)return e[t]||e["@@iterator"]||r[l(e)]}},function(e,n,i){"use strict";var l=i(5),t=i(12);e.exports=function(e,n,i){n in e?l.f(e,n,t(0,i)):e[n]=i}},function(e,n,i){var l=i(10),t=i(0)("iterator"),r=Array.prototype;e.exports=function(e){return void 0!==e&&(l.Array===e||r[t]===e)}},function(e,n,i){var l=i(4);e.exports=function(e,n,i,t){try{return t?n(l(i)[0],i[1]):n(i)}catch(n){var r=e.return;throw void 0!==r&&l(r.call(e)),n}}},function(e,n,i){"use strict";var l=i(24),t=i(28),r=i(17),o=i(41),a=i(40),c=i(21),y=i(39),p=i(38);t(t.S+t.F*!i(36)(function(e){Array.from(e)}),"Array",{from:function(e){var n,i,t,h,x=r(e),s="function"==typeof this?this:Array,u=arguments.length,d=u>1?arguments[1]:void 0,f=void 0!==d,v=0,g=p(x);if(f&&(d=l(d,u>2?arguments[2]:void 0,2)),void 0==g||s==Array&&a(g))for(i=new s(n=c(x.length));n>v;v++)y(i,v,f?d(x[v],v):x[v]);else for(h=g.call(x),i=new s;!(t=h.next()).done;v++)y(i,v,f?o(h,d,[t.value,v],!0):t.value);return i.length=v,i}})},function(e,n,i){var l=i(2),t=i(17),r=i(9)("IE_PROTO"),o=Object.prototype;e.exports=Object.getPrototypeOf||function(e){return e=t(e),l(e,r)?e[r]:"function"==typeof e.constructor&&e instanceof e.constructor?e.constructor.prototype:e instanceof Object?o:null}},function(e,n,i){var l=i(1).document;e.exports=l&&l.documentElement},function(e,n,i){var l=i(15),t=Math.max,r=Math.min;e.exports=function(e,n){return(e=l(e))<0?t(e+n,0):r(e,n)}},function(e,n,i){var l=i(23),t=i(21),r=i(45);e.exports=function(e){return function(n,i,o){var a,c=l(n),y=t(c.length),p=r(o,y);if(e&&i!=i){for(;y>p;)if((a=c[p++])!=a)return!0}else for(;y>p;p++)if((e||p in c)&&c[p]===i)return e||p||0;return!e&&-1}}},function(e,n,i){var l=i(22);e.exports=Object("z").propertyIsEnumerable(0)?Object:function(e){return"String"==l(e)?e.split(""):Object(e)}},function(e,n,i){var l=i(2),t=i(23),r=i(46)(!1),o=i(9)("IE_PROTO");e.exports=function(e,n){var i,a=t(e),c=0,y=[];for(i in a)i!=o&&l(a,i)&&y.push(i);for(;n.length>c;)l(a,i=n[c++])&&(~r(y,i)||y.push(i));return y}},function(e,n,i){var l=i(48),t=i(19);e.exports=Object.keys||function(e){return l(e,t)}},function(e,n,i){var l=i(5),t=i(4),r=i(49);e.exports=i(3)?Object.defineProperties:function(e,n){t(e);for(var i,o=r(n),a=o.length,c=0;a>c;)l.f(e,i=o[c++],n[i]);return e}},function(e,n,i){var l=i(4),t=i(50),r=i(19),o=i(9)("IE_PROTO"),a=function(){},c=function(){var e,n=i(26)("iframe"),l=r.length;for(n.style.display="none",i(44).appendChild(n),n.src="javascript:",(e=n.contentWindow.document).open(),e.write("<script>document.F=Object<\/script>"),e.close(),c=e.F;l--;)delete c.prototype[r[l]];return c()};e.exports=Object.create||function(e,n){var i;return null!==e?(a.prototype=l(e),i=new a,a.prototype=null,i[o]=e):i=c(),void 0===n?i:t(i,n)}},function(e,n,i){"use strict";var l=i(51),t=i(12),r=i(18),o={};i(6)(o,i(0)("iterator"),function(){return this}),e.exports=function(e,n,i){e.prototype=l(o,{next:t(1,i)}),r(e,n+" Iterator")}},function(e,n){e.exports=function(e){if("function"!=typeof e)throw TypeError(e+" is not a function!");return e}},function(e,n,i){var l=i(13);e.exports=function(e,n){if(!l(e))return e;var i,t;if(n&&"function"==typeof(i=e.toString)&&!l(t=i.call(e)))return t;if("function"==typeof(i=e.valueOf)&&!l(t=i.call(e)))return t;if(!n&&"function"==typeof(i=e.toString)&&!l(t=i.call(e)))return t;throw TypeError("Can't convert object to primitive value")}},function(e,n,i){e.exports=!i(3)&&!i(27)(function(){return 7!=Object.defineProperty(i(26)("div"),"a",{get:function(){return 7}}).a})},function(e,n){e.exports=!1},function(e,n,i){"use strict";var l=i(56),t=i(28),r=i(25),o=i(6),a=i(2),c=i(10),y=i(52),p=i(18),h=i(43),x=i(0)("iterator"),s=!([].keys&&"next"in[].keys()),u=function(){return this};e.exports=function(e,n,i,d,f,v,g){y(i,n,d);var m,M,w,b=function(e){if(!s&&e in H)return H[e];switch(e){case"keys":case"values":return function(){return new i(this,e)}}return function(){return new i(this,e)}},z=n+" Iterator",A="values"==f,k=!1,H=e.prototype,V=H[x]||H["@@iterator"]||f&&H[f],O=!s&&V||b(f),_=f?A?b("entries"):O:void 0,j="Array"==n&&H.entries||V;if(j&&(w=h(j.call(new e)))!==Object.prototype&&w.next&&(p(w,z,!0),l||a(w,x)||o(w,x,u)),A&&V&&"values"!==V.name&&(k=!0,O=function(){return V.call(this)}),l&&!g||!s&&!k&&H[x]||o(H,x,O),c[n]=O,c[z]=u,f)if(m={values:A?O:b("values"),keys:v?O:b("keys"),entries:_},g)for(M in m)M in H||r(H,M,m[M]);else t(t.P+t.F*(s||k),n,m);return m}},function(e,n,i){var l=i(15),t=i(14);e.exports=function(e){return function(n,i){var r,o,a=String(t(n)),c=l(i),y=a.length;return c<0||c>=y?e?"":void 0:(r=a.charCodeAt(c))<55296||r>56319||c+1===y||(o=a.charCodeAt(c+1))<56320||o>57343?e?a.charAt(c):r:e?a.slice(c,c+2):o-56320+(r-55296<<10)+65536}}},function(e,n,i){"use strict";var l=i(58)(!0);i(57)(String,"String",function(e){this._t=String(e),this._i=0},function(){var e,n=this._t,i=this._i;return i>=n.length?{value:void 0,done:!0}:(e=l(n,i),this._i+=e.length,{value:e,done:!1})})},function(e,n,i){i(59),i(42),e.exports=i(7).Array.from},function(e,n,i){i(60),e.exports=i(35)}])});
-//# sourceMappingURL=feather.min.js.map</script>
-    <script>+function(a){"use strict";function b(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}var c=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1,d.configurable=!0,"value"in d&&(d.writable=!0),Object.defineProperty(a,d.key,d)}}return function(b,c,d){return c&&a(b.prototype,c),d&&a(b,d),b}}();(function(a){var d="ekkoLightbox",e=a.fn[d],f={title:"",footer:"",maxWidth:9999,maxHeight:9999,showArrows:!0,wrapping:!0,type:null,alwaysShowClose:!1,loadingMessage:'<div class="ekko-lightbox-loader"><div><div></div><div></div></div></div>',leftArrow:"<span>&#10094;</span>",rightArrow:"<span>&#10095;</span>",strings:{close:"Close",fail:"Failed to load image:",type:"Could not detect remote target type. Force the type using data-type"},doc:document,onShow:function(){},onShown:function(){},onHide:function(){},onHidden:function(){},onNavigate:function(){},onContentLoaded:function(){}},g=function(){function d(c,e){var g=this;b(this,d),this._config=a.extend({},f,e),this._$modalArrows=null,this._galleryIndex=0,this._galleryName=null,this._padding=null,this._border=null,this._titleIsShown=!1,this._footerIsShown=!1,this._wantedWidth=0,this._wantedHeight=0,this._touchstartX=0,this._touchendX=0,this._modalId="ekkoLightbox-"+Math.floor(1e3*Math.random()+1),this._$element=c instanceof jQuery?c:a(c),this._isBootstrap3=3==a.fn.modal.Constructor.VERSION[0];var h='<h4 class="modal-title">'+(this._config.title||"&nbsp;")+"</h4>",i='<button type="button" class="close" data-dismiss="modal" aria-label="'+this._config.strings.close+'"><span aria-hidden="true">&times;</span></button>',j='<div class="modal-header'+(this._config.title||this._config.alwaysShowClose?"":" hide")+'">'+(this._isBootstrap3?i+h:h+i)+"</div>",k='<div class="modal-footer'+(this._config.footer?"":" hide")+'">'+(this._config.footer||"&nbsp;")+"</div>",l='<div class="modal-body"><div class="ekko-lightbox-container"><div class="ekko-lightbox-item fade in show"></div><div class="ekko-lightbox-item fade"></div></div></div>',m='<div class="modal-dialog" role="document"><div class="modal-content">'+j+l+k+"</div></div>";a(this._config.doc.body).append('<div id="'+this._modalId+'" class="ekko-lightbox modal fade" tabindex="-1" tabindex="-1" role="dialog" aria-hidden="true">'+m+"</div>"),this._$modal=a("#"+this._modalId,this._config.doc),this._$modalDialog=this._$modal.find(".modal-dialog").first(),this._$modalContent=this._$modal.find(".modal-content").first(),this._$modalBody=this._$modal.find(".modal-body").first(),this._$modalHeader=this._$modal.find(".modal-header").first(),this._$modalFooter=this._$modal.find(".modal-footer").first(),this._$lightboxContainer=this._$modalBody.find(".ekko-lightbox-container").first(),this._$lightboxBodyOne=this._$lightboxContainer.find("> div:first-child").first(),this._$lightboxBodyTwo=this._$lightboxContainer.find("> div:last-child").first(),this._border=this._calculateBorders(),this._padding=this._calculatePadding(),this._galleryName=this._$element.data("gallery"),this._galleryName&&(this._$galleryItems=a(document.body).find('*[data-gallery="'+this._galleryName+'"]'),this._galleryIndex=this._$galleryItems.index(this._$element),a(document).on("keydown.ekkoLightbox",this._navigationalBinder.bind(this)),this._config.showArrows&&this._$galleryItems.length>1&&(this._$lightboxContainer.append('<div class="ekko-lightbox-nav-overlay"><a href="#">'+this._config.leftArrow+'</a><a href="#">'+this._config.rightArrow+"</a></div>"),this._$modalArrows=this._$lightboxContainer.find("div.ekko-lightbox-nav-overlay").first(),this._$lightboxContainer.on("click","a:first-child",function(a){return a.preventDefault(),g.navigateLeft()}),this._$lightboxContainer.on("click","a:last-child",function(a){return a.preventDefault(),g.navigateRight()}),this.updateNavigation())),this._$modal.on("show.bs.modal",this._config.onShow.bind(this)).on("shown.bs.modal",function(){return g._toggleLoading(!0),g._handle(),g._config.onShown.call(g)}).on("hide.bs.modal",this._config.onHide.bind(this)).on("hidden.bs.modal",function(){return g._galleryName&&(a(document).off("keydown.ekkoLightbox"),a(window).off("resize.ekkoLightbox")),g._$modal.remove(),g._config.onHidden.call(g)}).modal(this._config),a(window).on("resize.ekkoLightbox",function(){g._resize(g._wantedWidth,g._wantedHeight)}),this._$lightboxContainer.on("touchstart",function(){g._touchstartX=event.changedTouches[0].screenX}).on("touchend",function(){g._touchendX=event.changedTouches[0].screenX,g._swipeGesure()})}return c(d,null,[{key:"Default",get:function(){return f}}]),c(d,[{key:"element",value:function(){return this._$element}},{key:"modal",value:function(){return this._$modal}},{key:"navigateTo",value:function(b){return b<0||b>this._$galleryItems.length-1?this:(this._galleryIndex=b,this.updateNavigation(),this._$element=a(this._$galleryItems.get(this._galleryIndex)),void this._handle())}},{key:"navigateLeft",value:function(){if(this._$galleryItems&&1!==this._$galleryItems.length){if(0===this._galleryIndex){if(!this._config.wrapping)return;this._galleryIndex=this._$galleryItems.length-1}else this._galleryIndex--;return this._config.onNavigate.call(this,"left",this._galleryIndex),this.navigateTo(this._galleryIndex)}}},{key:"navigateRight",value:function(){if(this._$galleryItems&&1!==this._$galleryItems.length){if(this._galleryIndex===this._$galleryItems.length-1){if(!this._config.wrapping)return;this._galleryIndex=0}else this._galleryIndex++;return this._config.onNavigate.call(this,"right",this._galleryIndex),this.navigateTo(this._galleryIndex)}}},{key:"updateNavigation",value:function(){if(!this._config.wrapping){var a=this._$lightboxContainer.find("div.ekko-lightbox-nav-overlay");0===this._galleryIndex?a.find("a:first-child").addClass("disabled"):a.find("a:first-child").removeClass("disabled"),this._galleryIndex===this._$galleryItems.length-1?a.find("a:last-child").addClass("disabled"):a.find("a:last-child").removeClass("disabled")}}},{key:"close",value:function(){return this._$modal.modal("hide")}},{key:"_navigationalBinder",value:function(a){return a=a||window.event,39===a.keyCode?this.navigateRight():37===a.keyCode?this.navigateLeft():void 0}},{key:"_detectRemoteType",value:function(a,b){return b=b||!1,!b&&this._isImage(a)&&(b="image"),!b&&this._getYoutubeId(a)&&(b="youtube"),!b&&this._getVimeoId(a)&&(b="vimeo"),!b&&this._getInstagramId(a)&&(b="instagram"),(!b||["image","youtube","vimeo","instagram","video","url"].indexOf(b)<0)&&(b="url"),b}},{key:"_isImage",value:function(a){return a&&a.match(/(^data:image\/.*,)|(\.(jp(e|g|eg)|gif|png|bmp|webp|svg)((\?|#).*)?$)/i)}},{key:"_containerToUse",value:function(){var a=this,b=this._$lightboxBodyTwo,c=this._$lightboxBodyOne;return this._$lightboxBodyTwo.hasClass("in")&&(b=this._$lightboxBodyOne,c=this._$lightboxBodyTwo),c.removeClass("in show"),setTimeout(function(){a._$lightboxBodyTwo.hasClass("in")||a._$lightboxBodyTwo.empty(),a._$lightboxBodyOne.hasClass("in")||a._$lightboxBodyOne.empty()},500),b.addClass("in show"),b}},{key:"_handle",value:function(){var a=this._containerToUse();this._updateTitleAndFooter();var b=this._$element.attr("data-remote")||this._$element.attr("href"),c=this._detectRemoteType(b,this._$element.attr("data-type")||!1);if(["image","youtube","vimeo","instagram","video","url"].indexOf(c)<0)return this._error(this._config.strings.type);switch(c){case"image":this._preloadImage(b,a),this._preloadImageByIndex(this._galleryIndex,3);break;case"youtube":this._showYoutubeVideo(b,a);break;case"vimeo":this._showVimeoVideo(this._getVimeoId(b),a);break;case"instagram":this._showInstagramVideo(this._getInstagramId(b),a);break;case"video":this._showHtml5Video(b,a);break;default:this._loadRemoteContent(b,a)}return this}},{key:"_getYoutubeId",value:function(a){if(!a)return!1;var b=a.match(/^.*(youtu.be\/|v\/|u\/\w\/|embed\/|watch\?v=|\&v=)([^#\&\?]*).*/);return!(!b||11!==b[2].length)&&b[2]}},{key:"_getVimeoId",value:function(a){return!!(a&&a.indexOf("vimeo")>0)&&a}},{key:"_getInstagramId",value:function(a){return!!(a&&a.indexOf("instagram")>0)&&a}},{key:"_toggleLoading",value:function(b){return b=b||!1,b?(this._$modalDialog.css("display","none"),this._$modal.removeClass("in show"),a(".modal-backdrop").append(this._config.loadingMessage)):(this._$modalDialog.css("display","block"),this._$modal.addClass("in show"),a(".modal-backdrop").find(".ekko-lightbox-loader").remove()),this}},{key:"_calculateBorders",value:function(){return{top:this._totalCssByAttribute("border-top-width"),right:this._totalCssByAttribute("border-right-width"),bottom:this._totalCssByAttribute("border-bottom-width"),left:this._totalCssByAttribute("border-left-width")}}},{key:"_calculatePadding",value:function(){return{top:this._totalCssByAttribute("padding-top"),right:this._totalCssByAttribute("padding-right"),bottom:this._totalCssByAttribute("padding-bottom"),left:this._totalCssByAttribute("padding-left")}}},{key:"_totalCssByAttribute",value:function(a){return parseInt(this._$modalDialog.css(a),10)+parseInt(this._$modalContent.css(a),10)+parseInt(this._$modalBody.css(a),10)}},{key:"_updateTitleAndFooter",value:function(){var a=this._$element.data("title")||"",b=this._$element.data("footer")||"";return this._titleIsShown=!1,a||this._config.alwaysShowClose?(this._titleIsShown=!0,this._$modalHeader.css("display","").find(".modal-title").html(a||"&nbsp;")):this._$modalHeader.css("display","none"),this._footerIsShown=!1,b?(this._footerIsShown=!0,this._$modalFooter.css("display","").html(b)):this._$modalFooter.css("display","none"),this}},{key:"_showYoutubeVideo",value:function(a,b){var c=this._getYoutubeId(a),d=a.indexOf("&")>0?a.substr(a.indexOf("&")):"",e=this._$element.data("width")||560,f=this._$element.data("height")||e/(560/315);return this._showVideoIframe("//www.youtube.com/embed/"+c+"?badge=0&autoplay=1&html5=1"+d,e,f,b)}},{key:"_showVimeoVideo",value:function(a,b){var c=this._$element.data("width")||500,d=this._$element.data("height")||c/(560/315);return this._showVideoIframe(a+"?autoplay=1",c,d,b)}},{key:"_showInstagramVideo",value:function(a,b){var c=this._$element.data("width")||612,d=c+80;return a="/"!==a.substr(-1)?a+"/":a,b.html('<iframe width="'+c+'" height="'+d+'" src="'+a+'embed/" frameborder="0" allowfullscreen></iframe>'),this._resize(c,d),this._config.onContentLoaded.call(this),this._$modalArrows&&this._$modalArrows.css("display","none"),this._toggleLoading(!1),this}},{key:"_showVideoIframe",value:function(a,b,c,d){return c=c||b,d.html('<div class="embed-responsive embed-responsive-16by9"><iframe width="'+b+'" height="'+c+'" src="'+a+'" frameborder="0" allowfullscreen class="embed-responsive-item"></iframe></div>'),this._resize(b,c),this._config.onContentLoaded.call(this),this._$modalArrows&&this._$modalArrows.css("display","none"),this._toggleLoading(!1),this}},{key:"_showHtml5Video",value:function(a,b){var c=this._$element.data("width")||560,d=this._$element.data("height")||c/(560/315);return b.html('<div class="embed-responsive embed-responsive-16by9"><video width="'+c+'" height="'+d+'" src="'+a+'" preload="auto" autoplay controls class="embed-responsive-item"></video></div>'),this._resize(c,d),this._config.onContentLoaded.call(this),this._$modalArrows&&this._$modalArrows.css("display","none"),this._toggleLoading(!1),this}},{key:"_loadRemoteContent",value:function(b,c){var d=this,e=this._$element.data("width")||560,f=this._$element.data("height")||560,g=this._$element.data("disableExternalCheck")||!1;return this._toggleLoading(!1),g||this._isExternal(b)?(c.html('<iframe src="'+b+'" frameborder="0" allowfullscreen></iframe>'),this._config.onContentLoaded.call(this)):c.load(b,a.proxy(function(){return d._$element.trigger("loaded.bs.modal")})),this._$modalArrows&&this._$modalArrows.css("display","none"),this._resize(e,f),this}},{key:"_isExternal",value:function(a){var b=a.match(/^([^:\/?#]+:)?(?:\/\/([^\/?#]*))?([^?#]+)?(\?[^#]*)?(#.*)?/);return"string"==typeof b[1]&&b[1].length>0&&b[1].toLowerCase()!==location.protocol||"string"==typeof b[2]&&b[2].length>0&&b[2].replace(new RegExp(":("+{"http:":80,"https:":443}[location.protocol]+")?$"),"")!==location.host}},{key:"_error",value:function(a){return console.error(a),this._containerToUse().html(a),this._resize(300,300),this}},{key:"_preloadImageByIndex",value:function(b,c){if(this._$galleryItems){var d=a(this._$galleryItems.get(b),!1);if("undefined"!=typeof d){var e=d.attr("data-remote")||d.attr("href");return("image"===d.attr("data-type")||this._isImage(e))&&this._preloadImage(e,!1),c>0?this._preloadImageByIndex(b+1,c-1):void 0}}}},{key:"_preloadImage",value:function(b,c){var d=this;c=c||!1;var e=new Image;return c&&!function(){var f=setTimeout(function(){c.append(d._config.loadingMessage)},200);e.onload=function(){f&&clearTimeout(f),f=null;var b=a("<img />");return b.attr("src",e.src),b.addClass("img-fluid"),b.css("width","100%"),c.html(b),d._$modalArrows&&d._$modalArrows.css("display",""),d._resize(e.width,e.height),d._toggleLoading(!1),d._config.onContentLoaded.call(d)},e.onerror=function(){return d._toggleLoading(!1),d._error(d._config.strings.fail+("  "+b))}}(),e.src=b,e}},{key:"_swipeGesure",value:function(){return this._touchendX<this._touchstartX?this.navigateRight():this._touchendX>this._touchstartX?this.navigateLeft():void 0}},{key:"_resize",value:function(b,c){c=c||b,this._wantedWidth=b,this._wantedHeight=c;var d=b/c,e=this._padding.left+this._padding.right+this._border.left+this._border.right,f=this._config.doc.body.clientWidth>575?20:0,g=this._config.doc.body.clientWidth>575?0:20,h=Math.min(b+e,this._config.doc.body.clientWidth-f,this._config.maxWidth);b+e>h?(c=(h-e-g)/d,b=h):b+=e;var i=0,j=0;this._footerIsShown&&(j=this._$modalFooter.outerHeight(!0)||55),this._titleIsShown&&(i=this._$modalHeader.outerHeight(!0)||67);var k=this._padding.top+this._padding.bottom+this._border.bottom+this._border.top,l=parseFloat(this._$modalDialog.css("margin-top"))+parseFloat(this._$modalDialog.css("margin-bottom")),m=Math.min(c,a(window).height()-k-l-i-j,this._config.maxHeight-k-i-j);c>m&&(b=Math.ceil(m*d)+e),this._$lightboxContainer.css("height",m),this._$modalDialog.css("flex",1).css("maxWidth",b);var n=this._$modal.data("bs.modal");if(n)try{n._handleUpdate()}catch(o){n.handleUpdate()}return this}}],[{key:"_jQueryInterface",value:function(b){var c=this;return b=b||{},this.each(function(){var e=a(c),f=a.extend({},d.Default,e.data(),"object"==typeof b&&b);new d(c,f)})}}]),d}();return a.fn[d]=g._jQueryInterface,a.fn[d].Constructor=g,a.fn[d].noConflict=function(){return a.fn[d]=e,g._jQueryInterface},g})(jQuery)}(jQuery);
-//# sourceMappingURL=ekko-lightbox.min.js.map</script>
-    <script>/*
- * This combined file was created by the DataTables downloader builder:
- *   https://datatables.net/download
- *
- * To rebuild or modify this file with the latest versions of the included
- * software please visit:
- *   https://datatables.net/download/#bs4/dt-1.10.20/r-2.2.2/sl-1.3.0
- *
- * Included libraries:
- *  DataTables 1.10.20, Responsive 2.2.2, Select 1.3.0
- */
-
-/*!
-   Copyright 2008-2019 SpryMedia Ltd.
-
- This source file is free software, available under the following license:
-   MIT license - http://datatables.net/license
-
- This source file is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- or FITNESS FOR A PARTICULAR PURPOSE. See the license files for details.
-
- For details please refer to: http://www.datatables.net
- DataTables 1.10.20
- ©2008-2019 SpryMedia Ltd - datatables.net/license
-*/
-var $jscomp=$jscomp||{};$jscomp.scope={};$jscomp.findInternal=function(f,z,y){f instanceof String&&(f=String(f));for(var p=f.length,H=0;H<p;H++){var L=f[H];if(z.call(y,L,H,f))return{i:H,v:L}}return{i:-1,v:void 0}};$jscomp.ASSUME_ES5=!1;$jscomp.ASSUME_NO_NATIVE_MAP=!1;$jscomp.ASSUME_NO_NATIVE_SET=!1;$jscomp.SIMPLE_FROUND_POLYFILL=!1;
-$jscomp.defineProperty=$jscomp.ASSUME_ES5||"function"==typeof Object.defineProperties?Object.defineProperty:function(f,z,y){f!=Array.prototype&&f!=Object.prototype&&(f[z]=y.value)};$jscomp.getGlobal=function(f){return"undefined"!=typeof window&&window===f?f:"undefined"!=typeof global&&null!=global?global:f};$jscomp.global=$jscomp.getGlobal(this);
-$jscomp.polyfill=function(f,z,y,p){if(z){y=$jscomp.global;f=f.split(".");for(p=0;p<f.length-1;p++){var H=f[p];H in y||(y[H]={});y=y[H]}f=f[f.length-1];p=y[f];z=z(p);z!=p&&null!=z&&$jscomp.defineProperty(y,f,{configurable:!0,writable:!0,value:z})}};$jscomp.polyfill("Array.prototype.find",function(f){return f?f:function(f,y){return $jscomp.findInternal(this,f,y).v}},"es6","es3");
-(function(f){"function"===typeof define&&define.amd?define(["jquery"],function(z){return f(z,window,document)}):"object"===typeof exports?module.exports=function(z,y){z||(z=window);y||(y="undefined"!==typeof window?require("jquery"):require("jquery")(z));return f(y,z,z.document)}:f(jQuery,window,document)})(function(f,z,y,p){function H(a){var b,c,d={};f.each(a,function(e,h){(b=e.match(/^([^A-Z]+?)([A-Z])/))&&-1!=="a aa ai ao as b fn i m o s ".indexOf(b[1]+" ")&&(c=e.replace(b[0],b[2].toLowerCase()),
-d[c]=e,"o"===b[1]&&H(a[e]))});a._hungarianMap=d}function L(a,b,c){a._hungarianMap||H(a);var d;f.each(b,function(e,h){d=a._hungarianMap[e];d===p||!c&&b[d]!==p||("o"===d.charAt(0)?(b[d]||(b[d]={}),f.extend(!0,b[d],b[e]),L(a[d],b[d],c)):b[d]=b[e])})}function Ga(a){var b=q.defaults.oLanguage,c=b.sDecimal;c&&Ha(c);if(a){var d=a.sZeroRecords;!a.sEmptyTable&&d&&"No data available in table"===b.sEmptyTable&&M(a,a,"sZeroRecords","sEmptyTable");!a.sLoadingRecords&&d&&"Loading..."===b.sLoadingRecords&&M(a,a,
-"sZeroRecords","sLoadingRecords");a.sInfoThousands&&(a.sThousands=a.sInfoThousands);(a=a.sDecimal)&&c!==a&&Ha(a)}}function jb(a){F(a,"ordering","bSort");F(a,"orderMulti","bSortMulti");F(a,"orderClasses","bSortClasses");F(a,"orderCellsTop","bSortCellsTop");F(a,"order","aaSorting");F(a,"orderFixed","aaSortingFixed");F(a,"paging","bPaginate");F(a,"pagingType","sPaginationType");F(a,"pageLength","iDisplayLength");F(a,"searching","bFilter");"boolean"===typeof a.sScrollX&&(a.sScrollX=a.sScrollX?"100%":
-"");"boolean"===typeof a.scrollX&&(a.scrollX=a.scrollX?"100%":"");if(a=a.aoSearchCols)for(var b=0,c=a.length;b<c;b++)a[b]&&L(q.models.oSearch,a[b])}function kb(a){F(a,"orderable","bSortable");F(a,"orderData","aDataSort");F(a,"orderSequence","asSorting");F(a,"orderDataType","sortDataType");var b=a.aDataSort;"number"!==typeof b||f.isArray(b)||(a.aDataSort=[b])}function lb(a){if(!q.__browser){var b={};q.__browser=b;var c=f("<div/>").css({position:"fixed",top:0,left:-1*f(z).scrollLeft(),height:1,width:1,
-overflow:"hidden"}).append(f("<div/>").css({position:"absolute",top:1,left:1,width:100,overflow:"scroll"}).append(f("<div/>").css({width:"100%",height:10}))).appendTo("body"),d=c.children(),e=d.children();b.barWidth=d[0].offsetWidth-d[0].clientWidth;b.bScrollOversize=100===e[0].offsetWidth&&100!==d[0].clientWidth;b.bScrollbarLeft=1!==Math.round(e.offset().left);b.bBounding=c[0].getBoundingClientRect().width?!0:!1;c.remove()}f.extend(a.oBrowser,q.__browser);a.oScroll.iBarWidth=q.__browser.barWidth}
-function mb(a,b,c,d,e,h){var g=!1;if(c!==p){var k=c;g=!0}for(;d!==e;)a.hasOwnProperty(d)&&(k=g?b(k,a[d],d,a):a[d],g=!0,d+=h);return k}function Ia(a,b){var c=q.defaults.column,d=a.aoColumns.length;c=f.extend({},q.models.oColumn,c,{nTh:b?b:y.createElement("th"),sTitle:c.sTitle?c.sTitle:b?b.innerHTML:"",aDataSort:c.aDataSort?c.aDataSort:[d],mData:c.mData?c.mData:d,idx:d});a.aoColumns.push(c);c=a.aoPreSearchCols;c[d]=f.extend({},q.models.oSearch,c[d]);ma(a,d,f(b).data())}function ma(a,b,c){b=a.aoColumns[b];
-var d=a.oClasses,e=f(b.nTh);if(!b.sWidthOrig){b.sWidthOrig=e.attr("width")||null;var h=(e.attr("style")||"").match(/width:\s*(\d+[pxem%]+)/);h&&(b.sWidthOrig=h[1])}c!==p&&null!==c&&(kb(c),L(q.defaults.column,c,!0),c.mDataProp===p||c.mData||(c.mData=c.mDataProp),c.sType&&(b._sManualType=c.sType),c.className&&!c.sClass&&(c.sClass=c.className),c.sClass&&e.addClass(c.sClass),f.extend(b,c),M(b,c,"sWidth","sWidthOrig"),c.iDataSort!==p&&(b.aDataSort=[c.iDataSort]),M(b,c,"aDataSort"));var g=b.mData,k=U(g),
-l=b.mRender?U(b.mRender):null;c=function(a){return"string"===typeof a&&-1!==a.indexOf("@")};b._bAttrSrc=f.isPlainObject(g)&&(c(g.sort)||c(g.type)||c(g.filter));b._setter=null;b.fnGetData=function(a,b,c){var d=k(a,b,p,c);return l&&b?l(d,b,a,c):d};b.fnSetData=function(a,b,c){return Q(g)(a,b,c)};"number"!==typeof g&&(a._rowReadObject=!0);a.oFeatures.bSort||(b.bSortable=!1,e.addClass(d.sSortableNone));a=-1!==f.inArray("asc",b.asSorting);c=-1!==f.inArray("desc",b.asSorting);b.bSortable&&(a||c)?a&&!c?(b.sSortingClass=
-d.sSortableAsc,b.sSortingClassJUI=d.sSortJUIAscAllowed):!a&&c?(b.sSortingClass=d.sSortableDesc,b.sSortingClassJUI=d.sSortJUIDescAllowed):(b.sSortingClass=d.sSortable,b.sSortingClassJUI=d.sSortJUI):(b.sSortingClass=d.sSortableNone,b.sSortingClassJUI="")}function aa(a){if(!1!==a.oFeatures.bAutoWidth){var b=a.aoColumns;Ja(a);for(var c=0,d=b.length;c<d;c++)b[c].nTh.style.width=b[c].sWidth}b=a.oScroll;""===b.sY&&""===b.sX||na(a);A(a,null,"column-sizing",[a])}function ba(a,b){a=oa(a,"bVisible");return"number"===
-typeof a[b]?a[b]:null}function ca(a,b){a=oa(a,"bVisible");b=f.inArray(b,a);return-1!==b?b:null}function W(a){var b=0;f.each(a.aoColumns,function(a,d){d.bVisible&&"none"!==f(d.nTh).css("display")&&b++});return b}function oa(a,b){var c=[];f.map(a.aoColumns,function(a,e){a[b]&&c.push(e)});return c}function Ka(a){var b=a.aoColumns,c=a.aoData,d=q.ext.type.detect,e,h,g;var k=0;for(e=b.length;k<e;k++){var f=b[k];var n=[];if(!f.sType&&f._sManualType)f.sType=f._sManualType;else if(!f.sType){var m=0;for(h=
-d.length;m<h;m++){var w=0;for(g=c.length;w<g;w++){n[w]===p&&(n[w]=I(a,w,k,"type"));var u=d[m](n[w],a);if(!u&&m!==d.length-1)break;if("html"===u)break}if(u){f.sType=u;break}}f.sType||(f.sType="string")}}}function nb(a,b,c,d){var e,h,g,k=a.aoColumns;if(b)for(e=b.length-1;0<=e;e--){var l=b[e];var n=l.targets!==p?l.targets:l.aTargets;f.isArray(n)||(n=[n]);var m=0;for(h=n.length;m<h;m++)if("number"===typeof n[m]&&0<=n[m]){for(;k.length<=n[m];)Ia(a);d(n[m],l)}else if("number"===typeof n[m]&&0>n[m])d(k.length+
-n[m],l);else if("string"===typeof n[m]){var w=0;for(g=k.length;w<g;w++)("_all"==n[m]||f(k[w].nTh).hasClass(n[m]))&&d(w,l)}}if(c)for(e=0,a=c.length;e<a;e++)d(e,c[e])}function R(a,b,c,d){var e=a.aoData.length,h=f.extend(!0,{},q.models.oRow,{src:c?"dom":"data",idx:e});h._aData=b;a.aoData.push(h);for(var g=a.aoColumns,k=0,l=g.length;k<l;k++)g[k].sType=null;a.aiDisplayMaster.push(e);b=a.rowIdFn(b);b!==p&&(a.aIds[b]=h);!c&&a.oFeatures.bDeferRender||La(a,e,c,d);return e}function pa(a,b){var c;b instanceof
-f||(b=f(b));return b.map(function(b,e){c=Ma(a,e);return R(a,c.data,e,c.cells)})}function I(a,b,c,d){var e=a.iDraw,h=a.aoColumns[c],g=a.aoData[b]._aData,k=h.sDefaultContent,f=h.fnGetData(g,d,{settings:a,row:b,col:c});if(f===p)return a.iDrawError!=e&&null===k&&(O(a,0,"Requested unknown parameter "+("function"==typeof h.mData?"{function}":"'"+h.mData+"'")+" for row "+b+", column "+c,4),a.iDrawError=e),k;if((f===g||null===f)&&null!==k&&d!==p)f=k;else if("function"===typeof f)return f.call(g);return null===
-f&&"display"==d?"":f}function ob(a,b,c,d){a.aoColumns[c].fnSetData(a.aoData[b]._aData,d,{settings:a,row:b,col:c})}function Na(a){return f.map(a.match(/(\\.|[^\.])+/g)||[""],function(a){return a.replace(/\\\./g,".")})}function U(a){if(f.isPlainObject(a)){var b={};f.each(a,function(a,c){c&&(b[a]=U(c))});return function(a,c,h,g){var d=b[c]||b._;return d!==p?d(a,c,h,g):a}}if(null===a)return function(a){return a};if("function"===typeof a)return function(b,c,h,g){return a(b,c,h,g)};if("string"!==typeof a||
--1===a.indexOf(".")&&-1===a.indexOf("[")&&-1===a.indexOf("("))return function(b,c){return b[a]};var c=function(a,b,h){if(""!==h){var d=Na(h);for(var e=0,l=d.length;e<l;e++){h=d[e].match(da);var n=d[e].match(X);if(h){d[e]=d[e].replace(da,"");""!==d[e]&&(a=a[d[e]]);n=[];d.splice(0,e+1);d=d.join(".");if(f.isArray(a))for(e=0,l=a.length;e<l;e++)n.push(c(a[e],b,d));a=h[0].substring(1,h[0].length-1);a=""===a?n:n.join(a);break}else if(n){d[e]=d[e].replace(X,"");a=a[d[e]]();continue}if(null===a||a[d[e]]===
-p)return p;a=a[d[e]]}}return a};return function(b,e){return c(b,e,a)}}function Q(a){if(f.isPlainObject(a))return Q(a._);if(null===a)return function(){};if("function"===typeof a)return function(b,d,e){a(b,"set",d,e)};if("string"!==typeof a||-1===a.indexOf(".")&&-1===a.indexOf("[")&&-1===a.indexOf("("))return function(b,d){b[a]=d};var b=function(a,d,e){e=Na(e);var c=e[e.length-1];for(var g,k,l=0,n=e.length-1;l<n;l++){g=e[l].match(da);k=e[l].match(X);if(g){e[l]=e[l].replace(da,"");a[e[l]]=[];c=e.slice();
-c.splice(0,l+1);g=c.join(".");if(f.isArray(d))for(k=0,n=d.length;k<n;k++)c={},b(c,d[k],g),a[e[l]].push(c);else a[e[l]]=d;return}k&&(e[l]=e[l].replace(X,""),a=a[e[l]](d));if(null===a[e[l]]||a[e[l]]===p)a[e[l]]={};a=a[e[l]]}if(c.match(X))a[c.replace(X,"")](d);else a[c.replace(da,"")]=d};return function(c,d){return b(c,d,a)}}function Oa(a){return J(a.aoData,"_aData")}function qa(a){a.aoData.length=0;a.aiDisplayMaster.length=0;a.aiDisplay.length=0;a.aIds={}}function ra(a,b,c){for(var d=-1,e=0,h=a.length;e<
-h;e++)a[e]==b?d=e:a[e]>b&&a[e]--; -1!=d&&c===p&&a.splice(d,1)}function ea(a,b,c,d){var e=a.aoData[b],h,g=function(c,d){for(;c.childNodes.length;)c.removeChild(c.firstChild);c.innerHTML=I(a,b,d,"display")};if("dom"!==c&&(c&&"auto"!==c||"dom"!==e.src)){var k=e.anCells;if(k)if(d!==p)g(k[d],d);else for(c=0,h=k.length;c<h;c++)g(k[c],c)}else e._aData=Ma(a,e,d,d===p?p:e._aData).data;e._aSortData=null;e._aFilterData=null;g=a.aoColumns;if(d!==p)g[d].sType=null;else{c=0;for(h=g.length;c<h;c++)g[c].sType=null;
-Pa(a,e)}}function Ma(a,b,c,d){var e=[],h=b.firstChild,g,k=0,l,n=a.aoColumns,m=a._rowReadObject;d=d!==p?d:m?{}:[];var w=function(a,b){if("string"===typeof a){var c=a.indexOf("@");-1!==c&&(c=a.substring(c+1),Q(a)(d,b.getAttribute(c)))}},u=function(a){if(c===p||c===k)g=n[k],l=f.trim(a.innerHTML),g&&g._bAttrSrc?(Q(g.mData._)(d,l),w(g.mData.sort,a),w(g.mData.type,a),w(g.mData.filter,a)):m?(g._setter||(g._setter=Q(g.mData)),g._setter(d,l)):d[k]=l;k++};if(h)for(;h;){var q=h.nodeName.toUpperCase();if("TD"==
-q||"TH"==q)u(h),e.push(h);h=h.nextSibling}else for(e=b.anCells,h=0,q=e.length;h<q;h++)u(e[h]);(b=b.firstChild?b:b.nTr)&&(b=b.getAttribute("id"))&&Q(a.rowId)(d,b);return{data:d,cells:e}}function La(a,b,c,d){var e=a.aoData[b],h=e._aData,g=[],k,l;if(null===e.nTr){var n=c||y.createElement("tr");e.nTr=n;e.anCells=g;n._DT_RowIndex=b;Pa(a,e);var m=0;for(k=a.aoColumns.length;m<k;m++){var w=a.aoColumns[m];var p=(l=c?!1:!0)?y.createElement(w.sCellType):d[m];p._DT_CellIndex={row:b,column:m};g.push(p);if(l||
-!(c&&!w.mRender&&w.mData===m||f.isPlainObject(w.mData)&&w.mData._===m+".display"))p.innerHTML=I(a,b,m,"display");w.sClass&&(p.className+=" "+w.sClass);w.bVisible&&!c?n.appendChild(p):!w.bVisible&&c&&p.parentNode.removeChild(p);w.fnCreatedCell&&w.fnCreatedCell.call(a.oInstance,p,I(a,b,m),h,b,m)}A(a,"aoRowCreatedCallback",null,[n,h,b,g])}e.nTr.setAttribute("role","row")}function Pa(a,b){var c=b.nTr,d=b._aData;if(c){if(a=a.rowIdFn(d))c.id=a;d.DT_RowClass&&(a=d.DT_RowClass.split(" "),b.__rowc=b.__rowc?
-ta(b.__rowc.concat(a)):a,f(c).removeClass(b.__rowc.join(" ")).addClass(d.DT_RowClass));d.DT_RowAttr&&f(c).attr(d.DT_RowAttr);d.DT_RowData&&f(c).data(d.DT_RowData)}}function pb(a){var b,c,d=a.nTHead,e=a.nTFoot,h=0===f("th, td",d).length,g=a.oClasses,k=a.aoColumns;h&&(c=f("<tr/>").appendTo(d));var l=0;for(b=k.length;l<b;l++){var n=k[l];var m=f(n.nTh).addClass(n.sClass);h&&m.appendTo(c);a.oFeatures.bSort&&(m.addClass(n.sSortingClass),!1!==n.bSortable&&(m.attr("tabindex",a.iTabIndex).attr("aria-controls",
-a.sTableId),Qa(a,n.nTh,l)));n.sTitle!=m[0].innerHTML&&m.html(n.sTitle);Ra(a,"header")(a,m,n,g)}h&&fa(a.aoHeader,d);f(d).find(">tr").attr("role","row");f(d).find(">tr>th, >tr>td").addClass(g.sHeaderTH);f(e).find(">tr>th, >tr>td").addClass(g.sFooterTH);if(null!==e)for(a=a.aoFooter[0],l=0,b=a.length;l<b;l++)n=k[l],n.nTf=a[l].cell,n.sClass&&f(n.nTf).addClass(n.sClass)}function ha(a,b,c){var d,e,h=[],g=[],k=a.aoColumns.length;if(b){c===p&&(c=!1);var l=0;for(d=b.length;l<d;l++){h[l]=b[l].slice();h[l].nTr=
-b[l].nTr;for(e=k-1;0<=e;e--)a.aoColumns[e].bVisible||c||h[l].splice(e,1);g.push([])}l=0;for(d=h.length;l<d;l++){if(a=h[l].nTr)for(;e=a.firstChild;)a.removeChild(e);e=0;for(b=h[l].length;e<b;e++){var n=k=1;if(g[l][e]===p){a.appendChild(h[l][e].cell);for(g[l][e]=1;h[l+k]!==p&&h[l][e].cell==h[l+k][e].cell;)g[l+k][e]=1,k++;for(;h[l][e+n]!==p&&h[l][e].cell==h[l][e+n].cell;){for(c=0;c<k;c++)g[l+c][e+n]=1;n++}f(h[l][e].cell).attr("rowspan",k).attr("colspan",n)}}}}}function S(a){var b=A(a,"aoPreDrawCallback",
-"preDraw",[a]);if(-1!==f.inArray(!1,b))K(a,!1);else{b=[];var c=0,d=a.asStripeClasses,e=d.length,h=a.oLanguage,g=a.iInitDisplayStart,k="ssp"==D(a),l=a.aiDisplay;a.bDrawing=!0;g!==p&&-1!==g&&(a._iDisplayStart=k?g:g>=a.fnRecordsDisplay()?0:g,a.iInitDisplayStart=-1);g=a._iDisplayStart;var n=a.fnDisplayEnd();if(a.bDeferLoading)a.bDeferLoading=!1,a.iDraw++,K(a,!1);else if(!k)a.iDraw++;else if(!a.bDestroying&&!qb(a))return;if(0!==l.length)for(h=k?a.aoData.length:n,k=k?0:g;k<h;k++){var m=l[k],w=a.aoData[m];
-null===w.nTr&&La(a,m);var u=w.nTr;if(0!==e){var q=d[c%e];w._sRowStripe!=q&&(f(u).removeClass(w._sRowStripe).addClass(q),w._sRowStripe=q)}A(a,"aoRowCallback",null,[u,w._aData,c,k,m]);b.push(u);c++}else c=h.sZeroRecords,1==a.iDraw&&"ajax"==D(a)?c=h.sLoadingRecords:h.sEmptyTable&&0===a.fnRecordsTotal()&&(c=h.sEmptyTable),b[0]=f("<tr/>",{"class":e?d[0]:""}).append(f("<td />",{valign:"top",colSpan:W(a),"class":a.oClasses.sRowEmpty}).html(c))[0];A(a,"aoHeaderCallback","header",[f(a.nTHead).children("tr")[0],
-Oa(a),g,n,l]);A(a,"aoFooterCallback","footer",[f(a.nTFoot).children("tr")[0],Oa(a),g,n,l]);d=f(a.nTBody);d.children().detach();d.append(f(b));A(a,"aoDrawCallback","draw",[a]);a.bSorted=!1;a.bFiltered=!1;a.bDrawing=!1}}function V(a,b){var c=a.oFeatures,d=c.bFilter;c.bSort&&rb(a);d?ia(a,a.oPreviousSearch):a.aiDisplay=a.aiDisplayMaster.slice();!0!==b&&(a._iDisplayStart=0);a._drawHold=b;S(a);a._drawHold=!1}function sb(a){var b=a.oClasses,c=f(a.nTable);c=f("<div/>").insertBefore(c);var d=a.oFeatures,e=
-f("<div/>",{id:a.sTableId+"_wrapper","class":b.sWrapper+(a.nTFoot?"":" "+b.sNoFooter)});a.nHolding=c[0];a.nTableWrapper=e[0];a.nTableReinsertBefore=a.nTable.nextSibling;for(var h=a.sDom.split(""),g,k,l,n,m,p,u=0;u<h.length;u++){g=null;k=h[u];if("<"==k){l=f("<div/>")[0];n=h[u+1];if("'"==n||'"'==n){m="";for(p=2;h[u+p]!=n;)m+=h[u+p],p++;"H"==m?m=b.sJUIHeader:"F"==m&&(m=b.sJUIFooter);-1!=m.indexOf(".")?(n=m.split("."),l.id=n[0].substr(1,n[0].length-1),l.className=n[1]):"#"==m.charAt(0)?l.id=m.substr(1,
-m.length-1):l.className=m;u+=p}e.append(l);e=f(l)}else if(">"==k)e=e.parent();else if("l"==k&&d.bPaginate&&d.bLengthChange)g=tb(a);else if("f"==k&&d.bFilter)g=ub(a);else if("r"==k&&d.bProcessing)g=vb(a);else if("t"==k)g=wb(a);else if("i"==k&&d.bInfo)g=xb(a);else if("p"==k&&d.bPaginate)g=yb(a);else if(0!==q.ext.feature.length)for(l=q.ext.feature,p=0,n=l.length;p<n;p++)if(k==l[p].cFeature){g=l[p].fnInit(a);break}g&&(l=a.aanFeatures,l[k]||(l[k]=[]),l[k].push(g),e.append(g))}c.replaceWith(e);a.nHolding=
-null}function fa(a,b){b=f(b).children("tr");var c,d,e;a.splice(0,a.length);var h=0;for(e=b.length;h<e;h++)a.push([]);h=0;for(e=b.length;h<e;h++){var g=b[h];for(c=g.firstChild;c;){if("TD"==c.nodeName.toUpperCase()||"TH"==c.nodeName.toUpperCase()){var k=1*c.getAttribute("colspan");var l=1*c.getAttribute("rowspan");k=k&&0!==k&&1!==k?k:1;l=l&&0!==l&&1!==l?l:1;var n=0;for(d=a[h];d[n];)n++;var m=n;var p=1===k?!0:!1;for(d=0;d<k;d++)for(n=0;n<l;n++)a[h+n][m+d]={cell:c,unique:p},a[h+n].nTr=g}c=c.nextSibling}}}
-function ua(a,b,c){var d=[];c||(c=a.aoHeader,b&&(c=[],fa(c,b)));b=0;for(var e=c.length;b<e;b++)for(var h=0,g=c[b].length;h<g;h++)!c[b][h].unique||d[h]&&a.bSortCellsTop||(d[h]=c[b][h].cell);return d}function va(a,b,c){A(a,"aoServerParams","serverParams",[b]);if(b&&f.isArray(b)){var d={},e=/(.*?)\[\]$/;f.each(b,function(a,b){(a=b.name.match(e))?(a=a[0],d[a]||(d[a]=[]),d[a].push(b.value)):d[b.name]=b.value});b=d}var h=a.ajax,g=a.oInstance,k=function(b){A(a,null,"xhr",[a,b,a.jqXHR]);c(b)};if(f.isPlainObject(h)&&
-h.data){var l=h.data;var n="function"===typeof l?l(b,a):l;b="function"===typeof l&&n?n:f.extend(!0,b,n);delete h.data}n={data:b,success:function(b){var c=b.error||b.sError;c&&O(a,0,c);a.json=b;k(b)},dataType:"json",cache:!1,type:a.sServerMethod,error:function(b,c,d){d=A(a,null,"xhr",[a,null,a.jqXHR]);-1===f.inArray(!0,d)&&("parsererror"==c?O(a,0,"Invalid JSON response",1):4===b.readyState&&O(a,0,"Ajax error",7));K(a,!1)}};a.oAjaxData=b;A(a,null,"preXhr",[a,b]);a.fnServerData?a.fnServerData.call(g,
-a.sAjaxSource,f.map(b,function(a,b){return{name:b,value:a}}),k,a):a.sAjaxSource||"string"===typeof h?a.jqXHR=f.ajax(f.extend(n,{url:h||a.sAjaxSource})):"function"===typeof h?a.jqXHR=h.call(g,b,k,a):(a.jqXHR=f.ajax(f.extend(n,h)),h.data=l)}function qb(a){return a.bAjaxDataGet?(a.iDraw++,K(a,!0),va(a,zb(a),function(b){Ab(a,b)}),!1):!0}function zb(a){var b=a.aoColumns,c=b.length,d=a.oFeatures,e=a.oPreviousSearch,h=a.aoPreSearchCols,g=[],k=Y(a);var l=a._iDisplayStart;var n=!1!==d.bPaginate?a._iDisplayLength:
--1;var m=function(a,b){g.push({name:a,value:b})};m("sEcho",a.iDraw);m("iColumns",c);m("sColumns",J(b,"sName").join(","));m("iDisplayStart",l);m("iDisplayLength",n);var p={draw:a.iDraw,columns:[],order:[],start:l,length:n,search:{value:e.sSearch,regex:e.bRegex}};for(l=0;l<c;l++){var u=b[l];var sa=h[l];n="function"==typeof u.mData?"function":u.mData;p.columns.push({data:n,name:u.sName,searchable:u.bSearchable,orderable:u.bSortable,search:{value:sa.sSearch,regex:sa.bRegex}});m("mDataProp_"+l,n);d.bFilter&&
-(m("sSearch_"+l,sa.sSearch),m("bRegex_"+l,sa.bRegex),m("bSearchable_"+l,u.bSearchable));d.bSort&&m("bSortable_"+l,u.bSortable)}d.bFilter&&(m("sSearch",e.sSearch),m("bRegex",e.bRegex));d.bSort&&(f.each(k,function(a,b){p.order.push({column:b.col,dir:b.dir});m("iSortCol_"+a,b.col);m("sSortDir_"+a,b.dir)}),m("iSortingCols",k.length));b=q.ext.legacy.ajax;return null===b?a.sAjaxSource?g:p:b?g:p}function Ab(a,b){var c=function(a,c){return b[a]!==p?b[a]:b[c]},d=wa(a,b),e=c("sEcho","draw"),h=c("iTotalRecords",
-"recordsTotal");c=c("iTotalDisplayRecords","recordsFiltered");if(e){if(1*e<a.iDraw)return;a.iDraw=1*e}qa(a);a._iRecordsTotal=parseInt(h,10);a._iRecordsDisplay=parseInt(c,10);e=0;for(h=d.length;e<h;e++)R(a,d[e]);a.aiDisplay=a.aiDisplayMaster.slice();a.bAjaxDataGet=!1;S(a);a._bInitComplete||xa(a,b);a.bAjaxDataGet=!0;K(a,!1)}function wa(a,b){a=f.isPlainObject(a.ajax)&&a.ajax.dataSrc!==p?a.ajax.dataSrc:a.sAjaxDataProp;return"data"===a?b.aaData||b[a]:""!==a?U(a)(b):b}function ub(a){var b=a.oClasses,c=
-a.sTableId,d=a.oLanguage,e=a.oPreviousSearch,h=a.aanFeatures,g='<input type="search" class="'+b.sFilterInput+'"/>',k=d.sSearch;k=k.match(/_INPUT_/)?k.replace("_INPUT_",g):k+g;b=f("<div/>",{id:h.f?null:c+"_filter","class":b.sFilter}).append(f("<label/>").append(k));h=function(){var b=this.value?this.value:"";b!=e.sSearch&&(ia(a,{sSearch:b,bRegex:e.bRegex,bSmart:e.bSmart,bCaseInsensitive:e.bCaseInsensitive}),a._iDisplayStart=0,S(a))};g=null!==a.searchDelay?a.searchDelay:"ssp"===D(a)?400:0;var l=f("input",
-b).val(e.sSearch).attr("placeholder",d.sSearchPlaceholder).on("keyup.DT search.DT input.DT paste.DT cut.DT",g?Sa(h,g):h).on("keypress.DT",function(a){if(13==a.keyCode)return!1}).attr("aria-controls",c);f(a.nTable).on("search.dt.DT",function(b,c){if(a===c)try{l[0]!==y.activeElement&&l.val(e.sSearch)}catch(w){}});return b[0]}function ia(a,b,c){var d=a.oPreviousSearch,e=a.aoPreSearchCols,h=function(a){d.sSearch=a.sSearch;d.bRegex=a.bRegex;d.bSmart=a.bSmart;d.bCaseInsensitive=a.bCaseInsensitive},g=function(a){return a.bEscapeRegex!==
-p?!a.bEscapeRegex:a.bRegex};Ka(a);if("ssp"!=D(a)){Bb(a,b.sSearch,c,g(b),b.bSmart,b.bCaseInsensitive);h(b);for(b=0;b<e.length;b++)Cb(a,e[b].sSearch,b,g(e[b]),e[b].bSmart,e[b].bCaseInsensitive);Db(a)}else h(b);a.bFiltered=!0;A(a,null,"search",[a])}function Db(a){for(var b=q.ext.search,c=a.aiDisplay,d,e,h=0,g=b.length;h<g;h++){for(var k=[],l=0,n=c.length;l<n;l++)e=c[l],d=a.aoData[e],b[h](a,d._aFilterData,e,d._aData,l)&&k.push(e);c.length=0;f.merge(c,k)}}function Cb(a,b,c,d,e,h){if(""!==b){var g=[],k=
-a.aiDisplay;d=Ta(b,d,e,h);for(e=0;e<k.length;e++)b=a.aoData[k[e]]._aFilterData[c],d.test(b)&&g.push(k[e]);a.aiDisplay=g}}function Bb(a,b,c,d,e,h){e=Ta(b,d,e,h);var g=a.oPreviousSearch.sSearch,k=a.aiDisplayMaster;h=[];0!==q.ext.search.length&&(c=!0);var f=Eb(a);if(0>=b.length)a.aiDisplay=k.slice();else{if(f||c||d||g.length>b.length||0!==b.indexOf(g)||a.bSorted)a.aiDisplay=k.slice();b=a.aiDisplay;for(c=0;c<b.length;c++)e.test(a.aoData[b[c]]._sFilterRow)&&h.push(b[c]);a.aiDisplay=h}}function Ta(a,b,
-c,d){a=b?a:Ua(a);c&&(a="^(?=.*?"+f.map(a.match(/"[^"]+"|[^ ]+/g)||[""],function(a){if('"'===a.charAt(0)){var b=a.match(/^"(.*)"$/);a=b?b[1]:a}return a.replace('"',"")}).join(")(?=.*?")+").*$");return new RegExp(a,d?"i":"")}function Eb(a){var b=a.aoColumns,c,d,e=q.ext.type.search;var h=!1;var g=0;for(c=a.aoData.length;g<c;g++){var k=a.aoData[g];if(!k._aFilterData){var f=[];var n=0;for(d=b.length;n<d;n++){h=b[n];if(h.bSearchable){var m=I(a,g,n,"filter");e[h.sType]&&(m=e[h.sType](m));null===m&&(m="");
-"string"!==typeof m&&m.toString&&(m=m.toString())}else m="";m.indexOf&&-1!==m.indexOf("&")&&(ya.innerHTML=m,m=$b?ya.textContent:ya.innerText);m.replace&&(m=m.replace(/[\r\n\u2028]/g,""));f.push(m)}k._aFilterData=f;k._sFilterRow=f.join("  ");h=!0}}return h}function Fb(a){return{search:a.sSearch,smart:a.bSmart,regex:a.bRegex,caseInsensitive:a.bCaseInsensitive}}function Gb(a){return{sSearch:a.search,bSmart:a.smart,bRegex:a.regex,bCaseInsensitive:a.caseInsensitive}}function xb(a){var b=a.sTableId,c=a.aanFeatures.i,
-d=f("<div/>",{"class":a.oClasses.sInfo,id:c?null:b+"_info"});c||(a.aoDrawCallback.push({fn:Hb,sName:"information"}),d.attr("role","status").attr("aria-live","polite"),f(a.nTable).attr("aria-describedby",b+"_info"));return d[0]}function Hb(a){var b=a.aanFeatures.i;if(0!==b.length){var c=a.oLanguage,d=a._iDisplayStart+1,e=a.fnDisplayEnd(),h=a.fnRecordsTotal(),g=a.fnRecordsDisplay(),k=g?c.sInfo:c.sInfoEmpty;g!==h&&(k+=" "+c.sInfoFiltered);k+=c.sInfoPostFix;k=Ib(a,k);c=c.fnInfoCallback;null!==c&&(k=c.call(a.oInstance,
-a,d,e,h,g,k));f(b).html(k)}}function Ib(a,b){var c=a.fnFormatNumber,d=a._iDisplayStart+1,e=a._iDisplayLength,h=a.fnRecordsDisplay(),g=-1===e;return b.replace(/_START_/g,c.call(a,d)).replace(/_END_/g,c.call(a,a.fnDisplayEnd())).replace(/_MAX_/g,c.call(a,a.fnRecordsTotal())).replace(/_TOTAL_/g,c.call(a,h)).replace(/_PAGE_/g,c.call(a,g?1:Math.ceil(d/e))).replace(/_PAGES_/g,c.call(a,g?1:Math.ceil(h/e)))}function ja(a){var b=a.iInitDisplayStart,c=a.aoColumns;var d=a.oFeatures;var e=a.bDeferLoading;if(a.bInitialised){sb(a);
-pb(a);ha(a,a.aoHeader);ha(a,a.aoFooter);K(a,!0);d.bAutoWidth&&Ja(a);var h=0;for(d=c.length;h<d;h++){var g=c[h];g.sWidth&&(g.nTh.style.width=B(g.sWidth))}A(a,null,"preInit",[a]);V(a);c=D(a);if("ssp"!=c||e)"ajax"==c?va(a,[],function(c){var d=wa(a,c);for(h=0;h<d.length;h++)R(a,d[h]);a.iInitDisplayStart=b;V(a);K(a,!1);xa(a,c)},a):(K(a,!1),xa(a))}else setTimeout(function(){ja(a)},200)}function xa(a,b){a._bInitComplete=!0;(b||a.oInit.aaData)&&aa(a);A(a,null,"plugin-init",[a,b]);A(a,"aoInitComplete","init",
-[a,b])}function Va(a,b){b=parseInt(b,10);a._iDisplayLength=b;Wa(a);A(a,null,"length",[a,b])}function tb(a){var b=a.oClasses,c=a.sTableId,d=a.aLengthMenu,e=f.isArray(d[0]),h=e?d[0]:d;d=e?d[1]:d;e=f("<select/>",{name:c+"_length","aria-controls":c,"class":b.sLengthSelect});for(var g=0,k=h.length;g<k;g++)e[0][g]=new Option("number"===typeof d[g]?a.fnFormatNumber(d[g]):d[g],h[g]);var l=f("<div><label/></div>").addClass(b.sLength);a.aanFeatures.l||(l[0].id=c+"_length");l.children().append(a.oLanguage.sLengthMenu.replace("_MENU_",
-e[0].outerHTML));f("select",l).val(a._iDisplayLength).on("change.DT",function(b){Va(a,f(this).val());S(a)});f(a.nTable).on("length.dt.DT",function(b,c,d){a===c&&f("select",l).val(d)});return l[0]}function yb(a){var b=a.sPaginationType,c=q.ext.pager[b],d="function"===typeof c,e=function(a){S(a)};b=f("<div/>").addClass(a.oClasses.sPaging+b)[0];var h=a.aanFeatures;d||c.fnInit(a,b,e);h.p||(b.id=a.sTableId+"_paginate",a.aoDrawCallback.push({fn:function(a){if(d){var b=a._iDisplayStart,g=a._iDisplayLength,
-f=a.fnRecordsDisplay(),m=-1===g;b=m?0:Math.ceil(b/g);g=m?1:Math.ceil(f/g);f=c(b,g);var p;m=0;for(p=h.p.length;m<p;m++)Ra(a,"pageButton")(a,h.p[m],m,f,b,g)}else c.fnUpdate(a,e)},sName:"pagination"}));return b}function Xa(a,b,c){var d=a._iDisplayStart,e=a._iDisplayLength,h=a.fnRecordsDisplay();0===h||-1===e?d=0:"number"===typeof b?(d=b*e,d>h&&(d=0)):"first"==b?d=0:"previous"==b?(d=0<=e?d-e:0,0>d&&(d=0)):"next"==b?d+e<h&&(d+=e):"last"==b?d=Math.floor((h-1)/e)*e:O(a,0,"Unknown paging action: "+b,5);b=
-a._iDisplayStart!==d;a._iDisplayStart=d;b&&(A(a,null,"page",[a]),c&&S(a));return b}function vb(a){return f("<div/>",{id:a.aanFeatures.r?null:a.sTableId+"_processing","class":a.oClasses.sProcessing}).html(a.oLanguage.sProcessing).insertBefore(a.nTable)[0]}function K(a,b){a.oFeatures.bProcessing&&f(a.aanFeatures.r).css("display",b?"block":"none");A(a,null,"processing",[a,b])}function wb(a){var b=f(a.nTable);b.attr("role","grid");var c=a.oScroll;if(""===c.sX&&""===c.sY)return a.nTable;var d=c.sX,e=c.sY,
-h=a.oClasses,g=b.children("caption"),k=g.length?g[0]._captionSide:null,l=f(b[0].cloneNode(!1)),n=f(b[0].cloneNode(!1)),m=b.children("tfoot");m.length||(m=null);l=f("<div/>",{"class":h.sScrollWrapper}).append(f("<div/>",{"class":h.sScrollHead}).css({overflow:"hidden",position:"relative",border:0,width:d?d?B(d):null:"100%"}).append(f("<div/>",{"class":h.sScrollHeadInner}).css({"box-sizing":"content-box",width:c.sXInner||"100%"}).append(l.removeAttr("id").css("margin-left",0).append("top"===k?g:null).append(b.children("thead"))))).append(f("<div/>",
-{"class":h.sScrollBody}).css({position:"relative",overflow:"auto",width:d?B(d):null}).append(b));m&&l.append(f("<div/>",{"class":h.sScrollFoot}).css({overflow:"hidden",border:0,width:d?d?B(d):null:"100%"}).append(f("<div/>",{"class":h.sScrollFootInner}).append(n.removeAttr("id").css("margin-left",0).append("bottom"===k?g:null).append(b.children("tfoot")))));b=l.children();var p=b[0];h=b[1];var u=m?b[2]:null;if(d)f(h).on("scroll.DT",function(a){a=this.scrollLeft;p.scrollLeft=a;m&&(u.scrollLeft=a)});
-f(h).css(e&&c.bCollapse?"max-height":"height",e);a.nScrollHead=p;a.nScrollBody=h;a.nScrollFoot=u;a.aoDrawCallback.push({fn:na,sName:"scrolling"});return l[0]}function na(a){var b=a.oScroll,c=b.sX,d=b.sXInner,e=b.sY;b=b.iBarWidth;var h=f(a.nScrollHead),g=h[0].style,k=h.children("div"),l=k[0].style,n=k.children("table");k=a.nScrollBody;var m=f(k),w=k.style,u=f(a.nScrollFoot).children("div"),q=u.children("table"),t=f(a.nTHead),r=f(a.nTable),v=r[0],za=v.style,T=a.nTFoot?f(a.nTFoot):null,A=a.oBrowser,
-x=A.bScrollOversize,ac=J(a.aoColumns,"nTh"),Ya=[],y=[],z=[],C=[],G,H=function(a){a=a.style;a.paddingTop="0";a.paddingBottom="0";a.borderTopWidth="0";a.borderBottomWidth="0";a.height=0};var D=k.scrollHeight>k.clientHeight;if(a.scrollBarVis!==D&&a.scrollBarVis!==p)a.scrollBarVis=D,aa(a);else{a.scrollBarVis=D;r.children("thead, tfoot").remove();if(T){var E=T.clone().prependTo(r);var F=T.find("tr");E=E.find("tr")}var I=t.clone().prependTo(r);t=t.find("tr");D=I.find("tr");I.find("th, td").removeAttr("tabindex");
-c||(w.width="100%",h[0].style.width="100%");f.each(ua(a,I),function(b,c){G=ba(a,b);c.style.width=a.aoColumns[G].sWidth});T&&N(function(a){a.style.width=""},E);h=r.outerWidth();""===c?(za.width="100%",x&&(r.find("tbody").height()>k.offsetHeight||"scroll"==m.css("overflow-y"))&&(za.width=B(r.outerWidth()-b)),h=r.outerWidth()):""!==d&&(za.width=B(d),h=r.outerWidth());N(H,D);N(function(a){z.push(a.innerHTML);Ya.push(B(f(a).css("width")))},D);N(function(a,b){-1!==f.inArray(a,ac)&&(a.style.width=Ya[b])},
-t);f(D).height(0);T&&(N(H,E),N(function(a){C.push(a.innerHTML);y.push(B(f(a).css("width")))},E),N(function(a,b){a.style.width=y[b]},F),f(E).height(0));N(function(a,b){a.innerHTML='<div class="dataTables_sizing">'+z[b]+"</div>";a.childNodes[0].style.height="0";a.childNodes[0].style.overflow="hidden";a.style.width=Ya[b]},D);T&&N(function(a,b){a.innerHTML='<div class="dataTables_sizing">'+C[b]+"</div>";a.childNodes[0].style.height="0";a.childNodes[0].style.overflow="hidden";a.style.width=y[b]},E);r.outerWidth()<
-h?(F=k.scrollHeight>k.offsetHeight||"scroll"==m.css("overflow-y")?h+b:h,x&&(k.scrollHeight>k.offsetHeight||"scroll"==m.css("overflow-y"))&&(za.width=B(F-b)),""!==c&&""===d||O(a,1,"Possible column misalignment",6)):F="100%";w.width=B(F);g.width=B(F);T&&(a.nScrollFoot.style.width=B(F));!e&&x&&(w.height=B(v.offsetHeight+b));c=r.outerWidth();n[0].style.width=B(c);l.width=B(c);d=r.height()>k.clientHeight||"scroll"==m.css("overflow-y");e="padding"+(A.bScrollbarLeft?"Left":"Right");l[e]=d?b+"px":"0px";T&&
-(q[0].style.width=B(c),u[0].style.width=B(c),u[0].style[e]=d?b+"px":"0px");r.children("colgroup").insertBefore(r.children("thead"));m.trigger("scroll");!a.bSorted&&!a.bFiltered||a._drawHold||(k.scrollTop=0)}}function N(a,b,c){for(var d=0,e=0,h=b.length,g,k;e<h;){g=b[e].firstChild;for(k=c?c[e].firstChild:null;g;)1===g.nodeType&&(c?a(g,k,d):a(g,d),d++),g=g.nextSibling,k=c?k.nextSibling:null;e++}}function Ja(a){var b=a.nTable,c=a.aoColumns,d=a.oScroll,e=d.sY,h=d.sX,g=d.sXInner,k=c.length,l=oa(a,"bVisible"),
-n=f("th",a.nTHead),m=b.getAttribute("width"),p=b.parentNode,u=!1,q,t=a.oBrowser;d=t.bScrollOversize;(q=b.style.width)&&-1!==q.indexOf("%")&&(m=q);for(q=0;q<l.length;q++){var r=c[l[q]];null!==r.sWidth&&(r.sWidth=Jb(r.sWidthOrig,p),u=!0)}if(d||!u&&!h&&!e&&k==W(a)&&k==n.length)for(q=0;q<k;q++)l=ba(a,q),null!==l&&(c[l].sWidth=B(n.eq(q).width()));else{k=f(b).clone().css("visibility","hidden").removeAttr("id");k.find("tbody tr").remove();var v=f("<tr/>").appendTo(k.find("tbody"));k.find("thead, tfoot").remove();
-k.append(f(a.nTHead).clone()).append(f(a.nTFoot).clone());k.find("tfoot th, tfoot td").css("width","");n=ua(a,k.find("thead")[0]);for(q=0;q<l.length;q++)r=c[l[q]],n[q].style.width=null!==r.sWidthOrig&&""!==r.sWidthOrig?B(r.sWidthOrig):"",r.sWidthOrig&&h&&f(n[q]).append(f("<div/>").css({width:r.sWidthOrig,margin:0,padding:0,border:0,height:1}));if(a.aoData.length)for(q=0;q<l.length;q++)u=l[q],r=c[u],f(Kb(a,u)).clone(!1).append(r.sContentPadding).appendTo(v);f("[name]",k).removeAttr("name");r=f("<div/>").css(h||
-e?{position:"absolute",top:0,left:0,height:1,right:0,overflow:"hidden"}:{}).append(k).appendTo(p);h&&g?k.width(g):h?(k.css("width","auto"),k.removeAttr("width"),k.width()<p.clientWidth&&m&&k.width(p.clientWidth)):e?k.width(p.clientWidth):m&&k.width(m);for(q=e=0;q<l.length;q++)p=f(n[q]),g=p.outerWidth()-p.width(),p=t.bBounding?Math.ceil(n[q].getBoundingClientRect().width):p.outerWidth(),e+=p,c[l[q]].sWidth=B(p-g);b.style.width=B(e);r.remove()}m&&(b.style.width=B(m));!m&&!h||a._reszEvt||(b=function(){f(z).on("resize.DT-"+
-a.sInstance,Sa(function(){aa(a)}))},d?setTimeout(b,1E3):b(),a._reszEvt=!0)}function Jb(a,b){if(!a)return 0;a=f("<div/>").css("width",B(a)).appendTo(b||y.body);b=a[0].offsetWidth;a.remove();return b}function Kb(a,b){var c=Lb(a,b);if(0>c)return null;var d=a.aoData[c];return d.nTr?d.anCells[b]:f("<td/>").html(I(a,c,b,"display"))[0]}function Lb(a,b){for(var c,d=-1,e=-1,h=0,g=a.aoData.length;h<g;h++)c=I(a,h,b,"display")+"",c=c.replace(bc,""),c=c.replace(/&nbsp;/g," "),c.length>d&&(d=c.length,e=h);return e}
-function B(a){return null===a?"0px":"number"==typeof a?0>a?"0px":a+"px":a.match(/\d$/)?a+"px":a}function Y(a){var b=[],c=a.aoColumns;var d=a.aaSortingFixed;var e=f.isPlainObject(d);var h=[];var g=function(a){a.length&&!f.isArray(a[0])?h.push(a):f.merge(h,a)};f.isArray(d)&&g(d);e&&d.pre&&g(d.pre);g(a.aaSorting);e&&d.post&&g(d.post);for(a=0;a<h.length;a++){var k=h[a][0];g=c[k].aDataSort;d=0;for(e=g.length;d<e;d++){var l=g[d];var n=c[l].sType||"string";h[a]._idx===p&&(h[a]._idx=f.inArray(h[a][1],c[l].asSorting));
-b.push({src:k,col:l,dir:h[a][1],index:h[a]._idx,type:n,formatter:q.ext.type.order[n+"-pre"]})}}return b}function rb(a){var b,c=[],d=q.ext.type.order,e=a.aoData,h=0,g=a.aiDisplayMaster;Ka(a);var k=Y(a);var f=0;for(b=k.length;f<b;f++){var n=k[f];n.formatter&&h++;Mb(a,n.col)}if("ssp"!=D(a)&&0!==k.length){f=0;for(b=g.length;f<b;f++)c[g[f]]=f;h===k.length?g.sort(function(a,b){var d,h=k.length,g=e[a]._aSortData,f=e[b]._aSortData;for(d=0;d<h;d++){var l=k[d];var m=g[l.col];var n=f[l.col];m=m<n?-1:m>n?1:0;
-if(0!==m)return"asc"===l.dir?m:-m}m=c[a];n=c[b];return m<n?-1:m>n?1:0}):g.sort(function(a,b){var h,g=k.length,f=e[a]._aSortData,l=e[b]._aSortData;for(h=0;h<g;h++){var m=k[h];var n=f[m.col];var p=l[m.col];m=d[m.type+"-"+m.dir]||d["string-"+m.dir];n=m(n,p);if(0!==n)return n}n=c[a];p=c[b];return n<p?-1:n>p?1:0})}a.bSorted=!0}function Nb(a){var b=a.aoColumns,c=Y(a);a=a.oLanguage.oAria;for(var d=0,e=b.length;d<e;d++){var h=b[d];var g=h.asSorting;var k=h.sTitle.replace(/<.*?>/g,"");var f=h.nTh;f.removeAttribute("aria-sort");
-h.bSortable&&(0<c.length&&c[0].col==d?(f.setAttribute("aria-sort","asc"==c[0].dir?"ascending":"descending"),h=g[c[0].index+1]||g[0]):h=g[0],k+="asc"===h?a.sSortAscending:a.sSortDescending);f.setAttribute("aria-label",k)}}function Za(a,b,c,d){var e=a.aaSorting,h=a.aoColumns[b].asSorting,g=function(a,b){var c=a._idx;c===p&&(c=f.inArray(a[1],h));return c+1<h.length?c+1:b?null:0};"number"===typeof e[0]&&(e=a.aaSorting=[e]);c&&a.oFeatures.bSortMulti?(c=f.inArray(b,J(e,"0")),-1!==c?(b=g(e[c],!0),null===
-b&&1===e.length&&(b=0),null===b?e.splice(c,1):(e[c][1]=h[b],e[c]._idx=b)):(e.push([b,h[0],0]),e[e.length-1]._idx=0)):e.length&&e[0][0]==b?(b=g(e[0]),e.length=1,e[0][1]=h[b],e[0]._idx=b):(e.length=0,e.push([b,h[0]]),e[0]._idx=0);V(a);"function"==typeof d&&d(a)}function Qa(a,b,c,d){var e=a.aoColumns[c];$a(b,{},function(b){!1!==e.bSortable&&(a.oFeatures.bProcessing?(K(a,!0),setTimeout(function(){Za(a,c,b.shiftKey,d);"ssp"!==D(a)&&K(a,!1)},0)):Za(a,c,b.shiftKey,d))})}function Aa(a){var b=a.aLastSort,
-c=a.oClasses.sSortColumn,d=Y(a),e=a.oFeatures,h;if(e.bSort&&e.bSortClasses){e=0;for(h=b.length;e<h;e++){var g=b[e].src;f(J(a.aoData,"anCells",g)).removeClass(c+(2>e?e+1:3))}e=0;for(h=d.length;e<h;e++)g=d[e].src,f(J(a.aoData,"anCells",g)).addClass(c+(2>e?e+1:3))}a.aLastSort=d}function Mb(a,b){var c=a.aoColumns[b],d=q.ext.order[c.sSortDataType],e;d&&(e=d.call(a.oInstance,a,b,ca(a,b)));for(var h,g=q.ext.type.order[c.sType+"-pre"],k=0,f=a.aoData.length;k<f;k++)if(c=a.aoData[k],c._aSortData||(c._aSortData=
-[]),!c._aSortData[b]||d)h=d?e[k]:I(a,k,b,"sort"),c._aSortData[b]=g?g(h):h}function Ba(a){if(a.oFeatures.bStateSave&&!a.bDestroying){var b={time:+new Date,start:a._iDisplayStart,length:a._iDisplayLength,order:f.extend(!0,[],a.aaSorting),search:Fb(a.oPreviousSearch),columns:f.map(a.aoColumns,function(b,d){return{visible:b.bVisible,search:Fb(a.aoPreSearchCols[d])}})};A(a,"aoStateSaveParams","stateSaveParams",[a,b]);a.oSavedState=b;a.fnStateSaveCallback.call(a.oInstance,a,b)}}function Ob(a,b,c){var d,
-e,h=a.aoColumns;b=function(b){if(b&&b.time){var g=A(a,"aoStateLoadParams","stateLoadParams",[a,b]);if(-1===f.inArray(!1,g)&&(g=a.iStateDuration,!(0<g&&b.time<+new Date-1E3*g||b.columns&&h.length!==b.columns.length))){a.oLoadedState=f.extend(!0,{},b);b.start!==p&&(a._iDisplayStart=b.start,a.iInitDisplayStart=b.start);b.length!==p&&(a._iDisplayLength=b.length);b.order!==p&&(a.aaSorting=[],f.each(b.order,function(b,c){a.aaSorting.push(c[0]>=h.length?[0,c[1]]:c)}));b.search!==p&&f.extend(a.oPreviousSearch,
-Gb(b.search));if(b.columns)for(d=0,e=b.columns.length;d<e;d++)g=b.columns[d],g.visible!==p&&(h[d].bVisible=g.visible),g.search!==p&&f.extend(a.aoPreSearchCols[d],Gb(g.search));A(a,"aoStateLoaded","stateLoaded",[a,b])}}c()};if(a.oFeatures.bStateSave){var g=a.fnStateLoadCallback.call(a.oInstance,a,b);g!==p&&b(g)}else c()}function Ca(a){var b=q.settings;a=f.inArray(a,J(b,"nTable"));return-1!==a?b[a]:null}function O(a,b,c,d){c="DataTables warning: "+(a?"table id="+a.sTableId+" - ":"")+c;d&&(c+=". For more information about this error, please see http://datatables.net/tn/"+
-d);if(b)z.console&&console.log&&console.log(c);else if(b=q.ext,b=b.sErrMode||b.errMode,a&&A(a,null,"error",[a,d,c]),"alert"==b)alert(c);else{if("throw"==b)throw Error(c);"function"==typeof b&&b(a,d,c)}}function M(a,b,c,d){f.isArray(c)?f.each(c,function(c,d){f.isArray(d)?M(a,b,d[0],d[1]):M(a,b,d)}):(d===p&&(d=c),b[c]!==p&&(a[d]=b[c]))}function ab(a,b,c){var d;for(d in b)if(b.hasOwnProperty(d)){var e=b[d];f.isPlainObject(e)?(f.isPlainObject(a[d])||(a[d]={}),f.extend(!0,a[d],e)):c&&"data"!==d&&"aaData"!==
-d&&f.isArray(e)?a[d]=e.slice():a[d]=e}return a}function $a(a,b,c){f(a).on("click.DT",b,function(b){f(a).blur();c(b)}).on("keypress.DT",b,function(a){13===a.which&&(a.preventDefault(),c(a))}).on("selectstart.DT",function(){return!1})}function E(a,b,c,d){c&&a[b].push({fn:c,sName:d})}function A(a,b,c,d){var e=[];b&&(e=f.map(a[b].slice().reverse(),function(b,c){return b.fn.apply(a.oInstance,d)}));null!==c&&(b=f.Event(c+".dt"),f(a.nTable).trigger(b,d),e.push(b.result));return e}function Wa(a){var b=a._iDisplayStart,
-c=a.fnDisplayEnd(),d=a._iDisplayLength;b>=c&&(b=c-d);b-=b%d;if(-1===d||0>b)b=0;a._iDisplayStart=b}function Ra(a,b){a=a.renderer;var c=q.ext.renderer[b];return f.isPlainObject(a)&&a[b]?c[a[b]]||c._:"string"===typeof a?c[a]||c._:c._}function D(a){return a.oFeatures.bServerSide?"ssp":a.ajax||a.sAjaxSource?"ajax":"dom"}function ka(a,b){var c=Pb.numbers_length,d=Math.floor(c/2);b<=c?a=Z(0,b):a<=d?(a=Z(0,c-2),a.push("ellipsis"),a.push(b-1)):(a>=b-1-d?a=Z(b-(c-2),b):(a=Z(a-d+2,a+d-1),a.push("ellipsis"),
-a.push(b-1)),a.splice(0,0,"ellipsis"),a.splice(0,0,0));a.DT_el="span";return a}function Ha(a){f.each({num:function(b){return Da(b,a)},"num-fmt":function(b){return Da(b,a,bb)},"html-num":function(b){return Da(b,a,Ea)},"html-num-fmt":function(b){return Da(b,a,Ea,bb)}},function(b,c){C.type.order[b+a+"-pre"]=c;b.match(/^html\-/)&&(C.type.search[b+a]=C.type.search.html)})}function Qb(a){return function(){var b=[Ca(this[q.ext.iApiIndex])].concat(Array.prototype.slice.call(arguments));return q.ext.internal[a].apply(this,
-b)}}var q=function(a){this.$=function(a,b){return this.api(!0).$(a,b)};this._=function(a,b){return this.api(!0).rows(a,b).data()};this.api=function(a){return a?new v(Ca(this[C.iApiIndex])):new v(this)};this.fnAddData=function(a,b){var c=this.api(!0);a=f.isArray(a)&&(f.isArray(a[0])||f.isPlainObject(a[0]))?c.rows.add(a):c.row.add(a);(b===p||b)&&c.draw();return a.flatten().toArray()};this.fnAdjustColumnSizing=function(a){var b=this.api(!0).columns.adjust(),c=b.settings()[0],d=c.oScroll;a===p||a?b.draw(!1):
-(""!==d.sX||""!==d.sY)&&na(c)};this.fnClearTable=function(a){var b=this.api(!0).clear();(a===p||a)&&b.draw()};this.fnClose=function(a){this.api(!0).row(a).child.hide()};this.fnDeleteRow=function(a,b,c){var d=this.api(!0);a=d.rows(a);var e=a.settings()[0],h=e.aoData[a[0][0]];a.remove();b&&b.call(this,e,h);(c===p||c)&&d.draw();return h};this.fnDestroy=function(a){this.api(!0).destroy(a)};this.fnDraw=function(a){this.api(!0).draw(a)};this.fnFilter=function(a,b,c,d,e,f){e=this.api(!0);null===b||b===p?
-e.search(a,c,d,f):e.column(b).search(a,c,d,f);e.draw()};this.fnGetData=function(a,b){var c=this.api(!0);if(a!==p){var d=a.nodeName?a.nodeName.toLowerCase():"";return b!==p||"td"==d||"th"==d?c.cell(a,b).data():c.row(a).data()||null}return c.data().toArray()};this.fnGetNodes=function(a){var b=this.api(!0);return a!==p?b.row(a).node():b.rows().nodes().flatten().toArray()};this.fnGetPosition=function(a){var b=this.api(!0),c=a.nodeName.toUpperCase();return"TR"==c?b.row(a).index():"TD"==c||"TH"==c?(a=b.cell(a).index(),
-[a.row,a.columnVisible,a.column]):null};this.fnIsOpen=function(a){return this.api(!0).row(a).child.isShown()};this.fnOpen=function(a,b,c){return this.api(!0).row(a).child(b,c).show().child()[0]};this.fnPageChange=function(a,b){a=this.api(!0).page(a);(b===p||b)&&a.draw(!1)};this.fnSetColumnVis=function(a,b,c){a=this.api(!0).column(a).visible(b);(c===p||c)&&a.columns.adjust().draw()};this.fnSettings=function(){return Ca(this[C.iApiIndex])};this.fnSort=function(a){this.api(!0).order(a).draw()};this.fnSortListener=
-function(a,b,c){this.api(!0).order.listener(a,b,c)};this.fnUpdate=function(a,b,c,d,e){var h=this.api(!0);c===p||null===c?h.row(b).data(a):h.cell(b,c).data(a);(e===p||e)&&h.columns.adjust();(d===p||d)&&h.draw();return 0};this.fnVersionCheck=C.fnVersionCheck;var b=this,c=a===p,d=this.length;c&&(a={});this.oApi=this.internal=C.internal;for(var e in q.ext.internal)e&&(this[e]=Qb(e));this.each(function(){var e={},g=1<d?ab(e,a,!0):a,k=0,l;e=this.getAttribute("id");var n=!1,m=q.defaults,w=f(this);if("table"!=
-this.nodeName.toLowerCase())O(null,0,"Non-table node initialisation ("+this.nodeName+")",2);else{jb(m);kb(m.column);L(m,m,!0);L(m.column,m.column,!0);L(m,f.extend(g,w.data()),!0);var u=q.settings;k=0;for(l=u.length;k<l;k++){var t=u[k];if(t.nTable==this||t.nTHead&&t.nTHead.parentNode==this||t.nTFoot&&t.nTFoot.parentNode==this){var v=g.bRetrieve!==p?g.bRetrieve:m.bRetrieve;if(c||v)return t.oInstance;if(g.bDestroy!==p?g.bDestroy:m.bDestroy){t.oInstance.fnDestroy();break}else{O(t,0,"Cannot reinitialise DataTable",
-3);return}}if(t.sTableId==this.id){u.splice(k,1);break}}if(null===e||""===e)this.id=e="DataTables_Table_"+q.ext._unique++;var r=f.extend(!0,{},q.models.oSettings,{sDestroyWidth:w[0].style.width,sInstance:e,sTableId:e});r.nTable=this;r.oApi=b.internal;r.oInit=g;u.push(r);r.oInstance=1===b.length?b:w.dataTable();jb(g);Ga(g.oLanguage);g.aLengthMenu&&!g.iDisplayLength&&(g.iDisplayLength=f.isArray(g.aLengthMenu[0])?g.aLengthMenu[0][0]:g.aLengthMenu[0]);g=ab(f.extend(!0,{},m),g);M(r.oFeatures,g,"bPaginate bLengthChange bFilter bSort bSortMulti bInfo bProcessing bAutoWidth bSortClasses bServerSide bDeferRender".split(" "));
-M(r,g,["asStripeClasses","ajax","fnServerData","fnFormatNumber","sServerMethod","aaSorting","aaSortingFixed","aLengthMenu","sPaginationType","sAjaxSource","sAjaxDataProp","iStateDuration","sDom","bSortCellsTop","iTabIndex","fnStateLoadCallback","fnStateSaveCallback","renderer","searchDelay","rowId",["iCookieDuration","iStateDuration"],["oSearch","oPreviousSearch"],["aoSearchCols","aoPreSearchCols"],["iDisplayLength","_iDisplayLength"]]);M(r.oScroll,g,[["sScrollX","sX"],["sScrollXInner","sXInner"],
-["sScrollY","sY"],["bScrollCollapse","bCollapse"]]);M(r.oLanguage,g,"fnInfoCallback");E(r,"aoDrawCallback",g.fnDrawCallback,"user");E(r,"aoServerParams",g.fnServerParams,"user");E(r,"aoStateSaveParams",g.fnStateSaveParams,"user");E(r,"aoStateLoadParams",g.fnStateLoadParams,"user");E(r,"aoStateLoaded",g.fnStateLoaded,"user");E(r,"aoRowCallback",g.fnRowCallback,"user");E(r,"aoRowCreatedCallback",g.fnCreatedRow,"user");E(r,"aoHeaderCallback",g.fnHeaderCallback,"user");E(r,"aoFooterCallback",g.fnFooterCallback,
-"user");E(r,"aoInitComplete",g.fnInitComplete,"user");E(r,"aoPreDrawCallback",g.fnPreDrawCallback,"user");r.rowIdFn=U(g.rowId);lb(r);var x=r.oClasses;f.extend(x,q.ext.classes,g.oClasses);w.addClass(x.sTable);r.iInitDisplayStart===p&&(r.iInitDisplayStart=g.iDisplayStart,r._iDisplayStart=g.iDisplayStart);null!==g.iDeferLoading&&(r.bDeferLoading=!0,e=f.isArray(g.iDeferLoading),r._iRecordsDisplay=e?g.iDeferLoading[0]:g.iDeferLoading,r._iRecordsTotal=e?g.iDeferLoading[1]:g.iDeferLoading);var y=r.oLanguage;
-f.extend(!0,y,g.oLanguage);y.sUrl&&(f.ajax({dataType:"json",url:y.sUrl,success:function(a){Ga(a);L(m.oLanguage,a);f.extend(!0,y,a);ja(r)},error:function(){ja(r)}}),n=!0);null===g.asStripeClasses&&(r.asStripeClasses=[x.sStripeOdd,x.sStripeEven]);e=r.asStripeClasses;var z=w.children("tbody").find("tr").eq(0);-1!==f.inArray(!0,f.map(e,function(a,b){return z.hasClass(a)}))&&(f("tbody tr",this).removeClass(e.join(" ")),r.asDestroyStripes=e.slice());e=[];u=this.getElementsByTagName("thead");0!==u.length&&
-(fa(r.aoHeader,u[0]),e=ua(r));if(null===g.aoColumns)for(u=[],k=0,l=e.length;k<l;k++)u.push(null);else u=g.aoColumns;k=0;for(l=u.length;k<l;k++)Ia(r,e?e[k]:null);nb(r,g.aoColumnDefs,u,function(a,b){ma(r,a,b)});if(z.length){var B=function(a,b){return null!==a.getAttribute("data-"+b)?b:null};f(z[0]).children("th, td").each(function(a,b){var c=r.aoColumns[a];if(c.mData===a){var d=B(b,"sort")||B(b,"order");b=B(b,"filter")||B(b,"search");if(null!==d||null!==b)c.mData={_:a+".display",sort:null!==d?a+".@data-"+
-d:p,type:null!==d?a+".@data-"+d:p,filter:null!==b?a+".@data-"+b:p},ma(r,a)}})}var C=r.oFeatures;e=function(){if(g.aaSorting===p){var a=r.aaSorting;k=0;for(l=a.length;k<l;k++)a[k][1]=r.aoColumns[k].asSorting[0]}Aa(r);C.bSort&&E(r,"aoDrawCallback",function(){if(r.bSorted){var a=Y(r),b={};f.each(a,function(a,c){b[c.src]=c.dir});A(r,null,"order",[r,a,b]);Nb(r)}});E(r,"aoDrawCallback",function(){(r.bSorted||"ssp"===D(r)||C.bDeferRender)&&Aa(r)},"sc");a=w.children("caption").each(function(){this._captionSide=
-f(this).css("caption-side")});var b=w.children("thead");0===b.length&&(b=f("<thead/>").appendTo(w));r.nTHead=b[0];b=w.children("tbody");0===b.length&&(b=f("<tbody/>").appendTo(w));r.nTBody=b[0];b=w.children("tfoot");0===b.length&&0<a.length&&(""!==r.oScroll.sX||""!==r.oScroll.sY)&&(b=f("<tfoot/>").appendTo(w));0===b.length||0===b.children().length?w.addClass(x.sNoFooter):0<b.length&&(r.nTFoot=b[0],fa(r.aoFooter,r.nTFoot));if(g.aaData)for(k=0;k<g.aaData.length;k++)R(r,g.aaData[k]);else(r.bDeferLoading||
-"dom"==D(r))&&pa(r,f(r.nTBody).children("tr"));r.aiDisplay=r.aiDisplayMaster.slice();r.bInitialised=!0;!1===n&&ja(r)};g.bStateSave?(C.bStateSave=!0,E(r,"aoDrawCallback",Ba,"state_save"),Ob(r,g,e)):e()}});b=null;return this},C,t,x,cb={},Rb=/[\r\n\u2028]/g,Ea=/<.*?>/g,cc=/^\d{2,4}[\.\/\-]\d{1,2}[\.\/\-]\d{1,2}([T ]{1}\d{1,2}[:\.]\d{2}([\.:]\d{2})?)?$/,dc=/(\/|\.|\*|\+|\?|\||\(|\)|\[|\]|\{|\}|\\|\$|\^|\-)/g,bb=/[',$£€¥%\u2009\u202F\u20BD\u20a9\u20BArfkɃΞ]/gi,P=function(a){return a&&!0!==a&&"-"!==a?!1:
-!0},Sb=function(a){var b=parseInt(a,10);return!isNaN(b)&&isFinite(a)?b:null},Tb=function(a,b){cb[b]||(cb[b]=new RegExp(Ua(b),"g"));return"string"===typeof a&&"."!==b?a.replace(/\./g,"").replace(cb[b],"."):a},db=function(a,b,c){var d="string"===typeof a;if(P(a))return!0;b&&d&&(a=Tb(a,b));c&&d&&(a=a.replace(bb,""));return!isNaN(parseFloat(a))&&isFinite(a)},Ub=function(a,b,c){return P(a)?!0:P(a)||"string"===typeof a?db(a.replace(Ea,""),b,c)?!0:null:null},J=function(a,b,c){var d=[],e=0,h=a.length;if(c!==
-p)for(;e<h;e++)a[e]&&a[e][b]&&d.push(a[e][b][c]);else for(;e<h;e++)a[e]&&d.push(a[e][b]);return d},la=function(a,b,c,d){var e=[],h=0,g=b.length;if(d!==p)for(;h<g;h++)a[b[h]][c]&&e.push(a[b[h]][c][d]);else for(;h<g;h++)e.push(a[b[h]][c]);return e},Z=function(a,b){var c=[];if(b===p){b=0;var d=a}else d=b,b=a;for(a=b;a<d;a++)c.push(a);return c},Vb=function(a){for(var b=[],c=0,d=a.length;c<d;c++)a[c]&&b.push(a[c]);return b},ta=function(a){a:{if(!(2>a.length)){var b=a.slice().sort();for(var c=b[0],d=1,
-e=b.length;d<e;d++){if(b[d]===c){b=!1;break a}c=b[d]}}b=!0}if(b)return a.slice();b=[];e=a.length;var h,g=0;d=0;a:for(;d<e;d++){c=a[d];for(h=0;h<g;h++)if(b[h]===c)continue a;b.push(c);g++}return b};q.util={throttle:function(a,b){var c=b!==p?b:200,d,e;return function(){var b=this,g=+new Date,f=arguments;d&&g<d+c?(clearTimeout(e),e=setTimeout(function(){d=p;a.apply(b,f)},c)):(d=g,a.apply(b,f))}},escapeRegex:function(a){return a.replace(dc,"\\$1")}};var F=function(a,b,c){a[b]!==p&&(a[c]=a[b])},da=/\[.*?\]$/,
-X=/\(\)$/,Ua=q.util.escapeRegex,ya=f("<div>")[0],$b=ya.textContent!==p,bc=/<.*?>/g,Sa=q.util.throttle,Wb=[],G=Array.prototype,ec=function(a){var b,c=q.settings,d=f.map(c,function(a,b){return a.nTable});if(a){if(a.nTable&&a.oApi)return[a];if(a.nodeName&&"table"===a.nodeName.toLowerCase()){var e=f.inArray(a,d);return-1!==e?[c[e]]:null}if(a&&"function"===typeof a.settings)return a.settings().toArray();"string"===typeof a?b=f(a):a instanceof f&&(b=a)}else return[];if(b)return b.map(function(a){e=f.inArray(this,
-d);return-1!==e?c[e]:null}).toArray()};var v=function(a,b){if(!(this instanceof v))return new v(a,b);var c=[],d=function(a){(a=ec(a))&&c.push.apply(c,a)};if(f.isArray(a))for(var e=0,h=a.length;e<h;e++)d(a[e]);else d(a);this.context=ta(c);b&&f.merge(this,b);this.selector={rows:null,cols:null,opts:null};v.extend(this,this,Wb)};q.Api=v;f.extend(v.prototype,{any:function(){return 0!==this.count()},concat:G.concat,context:[],count:function(){return this.flatten().length},each:function(a){for(var b=0,c=
-this.length;b<c;b++)a.call(this,this[b],b,this);return this},eq:function(a){var b=this.context;return b.length>a?new v(b[a],this[a]):null},filter:function(a){var b=[];if(G.filter)b=G.filter.call(this,a,this);else for(var c=0,d=this.length;c<d;c++)a.call(this,this[c],c,this)&&b.push(this[c]);return new v(this.context,b)},flatten:function(){var a=[];return new v(this.context,a.concat.apply(a,this.toArray()))},join:G.join,indexOf:G.indexOf||function(a,b){b=b||0;for(var c=this.length;b<c;b++)if(this[b]===
-a)return b;return-1},iterator:function(a,b,c,d){var e=[],h,g,f=this.context,l,n=this.selector;"string"===typeof a&&(d=c,c=b,b=a,a=!1);var m=0;for(h=f.length;m<h;m++){var q=new v(f[m]);if("table"===b){var u=c.call(q,f[m],m);u!==p&&e.push(u)}else if("columns"===b||"rows"===b)u=c.call(q,f[m],this[m],m),u!==p&&e.push(u);else if("column"===b||"column-rows"===b||"row"===b||"cell"===b){var t=this[m];"column-rows"===b&&(l=Fa(f[m],n.opts));var x=0;for(g=t.length;x<g;x++)u=t[x],u="cell"===b?c.call(q,f[m],u.row,
-u.column,m,x):c.call(q,f[m],u,m,x,l),u!==p&&e.push(u)}}return e.length||d?(a=new v(f,a?e.concat.apply([],e):e),b=a.selector,b.rows=n.rows,b.cols=n.cols,b.opts=n.opts,a):this},lastIndexOf:G.lastIndexOf||function(a,b){return this.indexOf.apply(this.toArray.reverse(),arguments)},length:0,map:function(a){var b=[];if(G.map)b=G.map.call(this,a,this);else for(var c=0,d=this.length;c<d;c++)b.push(a.call(this,this[c],c));return new v(this.context,b)},pluck:function(a){return this.map(function(b){return b[a]})},
-pop:G.pop,push:G.push,reduce:G.reduce||function(a,b){return mb(this,a,b,0,this.length,1)},reduceRight:G.reduceRight||function(a,b){return mb(this,a,b,this.length-1,-1,-1)},reverse:G.reverse,selector:null,shift:G.shift,slice:function(){return new v(this.context,this)},sort:G.sort,splice:G.splice,toArray:function(){return G.slice.call(this)},to$:function(){return f(this)},toJQuery:function(){return f(this)},unique:function(){return new v(this.context,ta(this))},unshift:G.unshift});v.extend=function(a,
-b,c){if(c.length&&b&&(b instanceof v||b.__dt_wrapper)){var d,e=function(a,b,c){return function(){var d=b.apply(a,arguments);v.extend(d,d,c.methodExt);return d}};var h=0;for(d=c.length;h<d;h++){var g=c[h];b[g.name]="function"===g.type?e(a,g.val,g):"object"===g.type?{}:g.val;b[g.name].__dt_wrapper=!0;v.extend(a,b[g.name],g.propExt)}}};v.register=t=function(a,b){if(f.isArray(a))for(var c=0,d=a.length;c<d;c++)v.register(a[c],b);else{d=a.split(".");var e=Wb,h;a=0;for(c=d.length;a<c;a++){var g=(h=-1!==
-d[a].indexOf("()"))?d[a].replace("()",""):d[a];a:{var k=0;for(var l=e.length;k<l;k++)if(e[k].name===g){k=e[k];break a}k=null}k||(k={name:g,val:{},methodExt:[],propExt:[],type:"object"},e.push(k));a===c-1?(k.val=b,k.type="function"===typeof b?"function":f.isPlainObject(b)?"object":"other"):e=h?k.methodExt:k.propExt}}};v.registerPlural=x=function(a,b,c){v.register(a,c);v.register(b,function(){var a=c.apply(this,arguments);return a===this?this:a instanceof v?a.length?f.isArray(a[0])?new v(a.context,
-a[0]):a[0]:p:a})};var fc=function(a,b){if("number"===typeof a)return[b[a]];var c=f.map(b,function(a,b){return a.nTable});return f(c).filter(a).map(function(a){a=f.inArray(this,c);return b[a]}).toArray()};t("tables()",function(a){return a?new v(fc(a,this.context)):this});t("table()",function(a){a=this.tables(a);var b=a.context;return b.length?new v(b[0]):a});x("tables().nodes()","table().node()",function(){return this.iterator("table",function(a){return a.nTable},1)});x("tables().body()","table().body()",
-function(){return this.iterator("table",function(a){return a.nTBody},1)});x("tables().header()","table().header()",function(){return this.iterator("table",function(a){return a.nTHead},1)});x("tables().footer()","table().footer()",function(){return this.iterator("table",function(a){return a.nTFoot},1)});x("tables().containers()","table().container()",function(){return this.iterator("table",function(a){return a.nTableWrapper},1)});t("draw()",function(a){return this.iterator("table",function(b){"page"===
-a?S(b):("string"===typeof a&&(a="full-hold"===a?!1:!0),V(b,!1===a))})});t("page()",function(a){return a===p?this.page.info().page:this.iterator("table",function(b){Xa(b,a)})});t("page.info()",function(a){if(0===this.context.length)return p;a=this.context[0];var b=a._iDisplayStart,c=a.oFeatures.bPaginate?a._iDisplayLength:-1,d=a.fnRecordsDisplay(),e=-1===c;return{page:e?0:Math.floor(b/c),pages:e?1:Math.ceil(d/c),start:b,end:a.fnDisplayEnd(),length:c,recordsTotal:a.fnRecordsTotal(),recordsDisplay:d,
-serverSide:"ssp"===D(a)}});t("page.len()",function(a){return a===p?0!==this.context.length?this.context[0]._iDisplayLength:p:this.iterator("table",function(b){Va(b,a)})});var Xb=function(a,b,c){if(c){var d=new v(a);d.one("draw",function(){c(d.ajax.json())})}if("ssp"==D(a))V(a,b);else{K(a,!0);var e=a.jqXHR;e&&4!==e.readyState&&e.abort();va(a,[],function(c){qa(a);c=wa(a,c);for(var d=0,e=c.length;d<e;d++)R(a,c[d]);V(a,b);K(a,!1)})}};t("ajax.json()",function(){var a=this.context;if(0<a.length)return a[0].json});
-t("ajax.params()",function(){var a=this.context;if(0<a.length)return a[0].oAjaxData});t("ajax.reload()",function(a,b){return this.iterator("table",function(c){Xb(c,!1===b,a)})});t("ajax.url()",function(a){var b=this.context;if(a===p){if(0===b.length)return p;b=b[0];return b.ajax?f.isPlainObject(b.ajax)?b.ajax.url:b.ajax:b.sAjaxSource}return this.iterator("table",function(b){f.isPlainObject(b.ajax)?b.ajax.url=a:b.ajax=a})});t("ajax.url().load()",function(a,b){return this.iterator("table",function(c){Xb(c,
-!1===b,a)})});var eb=function(a,b,c,d,e){var h=[],g,k,l;var n=typeof b;b&&"string"!==n&&"function"!==n&&b.length!==p||(b=[b]);n=0;for(k=b.length;n<k;n++){var m=b[n]&&b[n].split&&!b[n].match(/[\[\(:]/)?b[n].split(","):[b[n]];var q=0;for(l=m.length;q<l;q++)(g=c("string"===typeof m[q]?f.trim(m[q]):m[q]))&&g.length&&(h=h.concat(g))}a=C.selector[a];if(a.length)for(n=0,k=a.length;n<k;n++)h=a[n](d,e,h);return ta(h)},fb=function(a){a||(a={});a.filter&&a.search===p&&(a.search=a.filter);return f.extend({search:"none",
-order:"current",page:"all"},a)},gb=function(a){for(var b=0,c=a.length;b<c;b++)if(0<a[b].length)return a[0]=a[b],a[0].length=1,a.length=1,a.context=[a.context[b]],a;a.length=0;return a},Fa=function(a,b){var c=[],d=a.aiDisplay;var e=a.aiDisplayMaster;var h=b.search;var g=b.order;b=b.page;if("ssp"==D(a))return"removed"===h?[]:Z(0,e.length);if("current"==b)for(g=a._iDisplayStart,a=a.fnDisplayEnd();g<a;g++)c.push(d[g]);else if("current"==g||"applied"==g)if("none"==h)c=e.slice();else if("applied"==h)c=
-d.slice();else{if("removed"==h){var k={};g=0;for(a=d.length;g<a;g++)k[d[g]]=null;c=f.map(e,function(a){return k.hasOwnProperty(a)?null:a})}}else if("index"==g||"original"==g)for(g=0,a=a.aoData.length;g<a;g++)"none"==h?c.push(g):(e=f.inArray(g,d),(-1===e&&"removed"==h||0<=e&&"applied"==h)&&c.push(g));return c},gc=function(a,b,c){var d;return eb("row",b,function(b){var e=Sb(b),g=a.aoData;if(null!==e&&!c)return[e];d||(d=Fa(a,c));if(null!==e&&-1!==f.inArray(e,d))return[e];if(null===b||b===p||""===b)return d;
-if("function"===typeof b)return f.map(d,function(a){var c=g[a];return b(a,c._aData,c.nTr)?a:null});if(b.nodeName){e=b._DT_RowIndex;var k=b._DT_CellIndex;if(e!==p)return g[e]&&g[e].nTr===b?[e]:[];if(k)return g[k.row]&&g[k.row].nTr===b.parentNode?[k.row]:[];e=f(b).closest("*[data-dt-row]");return e.length?[e.data("dt-row")]:[]}if("string"===typeof b&&"#"===b.charAt(0)&&(e=a.aIds[b.replace(/^#/,"")],e!==p))return[e.idx];e=Vb(la(a.aoData,d,"nTr"));return f(e).filter(b).map(function(){return this._DT_RowIndex}).toArray()},
-a,c)};t("rows()",function(a,b){a===p?a="":f.isPlainObject(a)&&(b=a,a="");b=fb(b);var c=this.iterator("table",function(c){return gc(c,a,b)},1);c.selector.rows=a;c.selector.opts=b;return c});t("rows().nodes()",function(){return this.iterator("row",function(a,b){return a.aoData[b].nTr||p},1)});t("rows().data()",function(){return this.iterator(!0,"rows",function(a,b){return la(a.aoData,b,"_aData")},1)});x("rows().cache()","row().cache()",function(a){return this.iterator("row",function(b,c){b=b.aoData[c];
-return"search"===a?b._aFilterData:b._aSortData},1)});x("rows().invalidate()","row().invalidate()",function(a){return this.iterator("row",function(b,c){ea(b,c,a)})});x("rows().indexes()","row().index()",function(){return this.iterator("row",function(a,b){return b},1)});x("rows().ids()","row().id()",function(a){for(var b=[],c=this.context,d=0,e=c.length;d<e;d++)for(var h=0,g=this[d].length;h<g;h++){var f=c[d].rowIdFn(c[d].aoData[this[d][h]]._aData);b.push((!0===a?"#":"")+f)}return new v(c,b)});x("rows().remove()",
-"row().remove()",function(){var a=this;this.iterator("row",function(b,c,d){var e=b.aoData,h=e[c],g,f;e.splice(c,1);var l=0;for(g=e.length;l<g;l++){var n=e[l];var m=n.anCells;null!==n.nTr&&(n.nTr._DT_RowIndex=l);if(null!==m)for(n=0,f=m.length;n<f;n++)m[n]._DT_CellIndex.row=l}ra(b.aiDisplayMaster,c);ra(b.aiDisplay,c);ra(a[d],c,!1);0<b._iRecordsDisplay&&b._iRecordsDisplay--;Wa(b);c=b.rowIdFn(h._aData);c!==p&&delete b.aIds[c]});this.iterator("table",function(a){for(var b=0,d=a.aoData.length;b<d;b++)a.aoData[b].idx=
-b});return this});t("rows.add()",function(a){var b=this.iterator("table",function(b){var c,d=[];var g=0;for(c=a.length;g<c;g++){var f=a[g];f.nodeName&&"TR"===f.nodeName.toUpperCase()?d.push(pa(b,f)[0]):d.push(R(b,f))}return d},1),c=this.rows(-1);c.pop();f.merge(c,b);return c});t("row()",function(a,b){return gb(this.rows(a,b))});t("row().data()",function(a){var b=this.context;if(a===p)return b.length&&this.length?b[0].aoData[this[0]]._aData:p;var c=b[0].aoData[this[0]];c._aData=a;f.isArray(a)&&c.nTr.id&&
-Q(b[0].rowId)(a,c.nTr.id);ea(b[0],this[0],"data");return this});t("row().node()",function(){var a=this.context;return a.length&&this.length?a[0].aoData[this[0]].nTr||null:null});t("row.add()",function(a){a instanceof f&&a.length&&(a=a[0]);var b=this.iterator("table",function(b){return a.nodeName&&"TR"===a.nodeName.toUpperCase()?pa(b,a)[0]:R(b,a)});return this.row(b[0])});var hc=function(a,b,c,d){var e=[],h=function(b,c){if(f.isArray(b)||b instanceof f)for(var d=0,g=b.length;d<g;d++)h(b[d],c);else b.nodeName&&
-"tr"===b.nodeName.toLowerCase()?e.push(b):(d=f("<tr><td/></tr>").addClass(c),f("td",d).addClass(c).html(b)[0].colSpan=W(a),e.push(d[0]))};h(c,d);b._details&&b._details.detach();b._details=f(e);b._detailsShow&&b._details.insertAfter(b.nTr)},hb=function(a,b){var c=a.context;c.length&&(a=c[0].aoData[b!==p?b:a[0]])&&a._details&&(a._details.remove(),a._detailsShow=p,a._details=p)},Yb=function(a,b){var c=a.context;c.length&&a.length&&(a=c[0].aoData[a[0]],a._details&&((a._detailsShow=b)?a._details.insertAfter(a.nTr):
-a._details.detach(),ic(c[0])))},ic=function(a){var b=new v(a),c=a.aoData;b.off("draw.dt.DT_details column-visibility.dt.DT_details destroy.dt.DT_details");0<J(c,"_details").length&&(b.on("draw.dt.DT_details",function(d,e){a===e&&b.rows({page:"current"}).eq(0).each(function(a){a=c[a];a._detailsShow&&a._details.insertAfter(a.nTr)})}),b.on("column-visibility.dt.DT_details",function(b,e,f,g){if(a===e)for(e=W(e),f=0,g=c.length;f<g;f++)b=c[f],b._details&&b._details.children("td[colspan]").attr("colspan",
-e)}),b.on("destroy.dt.DT_details",function(d,e){if(a===e)for(d=0,e=c.length;d<e;d++)c[d]._details&&hb(b,d)}))};t("row().child()",function(a,b){var c=this.context;if(a===p)return c.length&&this.length?c[0].aoData[this[0]]._details:p;!0===a?this.child.show():!1===a?hb(this):c.length&&this.length&&hc(c[0],c[0].aoData[this[0]],a,b);return this});t(["row().child.show()","row().child().show()"],function(a){Yb(this,!0);return this});t(["row().child.hide()","row().child().hide()"],function(){Yb(this,!1);
-return this});t(["row().child.remove()","row().child().remove()"],function(){hb(this);return this});t("row().child.isShown()",function(){var a=this.context;return a.length&&this.length?a[0].aoData[this[0]]._detailsShow||!1:!1});var jc=/^([^:]+):(name|visIdx|visible)$/,Zb=function(a,b,c,d,e){c=[];d=0;for(var f=e.length;d<f;d++)c.push(I(a,e[d],b));return c},kc=function(a,b,c){var d=a.aoColumns,e=J(d,"sName"),h=J(d,"nTh");return eb("column",b,function(b){var g=Sb(b);if(""===b)return Z(d.length);if(null!==
-g)return[0<=g?g:d.length+g];if("function"===typeof b){var l=Fa(a,c);return f.map(d,function(c,d){return b(d,Zb(a,d,0,0,l),h[d])?d:null})}var n="string"===typeof b?b.match(jc):"";if(n)switch(n[2]){case "visIdx":case "visible":g=parseInt(n[1],10);if(0>g){var m=f.map(d,function(a,b){return a.bVisible?b:null});return[m[m.length+g]]}return[ba(a,g)];case "name":return f.map(e,function(a,b){return a===n[1]?b:null});default:return[]}if(b.nodeName&&b._DT_CellIndex)return[b._DT_CellIndex.column];g=f(h).filter(b).map(function(){return f.inArray(this,
-h)}).toArray();if(g.length||!b.nodeName)return g;g=f(b).closest("*[data-dt-column]");return g.length?[g.data("dt-column")]:[]},a,c)};t("columns()",function(a,b){a===p?a="":f.isPlainObject(a)&&(b=a,a="");b=fb(b);var c=this.iterator("table",function(c){return kc(c,a,b)},1);c.selector.cols=a;c.selector.opts=b;return c});x("columns().header()","column().header()",function(a,b){return this.iterator("column",function(a,b){return a.aoColumns[b].nTh},1)});x("columns().footer()","column().footer()",function(a,
-b){return this.iterator("column",function(a,b){return a.aoColumns[b].nTf},1)});x("columns().data()","column().data()",function(){return this.iterator("column-rows",Zb,1)});x("columns().dataSrc()","column().dataSrc()",function(){return this.iterator("column",function(a,b){return a.aoColumns[b].mData},1)});x("columns().cache()","column().cache()",function(a){return this.iterator("column-rows",function(b,c,d,e,f){return la(b.aoData,f,"search"===a?"_aFilterData":"_aSortData",c)},1)});x("columns().nodes()",
-"column().nodes()",function(){return this.iterator("column-rows",function(a,b,c,d,e){return la(a.aoData,e,"anCells",b)},1)});x("columns().visible()","column().visible()",function(a,b){var c=this,d=this.iterator("column",function(b,c){if(a===p)return b.aoColumns[c].bVisible;var d=b.aoColumns,e=d[c],h=b.aoData,n;if(a!==p&&e.bVisible!==a){if(a){var m=f.inArray(!0,J(d,"bVisible"),c+1);d=0;for(n=h.length;d<n;d++){var q=h[d].nTr;b=h[d].anCells;q&&q.insertBefore(b[c],b[m]||null)}}else f(J(b.aoData,"anCells",
-c)).detach();e.bVisible=a}});a!==p&&this.iterator("table",function(d){ha(d,d.aoHeader);ha(d,d.aoFooter);d.aiDisplay.length||f(d.nTBody).find("td[colspan]").attr("colspan",W(d));Ba(d);c.iterator("column",function(c,d){A(c,null,"column-visibility",[c,d,a,b])});(b===p||b)&&c.columns.adjust()});return d});x("columns().indexes()","column().index()",function(a){return this.iterator("column",function(b,c){return"visible"===a?ca(b,c):c},1)});t("columns.adjust()",function(){return this.iterator("table",function(a){aa(a)},
-1)});t("column.index()",function(a,b){if(0!==this.context.length){var c=this.context[0];if("fromVisible"===a||"toData"===a)return ba(c,b);if("fromData"===a||"toVisible"===a)return ca(c,b)}});t("column()",function(a,b){return gb(this.columns(a,b))});var lc=function(a,b,c){var d=a.aoData,e=Fa(a,c),h=Vb(la(d,e,"anCells")),g=f([].concat.apply([],h)),k,l=a.aoColumns.length,n,m,q,u,t,v;return eb("cell",b,function(b){var c="function"===typeof b;if(null===b||b===p||c){n=[];m=0;for(q=e.length;m<q;m++)for(k=
-e[m],u=0;u<l;u++)t={row:k,column:u},c?(v=d[k],b(t,I(a,k,u),v.anCells?v.anCells[u]:null)&&n.push(t)):n.push(t);return n}if(f.isPlainObject(b))return b.column!==p&&b.row!==p&&-1!==f.inArray(b.row,e)?[b]:[];c=g.filter(b).map(function(a,b){return{row:b._DT_CellIndex.row,column:b._DT_CellIndex.column}}).toArray();if(c.length||!b.nodeName)return c;v=f(b).closest("*[data-dt-row]");return v.length?[{row:v.data("dt-row"),column:v.data("dt-column")}]:[]},a,c)};t("cells()",function(a,b,c){f.isPlainObject(a)&&
-(a.row===p?(c=a,a=null):(c=b,b=null));f.isPlainObject(b)&&(c=b,b=null);if(null===b||b===p)return this.iterator("table",function(b){return lc(b,a,fb(c))});var d=c?{page:c.page,order:c.order,search:c.search}:{},e=this.columns(b,d),h=this.rows(a,d),g,k,l,n;d=this.iterator("table",function(a,b){a=[];g=0;for(k=h[b].length;g<k;g++)for(l=0,n=e[b].length;l<n;l++)a.push({row:h[b][g],column:e[b][l]});return a},1);d=c&&c.selected?this.cells(d,c):d;f.extend(d.selector,{cols:b,rows:a,opts:c});return d});x("cells().nodes()",
-"cell().node()",function(){return this.iterator("cell",function(a,b,c){return(a=a.aoData[b])&&a.anCells?a.anCells[c]:p},1)});t("cells().data()",function(){return this.iterator("cell",function(a,b,c){return I(a,b,c)},1)});x("cells().cache()","cell().cache()",function(a){a="search"===a?"_aFilterData":"_aSortData";return this.iterator("cell",function(b,c,d){return b.aoData[c][a][d]},1)});x("cells().render()","cell().render()",function(a){return this.iterator("cell",function(b,c,d){return I(b,c,d,a)},
-1)});x("cells().indexes()","cell().index()",function(){return this.iterator("cell",function(a,b,c){return{row:b,column:c,columnVisible:ca(a,c)}},1)});x("cells().invalidate()","cell().invalidate()",function(a){return this.iterator("cell",function(b,c,d){ea(b,c,a,d)})});t("cell()",function(a,b,c){return gb(this.cells(a,b,c))});t("cell().data()",function(a){var b=this.context,c=this[0];if(a===p)return b.length&&c.length?I(b[0],c[0].row,c[0].column):p;ob(b[0],c[0].row,c[0].column,a);ea(b[0],c[0].row,
-"data",c[0].column);return this});t("order()",function(a,b){var c=this.context;if(a===p)return 0!==c.length?c[0].aaSorting:p;"number"===typeof a?a=[[a,b]]:a.length&&!f.isArray(a[0])&&(a=Array.prototype.slice.call(arguments));return this.iterator("table",function(b){b.aaSorting=a.slice()})});t("order.listener()",function(a,b,c){return this.iterator("table",function(d){Qa(d,a,b,c)})});t("order.fixed()",function(a){if(!a){var b=this.context;b=b.length?b[0].aaSortingFixed:p;return f.isArray(b)?{pre:b}:
-b}return this.iterator("table",function(b){b.aaSortingFixed=f.extend(!0,{},a)})});t(["columns().order()","column().order()"],function(a){var b=this;return this.iterator("table",function(c,d){var e=[];f.each(b[d],function(b,c){e.push([c,a])});c.aaSorting=e})});t("search()",function(a,b,c,d){var e=this.context;return a===p?0!==e.length?e[0].oPreviousSearch.sSearch:p:this.iterator("table",function(e){e.oFeatures.bFilter&&ia(e,f.extend({},e.oPreviousSearch,{sSearch:a+"",bRegex:null===b?!1:b,bSmart:null===
-c?!0:c,bCaseInsensitive:null===d?!0:d}),1)})});x("columns().search()","column().search()",function(a,b,c,d){return this.iterator("column",function(e,h){var g=e.aoPreSearchCols;if(a===p)return g[h].sSearch;e.oFeatures.bFilter&&(f.extend(g[h],{sSearch:a+"",bRegex:null===b?!1:b,bSmart:null===c?!0:c,bCaseInsensitive:null===d?!0:d}),ia(e,e.oPreviousSearch,1))})});t("state()",function(){return this.context.length?this.context[0].oSavedState:null});t("state.clear()",function(){return this.iterator("table",
-function(a){a.fnStateSaveCallback.call(a.oInstance,a,{})})});t("state.loaded()",function(){return this.context.length?this.context[0].oLoadedState:null});t("state.save()",function(){return this.iterator("table",function(a){Ba(a)})});q.versionCheck=q.fnVersionCheck=function(a){var b=q.version.split(".");a=a.split(".");for(var c,d,e=0,f=a.length;e<f;e++)if(c=parseInt(b[e],10)||0,d=parseInt(a[e],10)||0,c!==d)return c>d;return!0};q.isDataTable=q.fnIsDataTable=function(a){var b=f(a).get(0),c=!1;if(a instanceof
-q.Api)return!0;f.each(q.settings,function(a,e){a=e.nScrollHead?f("table",e.nScrollHead)[0]:null;var d=e.nScrollFoot?f("table",e.nScrollFoot)[0]:null;if(e.nTable===b||a===b||d===b)c=!0});return c};q.tables=q.fnTables=function(a){var b=!1;f.isPlainObject(a)&&(b=a.api,a=a.visible);var c=f.map(q.settings,function(b){if(!a||a&&f(b.nTable).is(":visible"))return b.nTable});return b?new v(c):c};q.camelToHungarian=L;t("$()",function(a,b){b=this.rows(b).nodes();b=f(b);return f([].concat(b.filter(a).toArray(),
-b.find(a).toArray()))});f.each(["on","one","off"],function(a,b){t(b+"()",function(){var a=Array.prototype.slice.call(arguments);a[0]=f.map(a[0].split(/\s/),function(a){return a.match(/\.dt\b/)?a:a+".dt"}).join(" ");var d=f(this.tables().nodes());d[b].apply(d,a);return this})});t("clear()",function(){return this.iterator("table",function(a){qa(a)})});t("settings()",function(){return new v(this.context,this.context)});t("init()",function(){var a=this.context;return a.length?a[0].oInit:null});t("data()",
-function(){return this.iterator("table",function(a){return J(a.aoData,"_aData")}).flatten()});t("destroy()",function(a){a=a||!1;return this.iterator("table",function(b){var c=b.nTableWrapper.parentNode,d=b.oClasses,e=b.nTable,h=b.nTBody,g=b.nTHead,k=b.nTFoot,l=f(e);h=f(h);var n=f(b.nTableWrapper),m=f.map(b.aoData,function(a){return a.nTr}),p;b.bDestroying=!0;A(b,"aoDestroyCallback","destroy",[b]);a||(new v(b)).columns().visible(!0);n.off(".DT").find(":not(tbody *)").off(".DT");f(z).off(".DT-"+b.sInstance);
-e!=g.parentNode&&(l.children("thead").detach(),l.append(g));k&&e!=k.parentNode&&(l.children("tfoot").detach(),l.append(k));b.aaSorting=[];b.aaSortingFixed=[];Aa(b);f(m).removeClass(b.asStripeClasses.join(" "));f("th, td",g).removeClass(d.sSortable+" "+d.sSortableAsc+" "+d.sSortableDesc+" "+d.sSortableNone);h.children().detach();h.append(m);g=a?"remove":"detach";l[g]();n[g]();!a&&c&&(c.insertBefore(e,b.nTableReinsertBefore),l.css("width",b.sDestroyWidth).removeClass(d.sTable),(p=b.asDestroyStripes.length)&&
-h.children().each(function(a){f(this).addClass(b.asDestroyStripes[a%p])}));c=f.inArray(b,q.settings);-1!==c&&q.settings.splice(c,1)})});f.each(["column","row","cell"],function(a,b){t(b+"s().every()",function(a){var c=this.selector.opts,e=this;return this.iterator(b,function(d,f,k,l,n){a.call(e[b](f,"cell"===b?k:c,"cell"===b?c:p),f,k,l,n)})})});t("i18n()",function(a,b,c){var d=this.context[0];a=U(a)(d.oLanguage);a===p&&(a=b);c!==p&&f.isPlainObject(a)&&(a=a[c]!==p?a[c]:a._);return a.replace("%d",c)});
-q.version="1.10.20";q.settings=[];q.models={};q.models.oSearch={bCaseInsensitive:!0,sSearch:"",bRegex:!1,bSmart:!0};q.models.oRow={nTr:null,anCells:null,_aData:[],_aSortData:null,_aFilterData:null,_sFilterRow:null,_sRowStripe:"",src:null,idx:-1};q.models.oColumn={idx:null,aDataSort:null,asSorting:null,bSearchable:null,bSortable:null,bVisible:null,_sManualType:null,_bAttrSrc:!1,fnCreatedCell:null,fnGetData:null,fnSetData:null,mData:null,mRender:null,nTh:null,nTf:null,sClass:null,sContentPadding:null,
-sDefaultContent:null,sName:null,sSortDataType:"std",sSortingClass:null,sSortingClassJUI:null,sTitle:null,sType:null,sWidth:null,sWidthOrig:null};q.defaults={aaData:null,aaSorting:[[0,"asc"]],aaSortingFixed:[],ajax:null,aLengthMenu:[10,25,50,100],aoColumns:null,aoColumnDefs:null,aoSearchCols:[],asStripeClasses:null,bAutoWidth:!0,bDeferRender:!1,bDestroy:!1,bFilter:!0,bInfo:!0,bLengthChange:!0,bPaginate:!0,bProcessing:!1,bRetrieve:!1,bScrollCollapse:!1,bServerSide:!1,bSort:!0,bSortMulti:!0,bSortCellsTop:!1,
-bSortClasses:!0,bStateSave:!1,fnCreatedRow:null,fnDrawCallback:null,fnFooterCallback:null,fnFormatNumber:function(a){return a.toString().replace(/\B(?=(\d{3})+(?!\d))/g,this.oLanguage.sThousands)},fnHeaderCallback:null,fnInfoCallback:null,fnInitComplete:null,fnPreDrawCallback:null,fnRowCallback:null,fnServerData:null,fnServerParams:null,fnStateLoadCallback:function(a){try{return JSON.parse((-1===a.iStateDuration?sessionStorage:localStorage).getItem("DataTables_"+a.sInstance+"_"+location.pathname))}catch(b){}},
-fnStateLoadParams:null,fnStateLoaded:null,fnStateSaveCallback:function(a,b){try{(-1===a.iStateDuration?sessionStorage:localStorage).setItem("DataTables_"+a.sInstance+"_"+location.pathname,JSON.stringify(b))}catch(c){}},fnStateSaveParams:null,iStateDuration:7200,iDeferLoading:null,iDisplayLength:10,iDisplayStart:0,iTabIndex:0,oClasses:{},oLanguage:{oAria:{sSortAscending:": activate to sort column ascending",sSortDescending:": activate to sort column descending"},oPaginate:{sFirst:"First",sLast:"Last",
-sNext:"Next",sPrevious:"Previous"},sEmptyTable:"No data available in table",sInfo:"Showing _START_ to _END_ of _TOTAL_ entries",sInfoEmpty:"Showing 0 to 0 of 0 entries",sInfoFiltered:"(filtered from _MAX_ total entries)",sInfoPostFix:"",sDecimal:"",sThousands:",",sLengthMenu:"Show _MENU_ entries",sLoadingRecords:"Loading...",sProcessing:"Processing...",sSearch:"Search:",sSearchPlaceholder:"",sUrl:"",sZeroRecords:"No matching records found"},oSearch:f.extend({},q.models.oSearch),sAjaxDataProp:"data",
-sAjaxSource:null,sDom:"lfrtip",searchDelay:null,sPaginationType:"simple_numbers",sScrollX:"",sScrollXInner:"",sScrollY:"",sServerMethod:"GET",renderer:null,rowId:"DT_RowId"};H(q.defaults);q.defaults.column={aDataSort:null,iDataSort:-1,asSorting:["asc","desc"],bSearchable:!0,bSortable:!0,bVisible:!0,fnCreatedCell:null,mData:null,mRender:null,sCellType:"td",sClass:"",sContentPadding:"",sDefaultContent:null,sName:"",sSortDataType:"std",sTitle:null,sType:null,sWidth:null};H(q.defaults.column);q.models.oSettings=
-{oFeatures:{bAutoWidth:null,bDeferRender:null,bFilter:null,bInfo:null,bLengthChange:null,bPaginate:null,bProcessing:null,bServerSide:null,bSort:null,bSortMulti:null,bSortClasses:null,bStateSave:null},oScroll:{bCollapse:null,iBarWidth:0,sX:null,sXInner:null,sY:null},oLanguage:{fnInfoCallback:null},oBrowser:{bScrollOversize:!1,bScrollbarLeft:!1,bBounding:!1,barWidth:0},ajax:null,aanFeatures:[],aoData:[],aiDisplay:[],aiDisplayMaster:[],aIds:{},aoColumns:[],aoHeader:[],aoFooter:[],oPreviousSearch:{},
-aoPreSearchCols:[],aaSorting:null,aaSortingFixed:[],asStripeClasses:null,asDestroyStripes:[],sDestroyWidth:0,aoRowCallback:[],aoHeaderCallback:[],aoFooterCallback:[],aoDrawCallback:[],aoRowCreatedCallback:[],aoPreDrawCallback:[],aoInitComplete:[],aoStateSaveParams:[],aoStateLoadParams:[],aoStateLoaded:[],sTableId:"",nTable:null,nTHead:null,nTFoot:null,nTBody:null,nTableWrapper:null,bDeferLoading:!1,bInitialised:!1,aoOpenRows:[],sDom:null,searchDelay:null,sPaginationType:"two_button",iStateDuration:0,
-aoStateSave:[],aoStateLoad:[],oSavedState:null,oLoadedState:null,sAjaxSource:null,sAjaxDataProp:null,bAjaxDataGet:!0,jqXHR:null,json:p,oAjaxData:p,fnServerData:null,aoServerParams:[],sServerMethod:null,fnFormatNumber:null,aLengthMenu:null,iDraw:0,bDrawing:!1,iDrawError:-1,_iDisplayLength:10,_iDisplayStart:0,_iRecordsTotal:0,_iRecordsDisplay:0,oClasses:{},bFiltered:!1,bSorted:!1,bSortCellsTop:null,oInit:null,aoDestroyCallback:[],fnRecordsTotal:function(){return"ssp"==D(this)?1*this._iRecordsTotal:
-this.aiDisplayMaster.length},fnRecordsDisplay:function(){return"ssp"==D(this)?1*this._iRecordsDisplay:this.aiDisplay.length},fnDisplayEnd:function(){var a=this._iDisplayLength,b=this._iDisplayStart,c=b+a,d=this.aiDisplay.length,e=this.oFeatures,f=e.bPaginate;return e.bServerSide?!1===f||-1===a?b+d:Math.min(b+a,this._iRecordsDisplay):!f||c>d||-1===a?d:c},oInstance:null,sInstance:null,iTabIndex:0,nScrollHead:null,nScrollFoot:null,aLastSort:[],oPlugins:{},rowIdFn:null,rowId:null};q.ext=C={buttons:{},
-classes:{},builder:"bs4/dt-1.10.20/r-2.2.2/sl-1.3.0",errMode:"alert",feature:[],search:[],selector:{cell:[],column:[],row:[]},internal:{},legacy:{ajax:null},pager:{},renderer:{pageButton:{},header:{}},order:{},type:{detect:[],search:{},order:{}},_unique:0,fnVersionCheck:q.fnVersionCheck,iApiIndex:0,oJUIClasses:{},sVersion:q.version};f.extend(C,{afnFiltering:C.search,aTypes:C.type.detect,ofnSearch:C.type.search,oSort:C.type.order,afnSortData:C.order,aoFeatures:C.feature,oApi:C.internal,oStdClasses:C.classes,oPagination:C.pager});
-f.extend(q.ext.classes,{sTable:"dataTable",sNoFooter:"no-footer",sPageButton:"paginate_button",sPageButtonActive:"current",sPageButtonDisabled:"disabled",sStripeOdd:"odd",sStripeEven:"even",sRowEmpty:"dataTables_empty",sWrapper:"dataTables_wrapper",sFilter:"dataTables_filter",sInfo:"dataTables_info",sPaging:"dataTables_paginate paging_",sLength:"dataTables_length",sProcessing:"dataTables_processing",sSortAsc:"sorting_asc",sSortDesc:"sorting_desc",sSortable:"sorting",sSortableAsc:"sorting_asc_disabled",
-sSortableDesc:"sorting_desc_disabled",sSortableNone:"sorting_disabled",sSortColumn:"sorting_",sFilterInput:"",sLengthSelect:"",sScrollWrapper:"dataTables_scroll",sScrollHead:"dataTables_scrollHead",sScrollHeadInner:"dataTables_scrollHeadInner",sScrollBody:"dataTables_scrollBody",sScrollFoot:"dataTables_scrollFoot",sScrollFootInner:"dataTables_scrollFootInner",sHeaderTH:"",sFooterTH:"",sSortJUIAsc:"",sSortJUIDesc:"",sSortJUI:"",sSortJUIAscAllowed:"",sSortJUIDescAllowed:"",sSortJUIWrapper:"",sSortIcon:"",
-sJUIHeader:"",sJUIFooter:""});var Pb=q.ext.pager;f.extend(Pb,{simple:function(a,b){return["previous","next"]},full:function(a,b){return["first","previous","next","last"]},numbers:function(a,b){return[ka(a,b)]},simple_numbers:function(a,b){return["previous",ka(a,b),"next"]},full_numbers:function(a,b){return["first","previous",ka(a,b),"next","last"]},first_last_numbers:function(a,b){return["first",ka(a,b),"last"]},_numbers:ka,numbers_length:7});f.extend(!0,q.ext.renderer,{pageButton:{_:function(a,b,
-c,d,e,h){var g=a.oClasses,k=a.oLanguage.oPaginate,l=a.oLanguage.oAria.paginate||{},n,m,q=0,t=function(b,d){var p,r=g.sPageButtonDisabled,u=function(b){Xa(a,b.data.action,!0)};var w=0;for(p=d.length;w<p;w++){var v=d[w];if(f.isArray(v)){var x=f("<"+(v.DT_el||"div")+"/>").appendTo(b);t(x,v)}else{n=null;m=v;x=a.iTabIndex;switch(v){case "ellipsis":b.append('<span class="ellipsis">&#x2026;</span>');break;case "first":n=k.sFirst;0===e&&(x=-1,m+=" "+r);break;case "previous":n=k.sPrevious;0===e&&(x=-1,m+=
-" "+r);break;case "next":n=k.sNext;e===h-1&&(x=-1,m+=" "+r);break;case "last":n=k.sLast;e===h-1&&(x=-1,m+=" "+r);break;default:n=v+1,m=e===v?g.sPageButtonActive:""}null!==n&&(x=f("<a>",{"class":g.sPageButton+" "+m,"aria-controls":a.sTableId,"aria-label":l[v],"data-dt-idx":q,tabindex:x,id:0===c&&"string"===typeof v?a.sTableId+"_"+v:null}).html(n).appendTo(b),$a(x,{action:v},u),q++)}}};try{var v=f(b).find(y.activeElement).data("dt-idx")}catch(mc){}t(f(b).empty(),d);v!==p&&f(b).find("[data-dt-idx="+
-v+"]").focus()}}});f.extend(q.ext.type.detect,[function(a,b){b=b.oLanguage.sDecimal;return db(a,b)?"num"+b:null},function(a,b){if(a&&!(a instanceof Date)&&!cc.test(a))return null;b=Date.parse(a);return null!==b&&!isNaN(b)||P(a)?"date":null},function(a,b){b=b.oLanguage.sDecimal;return db(a,b,!0)?"num-fmt"+b:null},function(a,b){b=b.oLanguage.sDecimal;return Ub(a,b)?"html-num"+b:null},function(a,b){b=b.oLanguage.sDecimal;return Ub(a,b,!0)?"html-num-fmt"+b:null},function(a,b){return P(a)||"string"===
-typeof a&&-1!==a.indexOf("<")?"html":null}]);f.extend(q.ext.type.search,{html:function(a){return P(a)?a:"string"===typeof a?a.replace(Rb," ").replace(Ea,""):""},string:function(a){return P(a)?a:"string"===typeof a?a.replace(Rb," "):a}});var Da=function(a,b,c,d){if(0!==a&&(!a||"-"===a))return-Infinity;b&&(a=Tb(a,b));a.replace&&(c&&(a=a.replace(c,"")),d&&(a=a.replace(d,"")));return 1*a};f.extend(C.type.order,{"date-pre":function(a){a=Date.parse(a);return isNaN(a)?-Infinity:a},"html-pre":function(a){return P(a)?
-"":a.replace?a.replace(/<.*?>/g,"").toLowerCase():a+""},"string-pre":function(a){return P(a)?"":"string"===typeof a?a.toLowerCase():a.toString?a.toString():""},"string-asc":function(a,b){return a<b?-1:a>b?1:0},"string-desc":function(a,b){return a<b?1:a>b?-1:0}});Ha("");f.extend(!0,q.ext.renderer,{header:{_:function(a,b,c,d){f(a.nTable).on("order.dt.DT",function(e,f,g,k){a===f&&(e=c.idx,b.removeClass(c.sSortingClass+" "+d.sSortAsc+" "+d.sSortDesc).addClass("asc"==k[e]?d.sSortAsc:"desc"==k[e]?d.sSortDesc:
-c.sSortingClass))})},jqueryui:function(a,b,c,d){f("<div/>").addClass(d.sSortJUIWrapper).append(b.contents()).append(f("<span/>").addClass(d.sSortIcon+" "+c.sSortingClassJUI)).appendTo(b);f(a.nTable).on("order.dt.DT",function(e,f,g,k){a===f&&(e=c.idx,b.removeClass(d.sSortAsc+" "+d.sSortDesc).addClass("asc"==k[e]?d.sSortAsc:"desc"==k[e]?d.sSortDesc:c.sSortingClass),b.find("span."+d.sSortIcon).removeClass(d.sSortJUIAsc+" "+d.sSortJUIDesc+" "+d.sSortJUI+" "+d.sSortJUIAscAllowed+" "+d.sSortJUIDescAllowed).addClass("asc"==
-k[e]?d.sSortJUIAsc:"desc"==k[e]?d.sSortJUIDesc:c.sSortingClassJUI))})}}});var ib=function(a){return"string"===typeof a?a.replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;"):a};q.render={number:function(a,b,c,d,e){return{display:function(f){if("number"!==typeof f&&"string"!==typeof f)return f;var g=0>f?"-":"",h=parseFloat(f);if(isNaN(h))return ib(f);h=h.toFixed(c);f=Math.abs(h);h=parseInt(f,10);f=c?b+(f-h).toFixed(c).substring(2):"";return g+(d||"")+h.toString().replace(/\B(?=(\d{3})+(?!\d))/g,
-a)+f+(e||"")}}},text:function(){return{display:ib,filter:ib}}};f.extend(q.ext.internal,{_fnExternApiFunc:Qb,_fnBuildAjax:va,_fnAjaxUpdate:qb,_fnAjaxParameters:zb,_fnAjaxUpdateDraw:Ab,_fnAjaxDataSrc:wa,_fnAddColumn:Ia,_fnColumnOptions:ma,_fnAdjustColumnSizing:aa,_fnVisibleToColumnIndex:ba,_fnColumnIndexToVisible:ca,_fnVisbleColumns:W,_fnGetColumns:oa,_fnColumnTypes:Ka,_fnApplyColumnDefs:nb,_fnHungarianMap:H,_fnCamelToHungarian:L,_fnLanguageCompat:Ga,_fnBrowserDetect:lb,_fnAddData:R,_fnAddTr:pa,_fnNodeToDataIndex:function(a,
-b){return b._DT_RowIndex!==p?b._DT_RowIndex:null},_fnNodeToColumnIndex:function(a,b,c){return f.inArray(c,a.aoData[b].anCells)},_fnGetCellData:I,_fnSetCellData:ob,_fnSplitObjNotation:Na,_fnGetObjectDataFn:U,_fnSetObjectDataFn:Q,_fnGetDataMaster:Oa,_fnClearTable:qa,_fnDeleteIndex:ra,_fnInvalidate:ea,_fnGetRowElements:Ma,_fnCreateTr:La,_fnBuildHead:pb,_fnDrawHead:ha,_fnDraw:S,_fnReDraw:V,_fnAddOptionsHtml:sb,_fnDetectHeader:fa,_fnGetUniqueThs:ua,_fnFeatureHtmlFilter:ub,_fnFilterComplete:ia,_fnFilterCustom:Db,
-_fnFilterColumn:Cb,_fnFilter:Bb,_fnFilterCreateSearch:Ta,_fnEscapeRegex:Ua,_fnFilterData:Eb,_fnFeatureHtmlInfo:xb,_fnUpdateInfo:Hb,_fnInfoMacros:Ib,_fnInitialise:ja,_fnInitComplete:xa,_fnLengthChange:Va,_fnFeatureHtmlLength:tb,_fnFeatureHtmlPaginate:yb,_fnPageChange:Xa,_fnFeatureHtmlProcessing:vb,_fnProcessingDisplay:K,_fnFeatureHtmlTable:wb,_fnScrollDraw:na,_fnApplyToChildren:N,_fnCalculateColumnWidths:Ja,_fnThrottle:Sa,_fnConvertToWidth:Jb,_fnGetWidestNode:Kb,_fnGetMaxLenString:Lb,_fnStringToCss:B,
-_fnSortFlatten:Y,_fnSort:rb,_fnSortAria:Nb,_fnSortListener:Za,_fnSortAttachListener:Qa,_fnSortingClasses:Aa,_fnSortData:Mb,_fnSaveState:Ba,_fnLoadState:Ob,_fnSettingsFromNode:Ca,_fnLog:O,_fnMap:M,_fnBindAction:$a,_fnCallbackReg:E,_fnCallbackFire:A,_fnLengthOverflow:Wa,_fnRenderer:Ra,_fnDataSource:D,_fnRowAttributes:Pa,_fnExtend:ab,_fnCalculateEnd:function(){}});f.fn.dataTable=q;q.$=f;f.fn.dataTableSettings=q.settings;f.fn.dataTableExt=q.ext;f.fn.DataTable=function(a){return f(this).dataTable(a).api()};
-f.each(q,function(a,b){f.fn.DataTable[a]=b});return f.fn.dataTable});
-
-
-/*!
- DataTables Bootstrap 4 integration
- ©2011-2017 SpryMedia Ltd - datatables.net/license
-*/
-var $jscomp=$jscomp||{};$jscomp.scope={};$jscomp.findInternal=function(a,b,c){a instanceof String&&(a=String(a));for(var e=a.length,d=0;d<e;d++){var k=a[d];if(b.call(c,k,d,a))return{i:d,v:k}}return{i:-1,v:void 0}};$jscomp.ASSUME_ES5=!1;$jscomp.ASSUME_NO_NATIVE_MAP=!1;$jscomp.ASSUME_NO_NATIVE_SET=!1;$jscomp.SIMPLE_FROUND_POLYFILL=!1;
-$jscomp.defineProperty=$jscomp.ASSUME_ES5||"function"==typeof Object.defineProperties?Object.defineProperty:function(a,b,c){a!=Array.prototype&&a!=Object.prototype&&(a[b]=c.value)};$jscomp.getGlobal=function(a){return"undefined"!=typeof window&&window===a?a:"undefined"!=typeof global&&null!=global?global:a};$jscomp.global=$jscomp.getGlobal(this);
-$jscomp.polyfill=function(a,b,c,e){if(b){c=$jscomp.global;a=a.split(".");for(e=0;e<a.length-1;e++){var d=a[e];d in c||(c[d]={});c=c[d]}a=a[a.length-1];e=c[a];b=b(e);b!=e&&null!=b&&$jscomp.defineProperty(c,a,{configurable:!0,writable:!0,value:b})}};$jscomp.polyfill("Array.prototype.find",function(a){return a?a:function(a,c){return $jscomp.findInternal(this,a,c).v}},"es6","es3");
-(function(a){"function"===typeof define&&define.amd?define(["jquery","datatables.net"],function(b){return a(b,window,document)}):"object"===typeof exports?module.exports=function(b,c){b||(b=window);c&&c.fn.dataTable||(c=require("datatables.net")(b,c).$);return a(c,b,b.document)}:a(jQuery,window,document)})(function(a,b,c,e){var d=a.fn.dataTable;a.extend(!0,d.defaults,{dom:"<'row'<'col-sm-12 col-md-6'l><'col-sm-12 col-md-6'f>><'row'<'col-sm-12'tr>><'row'<'col-sm-12 col-md-5'i><'col-sm-12 col-md-7'p>>",
-renderer:"bootstrap"});a.extend(d.ext.classes,{sWrapper:"dataTables_wrapper dt-bootstrap4",sFilterInput:"form-control form-control-sm",sLengthSelect:"custom-select custom-select-sm form-control form-control-sm",sProcessing:"dataTables_processing card",sPageButton:"paginate_button page-item"});d.ext.renderer.pageButton.bootstrap=function(b,l,v,w,m,r){var k=new d.Api(b),x=b.oClasses,n=b.oLanguage.oPaginate,y=b.oLanguage.oAria.paginate||{},g,h,t=0,u=function(c,d){var e,l=function(b){b.preventDefault();
-a(b.currentTarget).hasClass("disabled")||k.page()==b.data.action||k.page(b.data.action).draw("page")};var q=0;for(e=d.length;q<e;q++){var f=d[q];if(a.isArray(f))u(c,f);else{h=g="";switch(f){case "ellipsis":g="&#x2026;";h="disabled";break;case "first":g=n.sFirst;h=f+(0<m?"":" disabled");break;case "previous":g=n.sPrevious;h=f+(0<m?"":" disabled");break;case "next":g=n.sNext;h=f+(m<r-1?"":" disabled");break;case "last":g=n.sLast;h=f+(m<r-1?"":" disabled");break;default:g=f+1,h=m===f?"active":""}if(g){var p=
-a("<li>",{"class":x.sPageButton+" "+h,id:0===v&&"string"===typeof f?b.sTableId+"_"+f:null}).append(a("<a>",{href:"#","aria-controls":b.sTableId,"aria-label":y[f],"data-dt-idx":t,tabindex:b.iTabIndex,"class":"page-link"}).html(g)).appendTo(c);b.oApi._fnBindAction(p,{action:f},l);t++}}}};try{var p=a(l).find(c.activeElement).data("dt-idx")}catch(z){}u(a(l).empty().html('<ul class="pagination"/>').children("ul"),w);p!==e&&a(l).find("[data-dt-idx="+p+"]").focus()};return d});
-
-
-/*!
- Responsive 2.2.2
- 2014-2018 SpryMedia Ltd - datatables.net/license
-*/
-(function(d){"function"===typeof define&&define.amd?define(["jquery","datatables.net"],function(l){return d(l,window,document)}):"object"===typeof exports?module.exports=function(l,j){l||(l=window);if(!j||!j.fn.dataTable)j=require("datatables.net")(l,j).$;return d(j,l,l.document)}:d(jQuery,window,document)})(function(d,l,j,q){function t(a,b,c){var e=b+"-"+c;if(n[e])return n[e];for(var d=[],a=a.cell(b,c).node().childNodes,b=0,c=a.length;b<c;b++)d.push(a[b]);return n[e]=d}function r(a,b,d){var e=b+
-"-"+d;if(n[e]){for(var a=a.cell(b,d).node(),d=n[e][0].parentNode.childNodes,b=[],f=0,g=d.length;f<g;f++)b.push(d[f]);d=0;for(f=b.length;d<f;d++)a.appendChild(b[d]);n[e]=q}}var o=d.fn.dataTable,i=function(a,b){if(!o.versionCheck||!o.versionCheck("1.10.10"))throw"DataTables Responsive requires DataTables 1.10.10 or newer";this.s={dt:new o.Api(a),columns:[],current:[]};this.s.dt.settings()[0].responsive||(b&&"string"===typeof b.details?b.details={type:b.details}:b&&!1===b.details?b.details={type:!1}:
-b&&!0===b.details&&(b.details={type:"inline"}),this.c=d.extend(!0,{},i.defaults,o.defaults.responsive,b),a.responsive=this,this._constructor())};d.extend(i.prototype,{_constructor:function(){var a=this,b=this.s.dt,c=b.settings()[0],e=d(l).width();b.settings()[0]._responsive=this;d(l).on("resize.dtr orientationchange.dtr",o.util.throttle(function(){var b=d(l).width();b!==e&&(a._resize(),e=b)}));c.oApi._fnCallbackReg(c,"aoRowCreatedCallback",function(e){-1!==d.inArray(!1,a.s.current)&&d(">td, >th",
-e).each(function(e){e=b.column.index("toData",e);!1===a.s.current[e]&&d(this).css("display","none")})});b.on("destroy.dtr",function(){b.off(".dtr");d(b.table().body()).off(".dtr");d(l).off("resize.dtr orientationchange.dtr");d.each(a.s.current,function(b,e){!1===e&&a._setColumnVis(b,!0)})});this.c.breakpoints.sort(function(a,b){return a.width<b.width?1:a.width>b.width?-1:0});this._classLogic();this._resizeAuto();c=this.c.details;!1!==c.type&&(a._detailsInit(),b.on("column-visibility.dtr",function(){a._timer&&
-clearTimeout(a._timer);a._timer=setTimeout(function(){a._timer=null;a._classLogic();a._resizeAuto();a._resize();a._redrawChildren()},100)}),b.on("draw.dtr",function(){a._redrawChildren()}),d(b.table().node()).addClass("dtr-"+c.type));b.on("column-reorder.dtr",function(){a._classLogic();a._resizeAuto();a._resize()});b.on("column-sizing.dtr",function(){a._resizeAuto();a._resize()});b.on("preXhr.dtr",function(){var e=[];b.rows().every(function(){this.child.isShown()&&e.push(this.id(true))});b.one("draw.dtr",
-function(){a._resizeAuto();a._resize();b.rows(e).every(function(){a._detailsDisplay(this,false)})})});b.on("init.dtr",function(){a._resizeAuto();a._resize();d.inArray(false,a.s.current)&&b.columns.adjust()});this._resize()},_columnsVisiblity:function(a){var b=this.s.dt,c=this.s.columns,e,f,g=c.map(function(a,b){return{columnIdx:b,priority:a.priority}}).sort(function(a,b){return a.priority!==b.priority?a.priority-b.priority:a.columnIdx-b.columnIdx}),h=d.map(c,function(e,c){return!1===b.column(c).visible()?
-"not-visible":e.auto&&null===e.minWidth?!1:!0===e.auto?"-":-1!==d.inArray(a,e.includeIn)}),m=0;e=0;for(f=h.length;e<f;e++)!0===h[e]&&(m+=c[e].minWidth);e=b.settings()[0].oScroll;e=e.sY||e.sX?e.iBarWidth:0;m=b.table().container().offsetWidth-e-m;e=0;for(f=h.length;e<f;e++)c[e].control&&(m-=c[e].minWidth);var s=!1;e=0;for(f=g.length;e<f;e++){var k=g[e].columnIdx;"-"===h[k]&&(!c[k].control&&c[k].minWidth)&&(s||0>m-c[k].minWidth?(s=!0,h[k]=!1):h[k]=!0,m-=c[k].minWidth)}g=!1;e=0;for(f=c.length;e<f;e++)if(!c[e].control&&
-!c[e].never&&!1===h[e]){g=!0;break}e=0;for(f=c.length;e<f;e++)c[e].control&&(h[e]=g),"not-visible"===h[e]&&(h[e]=!1);-1===d.inArray(!0,h)&&(h[0]=!0);return h},_classLogic:function(){var a=this,b=this.c.breakpoints,c=this.s.dt,e=c.columns().eq(0).map(function(a){var b=this.column(a),e=b.header().className,a=c.settings()[0].aoColumns[a].responsivePriority;a===q&&(b=d(b.header()).data("priority"),a=b!==q?1*b:1E4);return{className:e,includeIn:[],auto:!1,control:!1,never:e.match(/\bnever\b/)?!0:!1,priority:a}}),
-f=function(a,b){var c=e[a].includeIn;-1===d.inArray(b,c)&&c.push(b)},g=function(d,c,g,k){if(g)if("max-"===g){k=a._find(c).width;c=0;for(g=b.length;c<g;c++)b[c].width<=k&&f(d,b[c].name)}else if("min-"===g){k=a._find(c).width;c=0;for(g=b.length;c<g;c++)b[c].width>=k&&f(d,b[c].name)}else{if("not-"===g){c=0;for(g=b.length;c<g;c++)-1===b[c].name.indexOf(k)&&f(d,b[c].name)}}else e[d].includeIn.push(c)};e.each(function(a,e){for(var c=a.className.split(" "),f=!1,i=0,l=c.length;i<l;i++){var j=d.trim(c[i]);
-if("all"===j){f=!0;a.includeIn=d.map(b,function(a){return a.name});return}if("none"===j||a.never){f=!0;return}if("control"===j){f=!0;a.control=!0;return}d.each(b,function(a,b){var d=b.name.split("-"),c=j.match(RegExp("(min\\-|max\\-|not\\-)?("+d[0]+")(\\-[_a-zA-Z0-9])?"));c&&(f=!0,c[2]===d[0]&&c[3]==="-"+d[1]?g(e,b.name,c[1],c[2]+c[3]):c[2]===d[0]&&!c[3]&&g(e,b.name,c[1],c[2]))})}f||(a.auto=!0)});this.s.columns=e},_detailsDisplay:function(a,b){var c=this,e=this.s.dt,f=this.c.details;if(f&&!1!==f.type){var g=
-f.display(a,b,function(){return f.renderer(e,a[0],c._detailsObj(a[0]))});(!0===g||!1===g)&&d(e.table().node()).triggerHandler("responsive-display.dt",[e,a,g,b])}},_detailsInit:function(){var a=this,b=this.s.dt,c=this.c.details;"inline"===c.type&&(c.target="td:first-child, th:first-child");b.on("draw.dtr",function(){a._tabIndexes()});a._tabIndexes();d(b.table().body()).on("keyup.dtr","td, th",function(a){a.keyCode===13&&d(this).data("dtr-keyboard")&&d(this).click()});var e=c.target;d(b.table().body()).on("click.dtr mousedown.dtr mouseup.dtr",
-"string"===typeof e?e:"td, th",function(c){if(d(b.table().node()).hasClass("collapsed")&&d.inArray(d(this).closest("tr").get(0),b.rows().nodes().toArray())!==-1){if(typeof e==="number"){var g=e<0?b.columns().eq(0).length+e:e;if(b.cell(this).index().column!==g)return}g=b.row(d(this).closest("tr"));c.type==="click"?a._detailsDisplay(g,false):c.type==="mousedown"?d(this).css("outline","none"):c.type==="mouseup"&&d(this).blur().css("outline","")}})},_detailsObj:function(a){var b=this,c=this.s.dt;return d.map(this.s.columns,
-function(e,d){if(!e.never&&!e.control)return{title:c.settings()[0].aoColumns[d].sTitle,data:c.cell(a,d).render(b.c.orthogonal),hidden:c.column(d).visible()&&!b.s.current[d],columnIndex:d,rowIndex:a}})},_find:function(a){for(var b=this.c.breakpoints,c=0,e=b.length;c<e;c++)if(b[c].name===a)return b[c]},_redrawChildren:function(){var a=this,b=this.s.dt;b.rows({page:"current"}).iterator("row",function(c,e){b.row(e);a._detailsDisplay(b.row(e),!0)})},_resize:function(){var a=this,b=this.s.dt,c=d(l).width(),
-e=this.c.breakpoints,f=e[0].name,g=this.s.columns,h,m=this.s.current.slice();for(h=e.length-1;0<=h;h--)if(c<=e[h].width){f=e[h].name;break}var i=this._columnsVisiblity(f);this.s.current=i;e=!1;h=0;for(c=g.length;h<c;h++)if(!1===i[h]&&!g[h].never&&!g[h].control&&!1===!b.column(h).visible()){e=!0;break}d(b.table().node()).toggleClass("collapsed",e);var k=!1,j=0;b.columns().eq(0).each(function(b,c){!0===i[c]&&j++;i[c]!==m[c]&&(k=!0,a._setColumnVis(b,i[c]))});k&&(this._redrawChildren(),d(b.table().node()).trigger("responsive-resize.dt",
-[b,this.s.current]),0===b.page.info().recordsDisplay&&d("td",b.table().body()).eq(0).attr("colspan",j))},_resizeAuto:function(){var a=this.s.dt,b=this.s.columns;if(this.c.auto&&-1!==d.inArray(!0,d.map(b,function(a){return a.auto}))){d.isEmptyObject(n)||d.each(n,function(b){b=b.split("-");r(a,1*b[0],1*b[1])});a.table().node();var c=a.table().node().cloneNode(!1),e=d(a.table().header().cloneNode(!1)).appendTo(c),f=d(a.table().body()).clone(!1,!1).empty().appendTo(c),g=a.columns().header().filter(function(b){return a.column(b).visible()}).to$().clone(!1).css("display",
-"table-cell").css("min-width",0);d(f).append(d(a.rows({page:"current"}).nodes()).clone(!1)).find("th, td").css("display","");if(f=a.table().footer()){var f=d(f.cloneNode(!1)).appendTo(c),h=a.columns().footer().filter(function(b){return a.column(b).visible()}).to$().clone(!1).css("display","table-cell");d("<tr/>").append(h).appendTo(f)}d("<tr/>").append(g).appendTo(e);"inline"===this.c.details.type&&d(c).addClass("dtr-inline collapsed");d(c).find("[name]").removeAttr("name");d(c).css("position","relative");
-c=d("<div/>").css({width:1,height:1,overflow:"hidden",clear:"both"}).append(c);c.insertBefore(a.table().node());g.each(function(c){c=a.column.index("fromVisible",c);b[c].minWidth=this.offsetWidth||0});c.remove()}},_setColumnVis:function(a,b){var c=this.s.dt,e=b?"":"none";d(c.column(a).header()).css("display",e);d(c.column(a).footer()).css("display",e);c.column(a).nodes().to$().css("display",e);d.isEmptyObject(n)||c.cells(null,a).indexes().each(function(a){r(c,a.row,a.column)})},_tabIndexes:function(){var a=
-this.s.dt,b=a.cells({page:"current"}).nodes().to$(),c=a.settings()[0],e=this.c.details.target;b.filter("[data-dtr-keyboard]").removeData("[data-dtr-keyboard]");"number"===typeof e?a.cells(null,e,{page:"current"}).nodes().to$().attr("tabIndex",c.iTabIndex).data("dtr-keyboard",1):("td:first-child, th:first-child"===e&&(e=">td:first-child, >th:first-child"),d(e,a.rows({page:"current"}).nodes()).attr("tabIndex",c.iTabIndex).data("dtr-keyboard",1))}});i.breakpoints=[{name:"desktop",width:Infinity},{name:"tablet-l",
-width:1024},{name:"tablet-p",width:768},{name:"mobile-l",width:480},{name:"mobile-p",width:320}];i.display={childRow:function(a,b,c){if(b){if(d(a.node()).hasClass("parent"))return a.child(c(),"child").show(),!0}else{if(a.child.isShown())return a.child(!1),d(a.node()).removeClass("parent"),!1;a.child(c(),"child").show();d(a.node()).addClass("parent");return!0}},childRowImmediate:function(a,b,c){if(!b&&a.child.isShown()||!a.responsive.hasHidden())return a.child(!1),d(a.node()).removeClass("parent"),
-!1;a.child(c(),"child").show();d(a.node()).addClass("parent");return!0},modal:function(a){return function(b,c,e){if(c)d("div.dtr-modal-content").empty().append(e());else{var f=function(){g.remove();d(j).off("keypress.dtr")},g=d('<div class="dtr-modal"/>').append(d('<div class="dtr-modal-display"/>').append(d('<div class="dtr-modal-content"/>').append(e())).append(d('<div class="dtr-modal-close">&times;</div>').click(function(){f()}))).append(d('<div class="dtr-modal-background"/>').click(function(){f()})).appendTo("body");
-d(j).on("keyup.dtr",function(a){27===a.keyCode&&(a.stopPropagation(),f())})}a&&a.header&&d("div.dtr-modal-content").prepend("<h2>"+a.header(b)+"</h2>")}}};var n={};i.renderer={listHiddenNodes:function(){return function(a,b,c){var e=d('<ul data-dtr-index="'+b+'" class="dtr-details"/>'),f=!1;d.each(c,function(b,c){c.hidden&&(d('<li data-dtr-index="'+c.columnIndex+'" data-dt-row="'+c.rowIndex+'" data-dt-column="'+c.columnIndex+'"><span class="dtr-title">'+c.title+"</span> </li>").append(d('<span class="dtr-data"/>').append(t(a,
-c.rowIndex,c.columnIndex))).appendTo(e),f=!0)});return f?e:!1}},listHidden:function(){return function(a,b,c){return(a=d.map(c,function(a){return a.hidden?'<li data-dtr-index="'+a.columnIndex+'" data-dt-row="'+a.rowIndex+'" data-dt-column="'+a.columnIndex+'"><span class="dtr-title">'+a.title+'</span> <span class="dtr-data">'+a.data+"</span></li>":""}).join(""))?d('<ul data-dtr-index="'+b+'" class="dtr-details"/>').append(a):!1}},tableAll:function(a){a=d.extend({tableClass:""},a);return function(b,
-c,e){b=d.map(e,function(a){return'<tr data-dt-row="'+a.rowIndex+'" data-dt-column="'+a.columnIndex+'"><td>'+a.title+":</td> <td>"+a.data+"</td></tr>"}).join("");return d('<table class="'+a.tableClass+' dtr-details" width="100%"/>').append(b)}}};i.defaults={breakpoints:i.breakpoints,auto:!0,details:{display:i.display.childRow,renderer:i.renderer.listHidden(),target:0,type:"inline"},orthogonal:"display"};var p=d.fn.dataTable.Api;p.register("responsive()",function(){return this});p.register("responsive.index()",
-function(a){a=d(a);return{column:a.data("dtr-index"),row:a.parent().data("dtr-index")}});p.register("responsive.rebuild()",function(){return this.iterator("table",function(a){a._responsive&&a._responsive._classLogic()})});p.register("responsive.recalc()",function(){return this.iterator("table",function(a){a._responsive&&(a._responsive._resizeAuto(),a._responsive._resize())})});p.register("responsive.hasHidden()",function(){var a=this.context[0];return a._responsive?-1!==d.inArray(!1,a._responsive.s.current):
-!1});p.registerPlural("columns().responsiveHidden()","column().responsiveHidden()",function(){return this.iterator("column",function(a,b){return a._responsive?a._responsive.s.current[b]:!1},1)});i.version="2.2.2";d.fn.dataTable.Responsive=i;d.fn.DataTable.Responsive=i;d(j).on("preInit.dt.dtr",function(a,b){if("dt"===a.namespace&&(d(b.nTable).hasClass("responsive")||d(b.nTable).hasClass("dt-responsive")||b.oInit.responsive||o.defaults.responsive)){var c=b.oInit.responsive;!1!==c&&new i(b,d.isPlainObject(c)?
-c:{})}});return i});
-
-
-/*!
- Bootstrap 4 integration for DataTables' Responsive
- ©2016 SpryMedia Ltd - datatables.net/license
-*/
-(function(c){"function"===typeof define&&define.amd?define(["jquery","datatables.net-bs4","datatables.net-responsive"],function(a){return c(a,window,document)}):"object"===typeof exports?module.exports=function(a,b){a||(a=window);if(!b||!b.fn.dataTable)b=require("datatables.net-bs4")(a,b).$;b.fn.dataTable.Responsive||require("datatables.net-responsive")(a,b);return c(b,a,a.document)}:c(jQuery,window,document)})(function(c){var a=c.fn.dataTable,b=a.Responsive.display,g=b.modal,e=c('<div class="modal fade dtr-bs-modal" role="dialog"><div class="modal-dialog" role="document"><div class="modal-content"><div class="modal-header"><button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button></div><div class="modal-body"/></div></div></div>');
-b.modal=function(a){return function(b,d,f){if(c.fn.modal){if(!d){if(a&&a.header){var d=e.find("div.modal-header"),h=d.find("button").detach();d.empty().append('<h4 class="modal-title">'+a.header(b)+"</h4>").append(h)}e.find("div.modal-body").empty().append(f());e.appendTo("body").modal()}}else g(b,d,f)}};return a.Responsive});
-
-
-/*!
-   Copyright 2015-2018 SpryMedia Ltd.
-
- This source file is free software, available under the following license:
-   MIT license - http://datatables.net/license/mit
-
- This source file is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- or FITNESS FOR A PARTICULAR PURPOSE. See the license files for details.
-
- For details please refer to: http://www.datatables.net/extensions/select
- Select for DataTables 1.3.0
- 2015-2018 SpryMedia Ltd - datatables.net/license/mit
-*/
-(function(f){"function"===typeof define&&define.amd?define(["jquery","datatables.net"],function(k){return f(k,window,document)}):"object"===typeof exports?module.exports=function(k,m){k||(k=window);m&&m.fn.dataTable||(m=require("datatables.net")(k,m).$);return f(m,k,k.document)}:f(jQuery,window,document)})(function(f,k,m,h){function z(a,b,c){var d=function(c,b){if(c>b){var d=b;b=c;c=d}var e=!1;return a.columns(":visible").indexes().filter(function(a){a===c&&(e=!0);return a===b?(e=!1,!0):e})};var e=
-function(c,b){var d=a.rows({search:"applied"}).indexes();if(d.indexOf(c)>d.indexOf(b)){var e=b;b=c;c=e}var f=!1;return d.filter(function(a){a===c&&(f=!0);return a===b?(f=!1,!0):f})};a.cells({selected:!0}).any()||c?(d=d(c.column,b.column),c=e(c.row,b.row)):(d=d(0,b.column),c=e(0,b.row));c=a.cells(c,d).flatten();a.cells(b,{selected:!0}).any()?a.cells(c).deselect():a.cells(c).select()}function v(a){var b=a.settings()[0]._select.selector;f(a.table().container()).off("mousedown.dtSelect",b).off("mouseup.dtSelect",
-b).off("click.dtSelect",b);f("body").off("click.dtSelect"+a.table().node().id)}function A(a){var b=f(a.table().container()),c=a.settings()[0],d=c._select.selector,e;b.on("mousedown.dtSelect",d,function(a){if(a.shiftKey||a.metaKey||a.ctrlKey)b.css("-moz-user-select","none").one("selectstart.dtSelect",d,function(){return!1});k.getSelection&&(e=k.getSelection())}).on("mouseup.dtSelect",d,function(){b.css("-moz-user-select","")}).on("click.dtSelect",d,function(c){var b=a.select.items();if(e){var d=k.getSelection();
-if((!d.anchorNode||f(d.anchorNode).closest("table")[0]===a.table().node())&&d!==e)return}d=a.settings()[0];var l=f.trim(a.settings()[0].oClasses.sWrapper).replace(/ +/g,".");if(f(c.target).closest("div."+l)[0]==a.table().container()&&(l=a.cell(f(c.target).closest("td, th")),l.any())){var g=f.Event("user-select.dt");n(a,g,[b,l,c]);g.isDefaultPrevented()||(g=l.index(),"row"===b?(b=g.row,w(c,a,d,"row",b)):"column"===b?(b=l.index().column,w(c,a,d,"column",b)):"cell"===b&&(b=l.index(),w(c,a,d,"cell",b)),
-d._select_lastCell=g)}});f("body").on("click.dtSelect"+a.table().node().id,function(b){!c._select.blurable||f(b.target).parents().filter(a.table().container()).length||0===f(b.target).parents("html").length||f(b.target).parents("div.DTE").length||r(c,!0)})}function n(a,b,c,d){if(!d||a.flatten().length)"string"===typeof b&&(b+=".dt"),c.unshift(a),f(a.table().node()).trigger(b,c)}function B(a){var b=a.settings()[0];if(b._select.info&&b.aanFeatures.i&&"api"!==a.select.style()){var c=a.rows({selected:!0}).flatten().length,
-d=a.columns({selected:!0}).flatten().length,e=a.cells({selected:!0}).flatten().length,l=function(b,c,d){b.append(f('<span class="select-item"/>').append(a.i18n("select."+c+"s",{_:"%d "+c+"s selected",0:"",1:"1 "+c+" selected"},d)))};f.each(b.aanFeatures.i,function(b,a){a=f(a);b=f('<span class="select-info"/>');l(b,"row",c);l(b,"column",d);l(b,"cell",e);var g=a.children("span.select-info");g.length&&g.remove();""!==b.text()&&a.append(b)})}}function D(a){var b=new g.Api(a);a.aoRowCreatedCallback.push({fn:function(b,
-d,e){d=a.aoData[e];d._select_selected&&f(b).addClass(a._select.className);b=0;for(e=a.aoColumns.length;b<e;b++)(a.aoColumns[b]._select_selected||d._selected_cells&&d._selected_cells[b])&&f(d.anCells[b]).addClass(a._select.className)},sName:"select-deferRender"});b.on("preXhr.dt.dtSelect",function(){var a=b.rows({selected:!0}).ids(!0).filter(function(b){return b!==h}),d=b.cells({selected:!0}).eq(0).map(function(a){var c=b.row(a.row).id(!0);return c?{row:c,column:a.column}:h}).filter(function(b){return b!==
-h});b.one("draw.dt.dtSelect",function(){b.rows(a).select();d.any()&&d.each(function(a){b.cells(a.row,a.column).select()})})});b.on("draw.dtSelect.dt select.dtSelect.dt deselect.dtSelect.dt info.dt",function(){B(b)});b.on("destroy.dtSelect",function(){v(b);b.off(".dtSelect")})}function C(a,b,c,d){var e=a[b+"s"]({search:"applied"}).indexes();d=f.inArray(d,e);var g=f.inArray(c,e);if(a[b+"s"]({selected:!0}).any()||-1!==d){if(d>g){var u=g;g=d;d=u}e.splice(g+1,e.length);e.splice(0,d)}else e.splice(f.inArray(c,
-e)+1,e.length);a[b](c,{selected:!0}).any()?(e.splice(f.inArray(c,e),1),a[b+"s"](e).deselect()):a[b+"s"](e).select()}function r(a,b){if(b||"single"===a._select.style)a=new g.Api(a),a.rows({selected:!0}).deselect(),a.columns({selected:!0}).deselect(),a.cells({selected:!0}).deselect()}function w(a,b,c,d,e){var f=b.select.style(),g=b[d](e,{selected:!0}).any();"os"===f?a.ctrlKey||a.metaKey?b[d](e).select(!g):a.shiftKey?"cell"===d?z(b,e,c._select_lastCell||null):C(b,d,e,c._select_lastCell?c._select_lastCell[d]:
-null):(a=b[d+"s"]({selected:!0}),g&&1===a.flatten().length?b[d](e).deselect():(a.deselect(),b[d](e).select())):"multi+shift"==f?a.shiftKey?"cell"===d?z(b,e,c._select_lastCell||null):C(b,d,e,c._select_lastCell?c._select_lastCell[d]:null):b[d](e).select(!g):b[d](e).select(!g)}function t(a,b){return function(c){return c.i18n("buttons."+a,b)}}function x(a){a=a._eventNamespace;return"draw.dt.DT"+a+" select.dt.DT"+a+" deselect.dt.DT"+a}function E(a,b){return-1!==f.inArray("rows",b.limitTo)&&a.rows({selected:!0}).any()||
--1!==f.inArray("columns",b.limitTo)&&a.columns({selected:!0}).any()||-1!==f.inArray("cells",b.limitTo)&&a.cells({selected:!0}).any()?!0:!1}var g=f.fn.dataTable;g.select={};g.select.version="1.3.0";g.select.init=function(a){var b=a.settings()[0],c=b.oInit.select,d=g.defaults.select;c=c===h?d:c;d="row";var e="api",l=!1,u=!0,k="td, th",n="selected",m=!1;b._select={};!0===c?(e="os",m=!0):"string"===typeof c?(e=c,m=!0):f.isPlainObject(c)&&(c.blurable!==h&&(l=c.blurable),c.info!==h&&(u=c.info),c.items!==
-h&&(d=c.items),e=c.style!==h?c.style:"os",m=!0,c.selector!==h&&(k=c.selector),c.className!==h&&(n=c.className));a.select.selector(k);a.select.items(d);a.select.style(e);a.select.blurable(l);a.select.info(u);b._select.className=n;f.fn.dataTable.ext.order["select-checkbox"]=function(b,a){return this.api().column(a,{order:"index"}).nodes().map(function(a){return"row"===b._select.items?f(a).parent().hasClass(b._select.className):"cell"===b._select.items?f(a).hasClass(b._select.className):!1})};!m&&f(a.table().node()).hasClass("selectable")&&
-a.select.style("os")};f.each([{type:"row",prop:"aoData"},{type:"column",prop:"aoColumns"}],function(a,b){g.ext.selector[b.type].push(function(a,d,e){d=d.selected;var c=[];if(!0!==d&&!1!==d)return e;for(var f=0,g=e.length;f<g;f++){var h=a[b.prop][e[f]];(!0===d&&!0===h._select_selected||!1===d&&!h._select_selected)&&c.push(e[f])}return c})});g.ext.selector.cell.push(function(a,b,c){b=b.selected;var d=[];if(b===h)return c;for(var e=0,f=c.length;e<f;e++){var g=a.aoData[c[e].row];(!0===b&&g._selected_cells&&
-!0===g._selected_cells[c[e].column]||!(!1!==b||g._selected_cells&&g._selected_cells[c[e].column]))&&d.push(c[e])}return d});var p=g.Api.register,q=g.Api.registerPlural;p("select()",function(){return this.iterator("table",function(a){g.select.init(new g.Api(a))})});p("select.blurable()",function(a){return a===h?this.context[0]._select.blurable:this.iterator("table",function(b){b._select.blurable=a})});p("select.info()",function(a){return B===h?this.context[0]._select.info:this.iterator("table",function(b){b._select.info=
-a})});p("select.items()",function(a){return a===h?this.context[0]._select.items:this.iterator("table",function(b){b._select.items=a;n(new g.Api(b),"selectItems",[a])})});p("select.style()",function(a){return a===h?this.context[0]._select.style:this.iterator("table",function(b){b._select.style=a;b._select_init||D(b);var c=new g.Api(b);v(c);"api"!==a&&A(c);n(new g.Api(b),"selectStyle",[a])})});p("select.selector()",function(a){return a===h?this.context[0]._select.selector:this.iterator("table",function(b){v(new g.Api(b));
-b._select.selector=a;"api"!==b._select.style&&A(new g.Api(b))})});q("rows().select()","row().select()",function(a){var b=this;if(!1===a)return this.deselect();this.iterator("row",function(b,a){r(b);b.aoData[a]._select_selected=!0;f(b.aoData[a].nTr).addClass(b._select.className)});this.iterator("table",function(a,d){n(b,"select",["row",b[d]],!0)});return this});q("columns().select()","column().select()",function(a){var b=this;if(!1===a)return this.deselect();this.iterator("column",function(b,a){r(b);
-b.aoColumns[a]._select_selected=!0;a=(new g.Api(b)).column(a);f(a.header()).addClass(b._select.className);f(a.footer()).addClass(b._select.className);a.nodes().to$().addClass(b._select.className)});this.iterator("table",function(a,d){n(b,"select",["column",b[d]],!0)});return this});q("cells().select()","cell().select()",function(a){var b=this;if(!1===a)return this.deselect();this.iterator("cell",function(b,a,e){r(b);a=b.aoData[a];a._selected_cells===h&&(a._selected_cells=[]);a._selected_cells[e]=
-!0;a.anCells&&f(a.anCells[e]).addClass(b._select.className)});this.iterator("table",function(a,d){n(b,"select",["cell",b[d]],!0)});return this});q("rows().deselect()","row().deselect()",function(){var a=this;this.iterator("row",function(b,a){b.aoData[a]._select_selected=!1;f(b.aoData[a].nTr).removeClass(b._select.className)});this.iterator("table",function(b,c){n(a,"deselect",["row",a[c]],!0)});return this});q("columns().deselect()","column().deselect()",function(){var a=this;this.iterator("column",
-function(a,c){a.aoColumns[c]._select_selected=!1;var b=new g.Api(a),e=b.column(c);f(e.header()).removeClass(a._select.className);f(e.footer()).removeClass(a._select.className);b.cells(null,c).indexes().each(function(b){var c=a.aoData[b.row],d=c._selected_cells;!c.anCells||d&&d[b.column]||f(c.anCells[b.column]).removeClass(a._select.className)})});this.iterator("table",function(b,c){n(a,"deselect",["column",a[c]],!0)});return this});q("cells().deselect()","cell().deselect()",function(){var a=this;
-this.iterator("cell",function(a,c,d){c=a.aoData[c];c._selected_cells[d]=!1;c.anCells&&!a.aoColumns[d]._select_selected&&f(c.anCells[d]).removeClass(a._select.className)});this.iterator("table",function(b,c){n(a,"deselect",["cell",a[c]],!0)});return this});var y=0;f.extend(g.ext.buttons,{selected:{text:t("selected","Selected"),className:"buttons-selected",limitTo:["rows","columns","cells"],init:function(a,b,c){var d=this;c._eventNamespace=".select"+y++;a.on(x(c),function(){d.enable(E(a,c))});this.disable()},
-destroy:function(a,b,c){a.off(c._eventNamespace)}},selectedSingle:{text:t("selectedSingle","Selected single"),className:"buttons-selected-single",init:function(a,b,c){var d=this;c._eventNamespace=".select"+y++;a.on(x(c),function(){var b=a.rows({selected:!0}).flatten().length+a.columns({selected:!0}).flatten().length+a.cells({selected:!0}).flatten().length;d.enable(1===b)});this.disable()},destroy:function(a,b,c){a.off(c._eventNamespace)}},selectAll:{text:t("selectAll","Select all"),className:"buttons-select-all",
-action:function(){this[this.select.items()+"s"]().select()}},selectNone:{text:t("selectNone","Deselect all"),className:"buttons-select-none",action:function(){r(this.settings()[0],!0)},init:function(a,b,c){var d=this;c._eventNamespace=".select"+y++;a.on(x(c),function(){var b=a.rows({selected:!0}).flatten().length+a.columns({selected:!0}).flatten().length+a.cells({selected:!0}).flatten().length;d.enable(0<b)});this.disable()},destroy:function(a,b,c){a.off(c._eventNamespace)}}});f.each(["Row","Column",
-"Cell"],function(a,b){var c=b.toLowerCase();g.ext.buttons["select"+b+"s"]={text:t("select"+b+"s","Select "+c+"s"),className:"buttons-select-"+c+"s",action:function(){this.select.items(c)},init:function(a){var b=this;a.on("selectItems.dt.DT",function(a,d,e){b.active(e===c)})}}});f(m).on("preInit.dt.dtSelect",function(a,b){"dt"===a.namespace&&g.select.init(new g.Api(b))});return g.select});
-
-
-/*!
- Bootstrap 4 styling wrapper for Select
- ©2018 SpryMedia Ltd - datatables.net/license
-*/
-(function(c){"function"===typeof define&&define.amd?define(["jquery","datatables.net-bs4","datatables.net-select"],function(a){return c(a,window,document)}):"object"===typeof exports?module.exports=function(a,b){a||(a=window);b&&b.fn.dataTable||(b=require("datatables.net-bs4")(a,b).$);b.fn.dataTable.select||require("datatables.net-select")(a,b);return c(b,a,a.document)}:c(jQuery,window,document)})(function(c,a,b,d){return c.fn.dataTable});
-
-
-</script>
-    <script>/*
-* FileSaver.js
-* A saveAs() FileSaver implementation.
-*
-* By Eli Grey, http://eligrey.com
-*
-* License : https://github.com/eligrey/FileSaver.js/blob/master/LICENSE.md (MIT)
-* source  : http://purl.eligrey.com/github/FileSaver.js
-*/
-
-
-// The one and only way of getting global scope in all environments
-// https://stackoverflow.com/q/3277182/1008999
-var _global = typeof window === 'object' && window.window === window
-  ? window : typeof self === 'object' && self.self === self
-  ? self : typeof global === 'object' && global.global === global
-  ? global
-  : this
-
-function bom (blob, opts) {
-  if (typeof opts === 'undefined') opts = { autoBom: false }
-  else if (typeof opts !== 'object') {
-    console.warn('Depricated: Expected third argument to be a object')
-    opts = { autoBom: !opts }
-  }
-
-  // prepend BOM for UTF-8 XML and text/* types (including HTML)
-  // note: your browser will automatically convert UTF-16 U+FEFF to EF BB BF
-  if (opts.autoBom && /^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(blob.type)) {
-    return new Blob([String.fromCharCode(0xFEFF), blob], { type: blob.type })
-  }
-  return blob
-}
-
-function download (url, name, opts) {
-  var xhr = new XMLHttpRequest()
-  xhr.open('GET', url)
-  xhr.responseType = 'blob'
-  xhr.onload = function () {
-    saveAs(xhr.response, name, opts)
-  }
-  xhr.onerror = function () {
-    console.error('could not download file')
-  }
-  xhr.send()
-}
-
-function corsEnabled (url) {
-  var xhr = new XMLHttpRequest()
-  // use sync to avoid popup blocker
-  xhr.open('HEAD', url, false)
-  xhr.send()
-  return xhr.status >= 200 && xhr.status <= 299
-}
-
-// `a.click()` doesn't work for all browsers (#465)
-function click(node) {
-  try {
-    node.dispatchEvent(new MouseEvent('click'))
-  } catch (e) {
-    var evt = document.createEvent('MouseEvents')
-    evt.initMouseEvent('click', true, true, window, 0, 0, 0, 80,
-                          20, false, false, false, false, 0, null)
-    node.dispatchEvent(evt)
-  }
-}
-
-var saveAs = _global.saveAs ||
-// probably in some web worker
-(typeof window !== 'object' || window !== _global)
-  ? function saveAs () { /* noop */ }
-
-// Use download attribute first if possible (#193 Lumia mobile)
-: 'download' in HTMLAnchorElement.prototype
-? function saveAs (blob, name, opts) {
-  var URL = _global.URL || _global.webkitURL
-  var a = document.createElement('a')
-  name = name || blob.name || 'download'
-
-  a.download = name
-  a.rel = 'noopener' // tabnabbing
-
-  // TODO: detect chrome extensions & packaged apps
-  // a.target = '_blank'
-
-  if (typeof blob === 'string') {
-    // Support regular links
-    a.href = blob
-    if (a.origin !== location.origin) {
-      corsEnabled(a.href)
-        ? download(blob, name, opts)
-        : click(a, a.target = '_blank')
-    } else {
-      click(a)
-    }
-  } else {
-    // Support blobs
-    a.href = URL.createObjectURL(blob)
-    setTimeout(function () { URL.revokeObjectURL(a.href) }, 4E4) // 40s
-    setTimeout(function () { click(a) }, 0)
-  }
-}
-
-// Use msSaveOrOpenBlob as a second approach
-: 'msSaveOrOpenBlob' in navigator
-? function saveAs (blob, name, opts) {
-  name = name || blob.name || 'download'
-
-  if (typeof blob === 'string') {
-    if (corsEnabled(blob)) {
-      download(blob, name, opts)
-    } else {
-      var a = document.createElement('a')
-      a.href = blob
-      a.target = '_blank'
-      setTimeout(function () { click(a) })
-    }
-  } else {
-    navigator.msSaveOrOpenBlob(bom(blob, opts), name)
-  }
-}
-
-// Fallback to using FileReader and a popup
-: function saveAs (blob, name, opts, popup) {
-  // Open a popup immediately do go around popup blocker
-  // Mostly only avalible on user interaction and the fileReader is async so...
-  popup = popup || open('', '_blank')
-  if (popup) {
-    popup.document.title =
-    popup.document.body.innerText = 'downloading...'
-  }
-
-  if (typeof blob === 'string') return download(blob, name, opts)
-
-  var force = blob.type === 'application/octet-stream'
-  var isSafari = /constructor/i.test(_global.HTMLElement) || _global.safari
-  var isChromeIOS = /CriOS\/[\d]+/.test(navigator.userAgent)
-
-  if ((isChromeIOS || (force && isSafari)) && typeof FileReader === 'object') {
-    // Safari doesn't allow downloading of blob urls
-    var reader = new FileReader()
-    reader.onloadend = function () {
-      var url = reader.result
-      url = isChromeIOS ? url : url.replace(/^data:[^;]*;/, 'data:attachment/file;')
-      if (popup) popup.location.href = url
-      else location = url
-      popup = null // reverse-tabnabbing #460
-    }
-    reader.readAsDataURL(blob)
-  } else {
-    var URL = _global.URL || _global.webkitURL
-    var url = URL.createObjectURL(blob)
-    if (popup) popup.location = url
-    else location.href = url
-    popup = null // reverse-tabnabbing #460
-    setTimeout(function () { URL.revokeObjectURL(url) }, 4E4) // 40s
-  }
-}
-
-_global.saveAs = saveAs.saveAs = saveAs
-
-if (typeof module !== 'undefined') {
-  module.exports = saveAs;
-}
-</script>
-
-    <!-- Icons -->
-    <script>
-      $("#jswarning").hide()
-      feather.replace()
-    </script>
-
-    <script id="results">
-      var results = {
-      };
-    </script>
-
-    <script>
-      var categories = {
-      };
-
-      function show_rule_properties(rule) {
-        $(`.rule-properties[data-rule=${rule}]`).modal("show");
-      }
-
-      function download_result(path) {
-        var res = results[path];
-        saveAs(res.data_uri(), res.name);
-      }
-
-      function show_thumbnail(path) {
-        var res = results[path];
-        var modal = $("#thumbnail-modal");
-
-        modal.find(".modal-title").text(res.name);
-        modal.find(".modal-body img").attr("src", res.thumbnail_uri());
-        var link = modal.find(".modal-footer a.btn-download")
-          .attr(
-            "href", 
-            `javascript:download_result("${res.path}")`
-          ).attr("target", "_blank");
-        if(!res.name.endsWith(".html")) {
-          link.attr("download", res.name);
-        }
-        modal.modal('handleUpdate');
-        modal.modal("show");
-      }
-
-      function show_category(panel) {
-        panel.find(".results-table").each(function() {
-          var table = $(this);
-          
-          // stop if this is already a datatable
-          if ($.fn.DataTable.isDataTable(table)) {
-            return;
-          }
-
-          var cat = table.data("category");
-          var subcat = table.data("subcategory");
-
-          $(this).DataTable({
-            data: categories[cat][subcat].map(res => results[res]),
-            bAutoWidth: false,
-            columns: [
-              {
-                title: "File",
-                render: function(data, type, row) {
-                  var link = $("<a>", {
-                    target: "_blank",
-                    href: `javascript:download_result("${row.path}")`
-                  }).text(row.name);
-                  if(!row.filename.endsWith(".html")) {
-                    link.attr("download", row.filename);
-                  };
-
-                  return link.wrap("<span>").parent().html();
-                }
-              },
-              {
-                title: "Description",
-                render: function(data, type, row) {
-                  return row.caption;
-                }
-              },
-              {
-                title: "Job properties",
-                render: function(data, type, row) {
-                  if (type === 'display'){
-                    var desc = $("<dl>", { class: "row" });
-                    desc.append($("<dt>", { class: "col-sm-3" }).text("Rule"))
-                      .append(
-                        $(
-                          "<dd>", { class:"col-sm-9" })
-                            .append($("<a>", {href: `javascript:show_rule_properties("${row.job_properties.rule}")`})
-                            .text(row.job_properties.rule)
-                        )
-                      )
-                      .append($("<dt>", { class: "col-sm-3" }).text("Wildcards"))
-                      .append($("<dd>", { class: "col-sm-9" }).text(row.job_properties.wildcards || "-"))
-                      .append($("<dt>", { class: "col-sm-3" }).text("Parameters"))
-                      .append($("<dd>", { class: "col-sm-9" }).append($("<pre>").text(row.job_properties.params || "-")));
-                    return desc.wrap("<span>").parent().html();
-                  } else {
-                    return row.job_properties.rule;
-                  }
-                }
-              },
-              {
-                title: "Thumbnail",
-                sortable: false,
-                render: function(data, type, row) {
-                  if (type === 'display'){
-                    var thumbnail_uri = row.thumbnail_uri()
-                    if (thumbnail_uri) {
-                      var link = $("<a>", {
-                        href: `javascript:show_thumbnail("${row.path}")`
-                      }).append($("<img>", {
-                        src: thumbnail_uri,
-                        width: 200
-                      }));
-                      return link.wrap("<span>").parent().html();
-                    } else {
-                      return "";
-                    }
-                  } else {
-                    return "";
-                  }
-                }
-              },
-            ]
-          })
-        });
-      }
-
-      function show_panel(id) {
-        $(".panel").hide();
-        var loading_screen = $("#panel-loading-screen");
-        loading_screen.show();
-        var panel = $(`#${id}`);
-        if (panel.hasClass("category")) {
-          show_category(panel);
-        }
-        loading_screen.hide();
-        panel.show();
-      }
-
-      var rulegraph_spec = {
-        "$schema": "https://vega.github.io/schema/vega/v5.json",
-        "width": 855.19,
-        "height": 326.0,
-        "padding": 0,
-        "autosize": "none",
-
-        "signals": [
-          { "name": "cx", "update": "width / 2" },
-          { "name": "cy", "update": "height / 2" }
-        ],
-
-        "data": [
-          {
-            "name": "node-data",
-            "values": [{'rule': 'create_header_genome', 'fx': 255.19, 'fy': 234.0}, {'rule': 'extract_transcriptome_seqs', 'fx': 521.19, 'fy': 90.0}, {'rule': 'filter_anno_gtf', 'fx': 621.19, 'fy': 18.0}, {'rule': 'finish', 'fx': 388.19, 'fy': 306.0}, {'rule': 'generate_segemehl_index_genome', 'fx': 135.19, 'fy': 162.0}, {'rule': 'generate_segemehl_index_transcriptome', 'fx': 521.19, 'fy': 234.0}, {'rule': 'genome_process', 'fx': 298.19, 'fy': 18.0}, {'rule': 'get_exons_gtf', 'fx': 721.19, 'fy': 90.0}, {'rule': 'gtftobed', 'fx': 735.19, 'fy': 234.0}, {'rule': 'trim_fasta', 'fx': 521.19, 'fy': 162.0}]
-          },
-          {
-            "name": "link-data",
-            "values": [{'target': 0, 'source': 3, 'value': 1}, {'target': 1, 'source': 9, 'value': 1}, {'target': 2, 'source': 1, 'value': 1}, {'target': 2, 'source': 7, 'value': 1}, {'target': 4, 'source': 3, 'value': 1}, {'target': 5, 'source': 3, 'value': 1}, {'target': 6, 'source': 1, 'value': 1}, {'target': 6, 'source': 4, 'value': 1}, {'target': 6, 'source': 0, 'value': 1}, {'target': 7, 'source': 8, 'value': 1}, {'target': 8, 'source': 3, 'value': 1}, {'target': 9, 'source': 5, 'value': 1}]
-          }
-        ],
-
-        "scales": [
-          {
-            "name": "color",
-            "type": "ordinal",
-            "range": {"scheme": "category20c"}
-          },
-          {
-            "name": "x",
-            "type": "linear"
-          },
-          {
-            "name": "y",
-            "type": "linear"
-          }
-        ],
-
-        "marks": [
-          {
-            "name": "nodes",
-            "type": "symbol",
-            "zindex": 1,
-            "from": {"data": "node-data"},
-            "encode": {
-              "enter": {
-                "fill": {"scale": "color", "field": "rule"},
-                "x": {"field": "fx", "scale": "x"},
-                "y": {"field": "fy", "scale": "y"},
-                "tooltip": { "value": "Click to show rule details." }
-              },
-              "update": {
-                "size": {"value": 100}
-              },
-              "hover": {
-                "size": {"value": 200}
-              }
-            },
-
-            "transform": [
-              {
-                "type": "force",
-                "iterations": 1,
-                "static": true,
-                "forces": [
-                  {
-                    "force": "link",
-                    "links": "link-data",
-                    "distance": 25
-                  }
-                ]
-              }
-            ]
-          },
-          {
-            "name": "labels",
-            "type": "text",
-            "zindex": 2,
-            "from": {"data": "node-data"},
-            "encode": {
-              "enter": {
-                "fill": {"value": "black"},
-                "fontWeight": {"value": "normal"},
-                "text": {"field": "rule"},
-                "x": {"field": "fx", "scale": "x"},
-                "y": {"field": "fy", "scale": "y"},
-                "dx": {"value": 5},
-                "dy": {"value": -5},
-              }
-            }
-          },
-          {
-            "type": "path",
-            "from": {"data": "link-data"},
-            "interactive": false,
-            "encode": {
-              "update": {
-                "stroke": {"value": "#ccc"},
-                "strokeWidth": {"value": 0.5}
-              }
-            },
-            "transform": [
-              {
-                "type": "linkpath", "shape": "diagonal",
-                "sourceX": "datum.source.x", "sourceY": "datum.source.y",
-                "targetX": "datum.target.x", "targetY": "datum.target.y"
-              }
-            ]
-          }
-        ]
-      };
-      vegaEmbed("#rulegraph", rulegraph_spec).then(function(ret) {
-        ret.view.addEventListener("click", function(event, item) {
-          if(item && "rule" in item.datum) {
-            var rule = item.datum.rule;
-            show_rule_properties(rule);
-          }
-        });
-      });
-
-
-      
-
-      var runtimes_spec = {
-        "$schema": "https://vega.github.io/schema/vega-lite/v3.json",
-        "description": "Runtimes of jobs.",
-        "data": {"values": [{'rule': 'create_header_genome', 'runtime': 6.887965679168701}, {'rule': 'extract_transcriptome_seqs', 'runtime': 24.72787618637085}, {'rule': 'filter_anno_gtf', 'runtime': 33.73983144760132}, {'rule': 'generate_segemehl_index_genome', 'runtime': 236.69881343841553}, {'rule': 'generate_segemehl_index_transcriptome', 'runtime': 3.099984645843506}, {'rule': 'genome_process', 'runtime': 3.927980422973633}, {'rule': 'get_exons_gtf', 'runtime': 5.855970621109009}, {'rule': 'gtftobed', 'runtime': 28.667856454849243}, {'rule': 'trim_fasta', 'runtime': 0.8399958610534668}]},
-        "mark": "point",
-        "encoding": {
-          "x": {"field": "runtime", "type": "quantitative",
-                "axis": {"title": "runtime [s]", "labelAngle": -90},
-                "scale": {"type": "log"}
-          },
-          "y": {"field": "rule", "type": "nominal"},
-          "color": {"value": "#007bff"}
-        }
-      };
-      vegaEmbed("#runtimes", runtimes_spec);
-
-      var timeline_spec = {
-        "$schema": "https://vega.github.io/schema/vega-lite/v3.json",
-        "description": "Timeline of jobs.",
-        "data": {
-          "values": [{'rule': 'create_header_genome', 'starttime': '2022-06-27T22:50:03.974132', 'endtime': '2022-06-27T22:50:10.862098'}, {'rule': 'extract_transcriptome_seqs', 'starttime': '2022-06-27T22:50:33.817983', 'endtime': '2022-06-27T22:50:58.545859'}, {'rule': 'filter_anno_gtf', 'starttime': '2022-06-27T22:49:59.986152', 'endtime': '2022-06-27T22:50:33.725984'}, {'rule': 'generate_segemehl_index_genome', 'starttime': '2022-06-27T22:50:03.982132', 'endtime': '2022-06-27T22:54:00.680946'}, {'rule': 'generate_segemehl_index_transcriptome', 'starttime': '2022-06-27T22:50:59.401855', 'endtime': '2022-06-27T22:51:02.501840'}, {'rule': 'genome_process', 'starttime': '2022-06-27T22:49:59.978152', 'endtime': '2022-06-27T22:50:03.906133'}, {'rule': 'get_exons_gtf', 'starttime': '2022-06-27T22:50:33.821983', 'endtime': '2022-06-27T22:50:39.677954'}, {'rule': 'gtftobed', 'starttime': '2022-06-27T22:50:39.685954', 'endtime': '2022-06-27T22:51:08.353810'}, {'rule': 'trim_fasta', 'starttime': '2022-06-27T22:50:58.553859', 'endtime': '2022-06-27T22:50:59.393855'}]
-        },
-        "mark": "point",
-        "encoding": {
-          "x": {
-            "field": "endtime", "type": "temporal",
-            "timeUnit": "yearmonthdatehoursminutes",
-            "axis": {
-              "labelAngle": -90,
-              "title": "creation date"
-            }
-          },
-          "y": {"field": "rule", "type": "nominal"},
-          "color": {"value": "#007bff"}
-        }
-      };
-      vegaEmbed("#timeline", timeline_spec);
-
-      $(".vega-actions a").addClass("btn btn-outline-secondary");
-      $(".vega-actions").addClass("btn-group");
-      
-      $("a.panel-link").click(function() {
-        $("a.nav-link.active").removeClass("active");
-        $(this).addClass("active");
-        var panelid = $(this).attr("data-panel");
-        show_panel(panelid);
-      })
-
-      $(document).ready(function() {
-        // Hide loading screen when document is ready.
-        setTimeout(function(){
-            $("#loading-screen").hide();
-        }, 2000);
-      });
-    </script>
-  </body>
-</html>
\ No newline at end of file
diff --git a/test/test_dag.sh b/test/test_dag.sh
index 575cc4468d4f395ff6c26ddb8076ddf20a102d0f..5112be1ec95e30dfe7d1959bad9b7017e53ef9e8 100755
--- a/test/test_dag.sh
+++ b/test/test_dag.sh
@@ -20,10 +20,10 @@ cd $script_dir
 
 # Run tests
 snakemake \
-    --snakefile="../snakemake/Snakefile" \
-    --configfile="config.yaml" \
+    --snakefile="../workflow/prepare_annotation/Snakefile" \
+    --configfile="config_prepare_annotation.yaml" \
     --dag \
     --printshellcmds \
     --dryrun \
     --verbose \
-    | dot -Tsvg > "../images/workflow_dag.svg"
+    | dot -Tsvg > "../images/workflow_dag_prepare_annotation.svg"
diff --git a/test/test_rule_graph.sh b/test/test_rule_graph.sh
index 71d6f813844509af3def5dc060c48aa96c96aae5..c9e4399b00efb690602adbfe281660103cc53f33 100755
--- a/test/test_rule_graph.sh
+++ b/test/test_rule_graph.sh
@@ -20,10 +20,10 @@ cd $script_dir
 
 # Run tests
 snakemake \
-    --snakefile="../snakemake/Snakefile" \
-    --configfile="config.yaml" \
+    --snakefile="../workflow/prepare_annotation/Snakefile" \
+    --configfile="config_prepare_annotation.yaml" \
     --rulegraph \
     --printshellcmds \
     --dryrun \
     --verbose \
-    | dot -Tsvg > "../images/rule_graph.svg"
+    | dot -Tsvg > "../images/rule_graph_prepare_annotation.svg"
diff --git a/test/test_workflow_local.sh b/test/test_workflow_local.sh
index f376c3326faed053f6a4195dc224b6ae3b75568d..7d6be0a928b9c8a15c0818884d4d02c741af9eb5 100755
--- a/test/test_workflow_local.sh
+++ b/test/test_workflow_local.sh
@@ -3,11 +3,11 @@
 # Tear down test environment
 cleanup () {
     rc=$?
-#    rm -rf .snakemake/
-#    rm -rf .tmp/
-#    rm -rf logs/
-#    rm -rf results/
-#    rm -rf snakemake_report.html
+    rm -rf .snakemake/
+    rm -rf .tmp/
+    rm -rf logs/
+    rm -rf results/
+    rm -rf snakemake_report_*.html
     cd $user_dir
     echo "Exit status: $rc"
 }
@@ -23,20 +23,20 @@ cd $script_dir
 
 # Run tests
 snakemake \
-    --printshellcmds \
-    --snakefile="../snakemake/Snakefile" \
+    --snakefile="../workflow/prepare_annotation/Snakefile" \
+    --configfile="config_prepare_annotation.yaml" \
     --use-singularity \
     --singularity-args "--bind ${PWD}/../" \
     --cores=4 \
+    --printshellcmds \
     --rerun-incomplete \
-    --configfile="config.yaml" \
     --verbose
 
 # Snakemake report
 snakemake \
-    --snakefile="../snakemake/Snakefile" \
-    --configfile="config.yaml" \
-    --report="snakemake_report.html"
+    --snakefile="../workflow/prepare_annotation/Snakefile" \
+    --configfile="config_prepare_annotation.yaml" \
+    --report="snakemake_report_prepare_annotation.html"
 
 # Check md5 sum of some output files
 find results/ -type f -name \*\.gz -exec gunzip '{}' \;
diff --git a/test/test_workflow_slurm.sh b/test/test_workflow_slurm.sh
index 1d838e4b19cba9e01a2b2778922be95191aae5eb..1944f7726feea2ec8108e649b4c2b6bdcf1885eb 100755
--- a/test/test_workflow_slurm.sh
+++ b/test/test_workflow_slurm.sh
@@ -7,7 +7,7 @@ cleanup () {
     rm -rf .tmp/
     rm -rf logs/
     rm -rf results/
-    rm -rf snakemake_report.html/
+    rm -rf snakemake_report_*.html/
     cd $user_dir
     echo "Exit status: $rc"
 }
@@ -26,15 +26,9 @@ mkdir -p results/homo_sapiens/GRCh38.98_chrY
 
 # Run tests
 snakemake \
-    --snakefile="../snakemake/Snakefile" \
-    --configfile="config.yaml" \
-    --cluster-config="../cluster.json" \
-    --cores=256 \
-    --jobscript="../jobscript.sh" \
-    --printshellcmds \
-    --rerun-incomplete \
-    --use-singularity \
-    --singularity-args="--no-home --bind ${PWD}/../" \
+    --snakefile="../workflow/prepare_annotation/Snakefile" \
+    --configfile="config_prepare_annotation.yaml" \
+    --cluster-config="../workflow/prepare_annotation/cluster.json" \
     --cluster "sbatch \
         --cpus-per-task={cluster.threads} \
         --mem={cluster.mem} \
@@ -44,13 +38,19 @@ snakemake \
         -o {params.cluster_log} \
         -p scicore \
         --open-mode=append" \
+    --jobscript="../jobscript.sh" \
+    --use-singularity \
+    --singularity-args="--no-home --bind ${PWD}/../" \
+    --cores=256 \
+    --printshellcmds \
+    --rerun-incomplete \
     --verbose
 
 # Snakemake report
 snakemake \
-    --snakefile="../snakemake/Snakefile" \
-    --configfile="config.yaml" \
-    --report="snakemake_report.html"
+    --snakefile="../workflow/prepare_annotation/Snakefile" \
+    --configfile="config_prepare_annotation.yaml" \
+    --report="snakemake_report_prepare_annotation.html"
 
 # Check md5 sum of some output files
 find results/ -type f -name \*\.gz -exec gunzip '{}' \;
diff --git a/snakemake/Snakefile b/workflow/prepare_annotation/Snakefile
similarity index 99%
rename from snakemake/Snakefile
rename to workflow/prepare_annotation/Snakefile
index 069b8ade6f20eee8e76dd3487b27443724455f53..c8428986024a39e6211facd46062d06836acb851 100644
--- a/snakemake/Snakefile
+++ b/workflow/prepare_annotation/Snakefile
@@ -1,5 +1,3 @@
-configfile: "config.yaml"
-
 localrules: finish, genome_process, filter_anno_gtf
 
 #################################################################################
diff --git a/cluster.json b/workflow/prepare_annotation/cluster.json
similarity index 100%
rename from cluster.json
rename to workflow/prepare_annotation/cluster.json